Assembly Diffs
linux arm64
Diffs are based on 2,496,508 contexts (1,011,240 MinOpts, 1,485,268 FullOpts).
MISSED contexts: base: 6,580 (0.26%), diff: 8,842 (0.35%)
Overall (+83,870,420 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.linux.arm64.checked.mch | 15,871,176 | +1,853,104 | 
| benchmarks.run_pgo.linux.arm64.checked.mch | 78,212,264 | +9,478,376 | 
| benchmarks.run_tiered.linux.arm64.checked.mch | 29,580,048 | +1,053,584 | 
| coreclr_tests.run.linux.arm64.checked.mch | 508,462,256 | +8,571,516 | 
| libraries.crossgen2.linux.arm64.checked.mch | 55,593,716 | +4,881,684 | 
| libraries.pmi.linux.arm64.checked.mch | 74,364,484 | +7,112,432 | 
| libraries_tests.run.linux.arm64.Release.mch | 382,265,760 | +38,543,372 | 
| librariestestsnotieredcompilation.run.linux.arm64.Release.mch | 162,857,060 | +10,214,900 | 
| realworld.run.linux.arm64.checked.mch | 15,282,328 | +1,884,512 | 
| smoke_tests.nativeaot.linux.arm64.checked.mch | 2,924,168 | +276,940 | 
  
FullOpts (+83,870,420 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.linux.arm64.checked.mch | 15,524,920 | +1,853,104 | 
| benchmarks.run_pgo.linux.arm64.checked.mch | 54,230,224 | +9,478,376 | 
| benchmarks.run_tiered.linux.arm64.checked.mch | 4,958,828 | +1,053,584 | 
| coreclr_tests.run.linux.arm64.checked.mch | 159,633,064 | +8,571,516 | 
| libraries.crossgen2.linux.arm64.checked.mch | 55,592,080 | +4,881,684 | 
| libraries.pmi.linux.arm64.checked.mch | 74,244,500 | +7,112,432 | 
| libraries_tests.run.linux.arm64.Release.mch | 166,844,084 | +38,543,372 | 
| librariestestsnotieredcompilation.run.linux.arm64.Release.mch | 149,377,064 | +10,214,900 | 
| realworld.run.linux.arm64.checked.mch | 14,708,176 | +1,884,512 | 
| smoke_tests.nativeaot.linux.arm64.checked.mch | 2,923,180 | +276,940 | 
  
Example diffs
benchmarks.run.linux.arm64.checked.mch
-16 (-5.33%) : 29244.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:CreateInstance(System.Type,System.Type):System.Object (FullOpts)
@@ -17,9 +17,9 @@
 ;  V06 tmp4         [V06,T07] (  4,  2.50)     ref  ->   x0        
 ;* V07 tmp5         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V08 tmp6         [V08,T03] (  3,  6   )     ref  ->   x4         class-hnd exact single-def "Inlining Arg" <System.Type[]>
-;  V09 tmp7         [V09,T00] (  5, 17   )     int  ->   x0         "Inline stloc first use temp"
+;* V09 tmp7         [V09,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V10 tmp8         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
-;  V11 cse0         [V11,T04] (  2,  5   )   byref  ->   x1         hoist "CSE - aggressive"
+;  V11 cse0         [V11,T04] (  2,  2   )   byref  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
@@ -33,30 +33,20 @@ G_M13201_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mov     x20, x1
             ; gcrRegs +[x20]
                        ;; size=24 bbWeight=1 PerfScore 4.50
-G_M13201_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M13201_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x4, [x0]
             ; gcrRegs +[x4]
             ldrsb   wzr, [x19]
-            mov     w0, wzr
-            add     x1, x4, #16
-            ; byrRegs +[x1]
-                       ;; size=28 bbWeight=1 PerfScore 8.50
-G_M13201_IG03:        ; bbWeight=4, gcrefRegs=180010 {x4 x19 x20}, byrefRegs=0002 {x1}, byref, isz
-            ldr     x2, [x1, w0, UXTW #3]
-            ; gcrRegs +[x2]
-            cbz     x2, G_M13201_IG11
-            add     w0, w0, #1
-            cmp     w0, #0
-            ble     G_M13201_IG03
-                       ;; size=20 bbWeight=4 PerfScore 24.00
-G_M13201_IG04:        ; bbWeight=1, gcrefRegs=180010 {x4 x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x2]
-            ; byrRegs -[x1]
-            mov     x0, x19
+            add     x0, x4, #16
+            ; byrRegs +[x0]
+            ldr     x0, [x0]
             ; gcrRegs +[x0]
+            ; byrRegs -[x0]
+            cbz     x0, G_M13201_IG09
+            mov     x0, x19
             mov     w1, #20
             mov     x2, xzr
             mov     w3, #3
@@ -69,17 +59,17 @@ G_M13201_IG04:        ; bbWeight=1, gcrefRegs=180010 {x4 x19 x20}, byrefRegs=000
             ; gcr arg pop 0
             mov     x21, x0
             ; gcrRegs +[x21]
-            cbnz    x21, G_M13201_IG09
-                       ;; size=44 bbWeight=1 PerfScore 14.00
-G_M13201_IG05:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+            cbnz    x21, G_M13201_IG07
+                       ;; size=76 bbWeight=1 PerfScore 26.00
+G_M13201_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0 x20-x21]
             mov     x0, xzr
             ; gcrRegs +[x0]
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M13201_IG06:        ; bbWeight=1, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
-            cbnz    x0, G_M13201_IG10
+G_M13201_IG04:        ; bbWeight=1, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
+            cbnz    x0, G_M13201_IG08
                       ;; size=4 bbWeight=1 PerfScore 1.00
-G_M13201_IG07:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M13201_IG05:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -90,14 +80,14 @@ G_M13201_IG07:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
                        ;; size=28 bbWeight=0.50 PerfScore 3.00
-G_M13201_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+G_M13201_IG06:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x21, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x30
             br      x3
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0.50 PerfScore 2.50
-G_M13201_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
+G_M13201_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0] +[x20-x21]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -126,16 +116,16 @@ G_M13201_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=380
             blr     x5
             ; gcrRegs -[x3 x21]
             ; gcr arg pop 0
-            b       G_M13201_IG06
+            b       G_M13201_IG04
                       ;; size=72 bbWeight=0.50 PerfScore 9.25
-G_M13201_IG10:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M13201_IG08:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19]
             ldr     x21, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x30
             ret     lr
                        ;; size=16 bbWeight=0.50 PerfScore 2.50
-G_M13201_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M13201_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
@@ -154,7 +144,7 @@ G_M13201_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             brk_unix #0
                        ;; size=44 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 300, prolog size 24, PerfScore 69.50, instruction count 75, allocated bytes for code 300 (MethodHash=1c7bcc6e) for method System.ComponentModel.ReflectTypeDescriptionProvider:CreateInstance(System.Type,System.Type):System.Object (FullOpts)
+; Total bytes of code 284, prolog size 24, PerfScore 49.00, instruction count 71, allocated bytes for code 284 (MethodHash=1c7bcc6e) for method System.ComponentModel.ReflectTypeDescriptionProvider:CreateInstance(System.Type,System.Type):System.Object (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -165,7 +155,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 75 (0x0004b) Actual length = 300 (0x00012c)
+  Function Length   : 71 (0x00047) Actual length = 284 (0x00011c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-12 (-4.41%) : 6564.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
@@ -8,28 +8,33 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] ( 13, 12   )     ref  ->  x19         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
-;  V01 loc0         [V01,T09] (  3,  2.50)     int  ->   x0        
-;  V02 loc1         [V02,T06] (  3,  4.50)     ref  ->  x22         class-hnd <System.__Canon>
+;  V00 this         [V00,T00] ( 13,  9   )     ref  ->  x19         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
+;  V01 loc0         [V01,T13] (  3,  2.50)     int  ->   x0        
+;  V02 loc1         [V02,T08] (  3,  1.50)     ref  ->  x21         class-hnd <System.__Canon>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T00] (  2, 16   )    long  ->   x1         "spilling helperCall"
+;  V04 tmp1         [V04,T02] (  2,  4   )    long  ->   x1         "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V07 cse0         [V07,T05] (  2,  5   )    long  ->  x20         hoist "CSE - aggressive"
-;  V08 cse1         [V08,T03] (  4,  6   )   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V09 rat0         [V09,T07] (  3,  4.40)    long  ->   x0         "Spilling to split statement for tree"
-;  V10 rat1         [V10,T08] (  3,  4   )    long  ->  x20         "runtime lookup"
-;  V11 rat2         [V11,T04] (  3,  5.60)    long  ->  x20         "fgMakeTemp is creating a new local variable"
-;  V12 rat3         [V12,T02] (  3, 12   )     ref  ->   x2         "delegate invoke call"
+;  V07 cse0         [V07,T14] (  2,  2   )    long  ->  x20         hoist "CSE - aggressive"
+;  V08 rat0         [V08,T09] (  3,  4.40)    long  ->   x0         "Spilling to split statement for tree"
+;  V09 rat1         [V09,T10] (  3,  4   )    long  ->  x20         "runtime lookup"
+;  V10 rat2         [V10,T07] (  3,  5.60)    long  ->  x20         "fgMakeTemp is creating a new local variable"
+;* V11 rat3         [V11,T06] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V12 rat4         [V12,T11] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V13 rat5         [V13,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;* V14 rat6         [V14,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V15 rat7         [V15,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V16 rat8         [V16,T12] (  3,  3   )     ref  ->   x2         "delegate invoke call"
+;* V17 rat9         [V17,T04] (  0,  0   )     ref  ->  zero-ref    "delegate invoke call"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 8
 
 G_M34024_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-            str     x0, [fp, #0x18]
+            str     x0, [fp, #0x10]
             mov     x19, x0
             ; gcrRegs +[x19]
                        ;; size=24 bbWeight=1 PerfScore 5.00
@@ -46,9 +51,7 @@ G_M34024_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
 G_M34024_IG04:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ldr     x0, [x19, #0x18]
             ; gcrRegs +[x0]
-            add     x20, x19, #40
-            ; byrRegs +[x20]
-            mov     x8, x20
+            add     x8, x19, #40
             ; byrRegs +[x8]
             movz    x1, #0xD1FFAB1E      // code for System.Collections.Generic.List`1[System.__Canon]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.__Canon]:this
             movk    x1, #0xD1FFAB1E LSL #16
@@ -57,10 +60,10 @@ G_M34024_IG04:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             ldr     wzr, [x0]
             blr     x1
             ; gcrRegs -[x0]
-            ; byrRegs -[x8 x20]
+            ; byrRegs -[x8]
             mov     w0, #2
             str     w0, [x19, #0x14]
-                     ;; size=44 bbWeight=0.50 PerfScore 7.00
+                       ;; size=40 bbWeight=0.50 PerfScore 6.75
 G_M34024_IG05:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x19]
             ldr     x1, [x0, #0x38]
@@ -79,19 +82,14 @@ G_M34024_IG07:        ; bbWeight=0.20, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             mov     x20, x0
                        ;; size=20 bbWeight=0.20 PerfScore 0.60
 G_M34024_IG08:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            add     x0, x19, #40
-            ; byrRegs +[x0]
-            mov     x21, x0
-            ; byrRegs +[x21]
             b       G_M34024_IG10
-                        ;; size=12 bbWeight=1 PerfScore 2.00
-G_M34024_IG09:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21}, byref, isz
-            ; byrRegs -[x0]
-            ldr     x22, [x19, #0x30]
-            ; gcrRegs +[x22]
+                     ;; size=4 bbWeight=1 PerfScore 1.00
+G_M34024_IG09:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            ldr     x21, [x19, #0x30]
+            ; gcrRegs +[x21]
             ldr     x2, [x19, #0x20]
             ; gcrRegs +[x2]
-            mov     x1, x22
+            mov     x1, x21
             ; gcrRegs +[x1]
             ldr     x0, [x2, #0x08]
             ; gcrRegs +[x0]
@@ -100,11 +98,11 @@ G_M34024_IG09:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21
             blr     x2
             ; gcrRegs -[x0-x1]
             cbnz    w0, G_M34024_IG14
-                        ;; size=28 bbWeight=2 PerfScore 29.00
-G_M34024_IG10:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21}, byref, isz
-            ; gcrRegs -[x22]
+                     ;; size=28 bbWeight=0.50 PerfScore 7.25
+G_M34024_IG10:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x21]
             mov     x1, x20
-            mov     x0, x21
+            add     x0, x19, #40
             ; byrRegs +[x0]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
@@ -113,41 +111,40 @@ G_M34024_IG10:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21
             blr     x2
             ; byrRegs -[x0]
             cbnz    w0, G_M34024_IG09
-                        ;; size=32 bbWeight=4 PerfScore 30.00
-G_M34024_IG11:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x21]
+                     ;; size=32 bbWeight=1 PerfScore 7.50
+G_M34024_IG11:        ; bbWeight=0.12, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             str     xzr, [x19, #0x08]
             movn    w14, #0
             str     w14, [x19, #0x14]
-                        ;; size=12 bbWeight=0.50 PerfScore 1.25
+                       ;; size=12 bbWeight=0.12 PerfScore 0.31
 G_M34024_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M34024_IG13:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs +[x22]
+                     ;; size=16 bbWeight=0.50 PerfScore 2.50
+G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs +[x21]
             add     x14, x19, #8
             ; byrRegs +[x14]
-            mov     x15, x22
+            mov     x15, x21
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
-            ; gcrRegs -[x15 x22]
+            ; gcrRegs -[x15 x21]
             ; byrRegs -[x14]
             mov     w0, #1
                        ;; size=16 bbWeight=0.50 PerfScore 1.25
 G_M34024_IG15:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=16 bbWeight=0.50 PerfScore 2.50
 
-; Total bytes of code 272, prolog size 20, PerfScore 99.90, instruction count 68, allocated bytes for code 272 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
+; Total bytes of code 260, prolog size 20, PerfScore 54.46, instruction count 65, allocated bytes for code 260 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -158,7 +155,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 68 (0x00044) Actual length = 272 (0x000110)
+  Function Length   : 65 (0x00041) Actual length = 260 (0x000104)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -169,10 +166,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
-    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
-    E4          end
+    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
+    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
 
  
-16 (-3.54%) : 4583.dasm - ProtoBuf.Internal.Serializers.PropertyDecorator:GetShadowSetter(System.Reflection.PropertyInfo):System.Reflection.MethodInfo (FullOpts)
@@ -16,10 +16,10 @@
 ;  V05 tmp2         [V05,T03] (  3,  6   )     ref  ->  x22         class-hnd exact single-def "impAppendStmt" <System.String>
 ;  V06 tmp3         [V06,T09] (  2,  4   )     ref  ->  x15         class-hnd single-def "Strict ordering of exceptions for Array store" <System.Type>
 ;  V07 tmp4         [V07,T04] (  3,  6   )     ref  ->   x5         class-hnd "Inlining Arg" <System.Type[]>
-;  V08 tmp5         [V08,T00] (  5, 17   )     int  ->   x0         "Inline stloc first use temp"
+;* V08 tmp5         [V08,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V09 tmp6         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
 ;  V10 tmp7         [V10,T10] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
-;  V11 cse0         [V11,T05] (  2,  5   )   byref  ->   x1         hoist "CSE - aggressive"
+;  V11 cse0         [V11,T05] (  2,  2   )   byref  ->   x0         "CSE - aggressive"
 ;  V12 cse1         [V12,T08] (  4,  4   )    long  ->  x20         "CSE - aggressive"
 ;
 ; Lcl frame size = 8
@@ -89,25 +89,14 @@ G_M50779_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             mov     x5, x23
             ; gcrRegs +[x5]
             ldrsb   wzr, [x21]
-            cbz     x22, G_M50779_IG10
-            mov     w0, wzr
-            add     x1, x5, #16
-            ; byrRegs +[x1]
-                       ;; size=152 bbWeight=1 PerfScore 45.00
-G_M50779_IG03:        ; bbWeight=4, gcrefRegs=600020 {x5 x21 x22}, byrefRegs=0002 {x1}, byref, isz
-            ; gcrRegs -[x23]
-            ldr     x2, [x1, w0, UXTW #3]
-            ; gcrRegs +[x2]
-            cbz     x2, G_M50779_IG11
-            add     w0, w0, #1
-            cmp     w0, #0
-            ble     G_M50779_IG03
-                       ;; size=20 bbWeight=4 PerfScore 24.00
-G_M50779_IG04:        ; bbWeight=1, gcrefRegs=600020 {x5 x21 x22}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x2]
-            ; byrRegs -[x1]
-            mov     x0, x21
+            cbz     x22, G_M50779_IG08
+            add     x0, x5, #16
+            ; byrRegs +[x0]
+            ldr     x0, [x0]
             ; gcrRegs +[x0]
+            ; byrRegs -[x0]
+            cbz     x0, G_M50779_IG09
+            mov     x0, x21
             mov     x1, x22
             ; gcrRegs +[x1]
             mov     w2, #52
@@ -118,13 +107,13 @@ G_M50779_IG04:        ; bbWeight=1, gcrefRegs=600020 {x5 x21 x22}, byrefRegs=000
             ldr     x7, [x7, #0x90]
             ldr     x7, [x7, #0x38]
             blr     x7
-            ; gcrRegs -[x1 x5 x21-x22]
+            ; gcrRegs -[x1 x5 x21-x23]
             ; gcr arg pop 0
             mov     x19, x0
             ; gcrRegs +[x19]
-            cbz     x19, G_M50779_IG06
-                       ;; size=48 bbWeight=1 PerfScore 14.50
-G_M50779_IG05:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            cbz     x19, G_M50779_IG04
+                       ;; size=204 bbWeight=1 PerfScore 63.00
+G_M50779_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -136,7 +125,7 @@ G_M50779_IG05:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             ; gcr arg pop 0
             and     w0, w0, #7
             cmp     w0, #6
-            bne     G_M50779_IG06
+            bne     G_M50779_IG04
             mov     x0, x19
             ; gcrRegs +[x0]
             ldr     x1, [x19]
@@ -148,12 +137,24 @@ G_M50779_IG05:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x0, x1
-            beq     G_M50779_IG08
+            beq     G_M50779_IG06
                        ;; size=72 bbWeight=0.50 PerfScore 13.00
-G_M50779_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M50779_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0 x19]
             mov     x0, xzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M50779_IG05:        ; bbWeight=0.50, epilog, nogc, extend
+            ldr     x23, [sp, #0x38]
+            ldp     x21, x22, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x40
+            ret     lr
+                       ;; size=20 bbWeight=0.50 PerfScore 3.00
+G_M50779_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs +[x19]
+            mov     x0, x19
+            ; gcrRegs +[x0]
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M50779_IG07:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x23, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
@@ -161,19 +162,7 @@ G_M50779_IG07:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0.50 PerfScore 3.00
-G_M50779_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs +[x19]
-            mov     x0, x19
-            ; gcrRegs +[x0]
-                       ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M50779_IG09:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x23, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x40
-            ret     lr
-                       ;; size=20 bbWeight=0.50 PerfScore 3.00
-G_M50779_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M50779_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0 x19]
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
@@ -191,7 +180,7 @@ G_M50779_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=44 bbWeight=0 PerfScore 0.00
-G_M50779_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M50779_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -209,7 +198,7 @@ G_M50779_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=44 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 452, prolog size 24, PerfScore 108.00, instruction count 113, allocated bytes for code 452 (MethodHash=33a639a4) for method ProtoBuf.Internal.Serializers.PropertyDecorator:GetShadowSetter(System.Reflection.PropertyInfo):System.Reflection.MethodInfo (FullOpts)
+; Total bytes of code 436, prolog size 24, PerfScore 87.50, instruction count 109, allocated bytes for code 436 (MethodHash=33a639a4) for method ProtoBuf.Internal.Serializers.PropertyDecorator:GetShadowSetter(System.Reflection.PropertyInfo):System.Reflection.MethodInfo (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -220,7 +209,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 113 (0x00071) Actual length = 452 (0x0001c4)
+  Function Length   : 109 (0x0006d) Actual length = 436 (0x0001b4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+44 (+64.71%) : 22854.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
@@ -7,14 +7,16 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  7, 23   )     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]>
-;  V01 arg1         [V01,T00] (  6, 26   )     int  ->   x1        
+;  V00 this         [V00,T02] ( 11, 25.50)     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]>
+;  V01 arg1         [V01,T00] ( 10, 29   )     int  ->   x1        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T06] (  2, 16   )     int  ->   x1         "arg temp"
-;  V04 tmp2         [V04,T04] (  2, 16   )     ref  ->   x0         single-def "arg temp"
-;  V05 tmp3         [V05,T05] (  2, 16   )     ref  ->   x0         single-def "arg temp"
+;  V03 tmp1         [V03,T06] (  4, 18   )     int  ->   x1         "arg temp"
+;  V04 tmp2         [V04,T04] (  4, 18   )     ref  ->   x0         "arg temp"
+;  V05 tmp3         [V05,T05] (  4, 18   )     ref  ->   x0         "arg temp"
 ;  V06 cse0         [V06,T01] (  4, 28   )     int  ->   x3         "CSE - aggressive"
-;  V07 cse1         [V07,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  4,  3.50)     int  ->   x3         "CSE - aggressive"
+;  V08 cse2         [V08,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V09 cse3         [V09,T08] (  3,  2.50)     ref  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -22,42 +24,65 @@ G_M39152_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M39152_IG02:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M39152_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x2, [x0, #0x10]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x20]
             cmp     w1, w3
             bge     G_M39152_IG04
-                        ;; size=16 bbWeight=8 PerfScore 60.00
-G_M39152_IG03:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+                        ;; size=16 bbWeight=1 PerfScore 7.50
+G_M39152_IG03:        ; bbWeight=0.50, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M39152_IG02
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M39152_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M39152_IG06
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
+G_M39152_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x2]
             cmp     w1, w3
-            ble     G_M39152_IG06
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M39152_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ble     G_M39152_IG10
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M39152_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             sub     w1, w1, w3
             sub     w1, w1, #1
             ldr     x0, [x0, #0x18]
-            b       G_M39152_IG02
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M39152_IG06:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     x2, [x0, #0x10]
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x20]
+            cmp     w1, w3
+            bge     G_M39152_IG08
+                       ;; size=16 bbWeight=8 PerfScore 60.00
+G_M39152_IG07:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x2
+            ; gcrRegs +[x0]
+            b       G_M39152_IG06
+                       ;; size=8 bbWeight=4 PerfScore 6.00
+G_M39152_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            cmp     w1, w3
+            ble     G_M39152_IG10
+                       ;; size=8 bbWeight=8 PerfScore 12.00
+G_M39152_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            sub     w1, w1, w3
+            sub     w1, w1, #1
+            ldr     x0, [x0, #0x18]
+            b       G_M39152_IG06
                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M39152_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M39152_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x0, x0, #8
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M39152_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M39152_IG11:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 102.00, instruction count 17, allocated bytes for code 68 (MethodHash=6a4c670f) for method System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
+; Total bytes of code 112, prolog size 8, PerfScore 113.75, instruction count 28, allocated bytes for code 112 (MethodHash=6a4c670f) for method System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -68,7 +93,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+44 (+64.71%) : 31671.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
@@ -7,14 +7,16 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  7, 23   )     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]>
-;  V01 arg1         [V01,T00] (  6, 26   )     int  ->   x1        
+;  V00 this         [V00,T02] ( 11, 25.50)     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]>
+;  V01 arg1         [V01,T00] ( 10, 29   )     int  ->   x1        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T06] (  2, 16   )     int  ->   x1         "arg temp"
-;  V04 tmp2         [V04,T04] (  2, 16   )     ref  ->   x0         single-def "arg temp"
-;  V05 tmp3         [V05,T05] (  2, 16   )     ref  ->   x0         single-def "arg temp"
+;  V03 tmp1         [V03,T06] (  4, 18   )     int  ->   x1         "arg temp"
+;  V04 tmp2         [V04,T04] (  4, 18   )     ref  ->   x0         "arg temp"
+;  V05 tmp3         [V05,T05] (  4, 18   )     ref  ->   x0         "arg temp"
 ;  V06 cse0         [V06,T01] (  4, 28   )     int  ->   x3         "CSE - aggressive"
-;  V07 cse1         [V07,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  4,  3.50)     int  ->   x3         "CSE - aggressive"
+;  V08 cse2         [V08,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V09 cse3         [V09,T08] (  3,  2.50)     ref  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -22,42 +24,65 @@ G_M17963_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M17963_IG02:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M17963_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x2, [x0, #0x10]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x20]
             cmp     w1, w3
             bge     G_M17963_IG04
-                        ;; size=16 bbWeight=8 PerfScore 60.00
-G_M17963_IG03:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+                        ;; size=16 bbWeight=1 PerfScore 7.50
+G_M17963_IG03:        ; bbWeight=0.50, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M17963_IG02
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M17963_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M17963_IG06
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
+G_M17963_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x2]
             cmp     w1, w3
-            ble     G_M17963_IG06
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M17963_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ble     G_M17963_IG10
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M17963_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             sub     w1, w1, w3
             sub     w1, w1, #1
             ldr     x0, [x0, #0x18]
-            b       G_M17963_IG02
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M17963_IG06:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     x2, [x0, #0x10]
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x20]
+            cmp     w1, w3
+            bge     G_M17963_IG08
+                       ;; size=16 bbWeight=8 PerfScore 60.00
+G_M17963_IG07:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x2
+            ; gcrRegs +[x0]
+            b       G_M17963_IG06
+                       ;; size=8 bbWeight=4 PerfScore 6.00
+G_M17963_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            cmp     w1, w3
+            ble     G_M17963_IG10
+                       ;; size=8 bbWeight=8 PerfScore 12.00
+G_M17963_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            sub     w1, w1, w3
+            sub     w1, w1, #1
+            ldr     x0, [x0, #0x18]
+            b       G_M17963_IG06
                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M17963_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M17963_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x0, x0, #8
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M17963_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M17963_IG11:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 102.00, instruction count 17, allocated bytes for code 68 (MethodHash=8272b9d4) for method System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
+; Total bytes of code 112, prolog size 8, PerfScore 113.75, instruction count 28, allocated bytes for code 112 (MethodHash=8272b9d4) for method System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -68,7 +93,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+44 (+64.71%) : 28604.dasm - System.Collections.Immutable.ImmutableList`1+Node[int]:ItemRefUnchecked(int):byref:this (FullOpts)
@@ -7,14 +7,16 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  7, 23   )     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[int]>
-;  V01 arg1         [V01,T00] (  6, 26   )     int  ->   x1        
+;  V00 this         [V00,T02] ( 11, 25.50)     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[int]>
+;  V01 arg1         [V01,T00] ( 10, 29   )     int  ->   x1        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T06] (  2, 16   )     int  ->   x1         "arg temp"
-;  V04 tmp2         [V04,T04] (  2, 16   )     ref  ->   x0         single-def "arg temp"
-;  V05 tmp3         [V05,T05] (  2, 16   )     ref  ->   x0         single-def "arg temp"
+;  V03 tmp1         [V03,T06] (  4, 18   )     int  ->   x1         "arg temp"
+;  V04 tmp2         [V04,T04] (  4, 18   )     ref  ->   x0         "arg temp"
+;  V05 tmp3         [V05,T05] (  4, 18   )     ref  ->   x0         "arg temp"
 ;  V06 cse0         [V06,T01] (  4, 28   )     int  ->   x3         "CSE - aggressive"
-;  V07 cse1         [V07,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  4,  3.50)     int  ->   x3         "CSE - aggressive"
+;  V08 cse2         [V08,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V09 cse3         [V09,T08] (  3,  2.50)     ref  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -22,42 +24,65 @@ G_M57541_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M57541_IG02:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M57541_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x2, [x0, #0x08]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x1C]
             cmp     w1, w3
             bge     G_M57541_IG04
-                        ;; size=16 bbWeight=8 PerfScore 60.00
-G_M57541_IG03:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+                        ;; size=16 bbWeight=1 PerfScore 7.50
+G_M57541_IG03:        ; bbWeight=0.50, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M57541_IG02
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M57541_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M57541_IG06
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
+G_M57541_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x2]
             cmp     w1, w3
-            ble     G_M57541_IG06
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M57541_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ble     G_M57541_IG10
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M57541_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             sub     w1, w1, w3
             sub     w1, w1, #1
             ldr     x0, [x0, #0x10]
-            b       G_M57541_IG02
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M57541_IG06:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     x2, [x0, #0x08]
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x1C]
+            cmp     w1, w3
+            bge     G_M57541_IG08
+                       ;; size=16 bbWeight=8 PerfScore 60.00
+G_M57541_IG07:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x2
+            ; gcrRegs +[x0]
+            b       G_M57541_IG06
+                       ;; size=8 bbWeight=4 PerfScore 6.00
+G_M57541_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            cmp     w1, w3
+            ble     G_M57541_IG10
+                       ;; size=8 bbWeight=8 PerfScore 12.00
+G_M57541_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            sub     w1, w1, w3
+            sub     w1, w1, #1
+            ldr     x0, [x0, #0x10]
+            b       G_M57541_IG06
                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M57541_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M57541_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x0, x0, #24
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M57541_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M57541_IG11:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 102.00, instruction count 17, allocated bytes for code 68 (MethodHash=439c1f3a) for method System.Collections.Immutable.ImmutableList`1+Node[int]:ItemRefUnchecked(int):byref:this (FullOpts)
+; Total bytes of code 112, prolog size 8, PerfScore 113.75, instruction count 28, allocated bytes for code 112 (MethodHash=439c1f3a) for method System.Collections.Immutable.ImmutableList`1+Node[int]:ItemRefUnchecked(int):byref:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -68,7 +93,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
benchmarks.run_pgo.linux.arm64.checked.mch
-36 (-6.62%) : 95626.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax:get_Modifiers():Microsoft.CodeAnalysis.SyntaxTokenList:this (Tier1)
@@ -9,56 +9,57 @@
 ; 4 inlinees with PGO data; 13 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  9,  8.11)     ref  ->  x19         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax>
-;  V01 RetBuf       [V01,T02] (  7,  6   )   byref  ->  x20         single-def
+;  V00 this         [V00,T00] (  9,  8.03)     ref  ->  x19         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax>
+;  V01 RetBuf       [V01,T01] (  7,  6   )   byref  ->  x20         single-def
 ;  V02 loc0         [V02,T07] (  5,  3   )     ref  ->  x21         class-hnd single-def <Microsoft.CodeAnalysis.GreenNode>
 ;* V03 loc1         [V03    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] ld-addr-op <Microsoft.CodeAnalysis.SyntaxTokenList>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T03] (  5,  6   )     ref  ->   x0         class-hnd single-def "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
-;  V06 tmp2         [V06,T06] (  4,  4   )     int  ->  x22         "impAppendStmt"
+;  V05 tmp1         [V05,T02] (  5,  6   )     ref  ->   x0         class-hnd single-def "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
+;  V06 tmp2         [V06,T04] (  4,  4   )     int  ->  x23         "impAppendStmt"
 ;* V07 tmp3         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.SyntaxTokenList>
 ;  V08 tmp4         [V08,T11] (  4,  2   )     ref  ->  x21         "guarded devirt return temp"
 ;* V09 tmp5         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.MethodDeclarationSyntax>
 ;* V10 tmp6         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V11 tmp7         [V11,T01] (  7, 10.87)     int  ->  x22         "Inlining Arg"
+;* V11 tmp7         [V11,T05] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V12 tmp8         [V12,T12] (  3,  2   )     ref  ->   x0         class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
-;  V13 tmp9         [V13,T10] (  5,  2.05)     int  ->  x23         "Inline stloc first use temp"
-;  V14 tmp10        [V14,T16] (  4,  1.21)     ref  ->  x24         class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V15 tmp11        [V15,T05] (  4,  4.09)     ref  ->   x0         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
+;  V13 tmp9         [V13,T10] (  4,  2.02)     int  ->  x22         "Inline stloc first use temp"
+;  V14 tmp10        [V14,T16] (  4,  1.19)     ref  ->  x23         class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
+;  V15 tmp11        [V15,T06] (  4,  3.94)     ref  ->   x0         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
 ;* V16 tmp12        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V17 tmp13        [V17,T21] (  4,  0.24)     ref  ->   x0         "guarded devirt return temp"
+;  V17 tmp13        [V17,T21] (  4,  0.21)     ref  ->   x0         "guarded devirt return temp"
 ;* V18 tmp14        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ClassDeclarationSyntax>
 ;* V19 tmp15        [V19    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V20 tmp16        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
 ;* V21 tmp17        [V21    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline return value spill temp"
-;  V22 tmp18        [V22,T09] (  4,  2.19)     int  ->  x23         "Inline stloc first use temp"
+;  V22 tmp18        [V22,T09] (  4,  2.19)     int  ->  x22         "Inline stloc first use temp"
 ;* V23 tmp19        [V23,T18] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V24 tmp20        [V24,T04] (  4,  4.70)     ref  ->   x0         class-hnd "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
+;  V24 tmp20        [V24,T03] (  4,  4.70)     ref  ->   x0         class-hnd "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
 ;* V25 tmp21        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
 ;  V26 tmp22        [V26,T19] (  7,  0.88)     ref  ->   x0         "guarded devirt return temp"
 ;* V27 tmp23        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ClassDeclarationSyntax>
-;  V28 tmp24        [V28,T22] (  4,  0.04)     int  ->  x23         "Inline stloc first use temp"
+;  V28 tmp24        [V28,T24] (  4,  0.04)     int  ->  x22         "Inline stloc first use temp"
 ;* V29 tmp25        [V29,T17] (  0,  0   )     ref  ->  zero-ref    single-def "field V07._parent (fldOffset=0x0)" P-INDEP
 ;  V30 tmp26        [V30,T13] (  2,  2   )     ref  ->  x21         single-def "field V07.<Node>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V31 tmp27        [V31,T14] (  2,  2   )     int  ->  x23         single-def "field V07._index (fldOffset=0x10)" P-INDEP
-;  V32 tmp28        [V32,T15] (  2,  2   )     int  ->  x22         single-def "field V07.<Position>k__BackingField (fldOffset=0x14)" P-INDEP
-;  V33 cse0         [V33,T08] (  3,  2.19)    long  ->   x2         "CSE - conservative"
-;  V34 cse1         [V34,T20] (  3,  0.26)    long  ->  x25         "CSE - conservative"
+;  V31 tmp27        [V31,T14] (  2,  2   )     int  ->  x22         single-def "field V07._index (fldOffset=0x10)" P-INDEP
+;  V32 tmp28        [V32,T15] (  2,  2   )     int  ->  x23         single-def "field V07.<Position>k__BackingField (fldOffset=0x14)" P-INDEP
+;  V33 cse0         [V33,T22] (  2,  0.09)    long  ->   x2         "CSE - conservative"
+;  V34 cse1         [V34,T20] (  3,  0.23)    long  ->  x24         "CSE - conservative"
+;  V35 cse2         [V35,T08] (  3,  2.19)    long  ->  x24         "CSE - conservative"
+;  V36 cse3         [V36,T23] (  2,  0.05)     int  ->  x22         "CSE - conservative"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M57630_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x50]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            stp     x23, x24, [sp, #0x38]
-            str     x25, [sp, #0x48]
+            stp     fp, lr, [sp, #-0x40]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
+            stp     x23, x24, [sp, #0x30]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
             mov     x20, x8
             ; byrRegs +[x20]
-                     ;; size=32 bbWeight=1 PerfScore 6.50
+                      ;; size=28 bbWeight=1 PerfScore 5.50
 G_M57630_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref, isz
             ldr     x0, [x19, #0x18]
             ; gcrRegs +[x0]
@@ -67,14 +68,13 @@ G_M57630_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            bne     G_M57630_IG25
+            bne     G_M57630_IG21
             ldr     x21, [x0, #0x18]
             ; gcrRegs +[x21]
-            cbz     x21, G_M57630_IG26
+            cbz     x21, G_M57630_IG22
                        ;; size=36 bbWeight=1 PerfScore 13.00
 G_M57630_IG03:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            mov     w22, #1
             mov     x0, x19
             ; gcrRegs +[x0]
             mov     w1, #1
@@ -83,82 +83,50 @@ G_M57630_IG03:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    x0, G_M57630_IG28
-            mov     w23, wzr
-            ldr     x24, [x19, #0x18]
-            ; gcrRegs +[x24]
-                       ;; size=44 bbWeight=1 PerfScore 11.50
-G_M57630_IG04:        ; bbWeight=1.07, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=100000 {x20}, byref, isz
-            ; gcrRegs -[x0]
-            sub     w22, w22, #1
+            cbnz    x0, G_M57630_IG24
+            mov     w22, wzr
+            ldr     x23, [x19, #0x18]
+            ; gcrRegs +[x23]
             mov     x0, x19
-            ; gcrRegs +[x0]
-            mov     w1, w22
+            mov     w1, wzr
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax:GetCachedSlot(int):Microsoft.CodeAnalysis.SyntaxNode:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     x0, G_M57630_IG08
-                       ;; size=36 bbWeight=1.07 PerfScore 8.60
-G_M57630_IG05:        ; bbWeight=0.97, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs -[x24]
+            cbz     x0, G_M57630_IG13
+                       ;; size=72 bbWeight=1 PerfScore 18.50
+G_M57630_IG04:        ; bbWeight=0.97, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref
+            ; gcrRegs -[x23]
             ldr     w1, [x0, #0x20]
             ldr     x0, [x0, #0x18]
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
             add     w0, w1, w0
-            add     w22, w0, w23
+            add     w23, w0, w22
                      ;; size=20 bbWeight=0.97 PerfScore 9.69
-G_M57630_IG06:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref, isz
-            mov     w23, wzr
+G_M57630_IG05:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref, isz
+            mov     w22, wzr
             ldr     x0, [x19, #0x18]
             ; gcrRegs +[x0]
-            ldr     x2, [x0]
+            ldr     x24, [x0]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
-            cmp     x2, x1
-            bne     G_M57630_IG16
+            cmp     x24, x1
+            beq     G_M57630_IG12
                       ;; size=32 bbWeight=1 PerfScore 9.50
-G_M57630_IG07:        ; bbWeight=0.16, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref
-            b       G_M57630_IG21
-                       ;; size=4 bbWeight=0.16 PerfScore 0.16
-G_M57630_IG08:        ; bbWeight=0.11, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=100000 {x20}, byref, isz
-            ; gcrRegs -[x0] +[x24]
-            ldr     x25, [x24]
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            cmp     x25, x0
-            beq     G_M57630_IG22
-                       ;; size=24 bbWeight=0.11 PerfScore 0.63
-G_M57630_IG09:        ; bbWeight=0.05, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=100000 {x20}, byref
-            mov     x0, x24
-            ; gcrRegs +[x0]
-            mov     w1, w22
-            ldr     x2, [x25, #0x50]
+G_M57630_IG06:        ; bbWeight=0.19, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref
+            mov     w1, wzr
+            ldr     x2, [x24, #0x50]
             ldr     x2, [x2, #0x20]
             blr     x2
-                       ;; size=20 bbWeight=0.05 PerfScore 0.38
-G_M57630_IG10:        ; bbWeight=0.11, gcrefRegs=1280001 {x0 x19 x21 x24}, byrefRegs=100000 {x20}, byref, isz
-            cbnz    x0, G_M57630_IG20
-                       ;; size=4 bbWeight=0.11 PerfScore 0.11
-G_M57630_IG11:        ; bbWeight=1.11, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=100000 {x20}, byref, isz
+                       ;; size=16 bbWeight=0.19 PerfScore 1.44
+G_M57630_IG07:        ; bbWeight=0.35, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref, isz
+            cbnz    x0, G_M57630_IG10
+                       ;; size=4 bbWeight=0.35 PerfScore 0.35
+G_M57630_IG08:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
             ; gcrRegs -[x0]
-            cmp     w22, #0
-            bgt     G_M57630_IG04
-                       ;; size=8 bbWeight=1.11 PerfScore 1.66
-G_M57630_IG12:        ; bbWeight=0.03, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs -[x24]
-            ldr     w0, [x19, #0x20]
-            add     w22, w0, w23
-            b       G_M57630_IG06
-                       ;; size=12 bbWeight=0.03 PerfScore 0.14
-G_M57630_IG13:        ; bbWeight=0.17, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
-            mov     w23, #1
-                       ;; size=4 bbWeight=0.17 PerfScore 0.09
-G_M57630_IG14:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
             mov     x14, x20
             ; byrRegs +[x14]
             mov     x15, x19
@@ -173,74 +141,90 @@ G_M57630_IG14:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             ; gcrRegs -[x15 x21]
             ; byrRegs -[x14]
-            stp     w23, w22, [x20, #0x10]
+            stp     w22, w23, [x20, #0x10]
                        ;; size=28 bbWeight=1 PerfScore 5.00
-G_M57630_IG15:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x25, [sp, #0x48]
-            ldp     x23, x24, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x50
+G_M57630_IG09:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x23, x24, [sp, #0x30]
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x40
             ret     lr
-                        ;; size=24 bbWeight=1 PerfScore 7.00
-G_M57630_IG16:        ; bbWeight=0.19, gcVars=0000000000000000 {}, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, gcvars, byref
+                      ;; size=20 bbWeight=1 PerfScore 5.00
+G_M57630_IG10:        ; bbWeight=0.17, gcVars=0000000000000000 {}, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, gcvars, byref, isz
             ; gcrRegs +[x0 x19 x21]
-            mov     w1, wzr
-            ldr     x2, [x2, #0x50]
-            ldr     x2, [x2, #0x20]
-            blr     x2
-                       ;; size=16 bbWeight=0.19 PerfScore 1.44
-G_M57630_IG17:        ; bbWeight=0.35, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref, isz
-            cbz     x0, G_M57630_IG14
-                       ;; size=4 bbWeight=0.35 PerfScore 0.35
-G_M57630_IG18:        ; bbWeight=0.17, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref, isz
             ldrh    w14, [x0, #0x0C]
             cmp     w14, #1
-            bne     G_M57630_IG13
+            beq     G_M57630_IG19
                       ;; size=12 bbWeight=0.17 PerfScore 0.76
-G_M57630_IG19:        ; bbWeight=0.01, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref
-            b       G_M57630_IG23
-                       ;; size=4 bbWeight=0.01 PerfScore 0.01
-G_M57630_IG20:        ; bbWeight=0.03, gcrefRegs=1280001 {x0 x19 x21 x24}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs +[x24]
-            ldr     w0, [x0, #0x08]
+G_M57630_IG11:        ; bbWeight=0.17, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
             ; gcrRegs -[x0]
...
  
-20 (-3.82%) : 84592.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax:get_Modifiers():Microsoft.CodeAnalysis.SyntaxTokenList:this (Tier1)
@@ -9,38 +9,41 @@
 ; 3 inlinees with PGO data; 13 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  9,  8.42)     ref  ->  x19         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax>
-;  V01 RetBuf       [V01,T02] (  7,  6   )   byref  ->  x20         single-def
+;  V00 this         [V00,T00] (  9,  8.35)     ref  ->  x19         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax>
+;  V01 RetBuf       [V01,T01] (  7,  6   )   byref  ->  x20         single-def
 ;  V02 loc0         [V02,T07] (  5,  3   )     ref  ->  x21         class-hnd single-def <Microsoft.CodeAnalysis.GreenNode>
 ;* V03 loc1         [V03    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] ld-addr-op <Microsoft.CodeAnalysis.SyntaxTokenList>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T03] (  5,  6   )     ref  ->   x0         class-hnd single-def "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
-;  V06 tmp2         [V06,T05] (  4,  4   )     int  ->  x22         "impAppendStmt"
+;  V05 tmp1         [V05,T02] (  5,  6   )     ref  ->   x0         class-hnd single-def "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
+;  V06 tmp2         [V06,T04] (  4,  4   )     int  ->  x23         "impAppendStmt"
 ;* V07 tmp3         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.SyntaxTokenList>
 ;  V08 tmp4         [V08,T10] (  4,  2   )     ref  ->  x21         "guarded devirt return temp"
 ;* V09 tmp5         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ClassDeclarationSyntax>
 ;* V10 tmp6         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V11 tmp7         [V11,T00] (  7, 12.12)     int  ->  x22         "Inlining Arg"
+;* V11 tmp7         [V11,T05] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V12 tmp8         [V12,T11] (  3,  2   )     ref  ->   x0         class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
-;  V13 tmp9         [V13,T09] (  5,  2.09)     int  ->  x23         "Inline stloc first use temp"
-;  V14 tmp10        [V14,T15] (  5,  1.91)     ref  ->  x24         class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V15 tmp11        [V15,T06] (  4,  3.43)     ref  ->   x0         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
+;  V13 tmp9         [V13,T09] (  4,  2.03)     int  ->  x22         "Inline stloc first use temp"
+;  V14 tmp10        [V14,T15] (  4,  1.59)     ref  ->  x23         class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
+;  V15 tmp11        [V15,T06] (  4,  3.29)     ref  ->   x0         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
 ;* V16 tmp12        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V17 tmp13        [V17,T18] (  4,  0.89)     ref  ->   x0         "guarded devirt return temp"
+;  V17 tmp13        [V17,T20] (  4,  0.62)     ref  ->   x0         "guarded devirt return temp"
 ;* V18 tmp14        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax>
 ;* V19 tmp15        [V19    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V20 tmp16        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
 ;* V21 tmp17        [V21    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline return value spill temp"
-;  V22 tmp18        [V22,T08] (  4,  2.17)     int  ->  x23         "Inline stloc first use temp"
+;  V22 tmp18        [V22,T08] (  4,  2.17)     int  ->  x22         "Inline stloc first use temp"
 ;* V23 tmp19        [V23,T17] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V24 tmp20        [V24,T04] (  5,  4.59)     ref  ->   x0         class-hnd "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
+;  V24 tmp20        [V24,T03] (  5,  4.59)     ref  ->   x0         class-hnd "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
 ;* V25 tmp21        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V26 tmp22        [V26,T19] (  5,  0.76)     ref  ->   x0         "guarded devirt return temp"
+;  V26 tmp22        [V26,T18] (  5,  0.76)     ref  ->   x0         "guarded devirt return temp"
 ;* V27 tmp23        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax>
 ;* V28 tmp24        [V28,T16] (  0,  0   )     ref  ->  zero-ref    single-def "field V07._parent (fldOffset=0x0)" P-INDEP
 ;  V29 tmp25        [V29,T12] (  2,  2   )     ref  ->  x21         single-def "field V07.<Node>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V30 tmp26        [V30,T13] (  2,  2   )     int  ->  x23         single-def "field V07._index (fldOffset=0x10)" P-INDEP
-;  V31 tmp27        [V31,T14] (  2,  2   )     int  ->  x22         single-def "field V07.<Position>k__BackingField (fldOffset=0x14)" P-INDEP
+;  V30 tmp26        [V30,T13] (  2,  2   )     int  ->  x22         single-def "field V07._index (fldOffset=0x10)" P-INDEP
+;  V31 tmp27        [V31,T14] (  2,  2   )     int  ->  x23         single-def "field V07.<Position>k__BackingField (fldOffset=0x14)" P-INDEP
+;  V32 cse0         [V32,T21] (  2,  0.09)    long  ->   x2         "CSE - conservative"
+;  V33 cse1         [V33,T19] (  3,  0.63)    long  ->  x24         "CSE - moderate"
+;  V34 cse2         [V34,T22] (  2,  0.06)     int  ->  x22         "CSE - conservative"
 ;
 ; Lcl frame size = 0
 
@@ -63,14 +66,13 @@ G_M23983_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            bne     G_M23983_IG22
+            bne     G_M23983_IG21
             ldr     x21, [x0, #0x18]
             ; gcrRegs +[x21]
-            cbz     x21, G_M23983_IG23
+            cbz     x21, G_M23983_IG22
                        ;; size=36 bbWeight=1 PerfScore 13.00
 G_M23983_IG03:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            mov     w22, #1
             mov     x0, x19
             ; gcrRegs +[x0]
             mov     w1, #1
@@ -79,75 +81,30 @@ G_M23983_IG03:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    x0, G_M23983_IG25
-            mov     w23, wzr
-            ldr     x24, [x19, #0x18]
-            ; gcrRegs +[x24]
-                       ;; size=44 bbWeight=1 PerfScore 11.50
-G_M23983_IG04:        ; bbWeight=1.07, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=100000 {x20}, byref, isz
-            ; gcrRegs -[x0]
-            sub     w22, w22, #1
+            cbnz    x0, G_M23983_IG24
+            mov     w22, wzr
+            ldr     x23, [x19, #0x18]
+            ; gcrRegs +[x23]
             mov     x0, x19
-            ; gcrRegs +[x0]
-            mov     w1, w22
+            mov     w1, wzr
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax:GetCachedSlot(int):Microsoft.CodeAnalysis.SyntaxNode:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    x0, G_M23983_IG11
-                       ;; size=36 bbWeight=1.07 PerfScore 8.56
-G_M23983_IG05:        ; bbWeight=0.42, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=100000 {x20}, byref, isz
-            ; gcrRegs -[x0]
-            ldr     x0, [x24]
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            cmp     x0, x1
-            bne     G_M23983_IG14
-                       ;; size=24 bbWeight=0.42 PerfScore 2.55
-G_M23983_IG06:        ; bbWeight=0.36, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=100000 {x20}, byref
-            mov     x0, x24
-            ; gcrRegs +[x0]
-            mov     w1, w22
-            movz    x2, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax:GetSlot(int):Microsoft.CodeAnalysis.GreenNode:this
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-                       ;; size=28 bbWeight=0.36 PerfScore 2.35
-G_M23983_IG07:        ; bbWeight=0.42, gcrefRegs=1280001 {x0 x19 x21 x24}, byrefRegs=100000 {x20}, byref, isz
-            cbnz    x0, G_M23983_IG10
-                       ;; size=4 bbWeight=0.42 PerfScore 0.42
-G_M23983_IG08:        ; bbWeight=1.42, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=100000 {x20}, byref, isz
-            ; gcrRegs -[x0]
-            cmp     w22, #0
-            bgt     G_M23983_IG04
-                       ;; size=8 bbWeight=1.42 PerfScore 2.14
-G_M23983_IG09:        ; bbWeight=0.35, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs -[x24]
-            ldr     w0, [x19, #0x20]
-            add     w22, w0, w23
-            b       G_M23983_IG12
-                       ;; size=12 bbWeight=0.35 PerfScore 1.59
-G_M23983_IG10:        ; bbWeight=0.04, gcrefRegs=1280001 {x0 x19 x21 x24}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs +[x0 x24]
-            ldr     w0, [x0, #0x08]
-            ; gcrRegs -[x0]
-            add     w23, w23, w0
-            b       G_M23983_IG08
-                       ;; size=12 bbWeight=0.04 PerfScore 0.20
-G_M23983_IG11:        ; bbWeight=0.65, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs -[x24] +[x0]
+            cbz     x0, G_M23983_IG09
+                       ;; size=72 bbWeight=1 PerfScore 18.50
+G_M23983_IG04:        ; bbWeight=0.65, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref
+            ; gcrRegs -[x23]
             ldr     w1, [x0, #0x20]
             ldr     x0, [x0, #0x18]
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
             add     w0, w1, w0
-            add     w22, w0, w23
+            add     w23, w0, w22
                      ;; size=20 bbWeight=0.65 PerfScore 6.46
-G_M23983_IG12:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref, isz
-            mov     w23, wzr
+G_M23983_IG05:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref, isz
+            mov     w22, wzr
             ldr     x0, [x19, #0x18]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
@@ -155,27 +112,55 @@ G_M23983_IG12:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            bne     G_M23983_IG26
+            bne     G_M23983_IG25
                        ;; size=32 bbWeight=1 PerfScore 9.50
-G_M23983_IG13:        ; bbWeight=0.30, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref
-            b       G_M23983_IG18
-                       ;; size=4 bbWeight=0.30 PerfScore 0.30
-G_M23983_IG14:        ; bbWeight=0.06, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs -[x0] +[x24]
-            mov     x0, x24
-            ; gcrRegs +[x0]
-            mov     w1, w22
-            ldr     x2, [x24]
-            ldr     x2, [x2, #0x50]
-            ldr     x2, [x2, #0x20]
+G_M23983_IG06:        ; bbWeight=0.30, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref
+            mov     w1, wzr
+            movz    x2, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax:GetSlot(int):Microsoft.CodeAnalysis.GreenNode:this
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
             blr     x2
-            b       G_M23983_IG07
-                       ;; size=28 bbWeight=0.06 PerfScore 0.76
-G_M23983_IG15:        ; bbWeight=0.17, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs -[x0 x24]
-            mov     w23, #1
+                      ;; size=24 bbWeight=0.30 PerfScore 1.78
+G_M23983_IG07:        ; bbWeight=0.30, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref, isz
+            cbz     x0, G_M23983_IG14
+                       ;; size=4 bbWeight=0.30 PerfScore 0.30
+G_M23983_IG08:        ; bbWeight=0.17, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref
+            b       G_M23983_IG16
+                       ;; size=4 bbWeight=0.17 PerfScore 0.17
+G_M23983_IG09:        ; bbWeight=0.29, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=100000 {x20}, byref, isz
+            ; gcrRegs -[x0] +[x23]
+            ldr     x24, [x23]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            cmp     x24, x0
+            bne     G_M23983_IG19
+                       ;; size=24 bbWeight=0.29 PerfScore 1.76
+G_M23983_IG10:        ; bbWeight=0.25, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=100000 {x20}, byref
+            mov     x0, x23
+            ; gcrRegs +[x0]
+            mov     w1, wzr
+            movz    x2, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax:GetSlot(int):Microsoft.CodeAnalysis.GreenNode:this
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
+            ; gcrRegs -[x23]
+                       ;; size=28 bbWeight=0.25 PerfScore 1.62
+G_M23983_IG11:        ; bbWeight=0.29, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref, isz
+            cbnz    x0, G_M23983_IG18
+                       ;; size=4 bbWeight=0.29 PerfScore 0.29
+G_M23983_IG12:        ; bbWeight=0.35, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
+            ; gcrRegs -[x0]
+            ldr     w0, [x19, #0x20]
+            add     w23, w0, w22
+            b       G_M23983_IG05
+                       ;; size=12 bbWeight=0.35 PerfScore 1.59
+G_M23983_IG13:        ; bbWeight=0.17, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
+            mov     w22, #1
                         ;; size=4 bbWeight=0.17 PerfScore 0.08
-G_M23983_IG16:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
+G_M23983_IG14:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
             mov     x14, x20
             ; byrRegs +[x14]
             mov     x15, x19
@@ -190,43 +175,50 @@ G_M23983_IG16:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             ; gcrRegs -[x15 x21]
             ; byrRegs -[x14]
-            stp     w23, w22, [x20, #0x10]
+            stp     w22, w23, [x20, #0x10]
                        ;; size=28 bbWeight=1 PerfScore 5.00
-G_M23983_IG17:        ; bbWeight=1, epilog, nogc, extend
+G_M23983_IG15:        ; bbWeight=1, epilog, nogc, extend
             ldp     x23, x24, [sp, #0x30]
             ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=1 PerfScore 5.00
...
  
-16 (-3.23%) : 47595.dasm - System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
@@ -19,28 +19,28 @@
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V08 tmp1         [V08,T03] (  3,  6   )     ref  ->   x0         class-hnd exact single-def "Single-def Box Helper" <System.Reflection.MetadataImport>
 ;  V09 tmp2         [V09,T13] (  2,  4   )     int  ->   x1         "impImportAndPushBox"
-;  V10 tmp3         [V10,T14] (  4,  2   )     int  ->  x28        
+;  V10 tmp3         [V10,T16] (  4,  2   )     int  ->  x28        
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V13 tmp6         [V13,T17] (  2,  2   )     int  ->  x14        
+;  V13 tmp6         [V13,T18] (  2,  2   )     int  ->  x14        
 ;  V14 tmp7         [V14,T04] (  3,  6   )     ref  ->   x0         class-hnd exact single-def "dup spill" <int[]>
 ;* V15 tmp8         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V16 tmp9         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V17 tmp10        [V17,T18] (  2,  2   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp10        [V17,T19] (  2,  2   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp11        [V18,T11] (  2,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Reflection.MetadataImport>
 ;* V19 tmp12        [V19    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Reflection.MetadataImport>
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V21 tmp14        [V21,T15] (  3,  2   )   ubyte  ->  x28         "Inline return value spill temp"
-;  V22 tmp15        [V22,T05] (  5,  5   )     int  ->   x1         "Inline stloc first use temp"
+;  V21 tmp14        [V21,T17] (  3,  2   )   ubyte  ->  x28         "Inline return value spill temp"
+;* V22 tmp15        [V22,T05] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V23 tmp16        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V24 tmp17        [V24    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V25 tmp18        [V25,T12] (  2,  2   )     ref  ->  x26         single-def "field V02.m_keepalive (fldOffset=0x0)" P-INDEP
 ;  V26 tmp19        [V26,T09] (  3,  3   )    long  ->  x25         single-def "field V02.m_metadataImport2 (fldOffset=0x8)" P-INDEP
 ;* V27 tmp20        [V27    ] (  0,  0   )     ref  ->  zero-ref    "field V19.m_keepalive (fldOffset=0x0)" P-INDEP
-;  V28 tmp21        [V28,T19] (  2,  2   )    long  ->   x0         "field V19.m_metadataImport2 (fldOffset=0x8)" P-INDEP
+;  V28 tmp21        [V28,T20] (  2,  2   )    long  ->   x0         "field V19.m_metadataImport2 (fldOffset=0x8)" P-INDEP
 ;  V29 cse0         [V29,T10] (  4,  4   )     int  ->  x27         "CSE - aggressive"
-;  V30 cse1         [V30,T16] (  2,  2   )   byref  ->   x0         hoist "CSE - moderate"
-;  V31 cse2         [V31,T20] (  2,  2   )     int  ->   x2         hoist "CSE - moderate"
+;  V30 cse1         [V30,T14] (  2,  2   )   byref  ->  x14         "CSE - aggressive"
+;  V31 cse2         [V31,T15] (  2,  2   )     int  ->  x15         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -66,7 +66,7 @@ G_M43134_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x21]
                        ;; size=60 bbWeight=1 PerfScore 10.50
 G_M43134_IG02:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
-            cbz     x21, G_M43134_IG10
+            cbz     x21, G_M43134_IG09
                      ;; size=4 bbWeight=1 PerfScore 1.00
 G_M43134_IG03:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             movz    x0, #0xD1FFAB1E
@@ -96,11 +96,11 @@ G_M43134_IG03:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             cmp     x0, x25
             cset    x0, eq
             cmp     w1, w0
-            bne     G_M43134_IG11
+            bne     G_M43134_IG10
                        ;; size=84 bbWeight=1 PerfScore 20.00
 G_M43134_IG04:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x13-x14]
-            cbz     w27, G_M43134_IG13
+            cbz     w27, G_M43134_IG12
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -110,30 +110,24 @@ G_M43134_IG04:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             ; gcr arg pop 0
             mov     w14, #0xD1FFAB1E
             str     w14, [x0, #0x10]
-            mov     w1, wzr
-            add     x0, x0, #16
+            add     x14, x0, #16
+            ; byrRegs +[x14]
+            ldr     w14, [x14]
+            ; byrRegs -[x14]
+            and     w15, w20, #0xD1FFAB1E
+            cmp     w14, w15
+            beq     G_M43134_IG05
+            b       G_M43134_IG11
+                       ;; size=56 bbWeight=1 PerfScore 12.00
+G_M43134_IG05:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
-            ; byrRegs +[x0]
-            and     w2, w20, #0xD1FFAB1E
-                       ;; size=44 bbWeight=1 PerfScore 7.00
-G_M43134_IG05:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0001 {x0}, byref, isz
-            ldr     w14, [x0, w1, UXTW #2]
-            cmp     w14, w2
-            beq     G_M43134_IG06
-            add     w1, w1, #1
-            cmp     w1, #1
-            bge     G_M43134_IG12
-            b       G_M43134_IG05
-                       ;; size=28 bbWeight=1 PerfScore 7.50
-G_M43134_IG06:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x0]
             mov     w28, #1
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M43134_IG07:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
+G_M43134_IG06:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             tst     w28, #255
-            beq     G_M43134_IG14
+            beq     G_M43134_IG13
                       ;; size=8 bbWeight=1 PerfScore 1.50
-G_M43134_IG08:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG07:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             str     w23, [x19, #0x2C]
             add     x14, x19, #24
             ; byrRegs +[x14]
@@ -165,7 +159,7 @@ G_M43134_IG08:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             str     xzr, [x19, #0x08]
             str     xzr, [x19, #0x20]
                        ;; size=72 bbWeight=1 PerfScore 13.50
-G_M43134_IG09:        ; bbWeight=1, epilog, nogc, extend
+G_M43134_IG08:        ; bbWeight=1, epilog, nogc, extend
             ldp     x27, x28, [sp, #0x50]
             ldp     x25, x26, [sp, #0x40]
             ldp     x23, x24, [sp, #0x30]
@@ -174,7 +168,7 @@ G_M43134_IG09:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=28 bbWeight=1 PerfScore 7.00
-G_M43134_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, gcvars, byref
+G_M43134_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x21-x22 x26]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -190,7 +184,7 @@ G_M43134_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=468000
             ; gcr arg pop 0
             b       G_M43134_IG03
                        ;; size=48 bbWeight=0 PerfScore 0.00
-G_M43134_IG11:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG10:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -205,16 +199,16 @@ G_M43134_IG11:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             ; gcr arg pop 0
             b       G_M43134_IG04
                        ;; size=48 bbWeight=0 PerfScore 0.00
-G_M43134_IG12:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG11:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             mov     w28, wzr
-            b       G_M43134_IG07
+            b       G_M43134_IG06
                         ;; size=8 bbWeight=0 PerfScore 0.00
-G_M43134_IG13:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
+G_M43134_IG12:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             mov     w28, #1
             tst     w28, #255
-            bne     G_M43134_IG08
+            bne     G_M43134_IG07
                         ;; size=12 bbWeight=0 PerfScore 0.00
-G_M43134_IG14:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG13:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -227,10 +221,10 @@ G_M43134_IG14:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             ldr     x2, [x2]
             blr     x2
             ; gcr arg pop 0
-            b       G_M43134_IG08
+            b       G_M43134_IG07
                       ;; size=48 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 496, prolog size 60, PerfScore 68.50, instruction count 124, allocated bytes for code 496 (MethodHash=d49d5781) for method System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
+; Total bytes of code 480, prolog size 60, PerfScore 66.00, instruction count 120, allocated bytes for code 480 (MethodHash=d49d5781) for method System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -241,7 +235,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 124 (0x0007c) Actual length = 496 (0x0001f0)
+  Function Length   : 120 (0x00078) Actual length = 480 (0x0001e0)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+50.00%) : 95582.dasm - Roslyn.Utilities.ThreadSafeFlagOperations:Set(byref,int):ubyte (Tier1)
@@ -8,10 +8,10 @@
 ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 20
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  4,  3.90)   byref  ->   x0         single-def
-;  V01 arg1         [V01,T01] (  3,  3   )     int  ->   x1         single-def
-;  V02 loc0         [V02,T02] (  5,  4.80)     int  ->   x2        
-;  V03 loc1         [V03,T03] (  3,  2.90)     int  ->   x3        
+;  V00 arg0         [V00,T01] (  6,  5.80)   byref  ->   x0         single-def
+;  V01 arg1         [V01,T02] (  4,  4   )     int  ->   x1         single-def
+;  V02 loc0         [V02,T00] ( 10,  9.60)     int  ->   x2        
+;  V03 loc1         [V03,T03] (  6,  5.80)     int  ->   x3        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -25,29 +25,43 @@ G_M19701_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             ldr     w2, [x0]
             orr     w3, w2, w1
             cmp     w3, w2
-            beq     G_M19701_IG05
+            beq     G_M19701_IG08
                        ;; size=16 bbWeight=1 PerfScore 5.00
 G_M19701_IG03:        ; bbWeight=0.90, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             mov     w4, w2
             casal   w4, w3, [x0]
             cmp     w4, w2
-            bne     G_M19701_IG02
-            mov     w0, #1
+            beq     G_M19701_IG06
+                       ;; size=16 bbWeight=0.90 PerfScore 4.50
+G_M19701_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            ldr     w2, [x0]
+            orr     w3, w2, w1
+            cmp     w3, w2
+            beq     G_M19701_IG08
+                       ;; size=16 bbWeight=1 PerfScore 5.00
+G_M19701_IG05:        ; bbWeight=0.90, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            mov     w4, w2
+            casal   w4, w3, [x0]
+            cmp     w4, w2
+            bne     G_M19701_IG04
+                       ;; size=16 bbWeight=0.90 PerfScore 4.50
+G_M19701_IG06:        ; bbWeight=0.90, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; byrRegs -[x0]
-                        ;; size=20 bbWeight=0.90 PerfScore 4.95
-G_M19701_IG04:        ; bbWeight=0.90, epilog, nogc, extend
+            mov     w0, #1
+                       ;; size=4 bbWeight=0.90 PerfScore 0.45
+G_M19701_IG07:        ; bbWeight=0.90, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.90 PerfScore 1.80
-G_M19701_IG05:        ; bbWeight=0.10, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M19701_IG08:        ; bbWeight=0.10, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=0.10 PerfScore 0.05
-G_M19701_IG06:        ; bbWeight=0.10, epilog, nogc, extend
+G_M19701_IG09:        ; bbWeight=0.10, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.10 PerfScore 0.20
 
-; Total bytes of code 64, prolog size 8, PerfScore 13.50, instruction count 16, allocated bytes for code 64 (MethodHash=f281b30a) for method Roslyn.Utilities.ThreadSafeFlagOperations:Set(byref,int):ubyte (Tier1)
+; Total bytes of code 96, prolog size 8, PerfScore 23.00, instruction count 24, allocated bytes for code 96 (MethodHash=f281b30a) for method Roslyn.Utilities.ThreadSafeFlagOperations:Set(byref,int):ubyte (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -58,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 16 (0x00010) Actual length = 64 (0x000040)
+  Function Length   : 24 (0x00018) Actual length = 96 (0x000060)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+48 (+54.55%) : 52611.dasm - IfStatements.IfStatements:OrArray():this (Tier1-OSR)
@@ -10,44 +10,58 @@
 ; Final local variable assignments
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <IfStatements.IfStatements>
-;  V01 loc0         [V01,T00] (  5,399.97)     int  ->   x0        
+;  V01 loc0         [V01,T00] ( 10,400.02)     int  ->  x19        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 cse0         [V03,T01] (  3,299.97)     int  ->  x19         "CSE - aggressive"
+;  V03 cse0         [V03,T01] (  3,299.97)     int  ->  x20         "CSE - aggressive"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M20087_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x20]!
-            str     x19, [sp, #0x18]
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-            ldr     w0, [fp, #0x44]
+            ldr     w19, [fp, #0x44]
                         ;; size=16 bbWeight=0.01 PerfScore 0.04
 G_M20087_IG02:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             mov     w1, #0xD1FFAB1E
-            cmp     w0, w1
-            bge     G_M20087_IG04
+            cmp     w19, w1
+            bge     G_M20087_IG05
                       ;; size=12 bbWeight=0.01 PerfScore 0.02
-G_M20087_IG03:        ; bbWeight=99.99, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            add     w19, w0, #1
-            mov     w1, w19
+G_M20087_IG03:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w1, w19, #1
+            mov     w0, w19
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            sxtw    w0, w19
+            add     w19, w19, #1
             mov     w1, #0xD1FFAB1E
-            cmp     w0, w1
-            blt     G_M20087_IG03
-                       ;; size=44 bbWeight=99.99 PerfScore 899.91
-G_M20087_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldr     x19, [sp, #0x18]
+            cmp     w19, w1
+            bge     G_M20087_IG05
+                       ;; size=44 bbWeight=0.01 PerfScore 0.09
+G_M20087_IG04:        ; bbWeight=99.99, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w20, w19, #1
+            mov     w1, w20
+            mov     w0, w19
+            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
+            sxtw    w19, w20
+            mov     w0, #0xD1FFAB1E
+            cmp     w19, w0
+            blt     G_M20087_IG04
+                       ;; size=48 bbWeight=99.99 PerfScore 949.91
+G_M20087_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             add     sp, sp, #48
             ret     lr
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 88, prolog size 12, PerfScore 899.98, instruction count 22, allocated bytes for code 88 (MethodHash=8456b188) for method IfStatements.IfStatements:OrArray():this (Tier1-OSR)
+; Total bytes of code 136, prolog size 12, PerfScore 950.06, instruction count 34, allocated bytes for code 136 (MethodHash=8456b188) for method IfStatements.IfStatements:OrArray():this (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -58,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 22 (0x00016) Actual length = 88 (0x000058)
+  Function Length   : 34 (0x00022) Actual length = 136 (0x000088)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -66,7 +80,7 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
     83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
     03          alloc_s #3 (0x03); sub sp, sp, #48 (0x030)
     E4          end
  
+48 (+54.55%) : 47228.dasm - IfStatements.IfStatements:AndArray():this (Tier1-OSR)
@@ -10,44 +10,58 @@
 ; Final local variable assignments
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <IfStatements.IfStatements>
-;  V01 loc0         [V01,T00] (  5,399.97)     int  ->   x0        
+;  V01 loc0         [V01,T00] ( 10,400.02)     int  ->  x19        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 cse0         [V03,T01] (  3,299.97)     int  ->  x19         "CSE - aggressive"
+;  V03 cse0         [V03,T01] (  3,299.97)     int  ->  x20         "CSE - aggressive"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M1409_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x20]!
-            str     x19, [sp, #0x18]
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-            ldr     w0, [fp, #0x44]
+            ldr     w19, [fp, #0x44]
                         ;; size=16 bbWeight=0.01 PerfScore 0.05
 G_M1409_IG02:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             mov     w1, #0xD1FFAB1E
-            cmp     w0, w1
-            bge     G_M1409_IG04
+            cmp     w19, w1
+            bge     G_M1409_IG05
                        ;; size=12 bbWeight=0.01 PerfScore 0.02
-G_M1409_IG03:        ; bbWeight=99.99, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            add     w19, w0, #1
-            mov     w1, w19
+G_M1409_IG03:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w1, w19, #1
+            mov     w0, w19
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            sxtw    w0, w19
+            add     w19, w19, #1
             mov     w1, #0xD1FFAB1E
-            cmp     w0, w1
-            blt     G_M1409_IG03
-                       ;; size=44 bbWeight=99.99 PerfScore 899.91
-G_M1409_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldr     x19, [sp, #0x18]
+            cmp     w19, w1
+            bge     G_M1409_IG05
+                       ;; size=44 bbWeight=0.01 PerfScore 0.09
+G_M1409_IG04:        ; bbWeight=99.99, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w20, w19, #1
+            mov     w1, w20
+            mov     w0, w19
+            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
+            sxtw    w19, w20
+            mov     w0, #0xD1FFAB1E
+            cmp     w19, w0
+            blt     G_M1409_IG04
+                       ;; size=48 bbWeight=99.99 PerfScore 949.90
+G_M1409_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             add     sp, sp, #48
             ret     lr
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 88, prolog size 12, PerfScore 899.97, instruction count 22, allocated bytes for code 88 (MethodHash=e674fa7e) for method IfStatements.IfStatements:AndArray():this (Tier1-OSR)
+; Total bytes of code 136, prolog size 12, PerfScore 950.06, instruction count 34, allocated bytes for code 136 (MethodHash=e674fa7e) for method IfStatements.IfStatements:AndArray():this (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -58,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 22 (0x00016) Actual length = 88 (0x000058)
+  Function Length   : 34 (0x00022) Actual length = 136 (0x000088)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -66,7 +80,7 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
     83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
     03          alloc_s #3 (0x03); sub sp, sp, #48 (0x030)
     E4          end
  
  
benchmarks.run_tiered.linux.arm64.checked.mch
-12 (-4.41%) : 52716.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
@@ -8,28 +8,33 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] ( 13, 12   )     ref  ->  x19         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
-;  V01 loc0         [V01,T09] (  3,  2.50)     int  ->   x0        
-;  V02 loc1         [V02,T06] (  3,  4.50)     ref  ->  x22         class-hnd <System.__Canon>
+;  V00 this         [V00,T00] ( 13,  9   )     ref  ->  x19         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
+;  V01 loc0         [V01,T13] (  3,  2.50)     int  ->   x0        
+;  V02 loc1         [V02,T08] (  3,  1.50)     ref  ->  x21         class-hnd <System.__Canon>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T00] (  2, 16   )    long  ->   x1         "spilling helperCall"
+;  V04 tmp1         [V04,T02] (  2,  4   )    long  ->   x1         "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V07 cse0         [V07,T05] (  2,  5   )    long  ->  x20         hoist "CSE - aggressive"
-;  V08 cse1         [V08,T03] (  4,  6   )   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V09 rat0         [V09,T07] (  3,  4.40)    long  ->   x0         "Spilling to split statement for tree"
-;  V10 rat1         [V10,T08] (  3,  4   )    long  ->  x20         "runtime lookup"
-;  V11 rat2         [V11,T04] (  3,  5.60)    long  ->  x20         "fgMakeTemp is creating a new local variable"
-;  V12 rat3         [V12,T02] (  3, 12   )     ref  ->   x2         "delegate invoke call"
+;  V07 cse0         [V07,T14] (  2,  2   )    long  ->  x20         hoist "CSE - aggressive"
+;  V08 rat0         [V08,T09] (  3,  4.40)    long  ->   x0         "Spilling to split statement for tree"
+;  V09 rat1         [V09,T10] (  3,  4   )    long  ->  x20         "runtime lookup"
+;  V10 rat2         [V10,T07] (  3,  5.60)    long  ->  x20         "fgMakeTemp is creating a new local variable"
+;* V11 rat3         [V11,T06] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V12 rat4         [V12,T11] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V13 rat5         [V13,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;* V14 rat6         [V14,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V15 rat7         [V15,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V16 rat8         [V16,T12] (  3,  3   )     ref  ->   x2         "delegate invoke call"
+;* V17 rat9         [V17,T04] (  0,  0   )     ref  ->  zero-ref    "delegate invoke call"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 8
 
 G_M34024_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-            str     x0, [fp, #0x18]
+            str     x0, [fp, #0x10]
             mov     x19, x0
             ; gcrRegs +[x19]
                        ;; size=24 bbWeight=1 PerfScore 5.00
@@ -46,9 +51,7 @@ G_M34024_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
 G_M34024_IG04:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ldr     x0, [x19, #0x18]
             ; gcrRegs +[x0]
-            add     x20, x19, #40
-            ; byrRegs +[x20]
-            mov     x8, x20
+            add     x8, x19, #40
             ; byrRegs +[x8]
             movz    x1, #0xD1FFAB1E      // code for System.Collections.Generic.List`1[System.__Canon]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.__Canon]:this
             movk    x1, #0xD1FFAB1E LSL #16
@@ -57,10 +60,10 @@ G_M34024_IG04:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             ldr     wzr, [x0]
             blr     x1
             ; gcrRegs -[x0]
-            ; byrRegs -[x8 x20]
+            ; byrRegs -[x8]
             mov     w0, #2
             str     w0, [x19, #0x14]
-                     ;; size=44 bbWeight=0.50 PerfScore 7.00
+                       ;; size=40 bbWeight=0.50 PerfScore 6.75
 G_M34024_IG05:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x19]
             ldr     x1, [x0, #0x38]
@@ -79,19 +82,14 @@ G_M34024_IG07:        ; bbWeight=0.20, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             mov     x20, x0
                        ;; size=20 bbWeight=0.20 PerfScore 0.60
 G_M34024_IG08:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            add     x0, x19, #40
-            ; byrRegs +[x0]
-            mov     x21, x0
-            ; byrRegs +[x21]
             b       G_M34024_IG10
-                        ;; size=12 bbWeight=1 PerfScore 2.00
-G_M34024_IG09:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21}, byref, isz
-            ; byrRegs -[x0]
-            ldr     x22, [x19, #0x30]
-            ; gcrRegs +[x22]
+                     ;; size=4 bbWeight=1 PerfScore 1.00
+G_M34024_IG09:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            ldr     x21, [x19, #0x30]
+            ; gcrRegs +[x21]
             ldr     x2, [x19, #0x20]
             ; gcrRegs +[x2]
-            mov     x1, x22
+            mov     x1, x21
             ; gcrRegs +[x1]
             ldr     x0, [x2, #0x08]
             ; gcrRegs +[x0]
@@ -100,11 +98,11 @@ G_M34024_IG09:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21
             blr     x2
             ; gcrRegs -[x0-x1]
             cbnz    w0, G_M34024_IG14
-                        ;; size=28 bbWeight=2 PerfScore 29.00
-G_M34024_IG10:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21}, byref, isz
-            ; gcrRegs -[x22]
+                     ;; size=28 bbWeight=0.50 PerfScore 7.25
+G_M34024_IG10:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x21]
             mov     x1, x20
-            mov     x0, x21
+            add     x0, x19, #40
             ; byrRegs +[x0]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
@@ -113,41 +111,40 @@ G_M34024_IG10:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21
             blr     x2
             ; byrRegs -[x0]
             cbnz    w0, G_M34024_IG09
-                        ;; size=32 bbWeight=4 PerfScore 30.00
-G_M34024_IG11:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x21]
+                     ;; size=32 bbWeight=1 PerfScore 7.50
+G_M34024_IG11:        ; bbWeight=0.12, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             str     xzr, [x19, #0x08]
             movn    w14, #0
             str     w14, [x19, #0x14]
-                        ;; size=12 bbWeight=0.50 PerfScore 1.25
+                       ;; size=12 bbWeight=0.12 PerfScore 0.31
 G_M34024_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M34024_IG13:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs +[x22]
+                     ;; size=16 bbWeight=0.50 PerfScore 2.50
+G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs +[x21]
             add     x14, x19, #8
             ; byrRegs +[x14]
-            mov     x15, x22
+            mov     x15, x21
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
-            ; gcrRegs -[x15 x22]
+            ; gcrRegs -[x15 x21]
             ; byrRegs -[x14]
             mov     w0, #1
                        ;; size=16 bbWeight=0.50 PerfScore 1.25
 G_M34024_IG15:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=16 bbWeight=0.50 PerfScore 2.50
 
-; Total bytes of code 272, prolog size 20, PerfScore 99.90, instruction count 68, allocated bytes for code 272 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
+; Total bytes of code 260, prolog size 20, PerfScore 54.46, instruction count 65, allocated bytes for code 260 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -158,7 +155,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 68 (0x00044) Actual length = 272 (0x000110)
+  Function Length   : 65 (0x00041) Actual length = 260 (0x000104)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -169,10 +166,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
-    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
-    E4          end
+    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
+    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
 
  
-4 (-2.17%) : 39335.dasm - System.Collections.Generic.HashSet`1+Enumerator[int]:MoveNext():ubyte:this (Tier1)
@@ -7,11 +7,12 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 13, 28   )   byref  ->   x0         this single-def
-;  V01 loc0         [V01,T03] (  3,  4.50)   byref  ->   x1        
-;  V02 loc1         [V02,T02] (  4,  8   )     int  ->   x2        
+;  V00 this         [V00,T00] ( 12,  8.25)   byref  ->   x0         this single-def
+;  V01 loc0         [V01,T03] (  3,  1   )   byref  ->   x1        
+;  V02 loc1         [V02,T02] (  4,  1   )     int  ->   x2        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T01] (  3, 12   )     ref  ->   x1         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V04 tmp1         [V04,T01] (  3,  1.50)     ref  ->   x1         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V05 cse0         [V05,T04] (  3,  2.50)     int  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -29,7 +30,7 @@ G_M21922_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             cmp     w1, w2
             bne     G_M21922_IG10
                        ;; size=20 bbWeight=1 PerfScore 10.50
-G_M21922_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+G_M21922_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ldr     w1, [x0, #0x0C]
             ldr     x2, [x0]
             ; gcrRegs +[x2]
@@ -37,27 +38,25 @@ G_M21922_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             ; gcrRegs -[x2]
             cmp     w1, w2
             blo     G_M21922_IG06
-                        ;; size=20 bbWeight=8 PerfScore 84.00
+                     ;; size=20 bbWeight=1 PerfScore 10.50
 G_M21922_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
-            ldr     x1, [x0]
-            ; gcrRegs +[x1]
-            ldr     w1, [x1, #0x28]
-            ; gcrRegs -[x1]
-            add     w1, w1, #1
+            add     w1, w2, #1
             stp     w1, wzr, [x0, #0x0C]
             mov     w0, wzr
             ; byrRegs -[x0]
-                      ;; size=20 bbWeight=0.50 PerfScore 4.00
+                       ;; size=12 bbWeight=0.50 PerfScore 1.00
 G_M21922_IG05:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M21922_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, gcvars, byref, isz
+G_M21922_IG06:        ; bbWeight=0.25, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, gcvars, byref, isz
             ; byrRegs +[x0]
-            ldr     x1, [x0]
+            ldr     x2, [x0]
+            ; gcrRegs +[x2]
+            ldr     x1, [x2, #0x10]
             ; gcrRegs +[x1]
-            ldr     x1, [x1, #0x10]
             ldr     w2, [x0, #0x0C]
+            ; gcrRegs -[x2]
             add     w3, w2, #1
             str     w3, [x0, #0x0C]
             ldr     w3, [x1, #0x08]
@@ -71,8 +70,9 @@ G_M21922_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; byrRegs +[x1]
             ldr     w2, [x1, #0x04]
             cmn     w2, #1
-            blt     G_M21922_IG03
-                       ;; size=60 bbWeight=2 PerfScore 52.00
+            bge     G_M21922_IG07
+            b       G_M21922_IG03
+                       ;; size=64 bbWeight=0.25 PerfScore 6.75
 G_M21922_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0003 {x0 x1}, byref
             ldr     w1, [x1, #0x08]
             ; byrRegs -[x1]
@@ -98,7 +98,7 @@ G_M21922_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 184, prolog size 8, PerfScore 156.25, instruction count 46, allocated bytes for code 184 (MethodHash=7a0aaa5d) for method System.Collections.Generic.HashSet`1+Enumerator[int]:MoveNext():ubyte:this (Tier1)
+; Total bytes of code 180, prolog size 8, PerfScore 34.50, instruction count 45, allocated bytes for code 180 (MethodHash=7a0aaa5d) for method System.Collections.Generic.HashSet`1+Enumerator[int]:MoveNext():ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -109,7 +109,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 46 (0x0002e) Actual length = 184 (0x0000b8)
+  Function Length   : 45 (0x0002d) Actual length = 180 (0x0000b4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-2.13%) : 47687.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
@@ -7,12 +7,13 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 13, 28   )   byref  ->   x0         this single-def
+;  V00 this         [V00,T00] ( 12,  8.25)   byref  ->   x0         this single-def
 ;* V01 TypeCtx      [V01    ] (  0,  0   )    long  ->  zero-ref    single-def
-;  V02 loc0         [V02,T03] (  3,  4.50)   byref  ->  x14        
-;  V03 loc1         [V03,T02] (  4,  8   )     int  ->  x15        
+;  V02 loc0         [V02,T03] (  3,  1   )   byref  ->  x14        
+;  V03 loc1         [V03,T02] (  4,  1   )     int  ->  x15        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T01] (  3, 12   )     ref  ->  x14         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V05 tmp1         [V05,T01] (  3,  1.50)     ref  ->  x14         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V06 cse0         [V06,T04] (  3,  2.50)     int  ->  x15         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -30,7 +31,7 @@ G_M27287_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             cmp     w14, w15
             bne     G_M27287_IG10
                        ;; size=20 bbWeight=1 PerfScore 10.50
-G_M27287_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+G_M27287_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ldr     w14, [x0, #0x14]
             ldr     x15, [x0]
             ; gcrRegs +[x15]
@@ -38,28 +39,26 @@ G_M27287_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             ; gcrRegs -[x15]
             cmp     w14, w15
             blo     G_M27287_IG06
-                        ;; size=20 bbWeight=8 PerfScore 84.00
+                     ;; size=20 bbWeight=1 PerfScore 10.50
 G_M27287_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
-            ldr     x14, [x0]
-            ; gcrRegs +[x14]
-            ldr     w14, [x14, #0x28]
-            ; gcrRegs -[x14]
-            add     w14, w14, #1
+            add     w14, w15, #1
             str     w14, [x0, #0x14]
             str     xzr, [x0, #0x08]
             mov     w0, wzr
             ; byrRegs -[x0]
-                      ;; size=24 bbWeight=0.50 PerfScore 4.50
+                       ;; size=16 bbWeight=0.50 PerfScore 1.50
 G_M27287_IG05:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M27287_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, gcvars, byref, isz
+G_M27287_IG06:        ; bbWeight=0.25, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, gcvars, byref, isz
             ; byrRegs +[x0]
-            ldr     x14, [x0]
+            ldr     x15, [x0]
+            ; gcrRegs +[x15]
+            ldr     x14, [x15, #0x10]
             ; gcrRegs +[x14]
-            ldr     x14, [x14, #0x10]
             ldr     w15, [x0, #0x14]
+            ; gcrRegs -[x15]
             add     w12, w15, #1
             str     w12, [x0, #0x14]
             ldr     w12, [x14, #0x08]
@@ -72,8 +71,9 @@ G_M27287_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; byrRegs +[x14]
             ldr     w15, [x14, #0x0C]
             cmn     w15, #1
-            blt     G_M27287_IG03
-                       ;; size=56 bbWeight=2 PerfScore 43.00
+            bge     G_M27287_IG07
+            b       G_M27287_IG03
+                       ;; size=60 bbWeight=0.25 PerfScore 5.62
 G_M27287_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=4001 {x0 x14}, byref
             ldr     x15, [x14]
             ; gcrRegs +[x15]
@@ -101,7 +101,7 @@ G_M27287_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 188, prolog size 8, PerfScore 148.00, instruction count 47, allocated bytes for code 188 (MethodHash=08a69568) for method System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
+; Total bytes of code 184, prolog size 8, PerfScore 34.12, instruction count 46, allocated bytes for code 184 (MethodHash=08a69568) for method System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -112,7 +112,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 47 (0x0002f) Actual length = 188 (0x0000bc)
+  Function Length   : 46 (0x0002e) Actual length = 184 (0x0000b8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+57.14%) : 29127.dasm - System.DateTimeFormat:ParseRepeatPattern(System.ReadOnlySpan`1[ushort],int,ushort):int (Tier1)
@@ -8,12 +8,13 @@
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[ushort]>
-;  V01 arg1         [V01,T04] (  4,  4   )     int  ->   x2         single-def
-;  V02 arg2         [V02,T02] (  3,  6   )  ushort  ->   x3         single-def
-;  V03 loc0         [V03,T00] (  6, 18   )     int  ->   x4        
+;  V01 arg1         [V01,T03] (  4,  4   )     int  ->   x2         single-def
+;  V02 arg2         [V02,T05] (  3,  2.50)  ushort  ->   x3         single-def
+;  V03 loc0         [V03,T00] ( 10, 20   )     int  ->   x4        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T03] (  2,  5   )   byref  ->   x0         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
-;  V06 tmp2         [V06,T01] (  2,  9   )     int  ->   x1         single-def "field V00._length (fldOffset=0x8)" P-INDEP
+;  V05 tmp1         [V05,T02] (  3,  5.50)   byref  ->   x0         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
+;  V06 tmp2         [V06,T01] (  3, 10   )     int  ->   x1         single-def "field V00._length (fldOffset=0x8)" P-INDEP
+;  V07 cse0         [V07,T04] (  3,  5   )     int  ->   x3         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -26,29 +27,47 @@ G_M43086_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             add     w4, w2, #1
             b       G_M43086_IG04
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M43086_IG03:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+G_M43086_IG03:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+            add     w4, w4, #1
+            b       G_M43086_IG08
+                       ;; size=8 bbWeight=0.25 PerfScore 0.38
+G_M43086_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            cmp     w4, w1
+            bhs     G_M43086_IG10
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M43086_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            ldrh    w5, [x0, w4, UXTW #2]
+            uxth    w3, w3
+            cmp     w5, w3
+            beq     G_M43086_IG03
+                       ;; size=16 bbWeight=0.50 PerfScore 2.50
+G_M43086_IG06:        ; bbWeight=0.12, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x0]
+            b       G_M43086_IG10
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M43086_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+            ; byrRegs +[x0]
             add     w4, w4, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M43086_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+G_M43086_IG08:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             cmp     w4, w1
-            bhs     G_M43086_IG06
+            bhs     G_M43086_IG10
                      ;; size=8 bbWeight=8 PerfScore 12.00
-G_M43086_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+G_M43086_IG09:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ldrh    w5, [x0, w4, UXTW #2]
-            uxth    w6, w3
-            cmp     w5, w6
-            beq     G_M43086_IG03
-                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M43086_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            cmp     w5, w3
+            beq     G_M43086_IG07
+                       ;; size=12 bbWeight=4 PerfScore 18.00
+G_M43086_IG10:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; byrRegs -[x0]
             sub     w0, w4, w2
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M43086_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M43086_IG11:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 56, prolog size 8, PerfScore 38.50, instruction count 14, allocated bytes for code 56 (MethodHash=781b57b1) for method System.DateTimeFormat:ParseRepeatPattern(System.ReadOnlySpan`1[ushort],int,ushort):int (Tier1)
+; Total bytes of code 88, prolog size 8, PerfScore 41.00, instruction count 22, allocated bytes for code 88 (MethodHash=781b57b1) for method System.DateTimeFormat:ParseRepeatPattern(System.ReadOnlySpan`1[ushort],int,ushort):int (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -59,7 +78,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
+  Function Length   : 22 (0x00016) Actual length = 88 (0x000058)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+61.54%) : 47873.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+PackedFlags:SetIsUseSiteDiagnosticPopulated():this (Tier1)
@@ -8,12 +8,12 @@
 ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  5, 15   )   byref  ->   x0         this single-def
+;  V00 this         [V00,T02] (  7, 16.50)   byref  ->   x0         this single-def
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V03 tmp2         [V03,T03] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V04 tmp3         [V04,T00] (  5, 32   )     int  ->   x1         "Inline stloc first use temp"
-;  V05 tmp4         [V05,T01] (  3, 20   )     int  ->   x2         "Inline stloc first use temp"
+;  V04 tmp3         [V04,T00] ( 10, 36   )     int  ->   x1         "Inline stloc first use temp"
+;  V05 tmp4         [V05,T01] (  6, 22.50)     int  ->   x2         "Inline stloc first use temp"
 ;
 ; Lcl frame size = 0
 
@@ -21,29 +21,39 @@ G_M11989_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M11989_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+G_M11989_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ; byrRegs +[x0]
             ldrsb   wzr, [x0]
-                        ;; size=4 bbWeight=1 PerfScore 3.00
-G_M11989_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ldr     w1, [x0]
             orr     w2, w1, #0xD1FFAB1E
             cmp     w2, w1
-            beq     G_M11989_IG05
-                       ;; size=16 bbWeight=8 PerfScore 40.00
-G_M11989_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            beq     G_M11989_IG06
+                       ;; size=20 bbWeight=1 PerfScore 8.00
+G_M11989_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             mov     w3, w1
             casal   w3, w2, [x0]
             cmp     w3, w1
-            bne     G_M11989_IG03
+            beq     G_M11989_IG06
+                       ;; size=16 bbWeight=0.50 PerfScore 2.50
+G_M11989_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            ldr     w1, [x0]
+            orr     w2, w1, #0xD1FFAB1E
+            cmp     w2, w1
+            beq     G_M11989_IG06
+                       ;; size=16 bbWeight=8 PerfScore 40.00
+G_M11989_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            mov     w3, w1
+            casal   w3, w2, [x0]
+            cmp     w3, w1
+            bne     G_M11989_IG04
                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M11989_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M11989_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; byrRegs -[x0]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 52, prolog size 8, PerfScore 66.50, instruction count 13, allocated bytes for code 52 (MethodHash=acc9d12a) for method Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+PackedFlags:SetIsUseSiteDiagnosticPopulated():this (Tier1)
+; Total bytes of code 84, prolog size 8, PerfScore 74.00, instruction count 21, allocated bytes for code 84 (MethodHash=acc9d12a) for method Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+PackedFlags:SetIsUseSiteDiagnosticPopulated():this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -54,7 +64,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 13 (0x0000d) Actual length = 52 (0x000034)
+  Function Length   : 21 (0x00015) Actual length = 84 (0x000054)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+61.54%) : 47867.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+PackedFlags:SetIsUnmanagedCallersOnlyAttributePopulated():this (Tier1)
@@ -8,12 +8,12 @@
 ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  5, 15   )   byref  ->   x0         this single-def
+;  V00 this         [V00,T02] (  7, 16.50)   byref  ->   x0         this single-def
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V03 tmp2         [V03,T03] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V04 tmp3         [V04,T00] (  5, 32   )     int  ->   x1         "Inline stloc first use temp"
-;  V05 tmp4         [V05,T01] (  3, 20   )     int  ->   x2         "Inline stloc first use temp"
+;  V04 tmp3         [V04,T00] ( 10, 36   )     int  ->   x1         "Inline stloc first use temp"
+;  V05 tmp4         [V05,T01] (  6, 22.50)     int  ->   x2         "Inline stloc first use temp"
 ;
 ; Lcl frame size = 0
 
@@ -21,29 +21,39 @@ G_M48426_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M48426_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+G_M48426_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ; byrRegs +[x0]
             ldrsb   wzr, [x0]
-                        ;; size=4 bbWeight=1 PerfScore 3.00
-G_M48426_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ldr     w1, [x0]
             orr     w2, w1, #0xD1FFAB1E
             cmp     w2, w1
-            beq     G_M48426_IG05
-                       ;; size=16 bbWeight=8 PerfScore 40.00
-G_M48426_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            beq     G_M48426_IG06
+                       ;; size=20 bbWeight=1 PerfScore 8.00
+G_M48426_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             mov     w3, w1
             casal   w3, w2, [x0]
             cmp     w3, w1
-            bne     G_M48426_IG03
+            beq     G_M48426_IG06
+                       ;; size=16 bbWeight=0.50 PerfScore 2.50
+G_M48426_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            ldr     w1, [x0]
+            orr     w2, w1, #0xD1FFAB1E
+            cmp     w2, w1
+            beq     G_M48426_IG06
+                       ;; size=16 bbWeight=8 PerfScore 40.00
+G_M48426_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            mov     w3, w1
+            casal   w3, w2, [x0]
+            cmp     w3, w1
+            bne     G_M48426_IG04
                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M48426_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M48426_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; byrRegs -[x0]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 52, prolog size 8, PerfScore 66.50, instruction count 13, allocated bytes for code 52 (MethodHash=9c5542d5) for method Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+PackedFlags:SetIsUnmanagedCallersOnlyAttributePopulated():this (Tier1)
+; Total bytes of code 84, prolog size 8, PerfScore 74.00, instruction count 21, allocated bytes for code 84 (MethodHash=9c5542d5) for method Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+PackedFlags:SetIsUnmanagedCallersOnlyAttributePopulated():this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -54,7 +64,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 13 (0x0000d) Actual length = 52 (0x000034)
+  Function Length   : 21 (0x00015) Actual length = 84 (0x000054)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
coreclr_tests.run.linux.arm64.checked.mch
-36 (-17.65%) : 528797.dasm - Benchstone.BenchI.BubbleSort2:Bench():ubyte (FullOpts)
@@ -7,24 +7,22 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T06] (  5,  5   )     ref  ->   x0         class-hnd exact single-def <int[]>
-;  V01 loc1         [V01,T00] ( 12, 65.84)     int  ->  x19        
-;  V02 loc2         [V02,T01] (  8, 43   )     int  ->   x1        
-;* V03 loc3         [V03,T07] (  0,  0   )     int  ->  zero-ref    single-def
+;  V00 loc0         [V00,T03] (  5,  5   )     ref  ->   x0         class-hnd exact single-def <int[]>
+;  V01 loc1         [V01,T00] (  5, 16.84)     int  ->   x0        
+;  V02 loc2         [V02,T04] (  3,  3   )     int  ->   x1        
+;* V03 loc3         [V03,T05] (  0,  0   )     int  ->  zero-ref    single-def
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 cse0         [V05,T02] (  6, 32.92)   byref  ->  x20         hoist "CSE - aggressive"
-;  V06 cse1         [V06,T03] (  2, 16   )     int  ->   x2         "CSE - aggressive"
-;  V07 cse2         [V07,T04] (  2, 16   )     int  ->   x2         "CSE - aggressive"
-;  V08 cse3         [V08,T05] (  3, 11.88)     int  ->  x19         "CSE - aggressive"
+;  V05 cse0         [V05,T01] (  8, 13.92)   byref  ->  x19         "CSE - aggressive"
+;  V06 cse1         [V06,T02] (  3, 11.88)     int  ->   x0         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M42106_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x20]!
-            stp     x19, x20, [sp, #0x10]
+            str     x19, [sp, #0x18]
             mov     fp, sp
                        ;; size=12 bbWeight=1 PerfScore 2.50
-G_M42106_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42106_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -32,32 +30,16 @@ G_M42106_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_NEWARR_1_VC
             ; gcrRegs +[x0]
             ; gcr arg pop 0
+            add     x19, x0, #16
+            ; byrRegs +[x19]
+            mov     w1, #0xD1FFAB1E
+            str     w1, [x19, #0x04]
+            mov     w1, #0xD1FFAB1E
+            str     w1, [x19, #0x08]
+            mov     w1, #0xD1FFAB1E
+            str     w1, [x19, #0x0C]
             movz    w1, #0xD1FFAB1E
-            movk    w1, #1 LSL #16
-            mov     w19, #1
-            add     x20, x0, #16
-            ; byrRegs +[x20]
-                       ;; size=36 bbWeight=1 PerfScore 5.00
-G_M42106_IG03:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20}, byref, isz
-            and     w2, w1, #0xD1FFAB1E
-            str     w2, [x20, w19, UXTW #2]
-            add     w2, w19, #1
-            mov     w3, #0xD1FFAB1E
-            add     w3, w1, w3
-            and     w3, w3, #0xD1FFAB1E
-            str     w3, [x20, w2, UXTW #2]
-            add     w2, w19, #2
-            mov     w3, #0xD1FFAB1E
-            add     w3, w1, w3
-            and     w3, w3, #0xD1FFAB1E
-            str     w3, [x20, w2, UXTW #2]
-            mov     w2, #0xD1FFAB1E
-            add     w1, w1, w2
-            add     w19, w19, #3
-            cmp     w19, #3
-            ble     G_M42106_IG03
-                       ;; size=68 bbWeight=8 PerfScore 84.00
-G_M42106_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20}, byref
+            movk    w1, #2 LSL #16
             stp     w1, w1, [x0, #0x20]
             movz    x1, #0xD1FFAB1E      // code for Benchstone.BenchI.BubbleSort2:Inner(int[])
             movk    x1, #0xD1FFAB1E LSL #16
@@ -66,36 +48,39 @@ G_M42106_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20},
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            mov     w19, wzr
-                       ;; size=28 bbWeight=1 PerfScore 7.00
-G_M42106_IG05:        ; bbWeight=3.96, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
-            ldr     w0, [x20, w19, UXTW #2]
-            add     w19, w19, #1
-            ldr     w1, [x20, w19, UXTW #2]
+            ldp     w0, w1, [x19]
             cmp     w0, w1
-            bgt     G_M42106_IG08
-            cmp     w19, #4
-            blt     G_M42106_IG05
+            bgt     G_M42106_IG06
+            mov     w0, #1
+                       ;; size=96 bbWeight=1 PerfScore 20.50
+G_M42106_IG03:        ; bbWeight=3.96, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
+            ldr     w1, [x19, w0, UXTW #2]
+            add     w0, w0, #1
+            ldr     w2, [x19, w0, UXTW #2]
+            cmp     w1, w2
+            bgt     G_M42106_IG06
+            cmp     w0, #4
+            blt     G_M42106_IG03
                       ;; size=28 bbWeight=3.96 PerfScore 37.62
-G_M42106_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x20]
+G_M42106_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x19]
             mov     w0, #1
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M42106_IG07:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x19, x20, [sp, #0x10]
+G_M42106_IG05:        ; bbWeight=0.50, epilog, nogc, extend
+            ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
-                       ;; size=12 bbWeight=0.50 PerfScore 1.50
-G_M42106_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M42106_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M42106_IG09:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x19, x20, [sp, #0x10]
+G_M42106_IG07:        ; bbWeight=0.50, epilog, nogc, extend
+            ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
-                       ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 204, prolog size 12, PerfScore 139.87, instruction count 51, allocated bytes for code 204 (MethodHash=86305b85) for method Benchstone.BenchI.BubbleSort2:Bench():ubyte (FullOpts)
+; Total bytes of code 168, prolog size 12, PerfScore 65.37, instruction count 42, allocated bytes for code 168 (MethodHash=86305b85) for method Benchstone.BenchI.BubbleSort2:Bench():ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -106,7 +91,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 51 (0x00033) Actual length = 204 (0x0000cc)
+  Function Length   : 42 (0x0002a) Actual length = 168 (0x0000a8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -117,7 +102,7 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
     83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
     E4          end
     E4          end
  
-12 (-15.79%) : 572977.dasm - ILGEN_0xa2afe952:Main():int (FullOpts)
@@ -9,53 +9,46 @@
 ;
 ;# V00 OutArgs      [V00    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V01 tmp1         [V01    ] (  0,  0   )     int  ->  zero-ref   
-;  V02 tmp2         [V02,T01] (  4, 25   )     int  ->   x0        
-;  V03 tmp3         [V03,T00] (  2, 32   )     int  ->   x0         "dup spill"
+;* V02 tmp2         [V02,T01] (  0,  0   )     int  ->  zero-ref   
+;* V03 tmp3         [V03,T02] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;* V04 tmp4         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
-;  V05 PSPSym       [V05,T02] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
+;  V05 PSPSym       [V05,T00] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
 ;
 ; Lcl frame size = 16
 
-G_M9138_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
+G_M9138_IG01:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x20]!
             mov     fp, sp
             add     x0, sp, #32
             str     x0, [fp, #0x18]    // [V05 PSPSym]
-                       ;; size=16 bbWeight=1 PerfScore 3.00
-G_M9138_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #1
-                       ;; size=4 bbWeight=1 PerfScore 0.50
-G_M9138_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            sub     w0, w0, #1
-            cbnz    w0, G_M9138_IG03
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M9138_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=16 bbWeight=0 PerfScore 0.00
+G_M9138_IG02:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #1
             bl      CORINFO_HELP_OVERFLOW
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=12 bbWeight=0 PerfScore 0.00
-G_M9138_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M9138_IG03:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #100
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M9138_IG06:        ; bbWeight=0, epilog, nogc, extend
+G_M9138_IG04:        ; bbWeight=0, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=8 bbWeight=0 PerfScore 0.00
-G_M9138_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M9138_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x20]!
             add     x3, fp, #32
             str     x3, [sp, #0x18]
                        ;; size=12 bbWeight=0 PerfScore 0.00
-G_M9138_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            adr     x0, [G_M9138_IG05]
+G_M9138_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            adr     x0, [G_M9138_IG03]
                      ;; size=4 bbWeight=0 PerfScore 0.00
-G_M9138_IG09:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M9138_IG07:        ; bbWeight=0, funclet epilog, nogc, extend
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 76, prolog size 16, PerfScore 15.50, instruction count 19, allocated bytes for code 76 (MethodHash=5517dc4d) for method ILGEN_0xa2afe952:Main():int (FullOpts)
+; Total bytes of code 64, prolog size 16, PerfScore 0.00, instruction count 16, allocated bytes for code 64 (MethodHash=5517dc4d) for method ILGEN_0xa2afe952:Main():int (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -66,7 +59,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 13 (0x0000d) Actual length = 52 (0x000034)
+  Function Length   : 10 (0x0000a) Actual length = 40 (0x000028)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -97,4 +90,4 @@ Unwind Info:
 
 *************** EH table for ILGEN_0xa2afe952:Main():int
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M9138_IG02..G_M9138_IG05) handled by [G_M9138_IG07..END) (class: 1000003)
+EH#0: try [G_M9138_IG02..G_M9138_IG03) handled by [G_M9138_IG05..END) (class: 1000003)
  
-40 (-14.49%) : 227681.dasm - BringUpTest_LocallocCnstB1_PSP:LocallocCnstB1_PSP():int (Tier0-FullOpts)
@@ -7,39 +7,37 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T01] (  3, 10   )    long  ->  x19         single-def
-;  V01 loc1         [V01,T00] (  7, 42   )     int  ->  [fp+0x1C]  do-not-enreg[Z] EH-live ptr
+;  V00 loc0         [V00,T01] (  3,  3   )    long  ->   x0         single-def
+;  V01 loc1         [V01,T00] (  3,  3   )     int  ->  [fp+0x14]  do-not-enreg[Z] EH-live ptr
 ;* V02 loc2         [V02    ] (  0,  0   )     int  ->  zero-ref    ptr
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04    ] (  1,  1   )  struct ( 8) [fp+0x20]  do-not-enreg[XS] must-init addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
+;  V04 tmp1         [V04    ] (  1,  1   )  struct ( 8) [fp+0x18]  do-not-enreg[XS] must-init addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
 ;* V05 tmp2         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
-;  V06 GsCookie     [V06    ] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
-;  V07 PSPSym       [V07,T02] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
+;  V06 GsCookie     [V06    ] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
+;  V07 PSPSym       [V07,T02] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 32
 
 G_M42836_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            str     x19, [sp, #0x38]
+            stp     fp, lr, [sp, #-0x30]!
             mov     fp, sp
-            str     xzr, [fp, #0x20]    // [V04 tmp1]
-            add     x0, sp, #64
-            str     x0, [fp, #0x30]    // [V07 PSPSym]
+            str     xzr, [fp, #0x18]   // [V04 tmp1]
+            add     x0, sp, #48
+            str     x0, [fp, #0x28]    // [V07 PSPSym]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movk    x0, #0xD1FFAB1E LSL #48
-            str     x0, [fp, #0x28]   // [V06 GsCookie]
-                       ;; size=44 bbWeight=1 PerfScore 8.00
+            str     x0, [fp, #0x20]   // [V06 GsCookie]
+                       ;; size=40 bbWeight=1 PerfScore 7.00
 G_M42836_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x19, fp, #32   // [V04 tmp1]
-            strb    wzr, [x19]
-            str     wzr, [fp, #0x1C]   // [V01 loc1]
+            add     x0, fp, #24  // [V04 tmp1]
+            strb    wzr, [x0]
+            str     wzr, [fp, #0x14]   // [V01 loc1]
                        ;; size=12 bbWeight=1 PerfScore 2.50
-G_M42836_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ldr     w0, [fp, #0x1C]    // [V01 loc1]
-            ldrb    w0, [x19, w0, SXTW #2]
-            ldrb    w1, [fp, #0x1C]    // [V01 loc1]
+G_M42836_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            ldrb    w0, [x0]
+            mov     w1, wzr
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
@@ -47,53 +45,46 @@ G_M42836_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             blr     x2
             ; gcr arg pop 0
             cbz     w0, G_M42836_IG06
-            ldr     w0, [fp, #0x1C] // [V01 loc1]
-            add     w0, w0, #1
-            str     w0, [fp, #0x1C]    // [V01 loc1]
-            ldr     w0, [fp, #0x1C]    // [V01 loc1]
-            cmp     w0, #0
-            ble     G_M42836_IG03
-                       ;; size=60 bbWeight=8 PerfScore 164.00
+            mov     w0, #1
+            str     w0, [fp, #0x14]    // [V01 loc1]
+                       ;; size=40 bbWeight=1 PerfScore 11.50
 G_M42836_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             movn    w0, #0
             movz    xip0, #0xD1FFAB1E
             movk    xip0, #0xD1FFAB1E LSL #16
             movk    xip0, #0xD1FFAB1E LSL #32
             movk    xip0, #0xD1FFAB1E LSL #48
-            ldr     xip1, [fp, #0x28]   // [V06 GsCookie]
+            ldr     xip1, [fp, #0x20]    // [V06 GsCookie]
             cmp     xip0, xip1
             beq     G_M42836_IG05
             bl      CORINFO_HELP_FAIL_FAST
             ; gcr arg pop 0
                        ;; size=36 bbWeight=1 PerfScore 7.00
 G_M42836_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldr     x19, [sp, #0x38]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=12 bbWeight=1 PerfScore 4.00
+                      ;; size=8 bbWeight=1 PerfScore 2.00
 G_M42836_IG06:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldr     w0, [fp, #0x1C]    // [V01 loc1]
+            ldr     w0, [fp, #0x14]  // [V01 loc1]
             movz    xip0, #0xD1FFAB1E
             movk    xip0, #0xD1FFAB1E LSL #16
             movk    xip0, #0xD1FFAB1E LSL #32
             movk    xip0, #0xD1FFAB1E LSL #48
-            ldr     xip1, [fp, #0x28]   // [V06 GsCookie]
+            ldr     xip1, [fp, #0x20]    // [V06 GsCookie]
             cmp     xip0, xip1
             beq     G_M42836_IG07
             bl      CORINFO_HELP_FAIL_FAST
             ; gcr arg pop 0
                        ;; size=36 bbWeight=1 PerfScore 8.50
 G_M42836_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldr     x19, [sp, #0x38]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=12 bbWeight=1 PerfScore 4.00
+                      ;; size=8 bbWeight=1 PerfScore 2.00
 G_M42836_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x20]!
-            str     x19, [sp, #0x18]
-            add     x3, fp, #64
-            str     x3, [sp, #0x10]
-                       ;; size=16 bbWeight=0 PerfScore 0.00
+            add     x3, fp, #48
+            str     x3, [sp, #0x18]
+                       ;; size=12 bbWeight=0 PerfScore 0.00
 G_M42836_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -107,23 +98,22 @@ G_M42836_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             adr     x0, [G_M42836_IG06]
                        ;; size=36 bbWeight=0 PerfScore 0.00
 G_M42836_IG10:        ; bbWeight=0, funclet epilog, nogc, extend
-            ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
-                       ;; size=12 bbWeight=0 PerfScore 0.00
+                      ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 276, prolog size 44, PerfScore 198.00, instruction count 69, allocated bytes for code 276 (MethodHash=452858ab) for method BringUpTest_LocallocCnstB1_PSP:LocallocCnstB1_PSP():int (Tier0-FullOpts)
+; Total bytes of code 236, prolog size 40, PerfScore 40.50, instruction count 59, allocated bytes for code 236 (MethodHash=452858ab) for method BringUpTest_LocallocCnstB1_PSP:LocallocCnstB1_PSP():int (Tier0-FullOpts)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 2
+  Code Words        : 1
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 53 (0x00035) Actual length = 212 (0x0000d4)
+  Function Length   : 45 (0x0002d) Actual length = 180 (0x0000b4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -134,10 +124,7 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 07       save_reg X#0 Z#7 (0x07); str x19, [sp, #56]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
-    E4          end
-    E4          end
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
 
@@ -149,13 +136,14 @@ Unwind Info:
   E bit             : 1
   X bit             : 0
   Vers              : 0
-  Function Length   : 16 (0x00010) Actual length = 64 (0x000040)
+  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
   --- One epilog, unwind codes at 0
   ---- Unwind codes ----
     ---- Epilog start at index 0 ----
-    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
     83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
     E4          end
+    E4          end
+    E4          end
 
 *************** EH table for BringUpTest_LocallocCnstB1_PSP:LocallocCnstB1_PSP():int
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
  
+24 (+60.00%) : 417518.dasm - Internal.TypeSystem.ThreadSafeFlags:AddFlags(int):this (Tier1)
@@ -8,9 +8,9 @@
 ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 55376
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  4,  4   )   byref  ->   x0         this single-def
-;  V01 arg1         [V01,T01] (  3,  3   )     int  ->   x1         single-def
-;  V02 loc0         [V02,T02] (  4,  4   )     int  ->   x2        
+;  V00 this         [V00,T01] (  6,  6   )   byref  ->   x0         this single-def
+;  V01 arg1         [V01,T02] (  4,  4   )     int  ->   x1         single-def
+;  V02 loc0         [V02,T00] (  8,  8   )     int  ->   x2        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -26,14 +26,23 @@ G_M63594_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             mov     w4, w2
             casal   w4, w3, [x0]
             cmp     w4, w2
-            bne     G_M63594_IG02
+            beq     G_M63594_IG04
                        ;; size=24 bbWeight=1 PerfScore 8.50
-G_M63594_IG03:        ; bbWeight=1, epilog, nogc, extend
+G_M63594_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            ldapr   w2, [x0]
+            orr     w3, w2, w1
+            mov     w4, w2
+            casal   w4, w3, [x0]
+            cmp     w4, w2
+            bne     G_M63594_IG03
+                       ;; size=24 bbWeight=1 PerfScore 8.50
+G_M63594_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ; byrRegs -[x0]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 40, prolog size 8, PerfScore 12.00, instruction count 10, allocated bytes for code 40 (MethodHash=749f0795) for method Internal.TypeSystem.ThreadSafeFlags:AddFlags(int):this (Tier1)
+; Total bytes of code 64, prolog size 8, PerfScore 20.50, instruction count 16, allocated bytes for code 64 (MethodHash=749f0795) for method Internal.TypeSystem.ThreadSafeFlags:AddFlags(int):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -44,7 +53,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 10 (0x0000a) Actual length = 40 (0x000028)
+  Function Length   : 16 (0x00010) Actual length = 64 (0x000040)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+36 (+64.29%) : 621841.dasm - OVFTest:Test_short(short):short (FullOpts)
@@ -7,9 +7,9 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  4, 18   )   short  ->   x0        
+;  V00 arg0         [V00,T01] (  6, 20   )   short  ->   x0        
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V02 tmp1         [V02,T00] (  2, 32   )     int  ->   x0         "arg temp"
+;  V02 tmp1         [V02,T00] (  4, 36   )     int  ->   x0         "arg temp"
 ;
 ; Lcl frame size = 0
 
@@ -17,7 +17,7 @@ G_M33961_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M33961_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M33961_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             sxth    w0, w0
             scvtf   d0, w0
             fmov    d16, #2.0000
@@ -25,18 +25,30 @@ G_M33961_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             bl      CORINFO_HELP_DBL2INT_OVF
             ; gcr arg pop 0
             cmp     w0, #8, LSL #12
-            bge     G_M33961_IG03
+            bge     G_M33961_IG04
             cmn     w0, #8, LSL #12
-            blt     G_M33961_IG03
-            b       G_M33961_IG02
+            blt     G_M33961_IG04
+                       ;; size=36 bbWeight=1 PerfScore 12.00
+G_M33961_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            sxth    w0, w0
+            scvtf   d0, w0
+            fmov    d16, #2.0000
+            fmul    d0, d0, d16
+            bl      CORINFO_HELP_DBL2INT_OVF
+            ; gcr arg pop 0
+            cmp     w0, #8, LSL #12
+            bge     G_M33961_IG04
+            cmn     w0, #8, LSL #12
+            blt     G_M33961_IG04
+            b       G_M33961_IG03
                       ;; size=40 bbWeight=8 PerfScore 104.00
-G_M33961_IG03:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M33961_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_OVERFLOW
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 56, prolog size 8, PerfScore 105.50, instruction count 14, allocated bytes for code 56 (MethodHash=082c7b56) for method OVFTest:Test_short(short):short (FullOpts)
+; Total bytes of code 92, prolog size 8, PerfScore 117.50, instruction count 23, allocated bytes for code 92 (MethodHash=082c7b56) for method OVFTest:Test_short(short):short (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -47,7 +59,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
+  Function Length   : 23 (0x00017) Actual length = 92 (0x00005c)
   ---- Epilog scopes ----
   No epilogs
   ---- Unwind codes ----
  
+36 (+64.29%) : 621840.dasm - OVFTest:Test_sbyte(byte):byte (FullOpts)
@@ -7,9 +7,9 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  4, 18   )    byte  ->   x0        
+;  V00 arg0         [V00,T01] (  6, 20   )    byte  ->   x0        
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V02 tmp1         [V02,T00] (  2, 32   )     int  ->   x0         "arg temp"
+;  V02 tmp1         [V02,T00] (  4, 36   )     int  ->   x0         "arg temp"
 ;
 ; Lcl frame size = 0
 
@@ -17,7 +17,7 @@ G_M25186_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M25186_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M25186_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             sxtb    w0, w0
             scvtf   d0, w0
             fmov    d16, #2.0000
@@ -25,18 +25,30 @@ G_M25186_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             bl      CORINFO_HELP_DBL2INT_OVF
             ; gcr arg pop 0
             cmp     w0, #127
-            bgt     G_M25186_IG03
+            bgt     G_M25186_IG04
             cmn     w0, #128
-            blt     G_M25186_IG03
-            b       G_M25186_IG02
+            blt     G_M25186_IG04
+                       ;; size=36 bbWeight=1 PerfScore 12.00
+G_M25186_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            sxtb    w0, w0
+            scvtf   d0, w0
+            fmov    d16, #2.0000
+            fmul    d0, d0, d16
+            bl      CORINFO_HELP_DBL2INT_OVF
+            ; gcr arg pop 0
+            cmp     w0, #127
+            bgt     G_M25186_IG04
+            cmn     w0, #128
+            blt     G_M25186_IG04
+            b       G_M25186_IG03
                       ;; size=40 bbWeight=8 PerfScore 104.00
-G_M25186_IG03:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25186_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_OVERFLOW
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 56, prolog size 8, PerfScore 105.50, instruction count 14, allocated bytes for code 56 (MethodHash=93bb9d9d) for method OVFTest:Test_sbyte(byte):byte (FullOpts)
+; Total bytes of code 92, prolog size 8, PerfScore 117.50, instruction count 23, allocated bytes for code 92 (MethodHash=93bb9d9d) for method OVFTest:Test_sbyte(byte):byte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -47,7 +59,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
+  Function Length   : 23 (0x00017) Actual length = 92 (0x00005c)
   ---- Epilog scopes ----
   No epilogs
   ---- Unwind codes ----
  
  
libraries.crossgen2.linux.arm64.checked.mch
-20 (-12.20%) : 215775.dasm - System.Reflection.Emit.TypeBuilderImpl:IsSubclassOf(System.Type):ubyte:this (FullOpts)
@@ -9,22 +9,19 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T02] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Reflection.Emit.TypeBuilderImpl>
-;  V01 arg1         [V01,T01] (  4,  5   )     ref  ->  x19         class-hnd single-def <System.Type>
-;  V02 loc0         [V02,T00] (  6, 16   )     ref  ->  x20         class-hnd <System.Type>
+;  V01 arg1         [V01,T01] (  4,  3.50)     ref  ->  x19         class-hnd single-def <System.Type>
+;  V02 loc0         [V02,T00] (  6,  5.50)     ref  ->  x20         class-hnd <System.Type>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 cse0         [V04,T03] (  2,  5   )    long  ->  x22         hoist "CSE - aggressive"
-;  V05 cse1         [V05,T04] (  3,  4   )    long  ->  x21         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M45834_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
+            stp     fp, lr, [sp, #-0x20]!
             stp     x19, x20, [sp, #0x10]
-            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=20 bbWeight=1 PerfScore 4.00
+                      ;; size=16 bbWeight=1 PerfScore 3.00
 G_M45834_IG02:        ; bbWeight=1, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             mov     x20, x0
@@ -32,68 +29,62 @@ G_M45834_IG02:        ; bbWeight=1, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {},
             mov     x1, x19
             ; gcrRegs +[x1]
             mov     x0, x20
-            adrp    x21, [HIGH RELOC #0xD1FFAB1E]      // function address
-            add     x21, x21, [LOW RELOC #0xD1FFAB1E]
-            mov     x11, x21
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
-            cbz     w0, G_M45834_IG05
-                       ;; size=36 bbWeight=1 PerfScore 8.00
+            cbz     w0, G_M45834_IG06
+                       ;; size=32 bbWeight=1 PerfScore 7.50
 G_M45834_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19-x20]
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M45834_IG04:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                      ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M45834_IG05:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
+                     ;; size=12 bbWeight=0.50 PerfScore 1.50
+G_M45834_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x19-x20]
-            adrp    x22, [HIGH RELOC #0xD1FFAB1E]
-            add     x22, x22, [LOW RELOC #0xD1FFAB1E]
-            b       G_M45834_IG07
-                       ;; size=12 bbWeight=1 PerfScore 2.00
-G_M45834_IG06:        ; bbWeight=2, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             mov     x1, x19
             ; gcrRegs +[x1]
             mov     x0, x20
             ; gcrRegs +[x0]
-            mov     x11, x21
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
-            cbnz    w0, G_M45834_IG09
-                       ;; size=24 bbWeight=2 PerfScore 13.00
-G_M45834_IG07:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
+            cbnz    w0, G_M45834_IG08
+                       ;; size=28 bbWeight=0.50 PerfScore 3.50
+G_M45834_IG06:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             mov     x0, x20
             ; gcrRegs +[x0]
-            mov     x11, x22
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             ; gcrRegs -[x20]
             mov     x20, x0
             ; gcrRegs +[x20]
-            cbnz    x20, G_M45834_IG06
-                       ;; size=28 bbWeight=4 PerfScore 38.00
-G_M45834_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            cbnz    x20, G_M45834_IG05
+                       ;; size=32 bbWeight=1 PerfScore 10.00
+G_M45834_IG07:        ; bbWeight=0.12, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0 x19-x20]
             b       G_M45834_IG03
-                        ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M45834_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M45834_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #1
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M45834_IG10:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
+G_M45834_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                      ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 164, prolog size 16, PerfScore 70.00, instruction count 41, allocated bytes for code 164 (MethodHash=83464cf5) for method System.Reflection.Emit.TypeBuilderImpl:IsSubclassOf(System.Type):ubyte:this (FullOpts)
+; Total bytes of code 144, prolog size 12, PerfScore 27.62, instruction count 36, allocated bytes for code 144 (MethodHash=83464cf5) for method System.Reflection.Emit.TypeBuilderImpl:IsSubclassOf(System.Type):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -104,7 +95,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 41 (0x00029) Actual length = 164 (0x0000a4)
+  Function Length   : 36 (0x00024) Actual length = 144 (0x000090)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -115,9 +106,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
     C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
     E4          end
     E4          end
     E4          end
  
-20 (-12.20%) : 10548.dasm - System.Reflection.Emit.RuntimeTypeBuilder:IsSubclassOf(System.Type):ubyte:this (FullOpts)
@@ -9,22 +9,19 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T02] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Reflection.Emit.RuntimeTypeBuilder>
-;  V01 arg1         [V01,T01] (  4,  5   )     ref  ->  x19         class-hnd single-def <System.Type>
-;  V02 loc0         [V02,T00] (  6, 16   )     ref  ->  x20         class-hnd <System.Type>
+;  V01 arg1         [V01,T01] (  4,  3.50)     ref  ->  x19         class-hnd single-def <System.Type>
+;  V02 loc0         [V02,T00] (  6,  5.50)     ref  ->  x20         class-hnd <System.Type>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 cse0         [V04,T03] (  2,  5   )    long  ->  x22         hoist "CSE - aggressive"
-;  V05 cse1         [V05,T04] (  3,  4   )    long  ->  x21         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M24270_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
+            stp     fp, lr, [sp, #-0x20]!
             stp     x19, x20, [sp, #0x10]
-            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=20 bbWeight=1 PerfScore 4.00
+                      ;; size=16 bbWeight=1 PerfScore 3.00
 G_M24270_IG02:        ; bbWeight=1, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             mov     x20, x0
@@ -32,68 +29,62 @@ G_M24270_IG02:        ; bbWeight=1, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {},
             mov     x1, x19
             ; gcrRegs +[x1]
             mov     x0, x20
-            adrp    x21, [HIGH RELOC #0xD1FFAB1E]      // function address
-            add     x21, x21, [LOW RELOC #0xD1FFAB1E]
-            mov     x11, x21
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
-            cbz     w0, G_M24270_IG05
-                       ;; size=36 bbWeight=1 PerfScore 8.00
+            cbz     w0, G_M24270_IG06
+                       ;; size=32 bbWeight=1 PerfScore 7.50
 G_M24270_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19-x20]
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M24270_IG04:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                      ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M24270_IG05:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
+                     ;; size=12 bbWeight=0.50 PerfScore 1.50
+G_M24270_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x19-x20]
-            adrp    x22, [HIGH RELOC #0xD1FFAB1E]
-            add     x22, x22, [LOW RELOC #0xD1FFAB1E]
-            b       G_M24270_IG07
-                       ;; size=12 bbWeight=1 PerfScore 2.00
-G_M24270_IG06:        ; bbWeight=2, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             mov     x1, x19
             ; gcrRegs +[x1]
             mov     x0, x20
             ; gcrRegs +[x0]
-            mov     x11, x21
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
-            cbnz    w0, G_M24270_IG09
-                       ;; size=24 bbWeight=2 PerfScore 13.00
-G_M24270_IG07:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
+            cbnz    w0, G_M24270_IG08
+                       ;; size=28 bbWeight=0.50 PerfScore 3.50
+G_M24270_IG06:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             mov     x0, x20
             ; gcrRegs +[x0]
-            mov     x11, x22
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             ; gcrRegs -[x20]
             mov     x20, x0
             ; gcrRegs +[x20]
-            cbnz    x20, G_M24270_IG06
-                       ;; size=28 bbWeight=4 PerfScore 38.00
-G_M24270_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            cbnz    x20, G_M24270_IG05
+                       ;; size=32 bbWeight=1 PerfScore 10.00
+G_M24270_IG07:        ; bbWeight=0.12, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0 x19-x20]
             b       G_M24270_IG03
-                        ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M24270_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M24270_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #1
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M24270_IG10:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
+G_M24270_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                      ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 164, prolog size 16, PerfScore 70.00, instruction count 41, allocated bytes for code 164 (MethodHash=dc34a131) for method System.Reflection.Emit.RuntimeTypeBuilder:IsSubclassOf(System.Type):ubyte:this (FullOpts)
+; Total bytes of code 144, prolog size 12, PerfScore 27.62, instruction count 36, allocated bytes for code 144 (MethodHash=dc34a131) for method System.Reflection.Emit.RuntimeTypeBuilder:IsSubclassOf(System.Type):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -104,7 +95,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 41 (0x00029) Actual length = 164 (0x0000a4)
+  Function Length   : 36 (0x00024) Actual length = 144 (0x000090)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -115,9 +106,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
     C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
     E4          end
     E4          end
     E4          end
  
-20 (-10.42%) : 226948.dasm - System.IO.Packaging.XmlCompatibilityReader:SkipToKnownAttribute():ubyte:this (FullOpts)
@@ -9,45 +9,35 @@
 ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  7, 17   )     ref  ->  x19         this class-hnd single-def <System.IO.Packaging.XmlCompatibilityReader>
-;  V01 loc0         [V01,T04] (  4,  6   )   ubyte  ->  x20        
+;  V00 this         [V00,T00] (  7,  4.75)     ref  ->  x19         this class-hnd single-def <System.IO.Packaging.XmlCompatibilityReader>
+;  V01 loc0         [V01,T03] (  4,  2.50)   ubyte  ->  x20        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T01] (  2, 16   )     ref  ->   x1         "argument with side effect"
-;  V04 tmp2         [V04,T02] (  2, 16   )     ref  ->   x1         "argument with side effect"
-;  V05 cse0         [V05,T03] (  3,  7   )    long  ->  x21         hoist "CSE - aggressive"
-;  V06 cse1         [V06,T05] (  2,  5   )    long  ->  x22         hoist "CSE - aggressive"
-;  V07 cse2         [V07,T06] (  2,  5   )    long  ->  x23         hoist "CSE - aggressive"
-;  V08 cse3         [V08,T07] (  2,  5   )    long  ->  x24         hoist "CSE - aggressive"
+;  V03 tmp1         [V03,T01] (  2,  2   )     ref  ->   x1         "argument with side effect"
+;  V04 tmp2         [V04,T02] (  2,  2   )     ref  ->   x1         "argument with side effect"
+;  V05 cse0         [V05,T04] (  3,  1.75)    long  ->  x21         hoist "CSE - moderate"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M42349_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x10]
-            stp     x21, x22, [sp, #0x20]
-            stp     x23, x24, [sp, #0x30]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
-                     ;; size=24 bbWeight=1 PerfScore 5.00
+                      ;; size=20 bbWeight=1 PerfScore 4.00
 G_M42349_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             mov     w20, #1
             ldrsb   wzr, [x19]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ldr     x21, [x0]
-            adrp    x22, [HIGH RELOC #0xD1FFAB1E]
-            add     x22, x22, [LOW RELOC #0xD1FFAB1E]
-            adrp    x23, [HIGH RELOC #0xD1FFAB1E]
-            add     x23, x23, [LOW RELOC #0xD1FFAB1E]
-            adrp    x24, [HIGH RELOC #0xD1FFAB1E]
-            add     x24, x24, [LOW RELOC #0xD1FFAB1E]
             b       G_M42349_IG04
-                       ;; size=48 bbWeight=1 PerfScore 11.50
-G_M42349_IG03:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+                     ;; size=24 bbWeight=1 PerfScore 8.50
+G_M42349_IG03:        ; bbWeight=0.25, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x19, x21]
             ; gcrRegs +[x0]
-            adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     wzr, [x0]
             ldr     x1, [x11]
@@ -55,43 +45,45 @@ G_M42349_IG03:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs -[x0]
             sxtw    w20, w0
             cbz     w20, G_M42349_IG05
-                       ;; size=32 bbWeight=2 PerfScore 25.00
-G_M42349_IG04:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+                     ;; size=32 bbWeight=0.25 PerfScore 3.12
+G_M42349_IG04:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x19, x21]
             ; gcrRegs +[x0]
-            mov     x11, x22
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             mov     x1, x0
             ; gcrRegs +[x1]
             mov     x0, x19
-            mov     x11, x23
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x1]
             mov     x1, x0
             ; gcrRegs +[x1]
             mov     x0, x19
-            mov     x11, x24
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
             cbnz    w0, G_M42349_IG03
-                        ;; size=64 bbWeight=4 PerfScore 90.00
+                     ;; size=76 bbWeight=0.50 PerfScore 12.00
 G_M42349_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
             mov     w0, w20
                        ;; size=4 bbWeight=1 PerfScore 0.50
 G_M42349_IG06:        ; bbWeight=1, epilog, nogc, extend
-            ldp     x23, x24, [sp, #0x30]
-            ldp     x21, x22, [sp, #0x20]
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x40
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=20 bbWeight=1 PerfScore 5.00
+                      ;; size=16 bbWeight=1 PerfScore 5.00
 
-; Total bytes of code 192, prolog size 20, PerfScore 137.00, instruction count 48, allocated bytes for code 192 (MethodHash=3b875a92) for method System.IO.Packaging.XmlCompatibilityReader:SkipToKnownAttribute():ubyte:this (FullOpts)
+; Total bytes of code 172, prolog size 16, PerfScore 33.12, instruction count 43, allocated bytes for code 172 (MethodHash=3b875a92) for method System.IO.Packaging.XmlCompatibilityReader:SkipToKnownAttribute():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -102,7 +94,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 48 (0x00030) Actual length = 192 (0x0000c0)
+  Function Length   : 43 (0x0002b) Actual length = 172 (0x0000ac)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -110,10 +102,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
-    E6          save_next
-    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
+    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
 
  
+44 (+64.71%) : 185867.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
@@ -8,14 +8,16 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  7, 23   )     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]>
-;  V01 arg1         [V01,T00] (  6, 26   )     int  ->   x1        
+;  V00 this         [V00,T02] ( 11, 25.50)     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]>
+;  V01 arg1         [V01,T00] ( 10, 29   )     int  ->   x1        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T06] (  2, 16   )     int  ->   x1         "arg temp"
-;  V04 tmp2         [V04,T04] (  2, 16   )     ref  ->   x0         single-def "arg temp"
-;  V05 tmp3         [V05,T05] (  2, 16   )     ref  ->   x0         single-def "arg temp"
+;  V03 tmp1         [V03,T06] (  4, 18   )     int  ->   x1         "arg temp"
+;  V04 tmp2         [V04,T04] (  4, 18   )     ref  ->   x0         "arg temp"
+;  V05 tmp3         [V05,T05] (  4, 18   )     ref  ->   x0         "arg temp"
 ;  V06 cse0         [V06,T01] (  4, 28   )     int  ->   x3         "CSE - aggressive"
-;  V07 cse1         [V07,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  4,  3.50)     int  ->   x3         "CSE - aggressive"
+;  V08 cse2         [V08,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V09 cse3         [V09,T08] (  3,  2.50)     ref  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -23,42 +25,65 @@ G_M17963_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M17963_IG02:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M17963_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x2, [x0, #0x10]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x20]
             cmp     w1, w3
             bge     G_M17963_IG04
-                        ;; size=16 bbWeight=8 PerfScore 60.00
-G_M17963_IG03:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+                        ;; size=16 bbWeight=1 PerfScore 7.50
+G_M17963_IG03:        ; bbWeight=0.50, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M17963_IG02
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M17963_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M17963_IG06
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
+G_M17963_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x2]
             cmp     w1, w3
-            ble     G_M17963_IG06
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M17963_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ble     G_M17963_IG10
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M17963_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             sub     w1, w1, w3
             sub     w1, w1, #1
             ldr     x0, [x0, #0x18]
-            b       G_M17963_IG02
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M17963_IG06:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     x2, [x0, #0x10]
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x20]
+            cmp     w1, w3
+            bge     G_M17963_IG08
+                       ;; size=16 bbWeight=8 PerfScore 60.00
+G_M17963_IG07:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x2
+            ; gcrRegs +[x0]
+            b       G_M17963_IG06
+                       ;; size=8 bbWeight=4 PerfScore 6.00
+G_M17963_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            cmp     w1, w3
+            ble     G_M17963_IG10
+                       ;; size=8 bbWeight=8 PerfScore 12.00
+G_M17963_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            sub     w1, w1, w3
+            sub     w1, w1, #1
+            ldr     x0, [x0, #0x18]
+            b       G_M17963_IG06
                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M17963_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M17963_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x0, x0, #8
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M17963_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M17963_IG11:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 102.00, instruction count 17, allocated bytes for code 68 (MethodHash=8272b9d4) for method System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
+; Total bytes of code 112, prolog size 8, PerfScore 113.75, instruction count 28, allocated bytes for code 112 (MethodHash=8272b9d4) for method System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -69,7 +94,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+66.67%) : 178041.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
@@ -10,7 +10,7 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  3,  3   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
-;  V01 loc0         [V01,T00] (  7, 22   )     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
+;  V01 loc0         [V01,T00] ( 12, 24.50)     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -24,26 +24,44 @@ G_M12955_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ldr     x0, [x0, #0x18]
             b       G_M12955_IG04
                        ;; size=8 bbWeight=1 PerfScore 4.00
-G_M12955_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M12955_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ldr     x0, [x0, #0x18]
-                       ;; size=4 bbWeight=2 PerfScore 6.00
-G_M12955_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            cbz     x0, G_M12955_IG06
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M12955_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M12955_IG08
+                       ;; size=8 bbWeight=0.25 PerfScore 1.00
+G_M12955_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M12955_IG10
+                       ;; size=4 bbWeight=1 PerfScore 1.00
+G_M12955_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldrh    w1, [x0, #0x34]
-            cbnz    w1, G_M12955_IG06
+            cbnz    w1, G_M12955_IG10
             ldr     x1, [x0, #0x10]
             ; gcrRegs +[x1]
             cbz     x1, G_M12955_IG03
+                        ;; size=16 bbWeight=0.50 PerfScore 4.00
+G_M12955_IG06:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x1]
+            b       G_M12955_IG10
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M12955_IG07:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ldr     x0, [x0, #0x18]
+                       ;; size=4 bbWeight=2 PerfScore 6.00
+G_M12955_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M12955_IG10
+                       ;; size=4 bbWeight=8 PerfScore 8.00
+G_M12955_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldrh    w1, [x0, #0x34]
+            cbnz    w1, G_M12955_IG10
+            ldr     x1, [x0, #0x10]
+            ; gcrRegs +[x1]
+            cbz     x1, G_M12955_IG07
                       ;; size=16 bbWeight=4 PerfScore 32.00
-G_M12955_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M12955_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x1]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 48, prolog size 8, PerfScore 53.50, instruction count 12, allocated bytes for code 48 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
+; Total bytes of code 80, prolog size 8, PerfScore 59.62, instruction count 20, allocated bytes for code 80 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -54,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 12 (0x0000c) Actual length = 48 (0x000030)
+  Function Length   : 20 (0x00014) Actual length = 80 (0x000050)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+66.67%) : 33570.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
@@ -10,7 +10,7 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  3,  3   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
-;  V01 loc0         [V01,T00] (  7, 22   )     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
+;  V01 loc0         [V01,T00] ( 12, 24.50)     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -24,26 +24,44 @@ G_M12955_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ldr     x0, [x0, #0x18]
             b       G_M12955_IG04
                        ;; size=8 bbWeight=1 PerfScore 4.00
-G_M12955_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M12955_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ldr     x0, [x0, #0x18]
-                       ;; size=4 bbWeight=2 PerfScore 6.00
-G_M12955_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            cbz     x0, G_M12955_IG06
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M12955_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M12955_IG08
+                       ;; size=8 bbWeight=0.25 PerfScore 1.00
+G_M12955_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M12955_IG10
+                       ;; size=4 bbWeight=1 PerfScore 1.00
+G_M12955_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldrh    w1, [x0, #0x34]
-            cbnz    w1, G_M12955_IG06
+            cbnz    w1, G_M12955_IG10
             ldr     x1, [x0, #0x10]
             ; gcrRegs +[x1]
             cbz     x1, G_M12955_IG03
+                        ;; size=16 bbWeight=0.50 PerfScore 4.00
+G_M12955_IG06:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x1]
+            b       G_M12955_IG10
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M12955_IG07:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ldr     x0, [x0, #0x18]
+                       ;; size=4 bbWeight=2 PerfScore 6.00
+G_M12955_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M12955_IG10
+                       ;; size=4 bbWeight=8 PerfScore 8.00
+G_M12955_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldrh    w1, [x0, #0x34]
+            cbnz    w1, G_M12955_IG10
+            ldr     x1, [x0, #0x10]
+            ; gcrRegs +[x1]
+            cbz     x1, G_M12955_IG07
                       ;; size=16 bbWeight=4 PerfScore 32.00
-G_M12955_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M12955_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x1]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 48, prolog size 8, PerfScore 53.50, instruction count 12, allocated bytes for code 48 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
+; Total bytes of code 80, prolog size 8, PerfScore 59.62, instruction count 20, allocated bytes for code 80 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -54,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 12 (0x0000c) Actual length = 48 (0x000030)
+  Function Length   : 20 (0x00014) Actual length = 80 (0x000050)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
libraries.pmi.linux.arm64.checked.mch
-44 (-15.71%) : 157895.dasm - Roslyn.Utilities.OneOrMany1[System.__Canon]:Any[System.Numerics.Vector1[float]](System.Func3[System.__Canon,System.Numerics.Vector1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
@@ -8,59 +8,64 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T07] (  3,  3   )   byref  ->   x0         this single-def
-;  V01 TypeCtx      [V01,T05] (  5,  4.36)    long  ->   x1         single-def
-;  V02 arg1         [V02,T02] (  4,  6   )     ref  ->  x19         class-hnd single-def <System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte]>
-;  V03 arg2         [V03,T11] (  3,  4   )  simd16  ->   d8         HFA(simd16)  single-def <System.Numerics.Vector`1[float]>
-;  V04 loc0         [V04    ] (  4, 12   )  struct (24) [fp+0x30]  do-not-enreg[XS] addr-exposed ld-addr-op <Roslyn.Utilities.OneOrMany`1+Enumerator[System.__Canon]>
+;  V00 this         [V00,T12] (  3,  3   )   byref  ->   x0         this single-def
+;  V01 TypeCtx      [V01,T04] (  5,  4.36)    long  ->   x1         single-def
+;  V02 arg1         [V02,T09] (  4,  2.50)     ref  ->  x19         class-hnd single-def <System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte]>
+;  V03 arg2         [V03,T17] (  3,  2.25)  simd16  ->  [fp+0x40]  HFA(simd16)  single-def <System.Numerics.Vector`1[float]>
+;  V04 loc0         [V04    ] (  4,  3.25)  struct (24) [fp+0x28]  do-not-enreg[XS] addr-exposed ld-addr-op <Roslyn.Utilities.OneOrMany`1+Enumerator[System.__Canon]>
 ;* V05 loc1         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.__Canon>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V08 tmp2         [V08    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V09 tmp3         [V09    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V10 tmp4         [V10,T10] (  2,  4   )  struct (24) [fp+0x18]  do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <Roslyn.Utilities.OneOrMany`1+Enumerator[System.__Canon]>
+;  V10 tmp4         [V10,T15] (  2,  4   )  struct (24) [fp+0x10]  do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <Roslyn.Utilities.OneOrMany`1+Enumerator[System.__Canon]>
 ;* V11 tmp5         [V11    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V12 tmp6         [V12    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <Roslyn.Utilities.OneOrMany`1[System.__Canon]>
 ;* V13 tmp7         [V13    ] (  0,  0   )     ref  ->  zero-ref    "field V12._one (fldOffset=0x0)" P-INDEP
 ;* V14 tmp8         [V14    ] (  0,  0   )     ref  ->  zero-ref    "field V12._many (fldOffset=0x8)" P-INDEP
 ;* V15 tmp9         [V15    ] (  0,  0   )     int  ->  zero-ref    "V10.[000..004)"
-;  V16 tmp10        [V16,T00] (  2, 32   )    long  ->   x1         "argument with side effect"
-;  V17 tmp11        [V17,T04] (  2,  8   )    long  ->   x1         "argument with side effect"
-;  V18 tmp12        [V18,T03] (  2,  8   )     ref  ->   x1         "argument with side effect"
-;  V19 cse0         [V19,T01] (  3, 11   )    long  ->  x20         hoist "CSE - aggressive"
-;  V20 rat0         [V20,T09] (  3,  4   )    long  ->  x20         "runtime lookup"
-;  V21 rat1         [V21,T06] (  3,  5.60)    long  ->   x0         "spilling expr"
-;  V22 rat2         [V22,T08] (  3,  4.48)    long  ->  x20         "fgMakeTemp is creating a new local variable"
+;  V16 tmp10        [V16,T01] (  2,  4   )    long  ->   x1         "argument with side effect"
+;  V17 tmp11        [V17,T07] (  2,  1   )    long  ->   x1         "argument with side effect"
+;  V18 tmp12        [V18,T06] (  2,  1   )     ref  ->   x1         "argument with side effect"
+;  V19 cse0         [V19,T16] (  3,  2.25)    long  ->  x20         hoist "CSE - aggressive"
+;  V20 rat0         [V20,T14] (  3,  4   )    long  ->  x20         "runtime lookup"
+;  V21 rat1         [V21,T11] (  3,  5.60)    long  ->   x0         "spilling expr"
+;  V22 rat2         [V22,T13] (  3,  4.48)    long  ->  x20         "fgMakeTemp is creating a new local variable"
+;* V23 rat3         [V23,T10] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V24 rat4         [V24,T05] (  0,  0   )    long  ->  zero-ref    "spilling expr"
+;* V25 rat5         [V25,T08] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;* V26 rat6         [V26,T03] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V27 rat7         [V27,T00] (  0,  0   )    long  ->  zero-ref    "spilling expr"
+;* V28 rat8         [V28,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 80
 
 G_M19422_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x70]!
-            stp     d8, d9, [sp, #0x50]
             stp     x19, x20, [sp, #0x60]
             mov     fp, sp
-            stp     xzr, xzr, [fp, #0x18]  // [V10 tmp4], [V10 tmp4+0x08]
-            str     xzr, [fp, #0x28]   // [V10 tmp4+0x10]
-            str     x1, [fp, #0x48]
-            mov     v8.16b, v0.16b
+            stp     xzr, xzr, [fp, #0x10]  // [V10 tmp4], [V10 tmp4+0x08]
+            str     xzr, [fp, #0x20]   // [V10 tmp4+0x10]
+            str     x1, [fp, #0x58]
+            str     q0, [fp, #0x40]    // [V03 arg2]
             mov     x19, x2
             ; gcrRegs +[x19]
-                     ;; size=36 bbWeight=1 PerfScore 7.50
+                      ;; size=32 bbWeight=1 PerfScore 7.00
 G_M19422_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref, nogc
             ; byrRegs +[x0]
             ldp     x2, x3, [x0]
-            stp     x2, x3, [fp, #0x20]
+            stp     x2, x3, [fp, #0x18]
                      ;; size=8 bbWeight=1 PerfScore 5.00
 G_M19422_IG03:        ; bbWeight=1, nogc, extend
-            ldp     x0, x2, [fp, #0x18]
+            ldp     x0, x2, [fp, #0x10]
             ; byrRegs -[x0]
-            stp     x0, x2, [fp, #0x30]
-            ldr     x0, [fp, #0x28]
-            str     x0, [fp, #0x40]
+            stp     x0, x2, [fp, #0x28]
+            ldr     x0, [fp, #0x20]
+            str     x0, [fp, #0x38]
                         ;; size=16 bbWeight=1 PerfScore 7.00
 G_M19422_IG04:        ; bbWeight=1, isz, extend
             movn    w0, #0
-            str     w0, [fp, #0x30]    // [V04 loc0]
+            str     w0, [fp, #0x28]  // [V04 loc0]
             ldr     x0, [x1, #0x38]
             ldr     x2, [x0, #0x08]
             cmp     x2, #24
@@ -78,69 +83,59 @@ G_M19422_IG07:        ; bbWeight=0.36, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
-            mov     v9.d[0], v8.d[1]
             bl      CORINFO_HELP_RUNTIMEHANDLE_METHOD
             mov     x20, x0
-            mov     v8.d[1], v9.d[0]
-                       ;; size=32 bbWeight=0.36 PerfScore 1.98
+                       ;; size=24 bbWeight=0.36 PerfScore 1.26
 G_M19422_IG08:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             b       G_M19422_IG10
                        ;; size=4 bbWeight=1 PerfScore 1.00
-G_M19422_IG09:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M19422_IG09:        ; bbWeight=0.25, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     x1, x20
-            add     x0, fp, #48  // [V04 loc0]
+            add     x0, fp, #40  // [V04 loc0]
             movz    x2, #0xD1FFAB1E      // code for Roslyn.Utilities.OneOrMany`1+Enumerator[System.__Canon]:get_Current():System.__Canon:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
-            mov     v9.d[0], v8.d[1]
             blr     x2
             ; gcrRegs +[x0]
             mov     x1, x0
             ; gcrRegs +[x1]
-            mov     v8.d[1], v9.d[0]
-            mov     v0.16b, v8.16b
+            ldr     q0, [fp, #0x40]    // [V03 arg2]
             ldr     x0, [x19, #0x08]
             ldr     x2, [x19, #0x18]
-            mov     v9.d[0], v8.d[1]
             blr     x2
             ; gcrRegs -[x0-x1]
-            mov     v8.d[1], v9.d[0]
             cbnz    w0, G_M19422_IG13
-                        ;; size=68 bbWeight=2 PerfScore 39.00
-G_M19422_IG10:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+                     ;; size=52 bbWeight=0.25 PerfScore 4.25
+G_M19422_IG10:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     x1, x20
-            add     x0, fp, #48   // [V04 loc0]
+            add     x0, fp, #40  // [V04 loc0]
             movz    x2, #0xD1FFAB1E      // code for Roslyn.Utilities.OneOrMany`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
-            mov     v9.d[0], v8.d[1]
             blr     x2
-            mov     v8.d[1], v9.d[0]
             cbnz    w0, G_M19422_IG09
-                      ;; size=40 bbWeight=8 PerfScore 76.00
-G_M19422_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=32 bbWeight=1 PerfScore 7.50
+G_M19422_IG11:        ; bbWeight=0.06, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
             mov     w0, wzr
-                      ;; size=4 bbWeight=0.50 PerfScore 0.25
+                        ;; size=4 bbWeight=0.06 PerfScore 0.03
 G_M19422_IG12:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x60]
-            ldp     d8, d9, [sp, #0x50]
             ldp     fp, lr, [sp], #0x70
             ret     lr
-                       ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M19422_IG13:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M19422_IG14:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x60]
-            ldp     d8, d9, [sp, #0x50]
             ldp     fp, lr, [sp], #0x70
             ret     lr
-                       ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 280, prolog size 28, PerfScore 154.82, instruction count 70, allocated bytes for code 280 (MethodHash=fb73b421) for method Roslyn.Utilities.OneOrMany`1[System.__Canon]:Any[System.Numerics.Vector`1[float]](System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
+; Total bytes of code 236, prolog size 24, PerfScore 49.13, instruction count 59, allocated bytes for code 236 (MethodHash=fb73b421) for method Roslyn.Utilities.OneOrMany`1[System.__Canon]:Any[System.Numerics.Vector`1[float]](System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -151,7 +146,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 70 (0x00046) Actual length = 280 (0x000118)
+  Function Length   : 59 (0x0003b) Actual length = 236 (0x0000ec)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -163,8 +158,9 @@ Unwind Info:
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
     C8 0C       save_regp X#0 Z#12 (0x0C); stp x19, x20, [sp, #96]
-    D8 0A       save_fregp X#0 Z#10 (0x0A); stp d8, d9, [sp, #80]
     8D          save_fplr_x #13 (0x0D); stp fp, lr, [sp, #-112]!
     E4          end
     E4          end
+    E4          end
+    E4          end
 
  
-16 (-8.51%) : 274172.dasm - System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
@@ -12,9 +12,9 @@
 ;  V01 tmp1         [V01,T01] (  4,  8   )     ref  ->   x6         class-hnd exact single-def "dup spill" <System.Type[]>
 ;* V02 tmp2         [V02,T03] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
 ;* V03 tmp3         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
-;  V04 tmp4         [V04,T00] (  5, 20.91)     int  ->   x0         "Inline stloc first use temp"
+;* V04 tmp4         [V04,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V05 tmp5         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
-;  V06 cse0         [V06,T02] (  2,  2.98)   byref  ->   x1         hoist "CSE - aggressive"
+;  V06 cse0         [V06,T02] (  2,  2   )   byref  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -22,7 +22,7 @@ G_M2572_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M2572_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M2572_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -37,23 +37,15 @@ G_M2572_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             str     x0, [x6, #0x10]
-            mov     w0, wzr
-            add     x1, x6, #16
-            ; byrRegs +[x1]
-                       ;; size=48 bbWeight=1 PerfScore 7.00
-G_M2572_IG03:        ; bbWeight=1.98, gcrefRegs=0040 {x6}, byrefRegs=0002 {x1}, byref, isz
-            ldr     x2, [x1, w0, UXTW #3]
-            ; gcrRegs +[x2]
-            cbz     x2, G_M2572_IG07
-                       ;; size=8 bbWeight=1.98 PerfScore 7.91
-G_M2572_IG04:        ; bbWeight=5.98, gcrefRegs=0040 {x6}, byrefRegs=0002 {x1}, byref, isz
-            ; gcrRegs -[x2]
-            add     w0, w0, #1
-            cmp     w0, #1
-            blt     G_M2572_IG03
-                       ;; size=12 bbWeight=5.98 PerfScore 11.95
-G_M2572_IG05:        ; bbWeight=1, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x1]
+            add     x0, x6, #16
+            ; byrRegs +[x0]
+            ldr     x0, [x0]
+            ; gcrRegs +[x0]
+            ; byrRegs -[x0]
+            cbz     x0, G_M2572_IG05
+                       ;; size=52 bbWeight=1 PerfScore 10.50
+G_M2572_IG03:        ; bbWeight=3.02, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -69,13 +61,13 @@ G_M2572_IG05:        ; bbWeight=1, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
             movk    x8, #0xD1FFAB1E LSL #16
             movk    x8, #0xD1FFAB1E LSL #32
             ldr     x8, [x8]
-                     ;; size=60 bbWeight=1 PerfScore 10.00
-G_M2572_IG06:        ; bbWeight=1, epilog, nogc, extend
+                      ;; size=60 bbWeight=3.02 PerfScore 30.24
+G_M2572_IG04:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             br      x8
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M2572_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M2572_IG05:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x6]
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
@@ -94,7 +86,7 @@ G_M2572_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
             brk_unix #0
                        ;; size=44 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 188, prolog size 8, PerfScore 40.36, instruction count 47, allocated bytes for code 188 (MethodHash=7398f5f3) for method System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
+; Total bytes of code 172, prolog size 8, PerfScore 44.24, instruction count 43, allocated bytes for code 172 (MethodHash=7398f5f3) for method System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -105,7 +97,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 47 (0x0002f) Actual length = 188 (0x0000bc)
+  Function Length   : 43 (0x0002b) Actual length = 172 (0x0000ac)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-20 (-8.33%) : 157928.dasm - Roslyn.Utilities.OneOrMany1[ubyte]:Any[System.Numerics.Vector1[float]](System.Func3[ubyte,System.Numerics.Vector1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
@@ -8,40 +8,38 @@
 ; 0 inlinees with PGO data; 10 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T04] (  4,  4   )   byref  ->   x0         this single-def
-;  V01 arg1         [V01,T03] (  4,  6   )     ref  ->  x19         class-hnd single-def <System.Func`3[ubyte,System.Numerics.Vector`1[float],ubyte]>
-;  V02 arg2         [V02,T09] (  3,  4   )  simd16  ->   d8         HFA(simd16)  single-def <System.Numerics.Vector`1[float]>
+;  V00 this         [V00,T05] (  4,  4   )   byref  ->   x0         this single-def
+;  V01 arg1         [V01,T03] (  4,  2.50)     ref  ->  x19         class-hnd single-def <System.Func`3[ubyte,System.Numerics.Vector`1[float],ubyte]>
+;  V02 arg2         [V02,T09] (  3,  2.25)  simd16  ->  [fp+0x10]  HFA(simd16)  single-def <System.Numerics.Vector`1[float]>
 ;* V03 loc0         [V03    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op <Roslyn.Utilities.OneOrMany`1+Enumerator[ubyte]>
 ;* V04 loc1         [V04    ] (  0,  0   )   ubyte  ->  zero-ref   
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <Roslyn.Utilities.OneOrMany`1+Enumerator[ubyte]>
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <Roslyn.Utilities.OneOrMany`1[ubyte]>
-;  V08 tmp3         [V08,T05] (  3,  6   )   ubyte  ->   x1         "Inline return value spill temp"
+;  V08 tmp3         [V08,T04] (  3,  0.75)   ubyte  ->   x1         "Inline return value spill temp"
 ;* V09 tmp4         [V09    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V10 tmp5         [V10,T10] (  3,  0   )     ref  ->  x19         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V11 tmp6         [V11    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;  V12 tmp7         [V12,T02] (  3, 12   )     int  ->   x1         "Inline return value spill temp"
+;  V12 tmp7         [V12,T02] (  3,  1.50)     int  ->   x1         "Inline return value spill temp"
 ;* V13 tmp8         [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "field V07._one (fldOffset=0x0)" P-INDEP
 ;* V14 tmp9         [V14    ] (  0,  0   )     ref  ->  zero-ref    "field V07._many (fldOffset=0x8)" P-INDEP
-;  V15 tmp10        [V15,T00] (  7, 31   )     int  ->  x22         "V03.[000..004)"
-;  V16 tmp11        [V16,T06] (  2,  3   )   ubyte  ->  x20         single-def "V03.[008..009)"
-;  V17 tmp12        [V17,T01] (  6, 17   )     ref  ->  x21         single-def "V03.[016..024)"
+;  V15 tmp10        [V15,T00] (  7,  4.75)     int  ->  x22         "V03.[000..004)"
+;  V16 tmp11        [V16,T06] (  2,  1.25)   ubyte  ->  x20         single-def "V03.[008..009)"
+;  V17 tmp12        [V17,T01] (  6,  3   )     ref  ->  x21         single-def "V03.[016..024)"
 ;* V18 tmp13        [V18    ] (  0,  0   )     int  ->  zero-ref    "V06.[000..004)"
 ;  V19 tmp14        [V19,T08] (  2,  2   )   ubyte  ->  x20         single-def "V06.[008..009)"
 ;  V20 tmp15        [V20,T07] (  2,  2   )     ref  ->  x21         single-def "V06.[016..024)"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M17406_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x40]!
-            stp     d8, d9, [sp, #0x10]
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             mov     fp, sp
-            mov     v8.16b, v0.16b
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=28 bbWeight=1 PerfScore 5.50
+                      ;; size=20 bbWeight=1 PerfScore 4.00
 G_M17406_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref
             ; byrRegs +[x0]
             ldrb    w20, [x0]
@@ -50,14 +48,14 @@ G_M17406_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0},
             movn    w22, #0
             b       G_M17406_IG06
                        ;; size=16 bbWeight=1 PerfScore 7.50
-G_M17406_IG03:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+G_M17406_IG03:        ; bbWeight=0.25, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0]
             cbnz    x21, G_M17406_IG04
             cbnz    w22, G_M17406_IG15
             sxtw    w1, w20
             b       G_M17406_IG05
-                        ;; size=16 bbWeight=2 PerfScore 7.00
-G_M17406_IG04:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+                        ;; size=16 bbWeight=0.25 PerfScore 0.88
+G_M17406_IG04:        ; bbWeight=0.25, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
             ldr     w1, [x21, #0x08]
             cmp     w22, w1
             bhs     G_M17406_IG14
@@ -65,54 +63,51 @@ G_M17406_IG04:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {
             ; byrRegs +[x1]
             ldrb    w1, [x1, w22, UXTW #2]
             ; byrRegs -[x1]
-                      ;; size=20 bbWeight=2 PerfScore 16.00
-G_M17406_IG05:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
-            mov     v0.16b, v8.16b
+                       ;; size=20 bbWeight=0.25 PerfScore 2.00
+G_M17406_IG05:        ; bbWeight=0.25, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+            str     q0, [fp, #0x10]    // [V02 arg2]
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
             ldr     x2, [x19, #0x18]
-            mov     v9.d[0], v8.d[1]
             blr     x2
             ; gcrRegs -[x0]
-            mov     v8.d[1], v9.d[0]
+            ldr     q0, [fp, #0x10] // [V02 arg2]
             cbnz    w0, G_M17406_IG12
-                        ;; size=28 bbWeight=2 PerfScore 21.00
-G_M17406_IG06:        ; bbWeight=8, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+                        ;; size=24 bbWeight=0.25 PerfScore 2.75
+G_M17406_IG06:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
             add     w22, w22, #1
             cbz     x21, G_M17406_IG08
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M17406_IG07:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
+                     ;; size=8 bbWeight=1 PerfScore 1.50
+G_M17406_IG07:        ; bbWeight=0.25, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
             ldr     w1, [x21, #0x08]
             b       G_M17406_IG09
-                        ;; size=8 bbWeight=2 PerfScore 8.00
-G_M17406_IG08:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
+                     ;; size=8 bbWeight=0.25 PerfScore 1.00
+G_M17406_IG08:        ; bbWeight=0.25, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
             mov     w1, #1
-                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M17406_IG09:        ; bbWeight=8, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+                        ;; size=4 bbWeight=0.25 PerfScore 0.12
+G_M17406_IG09:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
             cmp     w22, w1
             blt     G_M17406_IG03
-                        ;; size=8 bbWeight=8 PerfScore 12.00
-G_M17406_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M17406_IG10:        ; bbWeight=0.06, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x21]
             mov     w0, wzr
-                      ;; size=4 bbWeight=0.50 PerfScore 0.25
+                        ;; size=4 bbWeight=0.06 PerfScore 0.03
 G_M17406_IG11:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
-            ldp     d8, d9, [sp, #0x10]
             ldp     fp, lr, [sp], #0x40
             ret     lr
-                       ;; size=20 bbWeight=0.50 PerfScore 2.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M17406_IG12:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M17406_IG13:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
-            ldp     d8, d9, [sp, #0x10]
             ldp     fp, lr, [sp], #0x40
             ret     lr
-                       ;; size=20 bbWeight=0.50 PerfScore 2.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M17406_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             bl      CORINFO_HELP_RNGCHKFAIL
                        ;; size=4 bbWeight=0 PerfScore 0.00
@@ -137,7 +132,7 @@ G_M17406_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=52 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 240, prolog size 20, PerfScore 95.50, instruction count 60, allocated bytes for code 240 (MethodHash=c9d7bc01) for method Roslyn.Utilities.OneOrMany`1[ubyte]:Any[System.Numerics.Vector`1[float]](System.Func`3[ubyte,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
+; Total bytes of code 220, prolog size 16, PerfScore 25.53, instruction count 55, allocated bytes for code 220 (MethodHash=c9d7bc01) for method Roslyn.Utilities.OneOrMany`1[ubyte]:Any[System.Numerics.Vector`1[float]](System.Func`3[ubyte,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -148,7 +143,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 60 (0x0003c) Actual length = 240 (0x0000f0)
+  Function Length   : 55 (0x00037) Actual length = 220 (0x0000dc)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -161,7 +156,8 @@ Unwind Info:
     ---- Epilog start at index 1 ----
     E6          save_next
     C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    D8 02       save_fregp X#0 Z#2 (0x02); stp d8, d9, [sp, #16]
     87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
     E4          end
+    E4          end
+    E4          end
 
  
+32 (+66.67%) : 173611.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
@@ -9,7 +9,7 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  3,  3   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
-;  V01 loc0         [V01,T00] (  7, 22   )     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
+;  V01 loc0         [V01,T00] ( 12, 24.50)     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -23,26 +23,44 @@ G_M12955_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ldr     x0, [x0, #0x18]
             b       G_M12955_IG04
                        ;; size=8 bbWeight=1 PerfScore 4.00
-G_M12955_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M12955_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ldr     x0, [x0, #0x18]
-                       ;; size=4 bbWeight=2 PerfScore 6.00
-G_M12955_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            cbz     x0, G_M12955_IG06
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M12955_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M12955_IG08
+                       ;; size=8 bbWeight=0.25 PerfScore 1.00
+G_M12955_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M12955_IG10
+                       ;; size=4 bbWeight=1 PerfScore 1.00
+G_M12955_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldrh    w1, [x0, #0x34]
-            cbnz    w1, G_M12955_IG06
+            cbnz    w1, G_M12955_IG10
             ldr     x1, [x0, #0x10]
             ; gcrRegs +[x1]
             cbz     x1, G_M12955_IG03
+                        ;; size=16 bbWeight=0.50 PerfScore 4.00
+G_M12955_IG06:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x1]
+            b       G_M12955_IG10
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M12955_IG07:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ldr     x0, [x0, #0x18]
+                       ;; size=4 bbWeight=2 PerfScore 6.00
+G_M12955_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M12955_IG10
+                       ;; size=4 bbWeight=8 PerfScore 8.00
+G_M12955_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldrh    w1, [x0, #0x34]
+            cbnz    w1, G_M12955_IG10
+            ldr     x1, [x0, #0x10]
+            ; gcrRegs +[x1]
+            cbz     x1, G_M12955_IG07
                       ;; size=16 bbWeight=4 PerfScore 32.00
-G_M12955_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M12955_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x1]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 48, prolog size 8, PerfScore 53.50, instruction count 12, allocated bytes for code 48 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
+; Total bytes of code 80, prolog size 8, PerfScore 59.62, instruction count 20, allocated bytes for code 80 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -53,7 +71,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 12 (0x0000c) Actual length = 48 (0x000030)
+  Function Length   : 20 (0x00014) Actual length = 80 (0x000050)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+36 (+69.23%) : 264783.dasm - System.Diagnostics.DiagnosticSourceEventSource+FilterAndTransform:Reverse(System.Diagnostics.DiagnosticSourceEventSource+TransformSpec):System.Diagnostics.DiagnosticSourceEventSource+TransformSpec (FullOpts)
@@ -7,9 +7,9 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  8, 23   )     ref  ->   x0         class-hnd <System.Diagnostics.DiagnosticSourceEventSource+TransformSpec>
-;  V01 loc0         [V01,T01] (  4, 10   )     ref  ->  x15         class-hnd <System.Diagnostics.DiagnosticSourceEventSource+TransformSpec>
-;  V02 loc1         [V02,T02] (  2,  8   )     ref  ->   x1         class-hnd exact <System.Diagnostics.DiagnosticSourceEventSource+TransformSpec>
+;  V00 arg0         [V00,T00] ( 13, 28   )     ref  ->  registers   class-hnd <System.Diagnostics.DiagnosticSourceEventSource+TransformSpec>
+;  V01 loc0         [V01,T01] (  5, 11   )     ref  ->  registers   class-hnd <System.Diagnostics.DiagnosticSourceEventSource+TransformSpec>
+;  V02 loc1         [V02,T02] (  4, 10   )     ref  ->   x1         class-hnd exact <System.Diagnostics.DiagnosticSourceEventSource+TransformSpec>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -22,9 +22,16 @@ G_M15149_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ; gcrRegs +[x0]
             mov     x15, xzr
             ; gcrRegs +[x15]
-            cbz     x0, G_M15149_IG04
-                       ;; size=8 bbWeight=1 PerfScore 1.50
+            cbz     x0, G_M15149_IG07
+            ldr     x1, [x0, #0x08]
+            ; gcrRegs +[x1]
+            str     xzr, [x0, #0x08]
+            mov     x15, x0
+            mov     x0, x1
+            cbz     x0, G_M15149_IG06
+                       ;; size=28 bbWeight=1 PerfScore 7.50
 G_M15149_IG03:        ; bbWeight=4, gcrefRegs=8001 {x0 x15}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x1]
             ldr     x1, [x0, #0x08]
             ; gcrRegs +[x1]
             add     x14, x0, #8
@@ -32,22 +39,34 @@ G_M15149_IG03:        ; bbWeight=4, gcrefRegs=8001 {x0 x15}, byrefRegs=0000 {},
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
             ; byrRegs -[x14]
-            mov     x15, x0
-            ; gcrRegs +[x15]
-            mov     x0, x1
-            cbnz    x0, G_M15149_IG03
-                       ;; size=24 bbWeight=4 PerfScore 26.00
-G_M15149_IG04:        ; bbWeight=1, gcrefRegs=8000 {x15}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0-x1]
-            mov     x0, x15
-            ; gcrRegs +[x0]
-                       ;; size=4 bbWeight=1 PerfScore 0.50
-G_M15149_IG05:        ; bbWeight=1, epilog, nogc, extend
+            cbnz    x1, G_M15149_IG05
+                       ;; size=16 bbWeight=4 PerfScore 22.00
+G_M15149_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+            ; gcrRegs -[x1]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
+G_M15149_IG05:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs +[x1]
+            mov     x15, x0
+            ; gcrRegs +[x15]
+            mov     x0, x1
+            b       G_M15149_IG03
+                       ;; size=12 bbWeight=2 PerfScore 4.00
+G_M15149_IG06:        ; bbWeight=0.50, gcrefRegs=8000 {x15}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0-x1]
+            mov     x0, x15
+            ; gcrRegs +[x0]
+            b       G_M15149_IG04
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
+G_M15149_IG07:        ; bbWeight=0.50, gcrefRegs=8000 {x15}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x15
+            ; gcrRegs +[x0]
+            b       G_M15149_IG04
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
 
-; Total bytes of code 52, prolog size 8, PerfScore 31.50, instruction count 13, allocated bytes for code 52 (MethodHash=8c6bc4d2) for method System.Diagnostics.DiagnosticSourceEventSource+FilterAndTransform:Reverse(System.Diagnostics.DiagnosticSourceEventSource+TransformSpec):System.Diagnostics.DiagnosticSourceEventSource+TransformSpec (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 38.50, instruction count 22, allocated bytes for code 88 (MethodHash=8c6bc4d2) for method System.Diagnostics.DiagnosticSourceEventSource+FilterAndTransform:Reverse(System.Diagnostics.DiagnosticSourceEventSource+TransformSpec):System.Diagnostics.DiagnosticSourceEventSource+TransformSpec (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -58,7 +77,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 13 (0x0000d) Actual length = 52 (0x000034)
+  Function Length   : 22 (0x00016) Actual length = 88 (0x000058)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+48 (+70.59%) : 229367.dasm - System.Data.SqlTypes.SqlDecimal:MpNormalize(System.ReadOnlySpan`1[uint],byref) (FullOpts)
@@ -8,13 +8,15 @@
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[uint]>
-;  V01 arg1         [V01,T02] (  4, 12   )   byref  ->   x2         single-def
+;  V01 arg1         [V01,T02] (  6, 13.25)   byref  ->   x2         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T00] (  3, 24   )     int  ->   x4         "Span.get_Item index"
-;  V04 tmp2         [V04,T04] (  2,  5   )   byref  ->   x0         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
-;  V05 tmp3         [V05,T05] (  2,  5   )     int  ->   x1         single-def "field V00._length (fldOffset=0x8)" P-INDEP
+;  V03 tmp1         [V03,T00] (  6, 27   )     int  ->   x4         "Span.get_Item index"
+;  V04 tmp2         [V04,T04] (  3,  5.50)   byref  ->   x0         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
+;  V05 tmp3         [V05,T05] (  3,  5.50)     int  ->   x1         single-def "field V00._length (fldOffset=0x8)" P-INDEP
 ;  V06 cse0         [V06,T03] (  3, 10   )     int  ->   x3         "CSE - aggressive"
-;  V07 cse1         [V07,T01] (  3, 20   )     int  ->   x3         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  3,  1.25)     int  ->   x3         "CSE - moderate"
+;  V08 cse2         [V08,T01] (  3, 20   )     int  ->   x3         "CSE - aggressive"
+;  V09 cse3         [V09,T06] (  3,  2.50)     int  ->   x3         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -26,34 +28,56 @@ G_M33876_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, b
             ; byrRegs +[x0 x2]
             b       G_M33876_IG04
                        ;; size=4 bbWeight=1 PerfScore 1.00
-G_M33876_IG03:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref
+G_M33876_IG03:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref
             str     w3, [x2]
-                        ;; size=4 bbWeight=2 PerfScore 2.00
-G_M33876_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
+            b       G_M33876_IG08
+                       ;; size=8 bbWeight=0.25 PerfScore 0.50
+G_M33876_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
             ldr     w3, [x2]
             cmp     w3, #1
-            ble     G_M33876_IG06
-                       ;; size=12 bbWeight=8 PerfScore 36.00
-G_M33876_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
+            ble     G_M33876_IG10
+                       ;; size=12 bbWeight=1 PerfScore 4.50
+G_M33876_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
             sub     w3, w3, #1
             sxtw    w4, w3
             cmp     w4, w1
-            bhs     G_M33876_IG07
+            bhs     G_M33876_IG11
             ldr     w4, [x0, w4, UXTW #2]
             cbz     w4, G_M33876_IG03
+                        ;; size=24 bbWeight=0.50 PerfScore 3.25
+G_M33876_IG06:        ; bbWeight=0.12, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x0 x2]
+            b       G_M33876_IG10
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M33876_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref
+            ; byrRegs +[x0 x2]
+            str     w3, [x2]
+                       ;; size=4 bbWeight=2 PerfScore 2.00
+G_M33876_IG08:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
+            ldr     w3, [x2]
+            cmp     w3, #1
+            ble     G_M33876_IG10
+                       ;; size=12 bbWeight=8 PerfScore 36.00
+G_M33876_IG09:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
+            sub     w3, w3, #1
+            sxtw    w4, w3
+            cmp     w4, w1
+            bhs     G_M33876_IG11
+            ldr     w4, [x0, w4, UXTW #2]
+            cbz     w4, G_M33876_IG07
                       ;; size=24 bbWeight=4 PerfScore 26.00
-G_M33876_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M33876_IG10:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; byrRegs -[x0 x2]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M33876_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M33876_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 68.50, instruction count 17, allocated bytes for code 68 (MethodHash=39ed7bab) for method System.Data.SqlTypes.SqlDecimal:MpNormalize(System.ReadOnlySpan`1[uint],byref) (FullOpts)
+; Total bytes of code 116, prolog size 8, PerfScore 76.88, instruction count 29, allocated bytes for code 116 (MethodHash=39ed7bab) for method System.Data.SqlTypes.SqlDecimal:MpNormalize(System.ReadOnlySpan`1[uint],byref) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -64,7 +88,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
libraries_tests.run.linux.arm64.Release.mch
-36 (-15.00%) : 413723.dasm - System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]:NextRandom():ubyte:this (Tier1)
@@ -7,11 +7,11 @@
 ; 2 inlinees with PGO data; 6 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]>
+;  V00 this         [V00,T01] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]>
 ;  V01 loc0         [V01    ] (  2,  2   )   ubyte  ->  [fp+0x1C]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V04 tmp2         [V04,T02] (  5,  5   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Random>
+;  V04 tmp2         [V04,T00] (  5,  5   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Random>
 ;* V05 tmp3         [V05    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Random>
 ;* V07 tmp5         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
@@ -19,34 +19,33 @@
 ;* V09 tmp7         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V10 tmp8         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V11 tmp9         [V11    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V12 tmp10        [V12,T05] (  5,  3   )     ref  ->   x0         single-def "guarded devirt arg temp"
+;  V12 tmp10        [V12,T02] (  5,  3   )     ref  ->   x0         single-def "guarded devirt arg temp"
 ;* V13 tmp11        [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <System.Random+Net5CompatSeedImpl>
-;  V14 tmp12        [V14,T00] (  5, 16.50)     int  ->  x21         "Inline stloc first use temp"
+;* V14 tmp12        [V14,T07] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V15 tmp13        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V16 tmp14        [V16,T01] (  2,  9   )   byref  ->  x19         single-def "Inlining Arg"
+;  V16 tmp14        [V16,T03] (  2,  2   )   byref  ->   x0         single-def "Inlining Arg"
 ;* V17 tmp15        [V17    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
-;  V18 tmp16        [V18,T06] (  2,  2   )   byref  ->  x20         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V18 tmp16        [V18,T04] (  2,  2   )   byref  ->  x20         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
 ;* V19 tmp17        [V19    ] (  0,  0   )     int  ->  zero-ref    single-def "field V03._length (fldOffset=0x8)" P-INDEP
 ;* V20 tmp18        [V20    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V21 tmp19        [V21    ] (  0,  0   )     int  ->  zero-ref    single-def "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V22 tmp20        [V22    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V07._reference (fldOffset=0x0)" P-INDEP
 ;* V23 tmp21        [V23    ] (  0,  0   )     int  ->  zero-ref    single-def "field V07._length (fldOffset=0x8)" P-INDEP
-;  V24 tmp22        [V24,T07] (  4,  1.50)   byref  ->  x20         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;  V24 tmp22        [V24,T05] (  4,  1.50)   byref  ->  x20         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
 ;* V25 tmp23        [V25,T08] (  0,  0   )     int  ->  zero-ref    single-def "field V08._length (fldOffset=0x8)" P-INDEP
 ;* V26 tmp24        [V26    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
 ;* V27 tmp25        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
-;  V28 tmp26        [V28,T04] (  2,  4.50)   byref  ->  x20         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V28 tmp26        [V28,T06] (  2,  1   )   byref  ->  x20         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V29 tmp27        [V29,T09] (  0,  0   )     int  ->  zero-ref    single-def "field V15._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 16
 
 G_M4386_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
+            stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
             mov     fp, sp
             str     wzr, [fp, #0x1C]   // [V01 loc0]
-                     ;; size=20 bbWeight=1 PerfScore 4.50
+                      ;; size=16 bbWeight=1 PerfScore 3.50
 G_M4386_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x19, [x0, #0x08]
@@ -65,7 +64,7 @@ G_M4386_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x0, x1
-            bne     G_M4386_IG08
+            bne     G_M4386_IG07
                      ;; size=56 bbWeight=1 PerfScore 15.50
 G_M4386_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref, isz
             ldr     x0, [x19, #0x08]
@@ -75,41 +74,29 @@ G_M4386_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=100000 {x
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            bne     G_M4386_IG07
-            add     x19, x0, #8
-            ; gcrRegs -[x19]
-            ; byrRegs +[x19]
-            mov     w21, wzr
-                       ;; size=36 bbWeight=0.50 PerfScore 5.00
-G_M4386_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=180000 {x19 x20}, byref, isz
+            bne     G_M4386_IG06
+            add     x0, x0, #8
             ; gcrRegs -[x0]
-            mov     w0, w21
-            add     x22, x20, x0
-            ; byrRegs +[x22]
-            mov     x0, x19
             ; byrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Random+CompatPrng:InternalSample():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
+            ; gcrRegs -[x19]
             ; byrRegs -[x0]
-            strb    w0, [x22]
-            add     w21, w21, #1
-            cmp     w21, #0
-            ble     G_M4386_IG04
-                       ;; size=48 bbWeight=4 PerfScore 40.00
-G_M4386_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x19-x20 x22]
+            strb    w0, [x20]
+                       ;; size=56 bbWeight=0.50 PerfScore 8.00
+G_M4386_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x20]
             ldrb    w0, [fp, #0x1C]    // [V01 loc0]
                        ;; size=4 bbWeight=1 PerfScore 2.00
-G_M4386_IG06:        ; bbWeight=1, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
+G_M4386_IG05:        ; bbWeight=1, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=16 bbWeight=1 PerfScore 4.00
-G_M4386_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20}, gcvars, byref
+                        ;; size=12 bbWeight=1 PerfScore 3.00
+G_M4386_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20}, gcvars, byref
             ; gcrRegs +[x0]
             ; byrRegs +[x20]
             mov     x1, x20
@@ -121,9 +108,9 @@ G_M4386_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x
             blr     x3
             ; gcrRegs -[x0]
             ; byrRegs -[x1 x20]
-            b       G_M4386_IG05
+            b       G_M4386_IG04
                         ;; size=28 bbWeight=0 PerfScore 0.00
-G_M4386_IG08:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref
+G_M4386_IG07:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref
             ; gcrRegs +[x19]
             ; byrRegs +[x20]
             mov     x1, x20
@@ -137,10 +124,10 @@ G_M4386_IG08:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}
             blr     x3
             ; gcrRegs -[x0 x19]
             ; byrRegs -[x1 x20]
-            b       G_M4386_IG05
+            b       G_M4386_IG04
                         ;; size=32 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 240, prolog size 20, PerfScore 71.00, instruction count 60, allocated bytes for code 240 (MethodHash=e971eedd) for method System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]:NextRandom():ubyte:this (Tier1)
+; Total bytes of code 204, prolog size 16, PerfScore 32.00, instruction count 51, allocated bytes for code 204 (MethodHash=e971eedd) for method System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]:NextRandom():ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -151,7 +138,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 60 (0x0003c) Actual length = 240 (0x0000f0)
+  Function Length   : 51 (0x00033) Actual length = 204 (0x0000cc)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -159,9 +146,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
     C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
     E4          end
     E4          end
     E4          end
  
-36 (-15.00%) : 421388.dasm - System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]:NextRandom():byte:this (Tier1)
@@ -7,11 +7,11 @@
 ; 2 inlinees with PGO data; 6 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]>
+;  V00 this         [V00,T01] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]>
 ;  V01 loc0         [V01    ] (  2,  2.00)    byte  ->  [fp+0x1C]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[byte]>
-;  V04 tmp2         [V04,T02] (  5,  5.00)     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Random>
+;  V04 tmp2         [V04,T00] (  5,  5.00)     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Random>
 ;* V05 tmp3         [V05    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Random>
 ;* V07 tmp5         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[byte]>
@@ -19,34 +19,33 @@
 ;* V09 tmp7         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[byte]>
 ;* V10 tmp8         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V11 tmp9         [V11    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V12 tmp10        [V12,T05] (  5,  3   )     ref  ->   x0         single-def "guarded devirt arg temp"
+;  V12 tmp10        [V12,T02] (  5,  3   )     ref  ->   x0         single-def "guarded devirt arg temp"
 ;* V13 tmp11        [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <System.Random+Net5CompatSeedImpl>
-;  V14 tmp12        [V14,T00] (  5, 16.50)     int  ->  x21         "Inline stloc first use temp"
+;* V14 tmp12        [V14,T07] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V15 tmp13        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V16 tmp14        [V16,T01] (  2,  9   )   byref  ->  x19         single-def "Inlining Arg"
+;  V16 tmp14        [V16,T03] (  2,  2   )   byref  ->   x0         single-def "Inlining Arg"
 ;* V17 tmp15        [V17    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
-;  V18 tmp16        [V18,T06] (  2,  2.00)   byref  ->  x20         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V18 tmp16        [V18,T04] (  2,  2.00)   byref  ->  x20         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
 ;* V19 tmp17        [V19    ] (  0,  0   )     int  ->  zero-ref    single-def "field V03._length (fldOffset=0x8)" P-INDEP
 ;* V20 tmp18        [V20    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V21 tmp19        [V21    ] (  0,  0   )     int  ->  zero-ref    single-def "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V22 tmp20        [V22    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V07._reference (fldOffset=0x0)" P-INDEP
 ;* V23 tmp21        [V23    ] (  0,  0   )     int  ->  zero-ref    single-def "field V07._length (fldOffset=0x8)" P-INDEP
-;  V24 tmp22        [V24,T07] (  4,  1.50)   byref  ->  x20         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;  V24 tmp22        [V24,T05] (  4,  1.50)   byref  ->  x20         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
 ;* V25 tmp23        [V25,T08] (  0,  0   )     int  ->  zero-ref    single-def "field V08._length (fldOffset=0x8)" P-INDEP
 ;* V26 tmp24        [V26    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
 ;* V27 tmp25        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
-;  V28 tmp26        [V28,T04] (  2,  4.50)   byref  ->  x20         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V28 tmp26        [V28,T06] (  2,  1   )   byref  ->  x20         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V29 tmp27        [V29,T09] (  0,  0   )     int  ->  zero-ref    single-def "field V15._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 16
 
 G_M24034_IG01:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
+            stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
             mov     fp, sp
             str     wzr, [fp, #0x1C]   // [V01 loc0]
-                     ;; size=20 bbWeight=1.00 PerfScore 4.50
+                       ;; size=16 bbWeight=1.00 PerfScore 3.50
 G_M24034_IG02:        ; bbWeight=1.00, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x19, [x0, #0x08]
@@ -65,7 +64,7 @@ G_M24034_IG02:        ; bbWeight=1.00, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x0, x1
-            bne     G_M24034_IG08
+            bne     G_M24034_IG07
                        ;; size=56 bbWeight=1.00 PerfScore 15.50
 G_M24034_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref, isz
             ldr     x0, [x19, #0x08]
@@ -75,41 +74,29 @@ G_M24034_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=100000 {
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            bne     G_M24034_IG07
-            add     x19, x0, #8
-            ; gcrRegs -[x19]
-            ; byrRegs +[x19]
-            mov     w21, wzr
-                       ;; size=36 bbWeight=0.50 PerfScore 5.00
-G_M24034_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=180000 {x19 x20}, byref, isz
+            bne     G_M24034_IG06
+            add     x0, x0, #8
             ; gcrRegs -[x0]
-            mov     w0, w21
-            add     x22, x20, x0
-            ; byrRegs +[x22]
-            mov     x0, x19
             ; byrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Random+CompatPrng:InternalSample():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
+            ; gcrRegs -[x19]
             ; byrRegs -[x0]
-            strb    w0, [x22]
-            add     w21, w21, #1
-            cmp     w21, #0
-            ble     G_M24034_IG04
-                       ;; size=48 bbWeight=4 PerfScore 40.00
-G_M24034_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x19-x20 x22]
+            strb    w0, [x20]
+                       ;; size=56 bbWeight=0.50 PerfScore 8.00
+G_M24034_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x20]
             ldrsb   x0, [fp, #0x1C]    // [V01 loc0]
                        ;; size=4 bbWeight=1 PerfScore 2.00
-G_M24034_IG06:        ; bbWeight=1, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
+G_M24034_IG05:        ; bbWeight=1, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                     ;; size=16 bbWeight=1 PerfScore 4.00
-G_M24034_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20}, gcvars, byref
+                       ;; size=12 bbWeight=1 PerfScore 3.00
+G_M24034_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20}, gcvars, byref
             ; gcrRegs +[x0]
             ; byrRegs +[x20]
             mov     x1, x20
@@ -121,9 +108,9 @@ G_M24034_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {
             blr     x3
             ; gcrRegs -[x0]
             ; byrRegs -[x1 x20]
-            b       G_M24034_IG05
+            b       G_M24034_IG04
                       ;; size=28 bbWeight=0 PerfScore 0.00
-G_M24034_IG08:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref
+G_M24034_IG07:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref
             ; gcrRegs +[x19]
             ; byrRegs +[x20]
             mov     x1, x20
@@ -137,10 +124,10 @@ G_M24034_IG08:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20
             blr     x3
             ; gcrRegs -[x0 x19]
             ; byrRegs -[x1 x20]
-            b       G_M24034_IG05
+            b       G_M24034_IG04
                       ;; size=32 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 240, prolog size 20, PerfScore 71.00, instruction count 60, allocated bytes for code 240 (MethodHash=a7c0a21d) for method System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]:NextRandom():byte:this (Tier1)
+; Total bytes of code 204, prolog size 16, PerfScore 32.00, instruction count 51, allocated bytes for code 204 (MethodHash=a7c0a21d) for method System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]:NextRandom():byte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -151,7 +138,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 60 (0x0003c) Actual length = 240 (0x0000f0)
+  Function Length   : 51 (0x00033) Actual length = 204 (0x0000cc)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -159,9 +146,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
     C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
     E4          end
     E4          end
     E4          end
  
-48 (-8.89%) : 173956.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1)
@@ -9,11 +9,11 @@
 ; 2 inlinees with PGO data; 10 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] ( 11, 13.30)     ref  ->  [fp+0x18]  this class-hnd EH-live single-def <Microsoft.CodeAnalysis.PEModule>
-;  V01 loc0         [V01    ] (  9, 56.99)  struct (16) [fp+0x30]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.Reflection.Metadata.CustomAttributeHandleCollection+Enumerator>
-;  V02 loc1         [V02    ] (  4,  0.04)  struct (16) [fp+0x20]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Reflection.Metadata.CustomAttributeHandleCollection>
+;  V00 this         [V00,T04] ( 10,  4.03)     ref  ->  [fp+0x10]  this class-hnd EH-live single-def <Microsoft.CodeAnalysis.PEModule>
+;  V01 loc0         [V01    ] (  9,  0.07)  struct (16) [fp+0x28]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.Reflection.Metadata.CustomAttributeHandleCollection+Enumerator>
+;  V02 loc1         [V02    ] (  4,  0.04)  struct (16) [fp+0x18]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Reflection.Metadata.CustomAttributeHandleCollection>
 ;* V03 loc2         [V03    ] (  0,  0   )  struct ( 8) zero-ref    <System.Reflection.Metadata.CustomAttributeHandle>
-;  V04 loc3         [V04,T01] (  5, 18.56)     int  ->  x20        
+;  V04 loc3         [V04,T02] (  3,  0.02)     int  ->  x20        
 ;* V05 loc4         [V05    ] (  0,  0   )  struct ( 8) zero-ref    <System.Reflection.Metadata.TypeDefinitionHandle>
 ;* V06 loc5         [V06    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op <System.Reflection.Metadata.CustomAttribute>
 ;* V07 loc6         [V07,T17] (  0,  0   )   ubyte  ->  zero-ref   
@@ -29,13 +29,13 @@
 ;* V17 tmp9         [V17    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Reflection.Metadata.CustomAttributeHandle>
 ;* V18 tmp10        [V18    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V19 tmp11        [V19    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.CustomAttributeHandle>
-;* V20 tmp12        [V20,T04] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V21 tmp13        [V21    ] (  3,  9.29)     ref  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V01._reader (fldOffset=0x0)" P-DEP
-;  V22 tmp14        [V22    ] (  3,  9.30)     int  ->  [fp+0x38]  do-not-enreg[X] addr-exposed "field V01._lastRowId (fldOffset=0x8)" P-DEP
-;  V23 tmp15        [V23    ] (  7, 38.42)     int  ->  [fp+0x3C]  do-not-enreg[X] addr-exposed "field V01._currentRowId (fldOffset=0xc)" P-DEP
-;  V24 tmp16        [V24    ] (  2,  0.02)     ref  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V02._reader (fldOffset=0x0)" P-DEP
-;  V25 tmp17        [V25    ] (  2,  0.02)     int  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._firstRowId (fldOffset=0x8)" P-DEP
-;  V26 tmp18        [V26    ] (  2,  0.02)     int  ->  [fp+0x2C]  do-not-enreg[X] addr-exposed "field V02._lastRowId (fldOffset=0xc)" P-DEP
+;* V20 tmp12        [V20,T00] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V21 tmp13        [V21    ] (  3,  0.02)     ref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V01._reader (fldOffset=0x0)" P-DEP
+;  V22 tmp14        [V22    ] (  3,  0.02)     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V01._lastRowId (fldOffset=0x8)" P-DEP
+;  V23 tmp15        [V23    ] (  7,  0.05)     int  ->  [fp+0x34]  do-not-enreg[X] addr-exposed "field V01._currentRowId (fldOffset=0xc)" P-DEP
+;  V24 tmp16        [V24    ] (  2,  0.02)     ref  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V02._reader (fldOffset=0x0)" P-DEP
+;  V25 tmp17        [V25    ] (  2,  0.02)     int  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V02._firstRowId (fldOffset=0x8)" P-DEP
+;  V26 tmp18        [V26    ] (  2,  0.02)     int  ->  [fp+0x24]  do-not-enreg[X] addr-exposed "field V02._lastRowId (fldOffset=0xc)" P-DEP
 ;* V27 tmp19        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V03._rowId (fldOffset=0x0)" P-INDEP
 ;  V28 tmp20        [V28,T13] (  2,  0   )     int  ->   x1         "field V05._rowId (fldOffset=0x0)" P-INDEP
 ;  V29 tmp21        [V29,T10] (  3,  0   )     ref  ->   x0         "field V06._reader (fldOffset=0x0)" P-INDEP
@@ -44,28 +44,27 @@
 ;  V32 tmp24        [V32,T07] (  3,  0.03)     ref  ->   x0         single-def "field V12._reader (fldOffset=0x0)" P-INDEP
 ;* V33 tmp25        [V33,T09] (  0,  0   )     int  ->  zero-ref    single-def "field V12._firstRowId (fldOffset=0x8)" P-INDEP
 ;  V34 tmp26        [V34,T08] (  2,  0.02)     int  ->   x1         single-def "field V12._lastRowId (fldOffset=0xc)" P-INDEP
-;  V35 tmp27        [V35,T00] (  6, 18.56)     int  ->  x19         "field V13._rowId (fldOffset=0x0)" P-INDEP
-;  V36 tmp28        [V36,T02] (  2, 18.56)     int  ->  x19         "field V15._rowId (fldOffset=0x0)" P-INDEP
+;  V35 tmp27        [V35,T01] (  5,  0.02)     int  ->  x19         "field V13._rowId (fldOffset=0x0)" P-INDEP
+;  V36 tmp28        [V36,T03] (  2,  0.02)     int  ->  x19         "field V15._rowId (fldOffset=0x0)" P-INDEP
 ;* V37 tmp29        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V17._rowId (fldOffset=0x0)" P-INDEP
 ;  V38 tmp30        [V38,T16] (  2,  0   )     int  ->   x1         "field V19._rowId (fldOffset=0x0)" P-INDEP
 ;  V39 tmp31        [V39,T12] (  2,  0   )     ref  ->   x0         "argument with side effect"
-;  V40 PSPSym       [V40,T05] (  1,  1   )    long  ->  [fp+0x40]  do-not-enreg[V] "PSPSym"
+;  V40 PSPSym       [V40,T05] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 56
+; Lcl frame size = 48
 
 G_M13056_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x48]
-            str     x21, [sp, #0x58]
+            stp     fp, lr, [sp, #-0x50]!
+            stp     x19, x20, [sp, #0x40]
             mov     fp, sp
-            stp     xzr, xzr, [fp, #0x30] // [V01 loc0], [V01 loc0+0x08]
-            stp     xzr, xzr, [fp, #0x20]  // [V02 loc1], [V02 loc1+0x08]
-            add     x1, sp, #96
-            str     x1, [fp, #0x40]    // [V40 PSPSym]
-            str     x0, [fp, #0x18]    // [V00 this]
+            stp     xzr, xzr, [fp, #0x28]    // [V01 loc0], [V01 loc0+0x08]
+            stp     xzr, xzr, [fp, #0x18]  // [V02 loc1], [V02 loc1+0x08]
+            add     x1, sp, #80
+            str     x1, [fp, #0x38]    // [V40 PSPSym]
+            str     x0, [fp, #0x10]    // [V00 this]
             ; GC ptr vars +{V00}
-                     ;; size=36 bbWeight=1 PerfScore 8.00
-G_M13056_IG02:        ; bbWeight=1, gcVars=0000000000000008 {V00}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+                        ;; size=32 bbWeight=1 PerfScore 7.00
+G_M13056_IG02:        ; bbWeight=1, gcVars=0000000000000010 {V00}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x0]
             ldrb    w1, [x0, #0x6D]
             cbz     w1, G_M13056_IG06
@@ -77,22 +76,21 @@ G_M13056_IG03:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             cset    x0, eq
                        ;; size=12 bbWeight=1 PerfScore 4.00
 G_M13056_IG04:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x21, [sp, #0x58]
-            ldp     x19, x20, [sp, #0x48]
-            ldp     fp, lr, [sp], #0x60
+            ldp     x19, x20, [sp, #0x40]
+            ldp     fp, lr, [sp], #0x50
             ret     lr
-                        ;; size=16 bbWeight=1 PerfScore 5.00
-G_M13056_IG05:        ; bbWeight=0.01, gcVars=0000000000000008 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                        ;; size=12 bbWeight=1 PerfScore 3.00
+G_M13056_IG05:        ; bbWeight=0.01, gcVars=0000000000000010 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
-            ldr     x20, [fp, #0x18]  // [V00 this]
-            ; gcrRegs +[x20]
-            strb    w0, [x20, #0x6D]
-            mov     x0, x20
+            ldr     x1, [fp, #0x10]   // [V00 this]
+            ; gcrRegs +[x1]
+            strb    w0, [x1, #0x6D]
+            ldr     x0, [fp, #0x10]    // [V00 this]
             ; gcrRegs +[x0]
             b       G_M13056_IG03
-                        ;; size=20 bbWeight=0.01 PerfScore 0.05
+                       ;; size=20 bbWeight=0.01 PerfScore 0.06
 G_M13056_IG06:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x20]
+            ; gcrRegs -[x1]
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.PEModule:get_MetadataReader():System.Reflection.Metadata.MetadataReader:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
@@ -100,11 +98,11 @@ G_M13056_IG06:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
             blr     x1
             ; gcr arg pop 0
             ldr     w1, [x0, #0xD1FFAB1E]
-            str     x0, [fp, #0x20] // [V24 tmp16]
+            str     x0, [fp, #0x18] // [V24 tmp16]
             mov     w0, #1
             ; gcrRegs -[x0]
-            stp     w0, w1, [fp, #0x28]   // [V25 tmp17], [V26 tmp18]
-            add     x0, fp, #32    // [V02 loc1]
+            stp     w0, w1, [fp, #0x20]  // [V25 tmp17], [V26 tmp18]
+            add     x0, fp, #24    // [V02 loc1]
             movz    x1, #0xD1FFAB1E      // code for System.Reflection.Metadata.CustomAttributeHandleCollection:GetEnumerator():System.Reflection.Metadata.CustomAttributeHandleCollection+Enumerator:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
@@ -112,81 +110,30 @@ G_M13056_IG06:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
             blr     x1
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            stp     x0, x1, [fp, #0x30]   // [V01 loc0], [V01 loc0+0x08]
-            b       G_M13056_IG08
-                       ;; size=68 bbWeight=0.01 PerfScore 0.19
-G_M13056_IG07:        ; bbWeight=9.28, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            stp     x0, x1, [fp, #0x28]   // [V01 loc0], [V01 loc0+0x08]
+                       ;; size=64 bbWeight=0.01 PerfScore 0.18
+G_M13056_IG07:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [fp, #0x30]    // [V21 tmp13]
-            ; gcrRegs +[x0]
-            ldr     x0, [x0, #0xD1FFAB1E]
-            cbnz    x0, G_M13056_IG10
-            ldr     w0, [fp, #0x3C]    // [V23 tmp15]
-            ; gcrRegs -[x0]
-            and     w19, w0, #0xD1FFAB1E
-            ldr     x0, [fp, #0x18]    // [V00 this]
-            ; gcrRegs +[x0]
-            mov     w1, w19
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            ; gcrRegs -[x0]
-            ; gcr arg pop 0
-            sxtw    w20, w0
-            cmn     w20, #1
-            bne     G_M13056_IG11
-                       ;; size=60 bbWeight=9.28 PerfScore 171.68
-G_M13056_IG08:        ; bbWeight=9.29, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ldp     w1, w0, [fp, #0x38]    // [V22 tmp14], [V23 tmp15]
+            ldp     w1, w0, [fp, #0x30]    // [V22 tmp14], [V23 tmp15]
             cmp     w0, w1
-            bge     G_M13056_IG09
-            ldr     w0, [fp, #0x3C]    // [V23 tmp15]
-            add     w0, w0, #1
-            str     w0, [fp, #0x3C]    // [V23 tmp15]
-            b       G_M13056_IG07
-                       ;; size=28 bbWeight=9.29 PerfScore 74.32
-G_M13056_IG09:        ; bbWeight=1.26, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #0xD1FFAB1E
-            str     w0, [fp, #0x3C]    // [V23 tmp15]
-            b       G_M13056_IG05
-                       ;; size=12 bbWeight=1.26 PerfScore 3.14
-G_M13056_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            add     x0, fp, #48    // [V01 loc0]
-            movz    x1, #0xD1FFAB1E      // code for System.Reflection.Metadata.CustomAttributeHandleCollection+Enumerator:GetCurrentCustomAttributeIndirect():System.Reflection.Metadata.CustomAttributeHandle:this
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1
-            ; gcr arg pop 0
-            sxtw    w19, w0
-            ldr     x0, [fp, #0x18]    // [V00 this]
+            blt     G_M13056_IG14
+                       ;; size=12 bbWeight=0.01 PerfScore 0.03
+G_M13056_IG08:        ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M13056_IG13
+                       ;; size=4 bbWeight=0.00 PerfScore 0.00
+G_M13056_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w0, #2
+            ldr     x1, [fp, #0x10]    // [V00 this]
+            ; gcrRegs +[x1]
+            strb    w0, [x1, #0x6D]
+            mov     x0, x1
             ; gcrRegs +[x0]
-            mov     w1, w19
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movz    x2, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.PEModule:get_MetadataReader():System.Reflection.Metadata.MetadataReader:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            ; gcrRegs -[x0]
-            ; gcr arg pop 0
-            sxtw    w20, w0
-            cmn     w20, #1
-            beq     G_M13056_IG08
-                       ;; size=68 bbWeight=0 PerfScore 0.00
-G_M13056_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #2
-            ldr     x21, [fp, #0x18]   // [V00 this]
-            ; gcrRegs +[x21]
-            strb    w0, [x21, #0x6D]
-            mov     x0, x21
-            ; gcrRegs +[x0]
-            movz    x1, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.PEModule:get_MetadataReader():System.Reflection.Metadata.MetadataReader:this
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1
+            ; gcrRegs -[x1]
             ; gcr arg pop 0
             mov     w1, w19
             movz    x2, #0xD1FFAB1E      // code for System.Reflection.Metadata.MetadataReader:GetCustomAttribute(System.Reflection.Metadata.CustomAttributeHandle):System.Reflection.Metadata.CustomAttribute:this
@@ -215,7 +162,7 @@ G_M13056_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             blr     x1
             ; gcr arg pop 0
             sxtw    w1, w0
-            mov     x0, x21
+            ldr     x0, [fp, #0x10]   // [V00 this]
             ; gcrRegs +[x0]
             mov     w2, w19
             mov     w3, w20
@@ -226,37 +173,81 @@ G_M13056_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             blr     x4
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-                      ;; size=152 bbWeight=0 PerfScore 0.00
-G_M13056_IG12:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x21]
+            b       G_M13056_IG15
+                       ;; size=156 bbWeight=0 PerfScore 0.00
+G_M13056_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, fp, #40    // [V01 loc0]
+            movz    x2, #0xD1FFAB1E      // code for System.Reflection.Metadata.CustomAttributeHandleCollection+Enumerator:GetCurrentCustomAttributeIndirect():System.Reflection.Metadata.CustomAttributeHandle:this
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
...
  
+48 (+66.67%) : 417704.dasm - System.Numerics.Tensors.TensorPrimitives:g_SoftwareFallback|2230System.Int128,System.Numerics.Tensors.TensorPrimitives+IdentityOperator1[System.Int128],System.Numerics.Tensors.TensorPrimitives+MultiplyOperator1[System.Int128] (Tier1)
@@ -9,11 +9,11 @@
 ; 0 inlinees with PGO data; 11 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T12] (  3,131.12)   byref  ->   x0         single-def
+;  V00 arg0         [V00,T12] (  4,132.11)   byref  ->   x0         single-def
 ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.Int128>
-;  V02 arg2         [V02,T13] (  3,131.12)   byref  ->   x3         single-def
-;  V03 arg3         [V03,T11] (  4,132.12)    long  ->   x4         single-def
-;  V04 loc0         [V04,T02] (  5,517.48)    long  ->   x5        
+;  V02 arg2         [V02,T13] (  4,132.11)   byref  ->   x3         single-def
+;  V03 arg3         [V03,T11] (  5,133.11)    long  ->   x4         single-def
+;  V04 loc0         [V04,T03] (  5,517.47)    long  ->   x9        
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Int128>
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Int128>
@@ -26,8 +26,8 @@
 ;* V14 tmp9         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.UInt128>
 ;* V15 tmp10        [V15    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V16 tmp11        [V16    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V17 tmp12        [V17,T06] (  2,258.24)    long  ->   x9         ld-addr-op "Inline ldloca(s) first use temp"
-;  V18 tmp13        [V18,T07] (  2,258.24)    long  ->   x7         "Inline stloc first use temp"
+;  V17 tmp12        [V17,T06] (  4,260.23)    long  ->  registers   ld-addr-op "Inline ldloca(s) first use temp"
+;  V18 tmp13        [V18,T07] (  4,260.23)    long  ->  registers   "Inline stloc first use temp"
 ;* V19 tmp14        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.UInt128>
 ;* V20 tmp15        [V20    ] (  0,  0   )    long  ->  zero-ref    "Inline return value spill temp"
 ;* V21 tmp16        [V21    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
@@ -36,10 +36,10 @@
 ;* V24 tmp19        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Int128>
 ;* V25 tmp20        [V25    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V26 tmp21        [V26    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V27 tmp22        [V27,T04] (  4,388.36)    long  ->   x1         single-def "field V01._lower (fldOffset=0x0)" P-INDEP
-;  V28 tmp23        [V28,T14] (  2,130.12)    long  ->   x2         single-def "field V01._upper (fldOffset=0x8)" P-INDEP
-;  V29 tmp24        [V29,T03] (  4,516.48)    long  ->   x8         "field V06._lower (fldOffset=0x0)" P-INDEP
-;  V30 tmp25        [V30,T08] (  2,258.24)    long  ->   x7         "field V06._upper (fldOffset=0x8)" P-INDEP
+;  V27 tmp22        [V27,T04] (  7,391.34)    long  ->   x1         single-def "field V01._lower (fldOffset=0x0)" P-INDEP
+;  V28 tmp23        [V28,T14] (  3,131.11)    long  ->   x2         single-def "field V01._upper (fldOffset=0x8)" P-INDEP
+;  V29 tmp24        [V29,T02] (  8,520.45)    long  ->   x6         "field V06._lower (fldOffset=0x0)" P-INDEP
+;  V30 tmp25        [V30,T08] (  4,260.23)    long  ->  registers   "field V06._upper (fldOffset=0x8)" P-INDEP
 ;* V31 tmp26        [V31    ] (  0,  0   )    long  ->  zero-ref    "field V07._lower (fldOffset=0x0)" P-INDEP
 ;* V32 tmp27        [V32    ] (  0,  0   )    long  ->  zero-ref    "field V07._upper (fldOffset=0x8)" P-INDEP
 ;* V33 tmp28        [V33    ] (  0,  0   )    long  ->  zero-ref    "field V08._lower (fldOffset=0x0)" P-INDEP
@@ -54,11 +54,11 @@
 ;* V42 tmp37        [V42    ] (  0,  0   )    long  ->  zero-ref    "field V14._upper (fldOffset=0x8)" P-INDEP
 ;* V43 tmp38        [V43    ] (  0,  0   )    long  ->  zero-ref    "field V19._lower (fldOffset=0x0)" P-INDEP
 ;* V44 tmp39        [V44    ] (  0,  0   )    long  ->  zero-ref    "field V19._upper (fldOffset=0x8)" P-INDEP
-;  V45 tmp40        [V45,T09] (  2,258.24)    long  ->   x9         "field V24._lower (fldOffset=0x0)" P-INDEP
-;  V46 tmp41        [V46,T10] (  2,258.24)    long  ->   x7         "field V24._upper (fldOffset=0x8)" P-INDEP
-;  V47 tmp42        [V47,T00] (  3,774.72)   byref  ->   x7         "BlockOp address local"
-;  V48 tmp43        [V48,T01] (  3,774.72)   byref  ->   x6         "BlockOp address local"
-;  V49 cse0         [V49,T05] (  3,387.36)    long  ->   x6         "CSE - aggressive"
+;  V45 tmp40        [V45,T09] (  4,260.23)    long  ->   x8         "field V24._lower (fldOffset=0x0)" P-INDEP
+;  V46 tmp41        [V46,T10] (  4,260.23)    long  ->   x5         "field V24._upper (fldOffset=0x8)" P-INDEP
+;  V47 tmp42        [V47,T00] (  6,780.68)   byref  ->   x5         "BlockOp address local"
+;  V48 tmp43        [V48,T01] (  6,780.68)   byref  ->   x7         "BlockOp address local"
+;  V49 cse0         [V49,T05] (  3,387.36)    long  ->   x7         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -68,33 +68,51 @@ G_M46552_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M46552_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0009 {x0 x3}, byref, isz
             ; byrRegs +[x0 x3]
-            mov     x5, xzr
-            cbz     x4, G_M46552_IG04
-                       ;; size=8 bbWeight=1 PerfScore 1.50
-G_M46552_IG03:        ; bbWeight=129.12, gcrefRegs=0000 {}, byrefRegs=0009 {x0 x3}, byref, isz
-            lsl     x6, x5, #4
-            add     x7, x0, x6
+            cbz     x4, G_M46552_IG05
+                       ;; size=4 bbWeight=1 PerfScore 1.00
+G_M46552_IG03:        ; bbWeight=0.99, gcrefRegs=0000 {}, byrefRegs=0009 {x0 x3}, byref, isz
+            mov     x5, x0
+            ; byrRegs +[x5]
+            ldp     x6, x7, [x5]
+            mul     x8, x6, x1
+            umulh   x5, x6, x1
+            ; byrRegs -[x5]
+            madd    x7, x7, x1, x5
+            madd    x5, x6, x2, x7
+            mov     x7, x3
             ; byrRegs +[x7]
-            ldp     x8, x7, [x7]
+            stp     x8, x5, [x7]
+            mov     x9, #1
+            cmp     x4, #1
+            bls     G_M46552_IG05
+                       ;; size=44 bbWeight=0.99 PerfScore 24.81
+G_M46552_IG04:        ; bbWeight=129.12, gcrefRegs=0000 {}, byrefRegs=0009 {x0 x3}, byref, isz
             ; byrRegs -[x7]
-            mul     x9, x8, x1
-            umulh   x10, x8, x1
-            madd    x7, x7, x1, x10
-            madd    x7, x8, x2, x7
-            add     x6, x3, x6
-            ; byrRegs +[x6]
-            stp     x9, x7, [x6]
-            add     x5, x5, #1
-            cmp     x5, x4
-            blo     G_M46552_IG03
-                       ;; size=48 bbWeight=129.12 PerfScore 3357.14
-G_M46552_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ; byrRegs -[x0 x3 x6]
+            lsl     x7, x9, #4
+            add     x5, x0, x7
+            ; byrRegs +[x5]
+            ldp     x6, x8, [x5]
+            mul     x5, x6, x1
+            ; byrRegs -[x5]
+            umulh   x10, x6, x1
+            madd    x8, x8, x1, x10
+            madd    x6, x6, x2, x8
+            mov     x8, x5
+            mov     x5, x6
+            add     x7, x3, x7
+            ; byrRegs +[x7]
+            stp     x8, x5, [x7]
+            add     x9, x9, #1
+            cmp     x9, x4
+            blo     G_M46552_IG04
+                       ;; size=56 bbWeight=129.12 PerfScore 3486.26
+G_M46552_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ; byrRegs -[x0 x3 x7]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 72, prolog size 8, PerfScore 3362.14, instruction count 18, allocated bytes for code 72 (MethodHash=deb04a27) for method System.Numerics.Tensors.TensorPrimitives:<InvokeSpanScalarIntoSpan>g__SoftwareFallback|223_0[System.Int128,System.Numerics.Tensors.TensorPrimitives+IdentityOperator`1[System.Int128],System.Numerics.Tensors.TensorPrimitives+MultiplyOperator`1[System.Int128]](byref,System.Int128,byref,ulong) (Tier1)
+; Total bytes of code 120, prolog size 8, PerfScore 3515.56, instruction count 30, allocated bytes for code 120 (MethodHash=deb04a27) for method System.Numerics.Tensors.TensorPrimitives:<InvokeSpanScalarIntoSpan>g__SoftwareFallback|223_0[System.Int128,System.Numerics.Tensors.TensorPrimitives+IdentityOperator`1[System.Int128],System.Numerics.Tensors.TensorPrimitives+MultiplyOperator`1[System.Int128]](byref,System.Int128,byref,ulong) (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -105,7 +123,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 18 (0x00012) Actual length = 72 (0x000048)
+  Function Length   : 30 (0x0001e) Actual length = 120 (0x000078)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+24 (+75.00%) : 175893.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:GetRootScope():Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:this (Tier1)
@@ -8,9 +8,9 @@
 ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 14
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  3,  3   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
-;  V01 loc0         [V01,T01] (  4,  3   )     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
-;  V02 loc1         [V02,T02] (  3,  2   )     ref  ->   x1         class-hnd exact <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
+;  V00 this         [V00,T00] (  4,  4   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
+;  V01 loc0         [V01,T02] (  5,  4   )     ref  ->  registers   class-hnd <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
+;  V02 loc1         [V02,T01] (  6,  5   )     ref  ->   x2         class-hnd exact <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -21,22 +21,42 @@ G_M46173_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M46173_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
-            ldr     x1, [x0, #0x08]
+            mov     x1, x0
             ; gcrRegs +[x1]
-            cbnz    x1, G_M46173_IG04
-                       ;; size=8 bbWeight=1 PerfScore 4.00
-G_M46173_IG03:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x2, [x0, #0x08]
+            ; gcrRegs +[x2]
+            cbnz    x2, G_M46173_IG05
+                       ;; size=12 bbWeight=1 PerfScore 4.50
+G_M46173_IG03:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0 x2]
+            mov     x0, x1
+            ; gcrRegs +[x0]
+                       ;; size=4 bbWeight=1 PerfScore 0.50
+G_M46173_IG04:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M46173_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0]
-            mov     x0, x1
+G_M46173_IG05:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0-x1] +[x2]
+            mov     x1, x2
+            ; gcrRegs +[x1]
+                       ;; size=4 bbWeight=1 PerfScore 0.50
+G_M46173_IG06:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            ldr     x2, [x1, #0x08]
+            ; gcrRegs +[x2]
+            cbz     x2, G_M46173_IG03
+                       ;; size=8 bbWeight=1 PerfScore 4.00
+G_M46173_IG07:        ; bbWeight=0, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x1]
+            mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M46173_IG02
-                       ;; size=8 bbWeight=0 PerfScore 0.00
+            mov     x1, x0
+            ; gcrRegs +[x1]
+            b       G_M46173_IG06
+                       ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 32, prolog size 8, PerfScore 7.50, instruction count 8, allocated bytes for code 32 (MethodHash=03f14ba2) for method Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:GetRootScope():Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:this (Tier1)
+; Total bytes of code 56, prolog size 8, PerfScore 13.00, instruction count 14, allocated bytes for code 56 (MethodHash=03f14ba2) for method Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:GetRootScope():Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -47,7 +67,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 8 (0x00008) Actual length = 32 (0x000020)
+  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+24 (+75.00%) : 673244.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:GetRootScope():Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:this (Tier1)
@@ -8,9 +8,9 @@
 ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 28012
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  3,  3   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
-;  V01 loc0         [V01,T01] (  4,  3   )     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
-;  V02 loc1         [V02,T02] (  3,  2   )     ref  ->   x1         class-hnd exact <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
+;  V00 this         [V00,T00] (  4,  4   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
+;  V01 loc0         [V01,T02] (  5,  4   )     ref  ->  registers   class-hnd <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
+;  V02 loc1         [V02,T01] (  6,  5   )     ref  ->   x2         class-hnd exact <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -21,22 +21,42 @@ G_M46173_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M46173_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
-            ldr     x1, [x0, #0x08]
+            mov     x1, x0
             ; gcrRegs +[x1]
-            cbnz    x1, G_M46173_IG04
-                       ;; size=8 bbWeight=1 PerfScore 4.00
-G_M46173_IG03:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x2, [x0, #0x08]
+            ; gcrRegs +[x2]
+            cbnz    x2, G_M46173_IG05
+                       ;; size=12 bbWeight=1 PerfScore 4.50
+G_M46173_IG03:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0 x2]
+            mov     x0, x1
+            ; gcrRegs +[x0]
+                       ;; size=4 bbWeight=1 PerfScore 0.50
+G_M46173_IG04:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M46173_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0]
-            mov     x0, x1
+G_M46173_IG05:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0-x1] +[x2]
+            mov     x1, x2
+            ; gcrRegs +[x1]
+                       ;; size=4 bbWeight=1 PerfScore 0.50
+G_M46173_IG06:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            ldr     x2, [x1, #0x08]
+            ; gcrRegs +[x2]
+            cbz     x2, G_M46173_IG03
+                       ;; size=8 bbWeight=1 PerfScore 4.00
+G_M46173_IG07:        ; bbWeight=0, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x1]
+            mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M46173_IG02
-                       ;; size=8 bbWeight=0 PerfScore 0.00
+            mov     x1, x0
+            ; gcrRegs +[x1]
+            b       G_M46173_IG06
+                       ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 32, prolog size 8, PerfScore 7.50, instruction count 8, allocated bytes for code 32 (MethodHash=03f14ba2) for method Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:GetRootScope():Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:this (Tier1)
+; Total bytes of code 56, prolog size 8, PerfScore 13.00, instruction count 14, allocated bytes for code 56 (MethodHash=03f14ba2) for method Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:GetRootScope():Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -47,7 +67,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 8 (0x00008) Actual length = 32 (0x000020)
+  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
librariestestsnotieredcompilation.run.linux.arm64.Release.mch
-40 (-9.17%) : 214890.dasm - System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (FullOpts)
@@ -8,36 +8,34 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  3,  3   )     ref  ->  x20         this class-hnd single-def <System.Security.Cryptography.TripleDES>
+;  V00 this         [V00,T04] (  3,  3   )     ref  ->  x20         this class-hnd single-def <System.Security.Cryptography.TripleDES>
 ;  V01 arg1         [V01,T02] (  6,  6   )     ref  ->  x19         class-hnd single-def <ubyte[]>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V03 tmp1         [V03,T07] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V04 tmp2         [V04,T08] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V05 tmp3         [V05,T01] (  2, 10   )     int  ->  x21         "Inlining Arg"
+;  V05 tmp3         [V05,T01] (  2,  4   )     int  ->   x0         "Inlining Arg"
 ;  V06 tmp4         [V06,T05] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.KeySizes[]>
-;  V07 tmp5         [V07    ] (  2,  4   )   ubyte  ->  [fp+0x10]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V07 tmp5         [V07    ] (  2,  1   )   ubyte  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V08 tmp6         [V08,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp7         [V09,T00] (  5, 17   )     int  ->  x22         "Inline stloc first use temp"
+;* V09 tmp7         [V09,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T09] (  2,  0   )     ref  ->  x20         single-def "argument with side effect"
 ;  V11 tmp9         [V11,T10] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
 ;  V12 tmp10        [V12,T11] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
 ;  V13 tmp11        [V13,T12] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
-;  V14 cse0         [V14,T04] (  2,  5   )   byref  ->  x23         hoist "CSE - aggressive"
+;  V14 cse0         [V14,T03] (  2,  2   )   byref  ->   x1         "CSE - aggressive"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M39649_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x20]
             mov     fp, sp
             mov     x20, x0
             ; gcrRegs +[x20]
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=28 bbWeight=1 PerfScore 5.50
-G_M39649_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+                     ;; size=20 bbWeight=1 PerfScore 3.50
+G_M39649_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             mov     x0, x19
             ; gcrRegs +[x0]
             movz    x1, #0xD1FFAB1E
@@ -50,36 +48,26 @@ G_M39649_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             blr     x2
             ; gcrRegs -[x0]
             ldr     w1, [x19, #0x08]
-            lsl     w21, w1, #3
+            lsl     w0, w1, #3
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ; gcrRegs +[x1]
-            mov     w22, wzr
-            add     x23, x1, #16
-            ; byrRegs +[x23]
-                       ;; size=68 bbWeight=1 PerfScore 17.00
-G_M39649_IG03:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=800000 {x23}, byref, isz
+            add     x1, x1, #16
             ; gcrRegs -[x1]
-            ldr     x1, [x23, w22, UXTW #3]
+            ; byrRegs +[x1]
+            ldr     x1, [x1]
             ; gcrRegs +[x1]
-            add     x2, fp, #16   // [V07 tmp5]
-            mov     w0, w21
+            ; byrRegs -[x1]
+            add     x2, fp, #24    // [V07 tmp5]
             movz    x3, #0xD1FFAB1E      // code for System.Security.Cryptography.KeySizeHelpers:IsLegalSize(int,System.Security.Cryptography.KeySizes,byref):ubyte
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             ; gcrRegs -[x1]
-            cbnz    w0, G_M39649_IG04
-            add     w22, w22, #1
-            cmp     w22, #0
-            bgt     G_M39649_IG06
-            b       G_M39649_IG03
-                       ;; size=52 bbWeight=4 PerfScore 54.00
-G_M39649_IG04:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; byrRegs -[x23]
+            cbz     w0, G_M39649_IG04
             mov     x0, x19
             ; gcrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Security.Cryptography.TripleDES:IsWeakKey(ubyte[]):ubyte
@@ -88,7 +76,7 @@ G_M39649_IG04:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ldr     x1, [x1]
             blr     x1
             ; gcrRegs -[x0]
-            cbnz    w0, G_M39649_IG07
+            cbnz    w0, G_M39649_IG05
             mov     x0, x20
             ; gcrRegs +[x0]
             mov     x1, x19
@@ -99,16 +87,14 @@ G_M39649_IG04:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ldr     x2, [x2]
             blr     x2
             ; gcrRegs -[x0-x1 x19-x20]
-                       ;; size=56 bbWeight=1 PerfScore 13.50
-G_M39649_IG05:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x23, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x40
+                      ;; size=152 bbWeight=1 PerfScore 40.00
+G_M39649_IG03:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x20]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=20 bbWeight=1 PerfScore 6.00
-G_M39649_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            strb    wzr, [fp, #0x10]   // [V07 tmp5]
+                     ;; size=12 bbWeight=1 PerfScore 3.00
+G_M39649_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            strb    wzr, [fp, #0x18]   // [V07 tmp5]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -137,7 +123,7 @@ G_M39649_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             bl      CORINFO_HELP_THROW
             ; gcrRegs -[x0 x19]
                        ;; size=80 bbWeight=0 PerfScore 0.00
-G_M39649_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M39649_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -186,7 +172,7 @@ G_M39649_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=132 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 436, prolog size 20, PerfScore 96.00, instruction count 109, allocated bytes for code 436 (MethodHash=dd70651e) for method System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (FullOpts)
+; Total bytes of code 396, prolog size 12, PerfScore 46.50, instruction count 99, allocated bytes for code 396 (MethodHash=dd70651e) for method System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -197,7 +183,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 109 (0x0006d) Actual length = 436 (0x0001b4)
+  Function Length   : 99 (0x00063) Actual length = 396 (0x00018c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -205,9 +191,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D1 07       save_reg X#4 Z#7 (0x07); str x23, [sp, #56]
-    E6          save_next
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
+    E4          end
+    E4          end
     E4          end
 
  
-16 (-8.51%) : 177460.dasm - System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
@@ -12,9 +12,9 @@
 ;  V01 tmp1         [V01,T01] (  4,  8   )     ref  ->   x6         class-hnd exact single-def "dup spill" <System.Type[]>
 ;* V02 tmp2         [V02,T03] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
 ;* V03 tmp3         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
-;  V04 tmp4         [V04,T00] (  5, 20.91)     int  ->   x0         "Inline stloc first use temp"
+;* V04 tmp4         [V04,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V05 tmp5         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
-;  V06 cse0         [V06,T02] (  2,  2.98)   byref  ->   x1         hoist "CSE - aggressive"
+;  V06 cse0         [V06,T02] (  2,  2   )   byref  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -22,7 +22,7 @@ G_M2572_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M2572_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M2572_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -37,23 +37,15 @@ G_M2572_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             str     x0, [x6, #0x10]
-            mov     w0, wzr
-            add     x1, x6, #16
-            ; byrRegs +[x1]
-                       ;; size=48 bbWeight=1 PerfScore 7.00
-G_M2572_IG03:        ; bbWeight=1.98, gcrefRegs=0040 {x6}, byrefRegs=0002 {x1}, byref, isz
-            ldr     x2, [x1, w0, UXTW #3]
-            ; gcrRegs +[x2]
-            cbz     x2, G_M2572_IG07
-                       ;; size=8 bbWeight=1.98 PerfScore 7.91
-G_M2572_IG04:        ; bbWeight=5.98, gcrefRegs=0040 {x6}, byrefRegs=0002 {x1}, byref, isz
-            ; gcrRegs -[x2]
-            add     w0, w0, #1
-            cmp     w0, #1
-            blt     G_M2572_IG03
-                       ;; size=12 bbWeight=5.98 PerfScore 11.95
-G_M2572_IG05:        ; bbWeight=1, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x1]
+            add     x0, x6, #16
+            ; byrRegs +[x0]
+            ldr     x0, [x0]
+            ; gcrRegs +[x0]
+            ; byrRegs -[x0]
+            cbz     x0, G_M2572_IG05
+                       ;; size=52 bbWeight=1 PerfScore 10.50
+G_M2572_IG03:        ; bbWeight=3.02, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -69,13 +61,13 @@ G_M2572_IG05:        ; bbWeight=1, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
             movk    x8, #0xD1FFAB1E LSL #16
             movk    x8, #0xD1FFAB1E LSL #32
             ldr     x8, [x8]
-                     ;; size=60 bbWeight=1 PerfScore 10.00
-G_M2572_IG06:        ; bbWeight=1, epilog, nogc, extend
+                      ;; size=60 bbWeight=3.02 PerfScore 30.24
+G_M2572_IG04:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             br      x8
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M2572_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M2572_IG05:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x6]
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
@@ -94,7 +86,7 @@ G_M2572_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
             brk_unix #0
                        ;; size=44 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 188, prolog size 8, PerfScore 40.36, instruction count 47, allocated bytes for code 188 (MethodHash=7398f5f3) for method System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
+; Total bytes of code 172, prolog size 8, PerfScore 44.24, instruction count 43, allocated bytes for code 172 (MethodHash=7398f5f3) for method System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -105,7 +97,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 47 (0x0002f) Actual length = 188 (0x0000bc)
+  Function Length   : 43 (0x0002b) Actual length = 172 (0x0000ac)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-32 (-8.00%) : 225231.dasm - System.Security.Cryptography.RC2:set_EffectiveKeySize(int):this (FullOpts)
@@ -9,62 +9,58 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T02] (  5,  4   )     ref  ->  x20         this class-hnd single-def <System.Security.Cryptography.RC2>
-;  V01 arg1         [V01,T01] (  7,  9   )     int  ->  x19         single-def
+;  V01 arg1         [V01,T01] (  7,  5.50)     int  ->  x19         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V03 tmp1         [V03,T06] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V04 tmp2         [V04,T07] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V05 tmp3         [V05,T08] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V06 tmp4         [V06,T04] (  2,  2   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.KeySizes[]>
-;  V07 tmp5         [V07    ] (  2,  4   )   ubyte  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V07 tmp5         [V07    ] (  2,  0.50)   ubyte  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V08 tmp6         [V08,T05] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp7         [V09,T00] (  5, 16.50)     int  ->  x21         "Inline stloc first use temp"
+;* V09 tmp7         [V09,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T09] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
 ;  V11 tmp9         [V11,T10] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
 ;  V12 tmp10        [V12,T11] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
-;  V13 cse0         [V13,T03] (  2,  4.50)   byref  ->  x22         hoist "CSE - aggressive"
+;  V13 cse0         [V13,T03] (  2,  1   )   byref  ->   x1         "CSE - aggressive"
 ;
 ; Lcl frame size = 16
 
 G_M43684_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
+            stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
             mov     fp, sp
             mov     x20, x0
             ; gcrRegs +[x20]
             mov     w19, w1
-                      ;; size=24 bbWeight=1 PerfScore 4.50
+                      ;; size=20 bbWeight=1 PerfScore 3.50
 G_M43684_IG02:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
             ldr     w1, [x20, #0x38]
             cmp     w19, w1
-            bgt     G_M43684_IG09
+            bgt     G_M43684_IG07
             cbnz    w19, G_M43684_IG05
                        ;; size=16 bbWeight=1 PerfScore 5.50
 G_M43684_IG03:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
             str     wzr, [x20, #0x3C]
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M43684_IG04:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M43684_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, gcvars, byref, isz
             cmp     w19, #40
-            blt     G_M43684_IG10
+            blt     G_M43684_IG08
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ; gcrRegs +[x1]
-            mov     w21, wzr
-            add     x22, x1, #16
-            ; byrRegs +[x22]
-                       ;; size=32 bbWeight=0.50 PerfScore 3.50
-G_M43684_IG06:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=400000 {x22}, byref, isz
+            add     x1, x1, #16
             ; gcrRegs -[x1]
-            ldr     x1, [x22, w21, UXTW #3]
+            ; byrRegs +[x1]
+            ldr     x1, [x1]
             ; gcrRegs +[x1]
+            ; byrRegs -[x1]
             add     x2, fp, #24    // [V07 tmp5]
             mov     w0, w19
             movz    x3, #0xD1FFAB1E      // code for System.Security.Cryptography.KeySizeHelpers:IsLegalSize(int,System.Security.Cryptography.KeySizes,byref):ubyte
@@ -73,23 +69,15 @@ G_M43684_IG06:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=400000 {x2
             ldr     x3, [x3]
             blr     x3
             ; gcrRegs -[x1]
-            cbnz    w0, G_M43684_IG07
-            add     w21, w21, #1
-            cmp     w21, #0
-            bgt     G_M43684_IG11
-            b       G_M43684_IG06
-                       ;; size=52 bbWeight=4 PerfScore 54.00
-G_M43684_IG07:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x22]
+            cbz     w0, G_M43684_IG09
             str     w19, [x20, #0x3C]
-                     ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M43684_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
+                        ;; size=68 bbWeight=0.50 PerfScore 9.00
+G_M43684_IG06:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                     ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M43684_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+G_M43684_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x20]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -119,7 +107,7 @@ G_M43684_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             bl      CORINFO_HELP_THROW
             ; gcrRegs -[x0 x19]
                        ;; size=76 bbWeight=0 PerfScore 0.00
-G_M43684_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M43684_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -148,7 +136,7 @@ G_M43684_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_THROW
             ; gcrRegs -[x0 x19]
                        ;; size=76 bbWeight=0 PerfScore 0.00
-G_M43684_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M43684_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             strb    wzr, [fp, #0x18]  // [V07 tmp5]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -180,7 +168,7 @@ G_M43684_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=84 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 400, prolog size 16, PerfScore 72.50, instruction count 100, allocated bytes for code 400 (MethodHash=914c555b) for method System.Security.Cryptography.RC2:set_EffectiveKeySize(int):this (FullOpts)
+; Total bytes of code 368, prolog size 12, PerfScore 21.50, instruction count 92, allocated bytes for code 368 (MethodHash=914c555b) for method System.Security.Cryptography.RC2:set_EffectiveKeySize(int):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -191,7 +179,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 100 (0x00064) Actual length = 400 (0x000190)
+  Function Length   : 92 (0x0005c) Actual length = 368 (0x000170)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -202,9 +190,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
     C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
     E4          end
     E4          end
     E4          end
  
+44 (+64.71%) : 69262.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
@@ -7,14 +7,16 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  7, 23   )     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]>
-;  V01 arg1         [V01,T00] (  6, 26   )     int  ->   x1        
+;  V00 this         [V00,T02] ( 11, 25.50)     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]>
+;  V01 arg1         [V01,T00] ( 10, 29   )     int  ->   x1        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T06] (  2, 16   )     int  ->   x1         "arg temp"
-;  V04 tmp2         [V04,T04] (  2, 16   )     ref  ->   x0         single-def "arg temp"
-;  V05 tmp3         [V05,T05] (  2, 16   )     ref  ->   x0         single-def "arg temp"
+;  V03 tmp1         [V03,T06] (  4, 18   )     int  ->   x1         "arg temp"
+;  V04 tmp2         [V04,T04] (  4, 18   )     ref  ->   x0         "arg temp"
+;  V05 tmp3         [V05,T05] (  4, 18   )     ref  ->   x0         "arg temp"
 ;  V06 cse0         [V06,T01] (  4, 28   )     int  ->   x3         "CSE - aggressive"
-;  V07 cse1         [V07,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  4,  3.50)     int  ->   x3         "CSE - aggressive"
+;  V08 cse2         [V08,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V09 cse3         [V09,T08] (  3,  2.50)     ref  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -22,42 +24,65 @@ G_M17963_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M17963_IG02:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M17963_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x2, [x0, #0x10]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x20]
             cmp     w1, w3
             bge     G_M17963_IG04
-                        ;; size=16 bbWeight=8 PerfScore 60.00
-G_M17963_IG03:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+                        ;; size=16 bbWeight=1 PerfScore 7.50
+G_M17963_IG03:        ; bbWeight=0.50, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M17963_IG02
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M17963_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M17963_IG06
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
+G_M17963_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x2]
             cmp     w1, w3
-            ble     G_M17963_IG06
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M17963_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ble     G_M17963_IG10
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M17963_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             sub     w1, w1, w3
             sub     w1, w1, #1
             ldr     x0, [x0, #0x18]
-            b       G_M17963_IG02
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M17963_IG06:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     x2, [x0, #0x10]
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x20]
+            cmp     w1, w3
+            bge     G_M17963_IG08
+                       ;; size=16 bbWeight=8 PerfScore 60.00
+G_M17963_IG07:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x2
+            ; gcrRegs +[x0]
+            b       G_M17963_IG06
+                       ;; size=8 bbWeight=4 PerfScore 6.00
+G_M17963_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            cmp     w1, w3
+            ble     G_M17963_IG10
+                       ;; size=8 bbWeight=8 PerfScore 12.00
+G_M17963_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            sub     w1, w1, w3
+            sub     w1, w1, #1
+            ldr     x0, [x0, #0x18]
+            b       G_M17963_IG06
                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M17963_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M17963_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x0, x0, #8
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M17963_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M17963_IG11:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 102.00, instruction count 17, allocated bytes for code 68 (MethodHash=8272b9d4) for method System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
+; Total bytes of code 112, prolog size 8, PerfScore 113.75, instruction count 28, allocated bytes for code 112 (MethodHash=8272b9d4) for method System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -68,7 +93,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+44 (+68.75%) : 204571.dasm - System.Runtime.Tests.ControlledExecutionTests:RunInfiniteLoop():this (FullOpts)
@@ -8,28 +8,40 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T02] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Runtime.Tests.ControlledExecutionTests>
-;  V01 loc0         [V01,T00] (  3, 24   )     int  ->   x0        
+;  V01 loc0         [V01,T00] (  6, 27   )     int  ->  x20        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 cse0         [V03,T01] (  3, 17   )   byref  ->  x19         hoist "CSE - aggressive"
+;  V03 cse0         [V03,T01] (  5, 19   )   byref  ->  x19         "CSE - aggressive"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M38489_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x20]!
-            str     x19, [sp, #0x18]
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
                        ;; size=12 bbWeight=1 PerfScore 2.50
-G_M38489_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M38489_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             add     x19, x0, #16
             ; byrRegs +[x19]
-                     ;; size=4 bbWeight=1 PerfScore 0.50
-G_M38489_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
-            ; gcrRegs -[x0]
             ldapr   w0, [x19]
-            add     w0, w0, #1
-            stlr    w0, [x19]
-            tst     w0, #0xD1FFAB1E
+            ; gcrRegs -[x0]
+            add     w20, w0, #1
+            stlr    w20, [x19]
+            tst     w20, #0xD1FFAB1E
+            bne     G_M38489_IG03
+            mov     w0, wzr
+            movz    x1, #0xD1FFAB1E      // code for <unknown method>
+            movk    x1, #0xD1FFAB1E LSL #16
+            movk    x1, #0xD1FFAB1E LSL #32
+            ldr     x1, [x1]
+            blr     x1
+            ; gcr arg pop 0
+                       ;; size=48 bbWeight=1 PerfScore 12.50
+G_M38489_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
+            ldapr   w0, [x19]
+            add     w20, w0, #1
+            stlr    w20, [x19]
+            tst     w20, #0xD1FFAB1E
             bne     G_M38489_IG03
             mov     w0, wzr
             movz    x1, #0xD1FFAB1E      // code for <unknown method>
@@ -41,7 +53,7 @@ G_M38489_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, by
             b       G_M38489_IG03
                        ;; size=48 bbWeight=8 PerfScore 104.00
 
-; Total bytes of code 64, prolog size 12, PerfScore 107.00, instruction count 16, allocated bytes for code 64 (MethodHash=e35169a6) for method System.Runtime.Tests.ControlledExecutionTests:RunInfiniteLoop():this (FullOpts)
+; Total bytes of code 108, prolog size 12, PerfScore 119.00, instruction count 27, allocated bytes for code 108 (MethodHash=e35169a6) for method System.Runtime.Tests.ControlledExecutionTests:RunInfiniteLoop():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -52,12 +64,12 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 16 (0x00010) Actual length = 64 (0x000040)
+  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
   ---- Epilog scopes ----
   No epilogs
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
-    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
     83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
     E4          end
     E4          end
  
+48 (+75.00%) : 300106.dasm - System.Threading.Tasks.Tests.CESchedulerPairTests+<>c:b_00():this (FullOpts)
@@ -9,10 +9,10 @@
 ; Final local variable assignments
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <System.Threading.Tasks.Tests.CESchedulerPairTests+<>c>
-;  V01 loc0         [V01    ] (  2, 10   )  struct ( 8) [fp+0x18]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Threading.SpinWait>
+;  V01 loc0         [V01    ] (  4, 11.25)  struct ( 8) [fp+0x18]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Threading.SpinWait>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03,T00] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V04 tmp2         [V04    ] (  2, 10   )     int  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V01._count (fldOffset=0x0)" P-DEP
+;  V04 tmp2         [V04    ] (  4, 11.25)     int  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V01._count (fldOffset=0x0)" P-DEP
 ;
 ; Lcl frame size = 16
 
@@ -24,7 +24,25 @@ G_M31209_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M31209_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             b       G_M31209_IG04
                        ;; size=4 bbWeight=1 PerfScore 1.00
-G_M31209_IG03:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M31209_IG03:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, fp, #24    // [V01 loc0]
+            mov     w1, #20
+            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
+            b       G_M31209_IG07
+                       ;; size=32 bbWeight=0.25 PerfScore 1.88
+G_M31209_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            ldr     w0, [fp, #0x18]    // [V04 tmp2]
+            cmp     w0, #10
+            bge     G_M31209_IG08
+                       ;; size=12 bbWeight=1 PerfScore 3.50
+G_M31209_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M31209_IG03
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
+G_M31209_IG06:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             add     x0, fp, #24 // [V01 loc0]
             mov     w1, #20
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
@@ -33,17 +51,17 @@ G_M31209_IG03:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     x2, [x2]
             blr     x2
                        ;; size=28 bbWeight=2 PerfScore 13.00
-G_M31209_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M31209_IG07:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [fp, #0x18]    // [V04 tmp2]
             cmp     w0, #10
-            blt     G_M31209_IG03
+            blt     G_M31209_IG06
                       ;; size=12 bbWeight=8 PerfScore 28.00
-G_M31209_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M31209_IG08:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=8 bbWeight=4 PerfScore 8.00
 
-; Total bytes of code 64, prolog size 12, PerfScore 52.50, instruction count 16, allocated bytes for code 64 (MethodHash=3fe58616) for method System.Threading.Tasks.Tests.CESchedulerPairTests+<>c:<TestCreationOptions>b__0_0():this (FullOpts)
+; Total bytes of code 112, prolog size 12, PerfScore 58.38, instruction count 28, allocated bytes for code 112 (MethodHash=3fe58616) for method System.Threading.Tasks.Tests.CESchedulerPairTests+<>c:<TestCreationOptions>b__0_0():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -54,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 16 (0x00010) Actual length = 64 (0x000040)
+  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
realworld.run.linux.arm64.checked.mch
-44 (-33.33%) : 2046.dasm - BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
@@ -8,18 +8,17 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T04] (  4,  4   )   byref  ->   x0         single-def
-;  V01 arg1         [V01,T05] (  4,  4   )   byref  ->   x1         single-def
-;  V02 arg2         [V02,T06] (  4,  4   )   byref  ->   x2         single-def
-;* V03 loc0         [V03,T10] (  0,  0   )     int  ->  zero-ref   
-;  V04 loc1         [V04,T07] (  2,  5   )   byref  ->   x2         single-def
-;  V05 loc2         [V05,T08] (  2,  5   )   byref  ->   x1         single-def
-;  V06 loc3         [V06,T00] (  5, 17   )     int  ->   x3        
-;  V07 loc4         [V07,T01] (  4, 16   )   byref  ->   x5        
-;  V08 loc5         [V08,T03] (  3, 12   )   byref  ->   x6        
+;  V00 arg0         [V00,T00] (  4,  4   )   byref  ->   x0         single-def
+;  V01 arg1         [V01,T01] (  4,  4   )   byref  ->   x1         single-def
+;  V02 arg2         [V02,T02] (  4,  4   )   byref  ->   x2         single-def
+;* V03 loc0         [V03,T09] (  0,  0   )     int  ->  zero-ref   
+;  V04 loc1         [V04,T05] (  2,  2   )   byref  ->   x2         single-def
+;  V05 loc2         [V05,T06] (  2,  2   )   byref  ->   x1         single-def
+;* V06 loc3         [V06,T08] (  0,  0   )     int  ->  zero-ref   
+;  V07 loc4         [V07,T03] (  4,  4   )   byref  ->   x0        
+;  V08 loc5         [V08,T04] (  3,  3   )   byref  ->   x2        
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 cse0         [V10,T09] (  2,  5   )   byref  ->   x0         hoist "CSE - aggressive"
-;  V11 cse1         [V11,T02] (  4, 16   )    long  ->   x4         "CSE - aggressive"
+;  V10 cse0         [V10,T07] (  2,  2   )   byref  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -35,41 +34,26 @@ G_M31235_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0007 {x0 x1 x2}
             stp     xzr, xzr, [x2, #0x20]
             str     xzr, [x2, #0x30]
             add     x1, x1, #4
-            mov     w3, wzr
             ldrsb   wzr, [x0]
             add     x0, x0, #28
-                      ;; size=36 bbWeight=1 PerfScore 9.50
-G_M31235_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0007 {x0 x1 x2}, byref, isz
-            sxtw    x4, w3
-            mov     x5, #20
-            mul     x5, x4, x5
-            add     x5, x0, x5
-            ; byrRegs +[x5]
-            lsl     x6, x4, #4
-            add     x6, x2, x6
-            ; byrRegs +[x6]
-            ldr     w7, [x5, #0x10]
-            lsl     x4, x4, #2
-            str     w7, [x1, x4]
-            ldr     d16, [x5]
-            ldr     w4, [x5, #0x08]
-            mov     v16.s[2], w4
-            str     d16, [x6]
-            mov     w4, v16.s[2]
-            str     w4, [x6, #0x08]
-            ldr     s16, [x5, #0x0C]
-            str     s16, [x6, #0x0C]
-            add     w3, w3, #1
-            cmp     w3, #0
-            ble     G_M31235_IG03
-                       ;; size=80 bbWeight=4 PerfScore 104.00
-G_M31235_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ; byrRegs -[x0-x2 x5-x6]
+            ldr     w3, [x0, #0x10]
+            str     w3, [x1]
+            ldr     d16, [x0]
+            ldr     w1, [x0, #0x08]
+            ; byrRegs -[x1]
+            mov     v16.s[2], w1
+            str     d16, [x2]
+            mov     w1, v16.s[2]
+            str     w1, [x2, #0x08]
+            ldr     s16, [x0, #0x0C]
+            str     s16, [x2, #0x0C]
+                       ;; size=72 bbWeight=1 PerfScore 27.00
+G_M31235_IG03:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 132, prolog size 8, PerfScore 117.00, instruction count 33, allocated bytes for code 132 (MethodHash=076885fc) for method BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 30.50, instruction count 22, allocated bytes for code 88 (MethodHash=076885fc) for method BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -80,7 +64,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 33 (0x00021) Actual length = 132 (0x000084)
+  Function Length   : 22 (0x00016) Actual length = 88 (0x000058)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-16 (-6.90%) : 32926.dasm - System.Linq.Expressions.CachedReflectionInfo:getMethodBaseGetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
@@ -15,9 +15,9 @@
 ;* V04 tmp4         [V04,T06] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
 ;* V05 tmp5         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
 ;  V06 tmp6         [V06,T05] (  3,  3   )     ref  ->   x0         class-hnd single-def "dup spill" <System.Reflection.MethodInfo>
-;  V07 tmp7         [V07,T00] (  5, 16.50)     int  ->   x0         "Inline stloc first use temp"
+;* V07 tmp7         [V07,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V08 tmp8         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
-;  V09 cse0         [V09,T01] (  2,  4.50)   byref  ->   x1         hoist "CSE - aggressive"
+;  V09 cse0         [V09,T01] (  2,  1   )   byref  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -31,9 +31,9 @@ G_M10374_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             ; gcrRegs +[x0]
-            cbnz    x0, G_M10374_IG06
+            cbnz    x0, G_M10374_IG04
                       ;; size=20 bbWeight=1 PerfScore 5.50
-G_M10374_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M10374_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -49,22 +49,14 @@ G_M10374_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             str     x0, [x6, #0x10]
-            mov     w0, wzr
-            add     x1, x6, #16
-            ; byrRegs +[x1]
-                       ;; size=48 bbWeight=0.50 PerfScore 3.50
-G_M10374_IG04:        ; bbWeight=4, gcrefRegs=0040 {x6}, byrefRegs=0002 {x1}, byref, isz
-            ldr     x2, [x1, w0, UXTW #3]
-            ; gcrRegs +[x2]
-            cbz     x2, G_M10374_IG07
-            add     w0, w0, #1
-            cmp     w0, #1
-            blt     G_M10374_IG04
-                       ;; size=20 bbWeight=4 PerfScore 24.00
-G_M10374_IG05:        ; bbWeight=0.50, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x2]
-            ; byrRegs -[x1]
+            add     x0, x6, #16
+            ; byrRegs +[x0]
+            ldr     x0, [x0]
+            ; gcrRegs +[x0]
+            ; byrRegs -[x0]
+            cbz     x0, G_M10374_IG05
             movz    x0, #0xD1FFAB1E
+            ; gcrRegs -[x0]
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x1, #0xD1FFAB1E
@@ -89,12 +81,12 @@ G_M10374_IG05:        ; bbWeight=0.50, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, b
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
-                     ;; size=84 bbWeight=0.50 PerfScore 7.00
-G_M10374_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+                      ;; size=136 bbWeight=0.50 PerfScore 12.25
+G_M10374_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M10374_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M10374_IG05:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
@@ -113,7 +105,7 @@ G_M10374_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             brk_unix #0
                        ;; size=44 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 232, prolog size 8, PerfScore 43.50, instruction count 58, allocated bytes for code 232 (MethodHash=027dd779) for method System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
+; Total bytes of code 216, prolog size 8, PerfScore 21.25, instruction count 54, allocated bytes for code 216 (MethodHash=027dd779) for method System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -124,7 +116,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 58 (0x0003a) Actual length = 232 (0x0000e8)
+  Function Length   : 54 (0x00036) Actual length = 216 (0x0000d8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-3.70%) : 10131.dasm - FSharp.Compiler.NameResolution+MakeCtorGroup@243:Invoke(FSharp.Compiler.Infos+MethInfo):int:this (FullOpts)
@@ -11,11 +11,13 @@
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <FSharp.Compiler.NameResolution+MakeCtorGroup@243>
 ;  V01 arg1         [V01,T03] (  3,  3   )     ref  ->   x1         class-hnd single-def <FSharp.Compiler.Infos+MethInfo>
 ;  V02 loc0         [V02,T04] (  3,  2.50)     ref  ->   x0         class-hnd exact single-def <Microsoft.FSharp.Collections.FSharpList`1[int]>
-;  V03 loc1         [V03,T02] (  4,  9   )     int  ->   x1        
-;  V04 loc2         [V04,T00] (  4, 12.50)     ref  ->   x0         class-hnd <Microsoft.FSharp.Collections.FSharpList`1[int]>
-;  V05 loc3         [V05,T01] (  3, 12   )     ref  ->   x2         class-hnd <Microsoft.FSharp.Collections.FSharpList`1[int]>
+;  V03 loc1         [V03,T02] (  4,  9   )     int  ->   x0        
+;  V04 loc2         [V04,T00] (  6, 13.50)     ref  ->  registers   class-hnd <Microsoft.FSharp.Collections.FSharpList`1[int]>
+;  V05 loc3         [V05,T01] (  5, 13   )     ref  ->  registers   class-hnd <Microsoft.FSharp.Collections.FSharpList`1[int]>
 ;* V06 loc4         [V06    ] (  0,  0   )     int  ->  zero-ref   
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+;  V08 cse0         [V08,T05] (  3,  2.50)     ref  ->   x1         "CSE - aggressive"
+;  V09 cse1         [V09,T06] (  2,  1   )     int  ->   x0         "CSE - moderate"
 ;
 ; Lcl frame size = 0
 
@@ -47,37 +49,35 @@ G_M3240_IG04:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M3240_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs +[x0]
-            mov     w1, wzr
-                       ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M3240_IG06:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ldr     x2, [x0, #0x08]
-            ; gcrRegs +[x2]
-            cbz     x2, G_M3240_IG07
+G_M3240_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs +[x0-x1]
             ldr     w0, [x0, #0x10]
             ; gcrRegs -[x0]
-            adds    w1, w1, w0
-            bvs     G_M3240_IG09
-            mov     x0, x2
-            ; gcrRegs +[x0]
+                      ;; size=4 bbWeight=0.50 PerfScore 1.50
+G_M3240_IG06:        ; bbWeight=4, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
+            ldr     x2, [x1, #0x08]
+            ; gcrRegs +[x2]
+            cbz     x2, G_M3240_IG07
+            ldr     w1, [x1, #0x10]
+            ; gcrRegs -[x1]
+            adds    w0, w0, w1
+            bvs     G_M3240_IG08
+            mov     x1, x2
+            ; gcrRegs +[x1]
             b       G_M3240_IG06
                        ;; size=28 bbWeight=4 PerfScore 40.00
-G_M3240_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0 x2]
-            mov     w0, w1
-                       ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M3240_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+G_M3240_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ; gcrRegs -[x1-x2]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M3240_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M3240_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             bl      CORINFO_HELP_OVERFLOW
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 108, prolog size 8, PerfScore 57.25, instruction count 27, allocated bytes for code 108 (MethodHash=fc34f357) for method FSharp.Compiler.NameResolution+MakeCtorGroup@243:Invoke(FSharp.Compiler.Infos+MethInfo):int:this (FullOpts)
+; Total bytes of code 104, prolog size 8, PerfScore 58.25, instruction count 26, allocated bytes for code 104 (MethodHash=fc34f357) for method FSharp.Compiler.NameResolution+MakeCtorGroup@243:Invoke(FSharp.Compiler.Infos+MethInfo):int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -88,7 +88,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
+  Function Length   : 26 (0x0001a) Actual length = 104 (0x000068)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+40 (+62.50%) : 24562.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetSwitchBinder(Microsoft.CodeAnalysis.CSharp.Binder):Microsoft.CodeAnalysis.CSharp.SwitchBinder (FullOpts)
@@ -8,8 +8,8 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  6, 22   )     ref  ->  x19         class-hnd <Microsoft.CodeAnalysis.CSharp.Binder>
-;  V01 loc0         [V01,T01] (  3, 13   )     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CSharp.SwitchBinder>
+;  V00 arg0         [V00,T00] ( 10, 24.50)     ref  ->  x19         class-hnd <Microsoft.CodeAnalysis.CSharp.Binder>
+;  V01 loc0         [V01,T01] (  5, 14.50)     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CSharp.SwitchBinder>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 8
@@ -24,10 +24,11 @@ G_M1427_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M1427_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             b       G_M1427_IG04
                        ;; size=4 bbWeight=1 PerfScore 1.00
-G_M1427_IG03:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M1427_IG03:        ; bbWeight=0.25, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ldr     x19, [x19, #0x10]
-                       ;; size=4 bbWeight=2 PerfScore 6.00
-G_M1427_IG04:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            b       G_M1427_IG08
+                       ;; size=8 bbWeight=0.25 PerfScore 1.00
+G_M1427_IG04:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     x1, x19
             ; gcrRegs +[x1]
             movz    x0, #0xD1FFAB1E
@@ -36,19 +37,41 @@ G_M1427_IG04:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byr
             bl      CORINFO_HELP_ISINSTANCEOFCLASS
             ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
-            cbz     x19, G_M1427_IG06
-                       ;; size=24 bbWeight=8 PerfScore 32.00
-G_M1427_IG05:        ; bbWeight=4, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
+            cbz     x19, G_M1427_IG10
+                       ;; size=24 bbWeight=1 PerfScore 4.00
+G_M1427_IG05:        ; bbWeight=0.50, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
             cbz     x0, G_M1427_IG03
+                        ;; size=4 bbWeight=0.50 PerfScore 0.50
+G_M1427_IG06:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x19]
+            b       G_M1427_IG10
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M1427_IG07:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0] +[x19]
+            ldr     x19, [x19, #0x10]
+                       ;; size=4 bbWeight=2 PerfScore 6.00
+G_M1427_IG08:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            mov     x1, x19
+            ; gcrRegs +[x1]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            bl      CORINFO_HELP_ISINSTANCEOFCLASS
+            ; gcrRegs -[x1] +[x0]
+            ; gcr arg pop 0
+            cbz     x19, G_M1427_IG10
+                       ;; size=24 bbWeight=8 PerfScore 32.00
+G_M1427_IG09:        ; bbWeight=4, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M1427_IG07
                        ;; size=4 bbWeight=4 PerfScore 4.00
-G_M1427_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M1427_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19]
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 64, prolog size 16, PerfScore 50.00, instruction count 16, allocated bytes for code 64 (MethodHash=85d7fa6c) for method Microsoft.CodeAnalysis.CSharp.Binder:GetSwitchBinder(Microsoft.CodeAnalysis.CSharp.Binder):Microsoft.CodeAnalysis.CSharp.SwitchBinder (FullOpts)
+; Total bytes of code 104, prolog size 16, PerfScore 55.62, instruction count 26, allocated bytes for code 104 (MethodHash=85d7fa6c) for method Microsoft.CodeAnalysis.CSharp.Binder:GetSwitchBinder(Microsoft.CodeAnalysis.CSharp.Binder):Microsoft.CodeAnalysis.CSharp.SwitchBinder (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -59,7 +82,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 16 (0x00010) Actual length = 64 (0x000040)
+  Function Length   : 26 (0x0001a) Actual length = 104 (0x000068)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+44 (+64.71%) : 24662.dasm - System.Collections.Immutable.ImmutableList1+Node[System.Collections.Generic.KeyValuePair2[System.Canon,System.Canon]]:ItemRefUnchecked(int):byref:this (FullOpts)
@@ -7,14 +7,16 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  7, 23   )     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
-;  V01 arg1         [V01,T00] (  6, 26   )     int  ->   x1        
+;  V00 this         [V00,T02] ( 11, 25.50)     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
+;  V01 arg1         [V01,T00] ( 10, 29   )     int  ->   x1        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T06] (  2, 16   )     int  ->   x1         "arg temp"
-;  V04 tmp2         [V04,T04] (  2, 16   )     ref  ->   x0         single-def "arg temp"
-;  V05 tmp3         [V05,T05] (  2, 16   )     ref  ->   x0         single-def "arg temp"
+;  V03 tmp1         [V03,T06] (  4, 18   )     int  ->   x1         "arg temp"
+;  V04 tmp2         [V04,T04] (  4, 18   )     ref  ->   x0         "arg temp"
+;  V05 tmp3         [V05,T05] (  4, 18   )     ref  ->   x0         "arg temp"
 ;  V06 cse0         [V06,T01] (  4, 28   )     int  ->   x3         "CSE - aggressive"
-;  V07 cse1         [V07,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  4,  3.50)     int  ->   x3         "CSE - aggressive"
+;  V08 cse2         [V08,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V09 cse3         [V09,T08] (  3,  2.50)     ref  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -22,42 +24,65 @@ G_M15847_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M15847_IG02:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M15847_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x2, [x0, #0x08]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x18]
             cmp     w1, w3
             bge     G_M15847_IG04
-                        ;; size=16 bbWeight=8 PerfScore 60.00
-G_M15847_IG03:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+                        ;; size=16 bbWeight=1 PerfScore 7.50
+G_M15847_IG03:        ; bbWeight=0.50, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M15847_IG02
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M15847_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M15847_IG06
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
+G_M15847_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x2]
             cmp     w1, w3
-            ble     G_M15847_IG06
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M15847_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ble     G_M15847_IG10
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M15847_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             sub     w1, w1, w3
             sub     w1, w1, #1
             ldr     x0, [x0, #0x10]
-            b       G_M15847_IG02
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M15847_IG06:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     x2, [x0, #0x08]
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x18]
+            cmp     w1, w3
+            bge     G_M15847_IG08
+                       ;; size=16 bbWeight=8 PerfScore 60.00
+G_M15847_IG07:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x2
+            ; gcrRegs +[x0]
+            b       G_M15847_IG06
+                       ;; size=8 bbWeight=4 PerfScore 6.00
+G_M15847_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            cmp     w1, w3
+            ble     G_M15847_IG10
+                       ;; size=8 bbWeight=8 PerfScore 12.00
+G_M15847_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            sub     w1, w1, w3
+            sub     w1, w1, #1
+            ldr     x0, [x0, #0x10]
+            b       G_M15847_IG06
                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M15847_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M15847_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x0, x0, #32
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M15847_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M15847_IG11:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 102.00, instruction count 17, allocated bytes for code 68 (MethodHash=df1ac218) for method System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:ItemRefUnchecked(int):byref:this (FullOpts)
+; Total bytes of code 112, prolog size 8, PerfScore 113.75, instruction count 28, allocated bytes for code 112 (MethodHash=df1ac218) for method System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:ItemRefUnchecked(int):byref:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -68,7 +93,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+48 (+70.59%) : 31434.dasm - System.Management.Automation.FunctionInfo:get_Options():int:this (FullOpts)
@@ -8,67 +8,93 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  5, 15   )     ref  ->   x0         this class-hnd <System.Management.Automation.FunctionInfo>
+;  V00 this         [V00,T04] (  7, 17   )     ref  ->   x0         this class-hnd <System.Management.Automation.FunctionInfo>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V02 tmp1         [V02,T03] (  3, 17   )     ref  ->   x1         single-def "CASTCLASS eval op1"
-;  V03 tmp2         [V03,T04] (  3, 17   )    long  ->   x3         "fgMakeTemp is creating a new local variable"
-;  V04 tmp3         [V04,T00] (  4, 25   )     ref  ->   x0         class-hnd "spilling QMark2" <System.Management.Automation.FunctionInfo>
+;  V02 tmp1         [V02,T02] (  6, 19.12)     ref  ->   x1         "CASTCLASS eval op1"
+;  V03 tmp2         [V03,T03] (  6, 19.12)    long  ->   x3         "fgMakeTemp is creating a new local variable"
+;  V04 tmp3         [V04,T00] (  8, 29.12)     ref  ->   x0         class-hnd "spilling QMark2" <System.Management.Automation.FunctionInfo>
 ;  V05 cse0         [V05,T01] (  3, 20   )     ref  ->   x1         "CSE - aggressive"
+;  V06 cse1         [V06,T06] (  3,  2.50)     ref  ->   x1         "CSE - aggressive"
+;  V07 cse2         [V07,T05] (  3,  5   )    long  ->  x19         "CSE - moderate"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M40934_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
+            str     x19, [sp, #0x18]
             mov     fp, sp
-                       ;; size=8 bbWeight=1 PerfScore 1.50
-G_M40934_IG02:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+                       ;; size=12 bbWeight=1 PerfScore 2.50
+G_M40934_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x1, [x0, #0x20]
             ; gcrRegs +[x1]
-            cbz     x1, G_M40934_IG06
-                       ;; size=8 bbWeight=8 PerfScore 32.00
-G_M40934_IG03:        ; bbWeight=4, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
+            cbz     x1, G_M40934_IG09
+                       ;; size=8 bbWeight=1 PerfScore 4.00
+G_M40934_IG03:        ; bbWeight=0.50, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             mov     x0, x1
             ; gcrRegs +[x0]
             ldr     x2, [x0]
-            movz    x3, #0xD1FFAB1E
-            movk    x3, #0xD1FFAB1E LSL #16
-            movk    x3, #0xD1FFAB1E LSL #32
+            movz    x19, #0xD1FFAB1E
+            movk    x19, #0xD1FFAB1E LSL #16
+            movk    x19, #0xD1FFAB1E LSL #32
+            mov     x3, x19
             cmp     x2, x3
             beq     G_M40934_IG05
-                        ;; size=28 bbWeight=4 PerfScore 26.00
-G_M40934_IG04:        ; bbWeight=0.50, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
+                     ;; size=32 bbWeight=0.50 PerfScore 3.50
+G_M40934_IG04:        ; bbWeight=0.06, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x3
+            bl      CORINFO_HELP_CHKCASTCLASS_SPECIAL
+            ; gcrRegs -[x1] +[x0]
+            ; gcr arg pop 0
+                       ;; size=8 bbWeight=0.06 PerfScore 0.09
+G_M40934_IG05:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     x1, [x0, #0x20]
+            ; gcrRegs +[x1]
+            cbz     x1, G_M40934_IG09
+                       ;; size=8 bbWeight=8 PerfScore 32.00
+G_M40934_IG06:        ; bbWeight=4, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x0]
+            mov     x0, x1
+            ; gcrRegs +[x0]
+            ldr     x2, [x0]
+            mov     x3, x19
+            cmp     x2, x3
+            beq     G_M40934_IG08
+                       ;; size=20 bbWeight=4 PerfScore 22.00
+G_M40934_IG07:        ; bbWeight=0.50, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x3
             bl      CORINFO_HELP_CHKCASTCLASS_SPECIAL
             ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M40934_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
-            b       G_M40934_IG02
+G_M40934_IG08:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            b       G_M40934_IG05
                       ;; size=4 bbWeight=4 PerfScore 4.00
-G_M40934_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M40934_IG09:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ldr     w0, [x0, #0x64]
             ; gcrRegs -[x0]
                        ;; size=4 bbWeight=1 PerfScore 3.00
-G_M40934_IG07:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M40934_IG10:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x19, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=1 PerfScore 2.00
+                       ;; size=12 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 69.25, instruction count 17, allocated bytes for code 68 (MethodHash=b2d36019) for method System.Management.Automation.FunctionInfo:get_Options():int:this (FullOpts)
+; Total bytes of code 116, prolog size 12, PerfScore 75.84, instruction count 29, allocated bytes for code 116 (MethodHash=b2d36019) for method System.Management.Automation.FunctionInfo:get_Options():int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 1
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -76,7 +102,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    81          save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]!
+    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
  
  
smoke_tests.nativeaot.linux.arm64.checked.mch
-24 (-11.11%) : 1712.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitInvocation(System.Linq.Expressions.InvocationExpression):System.Linq.Expressions.Expression:this (FullOpts)
@@ -7,33 +7,33 @@
 ; partially interruptible
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  9, 18   )     ref  ->  x19         this class-hnd exact single-def <System.Linq.Expressions.ExpressionStringBuilder>
-;  V01 arg1         [V01,T03] (  7,  9   )     ref  ->  x20         class-hnd single-def <System.Linq.Expressions.InvocationExpression>
-;  V02 loc0         [V02,T06] (  2,  5   )     ref  ->  x21         class-hnd exact single-def <System.String>
-;  V03 loc1         [V03,T02] (  5, 17   )     int  ->  x22        
-;* V04 loc2         [V04,T07] (  0,  0   )     int  ->  zero-ref   
+;  V00 this         [V00,T00] (  9,  9   )     ref  ->  x19         this class-hnd exact single-def <System.Linq.Expressions.ExpressionStringBuilder>
+;  V01 arg1         [V01,T01] (  7,  6   )     ref  ->  x20         class-hnd single-def <System.Linq.Expressions.InvocationExpression>
+;  V02 loc0         [V02,T04] (  2,  2   )     ref  ->   x1         class-hnd exact single-def <System.String>
+;* V03 loc1         [V03,T07] (  0,  0   )     int  ->  zero-ref   
+;* V04 loc2         [V04,T08] (  0,  0   )     int  ->  zero-ref   
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )     int  ->  zero-ref    "guarded devirt return temp"
 ;* V07 tmp2         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Linq.Expressions.InvocationExpression>
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Linq.Expressions.InvocationExpression1>
-;  V09 tmp4         [V09,T04] (  2,  8   )     ref  ->   x1         "guarded devirt return temp"
+;  V09 tmp4         [V09,T05] (  2,  2   )     ref  ->   x1         "guarded devirt return temp"
 ;* V10 tmp5         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Linq.Expressions.InvocationExpression>
 ;* V11 tmp6         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Linq.Expressions.InvocationExpression1>
-;  V12 tmp7         [V12,T05] (  3,  6   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
-;  V13 tmp8         [V13,T00] (  3, 24   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Text.StringBuilder>
+;  V12 tmp7         [V12,T02] (  3,  6   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
+;  V13 tmp8         [V13,T03] (  3,  6   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Text.StringBuilder>
+;  V14 cse0         [V14,T06] (  2,  2   )   byref  ->   x1         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M18080_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
+            stp     fp, lr, [sp, #-0x20]!
             stp     x19, x20, [sp, #0x10]
-            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
             mov     x20, x1
             ; gcrRegs +[x20]
-                     ;; size=24 bbWeight=1 PerfScore 4.50
+                      ;; size=20 bbWeight=1 PerfScore 3.50
 G_M18080_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
@@ -56,30 +56,28 @@ G_M18080_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ldr     x2, [x2, #0x30]
             blr     x2
             ; gcrRegs -[x1]
-            adrp    x21, [HIGH RELOC #0xD1FFAB1E]
-            add     x21, x21, [LOW RELOC #0xD1FFAB1E]
-            ; gcrRegs +[x21]
-            mov     w22, wzr
-            ldr     x2, [x20]
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
-            cmp     x2, x1
-            beq     G_M18080_IG06
-                       ;; size=80 bbWeight=1 PerfScore 26.50
-G_M18080_IG03:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs +[x1]
+            ldr     x2, [x20]
+            adrp    x0, [HIGH RELOC #0xD1FFAB1E]
             ; gcrRegs -[x0]
+            add     x0, x0, [LOW RELOC #0xD1FFAB1E]
+            cmp     x2, x0
+            beq     G_M18080_IG04
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
             ldrsb   wzr, [x0]
             mov     w2, #2
-            add     x1, x21, #12
+            add     x1, x1, #12
+            ; gcrRegs -[x1]
             ; byrRegs +[x1]
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; byrRegs -[x1]
             mov     x0, x20
             ; gcrRegs +[x0]
-            mov     w1, w22
+            mov     w1, wzr
             bl      System.Linq.Expressions.InvocationExpression1:GetArgument(int):System.Linq.Expressions.Expression:this
             mov     x1, x0
             ; gcrRegs +[x1]
@@ -88,27 +86,19 @@ G_M18080_IG03:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
             ldr     x2, [x2, #0x30]
             blr     x2
             ; gcrRegs -[x1]
-            add     w22, w22, #1
-            cmp     w22, #0
-            ble     G_M18080_IG03
-                       ;; size=64 bbWeight=4 PerfScore 80.00
-G_M18080_IG04:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0 x21]
             ldr     x0, [x19, #0x08]
-            ; gcrRegs +[x0]
             mov     w1, #41
             ldr     wzr, [x0]
             bl      System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this
             ; gcrRegs -[x19]
             mov     x0, x20
-                      ;; size=20 bbWeight=1 PerfScore 8.00
-G_M18080_IG05:        ; bbWeight=1, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
+                        ;; size=148 bbWeight=1 PerfScore 52.00
+G_M18080_IG03:        ; bbWeight=1, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=16 bbWeight=1 PerfScore 4.00
-G_M18080_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, gcvars, byref
+                     ;; size=12 bbWeight=1 PerfScore 3.00
+G_M18080_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             mov     x0, x20
             ; gcrRegs +[x0]
@@ -117,17 +107,15 @@ G_M18080_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=100000
             brk_unix #0
                        ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 216, prolog size 16, PerfScore 123.00, instruction count 54, allocated bytes for code 216 (MethodHash=c8b5b95f) for method System.Linq.Expressions.ExpressionStringBuilder:VisitInvocation(System.Linq.Expressions.InvocationExpression):System.Linq.Expressions.Expression:this (FullOpts)
+; Total bytes of code 192, prolog size 12, PerfScore 58.50, instruction count 48, allocated bytes for code 192 (MethodHash=c8b5b95f) for method System.Linq.Expressions.ExpressionStringBuilder:VisitInvocation(System.Linq.Expressions.InvocationExpression):System.Linq.Expressions.Expression:this (FullOpts)
 ; ============================================================
 
 Cfi Info:
   >> Start offset   : 0x000000 
   >>   End offset   : 0xd1ffab1e 
-    CodeOffset: 0x04 Op: AdjustCfaOffset Offset:0x30
+    CodeOffset: 0x04 Op: AdjustCfaOffset Offset:0x20
     CodeOffset: 0x04 Op: RelOffset DwarfReg:0x1d Offset:0x0
     CodeOffset: 0x04 Op: RelOffset DwarfReg:0x1e Offset:0x8
     CodeOffset: 0x08 Op: RelOffset DwarfReg:0x13 Offset:0x10
     CodeOffset: 0x08 Op: RelOffset DwarfReg:0x14 Offset:0x18
-    CodeOffset: 0x0C Op: RelOffset DwarfReg:0x15 Offset:0x20
-    CodeOffset: 0x0C Op: RelOffset DwarfReg:0x16 Offset:0x28
-    CodeOffset: 0x10 Op: DefCfaRegister DwarfReg:0x1D
+    CodeOffset: 0x0C Op: DefCfaRegister DwarfReg:0x1D
  
-4 (-2.94%) : 6423.dasm - Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
@@ -8,21 +8,21 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T05] (  3,  3   )     ref  ->   x0         this class-hnd exact single-def <Internal.TypeSystem.NoMetadata.NoMetadataType>
-;  V01 arg1         [V01,T04] (  3,  4   )     int  ->  x19         single-def
+;  V01 arg1         [V01,T04] (  3,  2.25)     int  ->  x19         single-def
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <Internal.TypeSystem.Instantiation+Enumerator>
 ;* V03 loc1         [V03    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <Internal.TypeSystem.Instantiation>
 ;* V04 loc2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <Internal.TypeSystem.TypeDesc>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <Internal.TypeSystem.Instantiation+Enumerator>
 ;* V07 tmp2         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Internal.TypeSystem.TypeDesc[]>
-;* V08 tmp3         [V08,T03] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp4         [V09,T06] (  3,  4   )     ref  ->  x20         single-def "field V02._collection (fldOffset=0x0)" P-INDEP
-;  V10 tmp5         [V10,T00] (  6, 29   )     int  ->  x21         "field V02._currentIndex (fldOffset=0x8)" P-INDEP
+;* V08 tmp3         [V08,T01] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V09 tmp4         [V09,T03] (  3,  2.25)     ref  ->  x20         single-def "field V02._collection (fldOffset=0x0)" P-INDEP
+;  V10 tmp5         [V10,T00] (  6,  4.50)     int  ->  x21         "field V02._currentIndex (fldOffset=0x8)" P-INDEP
 ;  V11 tmp6         [V11,T07] (  2,  2   )     ref  ->  x20         single-def "field V03._genericParameters (fldOffset=0x0)" P-INDEP
 ;  V12 tmp7         [V12,T08] (  2,  2   )     ref  ->  x20         single-def "field V06._collection (fldOffset=0x0)" P-INDEP
 ;* V13 tmp8         [V13,T09] (  0,  0   )     int  ->  zero-ref    single-def "field V06._currentIndex (fldOffset=0x8)" P-INDEP
-;  V14 tmp9         [V14,T01] (  3, 12   )     ref  ->   x0         "argument with side effect"
-;  V15 cse0         [V15,T02] (  3, 11   )     int  ->  x22         hoist "CSE - aggressive"
+;  V14 tmp9         [V14,T02] (  3,  1.50)     ref  ->   x0         "argument with side effect"
+;  V15 cse0         [V15,T06] (  3,  2.25)     int  ->  x22         hoist "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -41,10 +41,10 @@ G_M3627_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ldr     w22, [x20, #0x08]
             b       G_M3627_IG04
                        ;; size=16 bbWeight=1 PerfScore 7.50
-G_M3627_IG03:        ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
+G_M3627_IG03:        ; bbWeight=0.25, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             cmp     w21, w22
-            bhs     G_M3627_IG10
+            bhs     G_M3627_IG09
             add     x0, x20, #16
             ; byrRegs +[x0]
             ldr     x0, [x0, w21, UXTW #3]
@@ -55,41 +55,38 @@ G_M3627_IG03:        ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, by
             ldr     x2, [x2, #0x40]
             blr     x2
             ; gcrRegs -[x0]
-            cbnz    w0, G_M3627_IG06
-                       ;; size=36 bbWeight=2 PerfScore 27.00
-G_M3627_IG04:        ; bbWeight=8, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
+            cbnz    w0, G_M3627_IG07
+                       ;; size=36 bbWeight=0.25 PerfScore 3.38
+G_M3627_IG04:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
             add     w21, w21, #1
             cmp     w22, w21
             bgt     G_M3627_IG03
-                     ;; size=12 bbWeight=8 PerfScore 16.00
-G_M3627_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=12 bbWeight=1 PerfScore 2.00
+G_M3627_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x20]
-            b       G_M3627_IG08
-                       ;; size=4 bbWeight=4 PerfScore 4.00
-G_M3627_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #1
-                       ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M3627_IG07:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
-            ret     lr
-                       ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M3627_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M3627_IG09:        ; bbWeight=0.50, epilog, nogc, extend
+G_M3627_IG06:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x30
             ret     lr
                        ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M3627_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M3627_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, #1
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M3627_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x30
+            ret     lr
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
+G_M3627_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 136, prolog size 16, PerfScore 63.00, instruction count 34, allocated bytes for code 136 (MethodHash=ce01f1d4) for method Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
+; Total bytes of code 132, prolog size 16, PerfScore 21.38, instruction count 33, allocated bytes for code 132 (MethodHash=ce01f1d4) for method Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
 ; ============================================================
 
 Cfi Info:
  
-4 (-2.38%) : 6808.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
@@ -7,16 +7,17 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 14, 28.50)   byref  ->   x0         this single-def
-;  V01 loc0         [V01,T03] (  4,  5   )   byref  ->   x1        
-;  V02 loc1         [V02,T02] (  4,  8   )     int  ->   x2        
+;  V00 this         [V00,T00] ( 13,  8.75)   byref  ->   x0         this single-def
+;  V01 loc0         [V01,T03] (  4,  1.50)   byref  ->   x1        
+;  V02 loc1         [V02,T02] (  4,  1   )     int  ->   x2        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T01] (  3, 12   )     ref  ->   x1         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V04 tmp1         [V04,T01] (  3,  1.50)     ref  ->   x1         class-hnd exact "impAppendStmt" <<unknown class>>
 ;* V05 tmp2         [V05    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.KeyValuePair`2[int,int]>
-;  V06 tmp3         [V06,T04] (  2,  2   )     int  ->   x2         "Inlining Arg"
-;  V07 tmp4         [V07,T05] (  2,  2   )     int  ->   x1         "Inlining Arg"
-;  V08 tmp5         [V08,T06] (  2,  1   )     int  ->   x2         "field V05.key (fldOffset=0x0)" P-INDEP
-;  V09 tmp6         [V09,T07] (  2,  1   )     int  ->   x1         "field V05.value (fldOffset=0x4)" P-INDEP
+;  V06 tmp3         [V06,T05] (  2,  2   )     int  ->   x2         "Inlining Arg"
+;  V07 tmp4         [V07,T06] (  2,  2   )     int  ->   x1         "Inlining Arg"
+;  V08 tmp5         [V08,T07] (  2,  1   )     int  ->   x2         "field V05.key (fldOffset=0x0)" P-INDEP
+;  V09 tmp6         [V09,T08] (  2,  1   )     int  ->   x1         "field V05.value (fldOffset=0x4)" P-INDEP
+;  V10 cse0         [V10,T04] (  3,  2.50)     int  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -34,7 +35,7 @@ G_M20310_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             cmp     w1, w2
             bne     G_M20310_IG10
                        ;; size=20 bbWeight=1 PerfScore 10.50
-G_M20310_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+G_M20310_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ldr     w1, [x0, #0x0C]
             ldr     x2, [x0]
             ; gcrRegs +[x2]
@@ -42,28 +43,26 @@ G_M20310_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             ; gcrRegs -[x2]
             cmp     w1, w2
             blo     G_M20310_IG06
-                        ;; size=20 bbWeight=8 PerfScore 84.00
+                     ;; size=20 bbWeight=1 PerfScore 10.50
 G_M20310_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
-            ldr     x1, [x0]
-            ; gcrRegs +[x1]
-            ldr     w1, [x1, #0x38]
-            ; gcrRegs -[x1]
-            add     w1, w1, #1
+            add     w1, w2, #1
             str     w1, [x0, #0x0C]
             str     xzr, [x0, #0x14]
             mov     w0, wzr
             ; byrRegs -[x0]
-                      ;; size=24 bbWeight=0.50 PerfScore 4.50
+                       ;; size=16 bbWeight=0.50 PerfScore 1.50
 G_M20310_IG05:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M20310_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, gcvars, byref, isz
+G_M20310_IG06:        ; bbWeight=0.25, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, gcvars, byref, isz
             ; byrRegs +[x0]
-            ldr     x1, [x0]
+            ldr     x2, [x0]
+            ; gcrRegs +[x2]
+            ldr     x1, [x2, #0x10]
             ; gcrRegs +[x1]
-            ldr     x1, [x1, #0x10]
             ldr     w2, [x0, #0x0C]
+            ; gcrRegs -[x2]
             add     w3, w2, #1
             str     w3, [x0, #0x0C]
             ldr     w3, [x1, #0x08]
@@ -76,8 +75,9 @@ G_M20310_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; byrRegs +[x1]
             ldr     w2, [x1, #0x04]
             cmn     w2, #1
-            blt     G_M20310_IG03
-                       ;; size=56 bbWeight=2 PerfScore 43.00
+            bge     G_M20310_IG07
+            b       G_M20310_IG03
+                       ;; size=60 bbWeight=0.25 PerfScore 5.62
 G_M20310_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0003 {x0 x1}, byref
             ldp     w2, w1, [x1, #0x08]
             ; byrRegs -[x1]
@@ -99,7 +99,7 @@ G_M20310_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 168, prolog size 8, PerfScore 147.75, instruction count 42, allocated bytes for code 168 (MethodHash=5c1ab0a9) for method System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
+; Total bytes of code 164, prolog size 8, PerfScore 33.88, instruction count 41, allocated bytes for code 164 (MethodHash=5c1ab0a9) for method System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
 ; ============================================================
 
 Cfi Info:
  
+24 (+54.55%) : 15583.dasm - System.Threading.Interlocked:ExchangeAdd(byref,int):int (FullOpts)
@@ -7,36 +7,44 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  4, 18   )   byref  ->   x0         single-def
-;  V01 arg1         [V01,T02] (  3, 10   )     int  ->   x1         single-def
-;  V02 loc0         [V02,T00] (  5, 33   )     int  ->   x2        
+;  V00 arg0         [V00,T01] (  6, 20   )   byref  ->   x0         single-def
+;  V01 arg1         [V01,T02] (  4, 11   )     int  ->   x1         single-def
+;  V02 loc0         [V02,T00] (  9, 37   )     int  ->   x2        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
 
-G_M59266_IG01:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+G_M59266_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M59266_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M59266_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ; byrRegs +[x0]
             ldr     w2, [x0]
             add     w3, w2, w1
             mov     w4, w2
             casal   w4, w3, [x0]
             cmp     w4, w2
-            bne     G_M59266_IG02
+            beq     G_M59266_IG04
+                       ;; size=24 bbWeight=1 PerfScore 8.50
+G_M59266_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            ldr     w2, [x0]
+            add     w3, w2, w1
+            mov     w4, w2
+            casal   w4, w3, [x0]
+            cmp     w4, w2
+            bne     G_M59266_IG03
                       ;; size=24 bbWeight=8 PerfScore 68.00
-G_M59266_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M59266_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; byrRegs -[x0]
             mov     w0, w2
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M59266_IG04:        ; bbWeight=1, epilog, nogc, extend
+G_M59266_IG05:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 44, prolog size 8, PerfScore 82.50, instruction count 11, allocated bytes for code 44 (MethodHash=ba1c187d) for method System.Threading.Interlocked:ExchangeAdd(byref,int):int (FullOpts)
+; Total bytes of code 68, prolog size 8, PerfScore 80.50, instruction count 17, allocated bytes for code 68 (MethodHash=ba1c187d) for method System.Threading.Interlocked:ExchangeAdd(byref,int):int (FullOpts)
 ; ============================================================
 
 Cfi Info:
  
+32 (+57.14%) : 14155.dasm - System.DateTimeFormat:ParseRepeatPattern(System.ReadOnlySpan`1[ushort],int,ushort):int (FullOpts)
@@ -8,12 +8,13 @@
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[ushort]>
-;  V01 arg1         [V01,T04] (  4,  4   )     int  ->   x2         single-def
-;  V02 arg2         [V02,T02] (  3,  6   )  ushort  ->   x3         single-def
-;  V03 loc0         [V03,T00] (  6, 18   )     int  ->   x4        
+;  V01 arg1         [V01,T03] (  4,  4   )     int  ->   x2         single-def
+;  V02 arg2         [V02,T05] (  3,  2.50)  ushort  ->   x3         single-def
+;  V03 loc0         [V03,T00] ( 10, 20   )     int  ->   x4        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T03] (  2,  5   )   byref  ->   x0         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
-;  V06 tmp2         [V06,T01] (  2,  9   )     int  ->   x1         single-def "field V00._length (fldOffset=0x8)" P-INDEP
+;  V05 tmp1         [V05,T02] (  3,  5.50)   byref  ->   x0         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
+;  V06 tmp2         [V06,T01] (  3, 10   )     int  ->   x1         single-def "field V00._length (fldOffset=0x8)" P-INDEP
+;  V07 cse0         [V07,T04] (  3,  5   )     int  ->   x3         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -26,29 +27,47 @@ G_M43086_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             add     w4, w2, #1
             b       G_M43086_IG04
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M43086_IG03:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+G_M43086_IG03:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+            add     w4, w4, #1
+            b       G_M43086_IG08
+                       ;; size=8 bbWeight=0.25 PerfScore 0.38
+G_M43086_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            cmp     w4, w1
+            bhs     G_M43086_IG10
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M43086_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            ldrh    w5, [x0, w4, UXTW #2]
+            uxth    w3, w3
+            cmp     w5, w3
+            beq     G_M43086_IG03
+                       ;; size=16 bbWeight=0.50 PerfScore 2.50
+G_M43086_IG06:        ; bbWeight=0.12, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x0]
+            b       G_M43086_IG10
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M43086_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+            ; byrRegs +[x0]
             add     w4, w4, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M43086_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+G_M43086_IG08:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             cmp     w4, w1
-            bhs     G_M43086_IG06
+            bhs     G_M43086_IG10
                      ;; size=8 bbWeight=8 PerfScore 12.00
-G_M43086_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+G_M43086_IG09:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ldrh    w5, [x0, w4, UXTW #2]
-            uxth    w6, w3
-            cmp     w5, w6
-            beq     G_M43086_IG03
-                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M43086_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            cmp     w5, w3
+            beq     G_M43086_IG07
+                       ;; size=12 bbWeight=4 PerfScore 18.00
+G_M43086_IG10:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; byrRegs -[x0]
             sub     w0, w4, w2
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M43086_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M43086_IG11:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 56, prolog size 8, PerfScore 38.50, instruction count 14, allocated bytes for code 56 (MethodHash=781b57b1) for method System.DateTimeFormat:ParseRepeatPattern(System.ReadOnlySpan`1[ushort],int,ushort):int (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 41.00, instruction count 22, allocated bytes for code 88 (MethodHash=781b57b1) for method System.DateTimeFormat:ParseRepeatPattern(System.ReadOnlySpan`1[ushort],int,ushort):int (FullOpts)
 ; ============================================================
 
 Cfi Info:
  
+48 (+57.14%) : 5112.dasm - System.Type:GetRootElementType():System.Type:this (FullOpts)
@@ -7,60 +7,80 @@
 ; partially interruptible
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  5,  5   )     ref  ->   x0         this class-hnd single-def <System.Type>
-;  V01 loc0         [V01,T00] (  7, 22   )     ref  ->  x19         class-hnd <System.Type>
+;  V00 this         [V00,T01] (  6,  6   )     ref  ->  x19         this class-hnd single-def <System.Type>
+;  V01 loc0         [V01,T00] ( 10, 25   )     ref  ->  x20         class-hnd <System.Type>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+;  V03 cse0         [V03,T02] (  3,  3   )    long  ->  x21         "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
 G_M1457_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x20]!
-            str     x19, [sp, #0x18]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-                       ;; size=12 bbWeight=1 PerfScore 2.50
-G_M1457_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x0]
             mov     x19, x0
             ; gcrRegs +[x19]
-            ldr     x1, [x0]
+                       ;; size=20 bbWeight=1 PerfScore 4.00
+G_M1457_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            mov     x20, x19
+            ; gcrRegs +[x20]
+            mov     x0, x19
+            ; gcrRegs +[x0]
+            ldr     x21, [x19]
+            ldr     x1, [x21, #0xD1FFAB1E]
+            blr     x1
+            ; gcrRegs -[x0]
+            cbz     w0, G_M1457_IG04
+            mov     x0, x19
+            ; gcrRegs +[x0]
+            ldr     x1, [x21, #0xD1FFAB1E]
+            blr     x1
+            ; gcrRegs -[x19-x20]
+            mov     x20, x0
+            ; gcrRegs +[x20]
+            ldr     x1, [x20]
             ldr     x1, [x1, #0xD1FFAB1E]
             blr     x1
             ; gcrRegs -[x0]
             cbz     w0, G_M1457_IG04
-                     ;; size=20 bbWeight=1 PerfScore 8.50
-G_M1457_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            mov     x0, x19
+                      ;; size=56 bbWeight=1 PerfScore 22.00
+G_M1457_IG03:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
+            mov     x0, x20
             ; gcrRegs +[x0]
-            ldr     x1, [x19]
+            ldr     x1, [x20]
             ldr     x1, [x1, #0xD1FFAB1E]
             blr     x1
-            ; gcrRegs -[x19]
-            mov     x19, x0
-            ; gcrRegs +[x19]
-            ldr     x1, [x19]
+            ; gcrRegs -[x20]
+            mov     x20, x0
+            ; gcrRegs +[x20]
+            ldr     x1, [x20]
             ldr     x1, [x1, #0xD1FFAB1E]
             blr     x1
             ; gcrRegs -[x0]
             cbnz    w0, G_M1457_IG03
                        ;; size=36 bbWeight=4 PerfScore 64.00
-G_M1457_IG04:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            mov     x0, x19
+G_M1457_IG04:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
+            mov     x0, x20
             ; gcrRegs +[x0]
                        ;; size=4 bbWeight=1 PerfScore 0.50
 G_M1457_IG05:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x19, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x20
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=12 bbWeight=1 PerfScore 4.00
+                      ;; size=16 bbWeight=1 PerfScore 5.00
 
-; Total bytes of code 84, prolog size 12, PerfScore 79.50, instruction count 21, allocated bytes for code 84 (MethodHash=6cd9fa4e) for method System.Type:GetRootElementType():System.Type:this (FullOpts)
+; Total bytes of code 132, prolog size 16, PerfScore 95.50, instruction count 33, allocated bytes for code 132 (MethodHash=6cd9fa4e) for method System.Type:GetRootElementType():System.Type:this (FullOpts)
 ; ============================================================
 
 Cfi Info:
   >> Start offset   : 0x000000 
   >>   End offset   : 0xd1ffab1e 
-    CodeOffset: 0x04 Op: AdjustCfaOffset Offset:0x20
+    CodeOffset: 0x04 Op: AdjustCfaOffset Offset:0x30
     CodeOffset: 0x04 Op: RelOffset DwarfReg:0x1d Offset:0x0
     CodeOffset: 0x04 Op: RelOffset DwarfReg:0x1e Offset:0x8
     CodeOffset: 0x08 Op: RelOffset DwarfReg:0x13 Offset:0x18
-    CodeOffset: 0x0C Op: DefCfaRegister DwarfReg:0x1D
+    CodeOffset: 0x08 Op: RelOffset DwarfReg:0x14 Offset:0x20
+    CodeOffset: 0x0C Op: RelOffset DwarfReg:0x15 Offset:0x28
+    CodeOffset: 0x10 Op: DefCfaRegister DwarfReg:0x1D
  
  
  
Details
Improvements/regressions per collection
| Collection | Contexts with diffs | Improvements | Regressions | Same size | Improvements (bytes) | Regressions (bytes) | 
| benchmarks.run.linux.arm64.checked.mch | 8,876 | 24 | 8,747 | 105 | -440 | +1,853,544 | 
| benchmarks.run_pgo.linux.arm64.checked.mch | 38,423 | 90 | 38,153 | 180 | -5,960 | +9,484,336 | 
| benchmarks.run_tiered.linux.arm64.checked.mch | 6,241 | 10 | 6,223 | 8 | -160 | +1,053,744 | 
| coreclr_tests.run.linux.arm64.checked.mch | 35,306 | 1,552 | 33,418 | 336 | -50,720 | +8,622,236 | 
| libraries.crossgen2.linux.arm64.checked.mch | 21,717 | 221 | 21,462 | 34 | -2,664 | +4,884,348 | 
| libraries.pmi.linux.arm64.checked.mch | 25,194 | 116 | 24,985 | 93 | -1,652 | +7,114,084 | 
| libraries_tests.run.linux.arm64.Release.mch | 72,138 | 788 | 70,796 | 554 | -35,100 | +38,578,472 | 
| librariestestsnotieredcompilation.run.linux.arm64.Release.mch | 25,353 | 137 | 25,082 | 134 | -5,056 | +10,219,956 | 
| realworld.run.linux.arm64.checked.mch | 5,066 | 23 | 5,025 | 18 | -380 | +1,884,892 | 
| smoke_tests.nativeaot.linux.arm64.checked.mch | 1,538 | 8 | 1,520 | 10 | -60 | +277,000 | 
|  | 239,852 | 2,969 | 235,411 | 1,472 | -102,192 | +83,972,612 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| benchmarks.run.linux.arm64.checked.mch | 34,573 | 3,148 | 31,425 | 239 (0.69%) | 279 (0.80%) | 
| benchmarks.run_pgo.linux.arm64.checked.mch | 150,712 | 59,296 | 91,416 | 132 (0.09%) | 392 (0.26%) | 
| benchmarks.run_tiered.linux.arm64.checked.mch | 71,108 | 53,989 | 17,119 | 82 (0.12%) | 99 (0.14%) | 
| coreclr_tests.run.linux.arm64.checked.mch | 626,451 | 383,796 | 242,655 | 455 (0.07%) | 770 (0.12%) | 
| libraries.crossgen2.linux.arm64.checked.mch | 234,029 | 15 | 234,014 | 0 (0.00%) | 154 (0.07%) | 
| libraries.pmi.linux.arm64.checked.mch | 292,936 | 6 | 292,930 | 1,913 (0.65%) | 2,107 (0.71%) | 
| libraries_tests.run.linux.arm64.Release.mch | 732,508 | 489,338 | 243,170 | 1,326 (0.18%) | 2,303 (0.31%) | 
| librariestestsnotieredcompilation.run.linux.arm64.Release.mch | 302,495 | 21,560 | 280,935 | 2,093 (0.69%) | 2,302 (0.76%) | 
| realworld.run.linux.arm64.checked.mch | 32,705 | 85 | 32,620 | 338 (1.02%) | 398 (1.20%) | 
| smoke_tests.nativeaot.linux.arm64.checked.mch | 18,991 | 7 | 18,984 | 2 (0.01%) | 38 (0.20%) | 
|  | 2,496,508 | 1,011,240 | 1,485,268 | 6,580 (0.26%) | 8,842 (0.35%) | 
jit-analyze output
benchmarks.run.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 15871176 (overridden on cmd)
Total bytes of diff: 17724280 (overridden on cmd)
Total bytes of delta: 1853104 (11.68 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       25100 : 25044.dasm (66.56 % of base)
       14588 : 10205.dasm (44.74 % of base)
       13108 : 20759.dasm (97.47 % of base)
        8592 : 30983.dasm (79.23 % of base)
        8288 : 17296.dasm (77.92 % of base)
        7516 : 30798.dasm (36.64 % of base)
        7404 : 11264.dasm (56.42 % of base)
        7400 : 2173.dasm (72.21 % of base)
        7288 : 34476.dasm (80.91 % of base)
        7280 : 10423.dasm (87.29 % of base)
        7124 : 19828.dasm (86.00 % of base)
        7088 : 16793.dasm (62.20 % of base)
        6404 : 11957.dasm (82.19 % of base)
        6404 : 31175.dasm (33.28 % of base)
        6140 : 19413.dasm (68.13 % of base)
        6128 : 3593.dasm (94.39 % of base)
        6092 : 20711.dasm (79.70 % of base)
        5952 : 10381.dasm (58.63 % of base)
        5712 : 21013.dasm (97.81 % of base)
        5288 : 29602.dasm (87.84 % of base)
Top file improvements (bytes):
        -112 : 650.dasm (-10.65 % of base)
         -72 : 31339.dasm (-4.97 % of base)
         -56 : 22047.dasm (-5.58 % of base)
         -24 : 10225.dasm (-1.39 % of base)
         -16 : 4583.dasm (-3.54 % of base)
         -16 : 10348.dasm (-0.89 % of base)
         -16 : 29244.dasm (-5.33 % of base)
         -16 : 11253.dasm (-1.75 % of base)
         -12 : 6564.dasm (-4.41 % of base)
         -12 : 19538.dasm (-2.29 % of base)
         -12 : 21997.dasm (-2.27 % of base)
         -12 : 1957.dasm (-2.21 % of base)
          -8 : 16466.dasm (-0.88 % of base)
          -8 : 15916.dasm (-1.21 % of base)
          -8 : 29718.dasm (-0.81 % of base)
          -8 : 9960.dasm (-2.13 % of base)
          -4 : 5362.dasm (-2.08 % of base)
          -4 : 666.dasm (-0.93 % of base)
          -4 : 11271.dasm (-2.17 % of base)
          -4 : 3877.dasm (-2.17 % of base)
83 total files with Code Size differences (23 improved, 60 regressed), 20 unchanged.
Top method regressions (bytes):
       25100 (66.56 % of base) : 25044.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.IndexViewModel,int) (FullOpts)
       14588 (44.74 % of base) : 10205.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.MyEventsListerItem,int) (FullOpts)
       13108 (97.47 % of base) : 20759.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        8592 (79.23 % of base) : 30983.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (FullOpts)
        8288 (77.92 % of base) : 17296.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.Location,int) (FullOpts)
        7516 (36.64 % of base) : 30798.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        7404 (56.42 % of base) : 11264.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.CollectionsOfPrimitives,int) (FullOpts)
        7400 (72.21 % of base) : 2173.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        7288 (80.91 % of base) : 34476.dasm - (dynamicClass):ReadMyEventsListerItemFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        7280 (87.29 % of base) : 10423.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (FullOpts)
        7124 (86.00 % of base) : 19828.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
        7088 (62.20 % of base) : 16793.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
        6404 (33.28 % of base) : 31175.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        6404 (82.19 % of base) : 11957.dasm - (dynamicClass):ReadActiveOrUpcomingEventFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        6140 (68.13 % of base) : 19413.dasm - Benchstone.BenchF.LLoops:Main1(int):this (FullOpts)
        6128 (94.39 % of base) : 3593.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        6092 (79.70 % of base) : 20711.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeOneDeclaredBases(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Tuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]]:this (FullOpts)
        5952 (58.63 % of base) : 10381.dasm - Jil.Deserialize.Methods:SkipWithLeadCharThunkReader(byref,int) (FullOpts)
        5712 (97.81 % of base) : 21013.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:ComputeInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+SynthesizedExplicitImplementations:this (FullOpts)
        5288 (87.84 % of base) : 29602.dasm - (dynamicClass):ReadLocationFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
Top method improvements (bytes):
        -112 (-10.65 % of base) : 650.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -72 (-4.97 % of base) : 31339.dasm - System.Runtime.Serialization.DataContracts.XmlDataContract:GenerateCreateXmlSerializableDelegate():System.Runtime.Serialization.DataContracts.CreateXmlSerializableDelegate:this (FullOpts)
         -56 (-5.58 % of base) : 22047.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetProperties>d__63:MoveNext():ubyte:this (FullOpts)
         -24 (-1.39 % of base) : 10225.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:.cctor() (FullOpts)
         -16 (-0.89 % of base) : 10348.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:ReadNullable(System.Reflection.MemberInfo,System.Type):this (FullOpts)
         -16 (-1.75 % of base) : 11253.dasm - Jil.Serialize.InlineSerializer`1[System.__Canon]:WriteISO8601StyleDateTime():this (FullOpts)
         -16 (-3.54 % of base) : 4583.dasm - ProtoBuf.Internal.Serializers.PropertyDecorator:GetShadowSetter(System.Reflection.PropertyInfo):System.Reflection.MethodInfo (FullOpts)
         -16 (-5.33 % of base) : 29244.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:CreateInstance(System.Type,System.Type):System.Object (FullOpts)
         -12 (-2.27 % of base) : 21997.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetEvents>d__29:MoveNext():ubyte:this (FullOpts)
         -12 (-2.29 % of base) : 19538.dasm - Microsoft.CodeAnalysis.GreenNode:.ctor(ushort,Microsoft.CodeAnalysis.DiagnosticInfo[],Microsoft.CodeAnalysis.SyntaxAnnotation[],int):this (FullOpts)
         -12 (-4.41 % of base) : 6564.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -12 (-2.21 % of base) : 1957.dasm - System.Reflection.Emit.RuntimeTypeBuilder:DefineFieldCore(System.String,System.Type,System.Type[],System.Type[],int):System.Reflection.Emit.FieldBuilder:this (FullOpts)
          -8 (-0.81 % of base) : 29718.dasm - BenchmarksGame.FannkuchRedux_9:Bench(int,ubyte):int (FullOpts)
          -8 (-0.88 % of base) : 16466.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceLookupHelpers:.cctor() (FullOpts)
          -8 (-2.13 % of base) : 9960.dasm - Sigil.Impl.LinqAlternative+<_Where>d__2`1[int]:MoveNext():ubyte:this (FullOpts)
          -8 (-1.21 % of base) : 15916.dasm - System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.17 % of base) : 3877.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.00 % of base) : 223.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.08 % of base) : 111.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.08 % of base) : 5362.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[long,System.__Canon]:MoveNext():ubyte:this (FullOpts)
Top method regressions (percentages):
        1732 (107.98 % of base) : 30283.dasm - Benchstone.BenchF.Romber:Test():ubyte:this (FullOpts)
        1544 (100.00 % of base) : 292.dasm - System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts)
        2816 (98.60 % of base) : 4836.dasm - MicroBenchmarks.Serializers.ActiveOrUpcomingEvent:proto_8(byref,MicroBenchmarks.Serializers.ActiveOrUpcomingEvent):MicroBenchmarks.Serializers.ActiveOrUpcomingEvent (FullOpts)
        1260 (98.13 % of base) : 25057.dasm - Benchstone.BenchF.MatInv4:MinV1(float[],byref,byref,float[],float[]) (FullOpts)
        5712 (97.81 % of base) : 21013.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:ComputeInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+SynthesizedExplicitImplementations:this (FullOpts)
       13108 (97.47 % of base) : 20759.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        2208 (97.35 % of base) : 20115.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation+ReferenceManager:SetupReferencesForFileAssembly(Microsoft.CodeAnalysis.CSharp.CSharpCompilation+ReferenceManager+AssemblyDataForFile,Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol][],byref,byref,Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol) (FullOpts)
        3308 (97.29 % of base) : 31347.dasm - MicroBenchmarks.Serializers.Location:proto_2(byref,MicroBenchmarks.Serializers.Location):MicroBenchmarks.Serializers.Location (FullOpts)
        2748 (97.03 % of base) : 9342.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteMemberBegin(System.Xml.Serialization.XmlSerializationReaderILGen+Member[]):this (FullOpts)
        2496 (96.59 % of base) : 4925.dasm - MicroBenchmarks.Serializers.CampaignSummaryViewModel:proto_10(byref,MicroBenchmarks.Serializers.CampaignSummaryViewModel):MicroBenchmarks.Serializers.CampaignSummaryViewModel (FullOpts)
         564 (96.58 % of base) : 18087.dasm - System.Text.Json.Utf8JsonReader:SkipAllCommentsMultiSegment(byref):ubyte:this (FullOpts)
        1880 (96.51 % of base) : 31959.dasm - System.Tests.Perf_Array:ArrayRetrieve1D():int:this (FullOpts)
        2396 (96.30 % of base) : 19512.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:LexSyntaxTrivia(ubyte,ubyte,byref):this (FullOpts)
        1740 (96.03 % of base) : 6532.dasm - Newtonsoft.Json.Serialization.DefaultContractResolver:GetCallbackMethodsForType(System.Type,byref,byref,byref,byref,byref):this (FullOpts)
        2068 (95.74 % of base) : 31926.dasm - ProtoBuf.Internal.PrimaryTypeProvider:ProtoBuf.Serializers.ISerializer<ProtoBuf.Internal.PrimaryTypeProvider.ScaledTicks>.Read(byref,ProtoBuf.Internal.PrimaryTypeProvider+ScaledTicks):ProtoBuf.Internal.PrimaryTypeProvider+ScaledTicks:this (FullOpts)
        1324 (95.66 % of base) : 25059.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (FullOpts)
        1584 (95.65 % of base) : 30937.dasm - MicroBenchmarks.Serializers.LoginViewModel:proto_2(byref,MicroBenchmarks.Serializers.LoginViewModel):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
        2964 (95.61 % of base) : 22848.dasm - MicroBenchmarks.Serializers.MyEventsListerItem:proto_8(byref,MicroBenchmarks.Serializers.MyEventsListerItem):MicroBenchmarks.Serializers.MyEventsListerItem (FullOpts)
         772 (95.54 % of base) : 23373.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseDeclarationModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this (FullOpts)
        1156 (95.38 % of base) : 12553.dasm - System.Text.Tests.Perf_StringBuilder:Append_Strings(int):System.Text.StringBuilder:this (FullOpts)
Top method improvements (percentages):
        -112 (-10.65 % of base) : 650.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -56 (-5.58 % of base) : 22047.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetProperties>d__63:MoveNext():ubyte:this (FullOpts)
         -16 (-5.33 % of base) : 29244.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:CreateInstance(System.Type,System.Type):System.Object (FullOpts)
         -72 (-4.97 % of base) : 31339.dasm - System.Runtime.Serialization.DataContracts.XmlDataContract:GenerateCreateXmlSerializableDelegate():System.Runtime.Serialization.DataContracts.CreateXmlSerializableDelegate:this (FullOpts)
         -12 (-4.41 % of base) : 6564.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -16 (-3.54 % of base) : 4583.dasm - ProtoBuf.Internal.Serializers.PropertyDecorator:GetShadowSetter(System.Reflection.PropertyInfo):System.Reflection.MethodInfo (FullOpts)
         -12 (-2.29 % of base) : 19538.dasm - Microsoft.CodeAnalysis.GreenNode:.ctor(ushort,Microsoft.CodeAnalysis.DiagnosticInfo[],Microsoft.CodeAnalysis.SyntaxAnnotation[],int):this (FullOpts)
         -12 (-2.27 % of base) : 21997.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetEvents>d__29:MoveNext():ubyte:this (FullOpts)
         -12 (-2.21 % of base) : 1957.dasm - System.Reflection.Emit.RuntimeTypeBuilder:DefineFieldCore(System.String,System.Type,System.Type[],System.Type[],int):System.Reflection.Emit.FieldBuilder:this (FullOpts)
          -4 (-2.17 % of base) : 3877.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.17 % of base) : 11271.dasm - System.Collections.Generic.HashSet`1+Enumerator[int]:MoveNext():ubyte:this (FullOpts)
          -8 (-2.13 % of base) : 9960.dasm - Sigil.Impl.LinqAlternative+<_Where>d__2`1[int]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.13 % of base) : 7537.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.08 % of base) : 111.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.08 % of base) : 5362.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[long,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.00 % of base) : 223.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -16 (-1.75 % of base) : 11253.dasm - Jil.Serialize.InlineSerializer`1[System.__Canon]:WriteISO8601StyleDateTime():this (FullOpts)
         -24 (-1.39 % of base) : 10225.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:.cctor() (FullOpts)
          -8 (-1.21 % of base) : 15916.dasm - System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-0.93 % of base) : 666.dasm - System.Linq.Enumerable+<OfTypeIterator>d__64`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
  
benchmarks.run_pgo.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 78212264 (overridden on cmd)
Total bytes of diff: 87690640 (overridden on cmd)
Total bytes of delta: 9478376 (12.12 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       25100 : 98888.dasm (66.56 % of base)
       17940 : 86349.dasm (92.44 % of base)
       14588 : 31157.dasm (44.74 % of base)
        9600 : 107408.dasm (97.52 % of base)
        9092 : 116923.dasm (79.17 % of base)
        9028 : 116936.dasm (79.75 % of base)
        8568 : 116935.dasm (78.90 % of base)
        8288 : 61161.dasm (77.92 % of base)
        7868 : 90459.dasm (98.74 % of base)
        7516 : 113430.dasm (36.64 % of base)
        7404 : 29326.dasm (56.42 % of base)
        7072 : 147906.dasm (74.69 % of base)
        7036 : 149752.dasm (75.17 % of base)
        7036 : 125585.dasm (75.01 % of base)
        7036 : 91817.dasm (75.17 % of base)
        6716 : 87115.dasm (70.37 % of base)
        6604 : 58137.dasm (61.90 % of base)
        6568 : 87135.dasm (69.22 % of base)
        6404 : 120857.dasm (33.28 % of base)
        6144 : 143616.dasm (79.22 % of base)
Top file improvements (bytes):
        -212 : 134028.dasm (-2.29 % of base)
        -180 : 125624.dasm (-1.84 % of base)
        -176 : 91881.dasm (-1.80 % of base)
        -156 : 112203.dasm (-20.63 % of base)
        -156 : 27114.dasm (-20.74 % of base)
        -156 : 52444.dasm (-20.74 % of base)
        -152 : 44221.dasm (-20.00 % of base)
        -148 : 146339.dasm (-19.89 % of base)
        -148 : 44239.dasm (-1.55 % of base)
        -140 : 89072.dasm (-1.47 % of base)
        -140 : 123757.dasm (-1.43 % of base)
        -136 : 146344.dasm (-1.42 % of base)
        -132 : 125460.dasm (-1.40 % of base)
        -124 : 105628.dasm (-21.09 % of base)
        -124 : 106803.dasm (-21.09 % of base)
        -124 : 118566.dasm (-21.09 % of base)
        -124 : 13837.dasm (-21.09 % of base)
        -124 : 142705.dasm (-21.09 % of base)
        -124 : 5690.dasm (-21.09 % of base)
        -124 : 102126.dasm (-21.09 % of base)
99 total files with Code Size differences (36 improved, 63 regressed), 20 unchanged.
Top method regressions (bytes):
       25100 (66.56 % of base) : 98888.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.IndexViewModel,int) (FullOpts)
       17940 (92.44 % of base) : 86349.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindSimpleBinaryOperator(Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
       14588 (44.74 % of base) : 31157.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.MyEventsListerItem,int) (FullOpts)
        9600 (97.52 % of base) : 107408.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
        9092 (79.17 % of base) : 116923.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1-OSR)
        9028 (79.75 % of base) : 116936.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1-OSR)
        8568 (78.90 % of base) : 116935.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1)
        8288 (77.92 % of base) : 61161.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.Location,int) (FullOpts)
        7868 (98.74 % of base) : 90459.dasm - System.Collections.Generic.ArraySortHelper`1[System.__Canon]:IntroSort(System.Span`1[System.__Canon],int,System.Comparison`1[System.__Canon]) (Tier1)
        7516 (36.64 % of base) : 113430.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        7404 (56.42 % of base) : 29326.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.CollectionsOfPrimitives,int) (FullOpts)
        7072 (74.69 % of base) : 147906.dasm - System.Text.RegularExpressions.RegexParser:ScanRegex():System.Text.RegularExpressions.RegexNode:this (Tier1)
        7036 (75.17 % of base) : 149752.dasm - System.Text.RegularExpressions.RegexParser:ScanRegex():System.Text.RegularExpressions.RegexNode:this (Tier1)
        7036 (75.01 % of base) : 125585.dasm - System.Text.RegularExpressions.RegexParser:ScanRegex():System.Text.RegularExpressions.RegexNode:this (Tier1)
        7036 (75.17 % of base) : 91817.dasm - System.Text.RegularExpressions.RegexParser:ScanRegex():System.Text.RegularExpressions.RegexNode:this (Tier1)
        6716 (70.37 % of base) : 87115.dasm - Benchstone.BenchF.LLoops:Main1(int):this (Tier1-OSR)
        6604 (61.90 % of base) : 58137.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
        6568 (69.22 % of base) : 87135.dasm - Benchstone.BenchF.LLoops:Main1(int):this (Tier1-OSR)
        6404 (33.28 % of base) : 120857.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        6144 (79.22 % of base) : 143616.dasm - (dynamicClass):ReadMyEventsListerItemFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
Top method improvements (bytes):
        -212 (-2.29 % of base) : 134028.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -180 (-1.84 % of base) : 125624.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -176 (-1.80 % of base) : 91881.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -156 (-20.63 % of base) : 112203.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-20.74 % of base) : 27114.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-20.74 % of base) : 52444.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -152 (-20.00 % of base) : 44221.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,int):int (Tier1)
        -148 (-19.89 % of base) : 146339.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,int):int (Tier1)
        -148 (-1.55 % of base) : 44239.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -140 (-1.47 % of base) : 89072.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -140 (-1.43 % of base) : 123757.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -136 (-1.42 % of base) : 146344.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -132 (-1.40 % of base) : 125460.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -124 (-21.09 % of base) : 105628.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 106803.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 118566.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 13837.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 142705.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 5690.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 102126.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
Top method regressions (percentages):
        2064 (135.79 % of base) : 19556.dasm - Benchstone.BenchF.Whetsto:Test():double:this (Tier1-OSR)
        3180 (122.87 % of base) : 146249.dasm - System.Buffers.Text.Base64:Vector128Encode(byref,byref,ulong,int,int,ulong,ulong) (Tier1-OSR)
        3172 (122.57 % of base) : 142667.dasm - System.Buffers.Text.Base64:Vector128Encode(byref,byref,ulong,int,int,ulong,ulong) (Tier1-OSR)
        1472 (112.88 % of base) : 106177.dasm - System.Globalization.Ordinal:IndexOfOrdinalIgnoreCase(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):int (Tier1-OSR)
        1472 (112.88 % of base) : 111533.dasm - System.Globalization.Ordinal:IndexOfOrdinalIgnoreCase(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):int (Tier1-OSR)
        1472 (112.54 % of base) : 112807.dasm - System.Globalization.Ordinal:IndexOfOrdinalIgnoreCase(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):int (Tier1-OSR)
        1472 (112.54 % of base) : 105903.dasm - System.Globalization.Ordinal:IndexOfOrdinalIgnoreCase(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):int (Tier1-OSR)
        2332 (111.90 % of base) : 107520.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength4To7,System.Buffers.StringSearchValuesHelper+CaseInsensitiveAsciiLetters]:IndexOf(byref,int):int:this (Tier1-OSR)
        3384 (107.22 % of base) : 42872.dasm - EMFloatClass:SetupCPUEmFloatArrays(EMFloatClass+InternalFPF[],EMFloatClass+InternalFPF[],EMFloatClass+InternalFPF[],int) (Tier1-OSR)
        2528 (106.40 % of base) : 140368.dasm - NumericSortJagged:Run():double:this (Tier1)
        2532 (105.85 % of base) : 64447.dasm - System.Buffers.Tests.NonStandardArrayPoolTests`1[System.__Canon]:RentNoReturn():this (Tier1-OSR)
        2548 (105.81 % of base) : 59798.dasm - System.Buffers.Tests.NonStandardArrayPoolTests`1[ubyte]:RentNoReturn():this (Tier1-OSR)
        2220 (105.51 % of base) : 146758.dasm - StringSort:DoStringSortIteration(System.String[][],int,int):int (Tier1)
        1588 (103.39 % of base) : 101950.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
        1680 (102.44 % of base) : 148240.dasm - Benchstone.MDBenchI.MDPuzzle:Trial(int):ubyte:this (Tier1)
        1696 (101.92 % of base) : 135579.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength8OrLongerOrUnknown,System.Buffers.StringSearchValuesHelper+CaseInsensitiveAsciiLetters]:IndexOf(byref,int):int:this (Tier1-OSR)
        1716 (101.90 % of base) : 135570.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength4To7,System.Buffers.StringSearchValuesHelper+CaseInsensitiveAsciiLetters]:IndexOf(byref,int):int:this (Tier1-OSR)
        1196 (101.70 % of base) : 146747.dasm - StringSort:StrHeapSort(System.String[],int,int) (Tier1-OSR)
        4144 (101.57 % of base) : 134288.dasm - System.Collections.Generic.ArraySortHelper`1[System.Collections.BigStruct]:IntroSort(System.Span`1[System.Collections.BigStruct],int,System.Comparison`1[System.Collections.BigStruct]) (Tier1)
        4136 (101.17 % of base) : 144376.dasm - System.Collections.Generic.ArraySortHelper`1[System.Collections.BigStruct]:IntroSort(System.Span`1[System.Collections.BigStruct],int,System.Comparison`1[System.Collections.BigStruct]) (Tier1)
Top method improvements (percentages):
        -124 (-21.09 % of base) : 105628.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 106803.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 118566.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 13837.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 142705.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 5690.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 102126.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 19888.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 34286.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 35337.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 46489.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 64834.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 66068.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 69873.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 74476.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 112598.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 38009.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 55197.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 64509.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 14157.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
  
benchmarks.run_tiered.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 29580048 (overridden on cmd)
Total bytes of diff: 30633632 (overridden on cmd)
Total bytes of delta: 1053584 (3.56 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       25100 : 52870.dasm (66.56 % of base)
       14588 : 20110.dasm (44.74 % of base)
       11400 : 55867.dasm (101.93 % of base)
        8592 : 58525.dasm (79.23 % of base)
        8288 : 34978.dasm (77.92 % of base)
        7516 : 58148.dasm (36.64 % of base)
        7508 : 20005.dasm (58.13 % of base)
        7352 : 68912.dasm (87.69 % of base)
        7088 : 32918.dasm (62.20 % of base)
        6404 : 59879.dasm (33.28 % of base)
        6140 : 39588.dasm (68.13 % of base)
        6016 : 69239.dasm (78.87 % of base)
        5756 : 22201.dasm (80.48 % of base)
        5272 : 20423.dasm (36.15 % of base)
        4712 : 51018.dasm (66.55 % of base)
        4644 : 20377.dasm (57.45 % of base)
        4624 : 2894.dasm (86.46 % of base)
        4556 : 57944.dasm (85.96 % of base)
        4372 : 63965.dasm (32.02 % of base)
        4340 : 69185.dasm (41.38 % of base)
Top file improvements (bytes):
        -112 : 5398.dasm (-11.34 % of base)
         -12 : 52716.dasm (-4.41 % of base)
          -8 : 49034.dasm (-1.21 % of base)
          -4 : 47687.dasm (-2.13 % of base)
          -4 : 1312.dasm (-2.08 % of base)
          -4 : 50501.dasm (-0.46 % of base)
          -4 : 18241.dasm (-2.08 % of base)
          -4 : 39335.dasm (-2.17 % of base)
          -4 : 4988.dasm (-1.96 % of base)
          -4 : 22900.dasm (-0.93 % of base)
75 total files with Code Size differences (10 improved, 65 regressed), 8 unchanged.
Top method regressions (bytes):
       25100 (66.56 % of base) : 52870.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.IndexViewModel,int) (FullOpts)
       14588 (44.74 % of base) : 20110.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.MyEventsListerItem,int) (FullOpts)
       11400 (101.93 % of base) : 55867.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
        8592 (79.23 % of base) : 58525.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1)
        8288 (77.92 % of base) : 34978.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.Location,int) (FullOpts)
        7516 (36.64 % of base) : 58148.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        7508 (58.13 % of base) : 20005.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.CollectionsOfPrimitives,int) (FullOpts)
        7352 (87.69 % of base) : 68912.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (Tier1)
        7088 (62.20 % of base) : 32918.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
        6404 (33.28 % of base) : 59879.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        6140 (68.13 % of base) : 39588.dasm - Benchstone.BenchF.LLoops:Main1(int):this (Tier1)
        6016 (78.87 % of base) : 69239.dasm - (dynamicClass):ReadMyEventsListerItemFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        5756 (80.48 % of base) : 22201.dasm - (dynamicClass):ReadActiveOrUpcomingEventFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        5272 (36.15 % of base) : 20423.dasm - (dynamicClass):_DynamicMethod3(byref,int):MicroBenchmarks.Serializers.MyEventsListerItem (FullOpts)
        4712 (66.55 % of base) : 51018.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseExpressionContinued(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax,uint):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (Tier1)
        4644 (57.45 % of base) : 20377.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
        4624 (86.46 % of base) : 2894.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier0-FullOpts)
        4556 (85.96 % of base) : 57944.dasm - (dynamicClass):ReadLocationFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        4372 (32.02 % of base) : 63965.dasm - (dynamicClass):_DynamicMethod3(System.IO.TextReader,int):MicroBenchmarks.Serializers.MyEventsListerItem (FullOpts)
        4340 (41.38 % of base) : 69185.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.CollectionsOfPrimitives (FullOpts)
Top method improvements (bytes):
        -112 (-11.34 % of base) : 5398.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -12 (-4.41 % of base) : 52716.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -8 (-1.21 % of base) : 49034.dasm - System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-0.46 % of base) : 50501.dasm - Microsoft.CodeAnalysis.SyntaxNode+<DescendantNodesOnly>d__172:MoveNext():ubyte:this (Tier1)
          -4 (-1.96 % of base) : 4988.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-2.08 % of base) : 1312.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (Tier1)
          -4 (-2.08 % of base) : 18241.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[long,System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-2.17 % of base) : 39335.dasm - System.Collections.Generic.HashSet`1+Enumerator[int]:MoveNext():ubyte:this (Tier1)
          -4 (-2.13 % of base) : 47687.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-0.93 % of base) : 22900.dasm - System.Linq.Enumerable+<OfTypeIterator>d__64`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
Top method regressions (percentages):
        1652 (110.72 % of base) : 52904.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
        1456 (106.12 % of base) : 52900.dasm - Benchstone.BenchF.MatInv4:MinV1(float[],byref,byref,float[],float[]) (Tier1-OSR)
       11400 (101.93 % of base) : 55867.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
        1544 (100.00 % of base) : 2375.dasm - System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this (Tier1)
        2836 (98.61 % of base) : 7604.dasm - MicroBenchmarks.Serializers.ActiveOrUpcomingEvent:proto_8(byref,MicroBenchmarks.Serializers.ActiveOrUpcomingEvent):MicroBenchmarks.Serializers.ActiveOrUpcomingEvent (FullOpts)
        3308 (97.29 % of base) : 59593.dasm - MicroBenchmarks.Serializers.Location:proto_2(byref,MicroBenchmarks.Serializers.Location):MicroBenchmarks.Serializers.Location (FullOpts)
        2516 (96.62 % of base) : 7835.dasm - MicroBenchmarks.Serializers.CampaignSummaryViewModel:proto_10(byref,MicroBenchmarks.Serializers.CampaignSummaryViewModel):MicroBenchmarks.Serializers.CampaignSummaryViewModel (FullOpts)
        2232 (96.04 % of base) : 42385.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:LexSyntaxTrivia(ubyte,ubyte,byref):this (Tier1)
         828 (95.83 % of base) : 50406.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseDeclarationModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this (Tier1)
        3384 (95.70 % of base) : 28268.dasm - System.Text.Json.JsonDocument:Parse(System.ReadOnlySpan`1[ubyte],System.Text.Json.JsonReaderOptions,byref,byref) (Tier1-OSR)
        1584 (95.65 % of base) : 58051.dasm - MicroBenchmarks.Serializers.LoginViewModel:proto_2(byref,MicroBenchmarks.Serializers.LoginViewModel):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
        2984 (95.64 % of base) : 49412.dasm - MicroBenchmarks.Serializers.MyEventsListerItem:proto_8(byref,MicroBenchmarks.Serializers.MyEventsListerItem):MicroBenchmarks.Serializers.MyEventsListerItem (FullOpts)
        1568 (95.38 % of base) : 21264.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1-OSR)
         452 (94.96 % of base) : 35075.dasm - Newtonsoft.Json.JsonTextReader:EatWhitespace():this (Tier1)
        2060 (94.67 % of base) : 32474.dasm - AssignRect:second_assignments(int[,],short[,]) (Tier1-OSR)
         820 (94.47 % of base) : 69627.dasm - SciMark2.kernel:CopyMatrix(double[][],double[][]) (Tier1)
         728 (94.30 % of base) : 55601.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
        1376 (94.25 % of base) : 49413.dasm - MicroBenchmarks.Serializers.MyEventsListerItemTask:proto_10(byref,MicroBenchmarks.Serializers.MyEventsListerItemTask):MicroBenchmarks.Serializers.MyEventsListerItemTask (FullOpts)
        1276 (94.10 % of base) : 32471.dasm - AssignRect:first_assignments(int[,],short[,]):int (Tier1-OSR)
        2284 (93.91 % of base) : 50984.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder,ubyte,ubyte,byref):this (Tier1)
Top method improvements (percentages):
        -112 (-11.34 % of base) : 5398.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -12 (-4.41 % of base) : 52716.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-2.17 % of base) : 39335.dasm - System.Collections.Generic.HashSet`1+Enumerator[int]:MoveNext():ubyte:this (Tier1)
          -4 (-2.13 % of base) : 47687.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-2.08 % of base) : 1312.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (Tier1)
          -4 (-2.08 % of base) : 18241.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[long,System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-1.96 % of base) : 4988.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (Tier1)
          -8 (-1.21 % of base) : 49034.dasm - System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-0.93 % of base) : 22900.dasm - System.Linq.Enumerable+<OfTypeIterator>d__64`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-0.46 % of base) : 50501.dasm - Microsoft.CodeAnalysis.SyntaxNode+<DescendantNodesOnly>d__172:MoveNext():ubyte:this (Tier1)
  
coreclr_tests.run.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 508462256 (overridden on cmd)
Total bytes of diff: 517033772 (overridden on cmd)
Total bytes of delta: 8571516 (1.69 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
      126388 : 522490.dasm (99.73 % of base)
       26476 : 620411.dasm (98.91 % of base)
       16932 : 613233.dasm (92.06 % of base)
       13224 : 532636.dasm (97.67 % of base)
       12972 : 425266.dasm (116.32 % of base)
       12960 : 423306.dasm (116.00 % of base)
       11444 : 413111.dasm (96.49 % of base)
       11348 : 411585.dasm (95.46 % of base)
       11328 : 412895.dasm (95.19 % of base)
       11244 : 411333.dasm (94.52 % of base)
       10936 : 412181.dasm (96.34 % of base)
       10936 : 410755.dasm (96.34 % of base)
       10820 : 411957.dasm (96.81 % of base)
       10464 : 412988.dasm (95.23 % of base)
       10432 : 421590.dasm (98.98 % of base)
       10408 : 424821.dasm (98.60 % of base)
        9816 : 424002.dasm (68.66 % of base)
        9576 : 424747.dasm (99.29 % of base)
        9576 : 421457.dasm (99.29 % of base)
        9552 : 611467.dasm (91.01 % of base)
Top file improvements (bytes):
        -192 : 426090.dasm (-32.65 % of base)
        -192 : 380753.dasm (-32.65 % of base)
        -192 : 410750.dasm (-32.65 % of base)
        -192 : 411491.dasm (-32.65 % of base)
        -192 : 412184.dasm (-32.65 % of base)
        -192 : 412874.dasm (-32.65 % of base)
        -192 : 411321.dasm (-32.65 % of base)
        -192 : 416626.dasm (-32.65 % of base)
        -156 : 185809.dasm (-21.20 % of base)
        -156 : 8785.dasm (-21.20 % of base)
        -156 : 91513.dasm (-21.20 % of base)
        -156 : 352381.dasm (-21.20 % of base)
        -156 : 356273.dasm (-21.20 % of base)
        -156 : 147573.dasm (-21.20 % of base)
        -156 : 231605.dasm (-21.20 % of base)
        -156 : 305829.dasm (-21.20 % of base)
        -156 : 325853.dasm (-21.20 % of base)
        -156 : 328385.dasm (-21.20 % of base)
        -156 : 358637.dasm (-21.20 % of base)
        -156 : 360077.dasm (-21.20 % of base)
78 total files with Code Size differences (35 improved, 43 regressed), 20 unchanged.
Top method regressions (bytes):
      126388 (99.73 % of base) : 522490.dasm - Program:TestEntryPoint():int (FullOpts)
       26476 (98.91 % of base) : 620411.dasm - CseTest.Test_Main:TestEntryPoint():int (FullOpts)
       16932 (92.06 % of base) : 613233.dasm - Internal.IL.ILImporter:ImportBasicBlock(Internal.IL.ILImporter+BasicBlock):this (FullOpts)
       13224 (97.67 % of base) : 532636.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       12972 (116.32 % of base) : 425266.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugInfoTableNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (Tier1-OSR)
       12960 (116.00 % of base) : 423306.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugInfoTableNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (Tier1-OSR)
       11444 (96.49 % of base) : 413111.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
       11348 (95.46 % of base) : 411585.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
       11328 (95.19 % of base) : 412895.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
       11244 (94.52 % of base) : 411333.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
       10936 (96.34 % of base) : 412181.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
       10936 (96.34 % of base) : 410755.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
       10820 (96.81 % of base) : 411957.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
       10464 (95.23 % of base) : 412988.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
       10432 (98.98 % of base) : 421590.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
       10408 (98.60 % of base) : 424821.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
        9816 (68.66 % of base) : 424002.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (Tier1)
        9576 (99.29 % of base) : 424747.dasm - Internal.JitInterface.InstructionSetFlags:ExpandInstructionSetByImplicationHelper(int,Internal.JitInterface.InstructionSetFlags):Internal.JitInterface.InstructionSetFlags (Tier1)
        9576 (99.29 % of base) : 421457.dasm - Internal.JitInterface.InstructionSetFlags:ExpandInstructionSetByImplicationHelper(int,Internal.JitInterface.InstructionSetFlags):Internal.JitInterface.InstructionSetFlags (Tier1)
        9552 (91.01 % of base) : 611467.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugDirectoryNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (FullOpts)
Top method improvements (bytes):
        -192 (-32.65 % of base) : 426090.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 380753.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 410750.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 411491.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 412184.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 412874.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 411321.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 416626.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 185809.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 8785.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 91513.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 352381.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 356273.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 147573.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 231605.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 305829.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 325853.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 328385.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 358637.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 360077.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
Top method regressions (percentages):
        1276 (131.28 % of base) : 556045.dasm - struct1:Process2DArray(byref) (FullOpts)
         844 (129.45 % of base) : 555359.dasm - class1:ProcessJagged2DArray(byref) (FullOpts)
        1248 (128.40 % of base) : 555358.dasm - class1:Process2DArray(byref) (FullOpts)
         908 (127.53 % of base) : 556046.dasm - struct1:ProcessJagged2DArray(byref) (FullOpts)
         676 (121.58 % of base) : 229079.dasm - Chaos.A0A0A0A0`1[System.__Canon]:RecurseA0A0A0A0(int):this (Tier1)
       12972 (116.32 % of base) : 425266.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugInfoTableNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (Tier1-OSR)
       12960 (116.00 % of base) : 423306.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugInfoTableNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (Tier1-OSR)
         644 (115.83 % of base) : 230841.dasm - Chaos.A0A0A0A0`1[System.__Canon]:RecurseA0A0A0A0(int):this (Tier1)
         612 (110.07 % of base) : 230846.dasm - Chaos.A0A0A0`1[System.__Canon]:RecurseA0A0A0(int):this (Tier1)
         612 (110.07 % of base) : 230836.dasm - Chaos.A0A0A0A1`2[System.__Canon,System.__Canon]:RecurseA0A0A0A1(int):this (Tier1)
         612 (110.07 % of base) : 230847.dasm - Chaos.A0A1`1[System.__Canon]:RecurseA0A1(int):this (Tier1)
         612 (110.07 % of base) : 230842.dasm - Chaos.A0A1A2`1[System.__Canon]:RecurseA0A1A2(int):this (Tier1)
         612 (110.07 % of base) : 230831.dasm - Chaos.A0A1A2A3`2[System.__Canon,System.__Canon]:RecurseA0A1A2A3(int):this (Tier1)
         832 (109.47 % of base) : 555667.dasm - Test_jaggedarr_basics.double1:Process2DArray(byref) (FullOpts)
         608 (109.35 % of base) : 230837.dasm - Chaos.A0A1A4`2[System.__Canon,System.__Canon]:RecurseA0A1A4(int):this (Tier1)
         844 (109.33 % of base) : 555413.dasm - Test_doublearr_basics.double1:Process2DArray(byref) (FullOpts)
         236 (109.26 % of base) : 322656.dasm - testout1:Test1(int):int (Tier1-OSR)
         236 (109.26 % of base) : 322659.dasm - testout1:Test2(int):int (Tier1-OSR)
        2496 (108.52 % of base) : 528694.dasm - Huffman:DoHuffIteration(ubyte[],ubyte[],ubyte[],int,int,huff_node[]):long (FullOpts)
         600 (107.91 % of base) : 230840.dasm - Chaos.A0A4`1[System.__Canon]:RecurseA0A4(int):this (Tier1)
Top method improvements (percentages):
         -68 (-56.67 % of base) : 571992.dasm - foo:Main():int (FullOpts)
         -92 (-41.82 % of base) : 528777.dasm - Benchstone.BenchF.BenchMk2:Bench():ubyte (FullOpts)
         -92 (-40.35 % of base) : 528779.dasm - Benchstone.BenchF.BenchMrk:Bench():ubyte (FullOpts)
        -192 (-32.65 % of base) : 426090.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 380753.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 410750.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 411491.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 412184.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 412874.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 411321.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 416626.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -124 (-21.38 % of base) : 219481.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 27281.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 295113.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 306401.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 7733.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 225937.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 282729.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 299521.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 289621.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
  
libraries.crossgen2.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 55593716 (overridden on cmd)
Total bytes of diff: 60475400 (overridden on cmd)
Total bytes of delta: 4881684 (8.78 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       56704 : 39463.dasm (72.10 % of base)
       18656 : 131103.dasm (68.11 % of base)
       12264 : 53532.dasm (97.92 % of base)
       11676 : 81721.dasm (75.23 % of base)
       10508 : 141771.dasm (74.76 % of base)
       10060 : 53428.dasm (94.48 % of base)
        8600 : 72268.dasm (97.77 % of base)
        8204 : 154211.dasm (43.21 % of base)
        7908 : 2397.dasm (73.39 % of base)
        6696 : 78780.dasm (88.85 % of base)
        6500 : 17625.dasm (94.53 % of base)
        6492 : 157376.dasm (69.93 % of base)
        6280 : 141704.dasm (85.23 % of base)
        5808 : 141957.dasm (81.66 % of base)
        5512 : 154264.dasm (95.96 % of base)
        5480 : 85347.dasm (79.84 % of base)
        5472 : 72583.dasm (83.82 % of base)
        5096 : 38948.dasm (30.25 % of base)
        5068 : 154538.dasm (88.23 % of base)
        4876 : 141481.dasm (72.82 % of base)
Top file improvements (bytes):
         -80 : 20912.dasm (-9.13 % of base)
         -48 : 109061.dasm (-0.49 % of base)
         -44 : 17209.dasm (-10.09 % of base)
         -40 : 171272.dasm (-8.40 % of base)
         -40 : 26001.dasm (-8.40 % of base)
         -36 : 185799.dasm (-5.59 % of base)
         -32 : 156000.dasm (-3.45 % of base)
         -32 : 217108.dasm (-6.50 % of base)
         -32 : 233860.dasm (-4.68 % of base)
         -28 : 134105.dasm (-5.38 % of base)
         -28 : 137113.dasm (-5.22 % of base)
         -28 : 141694.dasm (-4.49 % of base)
         -28 : 17210.dasm (-6.60 % of base)
         -28 : 134096.dasm (-4.32 % of base)
         -28 : 161894.dasm (-5.69 % of base)
         -28 : 180218.dasm (-5.22 % of base)
         -28 : 180324.dasm (-5.43 % of base)
         -28 : 184958.dasm (-4.86 % of base)
         -28 : 35821.dasm (-5.22 % of base)
         -28 : 35929.dasm (-5.43 % of base)
97 total files with Code Size differences (36 improved, 61 regressed), 20 unchanged.
Top method regressions (bytes):
       56704 (72.10 % of base) : 39463.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (FullOpts)
       18656 (68.11 % of base) : 131103.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
       12264 (97.92 % of base) : 53532.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
       11676 (75.23 % of base) : 81721.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureForASingleCandidate(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.Location,int,byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.VisualBasic.Symbol):this (FullOpts)
       10508 (74.76 % of base) : 141771.dasm - System.Data.XmlTreeGen:HandleTable(System.Data.DataTable,System.Xml.XmlDocument,System.Xml.XmlElement,ubyte):System.Xml.XmlElement:this (FullOpts)
       10060 (94.48 % of base) : 53428.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
        8600 (97.77 % of base) : 72268.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        8204 (43.21 % of base) : 154211.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
        7908 (73.39 % of base) : 2397.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        6696 (88.85 % of base) : 78780.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        6500 (94.53 % of base) : 17625.dasm - System.Diagnostics.Tracing.EventPipePayloadDecoder:DecodePayload(byref,System.ReadOnlySpan`1[ubyte]):System.Object[] (FullOpts)
        6492 (69.93 % of base) : 157376.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
        6280 (85.23 % of base) : 141704.dasm - System.Data.RBTree`1[System.__Canon]:RBInsert(int,int,int,int,ubyte):int:this (FullOpts)
        5808 (81.66 % of base) : 141957.dasm - System.Data.RBTree`1[int]:RBInsert(int,int,int,int,ubyte):int:this (FullOpts)
        5512 (95.96 % of base) : 154264.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteMemberElementsIf(System.Xml.Serialization.XmlSerializationReaderCodeGen+Member[],System.Xml.Serialization.XmlSerializationReaderCodeGen+Member,System.String,System.String):this (FullOpts)
        5480 (79.84 % of base) : 85347.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberFieldSymbol:Create(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Syntax.FieldDeclarationSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol+MembersAndInitializersBuilder,byref,byref,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag) (FullOpts)
        5472 (83.82 % of base) : 72583.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeOneDeclaredBases(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Tuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]]:this (FullOpts)
        5096 (30.25 % of base) : 38948.dasm - Microsoft.FSharp.Linq.QueryModule:TransInner(int,ubyte,Microsoft.FSharp.Quotations.FSharpExpr):System.Tuple`2[Microsoft.FSharp.Linq.QueryModule+TransInnerResult,Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription] (FullOpts)
        5068 (88.23 % of base) : 154538.dasm - System.Xml.Schema.SchemaCollectionPreprocessor:PreprocessRedefine(System.Xml.Schema.XmlSchemaRedefine):this (FullOpts)
        4876 (72.82 % of base) : 141481.dasm - System.Data.DataTable:DeserializeTableSchema(System.Runtime.Serialization.SerializationInfo,ubyte):this (FullOpts)
Top method improvements (bytes):
         -80 (-9.13 % of base) : 20912.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -48 (-0.49 % of base) : 109061.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
         -44 (-10.09 % of base) : 17209.dasm - System.Reflection.CustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType,ubyte):ubyte (FullOpts)
         -40 (-8.40 % of base) : 171272.dasm - Microsoft.CodeAnalysis.PEModule:FindTargetAttribute(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):Microsoft.CodeAnalysis.PEModule+AttributeInfo (FullOpts)
         -40 (-8.40 % of base) : 26001.dasm - Microsoft.CodeAnalysis.PEModule:FindTargetAttribute(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):Microsoft.CodeAnalysis.PEModule+AttributeInfo (FullOpts)
         -36 (-5.59 % of base) : 185799.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:IsProperSupersetOf(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.__Canon]):ubyte (FullOpts)
         -32 (-6.50 % of base) : 217108.dasm - Interop+cgroups:TryGetMemoryStatField(System.String,byref):ubyte (FullOpts)
         -32 (-4.68 % of base) : 233860.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.__Canon,System.__Canon]:Contains(System.__Canon):ubyte:this (FullOpts)
         -32 (-3.45 % of base) : 156000.dasm - System.Linq.Parallel.FirstQueryOperator`1+FirstQueryOperatorEnumerator`1[System.__Canon,System.__Canon]:MoveNext(byref,byref):ubyte:this (FullOpts)
         -28 (-5.22 % of base) : 137113.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[System.__Canon,System.__Canon]:TryGetKey(System.__Canon,byref):ubyte:this (FullOpts)
         -28 (-5.22 % of base) : 180218.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[System.__Canon,System.__Canon]:TryGetKey(System.__Canon,byref):ubyte:this (FullOpts)
         -28 (-5.22 % of base) : 35821.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[System.__Canon,System.__Canon]:TryGetKey(System.__Canon,byref):ubyte:this (FullOpts)
         -28 (-5.43 % of base) : 180324.dasm - Roslyn.Utilities.MultiDictionary`2+ValueSet[System.__Canon,System.__Canon]:Contains(System.__Canon,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):ubyte:this (FullOpts)
         -28 (-5.43 % of base) : 35929.dasm - Roslyn.Utilities.MultiDictionary`2+ValueSet[System.__Canon,System.__Canon]:Contains(System.__Canon,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):ubyte:this (FullOpts)
         -28 (-5.69 % of base) : 161894.dasm - System.Collections.Generic.SortedSet`1[System.__Canon]:IsSubsetOfSortedSetWithSameComparer(System.Collections.Generic.SortedSet`1[System.__Canon]):ubyte:this (FullOpts)
         -28 (-4.86 % of base) : 184958.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:IsProperSupersetOf(System.Collections.Generic.IEnumerable`1[System.__Canon]):ubyte:this (FullOpts)
         -28 (-4.49 % of base) : 141694.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[System.__Canon]:<GetLinqDataView>b__0(System.Data.DataRow):ubyte:this (FullOpts)
         -28 (-6.60 % of base) : 17210.dasm - System.Reflection.CustomAttribute:IsDefined(System.Reflection.RuntimeMethodInfo,System.RuntimeType,ubyte):ubyte (FullOpts)
         -28 (-5.38 % of base) : 134105.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:ContainsProperty(System.String):ubyte:this (FullOpts)
         -28 (-4.32 % of base) : 134096.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:TryGetValue(System.String,byref):ubyte:this (FullOpts)
Top method regressions (percentages):
        4808 (117.27 % of base) : 142295.dasm - System.Data.RBTree`1[System.__Canon]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
        1716 (115.95 % of base) : 223868.dasm - System.Runtime.Caching.UsageBucket:Reduce():this (FullOpts)
        4592 (115.26 % of base) : 142337.dasm - System.Data.RBTree`1[int]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
         144 (105.88 % of base) : 86284.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SymbolExtensions:ContainingNonLambdaMember(Microsoft.CodeAnalysis.VisualBasic.Symbol):Microsoft.CodeAnalysis.VisualBasic.Symbol (FullOpts)
         152 (105.56 % of base) : 63843.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousIf(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (FullOpts)
         152 (105.56 % of base) : 63845.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousRegion(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (FullOpts)
         152 (105.56 % of base) : 63848.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:SkipInsignificantDirectives(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (FullOpts)
         164 (105.13 % of base) : 63844.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousIfElifElseOrRegion(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (FullOpts)
        2356 (102.61 % of base) : 84592.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSignatureComparer:DetailedParameterCompare(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.ParameterSymbol],byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.ParameterSymbol],byref,int,int):int (FullOpts)
        1240 (102.31 % of base) : 234122.dasm - System.Uri:CheckCanonical(ulong,byref,int,ushort):int:this (FullOpts)
        1412 (101.15 % of base) : 154448.dasm - System.Xml.XmlTextReaderImpl:SkipUntil(ushort,ubyte):this (FullOpts)
         168 (100.00 % of base) : 71177.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:ContainingNonLambdaMember(Microsoft.CodeAnalysis.CSharp.Symbol):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
        2988 (99.73 % of base) : 154270.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteDerivedSerializable(System.Xml.Serialization.SerializableMapping,System.Xml.Serialization.SerializableMapping,System.String,ubyte):this (FullOpts)
        2668 (99.70 % of base) : 153570.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteMemberEnd(System.Xml.Serialization.XmlSerializationReaderCodeGen+Member[],ubyte):this (FullOpts)
        2588 (99.23 % of base) : 154291.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteDerivedSerializable(System.Xml.Serialization.SerializableMapping,System.Xml.Serialization.SerializableMapping,System.String,ubyte):this (FullOpts)
        3096 (98.22 % of base) : 160256.dasm - System.DirectoryServices.Protocols.DirectoryControl:TransformControls(System.DirectoryServices.Protocols.DirectoryControl[]) (FullOpts)
       12264 (97.92 % of base) : 53532.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
        3268 (97.84 % of base) : 153583.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteMemberBegin(System.Xml.Serialization.XmlSerializationReaderILGen+Member[]):this (FullOpts)
        8600 (97.77 % of base) : 72268.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        1332 (97.37 % of base) : 191607.dasm - System.Net.Http.Http3RequestStream:BufferHeaderCollection(System.Net.Http.Headers.HttpHeaders):int:this (FullOpts)
Top method improvements (percentages):
         -20 (-12.20 % of base) : 10548.dasm - System.Reflection.Emit.RuntimeTypeBuilder:IsSubclassOf(System.Type):ubyte:this (FullOpts)
         -20 (-12.20 % of base) : 215775.dasm - System.Reflection.Emit.TypeBuilderImpl:IsSubclassOf(System.Type):ubyte:this (FullOpts)
         -20 (-10.42 % of base) : 226948.dasm - System.IO.Packaging.XmlCompatibilityReader:SkipToKnownAttribute():ubyte:this (FullOpts)
         -16 (-10.26 % of base) : 193314.dasm - System.Security.Cryptography.TripleDES:get_Key():ubyte[]:this (FullOpts)
         -44 (-10.09 % of base) : 17209.dasm - System.Reflection.CustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType,ubyte):ubyte (FullOpts)
         -80 (-9.13 % of base) : 20912.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -16 (-8.89 % of base) : 178992.dasm - Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[System.__Canon]:Any(int):ubyte:this (FullOpts)
         -16 (-8.89 % of base) : 34569.dasm - Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[System.__Canon]:Any(int):ubyte:this (FullOpts)
         -16 (-8.89 % of base) : 192264.dasm - System.Security.Cryptography.DES:get_Key():ubyte[]:this (FullOpts)
         -16 (-8.51 % of base) : 178817.dasm - Microsoft.CodeAnalysis.SyntaxList`1[System.__Canon]:All(System.Func`2[System.__Canon,ubyte]):ubyte:this (FullOpts)
         -16 (-8.51 % of base) : 34390.dasm - Microsoft.CodeAnalysis.SyntaxList`1[System.__Canon]:All(System.Func`2[System.__Canon,ubyte]):ubyte:this (FullOpts)
         -40 (-8.40 % of base) : 171272.dasm - Microsoft.CodeAnalysis.PEModule:FindTargetAttribute(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):Microsoft.CodeAnalysis.PEModule+AttributeInfo (FullOpts)
         -40 (-8.40 % of base) : 26001.dasm - Microsoft.CodeAnalysis.PEModule:FindTargetAttribute(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):Microsoft.CodeAnalysis.PEModule+AttributeInfo (FullOpts)
         -24 (-7.69 % of base) : 179260.dasm - Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]:IsSubsetOfHashSetWithSameComparer(Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]):ubyte:this (FullOpts)
         -24 (-7.69 % of base) : 34843.dasm - Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]:IsSubsetOfHashSetWithSameComparer(Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]):ubyte:this (FullOpts)
         -16 (-7.69 % of base) : 178437.dasm - Roslyn.Utilities.OneOrMany`1[System.__Canon]:All(System.Func`2[System.__Canon,ubyte]):ubyte:this (FullOpts)
         -16 (-7.69 % of base) : 168807.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
         -16 (-7.69 % of base) : 23394.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
         -24 (-7.50 % of base) : 19710.dasm - System.Collections.Generic.HashSet`1[System.__Canon]:IsSubsetOfHashSetWithSameComparer(System.Collections.Generic.HashSet`1[System.__Canon]):ubyte:this (FullOpts)
         -20 (-7.46 % of base) : 34138.dasm - Microsoft.CodeAnalysis.UnionCollection`1[System.__Canon]:Contains(System.__Canon):ubyte:this (FullOpts)
  
libraries.pmi.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 74364484 (overridden on cmd)
Total bytes of diff: 81476916 (overridden on cmd)
Total bytes of delta: 7112432 (9.56 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       21040 : 247990.dasm (71.99 % of base)
       19212 : 111333.dasm (80.68 % of base)
       17812 : 111292.dasm (97.02 % of base)
       13280 : 61188.dasm (97.48 % of base)
       11708 : 203765.dasm (99.22 % of base)
       10768 : 226456.dasm (77.85 % of base)
       10760 : 38288.dasm (98.46 % of base)
       10148 : 38394.dasm (92.29 % of base)
        9544 : 87231.dasm (91.07 % of base)
        9136 : 68310.dasm (90.71 % of base)
        8364 : 115503.dasm (88.60 % of base)
        8356 : 85554.dasm (99.24 % of base)
        8188 : 86819.dasm (67.56 % of base)
        7272 : 111608.dasm (72.46 % of base)
        7192 : 89686.dasm (87.15 % of base)
        6880 : 111282.dasm (87.71 % of base)
        6844 : 267180.dasm (53.82 % of base)
        6556 : 267116.dasm (90.01 % of base)
        6372 : 210628.dasm (69.17 % of base)
        6244 : 61534.dasm (80.22 % of base)
Top file improvements (bytes):
        -116 : 239179.dasm (-12.45 % of base)
        -100 : 137440.dasm (-4.52 % of base)
         -68 : 29376.dasm (-11.33 % of base)
         -68 : 29416.dasm (-11.11 % of base)
         -56 : 67962.dasm (-5.58 % of base)
         -44 : 157895.dasm (-15.71 % of base)
         -36 : 194321.dasm (-1.50 % of base)
         -36 : 110434.dasm (-2.73 % of base)
         -32 : 254527.dasm (-8.08 % of base)
         -32 : 254528.dasm (-6.96 % of base)
         -28 : 265944.dasm (-5.79 % of base)
         -24 : 242331.dasm (-3.57 % of base)
         -24 : 244996.dasm (-2.46 % of base)
         -20 : 245670.dasm (-3.12 % of base)
         -20 : 245671.dasm (-3.05 % of base)
         -20 : 29375.dasm (-3.62 % of base)
         -20 : 213272.dasm (-1.71 % of base)
         -20 : 29415.dasm (-3.55 % of base)
         -20 : 157928.dasm (-8.33 % of base)
         -16 : 274172.dasm (-8.51 % of base)
92 total files with Code Size differences (32 improved, 60 regressed), 20 unchanged.
Top method regressions (bytes):
       21040 (71.99 % of base) : 247990.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
       19212 (80.68 % of base) : 111333.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureForASingleCandidate(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.Location,int,byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.VisualBasic.Symbol):this (FullOpts)
       17812 (97.02 % of base) : 111292.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindFieldAndPropertyInitializers(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,System.Collections.Immutable.ImmutableArray`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.FieldOrPropertyInitializer]],Microsoft.CodeAnalysis.VisualBasic.Symbols.SynthesizedInteractiveInitializerMethod,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundInitializer] (FullOpts)
       13280 (97.48 % of base) : 61188.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       11708 (99.22 % of base) : 203765.dasm - Microsoft.Build.Evaluation.Preprocessor:CloneChildrenResolvingImports(System.Xml.XmlNode,System.Xml.XmlNode):this (FullOpts)
       10768 (77.85 % of base) : 226456.dasm - System.Data.XmlTreeGen:HandleTable(System.Data.DataTable,System.Xml.XmlDocument,System.Xml.XmlElement,ubyte):System.Xml.XmlElement:this (FullOpts)
       10760 (98.46 % of base) : 38288.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
       10148 (92.29 % of base) : 38394.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
        9544 (91.07 % of base) : 87231.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugDirectoryNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (FullOpts)
        9136 (90.71 % of base) : 68310.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        8364 (88.60 % of base) : 115503.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberFieldSymbol:Create(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Syntax.FieldDeclarationSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol+MembersAndInitializersBuilder,byref,byref,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag) (FullOpts)
        8356 (99.24 % of base) : 85554.dasm - Internal.JitInterface.InstructionSetFlags:ExpandInstructionSetByImplicationHelper(int,Internal.JitInterface.InstructionSetFlags):Internal.JitInterface.InstructionSetFlags (FullOpts)
        8188 (67.56 % of base) : 86819.dasm - ILCompiler.Win32Resources.ResourceData:WriteResources(ILCompiler.DependencyAnalysis.ISymbolNode,byref,byref):this (FullOpts)
        7272 (72.46 % of base) : 111608.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:DecodeParameterList(Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,int,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.ParameterSyntax],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.VisualBasic.Binder+CheckParameterModifierDelegate,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):this (FullOpts)
        7192 (87.15 % of base) : 89686.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (FullOpts)
        6880 (87.71 % of base) : 111282.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindArrayBounds(Microsoft.CodeAnalysis.VisualBasic.Syntax.ArgumentListSyntax,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Binder+DimensionSize[],ubyte):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]:this (FullOpts)
        6844 (53.82 % of base) : 267180.dasm - R2RDump.TextDumper:DumpSectionContents(ILCompiler.Reflection.ReadyToRun.ReadyToRunSection):this (FullOpts)
        6556 (90.01 % of base) : 267116.dasm - R2RDump.Extensions:WriteTo(ILCompiler.Reflection.ReadyToRun.DebugInfo,System.IO.TextWriter,R2RDump.DumpModel) (FullOpts)
        6372 (69.17 % of base) : 210628.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
        6244 (80.22 % of base) : 61534.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeOneDeclaredBases(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Tuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]]:this (FullOpts)
Top method improvements (bytes):
        -116 (-12.45 % of base) : 239179.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateParameterizedConstructor(System.Reflection.ConstructorInfo,System.Type,System.Type,System.Type,System.Type):System.Reflection.Emit.DynamicMethod (FullOpts)
        -100 (-4.52 % of base) : 137440.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.DeclarationTable+_Closure$__38-0:_Lambda$__0(Microsoft.CodeAnalysis.VisualBasic.Symbols.SingleTypeDeclaration):ubyte:this (FullOpts)
         -68 (-11.33 % of base) : 29376.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+KeyCollection[System.__Canon,System.Nullable`1[int]]:All[System.Numerics.Vector`1[float]](System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -68 (-11.11 % of base) : 29416.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+ValueCollection[System.__Canon,System.Nullable`1[int]]:All[System.Numerics.Vector`1[float]](System.Func`3[System.Nullable`1[int],System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -56 (-5.58 % of base) : 67962.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetProperties>d__63:MoveNext():ubyte:this (FullOpts)
         -44 (-15.71 % of base) : 157895.dasm - Roslyn.Utilities.OneOrMany`1[System.__Canon]:Any[System.Numerics.Vector`1[float]](System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -36 (-2.73 % of base) : 110434.dasm - Microsoft.Diagnostics.Tracing.CLRRuntimeActivityComputer+PerThreadStartStopData+<Stackify>d__3:MoveNext():ubyte:this (FullOpts)
         -36 (-1.50 % of base) : 194321.dasm - Newtonsoft.Json.Converters.XmlNodeConverter:ReadAttributeElements(Newtonsoft.Json.JsonReader,System.Xml.XmlNamespaceManager):System.Collections.Generic.Dictionary`2[System.String,System.String]:this (FullOpts)
         -32 (-8.08 % of base) : 254527.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Contains(System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -32 (-6.96 % of base) : 254528.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:TryGetValue(System.Numerics.Vector`1[float],byref):ubyte:this (FullOpts)
         -28 (-5.79 % of base) : 265944.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext:MatchPatternContexts[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.Func`3[Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,System.Numerics.Vector`1[float],Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult]):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts)
         -24 (-3.57 % of base) : 242331.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:Overlaps(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.__Canon]):ubyte (FullOpts)
         -24 (-2.46 % of base) : 244996.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Find(System.Predicate`1[System.Numerics.Vector`1[float]]):System.Numerics.Vector`1[float]:this (FullOpts)
         -20 (-3.62 % of base) : 29375.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+KeyCollection[System.__Canon,System.Nullable`1[int]]:All[double](System.Func`3[System.__Canon,double,ubyte],double):ubyte:this (FullOpts)
         -20 (-3.55 % of base) : 29415.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+ValueCollection[System.__Canon,System.Nullable`1[int]]:All[double](System.Func`3[System.Nullable`1[int],double,ubyte],double):ubyte:this (FullOpts)
         -20 (-8.33 % of base) : 157928.dasm - Roslyn.Utilities.OneOrMany`1[ubyte]:Any[System.Numerics.Vector`1[float]](System.Func`3[ubyte,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -20 (-3.12 % of base) : 245670.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:IsSupersetOf(System.Collections.Generic.IEnumerable`1[System.__Canon]):ubyte:this (FullOpts)
         -20 (-3.05 % of base) : 245671.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:Overlaps(System.Collections.Generic.IEnumerable`1[System.__Canon]):ubyte:this (FullOpts)
         -20 (-1.71 % of base) : 213272.dasm - System.ComponentModel.ReflectPropertyDescriptor:get_GetMethodValue():System.Reflection.MethodInfo:this (FullOpts)
         -16 (-1.97 % of base) : 192525.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:EnsureCastExpression(System.Linq.Expressions.Expression,System.Type,ubyte):System.Linq.Expressions.Expression:this (FullOpts)
Top method regressions (percentages):
        4852 (118.34 % of base) : 228561.dasm - System.Data.RBTree`1[System.__Canon]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
        1708 (116.99 % of base) : 261678.dasm - System.Runtime.Caching.UsageBucket:Reduce():this (FullOpts)
        4620 (115.96 % of base) : 228622.dasm - System.Data.RBTree`1[ubyte]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
        1600 (105.54 % of base) : 155486.dasm - System.Xml.Serialization.XmlSerializationWriterCodeGen:WriteDerivedTypes(System.Xml.Serialization.StructMapping):this (FullOpts)
        3636 (104.36 % of base) : 274042.dasm - Microsoft.Extensions.DependencyModel.DependencyContextWriter:AddRuntimeSpecificAssets(System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.DependencyModel.RuntimeFile],System.String,System.String,System.Text.Json.Utf8JsonWriter) (FullOpts)
         232 (103.57 % of base) : 273174.dasm - System.Composition.Hosting.Util.SmallSparseInitonlyArray:TryGetValue(int,byref):ubyte:this (FullOpts)
        2628 (100.61 % of base) : 139286.dasm - Microsoft.CodeAnalysis.VisualBasic.AsyncRewriter+AsyncMethodToClassRewriter:SpillArgumentListInner(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.AsyncRewriter+SpillBuilder],ubyte,byref):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]:this (FullOpts)
        1856 (100.43 % of base) : 57754.dasm - Microsoft.CodeAnalysis.CSharp.Emit.PEDeltaAssemblyBuilder:GetAnonymousDelegateMapFromMetadata(System.Reflection.Metadata.MetadataReader,Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.MetadataDecoder):System.Collections.Generic.IReadOnlyDictionary`2[Microsoft.CodeAnalysis.Emit.SynthesizedDelegateKey,Microsoft.CodeAnalysis.Emit.SynthesizedDelegateValue] (FullOpts)
        4772 (100.42 % of base) : 114337.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.ConstraintsHelper:ReportIndirectConstraintConflicts(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceTypeParameterSymbol,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterDiagnosticInfo],byref) (FullOpts)
        3244 (100.12 % of base) : 115425.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol:ProcessPartialMethodsIfAny(System.Collections.Generic.Dictionary`2[System.String,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbol]],Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):this (FullOpts)
        3152 (99.87 % of base) : 115336.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceFile:BindOptions(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.OptionStatementSyntax],Microsoft.CodeAnalysis.DiagnosticBag,byref,byref,byref,byref,System.Nullable`1[Microsoft.CodeAnalysis.Text.TextSpan]) (FullOpts)
        4256 (99.25 % of base) : 111659.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlnsAttributes(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax],byref,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.BoundXmlAttribute],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.Collections.Generic.KeyValuePair`2[System.String,System.String]],Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):System.Collections.Generic.Dictionary`2[System.String,System.String]:this (FullOpts)
        8356 (99.24 % of base) : 85554.dasm - Internal.JitInterface.InstructionSetFlags:ExpandInstructionSetByImplicationHelper(int,Internal.JitInterface.InstructionSetFlags):Internal.JitInterface.InstructionSetFlags (FullOpts)
       11708 (99.22 % of base) : 203765.dasm - Microsoft.Build.Evaluation.Preprocessor:CloneChildrenResolvingImports(System.Xml.XmlNode,System.Xml.XmlNode):this (FullOpts)
        6076 (98.96 % of base) : 85556.dasm - Internal.JitInterface.InstructionSetFlags:ExpandInstructionSetByReverseImplicationHelper(int,Internal.JitInterface.InstructionSetFlags):Internal.JitInterface.InstructionSetFlags (FullOpts)
       10760 (98.46 % of base) : 38288.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
        3052 (98.45 % of base) : 293733.dasm - System.DirectoryServices.Protocols.DirectoryControl:TransformControls(System.DirectoryServices.Protocols.DirectoryControl[]) (FullOpts)
        6028 (97.86 % of base) : 61200.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:ComputeInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+SynthesizedExplicitImplementations:this (FullOpts)
        4904 (97.85 % of base) : 111486.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindRedimStatement(Microsoft.CodeAnalysis.VisualBasic.Syntax.ReDimStatementSyntax,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundStatement:this (FullOpts)
        1992 (97.84 % of base) : 34208.dasm - Microsoft.CodeAnalysis.CSharp.SwitchBinder:BuildSwitchLabels(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.SwitchLabelSyntax],Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
Top method improvements (percentages):
         -44 (-15.71 % of base) : 157895.dasm - Roslyn.Utilities.OneOrMany`1[System.__Canon]:Any[System.Numerics.Vector`1[float]](System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
        -116 (-12.45 % of base) : 239179.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateParameterizedConstructor(System.Reflection.ConstructorInfo,System.Type,System.Type,System.Type,System.Type):System.Reflection.Emit.DynamicMethod (FullOpts)
         -68 (-11.33 % of base) : 29376.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+KeyCollection[System.__Canon,System.Nullable`1[int]]:All[System.Numerics.Vector`1[float]](System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -68 (-11.11 % of base) : 29416.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+ValueCollection[System.__Canon,System.Nullable`1[int]]:All[System.Numerics.Vector`1[float]](System.Func`3[System.Nullable`1[int],System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -16 (-8.51 % of base) : 274172.dasm - System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
         -20 (-8.33 % of base) : 157928.dasm - Roslyn.Utilities.OneOrMany`1[ubyte]:Any[System.Numerics.Vector`1[float]](System.Func`3[ubyte,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -32 (-8.08 % of base) : 254527.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Contains(System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -32 (-6.96 % of base) : 254528.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:TryGetValue(System.Numerics.Vector`1[float],byref):ubyte:this (FullOpts)
         -16 (-6.90 % of base) : 214754.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Byte():System.Reflection.MethodInfo (FullOpts)
         -16 (-6.90 % of base) : 214762.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Char():System.Reflection.MethodInfo (FullOpts)
         -16 (-6.90 % of base) : 214756.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Int16():System.Reflection.MethodInfo (FullOpts)
         -16 (-6.90 % of base) : 214758.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Int32():System.Reflection.MethodInfo (FullOpts)
         -16 (-6.90 % of base) : 214760.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Int64():System.Reflection.MethodInfo (FullOpts)
         -16 (-6.90 % of base) : 214755.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_SByte():System.Reflection.MethodInfo (FullOpts)
         -16 (-6.90 % of base) : 214757.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_UInt16():System.Reflection.MethodInfo (FullOpts)
         -16 (-6.90 % of base) : 214759.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_UInt32():System.Reflection.MethodInfo (FullOpts)
         -16 (-6.90 % of base) : 214761.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_UInt64():System.Reflection.MethodInfo (FullOpts)
         -16 (-6.90 % of base) : 214745.dasm - System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
         -28 (-5.79 % of base) : 265944.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext:MatchPatternContexts[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.Func`3[Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,System.Numerics.Vector`1[float],Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult]):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts)
         -16 (-5.71 % of base) : 250860.dasm - Xunit.EnvironmentHelper:GetEnvironmentVariableMethod():System.Reflection.MethodInfo (FullOpts)
  
libraries_tests.run.linux.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 382265760 (overridden on cmd)
Total bytes of diff: 420809132 (overridden on cmd)
Total bytes of delta: 38543372 (10.08 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       23120 : 58244.dasm (90.34 % of base)
       22784 : 647591.dasm (86.29 % of base)
       22396 : 65735.dasm (91.53 % of base)
       21916 : 643594.dasm (92.30 % of base)
       20532 : 670975.dasm (82.35 % of base)
       19260 : 175293.dasm (82.77 % of base)
       18972 : 85793.dasm (94.35 % of base)
       17668 : 670170.dasm (89.20 % of base)
       17532 : 468921.dasm (84.45 % of base)
       17456 : 532599.dasm (96.40 % of base)
       16804 : 670113.dasm (76.20 % of base)
       16732 : 683947.dasm (103.85 % of base)
       16528 : 182128.dasm (93.32 % of base)
       16460 : 90237.dasm (85.96 % of base)
       16292 : 448673.dasm (86.29 % of base)
       16232 : 53452.dasm (95.06 % of base)
       15804 : 223981.dasm (77.41 % of base)
       15440 : 685394.dasm (80.96 % of base)
       15388 : 683965.dasm (96.61 % of base)
       15260 : 475040.dasm (79.91 % of base)
Top file improvements (bytes):
       -4864 : 73233.dasm (-32.54 % of base)
       -4688 : 69412.dasm (-31.46 % of base)
       -1824 : 20324.dasm (-15.92 % of base)
       -1588 : 213455.dasm (-6.47 % of base)
        -232 : 78730.dasm (-2.44 % of base)
        -196 : 44124.dasm (-2.00 % of base)
        -192 : 105478.dasm (-32.65 % of base)
        -192 : 133255.dasm (-32.65 % of base)
        -192 : 238213.dasm (-32.65 % of base)
        -192 : 117178.dasm (-32.65 % of base)
        -192 : 237649.dasm (-32.65 % of base)
        -192 : 268957.dasm (-32.65 % of base)
        -192 : 296961.dasm (-32.65 % of base)
        -192 : 299747.dasm (-32.65 % of base)
        -192 : 308761.dasm (-32.65 % of base)
        -192 : 313909.dasm (-32.65 % of base)
        -192 : 316319.dasm (-32.65 % of base)
        -192 : 4090.dasm (-32.65 % of base)
        -192 : 66543.dasm (-32.65 % of base)
        -192 : 70811.dasm (-32.65 % of base)
92 total files with Code Size differences (29 improved, 63 regressed), 20 unchanged.
Top method regressions (bytes):
       23120 (90.34 % of base) : 58244.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
       22784 (86.29 % of base) : 647591.dasm - System.Text.Json.Tests.Utf8JsonWriterTests:GetNumbersExpectedString(System.Text.Json.JsonWriterOptions,System.String,int[],uint[],long[],ulong[],float[],double[],System.Decimal[],ubyte):System.String (Tier1)
       22396 (91.53 % of base) : 65735.dasm - Microsoft.CodeAnalysis.CSharp.Binder:MakeDeconstructionConversion(Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Binder+DeconstructionVariable],byref):ubyte:this (Tier1)
       21916 (92.30 % of base) : 643594.dasm - System.Text.Json.Tests.Utf8JsonWriterTests:GetNumbersExpectedString(System.Text.Json.JsonWriterOptions,System.String,int[],uint[],long[],ulong[],float[],double[],System.Decimal[],ubyte):System.String (Tier1-OSR)
       20532 (82.35 % of base) : 670975.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
       19260 (82.77 % of base) : 175293.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
       18972 (94.35 % of base) : 85793.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers:MakeParameters[System.__Canon,System.__Canon,System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,System.__Canon,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[System.__Canon],byref,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte,ubyte,ubyte,int,System.Func`12[System.__Canon,System.__Canon,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.__Canon,ubyte,int,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,ubyte,ubyte,System.__Canon,System.__Canon],ubyte):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (Tier1)
       17668 (89.20 % of base) : 670170.dasm - Microsoft.CodeAnalysis.CSharp.Binder:TryPerformConstructorOverloadResolution(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.String,Microsoft.CodeAnalysis.Location,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref,byref,ubyte,ubyte):ubyte:this (Tier1)
       17532 (84.45 % of base) : 468921.dasm - System.Xml.XmlConvertTests.ToTypeTests:TestValid(System.Object[],System.Object[],System.String,System.String[]):int:this (Tier1)
       17456 (96.40 % of base) : 532599.dasm - System.Runtime.Serialization.Formatters.Binary.ObjectWriter:Write(System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo,System.Runtime.Serialization.Formatters.Binary.NameInfo,System.Runtime.Serialization.Formatters.Binary.NameInfo):this (Tier1)
       16804 (76.20 % of base) : 670113.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindAttributeCore(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundAttribute:this (Tier1)
       16732 (103.85 % of base) : 683947.dasm - Microsoft.Cci.MetadataWriter:PopulateTypeDefTableRows():this (Tier1)
       16528 (93.32 % of base) : 182128.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers:MakeParameters[System.__Canon,System.__Canon,System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,System.__Canon,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[System.__Canon],byref,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte,ubyte,ubyte,int,System.Func`12[System.__Canon,System.__Canon,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.__Canon,ubyte,int,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,ubyte,ubyte,System.__Canon,System.__Canon],ubyte):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (Tier1)
       16460 (85.96 % of base) : 90237.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
       16292 (86.29 % of base) : 448673.dasm - XPathTests.Common.Utils:XPathNodesetTest(int,System.String,System.String,XPathTests.Common.XPathResult,System.Xml.XmlNamespaceManager,System.String) (Tier1)
       16232 (95.06 % of base) : 53452.dasm - Microsoft.CodeAnalysis.CSharp.Binder:TryPerformConstructorOverloadResolution(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.String,Microsoft.CodeAnalysis.Location,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref,byref,ubyte,ubyte):ubyte:this (Tier1)
       15804 (77.41 % of base) : 223981.dasm - System.Runtime.Serialization.Formatters.Binary.ObjectWriter:WriteArray(System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo,System.Runtime.Serialization.Formatters.Binary.NameInfo,System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo):this (Tier1)
       15440 (80.96 % of base) : 685394.dasm - Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,System.__Canon]:VisitBinaryLogicalOperatorChildren(Microsoft.CodeAnalysis.CSharp.BoundExpression):this (Tier1)
       15388 (96.61 % of base) : 683965.dasm - Microsoft.Cci.MetadataWriter:PopulateTypeRefTableRows():this (Tier1)
       15260 (79.91 % of base) : 475040.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess1():int:this (Tier1)
Top method improvements (bytes):
       -4864 (-32.54 % of base) : 73233.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbols(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):this (Tier1-OSR)
       -4688 (-31.46 % of base) : 69412.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbols(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):this (Tier1-OSR)
       -1824 (-15.92 % of base) : 20324.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbols(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):this (Tier1-OSR)
       -1588 (-6.47 % of base) : 213455.dasm - System.Collections.Frozen.Tests.FrozenSet_Generic_Tests`1[System.__Canon]:ComparingWithOtherSets(int):this (Tier1)
        -232 (-2.44 % of base) : 78730.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -196 (-2.00 % of base) : 44124.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -192 (-32.65 % of base) : 105478.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 133255.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 238213.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 117178.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 237649.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 268957.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 296961.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 299747.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 308761.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 313909.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 316319.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 4090.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 66543.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 70811.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
Top method regressions (percentages):
        4016 (144.25 % of base) : 176445.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseTypeArgumentList(byref,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxListBuilder`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax],byref):this (Tier1)
        2540 (127.25 % of base) : 342464.dasm - System.Linq.Parallel.SortHelper`2[System.Collections.Generic.KeyValuePair`2[int,System.Collections.Generic.KeyValuePair`2[int,int]],System.Linq.Parallel.Pair`2[System.Linq.Parallel.Pair`2[int,int],int]]:QuickSort(int,int,System.Linq.Parallel.Pair`2[System.Linq.Parallel.Pair`2[int,int],int][],int[],System.Threading.CancellationToken):this (Tier1)
        3088 (118.22 % of base) : 295051.dasm - System.Dynamic.Utils.TypeUtils:GetBooleanOperator(System.Type,System.String):System.Reflection.MethodInfo (Tier1)
        6836 (112.21 % of base) : 680408.dasm - System.Collections.Generic.ArraySortHelper`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Reflection.Metadata.StringHandle]]:IntroSort(System.Span`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Reflection.Metadata.StringHandle]],int,System.Comparison`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Reflection.Metadata.StringHandle]]) (Tier1)
        4444 (110.22 % of base) : 82295.dasm - System.Collections.Immutable.ImmutableArray:CreateRange[System.__Canon,System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (Tier1)
         524 (109.17 % of base) : 529672.dasm - System.Lazy`1[int]:CreateValue():int:this (Instrumented Tier1)
         524 (109.17 % of base) : 69415.dasm - System.Lazy`1[ubyte]:CreateValue():ubyte:this (Instrumented Tier1)
        1508 (108.96 % of base) : 92718.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:<PartialMethodChecks>g__hasDifferencesInParameterOrTypeParameterName|43_3(Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol):ubyte (Tier1)
        1496 (108.09 % of base) : 342384.dasm - System.Linq.Parallel.SortHelper`2[int,System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.Tests.NotComparable]]:QuickSort(int,int,System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.Tests.NotComparable][],int[],System.Threading.CancellationToken):this (Tier1)
        4420 (107.70 % of base) : 282400.dasm - Microsoft.CSharp.RuntimeBinder.SymbolTable:AddNamesInInheritanceHierarchy(System.String,System.Collections.Generic.List`1[System.Type]) (Tier1)
        8528 (107.51 % of base) : 178611.dasm - Microsoft.Cci.MetadataWriter:WriteInstructions(System.Reflection.Metadata.Blob,System.Collections.Immutable.ImmutableArray`1[ubyte],byref,byref):this (Tier1)
        5944 (107.45 % of base) : 648193.dasm - System.Text.Json.Tests.Utf8JsonWriterTests:EscapingTestWhileWritingSurrogate(System.Text.Encodings.Web.JavaScriptEncoder):this (Tier1-OSR)
        6392 (107.39 % of base) : 91083.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MemberSignatureComparer:HaveSameParameterTypes(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.CSharp.Symbols.TypeMap,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.CSharp.Symbols.TypeMap,int,int):ubyte (Tier1)
        4020 (107.14 % of base) : 51679.dasm - System.Collections.Generic.ArraySortHelper`1[System.ValueTuple`2[int,System.__Canon]]:IntroSort(System.Span`1[System.ValueTuple`2[int,System.__Canon]],int,System.Comparison`1[System.ValueTuple`2[int,System.__Canon]]) (Tier1)
        4020 (107.14 % of base) : 85096.dasm - System.Collections.Generic.ArraySortHelper`1[System.ValueTuple`2[int,System.__Canon]]:IntroSort(System.Span`1[System.ValueTuple`2[int,System.__Canon]],int,System.Comparison`1[System.ValueTuple`2[int,System.__Canon]]) (Tier1)
        1504 (106.52 % of base) : 342331.dasm - System.Linq.Parallel.SortHelper`2[int,System.Linq.Parallel.Pair`2[int,int]]:QuickSort(int,int,System.Linq.Parallel.Pair`2[int,int][],int[],System.Threading.CancellationToken):this (Tier1)
        1504 (106.52 % of base) : 342632.dasm - System.Linq.Parallel.SortHelper`2[System.Collections.Generic.KeyValuePair`2[int,System.Collections.Generic.KeyValuePair`2[int,int]],System.Linq.Parallel.Pair`2[int,int]]:QuickSort(int,int,System.Linq.Parallel.Pair`2[int,int][],int[],System.Threading.CancellationToken):this (Tier1)
        3124 (106.11 % of base) : 688359.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3144_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        2744 (104.57 % of base) : 699904.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex7163_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        1596 (104.18 % of base) : 443136.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>FAB93D28E879A1C012F40790EA668F818AB3858873713FA53950E20F52E058952__ParamsReadRegex_11+RunnerFactory+Runner:Scan(System.ReadOnlySpan`1[ushort]):this (Tier1)
Top method improvements (percentages):
        -192 (-32.65 % of base) : 105478.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 133255.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 238213.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 117178.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 237649.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 268957.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 296961.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 299747.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 308761.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 313909.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 316319.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 4090.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 66543.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 70811.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 72150.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 105257.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 152557.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 217569.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 368339.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 72767.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
  
librariestestsnotieredcompilation.run.linux.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 162857060 (overridden on cmd)
Total bytes of diff: 173071960 (overridden on cmd)
Total bytes of delta: 10214900 (6.27 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       26100 : 102310.dasm (35.43 % of base)
       24936 : 106664.dasm (35.22 % of base)
       20800 : 59263.dasm (71.17 % of base)
       18464 : 174550.dasm (104.55 % of base)
       13316 : 198937.dasm (56.43 % of base)
       13200 : 198521.dasm (56.71 % of base)
       13140 : 6903.dasm (97.45 % of base)
       13060 : 49411.dasm (97.58 % of base)
       12624 : 44210.dasm (96.25 % of base)
       11444 : 295407.dasm (96.85 % of base)
       11256 : 53910.dasm (83.75 % of base)
       11056 : 175934.dasm (89.31 % of base)
       10484 : 90637.dasm (77.29 % of base)
        9940 : 55633.dasm (91.49 % of base)
        9508 : 95968.dasm (72.82 % of base)
        9012 : 6164.dasm (90.59 % of base)
        8984 : 111283.dasm (94.29 % of base)
        8932 : 175932.dasm (85.20 % of base)
        8904 : 175935.dasm (86.65 % of base)
        8904 : 175936.dasm (86.89 % of base)
Top file improvements (bytes):
        -572 : 44882.dasm (-4.50 % of base)
        -572 : 50663.dasm (-4.50 % of base)
        -544 : 68083.dasm (-6.99 % of base)
        -380 : 68066.dasm (-5.04 % of base)
        -164 : 229661.dasm (-4.60 % of base)
         -88 : 296539.dasm (-4.73 % of base)
         -84 : 286481.dasm (-10.99 % of base)
         -80 : 297277.dasm (-4.31 % of base)
         -80 : 174536.dasm (-12.50 % of base)
         -80 : 296617.dasm (-3.46 % of base)
         -76 : 296504.dasm (-3.44 % of base)
         -72 : 286660.dasm (-8.26 % of base)
         -64 : 271802.dasm (-7.34 % of base)
         -60 : 286662.dasm (-5.49 % of base)
         -56 : 54982.dasm (-5.58 % of base)
         -56 : 271765.dasm (-10.85 % of base)
         -56 : 271759.dasm (-11.02 % of base)
         -56 : 271763.dasm (-10.85 % of base)
         -48 : 106257.dasm (-7.74 % of base)
         -44 : 284381.dasm (-6.47 % of base)
91 total files with Code Size differences (30 improved, 61 regressed), 20 unchanged.
Top method regressions (bytes):
       26100 (35.43 % of base) : 102310.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.statements.freach.freach001.freach001.Test:MainMethod():int (FullOpts)
       24936 (35.22 % of base) : 106664.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.statements.freach.freach007.freach007.Test:MainMethod():int (FullOpts)
       20800 (71.17 % of base) : 59263.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
       18464 (104.55 % of base) : 174550.dasm - System.Xml.XmlConvertTests.ToTypeTests:TestValid(System.Object[],System.Object[],System.String,System.String[]):int:this (FullOpts)
       13316 (56.43 % of base) : 198937.dasm - (dynamicClass):ReadAllTypes2FromXml(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.XmlObjectSerializerReadContext,System.Xml.XmlDictionaryString[],System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
       13200 (56.71 % of base) : 198521.dasm - (dynamicClass):ReadAllTypesFromXml(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.XmlObjectSerializerReadContext,System.Xml.XmlDictionaryString[],System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
       13140 (97.45 % of base) : 6903.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       13060 (97.58 % of base) : 49411.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       12624 (96.25 % of base) : 44210.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       11444 (96.85 % of base) : 295407.dasm - System.Threading.Tasks.Dataflow.Tests.DebugAttributeTests:TestDebuggerDisplaysAndTypeProxies():this (FullOpts)
       11256 (83.75 % of base) : 53910.dasm - Enumeration.FirstValidator:Validate(System.String,Enumeration.FirstModel):Microsoft.Extensions.Options.ValidateOptionsResult:this (FullOpts)
       11056 (89.31 % of base) : 175934.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess2():int:this (FullOpts)
       10484 (77.29 % of base) : 90637.dasm - System.Data.XmlTreeGen:HandleTable(System.Data.DataTable,System.Xml.XmlDocument,System.Xml.XmlElement,ubyte):System.Xml.XmlElement:this (FullOpts)
        9940 (91.49 % of base) : 55633.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
        9508 (72.82 % of base) : 95968.dasm - System.Data.Tests.DataTableTest2:GetChanges_ByDataRowState():this (FullOpts)
        9012 (90.59 % of base) : 6164.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        8984 (94.29 % of base) : 111283.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.basic.operate007a.operate007a.Test:Test4():ubyte (FullOpts)
        8932 (85.20 % of base) : 175932.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess1():int:this (FullOpts)
        8904 (86.65 % of base) : 175935.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess3():int:this (FullOpts)
        8904 (86.89 % of base) : 175936.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess4():int:this (FullOpts)
Top method improvements (bytes):
        -572 (-4.50 % of base) : 44882.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers:CheckParameterModifiers(Microsoft.CodeAnalysis.CSharp.Syntax.BaseParameterSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte) (FullOpts)
        -572 (-4.50 % of base) : 50663.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers:CheckParameterModifiers(Microsoft.CodeAnalysis.CSharp.Syntax.BaseParameterSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte) (FullOpts)
        -544 (-6.99 % of base) : 68083.dasm - System.Collections.Frozen.Tests.FrozenSet_Generic_Tests`1[System.Collections.Frozen.Tests.SimpleStruct]:ComparingWithOtherSets(int):this (FullOpts)
        -380 (-5.04 % of base) : 68066.dasm - System.Collections.Frozen.Tests.FrozenSet_Generic_Tests`1[System.__Canon]:ComparingWithOtherSets(int):this (FullOpts)
        -164 (-4.60 % of base) : 229661.dasm - System.Text.Tests.DecoderConvert2:PosTest9():this (FullOpts)
         -88 (-4.73 % of base) : 296539.dasm - System.Threading.Tasks.Dataflow.Tests.BufferBlockTests+<TestLinkToOptions>d__6:MoveNext():this (FullOpts)
         -84 (-10.99 % of base) : 286481.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex31338_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -80 (-3.46 % of base) : 296617.dasm - System.Threading.Tasks.Dataflow.Tests.TransformBlockTests+<TestLinkToOptions>d__6:MoveNext():this (FullOpts)
         -80 (-4.31 % of base) : 297277.dasm - System.Threading.Tasks.Dataflow.Tests.TransformManyBlockTests+<TestLinkToOptionsAsyncEnumerable>d__37:MoveNext():this (FullOpts)
         -80 (-12.50 % of base) : 174536.dasm - System.Xml.XmlConvertTests.EncodeDecodeTests:v3():int:this (FullOpts)
         -76 (-3.44 % of base) : 296504.dasm - System.Threading.Tasks.Dataflow.Tests.TransformManyBlockTests+<TestLinkToOptions>d__6:MoveNext():this (FullOpts)
         -72 (-8.26 % of base) : 286660.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex31513_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -64 (-7.34 % of base) : 271802.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex27042_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -60 (-5.49 % of base) : 286662.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex31514_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -56 (-5.58 % of base) : 54982.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetProperties>d__65:MoveNext():ubyte:this (FullOpts)
         -56 (-11.02 % of base) : 271759.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex26998_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -56 (-10.85 % of base) : 271763.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex27001_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -56 (-10.85 % of base) : 271765.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex27003_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -48 (-7.74 % of base) : 106257.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.basic.operate008a.operate008a.Test:Test3a():ubyte (FullOpts)
         -44 (-6.47 % of base) : 284381.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex29296_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
Top method regressions (percentages):
        4852 (118.34 % of base) : 91942.dasm - System.Data.RBTree`1[System.__Canon]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
        1708 (116.99 % of base) : 185756.dasm - System.Runtime.Caching.UsageBucket:Reduce():this (FullOpts)
        4620 (115.96 % of base) : 91326.dasm - System.Data.RBTree`1[int]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
         580 (111.54 % of base) : 96986.dasm - System.Diagnostics.Metrics.Tests.MetricsTests+<>c__DisplayClass15_0:<SerializedEventsTest>b__3():this (FullOpts)
        2724 (107.58 % of base) : 271770.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex9598_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        3168 (107.03 % of base) : 270978.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex9105_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
       18464 (104.55 % of base) : 174550.dasm - System.Xml.XmlConvertTests.ToTypeTests:TestValid(System.Object[],System.Object[],System.String,System.String[]):int:this (FullOpts)
         952 (104.39 % of base) : 300648.dasm - System.Threading.Tests.BarrierTests:RunBarrierTest7a() (FullOpts)
         232 (103.57 % of base) : 42130.dasm - System.Composition.Hosting.Util.SmallSparseInitonlyArray:TryGetValue(int,byref):ubyte:this (FullOpts)
         232 (103.57 % of base) : 30087.dasm - System.Composition.Hosting.Util.SmallSparseInitonlyArray:TryGetValue(int,byref):ubyte:this (FullOpts)
         232 (103.57 % of base) : 86963.dasm - System.Composition.Hosting.Util.SmallSparseInitonlyArray:TryGetValue(int,byref):ubyte:this (FullOpts)
         984 (101.23 % of base) : 63933.dasm - System.CodeDom.Tests.CodeArrayCreateExpressionTests:Ctor_Type_CodeExpression(System.Type,System.String):this (FullOpts)
        1396 (101.16 % of base) : 49921.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetAttributes(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Binder],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData[],Microsoft.CodeAnalysis.CSharp.BoundAttribute[],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)
         984 (100.41 % of base) : 63949.dasm - System.CodeDom.Tests.CodeArrayCreateExpressionTests:Ctor_String_CodeExpression(System.String,System.String):this (FullOpts)
        3168 (100.25 % of base) : 286565.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex31413_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        3632 (100.22 % of base) : 161308.dasm - System.Numerics.Tests.QuaternionTests:QuaternionFromRotationMatrixTest5():this (FullOpts)
        1640 (100.00 % of base) : 198706.dasm - DataContractSerializerTests:DCS_InvalidDataContract_Read_Invalid_Types_Throws() (FullOpts)
        2148 (99.81 % of base) : 46410.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer+InterpolatedStringScanner:ScanInterpolatedStringLiteralContents(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer+Interpolation]):this (FullOpts)
        1940 (99.18 % of base) : 227036.dasm - System.Security.Cryptography.Xml.Tests.Reference_ArbitraryElements:ExtraAttributes() (FullOpts)
        2712 (99.12 % of base) : 286592.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex31431_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
Top method improvements (percentages):
         -80 (-12.50 % of base) : 174536.dasm - System.Xml.XmlConvertTests.EncodeDecodeTests:v3():int:this (FullOpts)
         -56 (-11.02 % of base) : 271759.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex26998_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -84 (-10.99 % of base) : 286481.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex31338_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -56 (-10.85 % of base) : 271763.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex27001_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -56 (-10.85 % of base) : 271765.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex27003_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -40 (-9.17 % of base) : 214890.dasm - System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (FullOpts)
         -16 (-8.51 % of base) : 177460.dasm - System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
         -72 (-8.26 % of base) : 286660.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex31513_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -32 (-8.00 % of base) : 225231.dasm - System.Security.Cryptography.RC2:set_EffectiveKeySize(int):this (FullOpts)
         -48 (-7.74 % of base) : 106257.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.basic.operate008a.operate008a.Test:Test3a():ubyte (FullOpts)
         -24 (-7.69 % of base) : 2951.dasm - System.Linq.Enumerable+WhereSelectListIterator`2[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon],System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -64 (-7.34 % of base) : 271802.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex27042_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -40 (-7.19 % of base) : 214282.dasm - System.Security.Cryptography.DES:set_Key(ubyte[]):this (FullOpts)
         -40 (-6.99 % of base) : 165122.dasm - PurchaseOrder:CreateInstance():PurchaseOrder (FullOpts)
        -544 (-6.99 % of base) : 68083.dasm - System.Collections.Frozen.Tests.FrozenSet_Generic_Tests`1[System.Collections.Frozen.Tests.SimpleStruct]:ComparingWithOtherSets(int):this (FullOpts)
         -16 (-6.56 % of base) : 188003.dasm - System.Runtime.InteropServices.Tests.PrelinkTests:Prelink_RuntimeSuppliedMethod_Success():this (FullOpts)
         -44 (-6.47 % of base) : 284381.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex29296_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -44 (-6.47 % of base) : 284383.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex29298_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -44 (-6.47 % of base) : 284388.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex29302_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -44 (-6.47 % of base) : 284394.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex29305_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
  
realworld.run.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 15282328 (overridden on cmd)
Total bytes of diff: 17166840 (overridden on cmd)
Total bytes of delta: 1884512 (12.33 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       13092 : 20225.dasm (97.35 % of base)
       10480 : 25112.dasm (97.18 % of base)
       10032 : 23934.dasm (91.37 % of base)
        9288 : 19135.dasm (91.45 % of base)
        7888 : 1848.dasm (96.76 % of base)
        7400 : 32497.dasm (72.21 % of base)
        6916 : 17913.dasm (85.89 % of base)
        6680 : 24437.dasm (77.93 % of base)
        6096 : 20892.dasm (87.44 % of base)
        5968 : 20164.dasm (79.19 % of base)
        5824 : 30698.dasm (88.56 % of base)
        5712 : 20622.dasm (97.81 % of base)
        5384 : 12171.dasm (101.05 % of base)
        5312 : 12170.dasm (99.25 % of base)
        5068 : 1705.dasm (110.27 % of base)
        4960 : 7528.dasm (79.64 % of base)
        4928 : 24207.dasm (54.63 % of base)
        4892 : 21509.dasm (87.80 % of base)
        4712 : 16707.dasm (66.55 % of base)
        4660 : 12684.dasm (92.61 % of base)
Top file improvements (bytes):
        -112 : 645.dasm (-10.65 % of base)
         -56 : 28685.dasm (-5.58 % of base)
         -44 : 2046.dasm (-33.33 % of base)
         -20 : 31027.dasm (-1.99 % of base)
         -16 : 13122.dasm (-3.28 % of base)
         -16 : 2792.dasm (-2.12 % of base)
         -16 : 32926.dasm (-6.90 % of base)
         -12 : 16340.dasm (-2.29 % of base)
         -12 : 28643.dasm (-2.27 % of base)
         -12 : 5737.dasm (-1.49 % of base)
         -12 : 21075.dasm (-1.94 % of base)
          -8 : 31122.dasm (-0.68 % of base)
          -4 : 10131.dasm (-3.70 % of base)
          -4 : 3664.dasm (-2.08 % of base)
          -4 : 5118.dasm (-2.17 % of base)
          -4 : 661.dasm (-0.93 % of base)
          -4 : 111.dasm (-2.08 % of base)
          -4 : 13327.dasm (-2.17 % of base)
          -4 : 15336.dasm (-2.13 % of base)
          -4 : 22890.dasm (-1.79 % of base)
79 total files with Code Size differences (23 improved, 56 regressed), 18 unchanged.
Top method regressions (bytes):
       13092 (97.35 % of base) : 20225.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       10480 (97.18 % of base) : 25112.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
       10032 (91.37 % of base) : 23934.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
        9288 (91.45 % of base) : 19135.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        7888 (96.76 % of base) : 1848.dasm - BepuPhysics.CollisionDetection.MeshReduction:ReduceManifolds(byref,byref,int,int,ubyte,byref,byref,byref,ulong,BepuUtilities.Memory.BufferPool) (FullOpts)
        7400 (72.21 % of base) : 32497.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        6916 (85.89 % of base) : 17913.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
        6680 (77.93 % of base) : 24437.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindInterpolatedString(Microsoft.CodeAnalysis.CSharp.Syntax.InterpolatedStringExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
        6096 (87.44 % of base) : 20892.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeTypeParameters(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol]:this (FullOpts)
        5968 (79.19 % of base) : 20164.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeOneDeclaredBases(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Tuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]]:this (FullOpts)
        5824 (88.56 % of base) : 30698.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        5712 (97.81 % of base) : 20622.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:ComputeInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+SynthesizedExplicitImplementations:this (FullOpts)
        5384 (101.05 % of base) : 12171.dasm - SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:ProcessBorderRow(SixLabors.ImageSharp.Memory.Buffer2D`1[SixLabors.ImageSharp.PixelFormats.Rgba32],SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1+CdfTileData[SixLabors.ImageSharp.PixelFormats.Rgba32],int,int,int,int,int,int,int) (FullOpts)
        5312 (99.25 % of base) : 12170.dasm - SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:ProcessBorderColumn(SixLabors.ImageSharp.Memory.Buffer2D`1[SixLabors.ImageSharp.PixelFormats.Rgba32],SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1+CdfTileData[SixLabors.ImageSharp.PixelFormats.Rgba32],int,int,int,int,int,int,int) (FullOpts)
        5068 (110.27 % of base) : 1705.dasm - DemoBenchmarks.OneBodyConstraintBenchmarks:Contact4OneBody():BepuPhysics.BodyVelocityWide:this (FullOpts)
        4960 (79.64 % of base) : 7528.dasm - FSharp.Compiler.PostTypeCheckSemanticChecks:CheckEntityDefn$cont@2269(FSharp.Compiler.PostTypeCheckSemanticChecks+cenv,FSharp.Compiler.TypedTree+Entity,FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.Text.Range,FSharp.Compiler.TypedTree+TType,Microsoft.FSharp.Core.Unit) (FullOpts)
        4928 (54.63 % of base) : 24207.dasm - Microsoft.CodeAnalysis.CSharp.Binder:AnalyzeAnonymousFunction(Microsoft.CodeAnalysis.CSharp.Syntax.AnonymousFunctionExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.UnboundLambda:this (FullOpts)
        4892 (87.80 % of base) : 21509.dasm - Microsoft.CodeAnalysis.CSharp.ConversionsBase:AddUserDefinedConversionsToExplicitCandidateSet(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.UserDefinedConversionAnalysis],Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,ubyte,ubyte,byref):this (FullOpts)
        4712 (66.55 % of base) : 16707.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseExpressionContinued(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax,uint):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (FullOpts)
        4660 (92.61 % of base) : 12684.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.HuffmanScanDecoder:ParseProgressiveDataNonInterleaved():this (FullOpts)
Top method improvements (bytes):
        -112 (-10.65 % of base) : 645.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -56 (-5.58 % of base) : 28685.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetProperties>d__63:MoveNext():ubyte:this (FullOpts)
         -44 (-33.33 % of base) : 2046.dasm - BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
         -20 (-1.99 % of base) : 31027.dasm - System.Management.Automation.Runspaces.CommandParameter:ToCommandParameterInternal(System.Management.Automation.Runspaces.CommandParameter,ubyte):System.Management.Automation.CommandParameterInternal (FullOpts)
         -16 (-2.12 % of base) : 2792.dasm - FSharp.Compiler.DependencyManager.AssemblyResolveHandlerCoreclr:.ctor(Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.DependencyManager.AssemblyResolutionProbe]):this (FullOpts)
         -16 (-3.28 % of base) : 13122.dasm - Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe:Create(Microsoft.ML.Data.DataViewType,System.Object):Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe (FullOpts)
         -16 (-6.90 % of base) : 32926.dasm - System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
         -12 (-1.49 % of base) : 5737.dasm - FSharp.Compiler.AbstractIL.ILBinaryReader:seekReadIndexedRows$cont@793[System.__Canon,FSharp.Compiler.AbstractIL.ILBinaryReader+TaggedIndex`1[FSharp.Compiler.AbstractIL.BinaryConstants+TypeOrMethodDefTag],System.__Canon](Microsoft.FSharp.Core.FSharpFunc`2[int,System.__Canon],Microsoft.FSharp.Core.FSharpFunc`2[System.__Canon,System.__Canon],int,Microsoft.FSharp.Core.FSharpFunc`2[System.__Canon,FSharp.Compiler.AbstractIL.ILBinaryReader+TaggedIndex`1[FSharp.Compiler.AbstractIL.BinaryConstants+TypeOrMethodDefTag]],Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.AbstractIL.ILBinaryReader+TaggedIndex`1[FSharp.Compiler.AbstractIL.BinaryConstants+TypeOrMethodDefTag],int],Microsoft.FSharp.Core.Unit):Microsoft.FSharp.Collections.FSharpList`1[System.__Canon] (FullOpts)
         -12 (-2.27 % of base) : 28643.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetEvents>d__29:MoveNext():ubyte:this (FullOpts)
         -12 (-2.29 % of base) : 16340.dasm - Microsoft.CodeAnalysis.GreenNode:.ctor(ushort,Microsoft.CodeAnalysis.DiagnosticInfo[],Microsoft.CodeAnalysis.SyntaxAnnotation[],int):this (FullOpts)
         -12 (-1.94 % of base) : 21075.dasm - Roslyn.Utilities.MultiDictionary`2+ValueSet[System.__Canon,System.__Canon]:Contains(System.__Canon,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):ubyte:this (FullOpts)
          -8 (-0.68 % of base) : 31122.dasm - System.Management.Automation.LanguagePrimitives:FigureParseConversion(System.Type,System.Type):System.Management.Automation.LanguagePrimitives+PSConverter`1[System.Object] (FullOpts)
          -4 (-3.70 % of base) : 10131.dasm - FSharp.Compiler.NameResolution+MakeCtorGroup@243:Invoke(FSharp.Compiler.Infos+MethInfo):int:this (FullOpts)
          -4 (-1.41 % of base) : 24598.dasm - Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-1.79 % of base) : 22890.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:get_HasAnyApplicableMember():ubyte:this (FullOpts)
          -4 (-2.17 % of base) : 13327.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.00 % of base) : 223.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.08 % of base) : 111.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.17 % of base) : 5118.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[FSharp.Compiler.Text.Position,System.ValueTuple`3[int,int,ubyte]]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.08 % of base) : 3664.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
Top method regressions (percentages):
        1592 (117.75 % of base) : 2082.dasm - BepuPhysics.Constraints.TwoBodyTypeProcessor`7[BepuPhysics.Constraints.BallSocketPrestepData,BepuUtilities.Vector3Wide,BepuPhysics.Constraints.BallSocketFunctions,BepuPhysics.Constraints.AccessNoPosition,BepuPhysics.Constraints.AccessNoPosition,BepuPhysics.Constraints.AccessAll,BepuPhysics.Constraints.AccessAll]:WarmStart[DemoBenchmarks.RagdollTubeBenchmark+DemoPoseIntegratorCallbacks,BepuPhysics.Constraints.BatchShouldAlwaysIntegrate,BepuPhysics.Constraints.DisallowPoseIntegration](byref,byref,BepuPhysics.Bodies,byref,float,float,int,int,int):this (FullOpts)
        5068 (110.27 % of base) : 1705.dasm - DemoBenchmarks.OneBodyConstraintBenchmarks:Contact4OneBody():BepuPhysics.BodyVelocityWide:this (FullOpts)
        3152 (108.99 % of base) : 1467.dasm - BepuPhysics.Constraints.Contact.ContactNonconvexTwoBodyFunctions`2[BepuPhysics.Constraints.Contact.Contact4NonconvexPrestepData,BepuPhysics.Constraints.Contact.Contact4NonconvexAccumulatedImpulses]:Solve(byref,byref,byref,byref,byref,byref,float,float,byref,byref,byref,byref):this (FullOpts)
        5384 (101.05 % of base) : 12171.dasm - SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:ProcessBorderRow(SixLabors.ImageSharp.Memory.Buffer2D`1[SixLabors.ImageSharp.PixelFormats.Rgba32],SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1+CdfTileData[SixLabors.ImageSharp.PixelFormats.Rgba32],int,int,int,int,int,int,int) (FullOpts)
        2876 (100.28 % of base) : 2039.dasm - BepuPhysics.Trees.Tree:GetOverlapsBetweenDifferentNodes[BepuPhysics.CollisionDetection.CollidableOverlapFinder`1+SelfOverlapHandler[DemoBenchmarks.RagdollTubeBenchmark+SubgroupFilteredCallbacks]](byref,byref,byref):this (FullOpts)
        1544 (100.00 % of base) : 292.dasm - System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts)
        2892 (99.59 % of base) : 25705.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindPropertyPatternClause(Microsoft.CodeAnalysis.CSharp.Syntax.PropertyPatternClauseSyntax,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundPropertySubpattern]:this (FullOpts)
        5312 (99.25 % of base) : 12170.dasm - SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:ProcessBorderColumn(SixLabors.ImageSharp.Memory.Buffer2D`1[SixLabors.ImageSharp.PixelFormats.Rgba32],SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1+CdfTileData[SixLabors.ImageSharp.PixelFormats.Rgba32],int,int,int,int,int,int,int) (FullOpts)
        3820 (99.07 % of base) : 2183.dasm - BepuPhysics.Trees.Tree:GetOverlapsBetweenDifferentNodes[BepuPhysics.CollisionDetection.CollidableOverlapFinder`1+IntertreeOverlapHandler[DemoBenchmarks.ShapePileBenchmark+DemoNarrowPhaseCallbacks]](byref,byref,byref,byref):this (FullOpts)
        3748 (99.05 % of base) : 12037.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.SpectralConverter`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:ConvertStride(int):this (FullOpts)
        1984 (97.83 % of base) : 24063.dasm - Microsoft.CodeAnalysis.CSharp.SwitchBinder:BuildSwitchLabels(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.SwitchLabelSyntax],Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        5712 (97.81 % of base) : 20622.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:ComputeInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+SynthesizedExplicitImplementations:this (FullOpts)
         916 (97.45 % of base) : 2066.dasm - BepuPhysics.CollisionDetection.PairCache:FlushMappingChanges():this (FullOpts)
        1636 (97.38 % of base) : 1790.dasm - BepuPhysics.Constraints.Contact.ContactNonconvexOneBodyFunctions`2[BepuPhysics.Constraints.Contact.Contact4NonconvexOneBodyPrestepData,BepuPhysics.Constraints.Contact.Contact4NonconvexAccumulatedImpulses]:Solve(byref,byref,byref,float,float,byref,byref,byref):this (FullOpts)
       13092 (97.35 % of base) : 20225.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       10480 (97.18 % of base) : 25112.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
        2860 (97.01 % of base) : 21488.dasm - Microsoft.CodeAnalysis.CSharp.ConversionsBase:<ComputeApplicableUserDefinedImplicitConversionSet>g__addCandidatesFromType|146_0(Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.UserDefinedConversionAnalysis],byref,ubyte):this (FullOpts)
        7888 (96.76 % of base) : 1848.dasm - BepuPhysics.CollisionDetection.MeshReduction:ReduceManifolds(byref,byref,int,int,ubyte,byref,byref,byref,ulong,BepuUtilities.Memory.BufferPool) (FullOpts)
        2116 (96.71 % of base) : 18390.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation+ReferenceManager:SetupReferencesForFileAssembly(Microsoft.CodeAnalysis.CSharp.CSharpCompilation+ReferenceManager+AssemblyDataForFile,Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol][],byref,byref,Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol) (FullOpts)
         228 (96.61 % of base) : 16335.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanToEndOfLine():this (FullOpts)
Top method improvements (percentages):
         -44 (-33.33 % of base) : 2046.dasm - BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
        -112 (-10.65 % of base) : 645.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -16 (-6.90 % of base) : 32926.dasm - System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
         -56 (-5.58 % of base) : 28685.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetProperties>d__63:MoveNext():ubyte:this (FullOpts)
          -4 (-3.70 % of base) : 10131.dasm - FSharp.Compiler.NameResolution+MakeCtorGroup@243:Invoke(FSharp.Compiler.Infos+MethInfo):int:this (FullOpts)
         -16 (-3.28 % of base) : 13122.dasm - Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe:Create(Microsoft.ML.Data.DataViewType,System.Object):Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe (FullOpts)
         -12 (-2.29 % of base) : 16340.dasm - Microsoft.CodeAnalysis.GreenNode:.ctor(ushort,Microsoft.CodeAnalysis.DiagnosticInfo[],Microsoft.CodeAnalysis.SyntaxAnnotation[],int):this (FullOpts)
         -12 (-2.27 % of base) : 28643.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetEvents>d__29:MoveNext():ubyte:this (FullOpts)
          -4 (-2.17 % of base) : 13327.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.17 % of base) : 5118.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[FSharp.Compiler.Text.Position,System.ValueTuple`3[int,int,ubyte]]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.13 % of base) : 15336.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -16 (-2.12 % of base) : 2792.dasm - FSharp.Compiler.DependencyManager.AssemblyResolveHandlerCoreclr:.ctor(Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.DependencyManager.AssemblyResolutionProbe]):this (FullOpts)
          -4 (-2.08 % of base) : 111.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.08 % of base) : 3664.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.00 % of base) : 223.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -20 (-1.99 % of base) : 31027.dasm - System.Management.Automation.Runspaces.CommandParameter:ToCommandParameterInternal(System.Management.Automation.Runspaces.CommandParameter,ubyte):System.Management.Automation.CommandParameterInternal (FullOpts)
          -4 (-1.96 % of base) : 23532.dasm - System.Collections.Generic.HashSet`1+Enumerator[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]:MoveNext():ubyte:this (FullOpts)
         -12 (-1.94 % of base) : 21075.dasm - Roslyn.Utilities.MultiDictionary`2+ValueSet[System.__Canon,System.__Canon]:Contains(System.__Canon,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):ubyte:this (FullOpts)
          -4 (-1.79 % of base) : 22890.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:get_HasAnyApplicableMember():ubyte:this (FullOpts)
         -12 (-1.49 % of base) : 5737.dasm - FSharp.Compiler.AbstractIL.ILBinaryReader:seekReadIndexedRows$cont@793[System.__Canon,FSharp.Compiler.AbstractIL.ILBinaryReader+TaggedIndex`1[FSharp.Compiler.AbstractIL.BinaryConstants+TypeOrMethodDefTag],System.__Canon](Microsoft.FSharp.Core.FSharpFunc`2[int,System.__Canon],Microsoft.FSharp.Core.FSharpFunc`2[System.__Canon,System.__Canon],int,Microsoft.FSharp.Core.FSharpFunc`2[System.__Canon,FSharp.Compiler.AbstractIL.ILBinaryReader+TaggedIndex`1[FSharp.Compiler.AbstractIL.BinaryConstants+TypeOrMethodDefTag]],Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.AbstractIL.ILBinaryReader+TaggedIndex`1[FSharp.Compiler.AbstractIL.BinaryConstants+TypeOrMethodDefTag],int],Microsoft.FSharp.Core.Unit):Microsoft.FSharp.Collections.FSharpList`1[System.__Canon] (FullOpts)
  
smoke_tests.nativeaot.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 2924168 (overridden on cmd)
Total bytes of diff: 3201108 (overridden on cmd)
Total bytes of delta: 276940 (9.47 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
        6584 : 4639.dasm (74.89 % of base)
        4308 : 5383.dasm (88.28 % of base)
        4308 : 18054.dasm (88.06 % of base)
        4096 : 2289.dasm (89.59 % of base)
        2404 : 8121.dasm (86.60 % of base)
        2128 : 1256.dasm (75.25 % of base)
        2016 : 17613.dasm (70.99 % of base)
        1828 : 3564.dasm (56.28 % of base)
        1752 : 2920.dasm (82.18 % of base)
        1712 : 2083.dasm (75.35 % of base)
        1696 : 4550.dasm (56.53 % of base)
        1636 : 1660.dasm (50.56 % of base)
        1636 : 17817.dasm (50.37 % of base)
        1588 : 9858.dasm (69.28 % of base)
        1548 : 5075.dasm (80.12 % of base)
        1484 : 4505.dasm (67.45 % of base)
        1480 : 4500.dasm (54.41 % of base)
        1480 : 18248.dasm (54.25 % of base)
        1364 : 17899.dasm (72.71 % of base)
        1364 : 4619.dasm (72.86 % of base)
Top file improvements (bytes):
         -24 : 1712.dasm (-11.11 % of base)
          -8 : 5428.dasm (-1.96 % of base)
          -8 : 5439.dasm (-1.85 % of base)
          -4 : 2342.dasm (-2.13 % of base)
          -4 : 2353.dasm (-2.27 % of base)
          -4 : 5520.dasm (-2.33 % of base)
          -4 : 6423.dasm (-2.94 % of base)
          -4 : 6808.dasm (-2.38 % of base)
65 total files with Code Size differences (8 improved, 57 regressed), 10 unchanged.
Top method regressions (bytes):
        6584 (74.89 % of base) : 4639.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        4308 (88.28 % of base) : 5383.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        4308 (88.06 % of base) : 18054.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        4096 (89.59 % of base) : 2289.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
        2404 (86.60 % of base) : 8121.dasm - System.TermInfo+ParameterizedStrings:EvaluateInternal(System.String,byref,System.TermInfo+ParameterizedStrings+FormatParam[],System.Collections.Generic.Stack`1[System.TermInfo+ParameterizedStrings+FormatParam],byref,byref):System.String (FullOpts)
        2128 (75.25 % of base) : 1256.dasm - System.Text.UnicodeEncoding:GetBytes(ulong,int,ulong,int,System.Text.EncoderNLS):int:this (FullOpts)
        2016 (70.99 % of base) : 17613.dasm - System.Text.UnicodeEncoding:GetBytes(ulong,int,ulong,int,System.Text.EncoderNLS):int:this (FullOpts)
        1828 (56.28 % of base) : 3564.dasm - System.Number:TryParseNumber[ushort](byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (FullOpts)
        1752 (82.18 % of base) : 2920.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
        1712 (75.35 % of base) : 2083.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ulong,int,ulong,int,byref,byref):int (FullOpts)
        1696 (56.53 % of base) : 4550.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileTryExpression(System.Linq.Expressions.Expression):this (FullOpts)
        1636 (50.56 % of base) : 1660.dasm - System.Threading.Lock:TryEnterSlow(int,System.Threading.Lock+ThreadId):System.Threading.Lock+ThreadId:this (FullOpts)
        1636 (50.37 % of base) : 17817.dasm - System.Threading.Lock:TryEnterSlow(int,System.Threading.Lock+ThreadId):System.Threading.Lock+ThreadId:this (FullOpts)
        1588 (69.28 % of base) : 9858.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
        1548 (80.12 % of base) : 5075.dasm - System.Text.StringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.Text.StringBuilder:this (FullOpts)
        1484 (67.45 % of base) : 4505.dasm - System.Reflection.DynamicInvokeInfo:.ctor(System.Reflection.MethodBase,long):this (FullOpts)
        1480 (54.41 % of base) : 4500.dasm - Internal.Reflection.Extensions.NonPortable.CustomAttributeInstantiator:Instantiate(System.Reflection.CustomAttributeData):System.Attribute (FullOpts)
        1480 (54.25 % of base) : 18248.dasm - Internal.Reflection.Extensions.NonPortable.CustomAttributeInstantiator:Instantiate(System.Reflection.CustomAttributeData):System.Attribute (FullOpts)
        1364 (72.71 % of base) : 17899.dasm - System.DefaultBinder:SelectProperty(int,System.Reflection.PropertyInfo[],System.Type,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.PropertyInfo:this (FullOpts)
        1364 (72.86 % of base) : 4619.dasm - System.DefaultBinder:SelectProperty(int,System.Reflection.PropertyInfo[],System.Type,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.PropertyInfo:this (FullOpts)
Top method improvements (bytes):
         -24 (-11.11 % of base) : 1712.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitInvocation(System.Linq.Expressions.InvocationExpression):System.Linq.Expressions.Expression:this (FullOpts)
          -8 (-1.85 % of base) : 5439.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo+<CoreGetDeclaredSyntheticConstructors>d__186:MoveNext():ubyte:this (FullOpts)
          -8 (-1.96 % of base) : 5428.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo+<CoreGetDeclaredSyntheticMethods>d__188:MoveNext():ubyte:this (FullOpts)
          -4 (-2.94 % of base) : 6423.dasm - Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
          -4 (-2.38 % of base) : 6808.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.13 % of base) : 2342.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.27 % of base) : 2353.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.33 % of base) : 5520.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
Top method regressions (percentages):
         428 (96.40 % of base) : 5209.dasm - System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts)
         692 (93.51 % of base) : 9841.dasm - System.Threading.PortableThreadPool+WaitThread:WaitThreadStart():this (FullOpts)
         848 (92.98 % of base) : 9846.dasm - System.Uri:CheckCanonical(ulong,byref,int,ushort):int:this (FullOpts)
         456 (89.76 % of base) : 2561.dasm - Internal.Runtime.CompilerHelpers.StartupCodeHelpers:RehydrateData(long,int) (FullOpts)
        4096 (89.59 % of base) : 2289.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
        4308 (88.28 % of base) : 5383.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        4308 (88.06 % of base) : 18054.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        1020 (87.33 % of base) : 9896.dasm - System.UriHelper:EscapeStringToBuilder(System.ReadOnlySpan`1[ushort],byref,System.Buffers.SearchValues`1[ushort],ubyte) (FullOpts)
        2404 (86.60 % of base) : 8121.dasm - System.TermInfo+ParameterizedStrings:EvaluateInternal(System.String,byref,System.TermInfo+ParameterizedStrings+FormatParam[],System.Collections.Generic.Stack`1[System.TermInfo+ParameterizedStrings+FormatParam],byref,byref):System.String (FullOpts)
         904 (85.93 % of base) : 4705.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileMemberInit(System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.MemberBinding]):this (FullOpts)
         844 (85.08 % of base) : 4124.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
         560 (84.34 % of base) : 6472.dasm - System.Reflection.DynamicInvokeInfo:CheckArguments(System.Span`1[System.Object],ulong,System.Object[],System.Reflection.BinderBundle):this (FullOpts)
        1204 (84.31 % of base) : 9654.dasm - System.IriHelper:EscapeUnescapeIri(ulong,int,int,int):System.String (FullOpts)
        1000 (83.89 % of base) : 6986.dasm - System.Globalization.CalendarData:NormalizeDatePattern(System.String):System.String (FullOpts)
        1752 (82.18 % of base) : 2920.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
         808 (81.78 % of base) : 9286.dasm - System.IO.Path:Combine(System.String[]):System.String (FullOpts)
         936 (80.97 % of base) : 8171.dasm - System.Reflection.AssemblyNameParser:Parse():System.Reflection.AssemblyNameParser+AssemblyNameParts:this (FullOpts)
         988 (80.19 % of base) : 19019.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (FullOpts)
        1548 (80.12 % of base) : 5075.dasm - System.Text.StringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.Text.StringBuilder:this (FullOpts)
          80 (80.00 % of base) : 1980.dasm - System.Random+XoshiroImpl:Next():int:this (FullOpts)
Top method improvements (percentages):
         -24 (-11.11 % of base) : 1712.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitInvocation(System.Linq.Expressions.InvocationExpression):System.Linq.Expressions.Expression:this (FullOpts)
          -4 (-2.94 % of base) : 6423.dasm - Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
          -4 (-2.38 % of base) : 6808.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.33 % of base) : 5520.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.27 % of base) : 2353.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.13 % of base) : 2342.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -8 (-1.96 % of base) : 5428.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo+<CoreGetDeclaredSyntheticMethods>d__188:MoveNext():ubyte:this (FullOpts)
          -8 (-1.85 % of base) : 5439.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo+<CoreGetDeclaredSyntheticConstructors>d__186:MoveNext():ubyte:this (FullOpts)
  
  
linux x64
Diffs are based on 2,504,130 contexts (977,766 MinOpts, 1,526,364 FullOpts).
MISSED contexts: base: 6,922 (0.28%), diff: 8,132 (0.32%)
Overall (+85,413,308 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.linux.x64.checked.mch | 16,134,263 | +2,068,742 | 
| benchmarks.run_pgo.linux.x64.checked.mch | 69,995,881 | +9,684,884 | 
| benchmarks.run_tiered.linux.x64.checked.mch | 15,913,368 | +900,860 | 
| coreclr_tests.run.linux.x64.checked.mch | 402,389,388 | +8,170,685 | 
| libraries.crossgen2.linux.x64.checked.mch | 38,669,752 | +4,092,082 | 
| libraries.pmi.linux.x64.checked.mch | 58,849,984 | +6,571,715 | 
| libraries_tests.run.linux.x64.Release.mch | 339,241,076 | +41,981,234 | 
| librariestestsnotieredcompilation.run.linux.x64.Release.mch | 130,891,574 | +9,478,422 | 
| realworld.run.linux.x64.checked.mch | 12,750,565 | +1,869,040 | 
| smoke_tests.nativeaot.linux.x64.checked.mch | 4,175,394 | +595,644 | 
  
FullOpts (+85,413,308 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.linux.x64.checked.mch | 15,870,090 | +2,068,742 | 
| benchmarks.run_pgo.linux.x64.checked.mch | 48,685,304 | +9,684,884 | 
| benchmarks.run_tiered.linux.x64.checked.mch | 3,632,243 | +900,860 | 
| coreclr_tests.run.linux.x64.checked.mch | 122,850,857 | +8,170,685 | 
| libraries.crossgen2.linux.x64.checked.mch | 38,668,550 | +4,092,082 | 
| libraries.pmi.linux.x64.checked.mch | 58,737,114 | +6,571,715 | 
| libraries_tests.run.linux.x64.Release.mch | 155,729,956 | +41,981,234 | 
| librariestestsnotieredcompilation.run.linux.x64.Release.mch | 120,233,126 | +9,478,422 | 
| realworld.run.linux.x64.checked.mch | 12,363,655 | +1,869,040 | 
| smoke_tests.nativeaot.linux.x64.checked.mch | 4,174,445 | +595,644 | 
  
Example diffs
benchmarks.run.linux.x64.checked.mch
-21 (-9.86%) : 14511.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
@@ -8,34 +8,38 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] ( 13, 12   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
-;  V01 loc0         [V01,T09] (  3,  2.50)     int  ->  rdi        
-;  V02 loc1         [V02,T06] (  3,  4.50)     ref  ->  r13         class-hnd <System.__Canon>
+;  V00 this         [V00,T00] ( 13,  9   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
+;  V01 loc0         [V01,T13] (  3,  2.50)     int  ->  rdi        
+;  V02 loc1         [V02,T08] (  3,  1.50)     ref  ->  r14         class-hnd <System.__Canon>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T00] (  2, 16   )    long  ->  rsi         "spilling helperCall"
+;  V04 tmp1         [V04,T02] (  2,  4   )    long  ->  rsi         "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V07 cse0         [V07,T05] (  2,  5   )    long  ->  r15         hoist "CSE - aggressive"
-;  V08 cse1         [V08,T03] (  4,  6   )   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V09 rat0         [V09,T07] (  3,  4.40)    long  ->  rdi         "Spilling to split statement for tree"
-;  V10 rat1         [V10,T08] (  3,  4   )    long  ->  r15         "runtime lookup"
-;  V11 rat2         [V11,T04] (  3,  5.60)    long  ->  r15         "fgMakeTemp is creating a new local variable"
-;  V12 rat3         [V12,T02] (  3, 12   )     ref  ->  rax         "delegate invoke call"
+;  V07 cse0         [V07,T14] (  2,  2   )    long  ->  r15         hoist "CSE - aggressive"
+;  V08 rat0         [V08,T09] (  3,  4.40)    long  ->  rdi         "Spilling to split statement for tree"
+;  V09 rat1         [V09,T10] (  3,  4   )    long  ->  r15         "runtime lookup"
+;  V10 rat2         [V10,T07] (  3,  5.60)    long  ->  r15         "fgMakeTemp is creating a new local variable"
+;* V11 rat3         [V11,T06] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V12 rat4         [V12,T11] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V13 rat5         [V13,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;* V14 rat6         [V14,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V15 rat7         [V15,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V16 rat8         [V16,T12] (  3,  3   )     ref  ->  rax         "delegate invoke call"
+;* V17 rat9         [V17,T04] (  0,  0   )     ref  ->  zero-ref    "delegate invoke call"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 8
 
 G_M34024_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 16
-       lea      rbp, [rsp+0x30]
-       mov      qword ptr [rbp-0x28], rdi
+       push     rax
+       lea      rbp, [rsp+0x20]
+       mov      qword ptr [rbp-0x20], rdi
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=24 bbWeight=1 PerfScore 7.00
+                      ;; size=19 bbWeight=1 PerfScore 6.75
 G_M34024_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      edi, dword ptr [rbx+0x14]
        cmp      edi, 1
@@ -44,21 +48,19 @@ G_M34024_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
 G_M34024_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        cmp      edi, 2
        je       SHORT G_M34024_IG05
-       jmp      G_M34024_IG12
-                       ;; size=10 bbWeight=0.50 PerfScore 1.62
+       jmp      SHORT G_M34024_IG12
+                       ;; size=7 bbWeight=0.50 PerfScore 1.62
 G_M34024_IG04:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, gword ptr [rbx+0x18]
        ; gcrRegs +[rdi]
-       lea      r15, bword ptr [rbx+0x28]
-       ; byrRegs +[r15]
-       mov      rsi, r15
+       lea      rsi, bword ptr [rbx+0x28]
        ; byrRegs +[rsi]
        cmp      dword ptr [rdi], edi
        call     [System.Collections.Generic.List`1[System.__Canon]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.__Canon]:this]
        ; gcrRegs -[rdi]
-       ; byrRegs -[rsi r15]
+       ; byrRegs -[rsi]
        mov      dword ptr [rbx+0x14], 2
-                     ;; size=26 bbWeight=0.50 PerfScore 4.88
+                       ;; size=23 bbWeight=0.50 PerfScore 4.75
 G_M34024_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdi, qword ptr [rbx]
        mov      rsi, qword ptr [rdi+0x38]
@@ -76,19 +78,14 @@ G_M34024_IG07:        ; bbWeight=0.20, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      r15, rax
                        ;; size=18 bbWeight=0.20 PerfScore 0.30
 G_M34024_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       lea      rdi, bword ptr [rbx+0x28]
-       ; byrRegs +[rdi]
-       mov      r14, rdi
-       ; byrRegs +[r14]
        jmp      SHORT G_M34024_IG10
-                       ;; size=9 bbWeight=1 PerfScore 2.75
-G_M34024_IG09:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=4000 {r14}, byref, isz
-       ; byrRegs -[rdi]
-       mov      r13, gword ptr [rbx+0x30]
-       ; gcrRegs +[r13]
+                      ;; size=2 bbWeight=1 PerfScore 2.00
+G_M34024_IG09:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       mov      r14, gword ptr [rbx+0x30]
+       ; gcrRegs +[r14]
        mov      rax, gword ptr [rbx+0x20]
        ; gcrRegs +[rax]
-       mov      rsi, r13
+       mov      rsi, r14
        ; gcrRegs +[rsi]
        mov      rdi, gword ptr [rax+0x08]
        ; gcrRegs +[rdi]
@@ -96,59 +93,56 @@ G_M34024_IG09:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=4000 {r14},
        ; gcrRegs -[rax rsi rdi]
        test     eax, eax
        jne      SHORT G_M34024_IG14
-                      ;; size=22 bbWeight=2 PerfScore 21.00
-G_M34024_IG10:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=4000 {r14}, byref, isz
-       ; gcrRegs -[r13]
+                      ;; size=22 bbWeight=0.50 PerfScore 5.25
+G_M34024_IG10:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r14]
        mov      rsi, r15
-       mov      rdi, r14
+       lea      rdi, bword ptr [rbx+0x28]
        ; byrRegs +[rdi]
        call     [System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this]
        ; byrRegs -[rdi]
        test     eax, eax
        jne      SHORT G_M34024_IG09
-                      ;; size=16 bbWeight=4 PerfScore 19.00
-G_M34024_IG11:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       ; byrRegs -[r14]
+                      ;; size=17 bbWeight=1 PerfScore 5.00
+G_M34024_IG11:        ; bbWeight=0.12, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        xor      rdi, rdi
        ; gcrRegs +[rdi]
        mov      gword ptr [rbx+0x08], rdi
        mov      dword ptr [rbx+0x14], -1
-                     ;; size=13 bbWeight=0.50 PerfScore 1.12
+                       ;; size=13 bbWeight=0.12 PerfScore 0.28
 G_M34024_IG12:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M34024_IG13:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 16
+       add      rsp, 8
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 1.88
-G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[r13]
+                      ;; size=11 bbWeight=0.50 PerfScore 1.62
+G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs +[r14]
        lea      rdi, bword ptr [rbx+0x08]
        ; byrRegs +[rdi]
-       mov      rsi, r13
+       mov      rsi, r14
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
-       ; gcrRegs -[rsi r13]
+       ; gcrRegs -[rsi r14]
        ; byrRegs -[rdi]
        mov      eax, 1
                        ;; size=17 bbWeight=0.50 PerfScore 1.00
 G_M34024_IG15:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 16
+       add      rsp, 8
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 1.88
+                       ;; size=11 bbWeight=0.50 PerfScore 1.62
 
-; Total bytes of code 213, prolog size 21, PerfScore 76.65, instruction count 68, allocated bytes for code 213 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
+; Total bytes of code 192, prolog size 16, PerfScore 44.43, instruction count 62, allocated bytes for code 192 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -156,14 +150,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0C
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x07
+  CountOfUnwindCodes: 5
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0C UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
-    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r13 (13)
+    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
+    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
-21 (-9.86%) : 22031.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
@@ -8,34 +8,38 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] ( 13, 12   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
-;  V01 loc0         [V01,T09] (  3,  2.50)     int  ->  rdi        
-;  V02 loc1         [V02,T06] (  3,  4.50)     ref  ->  r13         class-hnd <System.__Canon>
+;  V00 this         [V00,T00] ( 13,  9   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
+;  V01 loc0         [V01,T13] (  3,  2.50)     int  ->  rdi        
+;  V02 loc1         [V02,T08] (  3,  1.50)     ref  ->  r14         class-hnd <System.__Canon>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T00] (  2, 16   )    long  ->  rsi         "spilling helperCall"
+;  V04 tmp1         [V04,T02] (  2,  4   )    long  ->  rsi         "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V07 cse0         [V07,T05] (  2,  5   )    long  ->  r15         hoist "CSE - aggressive"
-;  V08 cse1         [V08,T03] (  4,  6   )   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V09 rat0         [V09,T07] (  3,  4.40)    long  ->  rdi         "Spilling to split statement for tree"
-;  V10 rat1         [V10,T08] (  3,  4   )    long  ->  r15         "runtime lookup"
-;  V11 rat2         [V11,T04] (  3,  5.60)    long  ->  r15         "fgMakeTemp is creating a new local variable"
-;  V12 rat3         [V12,T02] (  3, 12   )     ref  ->  rax         "delegate invoke call"
+;  V07 cse0         [V07,T14] (  2,  2   )    long  ->  r15         hoist "CSE - aggressive"
+;  V08 rat0         [V08,T09] (  3,  4.40)    long  ->  rdi         "Spilling to split statement for tree"
+;  V09 rat1         [V09,T10] (  3,  4   )    long  ->  r15         "runtime lookup"
+;  V10 rat2         [V10,T07] (  3,  5.60)    long  ->  r15         "fgMakeTemp is creating a new local variable"
+;* V11 rat3         [V11,T06] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V12 rat4         [V12,T11] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V13 rat5         [V13,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;* V14 rat6         [V14,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V15 rat7         [V15,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V16 rat8         [V16,T12] (  3,  3   )     ref  ->  rax         "delegate invoke call"
+;* V17 rat9         [V17,T04] (  0,  0   )     ref  ->  zero-ref    "delegate invoke call"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 8
 
 G_M34024_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 16
-       lea      rbp, [rsp+0x30]
-       mov      qword ptr [rbp-0x28], rdi
+       push     rax
+       lea      rbp, [rsp+0x20]
+       mov      qword ptr [rbp-0x20], rdi
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=24 bbWeight=1 PerfScore 7.00
+                      ;; size=19 bbWeight=1 PerfScore 6.75
 G_M34024_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      edi, dword ptr [rbx+0x14]
        cmp      edi, 1
@@ -44,21 +48,19 @@ G_M34024_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
 G_M34024_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        cmp      edi, 2
        je       SHORT G_M34024_IG05
-       jmp      G_M34024_IG12
-                       ;; size=10 bbWeight=0.50 PerfScore 1.62
+       jmp      SHORT G_M34024_IG12
+                       ;; size=7 bbWeight=0.50 PerfScore 1.62
 G_M34024_IG04:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, gword ptr [rbx+0x18]
        ; gcrRegs +[rdi]
-       lea      r15, bword ptr [rbx+0x28]
-       ; byrRegs +[r15]
-       mov      rsi, r15
+       lea      rsi, bword ptr [rbx+0x28]
        ; byrRegs +[rsi]
        cmp      dword ptr [rdi], edi
        call     [System.Collections.Generic.List`1[System.__Canon]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.__Canon]:this]
        ; gcrRegs -[rdi]
-       ; byrRegs -[rsi r15]
+       ; byrRegs -[rsi]
        mov      dword ptr [rbx+0x14], 2
-                     ;; size=26 bbWeight=0.50 PerfScore 4.88
+                       ;; size=23 bbWeight=0.50 PerfScore 4.75
 G_M34024_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdi, qword ptr [rbx]
        mov      rsi, qword ptr [rdi+0x38]
@@ -76,19 +78,14 @@ G_M34024_IG07:        ; bbWeight=0.20, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      r15, rax
                        ;; size=18 bbWeight=0.20 PerfScore 0.30
 G_M34024_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       lea      rdi, bword ptr [rbx+0x28]
-       ; byrRegs +[rdi]
-       mov      r14, rdi
-       ; byrRegs +[r14]
        jmp      SHORT G_M34024_IG10
-                       ;; size=9 bbWeight=1 PerfScore 2.75
-G_M34024_IG09:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=4000 {r14}, byref, isz
-       ; byrRegs -[rdi]
-       mov      r13, gword ptr [rbx+0x30]
-       ; gcrRegs +[r13]
+                      ;; size=2 bbWeight=1 PerfScore 2.00
+G_M34024_IG09:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       mov      r14, gword ptr [rbx+0x30]
+       ; gcrRegs +[r14]
        mov      rax, gword ptr [rbx+0x20]
        ; gcrRegs +[rax]
-       mov      rsi, r13
+       mov      rsi, r14
        ; gcrRegs +[rsi]
        mov      rdi, gword ptr [rax+0x08]
        ; gcrRegs +[rdi]
@@ -96,59 +93,56 @@ G_M34024_IG09:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=4000 {r14},
        ; gcrRegs -[rax rsi rdi]
        test     eax, eax
        jne      SHORT G_M34024_IG14
-                      ;; size=22 bbWeight=2 PerfScore 21.00
-G_M34024_IG10:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=4000 {r14}, byref, isz
-       ; gcrRegs -[r13]
+                      ;; size=22 bbWeight=0.50 PerfScore 5.25
+G_M34024_IG10:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r14]
        mov      rsi, r15
-       mov      rdi, r14
+       lea      rdi, bword ptr [rbx+0x28]
        ; byrRegs +[rdi]
        call     [System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this]
        ; byrRegs -[rdi]
        test     eax, eax
        jne      SHORT G_M34024_IG09
-                      ;; size=16 bbWeight=4 PerfScore 19.00
-G_M34024_IG11:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       ; byrRegs -[r14]
+                      ;; size=17 bbWeight=1 PerfScore 5.00
+G_M34024_IG11:        ; bbWeight=0.12, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        xor      rdi, rdi
        ; gcrRegs +[rdi]
        mov      gword ptr [rbx+0x08], rdi
        mov      dword ptr [rbx+0x14], -1
-                     ;; size=13 bbWeight=0.50 PerfScore 1.12
+                       ;; size=13 bbWeight=0.12 PerfScore 0.28
 G_M34024_IG12:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M34024_IG13:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 16
+       add      rsp, 8
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 1.88
-G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[r13]
+                      ;; size=11 bbWeight=0.50 PerfScore 1.62
+G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs +[r14]
        lea      rdi, bword ptr [rbx+0x08]
        ; byrRegs +[rdi]
-       mov      rsi, r13
+       mov      rsi, r14
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
-       ; gcrRegs -[rsi r13]
+       ; gcrRegs -[rsi r14]
        ; byrRegs -[rdi]
        mov      eax, 1
                        ;; size=17 bbWeight=0.50 PerfScore 1.00
 G_M34024_IG15:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 16
+       add      rsp, 8
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 1.88
+                       ;; size=11 bbWeight=0.50 PerfScore 1.62
 
-; Total bytes of code 213, prolog size 21, PerfScore 76.65, instruction count 68, allocated bytes for code 213 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
+; Total bytes of code 192, prolog size 16, PerfScore 44.43, instruction count 62, allocated bytes for code 192 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -156,14 +150,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0C
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x07
+  CountOfUnwindCodes: 5
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0C UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
-    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r13 (13)
+    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
+    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
-11 (-4.89%) : 34080.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:CreateInstance(System.Type,System.Type):System.Object (FullOpts)
@@ -16,8 +16,8 @@
 ;  V05 tmp3         [V05,T05] (  3,  3   )     ref  ->  r13         class-hnd exact single-def "dup spill" <System.Object[]>
 ;  V06 tmp4         [V06,T06] (  4,  2.50)     ref  ->  rax        
 ;* V07 tmp5         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V08 tmp6         [V08,T01] (  3, 12   )     ref  ->   r8         class-hnd exact single-def "Inlining Arg" <System.Type[]>
-;  V09 tmp7         [V09,T00] (  5, 17   )     int  ->  rdi         "Inline stloc first use temp"
+;  V08 tmp6         [V08,T01] (  3,  6   )     ref  ->   r8         class-hnd exact single-def "Inlining Arg" <System.Type[]>
+;* V09 tmp7         [V09,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V10 tmp8         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
 ;
 ; Lcl frame size = 0
@@ -34,22 +34,13 @@ G_M13201_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      r15, rsi
        ; gcrRegs +[r15]
                        ;; size=19 bbWeight=1 PerfScore 6.00
-G_M13201_IG02:        ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
+G_M13201_IG02:        ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      r8, gword ptr [rdi]
        ; gcrRegs +[r8]
        cmp      byte  ptr [rbx], bl
-       xor      edi, edi
-                       ;; size=17 bbWeight=1 PerfScore 5.50
-G_M13201_IG03:        ; bbWeight=4, gcrefRegs=8108 {rbx r8 r15}, byrefRegs=0000 {}, byref, isz
-       mov      esi, edi
-       cmp      gword ptr [r8+8*rsi+0x10], 0
-       je       G_M13201_IG11
-       inc      edi
-       test     edi, edi
-       jle      SHORT G_M13201_IG03
-                       ;; size=20 bbWeight=4 PerfScore 23.00
-G_M13201_IG04:        ; bbWeight=1, gcrefRegs=8108 {rbx r8 r15}, byrefRegs=0000 {}, byref, isz
+       cmp      gword ptr [r8+0x10], 0
+       je       G_M13201_IG09
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      esi, 20
@@ -66,25 +57,25 @@ G_M13201_IG04:        ; bbWeight=1, gcrefRegs=8108 {rbx r8 r15}, byrefRegs=0000
        mov      r14, rax
        ; gcrRegs +[r14]
        test     r14, r14
-       jne      SHORT G_M13201_IG09
-                       ;; size=39 bbWeight=1 PerfScore 9.75
-G_M13201_IG05:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       jne      SHORT G_M13201_IG07
+                       ;; size=65 bbWeight=1 PerfScore 19.00
+G_M13201_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax r14-r15]
        xor      rax, rax
        ; gcrRegs +[rax]
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M13201_IG06:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref, isz
+G_M13201_IG04:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref, isz
        test     rax, rax
-       jne      SHORT G_M13201_IG10
+       jne      SHORT G_M13201_IG08
                       ;; size=5 bbWeight=1 PerfScore 1.25
-G_M13201_IG07:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M13201_IG05:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax]
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        xor      esi, esi
        mov      edx, 1
                        ;; size=10 bbWeight=0.50 PerfScore 0.38
-G_M13201_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+G_M13201_IG06:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbx
        pop      r13
        pop      r14
@@ -93,7 +84,7 @@ G_M13201_IG08:        ; bbWeight=0.50, epilog, nogc, extend
        tail.jmp [System.Activator:CreateInstance(System.Type,ubyte,ubyte):System.Object]
        ; gcr arg pop 0
                        ;; size=14 bbWeight=0.50 PerfScore 2.25
-G_M13201_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M13201_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rdi] +[r14-r15]
        mov      rdi, 0xD1FFAB1E      ; System.Object[]
        mov      esi, 1
@@ -123,9 +114,9 @@ G_M13201_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=C00
        call     [rax+0x28]<unknown method>
        ; gcrRegs -[rcx rdx rdi r8 r13-r14] +[rax]
        ; gcr arg pop 0
-       jmp      SHORT G_M13201_IG06
+       jmp      SHORT G_M13201_IG04
                        ;; size=60 bbWeight=0.50 PerfScore 6.88
-G_M13201_IG10:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M13201_IG08:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rbx]
        pop      rbx
        pop      r13
@@ -134,7 +125,7 @@ G_M13201_IG10:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        pop      rbp
        ret      
                        ;; size=9 bbWeight=0.50 PerfScore 1.75
-G_M13201_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M13201_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        mov      edi, 0x1E00
        mov      rsi, 0xD1FFAB1E
@@ -149,7 +140,7 @@ G_M13201_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=30 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 225, prolog size 19, PerfScore 56.88, instruction count 69, allocated bytes for code 225 (MethodHash=1c7bcc6e) for method System.ComponentModel.ReflectTypeDescriptionProvider:CreateInstance(System.Type,System.Type):System.Object (FullOpts)
+; Total bytes of code 214, prolog size 19, PerfScore 37.62, instruction count 64, allocated bytes for code 214 (MethodHash=1c7bcc6e) for method System.ComponentModel.ReflectTypeDescriptionProvider:CreateInstance(System.Type,System.Type):System.Object (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+47 (+70.15%) : 16094.dasm - System.Threading.ThreadPoolWorkQueueThreadLocals:TransferLocalWork():this (FullOpts)
@@ -8,57 +8,88 @@
 ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  4, 14   )     ref  ->  rbx         this class-hnd single-def <System.Threading.ThreadPoolWorkQueueThreadLocals>
+;  V00 this         [V00,T02] (  6, 16   )     ref  ->  rbx         this class-hnd single-def <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Object>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T02] (  4, 16   )     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.Object>
-;  V04 tmp2         [V04,T00] (  4, 52   )     ref  ->  rdi         class-hnd exact "Inlining Arg" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
+;  V03 tmp1         [V03,T01] (  8, 18.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.Object>
+;  V04 tmp2         [V04,T00] (  8, 58.50)     ref  ->  rdi         class-hnd exact "Inlining Arg" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;
 ; Lcl frame size = 8
 
-G_M18211_IG01:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+G_M18211_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     rbx
        push     rax
        lea      rbp, [rsp+0x10]
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=11 bbWeight=8 PerfScore 30.00
-G_M18211_IG02:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=11 bbWeight=1 PerfScore 3.75
+G_M18211_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rbx+0x18]
        ; gcrRegs +[rdi]
        mov      eax, dword ptr [rdi+0x14]
        cmp      eax, dword ptr [rdi+0x18]
        jl       SHORT G_M18211_IG04
-                      ;; size=12 bbWeight=8 PerfScore 64.00
-G_M18211_IG03:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=12 bbWeight=1 PerfScore 8.00
+G_M18211_IG03:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdi]
        xor      rsi, rsi
        ; gcrRegs +[rsi]
        jmp      SHORT G_M18211_IG05
-                      ;; size=4 bbWeight=2 PerfScore 4.50
-G_M18211_IG04:        ; bbWeight=2, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
+                       ;; size=4 bbWeight=0.25 PerfScore 0.56
+G_M18211_IG04:        ; bbWeight=0.25, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rsi] +[rdi]
        call     [<unknown method>]
        ; gcrRegs -[rdi] +[rax]
        mov      rsi, rax
        ; gcrRegs +[rsi]
-                      ;; size=9 bbWeight=2 PerfScore 6.50
-G_M18211_IG05:        ; bbWeight=8, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+                      ;; size=9 bbWeight=0.25 PerfScore 0.81
+G_M18211_IG05:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
        test     rsi, rsi
-       je       SHORT G_M18211_IG07
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M18211_IG06:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M18211_IG11
        mov      rdi, gword ptr [rbx+0x10]
        ; gcrRegs +[rdi]
        mov      edx, 1
        cmp      dword ptr [rdi], edi
        call     [System.Threading.ThreadPoolWorkQueue:Enqueue(System.Object,ubyte):this]
        ; gcrRegs -[rsi rdi]
-       jmp      SHORT G_M18211_IG02
+                     ;; size=22 bbWeight=1 PerfScore 9.50
+G_M18211_IG06:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       mov      rdi, gword ptr [rbx+0x18]
+       ; gcrRegs +[rdi]
+       mov      eax, dword ptr [rdi+0x14]
+       cmp      eax, dword ptr [rdi+0x18]
+       jl       SHORT G_M18211_IG08
+                       ;; size=12 bbWeight=8 PerfScore 64.00
+G_M18211_IG07:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rdi]
+       xor      rsi, rsi
+       ; gcrRegs +[rsi]
+       jmp      SHORT G_M18211_IG09
+                       ;; size=4 bbWeight=2 PerfScore 4.50
+G_M18211_IG08:        ; bbWeight=2, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rsi] +[rdi]
+       call     [<unknown method>]
+       ; gcrRegs -[rdi] +[rax]
+       mov      rsi, rax
+       ; gcrRegs +[rsi]
+                       ;; size=9 bbWeight=2 PerfScore 6.50
+G_M18211_IG09:        ; bbWeight=8, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
+       test     rsi, rsi
+       je       SHORT G_M18211_IG11
+                       ;; size=5 bbWeight=8 PerfScore 10.00
+G_M18211_IG10:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+       mov      rdi, gword ptr [rbx+0x10]
+       ; gcrRegs +[rdi]
+       mov      edx, 1
+       cmp      dword ptr [rdi], edi
+       call     [System.Threading.ThreadPoolWorkQueue:Enqueue(System.Object,ubyte):this]
+       ; gcrRegs -[rsi rdi]
+       jmp      SHORT G_M18211_IG06
                         ;; size=19 bbWeight=4 PerfScore 41.00
-G_M18211_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M18211_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rbx]
        add      rsp, 8
        pop      rbx
@@ -66,7 +97,7 @@ G_M18211_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ret      
                        ;; size=7 bbWeight=1 PerfScore 2.25
 
-; Total bytes of code 67, prolog size 8, PerfScore 158.25, instruction count 24, allocated bytes for code 67 (MethodHash=29cdb8dc) for method System.Threading.ThreadPoolWorkQueueThreadLocals:TransferLocalWork():this (FullOpts)
+; Total bytes of code 114, prolog size 8, PerfScore 150.88, instruction count 38, allocated bytes for code 114 (MethodHash=29cdb8dc) for method System.Threading.ThreadPoolWorkQueueThreadLocals:TransferLocalWork():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+37 (+72.55%) : 33960.dasm - Span.IndexerBench:TestIndexer4(System.Span`1[ubyte],int):ubyte (FullOpts)
@@ -8,14 +8,14 @@
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.Span`1[ubyte]>
-;  V01 arg1         [V01,T05] (  4,  7   )     int  ->  rdx         single-def
-;  V02 loc0         [V02,T01] (  5, 38   )   ubyte  ->  rax        
+;  V01 arg1         [V01,T05] (  5,  8   )     int  ->  rdx         single-def
+;  V02 loc0         [V02,T01] (  8, 47   )   ubyte  ->  rax        
 ;* V03 loc1         [V03,T06] (  0,  0   )     int  ->  zero-ref    single-def
-;  V04 loc2         [V04,T04] (  4, 13   )     int  ->  rcx        
-;  V05 loc3         [V05,T00] (  5, 68   )     int  ->   r8        
+;  V04 loc2         [V04,T04] (  4, 13   )     int  ->   r8        
+;  V05 loc3         [V05,T00] ( 10, 85   )     int  ->  rcx        
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T03] (  2, 17   )   byref  ->  rdi         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
-;  V08 tmp2         [V08,T02] (  3, 21   )     int  ->  rsi         single-def "field V00._length (fldOffset=0x8)" P-INDEP
+;  V07 tmp1         [V07,T03] (  3, 21   )   byref  ->  rdi         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
+;  V08 tmp2         [V08,T02] (  5, 26   )     int  ->  rsi         single-def "field V00._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 0
 
@@ -26,37 +26,54 @@ G_M3894_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M3894_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
        ; byrRegs +[rdi]
        xor      eax, eax
-       xor      ecx, ecx
        test     edx, edx
-       jle      SHORT G_M3894_IG06
-                       ;; size=8 bbWeight=1 PerfScore 1.75
-G_M3894_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+       jle      SHORT G_M3894_IG08
        xor      eax, eax
-       xor      r8d, r8d
+       xor      ecx, ecx
        test     esi, esi
-       jle      SHORT G_M3894_IG05
-                       ;; size=9 bbWeight=4 PerfScore 7.00
-G_M3894_IG04:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
-       mov      r9d, r8d
-       movzx    r9, byte  ptr [rdi+r9]
-       xor      eax, r9d
+       jle      SHORT G_M3894_IG04
+                       ;; size=14 bbWeight=1 PerfScore 3.25
+G_M3894_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+       mov      r8d, ecx
+       movzx    r8, byte  ptr [rdi+r8]
+       xor      eax, r8d
        movzx    rax, al
-       inc      r8d
-       cmp      r8d, esi
-       jl       SHORT G_M3894_IG04
-                       ;; size=22 bbWeight=16 PerfScore 68.00
-G_M3894_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
        inc      ecx
-       cmp      ecx, edx
+       cmp      ecx, esi
        jl       SHORT G_M3894_IG03
-                      ;; size=6 bbWeight=4 PerfScore 6.00
-G_M3894_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+                     ;; size=20 bbWeight=4 PerfScore 17.00
+G_M3894_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+       mov      r8d, 1
+       cmp      edx, 1
+       jle      SHORT G_M3894_IG08
+                       ;; size=11 bbWeight=1 PerfScore 1.50
+G_M3894_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+       xor      eax, eax
+       xor      ecx, ecx
+       test     esi, esi
+       jle      SHORT G_M3894_IG07
+                       ;; size=8 bbWeight=4 PerfScore 7.00
+G_M3894_IG06:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+       mov      r9d, ecx
+       movzx    r9, byte  ptr [rdi+r9]
+       xor      r9d, eax
+       movzx    rax, r9b
+       inc      ecx
+       cmp      ecx, esi
+       jl       SHORT G_M3894_IG06
+                       ;; size=21 bbWeight=16 PerfScore 68.00
+G_M3894_IG07:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+       inc      r8d
+       cmp      r8d, edx
+       jl       SHORT G_M3894_IG05
+                       ;; size=8 bbWeight=4 PerfScore 6.00
+G_M3894_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; byrRegs -[rdi]
        pop      rbp
        ret      
                        ;; size=2 bbWeight=1 PerfScore 1.50
 
-; Total bytes of code 51, prolog size 4, PerfScore 85.50, instruction count 22, allocated bytes for code 51 (MethodHash=08d7f0c9) for method Span.IndexerBench:TestIndexer4(System.Span`1[ubyte],int):ubyte (FullOpts)
+; Total bytes of code 88, prolog size 4, PerfScore 105.50, instruction count 35, allocated bytes for code 88 (MethodHash=08d7f0c9) for method Span.IndexerBench:TestIndexer4(System.Span`1[ubyte],int):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+28 (+116.67%) : 3282.dasm - System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
@@ -7,9 +7,9 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  5, 11   )     int  ->  rax        
-;  V01 arg1         [V01,T00] (  7, 19   )     int  ->  rsi        
-;  V02 loc0         [V02,T02] (  2,  8   )     int  ->  rdx        
+;  V00 arg0         [V00,T01] (  7, 13   )     int  ->  registers  
+;  V01 arg1         [V01,T00] ( 11, 23   )     int  ->  registers  
+;  V02 loc0         [V02,T02] (  4, 10   )     int  ->  rdx        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -21,22 +21,44 @@ G_M22426_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=6 bbWeight=1 PerfScore 1.50
 G_M22426_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        test     esi, esi
-       je       SHORT G_M22426_IG04
-                       ;; size=4 bbWeight=1 PerfScore 1.25
-G_M22426_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M22426_IG08
        xor      edx, edx
        div      edx:eax, esi
        mov      eax, esi
        mov      esi, edx
        test     esi, esi
-       jne      SHORT G_M22426_IG03
-                       ;; size=12 bbWeight=4 PerfScore 108.00
-G_M22426_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       je       SHORT G_M22426_IG07
+                       ;; size=16 bbWeight=1 PerfScore 28.25
+G_M22426_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       xor      edx, edx
+       div      edx:eax, esi
+       mov      eax, edx
+       test     eax, eax
+       jne      SHORT G_M22426_IG06
+                       ;; size=10 bbWeight=4 PerfScore 107.00
+G_M22426_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      eax, esi
+                       ;; size=2 bbWeight=1 PerfScore 0.25
+G_M22426_IG05:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=2 bbWeight=1 PerfScore 1.50
+G_M22426_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+       mov      ecx, eax
+       mov      eax, esi
+       mov      esi, ecx
+       jmp      SHORT G_M22426_IG03
+                       ;; size=8 bbWeight=2 PerfScore 5.50
+G_M22426_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      esi, eax
+       jmp      SHORT G_M22426_IG04
+                       ;; size=4 bbWeight=0.50 PerfScore 1.12
+G_M22426_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      esi, eax
+       jmp      SHORT G_M22426_IG04
+                       ;; size=4 bbWeight=0.50 PerfScore 1.12
 
-; Total bytes of code 24, prolog size 6, PerfScore 112.25, instruction count 13, allocated bytes for code 24 (MethodHash=f186a865) for method System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
+; Total bytes of code 52, prolog size 6, PerfScore 146.25, instruction count 27, allocated bytes for code 52 (MethodHash=f186a865) for method System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
benchmarks.run_pgo.linux.x64.checked.mch
-27 (-6.67%) : 93609.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax:get_Modifiers():Microsoft.CodeAnalysis.SyntaxTokenList:this (Tier1)
@@ -9,38 +9,41 @@
 ; 3 inlinees with PGO data; 13 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  9,  8.46)     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax>
-;  V01 RetBuf       [V01,T02] (  9,  7   )   byref  ->  r15         single-def
+;  V00 this         [V00,T00] (  9,  8.36)     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax>
+;  V01 RetBuf       [V01,T01] (  9,  7   )   byref  ->  r15         single-def
 ;  V02 loc0         [V02,T07] (  5,  3   )     ref  ->  r14         class-hnd single-def <Microsoft.CodeAnalysis.GreenNode>
 ;* V03 loc1         [V03    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] ld-addr-op <Microsoft.CodeAnalysis.SyntaxTokenList>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T03] (  5,  6   )     ref  ->  rdi         class-hnd single-def "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
-;  V06 tmp2         [V06,T05] (  4,  4   )     int  ->  r13         "impAppendStmt"
+;  V05 tmp1         [V05,T02] (  5,  6   )     ref  ->  rdi         class-hnd single-def "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
+;  V06 tmp2         [V06,T04] (  4,  4   )     int  ->  r13         "impAppendStmt"
 ;* V07 tmp3         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.SyntaxTokenList>
 ;  V08 tmp4         [V08,T10] (  4,  2   )     ref  ->  r14         "guarded devirt return temp"
 ;* V09 tmp5         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.MethodDeclarationSyntax>
 ;* V10 tmp6         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V11 tmp7         [V11,T00] (  7, 12.43)     int  ->  r13         "Inlining Arg"
+;* V11 tmp7         [V11,T05] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V12 tmp8         [V12,T11] (  3,  2   )     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
-;  V13 tmp9         [V13,T09] (  5,  2.12)     int  ->  r12         "Inline stloc first use temp"
-;  V14 tmp10        [V14,T15] (  5,  1.94)     ref  ->  [rbp-0x30]  class-hnd spill-single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V15 tmp11        [V15,T06] (  4,  3.48)     ref  ->  rax         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
+;  V13 tmp9         [V13,T09] (  4,  2.04)     int  ->  r13         "Inline stloc first use temp"
+;  V14 tmp10        [V14,T15] (  4,  1.61)     ref  ->  r12         class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
+;  V15 tmp11        [V15,T06] (  4,  3.28)     ref  ->  rax         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
 ;* V16 tmp12        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V17 tmp13        [V17,T18] (  4,  0.98)     ref  ->  rax         "guarded devirt return temp"
+;  V17 tmp13        [V17,T19] (  4,  0.66)     ref  ->  rax         "guarded devirt return temp"
 ;* V18 tmp14        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax>
 ;* V19 tmp15        [V19    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V20 tmp16        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
 ;* V21 tmp17        [V21    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline return value spill temp"
 ;  V22 tmp18        [V22,T08] (  4,  2.17)     int  ->  r12         "Inline stloc first use temp"
 ;* V23 tmp19        [V23,T17] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V24 tmp20        [V24,T04] (  5,  4.59)     ref  ->  rdi         class-hnd "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
+;  V24 tmp20        [V24,T03] (  5,  4.59)     ref  ->  rdi         class-hnd "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
 ;* V25 tmp21        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V26 tmp22        [V26,T19] (  5,  0.75)     ref  ->  rax         "guarded devirt return temp"
+;  V26 tmp22        [V26,T18] (  5,  0.75)     ref  ->  rax         "guarded devirt return temp"
 ;* V27 tmp23        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax>
 ;* V28 tmp24        [V28,T16] (  0,  0   )     ref  ->  zero-ref    single-def "field V07._parent (fldOffset=0x0)" P-INDEP
 ;  V29 tmp25        [V29,T12] (  2,  2   )     ref  ->  r14         single-def "field V07.<Node>k__BackingField (fldOffset=0x8)" P-INDEP
 ;  V30 tmp26        [V30,T13] (  2,  2   )     int  ->  r12         single-def "field V07._index (fldOffset=0x10)" P-INDEP
 ;  V31 tmp27        [V31,T14] (  2,  2   )     int  ->  r13         single-def "field V07.<Position>k__BackingField (fldOffset=0x14)" P-INDEP
+;  V32 cse0         [V32,T22] (  2,  0.02)    long  ->  rax         "CSE - conservative"
+;  V33 cse1         [V33,T20] (  3,  0.63)    long  ->  rax         "CSE - moderate"
+;  V34 cse2         [V34,T21] (  2,  0.08)     int  ->  r13         "CSE - conservative"
 ;
 ; Lcl frame size = 8
 
@@ -63,112 +66,95 @@ G_M57630_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15},
        ; gcrRegs +[rdi]
        mov      rsi, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.MethodDeclarationSyntax
        cmp      qword ptr [rdi], rsi
-       jne      G_M57630_IG22
+       jne      G_M57630_IG21
        mov      r14, gword ptr [rdi+0x18]
        ; gcrRegs +[r14]
        test     r14, r14
-       je       G_M57630_IG23
+       je       G_M57630_IG22
                      ;; size=36 bbWeight=1 PerfScore 9.50
-G_M57630_IG03:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref
+G_M57630_IG03:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
        ; gcrRegs -[rdi]
-       mov      r13d, 1
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      esi, 1
        call     [Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax:GetCachedSlot(int):Microsoft.CodeAnalysis.SyntaxNode:this]
        ; gcrRegs -[rdi] +[rax]
        test     rax, rax
-       jne      G_M57630_IG25
-       xor      r12d, r12d
-       mov      rax, gword ptr [rbx+0x18]
-       mov      gword ptr [rbp-0x30], rax
-       ; GC ptr vars +{V14}
-                       ;; size=40 bbWeight=1 PerfScore 8.25
-G_M57630_IG04:        ; bbWeight=1.10, gcVars=0000000000008000 {V14}, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
-       ; gcrRegs -[rax]
-       dec      r13d
+       jne      G_M57630_IG24
+       xor      r13d, r13d
+       mov      r12, gword ptr [rbx+0x18]
+       ; gcrRegs +[r12]
        mov      rdi, rbx
        ; gcrRegs +[rdi]
-       mov      esi, r13d
+       xor      esi, esi
        call     [Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax:GetCachedSlot(int):Microsoft.CodeAnalysis.SyntaxNode:this]
-       ; gcrRegs -[rdi] +[rax]
-       test     rax, rax
-       jne      SHORT G_M57630_IG11
-                       ;; size=20 bbWeight=1.10 PerfScore 5.50
-G_M57630_IG05:        ; bbWeight=0.46, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
-       ; gcrRegs -[rax]
-       mov      rdi, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax
-       mov      rax, gword ptr [rbp-0x30]
-       ; gcrRegs +[rax]
-       cmp      qword ptr [rax], rdi
-       jne      SHORT G_M57630_IG14
-                       ;; size=19 bbWeight=0.46 PerfScore 2.41
-G_M57630_IG06:        ; bbWeight=0.44, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, byref
-       mov      rdi, rax
-       ; gcrRegs +[rdi]
-       mov      esi, r13d
-       call     [Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax:GetSlot(int):Microsoft.CodeAnalysis.GreenNode:this]
        ; gcrRegs -[rdi]
-                      ;; size=12 bbWeight=0.44 PerfScore 1.54
-G_M57630_IG07:        ; bbWeight=0.46, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, byref, isz
        test     rax, rax
-       jne      SHORT G_M57630_IG10
-                       ;; size=5 bbWeight=0.46 PerfScore 0.57
-G_M57630_IG08:        ; bbWeight=1.46, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
-       ; gcrRegs -[rax]
-       test     r13d, r13d
-       jg       SHORT G_M57630_IG04
-                       ;; size=5 bbWeight=1.46 PerfScore 1.82
-G_M57630_IG09:        ; bbWeight=0.36, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
-       ; GC ptr vars -{V14}
-       mov      r13d, r12d
-       add      r13d, dword ptr [rbx+0x20]
-       jmp      SHORT G_M57630_IG12
-                       ;; size=9 bbWeight=0.36 PerfScore 1.89
-G_M57630_IG10:        ; bbWeight=0.06, gcVars=0000000000008000 {V14}, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
-       ; gcrRegs +[rax]
-       ; GC ptr vars +{V14 V15}
-       add      r12d, dword ptr [rax+0x08]
-       jmp      SHORT G_M57630_IG08
-                       ;; size=6 bbWeight=0.06 PerfScore 0.31
-G_M57630_IG11:        ; bbWeight=0.64, gcVars=0000000000000000 {}, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, gcvars, byref
-       ; GC ptr vars -{V14 V15}
-       mov      r13d, dword ptr [rax+0x20]
-       mov      rdi, gword ptr [rax+0x18]
-       ; gcrRegs +[rdi]
-       add      r13d, dword ptr [rdi+0x08]
-       add      r13d, r12d
-                       ;; size=15 bbWeight=0.64 PerfScore 4.64
-G_M57630_IG12:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref
-       ; gcrRegs -[rax rdi]
+       je       SHORT G_M57630_IG07
+                       ;; size=46 bbWeight=1 PerfScore 11.75
+G_M57630_IG04:        ; bbWeight=0.64, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, byref
+       ; gcrRegs -[r12]
+       mov      edi, dword ptr [rax+0x20]
+       mov      rsi, gword ptr [rax+0x18]
+       ; gcrRegs +[rsi]
+       add      edi, dword ptr [rsi+0x08]
+       add      r13d, edi
+                       ;; size=13 bbWeight=0.64 PerfScore 4.64
+G_M57630_IG05:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref
+       ; gcrRegs -[rax rsi]
        xor      r12d, r12d
        mov      rdi, gword ptr [rbx+0x18]
        ; gcrRegs +[rdi]
        mov      rsi, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax
        cmp      qword ptr [rdi], rsi
-       jne      G_M57630_IG26
+       jne      G_M57630_IG20
                      ;; size=26 bbWeight=1 PerfScore 6.50
-G_M57630_IG13:        ; bbWeight=0.29, gcrefRegs=4088 {rbx rdi r14}, byrefRegs=8000 {r15}, byref, isz
-       jmp      SHORT G_M57630_IG18
-                       ;; size=2 bbWeight=0.29 PerfScore 0.59
-G_M57630_IG14:        ; bbWeight=0.02, gcVars=0000000000008000 {V14}, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
+G_M57630_IG06:        ; bbWeight=0.29, gcrefRegs=4088 {rbx rdi r14}, byrefRegs=8000 {r15}, byref, isz
+       xor      esi, esi
+       call     [Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax:GetSlot(int):Microsoft.CodeAnalysis.GreenNode:this]
        ; gcrRegs -[rdi] +[rax]
-       ; GC ptr vars +{V14 V15}
-       mov      rdi, rax
+       jmp      SHORT G_M57630_IG11
+                       ;; size=10 bbWeight=0.29 PerfScore 1.54
+G_M57630_IG07:        ; bbWeight=0.31, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=8000 {r15}, byref, isz
+       ; gcrRegs -[rax] +[r12]
+       mov      rax, qword ptr [r12]
+       mov      rdi, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax
+       cmp      rax, rdi
+       jne      SHORT G_M57630_IG19
+                       ;; size=19 bbWeight=0.31 PerfScore 1.07
+G_M57630_IG08:        ; bbWeight=0.29, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=8000 {r15}, byref
+       mov      rdi, r12
        ; gcrRegs +[rdi]
-       mov      esi, r13d
-       mov      rcx, qword ptr [rax]
-       mov      rcx, qword ptr [rcx+0x50]
-       call     [rcx+0x20]<unknown method>
-       ; gcrRegs -[rdi]
-       jmp      SHORT G_M57630_IG07
-                       ;; size=18 bbWeight=0.02 PerfScore 0.17
-G_M57630_IG15:        ; bbWeight=0.17, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, gcvars, byref
+       xor      esi, esi
+       call     [Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax:GetSlot(int):Microsoft.CodeAnalysis.GreenNode:this]
+       ; gcrRegs -[rdi r12] +[rax]
+                       ;; size=11 bbWeight=0.29 PerfScore 1.03
+G_M57630_IG09:        ; bbWeight=0.31, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, byref, isz
+       test     rax, rax
+       jne      SHORT G_M57630_IG13
+                       ;; size=5 bbWeight=0.31 PerfScore 0.38
+G_M57630_IG10:        ; bbWeight=0.36, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
+       ; gcrRegs -[rax]
+       add      r13d, dword ptr [rbx+0x20]
+       jmp      SHORT G_M57630_IG05
+                       ;; size=6 bbWeight=0.36 PerfScore 1.80
+G_M57630_IG11:        ; bbWeight=0.29, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, byref, isz
+       ; gcrRegs +[rax]
+       test     rax, rax
+       je       SHORT G_M57630_IG15
+                       ;; size=5 bbWeight=0.29 PerfScore 0.37
+G_M57630_IG12:        ; bbWeight=0.17, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, byref, isz
+       jmp      SHORT G_M57630_IG17
+                       ;; size=2 bbWeight=0.17 PerfScore 0.33
+G_M57630_IG13:        ; bbWeight=0.04, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, byref, isz
+       mov      r13d, dword ptr [rax+0x08]
+       jmp      SHORT G_M57630_IG10
+                       ;; size=6 bbWeight=0.04 PerfScore 0.17
+G_M57630_IG14:        ; bbWeight=0.17, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref
        ; gcrRegs -[rax]
-       ; GC ptr vars -{V14 V15}
        mov      r12d, 1
                        ;; size=6 bbWeight=0.17 PerfScore 0.04
-G_M57630_IG16:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref
+G_M57630_IG15:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref
        mov      rdi, r15
        ; byrRegs +[rdi]
        mov      rsi, rbx
@@ -188,7 +174,7 @@ G_M57630_IG16:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r1
        mov      rax, r15
        ; byrRegs +[rax]
                        ;; size=34 bbWeight=1 PerfScore 5.50
-G_M57630_IG17:        ; bbWeight=1, epilog, nogc, extend
+G_M57630_IG16:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 8
        pop      rbx
        pop      r12
@@ -198,31 +184,41 @@ G_M57630_IG17:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=15 bbWeight=1 PerfScore 4.25
-G_M57630_IG18:        ; bbWeight=0.29, gcVars=0000000000000000 {}, gcrefRegs=4088 {rbx rdi r14}, byrefRegs=8000 {r15}, gcvars, byref
-       ; gcrRegs +[rbx rdi r14]
+G_M57630_IG17:        ; bbWeight=0.17, gcVars=0000000000000000 {}, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
+       ; gcrRegs +[rax rbx r14]
        ; byrRegs -[rax]
-       xor      esi, esi
-       call     [Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax:GetSlot(int):Microsoft.CodeAnalysis.GreenNode:this]
-       ; gcrRegs -[rdi] +[rax]
-                       ;; size=8 bbWeight=0.29 PerfScore 0.95
...
  
-24 (-5.58%) : 104039.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax:get_Modifiers():Microsoft.CodeAnalysis.SyntaxTokenList:this (Tier1)
@@ -9,40 +9,43 @@
 ; 4 inlinees with PGO data; 13 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  9,  8.13)     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax>
-;  V01 RetBuf       [V01,T02] (  9,  7   )   byref  ->  r15         single-def
+;  V00 this         [V00,T00] (  9,  8.04)     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax>
+;  V01 RetBuf       [V01,T01] (  9,  7   )   byref  ->  r15         single-def
 ;  V02 loc0         [V02,T07] (  5,  3   )     ref  ->  r14         class-hnd single-def <Microsoft.CodeAnalysis.GreenNode>
 ;* V03 loc1         [V03    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] ld-addr-op <Microsoft.CodeAnalysis.SyntaxTokenList>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T03] (  5,  6   )     ref  ->  rdi         class-hnd single-def "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
-;  V06 tmp2         [V06,T06] (  4,  4   )     int  ->  r13         "impAppendStmt"
+;  V05 tmp1         [V05,T02] (  5,  6   )     ref  ->  rdi         class-hnd single-def "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
+;  V06 tmp2         [V06,T04] (  4,  4   )     int  ->  r13         "impAppendStmt"
 ;* V07 tmp3         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.SyntaxTokenList>
 ;  V08 tmp4         [V08,T11] (  4,  2   )     ref  ->  r14         "guarded devirt return temp"
 ;* V09 tmp5         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.MethodDeclarationSyntax>
 ;* V10 tmp6         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V11 tmp7         [V11,T01] (  7, 11.08)     int  ->  r13         "Inlining Arg"
+;* V11 tmp7         [V11,T05] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V12 tmp8         [V12,T12] (  3,  2   )     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
-;  V13 tmp9         [V13,T10] (  5,  2.06)     int  ->  r12         "Inline stloc first use temp"
-;  V14 tmp10        [V14,T16] (  5,  1.31)     ref  ->  [rbp-0x30]  class-hnd spill-single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V15 tmp11        [V15,T05] (  4,  4.11)     ref  ->  rax         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
+;  V13 tmp9         [V13,T10] (  4,  2.03)     int  ->  r13         "Inline stloc first use temp"
+;  V14 tmp10        [V14,T16] (  4,  1.23)     ref  ->  r12         class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
+;  V15 tmp11        [V15,T06] (  4,  3.92)     ref  ->  rax         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
 ;* V16 tmp12        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V17 tmp13        [V17,T20] (  4,  0.30)     ref  ->  rax         "guarded devirt return temp"
+;  V17 tmp13        [V17,T21] (  4,  0.26)     ref  ->  rax         "guarded devirt return temp"
 ;* V18 tmp14        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ClassDeclarationSyntax>
 ;* V19 tmp15        [V19    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V20 tmp16        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
 ;* V21 tmp17        [V21    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline return value spill temp"
 ;  V22 tmp18        [V22,T08] (  4,  2.19)     int  ->  r12         "Inline stloc first use temp"
 ;* V23 tmp19        [V23,T18] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V24 tmp20        [V24,T04] (  4,  4.70)     ref  ->  rdi         class-hnd "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
+;  V24 tmp20        [V24,T03] (  4,  4.70)     ref  ->  rdi         class-hnd "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
 ;* V25 tmp21        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
 ;  V26 tmp22        [V26,T19] (  7,  0.88)     ref  ->  rax         "guarded devirt return temp"
 ;* V27 tmp23        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ClassDeclarationSyntax>
-;  V28 tmp24        [V28,T21] (  4,  0.04)     int  ->  r12         "Inline stloc first use temp"
+;  V28 tmp24        [V28,T24] (  4,  0.04)     int  ->  r12         "Inline stloc first use temp"
 ;* V29 tmp25        [V29,T17] (  0,  0   )     ref  ->  zero-ref    single-def "field V07._parent (fldOffset=0x0)" P-INDEP
 ;  V30 tmp26        [V30,T13] (  2,  2   )     ref  ->  r14         single-def "field V07.<Node>k__BackingField (fldOffset=0x8)" P-INDEP
 ;  V31 tmp27        [V31,T14] (  2,  2   )     int  ->  r12         single-def "field V07._index (fldOffset=0x10)" P-INDEP
 ;  V32 tmp28        [V32,T15] (  2,  2   )     int  ->  r13         single-def "field V07.<Position>k__BackingField (fldOffset=0x14)" P-INDEP
-;  V33 cse0         [V33,T09] (  3,  2.18)    long  ->  rax         "CSE - conservative"
+;  V33 cse0         [V33,T22] (  2,  0.09)    long  ->  rax         "CSE - conservative"
+;  V34 cse1         [V34,T20] (  3,  0.28)    long  ->  rax         "CSE - conservative"
+;  V35 cse2         [V35,T09] (  3,  2.18)    long  ->  rax         "CSE - conservative"
+;  V36 cse3         [V36,T23] (  2,  0.06)     int  ->  r13         "CSE - conservative"
 ;
 ; Lcl frame size = 8
 
@@ -65,96 +68,62 @@ G_M57630_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15},
        ; gcrRegs +[rdi]
        mov      rsi, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.MethodDeclarationSyntax
        cmp      qword ptr [rdi], rsi
-       jne      G_M57630_IG25
+       jne      G_M57630_IG21
        mov      r14, gword ptr [rdi+0x18]
        ; gcrRegs +[r14]
        test     r14, r14
-       je       G_M57630_IG26
+       je       G_M57630_IG22
                      ;; size=36 bbWeight=1 PerfScore 9.50
 G_M57630_IG03:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref
        ; gcrRegs -[rdi]
-       mov      r13d, 1
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      esi, 1
        call     [Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax:GetCachedSlot(int):Microsoft.CodeAnalysis.SyntaxNode:this]
        ; gcrRegs -[rdi] +[rax]
        test     rax, rax
-       jne      G_M57630_IG28
-       xor      r12d, r12d
-       mov      rax, gword ptr [rbx+0x18]
-       mov      gword ptr [rbp-0x30], rax
-       ; GC ptr vars +{V14}
-                       ;; size=40 bbWeight=1 PerfScore 8.25
-G_M57630_IG04:        ; bbWeight=1.09, gcVars=0000000000010000 {V14}, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
-       ; gcrRegs -[rax]
-       dec      r13d
+       jne      G_M57630_IG24
+       xor      r13d, r13d
+       mov      r12, gword ptr [rbx+0x18]
+       ; gcrRegs +[r12]
        mov      rdi, rbx
        ; gcrRegs +[rdi]
-       mov      esi, r13d
+       xor      esi, esi
        call     [Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax:GetCachedSlot(int):Microsoft.CodeAnalysis.SyntaxNode:this]
-       ; gcrRegs -[rdi] +[rax]
+       ; gcrRegs -[rdi]
        test     rax, rax
-       je       SHORT G_M57630_IG08
-                       ;; size=20 bbWeight=1.09 PerfScore 5.46
-G_M57630_IG05:        ; bbWeight=0.96, gcVars=0000000000000000 {}, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, gcvars, byref
-       ; GC ptr vars -{V14}
-       mov      r13d, dword ptr [rax+0x20]
-       mov      rdi, gword ptr [rax+0x18]
-       ; gcrRegs +[rdi]
-       add      r13d, dword ptr [rdi+0x08]
-       add      r13d, r12d
-                       ;; size=15 bbWeight=0.96 PerfScore 6.97
-G_M57630_IG06:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
-       ; gcrRegs -[rax rdi]
+       je       G_M57630_IG15
+                       ;; size=50 bbWeight=1 PerfScore 11.75
+G_M57630_IG04:        ; bbWeight=0.96, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, byref
+       ; gcrRegs -[r12]
+       mov      edi, dword ptr [rax+0x20]
+       mov      rsi, gword ptr [rax+0x18]
+       ; gcrRegs +[rsi]
+       add      edi, dword ptr [rsi+0x08]
+       add      r13d, edi
+                       ;; size=13 bbWeight=0.96 PerfScore 6.97
+G_M57630_IG05:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
+       ; gcrRegs -[rax rsi]
        xor      r12d, r12d
        mov      rdi, gword ptr [rbx+0x18]
        ; gcrRegs +[rdi]
        mov      rax, qword ptr [rdi]
        mov      rsi, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ClassDeclarationSyntax
        cmp      rax, rsi
-       jne      SHORT G_M57630_IG16
+       je       SHORT G_M57630_IG11
                      ;; size=25 bbWeight=1 PerfScore 5.75
-G_M57630_IG07:        ; bbWeight=0.17, gcrefRegs=4088 {rbx rdi r14}, byrefRegs=8000 {r15}, byref
-       jmp      G_M57630_IG21
-                       ;; size=5 bbWeight=0.17 PerfScore 0.34
-G_M57630_IG08:        ; bbWeight=0.13, gcVars=0000000000010000 {V14}, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, gcvars, byref
-       ; gcrRegs -[rdi]
-       ; GC ptr vars +{V14}
-       mov      rdi, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ClassDeclarationSyntax
-       mov      rax, gword ptr [rbp-0x30]
-       ; gcrRegs +[rax]
-       cmp      qword ptr [rax], rdi
-       je       G_M57630_IG22
-                       ;; size=23 bbWeight=0.13 PerfScore 0.69
-G_M57630_IG09:        ; bbWeight=0.05, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, byref
-       mov      rdi, rax
-       ; gcrRegs +[rdi]
-       mov      esi, r13d
-       mov      rcx, qword ptr [rax]
-       mov      rcx, qword ptr [rcx+0x50]
-       call     [rcx+0x20]<unknown method>
-       ; gcrRegs -[rdi]
-                       ;; size=16 bbWeight=0.05 PerfScore 0.39
-G_M57630_IG10:        ; bbWeight=0.13, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, byref, isz
+G_M57630_IG06:        ; bbWeight=0.18, gcrefRegs=4088 {rbx rdi r14}, byrefRegs=8000 {r15}, byref
+       xor      esi, esi
+       mov      rax, qword ptr [rax+0x50]
+       call     [rax+0x20]<unknown method>
+       ; gcrRegs -[rdi] +[rax]
+                       ;; size=9 bbWeight=0.18 PerfScore 0.93
+G_M57630_IG07:        ; bbWeight=0.35, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, byref, isz
        test     rax, rax
-       jne      SHORT G_M57630_IG20
-                       ;; size=5 bbWeight=0.13 PerfScore 0.16
-G_M57630_IG11:        ; bbWeight=1.13, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
+       jne      SHORT G_M57630_IG12
+                       ;; size=5 bbWeight=0.35 PerfScore 0.44
+G_M57630_IG08:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref
        ; gcrRegs -[rax]
-       test     r13d, r13d
-       jg       SHORT G_M57630_IG04
-                       ;; size=5 bbWeight=1.13 PerfScore 1.41
-G_M57630_IG12:        ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
-       ; GC ptr vars -{V14}
-       mov      r13d, r12d
-       add      r13d, dword ptr [rbx+0x20]
-       jmp      SHORT G_M57630_IG06
-                       ;; size=9 bbWeight=0.04 PerfScore 0.20
-G_M57630_IG13:        ; bbWeight=0.17, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref
-       mov      r12d, 1
-                       ;; size=6 bbWeight=0.17 PerfScore 0.04
-G_M57630_IG14:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref
        mov      rdi, r15
        ; byrRegs +[rdi]
        mov      rsi, rbx
@@ -174,7 +143,7 @@ G_M57630_IG14:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r1
        mov      rax, r15
        ; byrRegs +[rax]
                        ;; size=34 bbWeight=1 PerfScore 5.50
-G_M57630_IG15:        ; bbWeight=1, epilog, nogc, extend
+G_M57630_IG09:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 8
        pop      rbx
        pop      r12
@@ -184,59 +153,71 @@ G_M57630_IG15:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=15 bbWeight=1 PerfScore 4.25
-G_M57630_IG16:        ; bbWeight=0.18, gcVars=0000000000000000 {}, gcrefRegs=4088 {rbx rdi r14}, byrefRegs=8000 {r15}, gcvars, byref
-       ; gcrRegs +[rbx rdi r14]
+G_M57630_IG10:        ; bbWeight=0.17, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
+       ; gcrRegs +[rbx r14]
        ; byrRegs -[rax]
+       mov      r12d, 1
+       jmp      SHORT G_M57630_IG08
+                       ;; size=8 bbWeight=0.17 PerfScore 0.39
+G_M57630_IG11:        ; bbWeight=0.17, gcrefRegs=4088 {rbx rdi r14}, byrefRegs=8000 {r15}, byref, isz
+       ; gcrRegs +[rdi]
+       xor      esi, esi
+       call     [Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ClassDeclarationSyntax:GetSlot(int):Microsoft.CodeAnalysis.GreenNode:this]
+       ; gcrRegs -[rdi] +[rax]
+       jmp      SHORT G_M57630_IG07
+                       ;; size=10 bbWeight=0.17 PerfScore 0.90
+G_M57630_IG12:        ; bbWeight=0.17, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, byref, isz
+       cmp      word  ptr [rax+0x0C], 1
+       jne      SHORT G_M57630_IG10
+                       ;; size=7 bbWeight=0.17 PerfScore 0.68
+G_M57630_IG13:        ; bbWeight=0.01, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, byref
+       movzx    r12, byte  ptr [rax+0x0F]
+       cmp      r12d, 255
+       je       G_M57630_IG25
+                       ;; size=18 bbWeight=0.01 PerfScore 0.04
+G_M57630_IG14:        ; bbWeight=0.01, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
+       ; gcrRegs -[rax]
+       jmp      SHORT G_M57630_IG08
+                       ;; size=2 bbWeight=0.01 PerfScore 0.02
+G_M57630_IG15:        ; bbWeight=0.12, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=8000 {r15}, byref, isz
+       ; gcrRegs +[r12]
+       mov      rax, qword ptr [r12]
+       mov      rdi, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ClassDeclarationSyntax
+       cmp      rax, rdi
+       je       SHORT G_M57630_IG19
+                       ;; size=19 bbWeight=0.12 PerfScore 0.41
+G_M57630_IG16:        ; bbWeight=0.05, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=8000 {r15}, byref
+       mov      rdi, r12
+       ; gcrRegs +[rdi]
        xor      esi, esi
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x20]<unknown method>
-       ; gcrRegs -[rdi] +[rax]
-                       ;; size=9 bbWeight=0.18 PerfScore 0.93
-G_M57630_IG17:        ; bbWeight=0.35, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, byref, isz
+       ; gcrRegs -[rdi r12] +[rax]
+                       ;; size=12 bbWeight=0.05 PerfScore 0.25
+G_M57630_IG17:        ; bbWeight=0.12, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, byref, isz
        test     rax, rax
-       je       SHORT G_M57630_IG14
-                       ;; size=5 bbWeight=0.35 PerfScore 0.44
-G_M57630_IG18:        ; bbWeight=0.17, gcrefRegs=4009 {rax rbx r14}, byrefRegs=8000 {r15}, byref, isz
-       cmp      word  ptr [rax+0x0C], 1
-       jne      SHORT G_M57630_IG13
...
  
-18 (-4.21%) : 59223.dasm - System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
@@ -12,34 +12,34 @@
 ;  V00 this         [V00,T00] ( 11, 11   )     ref  ->  rbx         this class-hnd single-def <System.Reflection.RuntimeParameterInfo>
 ;  V01 arg1         [V01,T04] (  3,  3   )     ref  ->  r14         class-hnd single-def <System.Signature>
 ;* V02 arg2         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.Reflection.MetadataImport>
-;  V03 arg3         [V03,T01] (  5,  4.99)     int  ->  r15         single-def
+;  V03 arg3         [V03,T02] (  5,  4.99)     int  ->  r15         single-def
 ;  V04 arg4         [V04,T05] (  3,  3   )     int  ->  r13         single-def
 ;  V05 arg5         [V05,T19] (  1,  1.00)     int  ->  [rbp+0x10]  single-def
-;  V06 arg6         [V06,T13] (  2,  2   )     ref  ->  [rbp+0x18]  class-hnd single-def <System.Reflection.MemberInfo>
+;  V06 arg6         [V06,T14] (  2,  2   )     ref  ->  [rbp+0x18]  class-hnd single-def <System.Reflection.MemberInfo>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T02] (  3,  6.00)     ref  ->  [rbp-0x38]  class-hnd exact spill-single-def "Single-def Box Helper" <System.Reflection.MetadataImport>
+;  V08 tmp1         [V08,T03] (  3,  6.00)     ref  ->  [rbp-0x38]  class-hnd exact spill-single-def "Single-def Box Helper" <System.Reflection.MetadataImport>
 ;  V09 tmp2         [V09,T11] (  2,  4.00)     int  ->  [rbp-0x2C]  spill-single-def "impImportAndPushBox"
-;  V10 tmp3         [V10,T12] (  2,  2.00)     int  ->  rdi        
+;  V10 tmp3         [V10,T13] (  2,  1.99)     int  ->  rdi        
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V13 tmp6         [V13,T14] (  2,  2.00)     int  ->  rdi        
-;  V14 tmp7         [V14,T03] (  3,  5.96)     ref  ->  rax         class-hnd exact single-def "dup spill" <int[]>
+;  V13 tmp6         [V13,T15] (  2,  2.00)     int  ->  rdi        
+;  V14 tmp7         [V14,T01] (  3,  5.96)     ref  ->  rax         class-hnd exact single-def "dup spill" <int[]>
 ;* V15 tmp8         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V16 tmp9         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V17 tmp10        [V17,T15] (  2,  2.00)   ubyte  ->  rdi         "Inline return value spill temp"
+;  V17 tmp10        [V17,T16] (  2,  2.00)   ubyte  ->  rdi         "Inline return value spill temp"
 ;  V18 tmp11        [V18,T09] (  2,  4.00)     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Reflection.MetadataImport>
 ;* V19 tmp12        [V19    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Reflection.MetadataImport>
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V21 tmp14        [V21,T17] (  3,  1.99)   ubyte  ->  rdi         "Inline return value spill temp"
-;  V22 tmp15        [V22,T07] (  5,  4.97)     int  ->  rdi         "Inline stloc first use temp"
+;  V21 tmp14        [V21,T18] (  3,  1.99)   ubyte  ->  rdi         "Inline return value spill temp"
+;* V22 tmp15        [V22,T07] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V23 tmp16        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V24 tmp17        [V24    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V25 tmp18        [V25,T10] (  2,  2   )     ref  ->  [rbp-0x40]  single-def "field V02.m_keepalive (fldOffset=0x0)" P-INDEP
 ;  V26 tmp19        [V26,T06] (  3,  3   )    long  ->  r12         single-def "field V02.m_metadataImport2 (fldOffset=0x8)" P-INDEP
 ;* V27 tmp20        [V27    ] (  0,  0   )     ref  ->  zero-ref    "field V19.m_keepalive (fldOffset=0x0)" P-INDEP
-;  V28 tmp21        [V28,T16] (  2,  2.00)    long  ->  rdi         "field V19.m_metadataImport2 (fldOffset=0x8)" P-INDEP
+;  V28 tmp21        [V28,T17] (  2,  2.00)    long  ->  rdi         "field V19.m_metadataImport2 (fldOffset=0x8)" P-INDEP
 ;  V29 cse0         [V29,T08] (  4,  4.00)     int  ->  [rbp-0x30]  spill-single-def "CSE - moderate"
-;  V30 cse1         [V30,T18] (  2,  1.99)     int  ->  rcx         hoist "CSE - moderate"
+;  V30 cse1         [V30,T12] (  2,  1.99)     int  ->  rdi         "CSE - moderate"
 ;
 ; Lcl frame size = 24
 
@@ -67,7 +67,7 @@ G_M43134_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M43134_IG02:        ; bbWeight=1, gcVars=0000000000000400 {V25}, gcrefRegs=400A {rcx rbx r14}, byrefRegs=0000 {}, gcvars, byref
        mov      gword ptr [rbp+0x18], rcx
        test     rcx, rcx
-       je       G_M43134_IG12
+       je       G_M43134_IG13
                      ;; size=13 bbWeight=1 PerfScore 2.25
 G_M43134_IG03:        ; bbWeight=1.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
@@ -106,42 +106,32 @@ G_M43134_IG03:        ; bbWeight=1.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000
        mov      esi, dword ptr [rbp-0x2C]
        ; byrRegs -[rsi]
        cmp      esi, edi
-       jne      G_M43134_IG13
+       jne      G_M43134_IG14
                      ;; size=99 bbWeight=1.00 PerfScore 18.00
 G_M43134_IG04:        ; bbWeight=1.00, gcVars=0000000000000400 {V25}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref, isz
        ; GC ptr vars -{V08}
        cmp      dword ptr [rbp-0x30], 0
-       je       SHORT G_M43134_IG09
+       je       SHORT G_M43134_IG07
                       ;; size=6 bbWeight=1.00 PerfScore 3.00
-G_M43134_IG05:        ; bbWeight=0.99, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
+G_M43134_IG05:        ; bbWeight=0.99, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        mov      rdi, 0xD1FFAB1E      ; int[]
        mov      esi, 1
        call     CORINFO_HELP_NEWARR_1_VC
        ; gcrRegs +[rax]
        ; gcr arg pop 0
        mov      dword ptr [rax+0x10], 0xD1FFAB1E
-       xor      edi, edi
-       mov      ecx, r15d
-       and      ecx, 0xD1FFAB1E
-                       ;; size=38 bbWeight=0.99 PerfScore 3.23
-G_M43134_IG06:        ; bbWeight=0.99, gcrefRegs=4009 {rax rbx r14}, byrefRegs=0000 {}, byref, isz
-       mov      esi, edi
-       cmp      dword ptr [rax+4*rsi+0x10], ecx
-       je       SHORT G_M43134_IG07
-       inc      edi
-       cmp      edi, 1
-       jge      G_M43134_IG14
-       jmp      SHORT G_M43134_IG06
-                       ;; size=21 bbWeight=0.99 PerfScore 7.70
-G_M43134_IG07:        ; bbWeight=0.99, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
+       mov      edi, r15d
+       and      edi, 0xD1FFAB1E
+       cmp      dword ptr [rax+0x10], edi
+       je       SHORT G_M43134_IG10
+       jmp      G_M43134_IG15
+                       ;; size=46 bbWeight=0.99 PerfScore 8.94
+G_M43134_IG06:        ; bbWeight=1.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
-       mov      edi, 1
-                       ;; size=5 bbWeight=0.99 PerfScore 0.25
-G_M43134_IG08:        ; bbWeight=1.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        test     dil, dil
-       je       G_M43134_IG15
-                       ;; size=9 bbWeight=1.00 PerfScore 1.25
-G_M43134_IG09:        ; bbWeight=1.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
+       je       SHORT G_M43134_IG12
+                       ;; size=5 bbWeight=1.00 PerfScore 1.25
+G_M43134_IG07:        ; bbWeight=1.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        mov      dword ptr [rbx+0x2C], r13d
        lea      rdi, bword ptr [rbx+0x18]
        ; byrRegs +[rdi]
@@ -176,11 +166,11 @@ G_M43134_IG09:        ; bbWeight=1.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000
        ; gcrRegs +[rdi]
        mov      gword ptr [rbx+0x08], rdi
                        ;; size=76 bbWeight=1.00 PerfScore 15.50
-G_M43134_IG10:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M43134_IG08:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        mov      gword ptr [rbx+0x20], rdi
                        ;; size=4 bbWeight=1.00 PerfScore 1.00
-G_M43134_IG11:        ; bbWeight=1.00, epilog, nogc, extend
+G_M43134_IG09:        ; bbWeight=1.00, epilog, nogc, extend
        add      rsp, 24
        pop      rbx
        pop      r12
@@ -190,9 +180,15 @@ G_M43134_IG11:        ; bbWeight=1.00, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=15 bbWeight=1.00 PerfScore 4.25
-G_M43134_IG12:        ; bbWeight=0, gcVars=0000000000000400 {V25}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref
+G_M43134_IG10:        ; bbWeight=0.99, gcVars=0000000000000400 {V25}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[r14]
        ; GC ptr vars +{V10 V25}
+       mov      edi, 1
+                       ;; size=5 bbWeight=0.99 PerfScore 0.25
+G_M43134_IG11:        ; bbWeight=0.99, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M43134_IG06
+                       ;; size=2 bbWeight=0.99 PerfScore 1.99
+G_M43134_IG12:        ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        mov      rdi, 0xD1FFAB1E
        ; gcrRegs +[rdi]
        mov      rsi, 0xD1FFAB1E
@@ -200,7 +196,7 @@ G_M43134_IG12:        ; bbWeight=0, gcVars=0000000000000400 {V25}, gcrefRegs=400
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
-       jmp      G_M43134_IG03
+       jmp      G_M43134_IG07
                        ;; size=31 bbWeight=0 PerfScore 0.00
 G_M43134_IG13:        ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        mov      rdi, 0xD1FFAB1E
@@ -210,13 +206,9 @@ G_M43134_IG13:        ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {},
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
-       jmp      G_M43134_IG04
+       jmp      G_M43134_IG03
                        ;; size=31 bbWeight=0 PerfScore 0.00
 G_M43134_IG14:        ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
-       xor      edi, edi
-       jmp      G_M43134_IG08
-                       ;; size=7 bbWeight=0 PerfScore 0.00
-G_M43134_IG15:        ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        mov      rdi, 0xD1FFAB1E
        ; gcrRegs +[rdi]
        mov      rsi, 0xD1FFAB1E
@@ -224,10 +216,14 @@ G_M43134_IG15:        ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {},
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
-       jmp      G_M43134_IG09
+       jmp      G_M43134_IG04
                        ;; size=31 bbWeight=0 PerfScore 0.00
+G_M43134_IG15:        ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+       xor      edi, edi
+       jmp      SHORT G_M43134_IG11
+                       ;; size=4 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 428, prolog size 42, PerfScore 66.43, instruction count 103, allocated bytes for code 428 (MethodHash=d49d5781) for method System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
+; Total bytes of code 410, prolog size 42, PerfScore 66.43, instruction count 99, allocated bytes for code 410 (MethodHash=d49d5781) for method System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+46 (+68.66%) : 103388.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (Tier1)
@@ -9,13 +9,13 @@
 ; 2 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T03] (  3,  3   )     ref  ->  rdi         class-hnd single-def <Microsoft.CodeAnalysis.SyntaxNode>
-;  V01 loc0         [V01,T00] (  6, 21.84)     ref  ->  rdi         class-hnd <Microsoft.CodeAnalysis.SyntaxNode>
+;  V00 arg0         [V00,T04] (  3,  3   )     ref  ->  rdi         class-hnd single-def <Microsoft.CodeAnalysis.SyntaxNode>
+;  V01 loc0         [V01,T00] ( 10, 25.17)     ref  ->  rdi         class-hnd <Microsoft.CodeAnalysis.SyntaxNode>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T01] (  4, 14.88)  ushort  ->  rcx         "Inline return value spill temp"
-;  V04 tmp2         [V04,T02] (  3, 14.88)     int  ->  rcx         "Inline stloc first use temp"
+;  V03 tmp1         [V03,T01] (  7, 17.38)  ushort  ->  rcx         "Inline return value spill temp"
+;  V04 tmp2         [V04,T02] (  6, 17.38)     int  ->  rcx         "Inline stloc first use temp"
 ;* V05 tmp3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
-;* V06 tmp4         [V06,T04] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V06 tmp4         [V06,T03] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;
 ; Lcl frame size = 0
 
@@ -26,48 +26,67 @@ G_M65070_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M65070_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       SHORT G_M65070_IG05
+       je       SHORT G_M65070_IG07
                      ;; size=5 bbWeight=1 PerfScore 1.25
-G_M65070_IG03:        ; bbWeight=4.96, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+G_M65070_IG03:        ; bbWeight=0.83, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        mov      rax, gword ptr [rdi+0x18]
        ; gcrRegs +[rax]
        movzx    rcx, word  ptr [rax+0x0C]
        lea      eax, [rcx-0x02]
        ; gcrRegs -[rax]
+       xor      edx, edx
        cmp      eax, 0x1FFE
-       jbe      SHORT G_M65070_IG09
-                       ;; size=18 bbWeight=4.96 PerfScore 28.52
-G_M65070_IG04:        ; bbWeight=4.96, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       cmovbe   ecx, edx
        cmp      ecx, 0x2160
-       je       SHORT G_M65070_IG07
+       je       SHORT G_M65070_IG09
+                       ;; size=29 bbWeight=0.83 PerfScore 5.41
+G_M65070_IG04:        ; bbWeight=0.83, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        cmp      ecx, 0x2161
-       je       SHORT G_M65070_IG07
+       je       SHORT G_M65070_IG09
        mov      rdi, gword ptr [rdi+0x08]
        test     rdi, rdi
-       jne      SHORT G_M65070_IG03
+       je       SHORT G_M65070_IG07
+                       ;; size=17 bbWeight=0.83 PerfScore 3.74
+G_M65070_IG05:        ; bbWeight=4.96, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       mov      rcx, gword ptr [rdi+0x18]
+       ; gcrRegs +[rcx]
+       movzx    rcx, word  ptr [rcx+0x0C]
+       ; gcrRegs -[rcx]
+       lea      eax, [rcx-0x02]
+       cmp      eax, 0x1FFE
+       jbe      SHORT G_M65070_IG11
+                       ;; size=18 bbWeight=4.96 PerfScore 28.52
+G_M65070_IG06:        ; bbWeight=4.96, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       cmp      ecx, 0x2160
+       je       SHORT G_M65070_IG09
+       cmp      ecx, 0x2161
+       je       SHORT G_M65070_IG09
+       mov      rdi, gword ptr [rdi+0x08]
+       test     rdi, rdi
+       jne      SHORT G_M65070_IG05
                         ;; size=25 bbWeight=4.96 PerfScore 28.52
-G_M65070_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M65070_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        xor      eax, eax
                        ;; size=2 bbWeight=1 PerfScore 0.25
-G_M65070_IG06:        ; bbWeight=1, epilog, nogc, extend
+G_M65070_IG08:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=2 bbWeight=1 PerfScore 1.50
-G_M65070_IG07:        ; bbWeight=2.48, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M65070_IG09:        ; bbWeight=4.75, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        mov      eax, 1
-                     ;; size=5 bbWeight=2.48 PerfScore 0.62
-G_M65070_IG08:        ; bbWeight=2.48, epilog, nogc, extend
+                      ;; size=5 bbWeight=4.75 PerfScore 1.19
+G_M65070_IG10:        ; bbWeight=4.75, epilog, nogc, extend
        pop      rbp
        ret      
-                     ;; size=2 bbWeight=2.48 PerfScore 3.72
-G_M65070_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+                      ;; size=2 bbWeight=4.75 PerfScore 7.13
+G_M65070_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rdi]
        xor      ecx, ecx
-       jmp      SHORT G_M65070_IG04
+       jmp      SHORT G_M65070_IG06
                      ;; size=4 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 67, prolog size 4, PerfScore 65.62, instruction count 24, allocated bytes for code 67 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (Tier1)
+; Total bytes of code 113, prolog size 4, PerfScore 78.75, instruction count 37, allocated bytes for code 113 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+43 (+71.67%) : 147839.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:g_SumFrequencies|32(ushort[]):float (Tier1)
@@ -10,10 +10,10 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T02] (  3,  3   )     ref  ->  rdi         class-hnd single-def <ushort[]>
-;  V01 loc0         [V01,T05] (  4,  6.13)   float  ->  mm0        
-;  V02 loc1         [V02,T03] (  3,  4.25)     ref  ->  rdi         class-hnd single-def <ushort[]>
-;  V03 loc2         [V03,T00] (  5, 10.01)     int  ->  rax        
-;  V04 loc3         [V04,T01] (  3,  6.57)  ushort  ->  rdx        
+;  V01 loc0         [V01,T05] (  5,  6.76)   float  ->  mm0        
+;  V02 loc1         [V02,T03] (  4,  4.95)     ref  ->  rdi         class-hnd single-def <ushort[]>
+;  V03 loc2         [V03,T00] (  5,  9.70)     int  ->  rcx        
+;  V04 loc3         [V04,T01] (  6,  8.59)  ushort  ->  registers  
 ;* V05 loc4         [V05    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[float]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[float]>
@@ -21,7 +21,7 @@
 ;* V09 tmp3         [V09    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V10 tmp4         [V10    ] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
 ;* V11 tmp5         [V11    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
-;  V12 cse0         [V12,T04] (  3,  4.25)     int  ->  rcx         "CSE - aggressive"
+;  V12 cse0         [V12,T04] (  4,  4.95)     int  ->  rax         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -33,34 +33,51 @@ G_M18410_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M18410_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
        vxorps   xmm0, xmm0, xmm0
-       xor      eax, eax
-       mov      ecx, dword ptr [rdi+0x08]
-       test     ecx, ecx
-       jle      SHORT G_M18410_IG06
-                       ;; size=13 bbWeight=1 PerfScore 3.83
-G_M18410_IG03:        ; bbWeight=2.25, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
-       mov      edx, eax
+       mov      eax, dword ptr [rdi+0x08]
+       test     eax, eax
+       jle      SHORT G_M18410_IG08
+                       ;; size=11 bbWeight=1 PerfScore 3.58
+G_M18410_IG03:        ; bbWeight=0.69, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       movzx    rcx, word  ptr [rdi+0x10]
+       cmp      ecx, 128
+       jl       SHORT G_M18410_IG09
+                       ;; size=12 bbWeight=0.69 PerfScore 2.25
+G_M18410_IG04:        ; bbWeight=0.69, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       mov      ecx, 1
+       cmp      eax, 1
+       jle      SHORT G_M18410_IG08
+                       ;; size=10 bbWeight=0.69 PerfScore 1.04
+G_M18410_IG05:        ; bbWeight=2.25, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       mov      edx, ecx
        movzx    rdx, word  ptr [rdi+2*rdx+0x10]
        cmp      edx, 128
-       jge      SHORT G_M18410_IG05
+       jge      SHORT G_M18410_IG07
                      ;; size=15 bbWeight=2.25 PerfScore 7.89
-G_M18410_IG04:        ; bbWeight=2.06, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M18410_IG06:        ; bbWeight=2.06, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        mov      edx, edx
        mov      rsi, 0xD1FFAB1E      ; static handle
        vaddss   xmm0, xmm0, dword ptr [rsi+4*rdx]
                        ;; size=17 bbWeight=2.06 PerfScore 13.42
-G_M18410_IG05:        ; bbWeight=2.25, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
-       inc      eax
-       cmp      ecx, eax
-       jg       SHORT G_M18410_IG03
+G_M18410_IG07:        ; bbWeight=2.25, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       inc      ecx
+       cmp      eax, ecx
+       jg       SHORT G_M18410_IG05
                         ;; size=6 bbWeight=2.25 PerfScore 3.38
-G_M18410_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M18410_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rdi]
        pop      rbp
        ret      
                        ;; size=2 bbWeight=1 PerfScore 1.50
+G_M18410_IG09:        ; bbWeight=0.63, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; gcrRegs +[rdi]
+       mov      ecx, ecx
+       mov      rdx, 0xD1FFAB1E      ; static handle
+       vxorps   xmm0, xmm0, xmm0
+       vaddss   xmm0, xmm0, dword ptr [rdx+4*rcx]
+       jmp      SHORT G_M18410_IG04
+                       ;; size=23 bbWeight=0.63 PerfScore 5.61
 
-; Total bytes of code 60, prolog size 7, PerfScore 32.27, instruction count 20, allocated bytes for code 60 (MethodHash=6cbdb815) for method System.Text.RegularExpressions.RegexPrefixAnalyzer:<SortFixedDistanceSetsByQuality>g__SumFrequencies|3_2(ushort[]):float (Tier1)
+; Total bytes of code 103, prolog size 7, PerfScore 40.91, instruction count 30, allocated bytes for code 103 (MethodHash=6cbdb815) for method System.Text.RegularExpressions.RegexPrefixAnalyzer:<SortFixedDistanceSetsByQuality>g__SumFrequencies|3_2(ushort[]):float (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+43 (+71.67%) : 155683.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:g_SumFrequencies|32(ushort[]):float (Tier1)
@@ -10,10 +10,10 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T02] (  3,  3   )     ref  ->  rdi         class-hnd single-def <ushort[]>
-;  V01 loc0         [V01,T05] (  4,  5.99)   float  ->  mm0        
-;  V02 loc1         [V02,T03] (  3,  4.22)     ref  ->  rdi         class-hnd single-def <ushort[]>
-;  V03 loc2         [V03,T00] (  5,  9.87)     int  ->  rax        
-;  V04 loc3         [V04,T01] (  3,  6.43)  ushort  ->  rdx        
+;  V01 loc0         [V01,T05] (  5,  6.61)   float  ->  mm0        
+;  V02 loc1         [V02,T03] (  4,  4.91)     ref  ->  rdi         class-hnd single-def <ushort[]>
+;  V03 loc2         [V03,T00] (  5,  9.55)     int  ->  rcx        
+;  V04 loc3         [V04,T01] (  6,  8.42)  ushort  ->  registers  
 ;* V05 loc4         [V05    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[float]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[float]>
@@ -21,7 +21,7 @@
 ;* V09 tmp3         [V09    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V10 tmp4         [V10    ] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
 ;* V11 tmp5         [V11    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
-;  V12 cse0         [V12,T04] (  3,  4.22)     int  ->  rcx         "CSE - aggressive"
+;  V12 cse0         [V12,T04] (  4,  4.91)     int  ->  rax         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -33,34 +33,51 @@ G_M18410_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M18410_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
        vxorps   xmm0, xmm0, xmm0
-       xor      eax, eax
-       mov      ecx, dword ptr [rdi+0x08]
-       test     ecx, ecx
-       jle      SHORT G_M18410_IG06
-                       ;; size=13 bbWeight=1 PerfScore 3.83
-G_M18410_IG03:        ; bbWeight=2.22, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
-       mov      edx, eax
+       mov      eax, dword ptr [rdi+0x08]
+       test     eax, eax
+       jle      SHORT G_M18410_IG08
+                       ;; size=11 bbWeight=1 PerfScore 3.58
+G_M18410_IG03:        ; bbWeight=0.69, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       movzx    rcx, word  ptr [rdi+0x10]
+       cmp      ecx, 128
+       jl       SHORT G_M18410_IG09
+                       ;; size=12 bbWeight=0.69 PerfScore 2.24
+G_M18410_IG04:        ; bbWeight=0.69, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       mov      ecx, 1
+       cmp      eax, 1
+       jle      SHORT G_M18410_IG08
+                       ;; size=10 bbWeight=0.69 PerfScore 1.03
+G_M18410_IG05:        ; bbWeight=2.22, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       mov      edx, ecx
        movzx    rdx, word  ptr [rdi+2*rdx+0x10]
        cmp      edx, 128
-       jge      SHORT G_M18410_IG05
+       jge      SHORT G_M18410_IG07
                      ;; size=15 bbWeight=2.22 PerfScore 7.76
-G_M18410_IG04:        ; bbWeight=1.99, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M18410_IG06:        ; bbWeight=1.99, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        mov      edx, edx
        mov      rsi, 0xD1FFAB1E      ; static handle
        vaddss   xmm0, xmm0, dword ptr [rsi+4*rdx]
                        ;; size=17 bbWeight=1.99 PerfScore 12.95
-G_M18410_IG05:        ; bbWeight=2.22, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
-       inc      eax
-       cmp      ecx, eax
-       jg       SHORT G_M18410_IG03
+G_M18410_IG07:        ; bbWeight=2.22, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       inc      ecx
+       cmp      eax, ecx
+       jg       SHORT G_M18410_IG05
                         ;; size=6 bbWeight=2.22 PerfScore 3.32
-G_M18410_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M18410_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rdi]
        pop      rbp
        ret      
                        ;; size=2 bbWeight=1 PerfScore 1.50
+G_M18410_IG09:        ; bbWeight=0.62, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; gcrRegs +[rdi]
+       mov      ecx, ecx
+       mov      rdx, 0xD1FFAB1E      ; static handle
+       vxorps   xmm0, xmm0, xmm0
+       vaddss   xmm0, xmm0, dword ptr [rdx+4*rcx]
+       jmp      SHORT G_M18410_IG04
+                       ;; size=23 bbWeight=0.62 PerfScore 5.47
 
-; Total bytes of code 60, prolog size 7, PerfScore 31.62, instruction count 20, allocated bytes for code 60 (MethodHash=6cbdb815) for method System.Text.RegularExpressions.RegexPrefixAnalyzer:<SortFixedDistanceSetsByQuality>g__SumFrequencies|3_2(ushort[]):float (Tier1)
+; Total bytes of code 103, prolog size 7, PerfScore 40.12, instruction count 30, allocated bytes for code 103 (MethodHash=6cbdb815) for method System.Text.RegularExpressions.RegexPrefixAnalyzer:<SortFixedDistanceSetsByQuality>g__SumFrequencies|3_2(ushort[]):float (Tier1)
 ; ============================================================
 
 Unwind Info:
  
  
benchmarks.run_tiered.linux.x64.checked.mch
-21 (-9.86%) : 46898.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
@@ -8,34 +8,38 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] ( 13, 12   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
-;  V01 loc0         [V01,T09] (  3,  2.50)     int  ->  rdi        
-;  V02 loc1         [V02,T06] (  3,  4.50)     ref  ->  r13         class-hnd <System.__Canon>
+;  V00 this         [V00,T00] ( 13,  9   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
+;  V01 loc0         [V01,T13] (  3,  2.50)     int  ->  rdi        
+;  V02 loc1         [V02,T08] (  3,  1.50)     ref  ->  r14         class-hnd <System.__Canon>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T00] (  2, 16   )    long  ->  rsi         "spilling helperCall"
+;  V04 tmp1         [V04,T02] (  2,  4   )    long  ->  rsi         "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V07 cse0         [V07,T05] (  2,  5   )    long  ->  r15         hoist "CSE - aggressive"
-;  V08 cse1         [V08,T03] (  4,  6   )   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V09 rat0         [V09,T07] (  3,  4.40)    long  ->  rdi         "Spilling to split statement for tree"
-;  V10 rat1         [V10,T08] (  3,  4   )    long  ->  r15         "runtime lookup"
-;  V11 rat2         [V11,T04] (  3,  5.60)    long  ->  r15         "fgMakeTemp is creating a new local variable"
-;  V12 rat3         [V12,T02] (  3, 12   )     ref  ->  rax         "delegate invoke call"
+;  V07 cse0         [V07,T14] (  2,  2   )    long  ->  r15         hoist "CSE - aggressive"
+;  V08 rat0         [V08,T09] (  3,  4.40)    long  ->  rdi         "Spilling to split statement for tree"
+;  V09 rat1         [V09,T10] (  3,  4   )    long  ->  r15         "runtime lookup"
+;  V10 rat2         [V10,T07] (  3,  5.60)    long  ->  r15         "fgMakeTemp is creating a new local variable"
+;* V11 rat3         [V11,T06] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V12 rat4         [V12,T11] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V13 rat5         [V13,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;* V14 rat6         [V14,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V15 rat7         [V15,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V16 rat8         [V16,T12] (  3,  3   )     ref  ->  rax         "delegate invoke call"
+;* V17 rat9         [V17,T04] (  0,  0   )     ref  ->  zero-ref    "delegate invoke call"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 8
 
 G_M34024_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 16
-       lea      rbp, [rsp+0x30]
-       mov      qword ptr [rbp-0x28], rdi
+       push     rax
+       lea      rbp, [rsp+0x20]
+       mov      qword ptr [rbp-0x20], rdi
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=24 bbWeight=1 PerfScore 7.00
+                      ;; size=19 bbWeight=1 PerfScore 6.75
 G_M34024_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      edi, dword ptr [rbx+0x14]
        cmp      edi, 1
@@ -44,21 +48,19 @@ G_M34024_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
 G_M34024_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        cmp      edi, 2
        je       SHORT G_M34024_IG05
-       jmp      G_M34024_IG12
-                       ;; size=10 bbWeight=0.50 PerfScore 1.62
+       jmp      SHORT G_M34024_IG12
+                       ;; size=7 bbWeight=0.50 PerfScore 1.62
 G_M34024_IG04:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, gword ptr [rbx+0x18]
        ; gcrRegs +[rdi]
-       lea      r15, bword ptr [rbx+0x28]
-       ; byrRegs +[r15]
-       mov      rsi, r15
+       lea      rsi, bword ptr [rbx+0x28]
        ; byrRegs +[rsi]
        cmp      dword ptr [rdi], edi
        call     [System.Collections.Generic.List`1[System.__Canon]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.__Canon]:this]
        ; gcrRegs -[rdi]
-       ; byrRegs -[rsi r15]
+       ; byrRegs -[rsi]
        mov      dword ptr [rbx+0x14], 2
-                     ;; size=26 bbWeight=0.50 PerfScore 4.88
+                       ;; size=23 bbWeight=0.50 PerfScore 4.75
 G_M34024_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdi, qword ptr [rbx]
        mov      rsi, qword ptr [rdi+0x38]
@@ -76,19 +78,14 @@ G_M34024_IG07:        ; bbWeight=0.20, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      r15, rax
                        ;; size=18 bbWeight=0.20 PerfScore 0.30
 G_M34024_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       lea      rdi, bword ptr [rbx+0x28]
-       ; byrRegs +[rdi]
-       mov      r14, rdi
-       ; byrRegs +[r14]
        jmp      SHORT G_M34024_IG10
-                       ;; size=9 bbWeight=1 PerfScore 2.75
-G_M34024_IG09:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=4000 {r14}, byref, isz
-       ; byrRegs -[rdi]
-       mov      r13, gword ptr [rbx+0x30]
-       ; gcrRegs +[r13]
+                      ;; size=2 bbWeight=1 PerfScore 2.00
+G_M34024_IG09:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       mov      r14, gword ptr [rbx+0x30]
+       ; gcrRegs +[r14]
        mov      rax, gword ptr [rbx+0x20]
        ; gcrRegs +[rax]
-       mov      rsi, r13
+       mov      rsi, r14
        ; gcrRegs +[rsi]
        mov      rdi, gword ptr [rax+0x08]
        ; gcrRegs +[rdi]
@@ -96,59 +93,56 @@ G_M34024_IG09:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=4000 {r14},
        ; gcrRegs -[rax rsi rdi]
        test     eax, eax
        jne      SHORT G_M34024_IG14
-                      ;; size=22 bbWeight=2 PerfScore 21.00
-G_M34024_IG10:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=4000 {r14}, byref, isz
-       ; gcrRegs -[r13]
+                      ;; size=22 bbWeight=0.50 PerfScore 5.25
+G_M34024_IG10:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r14]
        mov      rsi, r15
-       mov      rdi, r14
+       lea      rdi, bword ptr [rbx+0x28]
        ; byrRegs +[rdi]
        call     [System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this]
        ; byrRegs -[rdi]
        test     eax, eax
        jne      SHORT G_M34024_IG09
-                      ;; size=16 bbWeight=4 PerfScore 19.00
-G_M34024_IG11:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       ; byrRegs -[r14]
+                      ;; size=17 bbWeight=1 PerfScore 5.00
+G_M34024_IG11:        ; bbWeight=0.12, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        xor      rdi, rdi
        ; gcrRegs +[rdi]
        mov      gword ptr [rbx+0x08], rdi
        mov      dword ptr [rbx+0x14], -1
-                     ;; size=13 bbWeight=0.50 PerfScore 1.12
+                       ;; size=13 bbWeight=0.12 PerfScore 0.28
 G_M34024_IG12:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M34024_IG13:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 16
+       add      rsp, 8
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 1.88
-G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[r13]
+                      ;; size=11 bbWeight=0.50 PerfScore 1.62
+G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs +[r14]
        lea      rdi, bword ptr [rbx+0x08]
        ; byrRegs +[rdi]
-       mov      rsi, r13
+       mov      rsi, r14
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
-       ; gcrRegs -[rsi r13]
+       ; gcrRegs -[rsi r14]
        ; byrRegs -[rdi]
        mov      eax, 1
                        ;; size=17 bbWeight=0.50 PerfScore 1.00
 G_M34024_IG15:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 16
+       add      rsp, 8
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 1.88
+                       ;; size=11 bbWeight=0.50 PerfScore 1.62
 
-; Total bytes of code 213, prolog size 21, PerfScore 76.65, instruction count 68, allocated bytes for code 213 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
+; Total bytes of code 192, prolog size 16, PerfScore 44.43, instruction count 62, allocated bytes for code 192 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -156,14 +150,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0C
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x07
+  CountOfUnwindCodes: 5
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0C UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
-    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r13 (13)
+    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
+    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
-2 (-1.90%) : 44768.dasm - System.Collections.Generic.HashSet`1+Enumerator[int]:MoveNext():ubyte:this (Tier1)
@@ -7,11 +7,12 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 13, 28   )   byref  ->  rdi         this single-def
-;  V01 loc0         [V01,T03] (  3,  4.50)   byref  ->  rcx        
-;  V02 loc1         [V02,T02] (  4,  8   )     int  ->  rcx        
+;  V00 this         [V00,T00] ( 12,  8.25)   byref  ->  rdi         this single-def
+;  V01 loc0         [V01,T03] (  3,  1   )   byref  ->  rcx        
+;  V02 loc1         [V02,T02] (  4,  1   )     int  ->  rcx        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T01] (  3, 12   )     ref  ->  rax         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V04 tmp1         [V04,T01] (  3,  1.50)     ref  ->  rax         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V05 cse0         [V05,T04] (  3,  2.50)     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -27,36 +28,35 @@ G_M21922_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byr
        cmp      eax, dword ptr [rcx+0x34]
        jne      SHORT G_M21922_IG10
                        ;; size=11 bbWeight=1 PerfScore 8.00
-G_M21922_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+G_M21922_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
        ; gcrRegs -[rcx]
        mov      eax, dword ptr [rdi+0x0C]
        mov      rcx, gword ptr [rdi]
        ; gcrRegs +[rcx]
-       cmp      eax, dword ptr [rcx+0x28]
-       jb       SHORT G_M21922_IG06
-                       ;; size=11 bbWeight=8 PerfScore 64.00
-G_M21922_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref
+       mov      ecx, dword ptr [rcx+0x28]
        ; gcrRegs -[rcx]
-       mov      rax, gword ptr [rdi]
-       ; gcrRegs +[rax]
-       mov      eax, dword ptr [rax+0x28]
-       ; gcrRegs -[rax]
-       inc      eax
-       mov      dword ptr [rdi+0x0C], eax
+       cmp      eax, ecx
+       jb       SHORT G_M21922_IG06
+                       ;; size=13 bbWeight=1 PerfScore 7.25
+G_M21922_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref
+       inc      ecx
+       mov      dword ptr [rdi+0x0C], ecx
        xor      eax, eax
        mov      dword ptr [rdi+0x10], eax
-                        ;; size=16 bbWeight=0.50 PerfScore 3.25
+                       ;; size=10 bbWeight=0.50 PerfScore 1.25
 G_M21922_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; byrRegs -[rdi]
        pop      rbp
        ret      
                        ;; size=2 bbWeight=0.50 PerfScore 0.75
-G_M21922_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, gcvars, byref, isz
+G_M21922_IG06:        ; bbWeight=0.25, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, gcvars, byref, isz
        ; byrRegs +[rdi]
-       mov      rax, gword ptr [rdi]
+       mov      rcx, gword ptr [rdi]
+       ; gcrRegs +[rcx]
+       mov      rax, gword ptr [rcx+0x10]
        ; gcrRegs +[rax]
-       mov      rax, gword ptr [rax+0x10]
        mov      ecx, dword ptr [rdi+0x0C]
+       ; gcrRegs -[rcx]
        lea      edx, [rcx+0x01]
        mov      dword ptr [rdi+0x0C], edx
        cmp      ecx, dword ptr [rax+0x08]
@@ -65,8 +65,9 @@ G_M21922_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        lea      rcx, bword ptr [rax+4*rcx+0x10]
        ; byrRegs +[rcx]
        cmp      dword ptr [rcx+0x04], -1
-       jl       SHORT G_M21922_IG03
-                       ;; size=36 bbWeight=2 PerfScore 34.00
+       jge      SHORT G_M21922_IG07
+       jmp      SHORT G_M21922_IG03
+                       ;; size=38 bbWeight=0.25 PerfScore 4.75
 G_M21922_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0082 {rcx rdi}, byref
        ; gcrRegs -[rax]
        mov      eax, dword ptr [rcx+0x08]
@@ -88,7 +89,7 @@ G_M21922_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 105, prolog size 4, PerfScore 113.62, instruction count 37, allocated bytes for code 105 (MethodHash=7a0aaa5d) for method System.Collections.Generic.HashSet`1+Enumerator[int]:MoveNext():ubyte:this (Tier1)
+; Total bytes of code 103, prolog size 4, PerfScore 25.62, instruction count 37, allocated bytes for code 103 (MethodHash=7a0aaa5d) for method System.Collections.Generic.HashSet`1+Enumerator[int]:MoveNext():ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
-2 (-1.79%) : 28521.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
@@ -7,12 +7,13 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 13, 28   )   byref  ->  rdi         this single-def
+;  V00 this         [V00,T00] ( 12,  8.25)   byref  ->  rdi         this single-def
 ;* V01 TypeCtx      [V01    ] (  0,  0   )    long  ->  zero-ref    single-def
-;  V02 loc0         [V02,T03] (  3,  4.50)   byref  ->  rsi        
-;  V03 loc1         [V03,T02] (  4,  8   )     int  ->  rsi        
+;  V02 loc0         [V02,T03] (  3,  1   )   byref  ->  rsi        
+;  V03 loc1         [V03,T02] (  4,  1   )     int  ->  rsi        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T01] (  3, 12   )     ref  ->  rax         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V05 tmp1         [V05,T01] (  3,  1.50)     ref  ->  rax         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V06 cse0         [V06,T04] (  3,  2.50)     int  ->  rsi         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -28,38 +29,37 @@ G_M27287_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byr
        cmp      eax, dword ptr [rsi+0x34]
        jne      SHORT G_M27287_IG10
                        ;; size=11 bbWeight=1 PerfScore 8.00
-G_M27287_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+G_M27287_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
        ; gcrRegs -[rsi]
        mov      eax, dword ptr [rdi+0x14]
        mov      rsi, gword ptr [rdi]
        ; gcrRegs +[rsi]
-       cmp      eax, dword ptr [rsi+0x28]
-       jb       SHORT G_M27287_IG06
-                       ;; size=11 bbWeight=8 PerfScore 64.00
-G_M27287_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref
+       mov      esi, dword ptr [rsi+0x28]
        ; gcrRegs -[rsi]
-       mov      rax, gword ptr [rdi]
-       ; gcrRegs +[rax]
-       mov      eax, dword ptr [rax+0x28]
-       ; gcrRegs -[rax]
-       inc      eax
-       mov      dword ptr [rdi+0x14], eax
+       cmp      eax, esi
+       jb       SHORT G_M27287_IG06
+                       ;; size=13 bbWeight=1 PerfScore 7.25
+G_M27287_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref
+       inc      esi
+       mov      dword ptr [rdi+0x14], esi
        xor      rax, rax
        ; gcrRegs +[rax]
        mov      gword ptr [rdi+0x08], rax
-                        ;; size=17 bbWeight=0.50 PerfScore 3.25
+                       ;; size=11 bbWeight=0.50 PerfScore 1.25
 G_M27287_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rax]
        ; byrRegs -[rdi]
        pop      rbp
        ret      
                        ;; size=2 bbWeight=0.50 PerfScore 0.75
-G_M27287_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, gcvars, byref, isz
+G_M27287_IG06:        ; bbWeight=0.25, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, gcvars, byref, isz
        ; byrRegs +[rdi]
-       mov      rax, gword ptr [rdi]
+       mov      rsi, gword ptr [rdi]
+       ; gcrRegs +[rsi]
+       mov      rax, gword ptr [rsi+0x10]
        ; gcrRegs +[rax]
-       mov      rax, gword ptr [rax+0x10]
        mov      esi, dword ptr [rdi+0x14]
+       ; gcrRegs -[rsi]
        lea      ecx, [rsi+0x01]
        mov      dword ptr [rdi+0x14], ecx
        cmp      esi, dword ptr [rax+0x08]
@@ -68,8 +68,9 @@ G_M27287_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        lea      rsi, bword ptr [rax+rsi+0x10]
        ; byrRegs +[rsi]
        cmp      dword ptr [rsi+0x0C], -1
-       jl       SHORT G_M27287_IG03
-                       ;; size=36 bbWeight=2 PerfScore 34.00
+       jge      SHORT G_M27287_IG07
+       jmp      SHORT G_M27287_IG03
+                       ;; size=38 bbWeight=0.25 PerfScore 4.75
 G_M27287_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=00C0 {rsi rdi}, byref
        ; gcrRegs -[rax]
        mov      rsi, gword ptr [rsi]
@@ -95,7 +96,7 @@ G_M27287_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 112, prolog size 4, PerfScore 113.88, instruction count 38, allocated bytes for code 112 (MethodHash=08a69568) for method System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
+; Total bytes of code 110, prolog size 4, PerfScore 25.88, instruction count 38, allocated bytes for code 110 (MethodHash=08a69568) for method System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+42 (+67.74%) : 46055.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (Tier1)
@@ -9,10 +9,10 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T03] (  3,  3   )     ref  ->  rdi         class-hnd single-def <Microsoft.CodeAnalysis.SyntaxNode>
-;  V01 loc0         [V01,T00] (  6, 18   )     ref  ->  rdi         class-hnd <Microsoft.CodeAnalysis.SyntaxNode>
+;  V01 loc0         [V01,T00] ( 10, 22   )     ref  ->  rdi         class-hnd <Microsoft.CodeAnalysis.SyntaxNode>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T02] (  3,  6   )  ushort  ->  rax         "Inline return value spill temp"
-;  V04 tmp2         [V04,T01] (  3, 10   )     int  ->  rax         "Inline stloc first use temp"
+;  V03 tmp1         [V03,T02] (  6,  7.50)  ushort  ->  rax         "Inline return value spill temp"
+;  V04 tmp2         [V04,T01] (  6, 12.50)     int  ->  rax         "Inline stloc first use temp"
 ;* V05 tmp3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
 ;* V06 tmp4         [V06,T04] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;
@@ -25,45 +25,63 @@ G_M65070_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
 G_M65070_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       SHORT G_M65070_IG06
-                       ;; size=5 bbWeight=1 PerfScore 1.25
-G_M65070_IG03:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M65070_IG08
        mov      rax, gword ptr [rdi+0x18]
        ; gcrRegs +[rax]
        movzx    rax, word  ptr [rax+0x0C]
        ; gcrRegs -[rax]
        lea      ecx, [rax-0x02]
        cmp      ecx, 0x1FFE
-       jbe      SHORT G_M65070_IG05
-                       ;; size=19 bbWeight=4 PerfScore 23.00
-G_M65070_IG04:        ; bbWeight=2, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       jbe      SHORT G_M65070_IG04
+                       ;; size=24 bbWeight=1 PerfScore 7.00
+G_M65070_IG03:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        cmp      eax, 0x2160
-       je       SHORT G_M65070_IG08
+       je       SHORT G_M65070_IG10
        cmp      eax, 0x2161
-       je       SHORT G_M65070_IG08
-                       ;; size=14 bbWeight=2 PerfScore 5.00
-G_M65070_IG05:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M65070_IG10
+                       ;; size=14 bbWeight=0.50 PerfScore 1.25
+G_M65070_IG04:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rdi+0x08]
        test     rdi, rdi
-       jne      SHORT G_M65070_IG03
+       je       SHORT G_M65070_IG08
+                       ;; size=9 bbWeight=1 PerfScore 3.25
+G_M65070_IG05:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       mov      rax, gword ptr [rdi+0x18]
+       ; gcrRegs +[rax]
+       movzx    rax, word  ptr [rax+0x0C]
+       ; gcrRegs -[rax]
+       lea      ecx, [rax-0x02]
+       cmp      ecx, 0x1FFE
+       jbe      SHORT G_M65070_IG07
+                       ;; size=19 bbWeight=4 PerfScore 23.00
+G_M65070_IG06:        ; bbWeight=2, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       cmp      eax, 0x2160
+       je       SHORT G_M65070_IG10
+       cmp      eax, 0x2161
+       je       SHORT G_M65070_IG10
+                       ;; size=14 bbWeight=2 PerfScore 5.00
+G_M65070_IG07:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       mov      rdi, gword ptr [rdi+0x08]
+       test     rdi, rdi
+       jne      SHORT G_M65070_IG05
                         ;; size=9 bbWeight=4 PerfScore 13.00
-G_M65070_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M65070_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M65070_IG07:        ; bbWeight=0.50, epilog, nogc, extend
-       pop      rbp
-       ret      
-                       ;; size=2 bbWeight=0.50 PerfScore 0.75
-G_M65070_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       mov      eax, 1
-                       ;; size=5 bbWeight=0.50 PerfScore 0.12
 G_M65070_IG09:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=2 bbWeight=0.50 PerfScore 0.75
+G_M65070_IG10:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       mov      eax, 1
+                       ;; size=5 bbWeight=0.50 PerfScore 0.12
+G_M65070_IG11:        ; bbWeight=0.50, epilog, nogc, extend
+       pop      rbp
+       ret      
+                       ;; size=2 bbWeight=0.50 PerfScore 0.75
 
-; Total bytes of code 62, prolog size 4, PerfScore 45.25, instruction count 22, allocated bytes for code 62 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (Tier1)
+; Total bytes of code 104, prolog size 4, PerfScore 55.50, instruction count 34, allocated bytes for code 104 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+41 (+68.33%) : 52834.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:g_SumFrequencies|32(ushort[]):float (Tier1)
@@ -9,10 +9,10 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T04] (  3,  3   )     ref  ->  rdi         class-hnd single-def <ushort[]>
-;  V01 loc0         [V01,T05] (  4,  6   )   float  ->  mm0        
-;  V02 loc1         [V02,T02] (  3,  6   )     ref  ->  rdi         class-hnd single-def <ushort[]>
-;  V03 loc2         [V03,T00] (  5, 17   )     int  ->  rax        
-;  V04 loc3         [V04,T01] (  3, 10   )  ushort  ->  rdx        
+;  V01 loc0         [V01,T05] (  5,  6.50)   float  ->  mm0        
+;  V02 loc1         [V02,T02] (  4,  7   )     ref  ->  rdi         class-hnd single-def <ushort[]>
+;  V03 loc2         [V03,T00] (  5, 17   )     int  ->  rcx        
+;  V04 loc3         [V04,T01] (  6, 12.50)  ushort  ->  registers  
 ;* V05 loc4         [V05    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[float]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[float]>
@@ -20,7 +20,7 @@
 ;* V09 tmp3         [V09    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V10 tmp4         [V10    ] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
 ;* V11 tmp5         [V11    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
-;  V12 cse0         [V12,T03] (  3,  6   )     int  ->  rcx         "CSE - aggressive"
+;  V12 cse0         [V12,T03] (  4,  7   )     int  ->  rax         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -32,34 +32,47 @@ G_M18410_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M18410_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
        vxorps   xmm0, xmm0, xmm0
-       xor      eax, eax
-       mov      ecx, dword ptr [rdi+0x08]
-       test     ecx, ecx
-       jle      SHORT G_M18410_IG06
-                       ;; size=13 bbWeight=1 PerfScore 3.83
-G_M18410_IG03:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
-       mov      edx, eax
+       mov      eax, dword ptr [rdi+0x08]
+       test     eax, eax
+       jle      SHORT G_M18410_IG08
+       movzx    rcx, word  ptr [rdi+0x10]
+       cmp      ecx, 128
+       jge      SHORT G_M18410_IG04
+                       ;; size=23 bbWeight=1 PerfScore 6.83
+G_M18410_IG03:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+       mov      ecx, ecx
+       mov      rdx, 0xD1FFAB1E      ; static handle
+       vxorps   xmm0, xmm0, xmm0
+       vaddss   xmm0, xmm0, dword ptr [rdx+4*rcx]
+                       ;; size=21 bbWeight=0.50 PerfScore 3.42
+G_M18410_IG04:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       mov      ecx, 1
+       cmp      eax, 1
+       jle      SHORT G_M18410_IG08
+                       ;; size=10 bbWeight=1 PerfScore 1.50
+G_M18410_IG05:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       mov      edx, ecx
        movzx    rdx, word  ptr [rdi+2*rdx+0x10]
        cmp      edx, 128
-       jge      SHORT G_M18410_IG05
+       jge      SHORT G_M18410_IG07
                      ;; size=15 bbWeight=4 PerfScore 14.00
-G_M18410_IG04:        ; bbWeight=2, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M18410_IG06:        ; bbWeight=2, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        mov      edx, edx
        mov      rsi, 0xD1FFAB1E      ; static handle
        vaddss   xmm0, xmm0, dword ptr [rsi+4*rdx]
                        ;; size=17 bbWeight=2 PerfScore 13.00
-G_M18410_IG05:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
-       inc      eax
-       cmp      ecx, eax
-       jg       SHORT G_M18410_IG03
+G_M18410_IG07:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       inc      ecx
+       cmp      eax, ecx
+       jg       SHORT G_M18410_IG05
                         ;; size=6 bbWeight=4 PerfScore 6.00
-G_M18410_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M18410_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rdi]
        pop      rbp
        ret      
                        ;; size=2 bbWeight=1 PerfScore 1.50
 
-; Total bytes of code 60, prolog size 7, PerfScore 40.58, instruction count 20, allocated bytes for code 60 (MethodHash=6cbdb815) for method System.Text.RegularExpressions.RegexPrefixAnalyzer:<SortFixedDistanceSetsByQuality>g__SumFrequencies|3_2(ushort[]):float (Tier1)
+; Total bytes of code 101, prolog size 7, PerfScore 48.50, instruction count 29, allocated bytes for code 101 (MethodHash=6cbdb815) for method System.Text.RegularExpressions.RegexPrefixAnalyzer:<SortFixedDistanceSetsByQuality>g__SumFrequencies|3_2(ushort[]):float (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+47 (+70.15%) : 11386.dasm - System.Threading.ThreadPoolWorkQueueThreadLocals:TransferLocalWork():this (Tier1)
@@ -8,57 +8,88 @@
 ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  4, 14   )     ref  ->  rbx         this class-hnd single-def <System.Threading.ThreadPoolWorkQueueThreadLocals>
+;  V00 this         [V00,T02] (  6, 16   )     ref  ->  rbx         this class-hnd single-def <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Object>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T02] (  4, 16   )     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.Object>
-;  V04 tmp2         [V04,T00] (  4, 52   )     ref  ->  rdi         class-hnd exact "Inlining Arg" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
+;  V03 tmp1         [V03,T01] (  8, 18.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.Object>
+;  V04 tmp2         [V04,T00] (  8, 58.50)     ref  ->  rdi         class-hnd exact "Inlining Arg" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;
 ; Lcl frame size = 8
 
-G_M18211_IG01:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+G_M18211_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     rbx
        push     rax
        lea      rbp, [rsp+0x10]
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=11 bbWeight=8 PerfScore 30.00
-G_M18211_IG02:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=11 bbWeight=1 PerfScore 3.75
+G_M18211_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rbx+0x18]
        ; gcrRegs +[rdi]
        mov      eax, dword ptr [rdi+0x14]
        cmp      eax, dword ptr [rdi+0x18]
        jl       SHORT G_M18211_IG04
-                      ;; size=12 bbWeight=8 PerfScore 64.00
-G_M18211_IG03:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=12 bbWeight=1 PerfScore 8.00
+G_M18211_IG03:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdi]
        xor      rsi, rsi
        ; gcrRegs +[rsi]
        jmp      SHORT G_M18211_IG05
-                      ;; size=4 bbWeight=2 PerfScore 4.50
-G_M18211_IG04:        ; bbWeight=2, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
+                       ;; size=4 bbWeight=0.25 PerfScore 0.56
+G_M18211_IG04:        ; bbWeight=0.25, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rsi] +[rdi]
        call     [<unknown method>]
        ; gcrRegs -[rdi] +[rax]
        mov      rsi, rax
        ; gcrRegs +[rsi]
-                      ;; size=9 bbWeight=2 PerfScore 6.50
-G_M18211_IG05:        ; bbWeight=8, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+                      ;; size=9 bbWeight=0.25 PerfScore 0.81
+G_M18211_IG05:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
        test     rsi, rsi
-       je       SHORT G_M18211_IG07
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M18211_IG06:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M18211_IG11
        mov      rdi, gword ptr [rbx+0x10]
        ; gcrRegs +[rdi]
        mov      edx, 1
        cmp      dword ptr [rdi], edi
        call     [System.Threading.ThreadPoolWorkQueue:Enqueue(System.Object,ubyte):this]
        ; gcrRegs -[rsi rdi]
-       jmp      SHORT G_M18211_IG02
+                     ;; size=22 bbWeight=1 PerfScore 9.50
+G_M18211_IG06:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       mov      rdi, gword ptr [rbx+0x18]
+       ; gcrRegs +[rdi]
+       mov      eax, dword ptr [rdi+0x14]
+       cmp      eax, dword ptr [rdi+0x18]
+       jl       SHORT G_M18211_IG08
+                       ;; size=12 bbWeight=8 PerfScore 64.00
+G_M18211_IG07:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rdi]
+       xor      rsi, rsi
+       ; gcrRegs +[rsi]
+       jmp      SHORT G_M18211_IG09
+                       ;; size=4 bbWeight=2 PerfScore 4.50
+G_M18211_IG08:        ; bbWeight=2, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rsi] +[rdi]
+       call     [<unknown method>]
+       ; gcrRegs -[rdi] +[rax]
+       mov      rsi, rax
+       ; gcrRegs +[rsi]
+                       ;; size=9 bbWeight=2 PerfScore 6.50
+G_M18211_IG09:        ; bbWeight=8, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
+       test     rsi, rsi
+       je       SHORT G_M18211_IG11
+                       ;; size=5 bbWeight=8 PerfScore 10.00
+G_M18211_IG10:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+       mov      rdi, gword ptr [rbx+0x10]
+       ; gcrRegs +[rdi]
+       mov      edx, 1
+       cmp      dword ptr [rdi], edi
+       call     [System.Threading.ThreadPoolWorkQueue:Enqueue(System.Object,ubyte):this]
+       ; gcrRegs -[rsi rdi]
+       jmp      SHORT G_M18211_IG06
                         ;; size=19 bbWeight=4 PerfScore 41.00
-G_M18211_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M18211_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rbx]
        add      rsp, 8
        pop      rbx
@@ -66,7 +97,7 @@ G_M18211_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ret      
                        ;; size=7 bbWeight=1 PerfScore 2.25
 
-; Total bytes of code 67, prolog size 8, PerfScore 158.25, instruction count 24, allocated bytes for code 67 (MethodHash=29cdb8dc) for method System.Threading.ThreadPoolWorkQueueThreadLocals:TransferLocalWork():this (Tier1)
+; Total bytes of code 114, prolog size 8, PerfScore 150.88, instruction count 38, allocated bytes for code 114 (MethodHash=29cdb8dc) for method System.Threading.ThreadPoolWorkQueueThreadLocals:TransferLocalWork():this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
  
coreclr_tests.run.linux.x64.checked.mch
-40 (-59.70%) : 541428.dasm - foo:Main():int (FullOpts)
@@ -7,53 +7,29 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T00] (  5, 14   )     int  ->  rdi        
+;* V00 loc0         [V00,T00] (  0,  0   )     int  ->  zero-ref   
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
 
-G_M24869_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
+G_M24869_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        mov      rbp, rsp
                        ;; size=4 bbWeight=1 PerfScore 1.25
 G_M24869_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       mov      edi, 1
-                       ;; size=5 bbWeight=1 PerfScore 0.25
-G_M24869_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      edi
-       cmp      edi, 2
-       jl       SHORT G_M24869_IG03
-                       ;; size=7 bbWeight=4 PerfScore 6.00
-G_M24869_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       cmp      edi, 2
-       je       SHORT G_M24869_IG07
-                       ;; size=5 bbWeight=1 PerfScore 1.25
-G_M24869_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       mov      rdi, 0xD1FFAB1E
-       ; gcrRegs +[rdi]
-       call     [<unknown method>]
-       ; gcrRegs -[rdi]
-       ; gcr arg pop 0
-       mov      eax, 101
-                       ;; size=21 bbWeight=0.50 PerfScore 1.75
-G_M24869_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-       pop      rbp
-       ret      
-                       ;; size=2 bbWeight=0.50 PerfScore 0.75
-G_M24869_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        mov      rdi, 0xD1FFAB1E
        ; gcrRegs +[rdi]
        call     [<unknown method>]
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
        mov      eax, 100
-                     ;; size=21 bbWeight=0.50 PerfScore 1.75
-G_M24869_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+                      ;; size=21 bbWeight=1 PerfScore 3.50
+G_M24869_IG03:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
-                     ;; size=2 bbWeight=0.50 PerfScore 0.75
+                        ;; size=2 bbWeight=1 PerfScore 1.50
 
-; Total bytes of code 67, prolog size 4, PerfScore 13.75, instruction count 18, allocated bytes for code 67 (MethodHash=945a9eda) for method foo:Main():int (FullOpts)
+; Total bytes of code 27, prolog size 4, PerfScore 6.25, instruction count 7, allocated bytes for code 27 (MethodHash=945a9eda) for method foo:Main():int (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
-39 (-23.49%) : 502149.dasm - Benchstone.BenchI.BubbleSort2:Bench():ubyte (FullOpts)
@@ -7,14 +7,12 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T02] (  9, 35.92)     ref  ->  rbx         class-hnd exact single-def <int[]>
-;  V01 loc1         [V01,T00] ( 12, 65.84)     int  ->  rax        
-;  V02 loc2         [V02,T01] (  8, 43   )     int  ->  rdi        
-;* V03 loc3         [V03,T06] (  0,  0   )     int  ->  zero-ref    single-def
+;  V00 loc0         [V00,T01] ( 10, 15.92)     ref  ->  rbx         class-hnd exact single-def <int[]>
+;  V01 loc1         [V01,T00] (  5, 16.84)     int  ->  rax        
+;  V02 loc2         [V02,T03] (  3,  3   )     int  ->  rdi        
+;* V03 loc3         [V03,T04] (  0,  0   )     int  ->  zero-ref    single-def
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 cse0         [V05,T03] (  2, 16   )     int  ->  rcx         "CSE - aggressive"
-;  V06 cse1         [V06,T04] (  2, 16   )     int  ->  rcx         "CSE - aggressive"
-;  V07 cse2         [V07,T05] (  3, 11.88)     int  ->  rax         "CSE - aggressive"
+;  V05 cse0         [V05,T02] (  3, 11.88)     int  ->  rax         "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
@@ -24,7 +22,7 @@ G_M42106_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        push     rax
        lea      rbp, [rsp+0x10]
                        ;; size=8 bbWeight=1 PerfScore 3.50
-G_M42106_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42106_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        mov      rdi, 0xD1FFAB1E      ; int[]
        mov      esi, 6
        call     CORINFO_HELP_NEWARR_1_VC
@@ -32,69 +30,53 @@ G_M42106_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcr arg pop 0
        mov      rbx, rax
        ; gcrRegs +[rbx]
-       mov      edi, 0x1869F
-       mov      eax, 1
-       ; gcrRegs -[rax]
-                       ;; size=33 bbWeight=1 PerfScore 2.25
-G_M42106_IG03:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      ecx, eax
-       mov      edx, edi
-       and      edx, 0x7FFF
-       mov      dword ptr [rbx+4*rcx+0x10], edx
-       lea      ecx, [rax+0x01]
-       lea      edx, [rdi+0x2B67]
-       and      edx, 0x7FFF
-       mov      dword ptr [rbx+4*rcx+0x10], edx
-       lea      ecx, [rax+0x02]
-       lea      edx, [rdi+0x56CE]
-       and      edx, 0x7FFF
-       mov      dword ptr [rbx+4*rcx+0x10], edx
-       add      edi, 0x8235
-       add      eax, 3
-       cmp      eax, 3
-       jle      SHORT G_M42106_IG03
-                       ;; size=66 bbWeight=8 PerfScore 64.00
-G_M42106_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       mov      dword ptr [rbx+0x14], 0x69F
+       mov      rdi, 0xD1FFAB1E
+       mov      qword ptr [rbx+0x18], rdi
+       mov      edi, 0x208D4
        mov      dword ptr [rbx+0x20], edi
        mov      dword ptr [rbx+0x24], edi
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        call     [Benchstone.BenchI.BubbleSort2:Inner(int[])]
-       ; gcrRegs -[rdi]
+       ; gcrRegs -[rax rdi]
        ; gcr arg pop 0
-       xor      eax, eax
-                       ;; size=17 bbWeight=1 PerfScore 5.50
-G_M42106_IG05:        ; bbWeight=3.96, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       mov      eax, dword ptr [rbx+0x10]
+       cmp      eax, dword ptr [rbx+0x14]
+       jg       SHORT G_M42106_IG06
+       mov      eax, 1
+                       ;; size=77 bbWeight=1 PerfScore 15.75
+G_M42106_IG03:        ; bbWeight=3.96, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      ecx, eax
        mov      ecx, dword ptr [rbx+4*rcx+0x10]
        inc      eax
        mov      edx, eax
        cmp      ecx, dword ptr [rbx+4*rdx+0x10]
-       jg       SHORT G_M42106_IG08
+       jg       SHORT G_M42106_IG06
        cmp      eax, 4
-       jl       SHORT G_M42106_IG05
+       jl       SHORT G_M42106_IG03
                       ;; size=21 bbWeight=3.96 PerfScore 31.68
-G_M42106_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42106_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
        mov      eax, 1
                        ;; size=5 bbWeight=1 PerfScore 0.25
+G_M42106_IG05:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
+       pop      rbx
+       pop      rbp
+       ret      
+                       ;; size=7 bbWeight=0.50 PerfScore 1.12
+G_M42106_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       xor      eax, eax
+                       ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M42106_IG07:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 8
        pop      rbx
        pop      rbp
        ret      
                        ;; size=7 bbWeight=0.50 PerfScore 1.12
-G_M42106_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       xor      eax, eax
-                       ;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M42106_IG09:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 8
-       pop      rbx
-       pop      rbp
-       ret      
-                       ;; size=7 bbWeight=0.50 PerfScore 1.12
 
-; Total bytes of code 166, prolog size 8, PerfScore 109.55, instruction count 49, allocated bytes for code 166 (MethodHash=86305b85) for method Benchstone.BenchI.BubbleSort2:Bench():ubyte (FullOpts)
+; Total bytes of code 127, prolog size 8, PerfScore 53.55, instruction count 38, allocated bytes for code 127 (MethodHash=86305b85) for method Benchstone.BenchI.BubbleSort2:Bench():ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
-11 (-15.71%) : 284409.dasm - Test_b99969:DoSpoof() (Tier1-OSR)
@@ -10,7 +10,8 @@
 ; Final local variable assignments
 ;
 ;# V00 OutArgs      [V00    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V01 cse0         [V01,T00] (  2,  2   )     ref  ->  rax         hoist "CSE - aggressive"
+;  V01 cse0         [V01,T01] (  2,  2   )     ref  ->  rcx         hoist "CSE - aggressive"
+;  V02 cse1         [V02,T00] (  5,  3   )    long  ->  rax         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -19,34 +20,34 @@ G_M19890_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        push     rax
        mov      rbp, rsp
                        ;; size=8 bbWeight=1 PerfScore 3.25
-G_M19890_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M19890_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        mov      rax, 0xD1FFAB1E      ; static handle
-       mov      rax, gword ptr [rax]
-       ; gcrRegs +[rax]
-                       ;; size=13 bbWeight=1 PerfScore 2.25
-G_M19890_IG03:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       cmp      byte  ptr [rax+0x0D], 0
+       mov      rcx, gword ptr [rax]
+       ; gcrRegs +[rcx]
+       cmp      byte  ptr [rcx+0x0D], 0
+       jne      SHORT G_M19890_IG04
+       mov      rcx, gword ptr [rax]
+                       ;; size=22 bbWeight=1 PerfScore 8.25
+G_M19890_IG03:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       cmp      byte  ptr [rcx+0x0D], 0
        je       SHORT G_M19890_IG03
                        ;; size=6 bbWeight=1 PerfScore 4.00
 G_M19890_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rax]
-       mov      rax, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
-       mov      rax, gword ptr [rax]
-       ; gcrRegs +[rax]
-       mov      dword ptr [rax+0x08], 0xD1FFAB1E
-       mov      rax, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
-       ; gcrRegs -[rax]
+       ; gcrRegs -[rcx]
+       mov      rcx, gword ptr [rax]
+       ; gcrRegs +[rcx]
+       mov      dword ptr [rcx+0x08], 0xD1FFAB1E
        mov      rax, gword ptr [rax]
        ; gcrRegs +[rax]
        mov      byte  ptr [rax+0x0C], 1
-                      ;; size=37 bbWeight=0 PerfScore 0.00
+                      ;; size=17 bbWeight=0 PerfScore 0.00
 G_M19890_IG05:        ; bbWeight=0, epilog, nogc, extend
        add      rsp, 64
        pop      rbp
        ret      
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 70, prolog size 8, PerfScore 9.50, instruction count 16, allocated bytes for code 70 (MethodHash=bd6db24d) for method Test_b99969:DoSpoof() (Tier1-OSR)
+; Total bytes of code 59, prolog size 8, PerfScore 15.50, instruction count 17, allocated bytes for code 59 (MethodHash=bd6db24d) for method Test_b99969:DoSpoof() (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
  
+37 (+108.82%) : 591310.dasm - OVFTest:Test_long(long):long (FullOpts)
@@ -7,30 +7,42 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  4, 18   )    long  ->  rdi        
+;  V00 arg0         [V00,T01] (  6, 20   )    long  ->  rdi        
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V02 tmp1         [V02,T00] (  2, 32   )    long  ->  rdi         "arg temp"
+;  V02 tmp1         [V02,T00] (  4, 36   )    long  ->  rdi         "arg temp"
+;  V03 cse0         [V03,T02] (  3, 10   )  double  ->  [rbp-0x08]  spill-single-def "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M47121_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
+       sub      rsp, 16
        vzeroupper 
-       mov      rbp, rsp
-                       ;; size=7 bbWeight=1 PerfScore 2.25
-G_M47121_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       lea      rbp, [rsp+0x10]
+                       ;; size=13 bbWeight=1 PerfScore 2.75
+G_M47121_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        vxorps   xmm0, xmm0, xmm0
        vcvtsi2sd xmm0, xmm0, rdi
-       vmulsd   xmm0, xmm0, qword ptr [reloc @RWD00]
+       vmovsd   xmm1, qword ptr [reloc @RWD00]
+       vmovsd   qword ptr [rbp-0x08], xmm1
+       vmulsd   xmm0, xmm0, xmm1
        call     CORINFO_HELP_DBL2LNG_OVF
        ; gcr arg pop 0
        mov      rdi, rax
-       jmp      SHORT G_M47121_IG02
-                       ;; size=27 bbWeight=8 PerfScore 116.67
+                        ;; size=34 bbWeight=1 PerfScore 14.58
+G_M47121_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       vxorps   xmm0, xmm0, xmm0
+       vcvtsi2sd xmm0, xmm0, rdi
+       vmulsd   xmm0, xmm0, qword ptr [rbp-0x08]
+       call     CORINFO_HELP_DBL2LNG_OVF
+       ; gcr arg pop 0
+       mov      rdi, rax
+       jmp      SHORT G_M47121_IG03
+                       ;; size=24 bbWeight=8 PerfScore 116.67
 RWD00     dq  4000000000000000h   ;            2
 
 
-; Total bytes of code 34, prolog size 7, PerfScore 118.92, instruction count 9, allocated bytes for code 34 (MethodHash=332247ee) for method OVFTest:Test_long(long):long (FullOpts)
+; Total bytes of code 71, prolog size 13, PerfScore 134.00, instruction count 17, allocated bytes for code 71 (MethodHash=332247ee) for method OVFTest:Test_long(long):long (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -38,9 +50,10 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x01
-  CountOfUnwindCodes: 1
+  SizeOfProlog      : 0x05
+  CountOfUnwindCodes: 2
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
+    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
+35 (+109.38%) : 591308.dasm - OVFTest:Test_int(int):int (FullOpts)
@@ -7,30 +7,42 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  4, 18   )     int  ->  rdi        
+;  V00 arg0         [V00,T01] (  6, 20   )     int  ->  rdi        
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V02 tmp1         [V02,T00] (  2, 32   )     int  ->  rdi         "arg temp"
+;  V02 tmp1         [V02,T00] (  4, 36   )     int  ->  rdi         "arg temp"
+;  V03 cse0         [V03,T02] (  3, 10   )  double  ->  [rbp-0x08]  spill-single-def "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M40488_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
+       sub      rsp, 16
        vzeroupper 
-       mov      rbp, rsp
-                       ;; size=7 bbWeight=1 PerfScore 2.25
-G_M40488_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       lea      rbp, [rsp+0x10]
+                       ;; size=13 bbWeight=1 PerfScore 2.75
+G_M40488_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        vxorps   xmm0, xmm0, xmm0
        vcvtsi2sd xmm0, xmm0, edi
-       vmulsd   xmm0, xmm0, qword ptr [reloc @RWD00]
+       vmovsd   xmm1, qword ptr [reloc @RWD00]
+       vmovsd   qword ptr [rbp-0x08], xmm1
+       vmulsd   xmm0, xmm0, xmm1
        call     CORINFO_HELP_DBL2INT_OVF
        ; gcr arg pop 0
        mov      edi, eax
-       jmp      SHORT G_M40488_IG02
-                       ;; size=25 bbWeight=8 PerfScore 116.67
+                        ;; size=32 bbWeight=1 PerfScore 14.58
+G_M40488_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       vxorps   xmm0, xmm0, xmm0
+       vcvtsi2sd xmm0, xmm0, edi
+       vmulsd   xmm0, xmm0, qword ptr [rbp-0x08]
+       call     CORINFO_HELP_DBL2INT_OVF
+       ; gcr arg pop 0
+       mov      edi, eax
+       jmp      SHORT G_M40488_IG03
+                       ;; size=22 bbWeight=8 PerfScore 116.67
 RWD00     dq  4000000000000000h   ;            2
 
 
-; Total bytes of code 32, prolog size 7, PerfScore 118.92, instruction count 9, allocated bytes for code 32 (MethodHash=9c2161d7) for method OVFTest:Test_int(int):int (FullOpts)
+; Total bytes of code 67, prolog size 13, PerfScore 134.00, instruction count 17, allocated bytes for code 67 (MethodHash=9c2161d7) for method OVFTest:Test_int(int):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -38,9 +50,10 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x01
-  CountOfUnwindCodes: 1
+  SizeOfProlog      : 0x05
+  CountOfUnwindCodes: 2
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
+    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
+34 (+109.68%) : 591311.dasm - OVFTest:Test_ulong(ulong):ulong (FullOpts)
@@ -7,29 +7,40 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  4, 18   )    long  ->  rdi        
+;  V00 arg0         [V00,T01] (  6, 20   )    long  ->  rdi        
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V02 tmp1         [V02,T00] (  2, 32   )    long  ->  rdi         "arg temp"
+;  V02 tmp1         [V02,T00] (  4, 36   )    long  ->  rdi         "arg temp"
+;  V03 cse0         [V03,T02] (  3, 10   )  double  ->  [rbp-0x08]  spill-single-def "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M40740_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
+       sub      rsp, 16
        vzeroupper 
-       mov      rbp, rsp
-                       ;; size=7 bbWeight=1 PerfScore 2.25
-G_M40740_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       lea      rbp, [rsp+0x10]
+                       ;; size=13 bbWeight=1 PerfScore 2.75
+G_M40740_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        vcvtusi2sd xmm0, rdi
-       vmulsd   xmm0, xmm0, qword ptr [reloc @RWD00]
+       vmovsd   xmm1, qword ptr [reloc @RWD00]
+       vmovsd   qword ptr [rbp-0x08], xmm1
+       vmulsd   xmm0, xmm0, xmm1
        call     CORINFO_HELP_DBL2ULNG_OVF
        ; gcr arg pop 0
        mov      rdi, rax
-       jmp      SHORT G_M40740_IG02
-                       ;; size=24 bbWeight=8 PerfScore 98.00
+                     ;; size=31 bbWeight=1 PerfScore 12.25
+G_M40740_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       vcvtusi2sd xmm0, rdi
+       vmulsd   xmm0, xmm0, qword ptr [rbp-0x08]
+       call     CORINFO_HELP_DBL2ULNG_OVF
+       ; gcr arg pop 0
+       mov      rdi, rax
+       jmp      SHORT G_M40740_IG03
+                       ;; size=21 bbWeight=8 PerfScore 98.00
 RWD00      dq  4000000000000000h   ;            2
 
 
-; Total bytes of code 31, prolog size 7, PerfScore 100.25, instruction count 8, allocated bytes for code 31 (MethodHash=390d60db) for method OVFTest:Test_ulong(ulong):ulong (FullOpts)
+; Total bytes of code 65, prolog size 13, PerfScore 113.00, instruction count 15, allocated bytes for code 65 (MethodHash=390d60db) for method OVFTest:Test_ulong(ulong):ulong (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -37,9 +48,10 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x01
-  CountOfUnwindCodes: 1
+  SizeOfProlog      : 0x05
+  CountOfUnwindCodes: 2
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
+    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
  
libraries.crossgen2.linux.x64.checked.mch
-14 (-8.54%) : 123472.dasm - Internal.TypeSystem.DefType:get_IsRuntimeDeterminedSubtype():ubyte:this (FullOpts)
@@ -9,35 +9,32 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  6,  4.50)     ref  ->  rbx         this class-hnd single-def <Internal.TypeSystem.DefType>
+;  V00 this         [V00,T03] (  6,  4.50)     ref  ->  rbx         this class-hnd single-def <Internal.TypeSystem.DefType>
 ;* V01 loc0         [V01    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <Internal.TypeSystem.Instantiation+Enumerator>
 ;* V02 loc1         [V02    ] (  0,  0   )  struct ( 8) zero-ref    multireg-ret ld-addr-op single-def <Internal.TypeSystem.Instantiation>
 ;* V03 loc2         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <Internal.TypeSystem.TypeDesc>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T06] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V05 tmp1         [V05,T05] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V06 tmp2         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <Internal.TypeSystem.Instantiation+Enumerator>
 ;* V07 tmp3         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Internal.TypeSystem.TypeDesc[]>
-;* V08 tmp4         [V08,T01] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp5         [V09,T04] (  3,  3   )     ref  ->  rbx         single-def "field V01._collection (fldOffset=0x0)" P-INDEP
-;  V10 tmp6         [V10,T00] (  6, 16.50)     int  ->  r15         "field V01._currentIndex (fldOffset=0x8)" P-INDEP
-;  V11 tmp7         [V11,T07] (  2,  1   )     ref  ->  rax         "field V02._genericParameters (fldOffset=0x0)" P-INDEP
-;  V12 tmp8         [V12,T08] (  2,  1   )     ref  ->  rbx         single-def "field V06._collection (fldOffset=0x0)" P-INDEP
-;* V13 tmp9         [V13,T09] (  0,  0   )     int  ->  zero-ref    single-def "field V06._currentIndex (fldOffset=0x8)" P-INDEP
-;  V14 tmp10        [V14,T05] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
-;  V15 cse0         [V15,T03] (  3,  6.50)     int  ->  r14         hoist "CSE - aggressive"
+;* V08 tmp4         [V08,T00] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V09 tmp5         [V09,T02] (  5,  2   )     ref  ->  rbx         single-def "field V01._collection (fldOffset=0x0)" P-INDEP
+;  V10 tmp6         [V10,T01] (  6,  2.50)     int  ->  r15         "field V01._currentIndex (fldOffset=0x8)" P-INDEP
+;  V11 tmp7         [V11,T06] (  2,  1   )     ref  ->  rax         "field V02._genericParameters (fldOffset=0x0)" P-INDEP
+;  V12 tmp8         [V12,T07] (  2,  1   )     ref  ->  rbx         single-def "field V06._collection (fldOffset=0x0)" P-INDEP
+;* V13 tmp9         [V13,T08] (  0,  0   )     int  ->  zero-ref    single-def "field V06._currentIndex (fldOffset=0x8)" P-INDEP
+;  V14 tmp10        [V14,T04] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M13095_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
-       push     r14
        push     rbx
-       push     rax
-       lea      rbp, [rsp+0x20]
+       lea      rbp, [rsp+0x10]
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=15 bbWeight=1 PerfScore 5.75
+                      ;; size=12 bbWeight=1 PerfScore 3.75
 G_M13095_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdi, rbx
        ; gcrRegs +[rdi]
@@ -67,13 +64,11 @@ G_M13095_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M13095_IG05:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 8
        pop      rbx
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=0.50 PerfScore 1.62
+                       ;; size=5 bbWeight=0.50 PerfScore 1.25
 G_M13095_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rbx]
        mov      rdi, rbx
@@ -85,47 +80,45 @@ G_M13095_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
        mov      rbx, rax
        ; gcrRegs +[rbx]
        mov      r15d, -1
-       mov      r14d, dword ptr [rbx+0x08]
+       mov      edi, dword ptr [rbx+0x08]
        jmp      SHORT G_M13095_IG08
-                       ;; size=30 bbWeight=0.50 PerfScore 5.62
-G_M13095_IG07:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=29 bbWeight=0.50 PerfScore 5.62
+G_M13095_IG07:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
-       cmp      r15d, r14d
+       cmp      r15d, dword ptr [rbx+0x08]
        jae      SHORT G_M13095_IG11
        mov      edi, r15d
        mov      rdi, gword ptr [rbx+8*rdi+0x10]
        ; gcrRegs +[rdi]
-       lea      r11, [(reloc)]      ; function address
+       lea      r11, [(reloc)]
        cmp      dword ptr [rdi], edi
        call     [r11]<unknown method>
        ; gcrRegs -[rdi]
        test     eax, eax
        jne      SHORT G_M13095_IG09
-                      ;; size=29 bbWeight=2 PerfScore 22.50
-G_M13095_IG08:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=30 bbWeight=0.25 PerfScore 3.50
+G_M13095_IG08:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        inc      r15d
-       cmp      r14d, r15d
+       cmp      dword ptr [rbx+0x08], r15d
        jg       SHORT G_M13095_IG07
        jmp      SHORT G_M13095_IG04
-                      ;; size=10 bbWeight=4 PerfScore 14.00
+                     ;; size=11 bbWeight=0.50 PerfScore 3.12
 G_M13095_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
        mov      eax, 1
                        ;; size=5 bbWeight=0.50 PerfScore 0.12
 G_M13095_IG10:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 8
        pop      rbx
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=0.50 PerfScore 1.62
+                       ;; size=5 bbWeight=0.50 PerfScore 1.25
 G_M13095_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        call     [CORINFO_HELP_RNGCHKFAIL]
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 164, prolog size 12, PerfScore 61.62, instruction count 57, allocated bytes for code 164 (MethodHash=fa54ccd8) for method Internal.TypeSystem.DefType:get_IsRuntimeDeterminedSubtype():ubyte:this (FullOpts)
+; Total bytes of code 150, prolog size 9, PerfScore 29.00, instruction count 51, allocated bytes for code 150 (MethodHash=fa54ccd8) for method Internal.TypeSystem.DefType:get_IsRuntimeDeterminedSubtype():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -133,13 +126,11 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x07
-  CountOfUnwindCodes: 5
+  SizeOfProlog      : 0x04
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
-14 (-7.82%) : 123705.dasm - Internal.TypeSystem.TypeDesc:get_HasTypeEquivalence():ubyte:this (FullOpts)
@@ -9,34 +9,31 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  6,  4.50)     ref  ->  rbx         this class-hnd single-def <Internal.TypeSystem.TypeDesc>
+;  V00 this         [V00,T03] (  6,  4.50)     ref  ->  rbx         this class-hnd single-def <Internal.TypeSystem.TypeDesc>
 ;* V01 loc0         [V01    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <Internal.TypeSystem.Instantiation+Enumerator>
 ;* V02 loc1         [V02    ] (  0,  0   )  struct ( 8) zero-ref    multireg-ret ld-addr-op single-def <Internal.TypeSystem.Instantiation>
 ;* V03 loc2         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <Internal.TypeSystem.TypeDesc>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <Internal.TypeSystem.Instantiation+Enumerator>
 ;* V06 tmp2         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Internal.TypeSystem.TypeDesc[]>
-;* V07 tmp3         [V07,T01] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V08 tmp4         [V08,T05] (  3,  3   )     ref  ->  rbx         single-def "field V01._collection (fldOffset=0x0)" P-INDEP
-;  V09 tmp5         [V09,T00] (  6, 16.50)     int  ->  r15         "field V01._currentIndex (fldOffset=0x8)" P-INDEP
-;  V10 tmp6         [V10,T06] (  2,  1   )     ref  ->  rax         "field V02._genericParameters (fldOffset=0x0)" P-INDEP
-;  V11 tmp7         [V11,T07] (  2,  1   )     ref  ->  rbx         single-def "field V05._collection (fldOffset=0x0)" P-INDEP
-;* V12 tmp8         [V12,T08] (  0,  0   )     int  ->  zero-ref    single-def "field V05._currentIndex (fldOffset=0x8)" P-INDEP
+;* V07 tmp3         [V07,T00] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V08 tmp4         [V08,T02] (  5,  2   )     ref  ->  rbx         single-def "field V01._collection (fldOffset=0x0)" P-INDEP
+;  V09 tmp5         [V09,T01] (  6,  2.50)     int  ->  r15         "field V01._currentIndex (fldOffset=0x8)" P-INDEP
+;  V10 tmp6         [V10,T05] (  2,  1   )     ref  ->  rax         "field V02._genericParameters (fldOffset=0x0)" P-INDEP
+;  V11 tmp7         [V11,T06] (  2,  1   )     ref  ->  rbx         single-def "field V05._collection (fldOffset=0x0)" P-INDEP
+;* V12 tmp8         [V12,T07] (  0,  0   )     int  ->  zero-ref    single-def "field V05._currentIndex (fldOffset=0x8)" P-INDEP
 ;  V13 tmp9         [V13,T04] (  2,  4   )     ref  ->  rdi         single-def "argument with side effect"
-;  V14 cse0         [V14,T03] (  3,  6.50)     int  ->  r14         hoist "CSE - aggressive"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M47838_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
-       push     r14
        push     rbx
-       push     rax
-       lea      rbp, [rsp+0x20]
+       lea      rbp, [rsp+0x10]
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=15 bbWeight=1 PerfScore 5.75
+                      ;; size=12 bbWeight=1 PerfScore 3.75
 G_M47838_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdi, rbx
        ; gcrRegs +[rdi]
@@ -58,13 +55,11 @@ G_M47838_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M47838_IG04:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 8
        pop      rbx
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=0.50 PerfScore 1.62
+                       ;; size=5 bbWeight=0.50 PerfScore 1.25
 G_M47838_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rbx]
        mov      rdi, rbx
@@ -80,13 +75,11 @@ G_M47838_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        mov      eax, 1
                        ;; size=5 bbWeight=0.50 PerfScore 0.12
 G_M47838_IG07:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 8
        pop      rbx
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=0.50 PerfScore 1.62
+                       ;; size=5 bbWeight=0.50 PerfScore 1.25
 G_M47838_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rbx]
        mov      rdi, rbx
@@ -103,12 +96,12 @@ G_M47838_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
        mov      rbx, rax
        ; gcrRegs +[rbx]
        mov      r15d, -1
-       mov      r14d, dword ptr [rbx+0x08]
+       mov      edi, dword ptr [rbx+0x08]
        jmp      SHORT G_M47838_IG10
-                       ;; size=41 bbWeight=0.50 PerfScore 6.38
-G_M47838_IG09:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=40 bbWeight=0.50 PerfScore 6.38
+G_M47838_IG09:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
-       cmp      r15d, r14d
+       cmp      r15d, dword ptr [rbx+0x08]
        jae      SHORT G_M47838_IG11
        mov      edi, r15d
        mov      rdi, gword ptr [rbx+8*rdi+0x10]
@@ -118,20 +111,20 @@ G_M47838_IG09:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs -[rdi]
        test     eax, eax
        jne      SHORT G_M47838_IG06
-                      ;; size=25 bbWeight=2 PerfScore 21.50
-G_M47838_IG10:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=26 bbWeight=0.25 PerfScore 3.38
+G_M47838_IG10:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        inc      r15d
-       cmp      r14d, r15d
+       cmp      dword ptr [rbx+0x08], r15d
        jg       SHORT G_M47838_IG09
        jmp      SHORT G_M47838_IG03
-                      ;; size=10 bbWeight=4 PerfScore 14.00
+                     ;; size=11 bbWeight=0.50 PerfScore 3.12
 G_M47838_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
        call     [CORINFO_HELP_RNGCHKFAIL]
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 179, prolog size 12, PerfScore 68.38, instruction count 61, allocated bytes for code 179 (MethodHash=fb904521) for method Internal.TypeSystem.TypeDesc:get_HasTypeEquivalence():ubyte:this (FullOpts)
+; Total bytes of code 165, prolog size 9, PerfScore 36.62, instruction count 55, allocated bytes for code 165 (MethodHash=fb904521) for method Internal.TypeSystem.TypeDesc:get_HasTypeEquivalence():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -139,13 +132,11 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x07
-  CountOfUnwindCodes: 5
+  SizeOfProlog      : 0x04
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
-14 (-7.65%) : 123602.dasm - Internal.TypeSystem.MethodDesc:get_IsRuntimeDeterminedExactMethod():ubyte:this (FullOpts)
@@ -9,36 +9,33 @@
 ; 0 inlinees with PGO data; 5 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  7,  5   )     ref  ->  rbx         this class-hnd single-def <Internal.TypeSystem.MethodDesc>
+;  V00 this         [V00,T03] (  7,  5   )     ref  ->  rbx         this class-hnd single-def <Internal.TypeSystem.MethodDesc>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <Internal.TypeSystem.TypeDesc>
 ;* V02 loc1         [V02    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <Internal.TypeSystem.Instantiation+Enumerator>
 ;* V03 loc2         [V03    ] (  0,  0   )  struct ( 8) zero-ref    multireg-ret ld-addr-op single-def <Internal.TypeSystem.Instantiation>
 ;* V04 loc3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <Internal.TypeSystem.TypeDesc>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V06 tmp1         [V06,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V06 tmp1         [V06,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <Internal.TypeSystem.Instantiation+Enumerator>
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Internal.TypeSystem.TypeDesc[]>
-;* V09 tmp4         [V09,T01] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V10 tmp5         [V10,T05] (  3,  3   )     ref  ->  rbx         single-def "field V02._collection (fldOffset=0x0)" P-INDEP
-;  V11 tmp6         [V11,T00] (  6, 16.50)     int  ->  r15         "field V02._currentIndex (fldOffset=0x8)" P-INDEP
-;  V12 tmp7         [V12,T06] (  2,  1   )     ref  ->  rax         "field V03._genericParameters (fldOffset=0x0)" P-INDEP
-;  V13 tmp8         [V13,T07] (  2,  1   )     ref  ->  rbx         single-def "field V07._collection (fldOffset=0x0)" P-INDEP
-;* V14 tmp9         [V14,T09] (  0,  0   )     int  ->  zero-ref    single-def "field V07._currentIndex (fldOffset=0x8)" P-INDEP
+;* V09 tmp4         [V09,T00] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V10 tmp5         [V10,T02] (  5,  2   )     ref  ->  rbx         single-def "field V02._collection (fldOffset=0x0)" P-INDEP
+;  V11 tmp6         [V11,T01] (  6,  2.50)     int  ->  r15         "field V02._currentIndex (fldOffset=0x8)" P-INDEP
+;  V12 tmp7         [V12,T05] (  2,  1   )     ref  ->  rax         "field V03._genericParameters (fldOffset=0x0)" P-INDEP
+;  V13 tmp8         [V13,T06] (  2,  1   )     ref  ->  rbx         single-def "field V07._collection (fldOffset=0x0)" P-INDEP
+;* V14 tmp9         [V14,T08] (  0,  0   )     int  ->  zero-ref    single-def "field V07._currentIndex (fldOffset=0x8)" P-INDEP
 ;  V15 tmp10        [V15,T04] (  2,  4   )     ref  ->  rdi         single-def "argument with side effect"
-;  V16 cse0         [V16,T03] (  3,  6.50)     int  ->  r14         hoist "CSE - aggressive"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M18718_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
-       push     r14
        push     rbx
-       push     rax
-       lea      rbp, [rsp+0x20]
+       lea      rbp, [rsp+0x10]
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=15 bbWeight=1 PerfScore 5.75
+                      ;; size=12 bbWeight=1 PerfScore 3.75
 G_M18718_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdi, rbx
        ; gcrRegs +[rdi]
@@ -60,13 +57,11 @@ G_M18718_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        mov      eax, 1
                        ;; size=5 bbWeight=0.50 PerfScore 0.12
 G_M18718_IG04:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 8
        pop      rbx
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=0.50 PerfScore 1.62
+                       ;; size=5 bbWeight=0.50 PerfScore 1.25
 G_M18718_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rbx]
        mov      rdi, rbx
@@ -93,48 +88,47 @@ G_M18718_IG06:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      rbx, rax
        ; gcrRegs +[rbx]
        mov      r15d, -1
-       mov      r14d, dword ptr [rbx+0x08]
+       mov      eax, dword ptr [rbx+0x08]
+       ; gcrRegs -[rax]
        jmp      SHORT G_M18718_IG10
-                       ;; size=28 bbWeight=0.50 PerfScore 4.12
+                       ;; size=27 bbWeight=0.50 PerfScore 4.12
 G_M18718_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rax rbx]
+       ; gcrRegs -[rbx]
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M18718_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 8
        pop      rbx
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=0.50 PerfScore 1.62
-G_M18718_IG09:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+                      ;; size=5 bbWeight=0.50 PerfScore 1.25
+G_M18718_IG09:        ; bbWeight=0.25, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rbx]
-       cmp      r15d, r14d
+       cmp      r15d, dword ptr [rbx+0x08]
        jae      SHORT G_M18718_IG11
        mov      edi, r15d
        mov      rdi, gword ptr [rbx+8*rdi+0x10]
        ; gcrRegs +[rdi]
-       lea      r11, [(reloc)]      ; function address
+       lea      r11, [(reloc)]
        cmp      dword ptr [rdi], edi
        call     [r11]<unknown method>
        ; gcrRegs -[rdi]
        test     eax, eax
        jne      SHORT G_M18718_IG03
-                      ;; size=29 bbWeight=2 PerfScore 22.50
-G_M18718_IG10:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=30 bbWeight=0.25 PerfScore 3.50
+G_M18718_IG10:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        inc      r15d
-       cmp      r14d, r15d
+       cmp      dword ptr [rbx+0x08], r15d
        jg       SHORT G_M18718_IG09
        jmp      SHORT G_M18718_IG07
-                      ;; size=10 bbWeight=4 PerfScore 14.00
+                     ;; size=11 bbWeight=0.50 PerfScore 3.12
 G_M18718_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
        call     [CORINFO_HELP_RNGCHKFAIL]
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 183, prolog size 12, PerfScore 69.38, instruction count 62, allocated bytes for code 183 (MethodHash=2ae9b6e1) for method Internal.TypeSystem.MethodDesc:get_IsRuntimeDeterminedExactMethod():ubyte:this (FullOpts)
+; Total bytes of code 169, prolog size 9, PerfScore 36.75, instruction count 56, allocated bytes for code 169 (MethodHash=2ae9b6e1) for method Internal.TypeSystem.MethodDesc:get_IsRuntimeDeterminedExactMethod():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -142,13 +136,11 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x07
-  CountOfUnwindCodes: 5
+  SizeOfProlog      : 0x04
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
+47 (+83.93%) : 67235.dasm - Microsoft.CodeAnalysis.CSharp.ReadWriteWalker:GetRangeVariableUnderlyingParameter(Microsoft.CodeAnalysis.CSharp.BoundNode):Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol (FullOpts)
@@ -9,28 +9,43 @@
 ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  8, 19.50)     ref  ->  rdi         class-hnd <Microsoft.CodeAnalysis.CSharp.BoundNode>
-;  V01 loc0         [V01,T01] (  3, 12   )   ubyte  ->  rax        
+;  V00 arg0         [V00,T00] ( 12, 23.50)     ref  ->  rdi         class-hnd <Microsoft.CodeAnalysis.CSharp.BoundNode>
+;  V01 loc0         [V01,T01] (  6, 15   )   ubyte  ->  rbx        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.BoundParameter>
 ;* V04 tmp2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.BoundPropertyAccess>
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M12753_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
-       mov      rbp, rsp
-                       ;; size=4 bbWeight=1 PerfScore 1.25
+       push     rbx
+       push     rax
+       lea      rbp, [rsp+0x10]
+                       ;; size=8 bbWeight=1 PerfScore 3.50
 G_M12753_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
        test     rdi, rdi
        je       SHORT G_M12753_IG04
-                      ;; size=5 bbWeight=1 PerfScore 1.25
-G_M12753_IG03:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
-       movzx    rax, byte  ptr [rdi+0x12]
-       cmp      eax, 117
+       movzx    rbx, byte  ptr [rdi+0x12]
+       cmp      ebx, 117
        je       SHORT G_M12753_IG06
-       cmp      eax, 188
+       cmp      ebx, 188
+       jne      SHORT G_M12753_IG04
+       call     [CORINFO_HELP_READYTORUN_CHKCAST]
+       ; gcrRegs -[rdi] +[rax]
+       ; gcr arg pop 0
+       mov      rdi, gword ptr [rax+0x20]
+       ; gcrRegs +[rdi]
+       test     rdi, rdi
+       je       SHORT G_M12753_IG04
+                       ;; size=37 bbWeight=1 PerfScore 12.00
+G_M12753_IG03:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
+       movzx    rbx, byte  ptr [rdi+0x12]
+       cmp      ebx, 117
+       je       SHORT G_M12753_IG06
+       cmp      ebx, 188
        jne      SHORT G_M12753_IG04
        call     [CORINFO_HELP_READYTORUN_CHKCAST]
        ; gcrRegs -[rdi] +[rax]
@@ -39,16 +54,18 @@ G_M12753_IG03:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byr
        ; gcrRegs +[rdi]
        test     rdi, rdi
        jne      SHORT G_M12753_IG03
-                      ;; size=31 bbWeight=4 PerfScore 43.00
+                     ;; size=32 bbWeight=4 PerfScore 43.00
 G_M12753_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax rdi]
        xor      rax, rax
        ; gcrRegs +[rax]
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M12753_IG05:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
+       pop      rbx
        pop      rbp
        ret      
-                     ;; size=2 bbWeight=0.50 PerfScore 0.75
+                        ;; size=7 bbWeight=0.50 PerfScore 1.12
 G_M12753_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax] +[rdi]
        call     [CORINFO_HELP_READYTORUN_CHKCAST]
@@ -57,11 +74,13 @@ G_M12753_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=008
        mov      rax, gword ptr [rax+0x20]
                        ;; size=10 bbWeight=0.50 PerfScore 2.50
 G_M12753_IG07:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
+       pop      rbx
        pop      rbp
        ret      
-                     ;; size=2 bbWeight=0.50 PerfScore 0.75
+                        ;; size=7 bbWeight=0.50 PerfScore 1.12
 
-; Total bytes of code 56, prolog size 4, PerfScore 49.62, instruction count 20, allocated bytes for code 56 (MethodHash=9540ce2e) for method Microsoft.CodeAnalysis.CSharp.ReadWriteWalker:GetRangeVariableUnderlyingParameter(Microsoft.CodeAnalysis.CSharp.BoundNode):Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol (FullOpts)
+; Total bytes of code 103, prolog size 8, PerfScore 63.38, instruction count 35, allocated bytes for code 103 (MethodHash=9540ce2e) for method Microsoft.CodeAnalysis.CSharp.ReadWriteWalker:GetRangeVariableUnderlyingParameter(Microsoft.CodeAnalysis.CSharp.BoundNode):Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -69,9 +88,11 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x01
-  CountOfUnwindCodes: 1
+  SizeOfProlog      : 0x03
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
+    CodeOffset: 0x03 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
+38 (+92.68%) : 69003.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:g_hasNonIdentityConversion|4660(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
@@ -9,52 +9,75 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  4, 14   )     ref  ->  rdi         class-hnd <Microsoft.CodeAnalysis.CSharp.BoundExpression>
-;  V01 loc0         [V01,T00] (  4, 24   )     ref  ->  rax         class-hnd <Microsoft.CodeAnalysis.CSharp.BoundConversion>
+;  V00 arg0         [V00,T01] (  6, 16   )     ref  ->  rdi         class-hnd <Microsoft.CodeAnalysis.CSharp.BoundExpression>
+;  V01 loc0         [V01,T00] (  8, 27.50)     ref  ->  rax         class-hnd <Microsoft.CodeAnalysis.CSharp.BoundConversion>
 ;* V02 loc1         [V02    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <Microsoft.CodeAnalysis.CSharp.Conversion>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )     ref  ->  zero-ref    "field V02._uncommonData (fldOffset=0x0)" P-INDEP
-;  V05 tmp2         [V05,T02] (  2,  8   )   ubyte  ->  rcx         "field V02._kind (fldOffset=0x8)" P-INDEP
+;  V05 tmp2         [V05,T02] (  4,  9   )   ubyte  ->  rbx         "field V02._kind (fldOffset=0x8)" P-INDEP
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
-G_M1320_IG01:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
+G_M1320_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
-       mov      rbp, rsp
-                       ;; size=4 bbWeight=8 PerfScore 10.00
-G_M1320_IG02:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       push     rbx
+       push     rax
+       lea      rbp, [rsp+0x10]
+                       ;; size=8 bbWeight=1 PerfScore 3.50
+G_M1320_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
        call     [CORINFO_HELP_READYTORUN_ISINSTANCEOF]
        ; gcrRegs -[rdi] +[rax]
        ; gcr arg pop 0
        test     rax, rax
-       je       SHORT G_M1320_IG06
-                       ;; size=11 bbWeight=8 PerfScore 34.00
-G_M1320_IG03:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       movzx    rcx, byte  ptr [rax+0x48]
-       cmp      ecx, 2
-       jne      SHORT G_M1320_IG04
+       je       SHORT G_M1320_IG09
+                       ;; size=11 bbWeight=1 PerfScore 4.25
+G_M1320_IG03:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       movzx    rbx, byte  ptr [rax+0x48]
+       cmp      ebx, 2
+       jne      SHORT G_M1320_IG07
+                       ;; size=9 bbWeight=0.50 PerfScore 1.62
+G_M1320_IG04:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
        mov      rdi, gword ptr [rax+0x20]
        ; gcrRegs +[rdi]
-       jmp      SHORT G_M1320_IG02
+                      ;; size=4 bbWeight=1 PerfScore 2.00
+G_M1320_IG05:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
+       call     [CORINFO_HELP_READYTORUN_ISINSTANCEOF]
+       ; gcrRegs -[rdi] +[rax]
+       ; gcr arg pop 0
+       test     rax, rax
+       je       SHORT G_M1320_IG09
+                       ;; size=11 bbWeight=8 PerfScore 34.00
+G_M1320_IG06:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       movzx    rbx, byte  ptr [rax+0x48]
+       cmp      ebx, 2
+       jne      SHORT G_M1320_IG07
+       mov      rdi, gword ptr [rax+0x20]
+       ; gcrRegs +[rdi]
+       jmp      SHORT G_M1320_IG05
                      ;; size=15 bbWeight=4 PerfScore 29.00
-G_M1320_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M1320_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax rdi]
        mov      eax, 1
                        ;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M1320_IG05:        ; bbWeight=0.50, epilog, nogc, extend
+G_M1320_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
+       pop      rbx
        pop      rbp
        ret      
-                     ;; size=2 bbWeight=0.50 PerfScore 0.75
-G_M1320_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                        ;; size=7 bbWeight=0.50 PerfScore 1.12
+G_M1320_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M1320_IG07:        ; bbWeight=0.50, epilog, nogc, extend
+G_M1320_IG10:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
+       pop      rbx
        pop      rbp
        ret      
-                     ;; size=2 bbWeight=0.50 PerfScore 0.75
+                        ;; size=7 bbWeight=0.50 PerfScore 1.12
 
-; Total bytes of code 41, prolog size 4, PerfScore 74.75, instruction count 16, allocated bytes for code 41 (MethodHash=11a5fad7) for method Microsoft.CodeAnalysis.CSharp.LocalRewriter:<ApplyConversionIfNotIdentity>g__hasNonIdentityConversion|466_0(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
+; Total bytes of code 79, prolog size 8, PerfScore 76.88, instruction count 29, allocated bytes for code 79 (MethodHash=11a5fad7) for method Microsoft.CodeAnalysis.CSharp.LocalRewriter:<ApplyConversionIfNotIdentity>g__hasNonIdentityConversion|466_0(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -62,9 +85,11 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x01
-  CountOfUnwindCodes: 1
+  SizeOfProlog      : 0x03
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
+    CodeOffset: 0x03 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
+28 (+116.67%) : 193392.dasm - System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
@@ -8,9 +8,9 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  5, 11   )     int  ->  rax        
-;  V01 arg1         [V01,T00] (  7, 19   )     int  ->  rsi        
-;  V02 loc0         [V02,T02] (  2,  8   )     int  ->  rdx        
+;  V00 arg0         [V00,T01] (  7, 13   )     int  ->  registers  
+;  V01 arg1         [V01,T00] ( 11, 23   )     int  ->  registers  
+;  V02 loc0         [V02,T02] (  4, 10   )     int  ->  rdx        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -22,22 +22,44 @@ G_M22426_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=6 bbWeight=1 PerfScore 1.50
 G_M22426_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        test     esi, esi
-       je       SHORT G_M22426_IG04
-                       ;; size=4 bbWeight=1 PerfScore 1.25
-G_M22426_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M22426_IG08
        xor      edx, edx
        div      edx:eax, esi
        mov      eax, esi
        mov      esi, edx
        test     esi, esi
-       jne      SHORT G_M22426_IG03
-                       ;; size=12 bbWeight=4 PerfScore 108.00
-G_M22426_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       je       SHORT G_M22426_IG07
+                       ;; size=16 bbWeight=1 PerfScore 28.25
+G_M22426_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       xor      edx, edx
+       div      edx:eax, esi
+       mov      eax, edx
+       test     eax, eax
+       jne      SHORT G_M22426_IG06
+                       ;; size=10 bbWeight=4 PerfScore 107.00
+G_M22426_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      eax, esi
+                       ;; size=2 bbWeight=1 PerfScore 0.25
+G_M22426_IG05:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=2 bbWeight=1 PerfScore 1.50
+G_M22426_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+       mov      ecx, eax
+       mov      eax, esi
+       mov      esi, ecx
+       jmp      SHORT G_M22426_IG03
+                       ;; size=8 bbWeight=2 PerfScore 5.50
+G_M22426_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      esi, eax
+       jmp      SHORT G_M22426_IG04
+                       ;; size=4 bbWeight=0.50 PerfScore 1.12
+G_M22426_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      esi, eax
+       jmp      SHORT G_M22426_IG04
+                       ;; size=4 bbWeight=0.50 PerfScore 1.12
 
-; Total bytes of code 24, prolog size 6, PerfScore 112.25, instruction count 13, allocated bytes for code 24 (MethodHash=f186a865) for method System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
+; Total bytes of code 52, prolog size 6, PerfScore 146.25, instruction count 27, allocated bytes for code 52 (MethodHash=f186a865) for method System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
libraries.pmi.linux.x64.checked.mch
-18 (-10.40%) : 244443.dasm - Microsoft.Build.Shared.FileMatcher:LastIndexOfDirectoryOrRecursiveSequence(System.String,int):int (FullOpts)
@@ -7,30 +7,26 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T02] (  9, 10.50)     ref  ->  rbx         class-hnd single-def <System.String>
-;  V01 arg1         [V01,T03] (  8,  5.50)     int  ->  rsi         single-def
-;  V02 loc0         [V02,T00] ( 10, 19   )     int  ->  rsi        
-;  V03 loc1         [V03,T06] (  2,  2.50)   ubyte  ->  r14        
+;  V00 arg0         [V00,T01] (  9,  5.25)     ref  ->  rbx         class-hnd single-def <System.String>
+;  V01 arg1         [V01,T00] (  9,  6   )     int  ->  rsi         single-def
+;  V02 loc0         [V02,T03] ( 12,  3.75)     int  ->  rsi        
+;* V03 loc1         [V03,T04] (  0,  0   )   ubyte  ->  zero-ref   
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V05 tmp1         [V05,T09] (  0,  0   )     int  ->  zero-ref   
+;* V05 tmp1         [V05,T06] (  0,  0   )     int  ->  zero-ref   
 ;* V06 tmp2         [V06,T07] (  0,  0   )     int  ->  zero-ref   
-;  V07 cse0         [V07,T01] (  8, 13   )     int  ->  r15         "CSE - aggressive"
-;  V08 cse1         [V08,T04] (  3,  6   )     int  ->  rax         "CSE - aggressive"
-;  V09 cse2         [V09,T05] (  3,  6   )     int  ->  rax         "CSE - aggressive"
-;  V10 cse3         [V10,T08] (  3,  1.50)     int  ->  rdi         "CSE - moderate"
+;  V07 cse0         [V07,T05] (  2,  0.50)     int  ->  rax         "CSE - aggressive"
+;  V08 cse1         [V08,T02] (  8,  4.25)     int  ->  r15         "CSE - aggressive"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M41026_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
-       push     r14
        push     rbx
-       push     rax
-       lea      rbp, [rsp+0x20]
+       lea      rbp, [rsp+0x10]
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=15 bbWeight=1 PerfScore 5.75
+                      ;; size=12 bbWeight=1 PerfScore 3.75
 G_M41026_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      r15d, dword ptr [rbx+0x08]
        lea      edi, [r15-0x01]
@@ -39,33 +35,31 @@ G_M41026_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
                        ;; size=12 bbWeight=1 PerfScore 3.75
 G_M41026_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        cmp      esi, r15d
-       jae      G_M41026_IG10
+       jae      SHORT G_M41026_IG10
        mov      edi, esi
        cmp      word  ptr [rbx+2*rdi+0x0C], 42
        jne      SHORT G_M41026_IG04
        lea      edi, [rsi+0x01]
        cmp      edi, r15d
        jae      SHORT G_M41026_IG10
+       lea      edi, [rsi+0x01]
        cmp      word  ptr [rbx+2*rdi+0x0C], 42
        jne      SHORT G_M41026_IG04
        add      esi, 2
-       xor      r14d, r14d
        jmp      SHORT G_M41026_IG07
-                        ;; size=43 bbWeight=0.50 PerfScore 6.88
+                       ;; size=39 bbWeight=0.50 PerfScore 7.00
 G_M41026_IG04:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, rbx
        ; gcrRegs +[rdi]
                        ;; size=3 bbWeight=0.50 PerfScore 0.12
 G_M41026_IG05:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 8
        pop      rbx
-       pop      r14
        pop      r15
        pop      rbp
        tail.jmp [<unknown method>]
        ; gcr arg pop 0
-                       ;; size=16 bbWeight=0.50 PerfScore 2.12
-G_M41026_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+                      ;; size=10 bbWeight=0.50 PerfScore 1.75
+G_M41026_IG06:        ; bbWeight=0.25, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rdi]
        mov      rdi, rbx
        ; gcrRegs +[rdi]
@@ -79,40 +73,38 @@ G_M41026_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0008 {
        lea      eax, [rsi+0x01]
        cmp      eax, r15d
        jae      SHORT G_M41026_IG10
+       lea      eax, [rsi+0x01]
        cmp      word  ptr [rbx+2*rax+0x0C], 42
        jne      SHORT G_M41026_IG08
        lea      eax, [rsi+0x02]
        cmp      eax, r15d
        jae      SHORT G_M41026_IG10
+       lea      eax, [rsi+0x02]
        cmp      word  ptr [rbx+2*rax+0x0C], 42
        jne      SHORT G_M41026_IG08
        add      esi, 3
-       test     r14d, r14d
-       jne      SHORT G_M41026_IG08
-                       ;; size=59 bbWeight=2 PerfScore 36.50
-G_M41026_IG07:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=60 bbWeight=0.25 PerfScore 4.50
+G_M41026_IG07:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        cmp      r15d, esi
        jg       SHORT G_M41026_IG06
-                      ;; size=5 bbWeight=4 PerfScore 5.00
+                       ;; size=5 bbWeight=0.50 PerfScore 0.62
 G_M41026_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
        lea      eax, [rsi+0x01]
                        ;; size=3 bbWeight=0.50 PerfScore 0.25
 G_M41026_IG09:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 8
        pop      rbx
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=0.50 PerfScore 1.62
+                       ;; size=5 bbWeight=0.50 PerfScore 1.25
 G_M41026_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 173, prolog size 15, PerfScore 62.00, instruction count 61, allocated bytes for code 173 (MethodHash=82df5fbd) for method Microsoft.Build.Shared.FileMatcher:LastIndexOfDirectoryOrRecursiveSequence(System.String,int):int (FullOpts)
+; Total bytes of code 155, prolog size 12, PerfScore 23.00, instruction count 55, allocated bytes for code 155 (MethodHash=82df5fbd) for method Microsoft.Build.Shared.FileMatcher:LastIndexOfDirectoryOrRecursiveSequence(System.String,int):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -120,13 +112,11 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x07
-  CountOfUnwindCodes: 5
+  SizeOfProlog      : 0x04
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
-21 (-9.86%) : 221009.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
@@ -8,34 +8,38 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] ( 13, 12   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
-;  V01 loc0         [V01,T09] (  3,  2.50)     int  ->  rdi        
-;  V02 loc1         [V02,T06] (  3,  4.50)     ref  ->  r13         class-hnd <System.__Canon>
+;  V00 this         [V00,T00] ( 13,  9   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
+;  V01 loc0         [V01,T13] (  3,  2.50)     int  ->  rdi        
+;  V02 loc1         [V02,T08] (  3,  1.50)     ref  ->  r14         class-hnd <System.__Canon>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T00] (  2, 16   )    long  ->  rsi         "spilling helperCall"
+;  V04 tmp1         [V04,T02] (  2,  4   )    long  ->  rsi         "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V07 cse0         [V07,T05] (  2,  5   )    long  ->  r15         hoist "CSE - aggressive"
-;  V08 cse1         [V08,T03] (  4,  6   )   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V09 rat0         [V09,T07] (  3,  4.40)    long  ->  rdi         "Spilling to split statement for tree"
-;  V10 rat1         [V10,T08] (  3,  4   )    long  ->  r15         "runtime lookup"
-;  V11 rat2         [V11,T04] (  3,  5.60)    long  ->  r15         "fgMakeTemp is creating a new local variable"
-;  V12 rat3         [V12,T02] (  3, 12   )     ref  ->  rax         "delegate invoke call"
+;  V07 cse0         [V07,T14] (  2,  2   )    long  ->  r15         hoist "CSE - aggressive"
+;  V08 rat0         [V08,T09] (  3,  4.40)    long  ->  rdi         "Spilling to split statement for tree"
+;  V09 rat1         [V09,T10] (  3,  4   )    long  ->  r15         "runtime lookup"
+;  V10 rat2         [V10,T07] (  3,  5.60)    long  ->  r15         "fgMakeTemp is creating a new local variable"
+;* V11 rat3         [V11,T06] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V12 rat4         [V12,T11] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V13 rat5         [V13,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;* V14 rat6         [V14,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V15 rat7         [V15,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V16 rat8         [V16,T12] (  3,  3   )     ref  ->  rax         "delegate invoke call"
+;* V17 rat9         [V17,T04] (  0,  0   )     ref  ->  zero-ref    "delegate invoke call"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 8
 
 G_M34024_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 16
-       lea      rbp, [rsp+0x30]
-       mov      qword ptr [rbp-0x28], rdi
+       push     rax
+       lea      rbp, [rsp+0x20]
+       mov      qword ptr [rbp-0x20], rdi
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=24 bbWeight=1 PerfScore 7.00
+                      ;; size=19 bbWeight=1 PerfScore 6.75
 G_M34024_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      edi, dword ptr [rbx+0x14]
        cmp      edi, 1
@@ -44,21 +48,19 @@ G_M34024_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
 G_M34024_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        cmp      edi, 2
        je       SHORT G_M34024_IG05
-       jmp      G_M34024_IG12
-                       ;; size=10 bbWeight=0.50 PerfScore 1.62
+       jmp      SHORT G_M34024_IG12
+                       ;; size=7 bbWeight=0.50 PerfScore 1.62
 G_M34024_IG04:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, gword ptr [rbx+0x18]
        ; gcrRegs +[rdi]
-       lea      r15, bword ptr [rbx+0x28]
-       ; byrRegs +[r15]
-       mov      rsi, r15
+       lea      rsi, bword ptr [rbx+0x28]
        ; byrRegs +[rsi]
        cmp      dword ptr [rdi], edi
        call     [System.Collections.Generic.List`1[System.__Canon]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.__Canon]:this]
        ; gcrRegs -[rdi]
-       ; byrRegs -[rsi r15]
+       ; byrRegs -[rsi]
        mov      dword ptr [rbx+0x14], 2
-                     ;; size=26 bbWeight=0.50 PerfScore 4.88
+                       ;; size=23 bbWeight=0.50 PerfScore 4.75
 G_M34024_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdi, qword ptr [rbx]
        mov      rsi, qword ptr [rdi+0x38]
@@ -76,19 +78,14 @@ G_M34024_IG07:        ; bbWeight=0.20, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      r15, rax
                        ;; size=18 bbWeight=0.20 PerfScore 0.30
 G_M34024_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       lea      rdi, bword ptr [rbx+0x28]
-       ; byrRegs +[rdi]
-       mov      r14, rdi
-       ; byrRegs +[r14]
        jmp      SHORT G_M34024_IG10
-                       ;; size=9 bbWeight=1 PerfScore 2.75
-G_M34024_IG09:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=4000 {r14}, byref, isz
-       ; byrRegs -[rdi]
-       mov      r13, gword ptr [rbx+0x30]
-       ; gcrRegs +[r13]
+                      ;; size=2 bbWeight=1 PerfScore 2.00
+G_M34024_IG09:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       mov      r14, gword ptr [rbx+0x30]
+       ; gcrRegs +[r14]
        mov      rax, gword ptr [rbx+0x20]
        ; gcrRegs +[rax]
-       mov      rsi, r13
+       mov      rsi, r14
        ; gcrRegs +[rsi]
        mov      rdi, gword ptr [rax+0x08]
        ; gcrRegs +[rdi]
@@ -96,59 +93,56 @@ G_M34024_IG09:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=4000 {r14},
        ; gcrRegs -[rax rsi rdi]
        test     eax, eax
        jne      SHORT G_M34024_IG14
-                      ;; size=22 bbWeight=2 PerfScore 21.00
-G_M34024_IG10:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=4000 {r14}, byref, isz
-       ; gcrRegs -[r13]
+                      ;; size=22 bbWeight=0.50 PerfScore 5.25
+G_M34024_IG10:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r14]
        mov      rsi, r15
-       mov      rdi, r14
+       lea      rdi, bword ptr [rbx+0x28]
        ; byrRegs +[rdi]
        call     [System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this]
        ; byrRegs -[rdi]
        test     eax, eax
        jne      SHORT G_M34024_IG09
-                      ;; size=16 bbWeight=4 PerfScore 19.00
-G_M34024_IG11:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       ; byrRegs -[r14]
+                      ;; size=17 bbWeight=1 PerfScore 5.00
+G_M34024_IG11:        ; bbWeight=0.12, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        xor      rdi, rdi
        ; gcrRegs +[rdi]
        mov      gword ptr [rbx+0x08], rdi
        mov      dword ptr [rbx+0x14], -1
-                     ;; size=13 bbWeight=0.50 PerfScore 1.12
+                       ;; size=13 bbWeight=0.12 PerfScore 0.28
 G_M34024_IG12:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M34024_IG13:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 16
+       add      rsp, 8
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 1.88
-G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[r13]
+                      ;; size=11 bbWeight=0.50 PerfScore 1.62
+G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs +[r14]
        lea      rdi, bword ptr [rbx+0x08]
        ; byrRegs +[rdi]
-       mov      rsi, r13
+       mov      rsi, r14
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
-       ; gcrRegs -[rsi r13]
+       ; gcrRegs -[rsi r14]
        ; byrRegs -[rdi]
        mov      eax, 1
                        ;; size=17 bbWeight=0.50 PerfScore 1.00
 G_M34024_IG15:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 16
+       add      rsp, 8
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 1.88
+                       ;; size=11 bbWeight=0.50 PerfScore 1.62
 
-; Total bytes of code 213, prolog size 21, PerfScore 76.65, instruction count 68, allocated bytes for code 213 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
+; Total bytes of code 192, prolog size 16, PerfScore 44.43, instruction count 62, allocated bytes for code 192 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -156,14 +150,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0C
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x07
+  CountOfUnwindCodes: 5
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0C UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
-    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r13 (13)
+    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
+    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
-21 (-9.59%) : 221043.dasm - System.Linq.Enumerable+WhereSelectListIterator2[System.__Canon,System.Nullable1[int]]:MoveNext():ubyte:this (FullOpts)
@@ -8,35 +8,39 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] ( 14, 12.50)     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+WhereSelectListIterator`2[System.__Canon,System.Nullable`1[int]]>
-;  V01 loc0         [V01,T10] (  3,  2.50)     int  ->  rdi        
-;  V02 loc1         [V02,T06] (  3,  4.50)     ref  ->  r13         class-hnd <System.__Canon>
+;  V00 this         [V00,T00] ( 14,  9.50)     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+WhereSelectListIterator`2[System.__Canon,System.Nullable`1[int]]>
+;  V01 loc0         [V01,T14] (  3,  2.50)     int  ->  rdi        
+;  V02 loc1         [V02,T08] (  3,  1.50)     ref  ->  r14         class-hnd <System.__Canon>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T00] (  2, 16   )    long  ->  rsi         "spilling helperCall"
+;  V04 tmp1         [V04,T02] (  2,  4   )    long  ->  rsi         "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V07 cse0         [V07,T05] (  2,  5   )    long  ->  r15         hoist "CSE - aggressive"
-;  V08 cse1         [V08,T03] (  4,  6   )   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V09 rat0         [V09,T07] (  3,  4.40)    long  ->  rdi         "Spilling to split statement for tree"
-;  V10 rat1         [V10,T08] (  3,  4   )    long  ->  r15         "runtime lookup"
-;  V11 rat2         [V11,T04] (  3,  5.60)    long  ->  r15         "fgMakeTemp is creating a new local variable"
-;  V12 rat3         [V12,T02] (  3, 12   )     ref  ->  rax         "delegate invoke call"
-;  V13 rat4         [V13,T09] (  3,  3   )     ref  ->  rax         "delegate invoke call"
+;  V07 cse0         [V07,T15] (  2,  2   )    long  ->  r15         hoist "CSE - aggressive"
+;  V08 rat0         [V08,T09] (  3,  4.40)    long  ->  rdi         "Spilling to split statement for tree"
+;  V09 rat1         [V09,T10] (  3,  4   )    long  ->  r15         "runtime lookup"
+;  V10 rat2         [V10,T07] (  3,  5.60)    long  ->  r15         "fgMakeTemp is creating a new local variable"
+;* V11 rat3         [V11,T06] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V12 rat4         [V12,T11] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V13 rat5         [V13,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;* V14 rat6         [V14,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V15 rat7         [V15,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V16 rat8         [V16,T12] (  3,  3   )     ref  ->  rax         "delegate invoke call"
+;* V17 rat9         [V17,T04] (  0,  0   )     ref  ->  zero-ref    "delegate invoke call"
+;  V18 rat10        [V18,T13] (  3,  3   )     ref  ->  rax         "delegate invoke call"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 8
 
 G_M54833_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 16
-       lea      rbp, [rsp+0x30]
-       mov      qword ptr [rbp-0x28], rdi
+       push     rax
+       lea      rbp, [rsp+0x20]
+       mov      qword ptr [rbp-0x20], rdi
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=24 bbWeight=1 PerfScore 7.00
+                      ;; size=19 bbWeight=1 PerfScore 6.75
 G_M54833_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      edi, dword ptr [rbx+0x0C]
        cmp      edi, 1
@@ -45,21 +49,19 @@ G_M54833_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
 G_M54833_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        cmp      edi, 2
        je       SHORT G_M54833_IG05
-       jmp      G_M54833_IG12
-                       ;; size=10 bbWeight=0.50 PerfScore 1.62
+       jmp      SHORT G_M54833_IG12
+                       ;; size=7 bbWeight=0.50 PerfScore 1.62
 G_M54833_IG04:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, gword ptr [rbx+0x18]
        ; gcrRegs +[rdi]
-       lea      r15, bword ptr [rbx+0x30]
-       ; byrRegs +[r15]
-       mov      rsi, r15
+       lea      rsi, bword ptr [rbx+0x30]
        ; byrRegs +[rsi]
        cmp      dword ptr [rdi], edi
        call     [System.Collections.Generic.List`1[System.__Canon]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.__Canon]:this]
        ; gcrRegs -[rdi]
-       ; byrRegs -[rsi r15]
+       ; byrRegs -[rsi]
        mov      dword ptr [rbx+0x0C], 2
-                     ;; size=26 bbWeight=0.50 PerfScore 4.88
+                       ;; size=23 bbWeight=0.50 PerfScore 4.75
 G_M54833_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdi, qword ptr [rbx]
        mov      rsi, qword ptr [rdi+0x38]
@@ -77,19 +79,14 @@ G_M54833_IG07:        ; bbWeight=0.20, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      r15, rax
                        ;; size=18 bbWeight=0.20 PerfScore 0.30
 G_M54833_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       lea      rdi, bword ptr [rbx+0x30]
-       ; byrRegs +[rdi]
-       mov      r14, rdi
-       ; byrRegs +[r14]
        jmp      SHORT G_M54833_IG10
-                       ;; size=9 bbWeight=1 PerfScore 2.75
-G_M54833_IG09:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=4000 {r14}, byref, isz
-       ; byrRegs -[rdi]
-       mov      r13, gword ptr [rbx+0x38]
-       ; gcrRegs +[r13]
+                      ;; size=2 bbWeight=1 PerfScore 2.00
+G_M54833_IG09:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       mov      r14, gword ptr [rbx+0x38]
+       ; gcrRegs +[r14]
        mov      rax, gword ptr [rbx+0x20]
        ; gcrRegs +[rax]
-       mov      rsi, r13
+       mov      rsi, r14
        ; gcrRegs +[rsi]
        mov      rdi, gword ptr [rax+0x08]
        ; gcrRegs +[rdi]
@@ -97,59 +94,56 @@ G_M54833_IG09:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=4000 {r14},
        ; gcrRegs -[rax rsi rdi]
        test     eax, eax
        jne      SHORT G_M54833_IG14
-                      ;; size=22 bbWeight=2 PerfScore 21.00
-G_M54833_IG10:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=4000 {r14}, byref, isz
-       ; gcrRegs -[r13]
+                      ;; size=22 bbWeight=0.50 PerfScore 5.25
+G_M54833_IG10:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r14]
        mov      rsi, r15
-       mov      rdi, r14
+       lea      rdi, bword ptr [rbx+0x30]
        ; byrRegs +[rdi]
        call     [System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this]
        ; byrRegs -[rdi]
        test     eax, eax
        jne      SHORT G_M54833_IG09
-                      ;; size=16 bbWeight=4 PerfScore 19.00
-G_M54833_IG11:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       ; byrRegs -[r14]
+                      ;; size=17 bbWeight=1 PerfScore 5.00
+G_M54833_IG11:        ; bbWeight=0.12, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        xor      esi, esi
        mov      qword ptr [rbx+0x10], rsi
        mov      dword ptr [rbx+0x0C], -1
-                     ;; size=13 bbWeight=0.50 PerfScore 1.12
+                       ;; size=13 bbWeight=0.12 PerfScore 0.28
 G_M54833_IG12:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M54833_IG13:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 16
+       add      rsp, 8
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 1.88
-G_M54833_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[r13]
+                      ;; size=11 bbWeight=0.50 PerfScore 1.62
+G_M54833_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs +[r14]
        mov      rax, gword ptr [rbx+0x28]
        ; gcrRegs +[rax]
-       mov      rsi, r13
+       mov      rsi, r14
        ; gcrRegs +[rsi]
        mov      rdi, gword ptr [rax+0x08]
        ; gcrRegs +[rdi]
        call     [rax+0x18]<unknown method>
-       ; gcrRegs -[rax rsi rdi r13]
+       ; gcrRegs -[rax rsi rdi r14]
        mov      qword ptr [rbx+0x10], rax
        mov      eax, 1
                        ;; size=23 bbWeight=0.50 PerfScore 4.25
 G_M54833_IG15:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 16
+       add      rsp, 8
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 1.88
+                       ;; size=11 bbWeight=0.50 PerfScore 1.62
 
-; Total bytes of code 219, prolog size 21, PerfScore 79.90, instruction count 70, allocated bytes for code 219 (MethodHash=afa429ce) for method System.Linq.Enumerable+WhereSelectListIterator`2[System.__Canon,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts)
+; Total bytes of code 198, prolog size 16, PerfScore 47.68, instruction count 64, allocated bytes for code 198 (MethodHash=afa429ce) for method System.Linq.Enumerable+WhereSelectListIterator`2[System.__Canon,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -157,14 +151,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0C
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x07
+  CountOfUnwindCodes: 5
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0C UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
-    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r13 (13)
+    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
+    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
+27 (+77.14%) : 204895.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
@@ -9,7 +9,7 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  3,  3   )     ref  ->  rdi         this class-hnd single-def <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
-;  V01 loc0         [V01,T00] (  7, 22   )     ref  ->  rax         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
+;  V01 loc0         [V01,T00] ( 12, 24.50)     ref  ->  rax         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -24,26 +24,43 @@ G_M12955_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byr
        ; gcrRegs +[rax]
        jmp      SHORT G_M12955_IG04
                        ;; size=6 bbWeight=1 PerfScore 4.00
-G_M12955_IG03:        ; bbWeight=2, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
+G_M12955_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdi]
        mov      rax, gword ptr [rax+0x18]
-                        ;; size=4 bbWeight=2 PerfScore 4.00
-G_M12955_IG04:        ; bbWeight=8, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M12955_IG08
+                       ;; size=6 bbWeight=0.25 PerfScore 1.00
+G_M12955_IG04:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        test     rax, rax
-       je       SHORT G_M12955_IG06
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M12955_IG05:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M12955_IG10
+                       ;; size=5 bbWeight=1 PerfScore 1.25
+G_M12955_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        cmp      word  ptr [rax+0x34], 0
-       jne      SHORT G_M12955_IG06
+       jne      SHORT G_M12955_IG10
        cmp      gword ptr [rax+0x10], 0
        je       SHORT G_M12955_IG03
+                      ;; size=14 bbWeight=0.50 PerfScore 4.00
+G_M12955_IG06:        ; bbWeight=0.12, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M12955_IG10
+                       ;; size=2 bbWeight=0.12 PerfScore 0.25
+G_M12955_IG07:        ; bbWeight=2, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
+       mov      rax, gword ptr [rax+0x18]
+                       ;; size=4 bbWeight=2 PerfScore 4.00
+G_M12955_IG08:        ; bbWeight=8, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       test     rax, rax
+       je       SHORT G_M12955_IG10
+                       ;; size=5 bbWeight=8 PerfScore 10.00
+G_M12955_IG09:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       cmp      word  ptr [rax+0x34], 0
+       jne      SHORT G_M12955_IG10
+       cmp      gword ptr [rax+0x10], 0
+       je       SHORT G_M12955_IG07
                         ;; size=14 bbWeight=4 PerfScore 32.00
-G_M12955_IG06:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M12955_IG10:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
        pop      rbp
        ret      
                        ;; size=2 bbWeight=1 PerfScore 1.50
 
-; Total bytes of code 35, prolog size 4, PerfScore 52.75, instruction count 13, allocated bytes for code 35 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
+; Total bytes of code 62, prolog size 4, PerfScore 59.25, instruction count 22, allocated bytes for code 62 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+41 (+77.36%) : 18811.dasm - System.SpanHelpers:IndexOfAnyInRangelong:int (FullOpts)
@@ -8,18 +8,17 @@
 ; 2 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T06] (  3,  6   )   byref  ->  rdi         single-def
-;  V01 arg1         [V01,T05] (  4,  6.76)    long  ->  rsi         ld-addr-op single-def
-;  V02 arg2         [V02,T08] (  3,  4   )    long  ->  rdx         ld-addr-op single-def
-;  V03 arg3         [V03,T04] (  4,  7   )     int  ->  rcx         single-def
-;  V04 loc0         [V04,T01] (  6, 17.50)     int  ->  rax        
-;  V05 loc1         [V05,T07] (  2,  8   )   byref  ->   r8        
+;  V00 arg0         [V00,T06] (  4,  7   )   byref  ->  rdi         single-def
+;  V01 arg1         [V01,T05] (  6,  7.94)    long  ->  rsi         ld-addr-op single-def
+;  V02 arg2         [V02,T07] (  5,  5.26)    long  ->  rdx         ld-addr-op single-def
+;  V03 arg3         [V03,T04] (  5,  8   )     int  ->  rcx         single-def
+;  V04 loc0         [V04,T01] (  7, 18.50)     int  ->  rax        
+;  V05 loc1         [V05,T02] (  6, 12.50)   byref  ->   r8        
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V07 tmp1         [V07,T09] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
-;  V08 tmp2         [V08,T00] (  3, 17.51)    long  ->   r9         "Inlining Arg"
-;* V09 tmp3         [V09,T10] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
-;  V10 tmp4         [V10,T03] (  2,  8   )    long  ->   r8         "Inlining Arg"
-;  V11 cse0         [V11,T02] (  3, 10   )    long  ->   r8         "CSE - aggressive"
+;* V07 tmp1         [V07,T08] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
+;  V08 tmp2         [V08,T00] (  6, 21.89)    long  ->   r9         "Inlining Arg"
+;* V09 tmp3         [V09,T09] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
+;  V10 tmp4         [V10,T03] (  5, 11.51)    long  ->  r10         "Inlining Arg"
 ;
 ; Lcl frame size = 0
 
@@ -31,45 +30,73 @@ G_M61146_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byr
        ; byrRegs +[rdi]
        xor      eax, eax
        test     ecx, ecx
-       jle      SHORT G_M61146_IG07
-                       ;; size=6 bbWeight=1 PerfScore 1.50
-G_M61146_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+       jle      SHORT G_M61146_IG12
+       mov      r8, rdi
+       ; byrRegs +[r8]
+       mov      r9, qword ptr [r8]
+       cmp      rsi, r9
+       jl       SHORT G_M61146_IG04
+                       ;; size=17 bbWeight=1 PerfScore 5.00
+G_M61146_IG03:        ; bbWeight=0.19, gcrefRegs=0000 {}, byrefRegs=0180 {rdi r8}, byref, isz
+       cmp      rsi, r9
+       jg       SHORT G_M61146_IG05
+                       ;; size=5 bbWeight=0.19 PerfScore 0.24
+G_M61146_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0180 {rdi r8}, byref, isz
+       mov      r10, qword ptr [r8]
+       cmp      rdx, r10
+       jge      SHORT G_M61146_IG14
+                       ;; size=8 bbWeight=0.50 PerfScore 1.62
+G_M61146_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+       ; byrRegs -[r8]
+       mov      eax, 1
+       cmp      ecx, 1
+       jle      SHORT G_M61146_IG12
+                       ;; size=10 bbWeight=1 PerfScore 1.50
+G_M61146_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
        movsxd   r8, eax
        lea      r8, bword ptr [rdi+8*r8]
        ; byrRegs +[r8]
-       mov      r8, qword ptr [r8]
-       ; byrRegs -[r8]
-       mov      r9, r8
+       mov      r9, qword ptr [r8]
        cmp      rsi, r9
-       jl       SHORT G_M61146_IG05
-                       ;; size=18 bbWeight=4 PerfScore 17.00
-G_M61146_IG04:        ; bbWeight=0.76, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+       jl       SHORT G_M61146_IG08
+                       ;; size=15 bbWeight=4 PerfScore 16.00
+G_M61146_IG07:        ; bbWeight=0.76, gcrefRegs=0000 {}, byrefRegs=0180 {rdi r8}, byref, isz
        cmp      rsi, r9
-       jg       SHORT G_M61146_IG06
+       jg       SHORT G_M61146_IG11
                      ;; size=5 bbWeight=0.76 PerfScore 0.94
-G_M61146_IG05:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
-       cmp      rdx, r8
-       jge      SHORT G_M61146_IG09
-                       ;; size=5 bbWeight=2 PerfScore 2.50
-G_M61146_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+G_M61146_IG08:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0180 {rdi r8}, byref, isz
+       mov      r10, qword ptr [r8]
+       cmp      rdx, r10
+       jl       SHORT G_M61146_IG11
+                       ;; size=8 bbWeight=2 PerfScore 6.50
+G_M61146_IG09:        ; bbWeight=0.76, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       ; byrRegs -[rdi r8]
+       cmp      rdx, r10
+       jle      SHORT G_M61146_IG14
+                       ;; size=5 bbWeight=0.76 PerfScore 0.94
+G_M61146_IG10:        ; bbWeight=0.72, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M61146_IG14
+                       ;; size=2 bbWeight=0.72 PerfScore 1.44
+G_M61146_IG11:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+       ; byrRegs +[rdi]
        inc      eax
        cmp      eax, ecx
-       jl       SHORT G_M61146_IG03
+       jl       SHORT G_M61146_IG06
                      ;; size=6 bbWeight=4 PerfScore 6.00
-G_M61146_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M61146_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdi]
        mov      eax, -1
                        ;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M61146_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+G_M61146_IG13:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=2 bbWeight=0.50 PerfScore 0.75
-G_M61146_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M61146_IG14:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        pop      rbp
        ret      
                        ;; size=2 bbWeight=0.50 PerfScore 0.75
 
-; Total bytes of code 53, prolog size 4, PerfScore 30.82, instruction count 23, allocated bytes for code 53 (MethodHash=b5941125) for method System.SpanHelpers:IndexOfAnyInRange[long](byref,long,long,int):int (FullOpts)
+; Total bytes of code 94, prolog size 4, PerfScore 43.07, instruction count 38, allocated bytes for code 94 (MethodHash=b5941125) for method System.SpanHelpers:IndexOfAnyInRange[long](byref,long,long,int):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+28 (+116.67%) : 271500.dasm - System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
@@ -7,9 +7,9 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  5, 11   )     int  ->  rax        
-;  V01 arg1         [V01,T00] (  7, 19   )     int  ->  rsi        
-;  V02 loc0         [V02,T02] (  2,  8   )     int  ->  rdx        
+;  V00 arg0         [V00,T01] (  7, 13   )     int  ->  registers  
+;  V01 arg1         [V01,T00] ( 11, 23   )     int  ->  registers  
+;  V02 loc0         [V02,T02] (  4, 10   )     int  ->  rdx        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -21,22 +21,44 @@ G_M22426_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=6 bbWeight=1 PerfScore 1.50
 G_M22426_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        test     esi, esi
-       je       SHORT G_M22426_IG04
-                       ;; size=4 bbWeight=1 PerfScore 1.25
-G_M22426_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M22426_IG08
        xor      edx, edx
        div      edx:eax, esi
        mov      eax, esi
        mov      esi, edx
        test     esi, esi
-       jne      SHORT G_M22426_IG03
-                       ;; size=12 bbWeight=4 PerfScore 108.00
-G_M22426_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       je       SHORT G_M22426_IG07
+                       ;; size=16 bbWeight=1 PerfScore 28.25
+G_M22426_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       xor      edx, edx
+       div      edx:eax, esi
+       mov      eax, edx
+       test     eax, eax
+       jne      SHORT G_M22426_IG06
+                       ;; size=10 bbWeight=4 PerfScore 107.00
+G_M22426_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      eax, esi
+                       ;; size=2 bbWeight=1 PerfScore 0.25
+G_M22426_IG05:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=2 bbWeight=1 PerfScore 1.50
+G_M22426_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+       mov      ecx, eax
+       mov      eax, esi
+       mov      esi, ecx
+       jmp      SHORT G_M22426_IG03
+                       ;; size=8 bbWeight=2 PerfScore 5.50
+G_M22426_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      esi, eax
+       jmp      SHORT G_M22426_IG04
+                       ;; size=4 bbWeight=0.50 PerfScore 1.12
+G_M22426_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      esi, eax
+       jmp      SHORT G_M22426_IG04
+                       ;; size=4 bbWeight=0.50 PerfScore 1.12
 
-; Total bytes of code 24, prolog size 6, PerfScore 112.25, instruction count 13, allocated bytes for code 24 (MethodHash=f186a865) for method System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
+; Total bytes of code 52, prolog size 6, PerfScore 146.25, instruction count 27, allocated bytes for code 52 (MethodHash=f186a865) for method System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
libraries_tests.run.linux.x64.Release.mch
-26 (-15.66%) : 443200.dasm - System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]:NextRandom():ubyte:this (Tier1)
@@ -7,11 +7,11 @@
 ; 2 inlinees with PGO data; 6 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  3,  3   )     ref  ->  rdi         this class-hnd single-def <System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]>
-;  V01 loc0         [V01    ] (  2,  2   )   ubyte  ->  [rbp-0x24]  do-not-enreg[X] must-init addr-exposed ld-addr-op
+;  V00 this         [V00,T01] (  3,  3   )     ref  ->  rdi         this class-hnd single-def <System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]>
+;  V01 loc0         [V01    ] (  2,  2   )   ubyte  ->  [rbp-0x14]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V04 tmp2         [V04,T02] (  5,  5   )     ref  ->  rbx         class-hnd single-def "impAppendStmt" <System.Random>
+;  V04 tmp2         [V04,T00] (  5,  5   )     ref  ->  rbx         class-hnd single-def "impAppendStmt" <System.Random>
 ;* V05 tmp3         [V05    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Random>
 ;* V07 tmp5         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
@@ -19,23 +19,23 @@
 ;* V09 tmp7         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V10 tmp8         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V11 tmp9         [V11    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V12 tmp10        [V12,T05] (  5,  3   )     ref  ->  rdi         single-def "guarded devirt arg temp"
+;  V12 tmp10        [V12,T02] (  5,  3   )     ref  ->  rdi         single-def "guarded devirt arg temp"
 ;* V13 tmp11        [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <System.Random+Net5CompatSeedImpl>
-;  V14 tmp12        [V14,T00] (  5, 16.50)     int  ->  r14         "Inline stloc first use temp"
+;* V14 tmp12        [V14,T07] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V15 tmp13        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V16 tmp14        [V16,T01] (  2,  9   )   byref  ->  rbx         single-def "Inlining Arg"
+;  V16 tmp14        [V16,T03] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
 ;* V17 tmp15        [V17    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
-;  V18 tmp16        [V18,T06] (  2,  2   )   byref  ->  r15         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V18 tmp16        [V18,T04] (  2,  2   )   byref  ->  r15         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
 ;* V19 tmp17        [V19    ] (  0,  0   )     int  ->  zero-ref    single-def "field V03._length (fldOffset=0x8)" P-INDEP
 ;* V20 tmp18        [V20    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V21 tmp19        [V21    ] (  0,  0   )     int  ->  zero-ref    single-def "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V22 tmp20        [V22    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V07._reference (fldOffset=0x0)" P-INDEP
 ;* V23 tmp21        [V23    ] (  0,  0   )     int  ->  zero-ref    single-def "field V07._length (fldOffset=0x8)" P-INDEP
-;  V24 tmp22        [V24,T07] (  4,  1.50)   byref  ->  r15         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;  V24 tmp22        [V24,T05] (  4,  1.50)   byref  ->  r15         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
 ;* V25 tmp23        [V25,T08] (  0,  0   )     int  ->  zero-ref    single-def "field V08._length (fldOffset=0x8)" P-INDEP
 ;* V26 tmp24        [V26    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
 ;* V27 tmp25        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
-;  V28 tmp26        [V28,T04] (  2,  4.50)   byref  ->  r15         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V28 tmp26        [V28,T06] (  2,  1   )   byref  ->  r15         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V29 tmp27        [V29,T09] (  0,  0   )     int  ->  zero-ref    single-def "field V15._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 16
@@ -43,64 +43,51 @@
 G_M4386_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
-       push     r14
-       push     r13
        push     rbx
        sub      rsp, 16
-       lea      rbp, [rsp+0x30]
+       lea      rbp, [rsp+0x20]
        xor      eax, eax
-       mov      dword ptr [rbp-0x24], eax
-                       ;; size=22 bbWeight=1 PerfScore 7.00
+       mov      dword ptr [rbp-0x14], eax
+                       ;; size=18 bbWeight=1 PerfScore 5.00
 G_M4386_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
        mov      rbx, gword ptr [rdi+0x08]
        ; gcrRegs +[rbx]
-       lea      r15, bword ptr [rbp-0x24]
+       lea      r15, bword ptr [rbp-0x14]
        ; byrRegs +[r15]
        mov      edi, 1
        ; gcrRegs -[rdi]
        call     [<unknown method>]
        mov      rdi, 0xD1FFAB1E      ; System.Random
        cmp      qword ptr [rbx], rdi
-       jne      SHORT G_M4386_IG08
+       jne      SHORT G_M4386_IG07
                        ;; size=34 bbWeight=1 PerfScore 10.00
 G_M4386_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, byref, isz
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
        mov      rax, 0xD1FFAB1E      ; System.Random+Net5CompatSeedImpl
        cmp      qword ptr [rdi], rax
-       jne      SHORT G_M4386_IG07
-       lea      rbx, bword ptr [rdi+0x08]
-       ; gcrRegs -[rbx]
-       ; byrRegs +[rbx]
-       xor      r14d, r14d
-                       ;; size=26 bbWeight=0.50 PerfScore 3.50
-G_M4386_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
+       jne      SHORT G_M4386_IG06
+       add      rdi, 8
        ; gcrRegs -[rdi]
-       mov      r13d, r14d
-       mov      rdi, rbx
        ; byrRegs +[rdi]
        call     [System.Random+CompatPrng:InternalSample():int:this]
+       ; gcrRegs -[rbx]
        ; byrRegs -[rdi]
-       mov      byte  ptr [r15+r13], al
-       inc      r14d
-       test     r14d, r14d
-       jle      SHORT G_M4386_IG04
-                       ;; size=24 bbWeight=4 PerfScore 24.00
-G_M4386_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; byrRegs -[rbx r15]
-       movzx    rax, byte  ptr [rbp-0x24]
+       mov      byte  ptr [r15], al
+                       ;; size=32 bbWeight=0.50 PerfScore 5.25
+G_M4386_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       ; byrRegs -[r15]
+       movzx    rax, byte  ptr [rbp-0x14]
                       ;; size=4 bbWeight=1 PerfScore 1.00
-G_M4386_IG06:        ; bbWeight=1, epilog, nogc, extend
+G_M4386_IG05:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 16
        pop      rbx
-       pop      r13
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=1 PerfScore 3.75
-G_M4386_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=8000 {r15}, gcvars, byref, isz
+                        ;; size=9 bbWeight=1 PerfScore 2.75
+G_M4386_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=8000 {r15}, gcvars, byref, isz
        ; gcrRegs +[rdi]
        ; byrRegs +[r15]
        mov      rsi, r15
@@ -111,9 +98,9 @@ G_M4386_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0080 {r
        call     [rax+0x30]<unknown method>
        ; gcrRegs -[rdi]
        ; byrRegs -[rsi r15]
-       jmp      SHORT G_M4386_IG05
+       jmp      SHORT G_M4386_IG04
                         ;; size=20 bbWeight=0 PerfScore 0.00
-G_M4386_IG08:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, byref, isz
+G_M4386_IG07:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, byref, isz
        ; gcrRegs +[rbx]
        ; byrRegs +[r15]
        mov      rsi, r15
@@ -126,10 +113,10 @@ G_M4386_IG08:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, b
        call     [rax+0x28]System.Random:NextBytes(System.Span`1[ubyte]):this
        ; gcrRegs -[rbx rdi]
        ; byrRegs -[rsi r15]
-       jmp      SHORT G_M4386_IG05
+       jmp      SHORT G_M4386_IG04
                         ;; size=23 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 166, prolog size 22, PerfScore 49.25, instruction count 50, allocated bytes for code 166 (MethodHash=e971eedd) for method System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]:NextRandom():ubyte:this (Tier1)
+; Total bytes of code 140, prolog size 18, PerfScore 24.00, instruction count 40, allocated bytes for code 140 (MethodHash=e971eedd) for method System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]:NextRandom():ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -137,14 +124,12 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0C
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 4
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0C UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
-    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r13 (13)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
-26 (-15.57%) : 437728.dasm - System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]:NextRandom():byte:this (Tier1)
@@ -7,11 +7,11 @@
 ; 2 inlinees with PGO data; 6 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  3,  3   )     ref  ->  rdi         this class-hnd single-def <System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]>
-;  V01 loc0         [V01    ] (  2,  2   )    byte  ->  [rbp-0x24]  do-not-enreg[X] must-init addr-exposed ld-addr-op
+;  V00 this         [V00,T01] (  3,  3   )     ref  ->  rdi         this class-hnd single-def <System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]>
+;  V01 loc0         [V01    ] (  2,  2   )    byte  ->  [rbp-0x14]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[byte]>
-;  V04 tmp2         [V04,T02] (  5,  5   )     ref  ->  rbx         class-hnd single-def "impAppendStmt" <System.Random>
+;  V04 tmp2         [V04,T00] (  5,  5   )     ref  ->  rbx         class-hnd single-def "impAppendStmt" <System.Random>
 ;* V05 tmp3         [V05    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Random>
 ;* V07 tmp5         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[byte]>
@@ -19,23 +19,23 @@
 ;* V09 tmp7         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[byte]>
 ;* V10 tmp8         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V11 tmp9         [V11    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V12 tmp10        [V12,T05] (  5,  3   )     ref  ->  rdi         single-def "guarded devirt arg temp"
+;  V12 tmp10        [V12,T02] (  5,  3   )     ref  ->  rdi         single-def "guarded devirt arg temp"
 ;* V13 tmp11        [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <System.Random+Net5CompatSeedImpl>
-;  V14 tmp12        [V14,T00] (  5, 16.50)     int  ->  r14         "Inline stloc first use temp"
+;* V14 tmp12        [V14,T07] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V15 tmp13        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V16 tmp14        [V16,T01] (  2,  9   )   byref  ->  rbx         single-def "Inlining Arg"
+;  V16 tmp14        [V16,T03] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
 ;* V17 tmp15        [V17    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
-;  V18 tmp16        [V18,T06] (  2,  2   )   byref  ->  r15         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V18 tmp16        [V18,T04] (  2,  2   )   byref  ->  r15         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
 ;* V19 tmp17        [V19    ] (  0,  0   )     int  ->  zero-ref    single-def "field V03._length (fldOffset=0x8)" P-INDEP
 ;* V20 tmp18        [V20    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V21 tmp19        [V21    ] (  0,  0   )     int  ->  zero-ref    single-def "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V22 tmp20        [V22    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V07._reference (fldOffset=0x0)" P-INDEP
 ;* V23 tmp21        [V23    ] (  0,  0   )     int  ->  zero-ref    single-def "field V07._length (fldOffset=0x8)" P-INDEP
-;  V24 tmp22        [V24,T07] (  4,  1.50)   byref  ->  r15         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;  V24 tmp22        [V24,T05] (  4,  1.50)   byref  ->  r15         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
 ;* V25 tmp23        [V25,T08] (  0,  0   )     int  ->  zero-ref    single-def "field V08._length (fldOffset=0x8)" P-INDEP
 ;* V26 tmp24        [V26    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
 ;* V27 tmp25        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
-;  V28 tmp26        [V28,T04] (  2,  4.50)   byref  ->  r15         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V28 tmp26        [V28,T06] (  2,  1   )   byref  ->  r15         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V29 tmp27        [V29,T09] (  0,  0   )     int  ->  zero-ref    single-def "field V15._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 16
@@ -43,64 +43,51 @@
 G_M24034_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
-       push     r14
-       push     r13
        push     rbx
        sub      rsp, 16
-       lea      rbp, [rsp+0x30]
+       lea      rbp, [rsp+0x20]
        xor      eax, eax
-       mov      dword ptr [rbp-0x24], eax
-                       ;; size=22 bbWeight=1 PerfScore 7.00
+       mov      dword ptr [rbp-0x14], eax
+                       ;; size=18 bbWeight=1 PerfScore 5.00
 G_M24034_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
        mov      rbx, gword ptr [rdi+0x08]
        ; gcrRegs +[rbx]
-       lea      r15, bword ptr [rbp-0x24]
+       lea      r15, bword ptr [rbp-0x14]
        ; byrRegs +[r15]
        mov      edi, 1
        ; gcrRegs -[rdi]
        call     [<unknown method>]
        mov      rdi, 0xD1FFAB1E      ; System.Random
        cmp      qword ptr [rbx], rdi
-       jne      SHORT G_M24034_IG08
+       jne      SHORT G_M24034_IG07
                      ;; size=34 bbWeight=1 PerfScore 10.00
 G_M24034_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, byref, isz
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
        mov      rax, 0xD1FFAB1E      ; System.Random+Net5CompatSeedImpl
        cmp      qword ptr [rdi], rax
-       jne      SHORT G_M24034_IG07
-       lea      rbx, bword ptr [rdi+0x08]
-       ; gcrRegs -[rbx]
-       ; byrRegs +[rbx]
-       xor      r14d, r14d
-                       ;; size=26 bbWeight=0.50 PerfScore 3.50
-G_M24034_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
+       jne      SHORT G_M24034_IG06
+       add      rdi, 8
        ; gcrRegs -[rdi]
-       mov      r13d, r14d
-       mov      rdi, rbx
        ; byrRegs +[rdi]
        call     [System.Random+CompatPrng:InternalSample():int:this]
+       ; gcrRegs -[rbx]
        ; byrRegs -[rdi]
-       mov      byte  ptr [r15+r13], al
-       inc      r14d
-       test     r14d, r14d
-       jle      SHORT G_M24034_IG04
-                       ;; size=24 bbWeight=4 PerfScore 24.00
-G_M24034_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; byrRegs -[rbx r15]
-       movsx    rax, byte  ptr [rbp-0x24]
+       mov      byte  ptr [r15], al
+                       ;; size=32 bbWeight=0.50 PerfScore 5.25
+G_M24034_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       ; byrRegs -[r15]
+       movsx    rax, byte  ptr [rbp-0x14]
                       ;; size=5 bbWeight=1 PerfScore 3.00
-G_M24034_IG06:        ; bbWeight=1, epilog, nogc, extend
+G_M24034_IG05:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 16
        pop      rbx
-       pop      r13
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=1 PerfScore 3.75
-G_M24034_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=8000 {r15}, gcvars, byref, isz
+                       ;; size=9 bbWeight=1 PerfScore 2.75
+G_M24034_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=8000 {r15}, gcvars, byref, isz
        ; gcrRegs +[rdi]
        ; byrRegs +[r15]
        mov      rsi, r15
@@ -111,9 +98,9 @@ G_M24034_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0080 {
        call     [rax+0x30]<unknown method>
        ; gcrRegs -[rdi]
        ; byrRegs -[rsi r15]
-       jmp      SHORT G_M24034_IG05
+       jmp      SHORT G_M24034_IG04
                       ;; size=20 bbWeight=0 PerfScore 0.00
-G_M24034_IG08:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, byref, isz
+G_M24034_IG07:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, byref, isz
        ; gcrRegs +[rbx]
        ; byrRegs +[r15]
        mov      rsi, r15
@@ -126,10 +113,10 @@ G_M24034_IG08:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15},
        call     [rax+0x28]System.Random:NextBytes(System.Span`1[ubyte]):this
        ; gcrRegs -[rbx rdi]
        ; byrRegs -[rsi r15]
-       jmp      SHORT G_M24034_IG05
+       jmp      SHORT G_M24034_IG04
                       ;; size=23 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 167, prolog size 22, PerfScore 51.25, instruction count 50, allocated bytes for code 167 (MethodHash=a7c0a21d) for method System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]:NextRandom():byte:this (Tier1)
+; Total bytes of code 141, prolog size 18, PerfScore 26.00, instruction count 40, allocated bytes for code 141 (MethodHash=a7c0a21d) for method System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]:NextRandom():byte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -137,14 +124,12 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0C
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 4
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0C UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
-    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r13 (13)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
-45 (-13.72%) : 705781.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1785_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
@@ -8,82 +8,77 @@
 ; 5 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] ( 21, 91   )     ref  ->  rbx         class-hnd single-def <System.Text.RegularExpressions.RegexRunner>
+;  V00 arg0         [V00,T00] ( 21, 17.50)     ref  ->  rbx         class-hnd single-def <System.Text.RegularExpressions.RegexRunner>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.ReadOnlySpan`1[ushort]>
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T02] (  7, 42   )     int  ->  r15         single-def
-;  V04 loc2         [V04,T22] (  2,  2   )     int  ->  r15         single-def
+;  V03 loc1         [V03,T01] (  7,  7   )     int  ->  r15         single-def
+;  V04 loc2         [V04,T17] (  2,  2   )     int  ->  r15         single-def
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
-;  V06 loc4         [V06,T00] ( 12, 89   )     int  ->  r14        
+;* V06 loc4         [V06,T08] (  0,  0   )     int  ->  zero-ref   
 ;* V07 loc5         [V07    ] (  0,  0   )     int  ->  zero-ref   
-;* V08 loc6         [V08,T13] (  0,  0   )     int  ->  zero-ref   
-;  V09 loc7         [V09,T07] (  4, 32   )     int  ->  r13        
+;* V08 loc6         [V08,T18] (  0,  0   )     int  ->  zero-ref   
+;* V09 loc7         [V09,T19] (  0,  0   )     int  ->  zero-ref   
 ;* V10 loc8         [V10    ] (  0,  0   )     int  ->  zero-ref   
 ;* V11 loc9         [V11    ] (  0,  0   )     int  ->  zero-ref   
 ;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V13 tmp1         [V13,T03] (  3, 48   )     ref  ->  rdi         class-hnd "impAppendStmt" <<unknown class>>
-;  V14 tmp2         [V14,T12] (  2, 32   )     int  ->  rdx         "Strict ordering of exceptions for Array store"
+;  V13 tmp1         [V13,T02] (  3,  6   )     ref  ->  rdi         class-hnd "impAppendStmt" <<unknown class>>
+;  V14 tmp2         [V14,T14] (  2,  4   )     int  ->  rdx         "Strict ordering of exceptions for Array store"
 ;* V15 tmp3         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp4         [V16    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V17 tmp5         [V17    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V18 tmp6         [V18,T15] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V19 tmp7         [V19,T16] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V18 tmp6         [V18,T20] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V19 tmp7         [V19,T21] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp8         [V20    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V21 tmp9         [V21,T08] (  4, 32   )     int  ->  rdi         "Inline stloc first use temp"
-;  V22 tmp10        [V22,T04] (  3, 48   )     ref  ->  rcx         class-hnd "impAppendStmt" <<unknown class>>
-;* V23 tmp11        [V23,T17] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V24 tmp12        [V24,T05] (  2, 18   )     int  ->  r13         "Inlining Arg"
+;  V21 tmp9         [V21,T09] (  4,  4   )     int  ->  rdi         "Inline stloc first use temp"
+;  V22 tmp10        [V22,T03] (  3,  6   )     ref  ->  rcx         class-hnd "impAppendStmt" <<unknown class>>
+;* V23 tmp11        [V23,T22] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V24 tmp12        [V24,T05] (  2,  4   )     int  ->  r15         "Inlining Arg"
 ;* V25 tmp13        [V25    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline stloc first use temp"
-;  V26 tmp14        [V26,T20] (  4,  4   )     int  ->  rdi         single-def "Inline stloc first use temp"
-;  V27 tmp15        [V27,T19] (  3,  6   )     ref  ->  rcx         class-hnd single-def "impAppendStmt" <<unknown class>>
-;  V28 tmp16        [V28,T21] (  1,  1   )   byref  ->  rsi         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
-;  V29 tmp17        [V29,T18] (  3, 10   )     int  ->  rdx         single-def "field V01._length (fldOffset=0x8)" P-INDEP
+;  V26 tmp14        [V26,T10] (  4,  4   )     int  ->  rdi         single-def "Inline stloc first use temp"
+;  V27 tmp15        [V27,T04] (  3,  6   )     ref  ->  rcx         class-hnd single-def "impAppendStmt" <<unknown class>>
+;  V28 tmp16        [V28,T16] (  1,  1   )   byref  ->  rsi         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
+;  V29 tmp17        [V29,T06] (  3,  3   )     int  ->  rdx         single-def "field V01._length (fldOffset=0x8)" P-INDEP
 ;* V30 tmp18        [V30    ] (  0,  0   )   byref  ->  zero-ref    "field V02._reference (fldOffset=0x0)" P-INDEP
 ;* V31 tmp19        [V31    ] (  0,  0   )     int  ->  zero-ref    single-def "field V02._length (fldOffset=0x8)" P-INDEP
 ;* V32 tmp20        [V32    ] (  0,  0   )   byref  ->  zero-ref    "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V33 tmp21        [V33    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V34 tmp22        [V34    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V35 tmp23        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
-;  V36 tmp24        [V36,T10] (  2, 32   )     ref  ->  rdi         "arr expr"
-;  V37 tmp25        [V37,T11] (  2, 32   )     ref  ->  rcx         "arr expr"
-;  V38 cse0         [V38,T06] (  4, 32   )     ref  ->  rcx         "CSE - moderate"
-;  V39 cse1         [V39,T14] (  3, 24   )     int  ->  rsi         "CSE - moderate"
-;  V40 cse2         [V40,T09] (  4, 32   )     int  ->  rax         "CSE - moderate"
+;  V36 tmp24        [V36,T12] (  2,  4   )     ref  ->  rdi         "arr expr"
+;  V37 tmp25        [V37,T13] (  2,  4   )     ref  ->  rcx         "arr expr"
+;  V38 cse0         [V38,T07] (  4,  4   )     ref  ->  rcx         "CSE - moderate"
+;  V39 cse1         [V39,T15] (  3,  3   )     int  ->  rsi         "CSE - moderate"
+;  V40 cse2         [V40,T23] (  2,  0.50)   byref  ->  rdi         "CSE - moderate"
+;  V41 cse3         [V41,T11] (  4,  4   )     int  ->  rax         "CSE - moderate"
 ;
 ; Lcl frame size = 0
 
 G_M37340_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
-       push     r14
-       push     r13
        push     rbx
-       lea      rbp, [rsp+0x20]
+       lea      rbp, [rsp+0x10]
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=16 bbWeight=1 PerfScore 5.75
-G_M37340_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+                       ;; size=12 bbWeight=1 PerfScore 3.75
+G_M37340_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      r15d, dword ptr [rbx+0x4C]
-       xor      r14d, r14d
        cmp      r15d, edx
-       ja       G_M37340_IG10
-                       ;; size=16 bbWeight=1 PerfScore 3.50
-G_M37340_IG03:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ja       G_M37340_IG09
        sub      edx, r15d
        mov      edi, edx
        not      edi
        shr      edi, 31
        call     [<unknown method>]
-       xor      r13d, r13d
        mov      rsi, gword ptr [rbx+0x18]
        ; gcrRegs +[rsi]
        mov      esi, dword ptr [rsi+0x08]
        ; gcrRegs -[rsi]
        add      esi, -2
-       cmp      esi, r14d
-       jg       SHORT G_M37340_IG05
-                       ;; size=34 bbWeight=8 PerfScore 80.00
-G_M37340_IG04:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       test     esi, esi
+       jg       SHORT G_M37340_IG04
+                       ;; size=43 bbWeight=1 PerfScore 13.00
+G_M37340_IG03:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rsi, gword ptr [rbx+0x18]
        ; gcrRegs +[rsi]
        mov      esi, dword ptr [rsi+0x08]
@@ -93,8 +88,8 @@ G_M37340_IG04:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; byrRegs +[rdi]
        call     [System.Array:Resize[int](byref,int)]
        ; byrRegs -[rdi]
-                      ;; size=19 bbWeight=2 PerfScore 15.50
-G_M37340_IG05:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+                       ;; size=19 bbWeight=0.25 PerfScore 1.94
+G_M37340_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rbx+0x18]
        ; gcrRegs +[rcx]
        mov      rdi, rcx
@@ -106,35 +101,29 @@ G_M37340_IG05:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      esi, dword ptr [rbx+0x58]
        sub      edx, esi
        mov      eax, dword ptr [rdi+0x08]
-       cmp      r14d, eax
-       jae      G_M37340_IG09
-       mov      r8d, r14d
-       mov      dword ptr [rdi+4*r8+0x10], edx
-       inc      r14d
+       test     eax, eax
+       je       G_M37340_IG08
+       mov      dword ptr [rdi+0x10], edx
        mov      rdi, rcx
-       cmp      r14d, eax
-       jae      G_M37340_IG09
-       mov      edx, r14d
-       mov      dword ptr [rdi+4*rdx+0x10], r13d
-       inc      r14d
-       cmp      r14d, eax
-       jae      G_M37340_IG09
-       mov      edi, r14d
-       ; gcrRegs -[rdi]
-       mov      dword ptr [rcx+4*rdi+0x10], r15d
-       mov      r13d, r15d
+       cmp      eax, 1
+       jbe      G_M37340_IG08
+       xor      edx, edx
+       mov      dword ptr [rdi+0x14], edx
+       cmp      eax, 2
+       jbe      SHORT G_M37340_IG08
+       mov      dword ptr [rcx+0x18], r15d
        test     esi, esi
-       je       G_M37340_IG11
-                       ;; size=93 bbWeight=8 PerfScore 162.00
-G_M37340_IG06:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rcx]
+       je       SHORT G_M37340_IG10
+                       ;; size=63 bbWeight=1 PerfScore 19.00
+G_M37340_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rcx rdi]
        mov      rcx, gword ptr [rbx+0x20]
        ; gcrRegs +[rcx]
        mov      edi, dword ptr [rbx+0x58]
        dec      edi
        mov      dword ptr [rbx+0x58], edi
        cmp      edi, dword ptr [rcx+0x08]
-       jae      SHORT G_M37340_IG09
+       jae      SHORT G_M37340_IG08
        mov      dword ptr [rcx+4*rdi+0x10], 1
        xor      ecx, ecx
        ; gcrRegs -[rcx]
@@ -147,61 +136,59 @@ G_M37340_IG06:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs -[rdi]
        mov      dword ptr [rbx+0x4C], r15d
        cmp      dword ptr [rbx+0x58], 0
-       je       SHORT G_M37340_IG12
-                       ;; size=57 bbWeight=8 PerfScore 192.00
-G_M37340_IG07:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M37340_IG11
+                       ;; size=57 bbWeight=1 PerfScore 24.00
+G_M37340_IG06:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rbx+0x20]
        ; gcrRegs +[rcx]
        mov      edi, dword ptr [rbx+0x58]
        dec      edi
        mov      dword ptr [rbx+0x58], edi
        cmp      edi, dword ptr [rcx+0x08]
-       jae      SHORT G_M37340_IG09
+       jae      SHORT G_M37340_IG08
        xor      edx, edx
        mov      dword ptr [rcx+4*rdi+0x10], edx
        xor      ecx, ecx
        ; gcrRegs -[rcx]
        mov      rdi, gword ptr [rbx+0x28]
        ; gcrRegs +[rdi]
-       mov      edx, r13d
+       mov      edx, r15d
        xor      esi, esi
        cmp      dword ptr [rdi], edi
        call     [<unknown method>]
        ; gcrRegs -[rbx rdi]
        mov      eax, 1
                        ;; size=47 bbWeight=1 PerfScore 19.50
-G_M37340_IG08:        ; bbWeight=1, epilog, nogc, extend
+G_M37340_IG07:        ; bbWeight=1, epilog, nogc, extend
        pop      rbx
-       pop      r13
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=9 bbWeight=1 PerfScore 3.50
-G_M37340_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                      ;; size=5 bbWeight=1 PerfScore 2.50
+G_M37340_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M37340_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M37340_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M37340_IG11:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M37340_IG10:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rbx]
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        call     [System.Text.RegularExpressions.RegexRunner:DoubleCrawl():this]
        ; gcrRegs -[rdi]
-       jmp      G_M37340_IG06
+       jmp      G_M37340_IG05
                       ;; size=14 bbWeight=0 PerfScore 0.00
-G_M37340_IG12:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M37340_IG11:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        call     [System.Text.RegularExpressions.RegexRunner:DoubleCrawl():this]
        ; gcrRegs -[rdi]
-       jmp      SHORT G_M37340_IG07
+       jmp      SHORT G_M37340_IG06
                       ;; size=11 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 328, prolog size 13, PerfScore 481.75, instruction count 98, allocated bytes for code 328 (MethodHash=5e586e23) for method System.Text.RegularExpressions.CompiledRegexRunner:Regex1785_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
+; Total bytes of code 283, prolog size 9, PerfScore 83.69, instruction count 87, allocated bytes for code 283 (MethodHash=5e586e23) for method System.Text.RegularExpressions.CompiledRegexRunner:Regex1785_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
...
  
+47 (+77.05%) : 182848.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousIfElifElseOrRegion(Roslyn.Utilities.ConsList1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList1Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive
@@ -10,12 +10,13 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  3,  3   )     ref  ->  rdi         class-hnd single-def <Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]>
-;  V01 loc0         [V01,T01] (  7,  2.89)     ref  ->  rdi         class-hnd <Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]>
-;  V02 loc1         [V02,T02] (  3,  0.33)  ushort  ->  rax        
+;  V01 loc0         [V01,T01] ( 12,  4.39)     ref  ->  rdi         class-hnd <Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]>
+;  V02 loc1         [V02,T02] (  6,  0.63)  ushort  ->  rdx        
 ;* V03 loc2         [V03    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <<unknown class>>
-;  V06 tmp2         [V06,T03] (  2,  0.22)     ref  ->  rax         "field V03._node (fldOffset=0x0)" P-INDEP
+;  V06 tmp2         [V06,T04] (  4,  0.42)     ref  ->  rcx         "field V03._node (fldOffset=0x0)" P-INDEP
+;  V07 cse0         [V07,T03] (  3,  0.62)     ref  ->  rax         "CSE - conservative"
 ;
 ; Lcl frame size = 0
 
@@ -23,40 +24,63 @@ G_M207_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, n
        push     rbp
        mov      rbp, rsp
                        ;; size=4 bbWeight=1 PerfScore 1.25
-G_M207_IG02:        ; bbWeight=1.11, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+G_M207_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       SHORT G_M207_IG04
-                       ;; size=5 bbWeight=1.11 PerfScore 1.39
-G_M207_IG03:        ; bbWeight=0.22, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M207_IG07
+                       ;; size=5 bbWeight=1 PerfScore 1.25
+G_M207_IG03:        ; bbWeight=0.20, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        mov      rax, 0xD1FFAB1E      ; const ptr
-       cmp      rdi, gword ptr [rax]
-       jne      SHORT G_M207_IG06
-                       ;; size=15 bbWeight=0.22 PerfScore 0.94
-G_M207_IG04:        ; bbWeight=0.22, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+       mov      rax, gword ptr [rax]
+       ; gcrRegs +[rax]
+       cmp      rdi, rax
+       jne      SHORT G_M207_IG09
+       jmp      SHORT G_M207_IG07
+                       ;; size=20 bbWeight=0.20 PerfScore 1.10
+G_M207_IG04:        ; bbWeight=0.11, gcrefRegs=0081 {rax rdi}, byrefRegs=0000 {}, byref, isz
+       mov      rcx, gword ptr [rdi+0x10]
+       ; gcrRegs +[rcx]
+       movzx    rdx, word  ptr [rcx+0x0C]
+       lea      ecx, [rdx-0x2164]
+       ; gcrRegs -[rcx]
+       cmp      ecx, 2
+       jbe      SHORT G_M207_IG07
+       cmp      edx, 0x2168
+       je       SHORT G_M207_IG07
+       mov      rdi, gword ptr [rdi+0x08]
+                       ;; size=31 bbWeight=0.11 PerfScore 1.00
+G_M207_IG05:        ; bbWeight=1.11, gcrefRegs=0081 {rax rdi}, byrefRegs=0000 {}, byref, isz
+       test     rdi, rdi
+       je       SHORT G_M207_IG07
+                       ;; size=5 bbWeight=1.11 PerfScore 1.39
+G_M207_IG06:        ; bbWeight=0.22, gcrefRegs=0081 {rax rdi}, byrefRegs=0000 {}, byref, isz
+       cmp      rdi, rax
+       jne      SHORT G_M207_IG04
+                       ;; size=5 bbWeight=0.22 PerfScore 0.28
+G_M207_IG07:        ; bbWeight=0.22, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rax]
        mov      rax, rdi
        ; gcrRegs +[rax]
                        ;; size=3 bbWeight=0.22 PerfScore 0.06
-G_M207_IG05:        ; bbWeight=0.22, epilog, nogc, extend
+G_M207_IG08:        ; bbWeight=0.22, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=2 bbWeight=0.22 PerfScore 0.33
-G_M207_IG06:        ; bbWeight=0.11, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; gcrRegs -[rax]
-       mov      rax, gword ptr [rdi+0x10]
-       ; gcrRegs +[rax]
-       movzx    rax, word  ptr [rax+0x0C]
-       ; gcrRegs -[rax]
-       lea      ecx, [rax-0x2164]
+G_M207_IG09:        ; bbWeight=0.10, gcVars=0000000000000000 {}, gcrefRegs=0081 {rax rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+       mov      rcx, gword ptr [rdi+0x10]
+       ; gcrRegs +[rcx]
+       movzx    rdx, word  ptr [rcx+0x0C]
+       lea      ecx, [rdx-0x2164]
+       ; gcrRegs -[rcx]
        cmp      ecx, 2
-       jbe      SHORT G_M207_IG04
-       cmp      eax, 0x2168
-       je       SHORT G_M207_IG04
+       jbe      SHORT G_M207_IG07
+       cmp      edx, 0x2168
+       je       SHORT G_M207_IG07
        mov      rdi, gword ptr [rdi+0x08]
-       jmp      SHORT G_M207_IG02
-                       ;; size=32 bbWeight=0.11 PerfScore 1.22
+       jmp      SHORT G_M207_IG05
+                       ;; size=33 bbWeight=0.10 PerfScore 1.10
 
-; Total bytes of code 61, prolog size 4, PerfScore 5.19, instruction count 19, allocated bytes for code 61 (MethodHash=7934ff30) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousIfElifElseOrRegion(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (Tier1)
+; Total bytes of code 108, prolog size 4, PerfScore 7.76, instruction count 33, allocated bytes for code 108 (MethodHash=7934ff30) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousIfElifElseOrRegion(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+47 (+77.05%) : 707904.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousIfElifElseOrRegion(Roslyn.Utilities.ConsList1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList1Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive
@@ -9,55 +9,82 @@
 ; 0 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  3,  3   )     ref  ->  rdi         class-hnd single-def <Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]>
-;  V01 loc0         [V01,T00] (  7, 11.60)     ref  ->  rdi         class-hnd <Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]>
-;  V02 loc1         [V02,T02] (  3,  4.91)  ushort  ->  rax        
+;  V00 arg0         [V00,T02] (  3,  3   )     ref  ->  rdi         class-hnd single-def <Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]>
+;  V01 loc0         [V01,T00] ( 12, 15.24)     ref  ->  rdi         class-hnd <Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]>
+;  V02 loc1         [V02,T01] (  6,  6.78)  ushort  ->  rdx        
 ;* V03 loc2         [V03    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <<unknown class>>
-;  V06 tmp2         [V06,T03] (  2,  3.28)     ref  ->  rax         "field V03._node (fldOffset=0x0)" P-INDEP
+;  V06 tmp2         [V06,T03] (  4,  4.52)     ref  ->  rcx         "field V03._node (fldOffset=0x0)" P-INDEP
+;  V07 cse0         [V07,T04] (  3,  3.60)     ref  ->  rax         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
-G_M207_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+G_M207_IG01:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        mov      rbp, rsp
-                     ;; size=4 bbWeight=1 PerfScore 1.25
-G_M207_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+                        ;; size=4 bbWeight=1.00 PerfScore 1.25
+G_M207_IG02:        ; bbWeight=1.00, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
-       jmp      SHORT G_M207_IG04
-                       ;; size=2 bbWeight=1 PerfScore 2.00
-G_M207_IG03:        ; bbWeight=1.64, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
-       mov      rax, gword ptr [rdi+0x10]
-       ; gcrRegs +[rax]
-       movzx    rax, word  ptr [rax+0x0C]
-       ; gcrRegs -[rax]
-       lea      ecx, [rax-0x2164]
-       cmp      ecx, 2
-       jbe      SHORT G_M207_IG06
-       cmp      eax, 0x2168
-       je       SHORT G_M207_IG06
-       mov      rdi, gword ptr [rdi+0x08]
-                       ;; size=30 bbWeight=1.64 PerfScore 14.74
-G_M207_IG04:        ; bbWeight=2.64, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        test     rdi, rdi
-       je       SHORT G_M207_IG06
-                       ;; size=5 bbWeight=2.64 PerfScore 3.30
-G_M207_IG05:        ; bbWeight=2.05, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M207_IG08
+                       ;; size=5 bbWeight=1.00 PerfScore 1.25
+G_M207_IG03:        ; bbWeight=0.78, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        mov      rax, 0xD1FFAB1E      ; const ptr
-       cmp      rdi, gword ptr [rax]
-       jne      SHORT G_M207_IG03
-                       ;; size=15 bbWeight=2.05 PerfScore 8.70
-G_M207_IG06:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+       mov      rax, gword ptr [rax]
+       ; gcrRegs +[rax]
+       cmp      rdi, rax
+       jne      SHORT G_M207_IG10
+                       ;; size=18 bbWeight=0.78 PerfScore 2.72
+G_M207_IG04:        ; bbWeight=0.38, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
+       jmp      SHORT G_M207_IG08
+                       ;; size=2 bbWeight=0.38 PerfScore 0.76
+G_M207_IG05:        ; bbWeight=1.64, gcrefRegs=0081 {rax rdi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[rax]
+       mov      rcx, gword ptr [rdi+0x10]
+       ; gcrRegs +[rcx]
+       movzx    rdx, word  ptr [rcx+0x0C]
+       lea      ecx, [rdx-0x2164]
+       ; gcrRegs -[rcx]
+       cmp      ecx, 2
+       jbe      SHORT G_M207_IG08
+       cmp      edx, 0x2168
+       je       SHORT G_M207_IG08
+       mov      rdi, gword ptr [rdi+0x08]
+                       ;; size=31 bbWeight=1.64 PerfScore 14.74
+G_M207_IG06:        ; bbWeight=2.64, gcrefRegs=0081 {rax rdi}, byrefRegs=0000 {}, byref, isz
+       test     rdi, rdi
+       je       SHORT G_M207_IG08
+                       ;; size=5 bbWeight=2.64 PerfScore 3.30
+G_M207_IG07:        ; bbWeight=2.05, gcrefRegs=0081 {rax rdi}, byrefRegs=0000 {}, byref, isz
+       cmp      rdi, rax
+       jne      SHORT G_M207_IG05
+                       ;; size=5 bbWeight=2.05 PerfScore 2.56
+G_M207_IG08:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rax]
        mov      rax, rdi
        ; gcrRegs +[rax]
                        ;; size=3 bbWeight=1 PerfScore 0.25
-G_M207_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M207_IG09:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=2 bbWeight=1 PerfScore 1.50
+G_M207_IG10:        ; bbWeight=0.62, gcVars=0000000000000000 {}, gcrefRegs=0081 {rax rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+       mov      rcx, gword ptr [rdi+0x10]
+       ; gcrRegs +[rcx]
+       movzx    rdx, word  ptr [rcx+0x0C]
+       lea      ecx, [rdx-0x2164]
+       ; gcrRegs -[rcx]
+       cmp      ecx, 2
+       jbe      SHORT G_M207_IG08
+       cmp      edx, 0x2168
+       je       SHORT G_M207_IG08
+       mov      rdi, gword ptr [rdi+0x08]
+       jmp      SHORT G_M207_IG06
+                       ;; size=33 bbWeight=0.62 PerfScore 6.83
 
-; Total bytes of code 61, prolog size 4, PerfScore 31.74, instruction count 19, allocated bytes for code 61 (MethodHash=7934ff30) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousIfElifElseOrRegion(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (Tier1)
+; Total bytes of code 108, prolog size 4, PerfScore 35.15, instruction count 33, allocated bytes for code 108 (MethodHash=7934ff30) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousIfElifElseOrRegion(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+33 (+80.49%) : 721837.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (Tier1)
@@ -8,13 +8,14 @@
 ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 9
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  8,  4.33)     ref  ->  rdi         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]>
-;  V01 arg1         [V01,T01] (  6,  4.11)     int  ->  rsi        
+;  V00 this         [V00,T01] ( 13,  5.53)     ref  ->  rdi         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]>
+;  V01 arg1         [V01,T00] ( 10,  6.01)     int  ->  rsi        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T05] (  2,  0   )     int  ->  rsi         "arg temp"
-;  V04 tmp2         [V04,T04] (  2,  0   )     ref  ->  rdi         single-def "arg temp"
-;  V05 tmp3         [V05,T03] (  2,  0.44)     ref  ->  rdi         single-def "arg temp"
-;  V06 cse0         [V06,T02] (  4,  3.22)     int  ->  rcx         "CSE - aggressive"
+;  V03 tmp1         [V03,T06] (  4,  0   )     int  ->  rsi         "arg temp"
+;  V04 tmp2         [V04,T05] (  4,  0   )     ref  ->  rdi         "arg temp"
+;  V05 tmp3         [V05,T04] (  4,  0.84)     ref  ->  rdi         "arg temp"
+;  V06 cse0         [V06,T02] (  4,  3.22)     int  ->  rdx         "CSE - aggressive"
+;  V07 cse1         [V07,T03] (  4,  2.90)     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -22,38 +23,63 @@ G_M39152_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        push     rbp
        mov      rbp, rsp
                        ;; size=4 bbWeight=1 PerfScore 1.25
-G_M39152_IG02:        ; bbWeight=1.11, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+G_M39152_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
        mov      rax, gword ptr [rdi+0x10]
        ; gcrRegs +[rax]
        mov      ecx, dword ptr [rax+0x20]
        cmp      esi, ecx
-       jl       SHORT G_M39152_IG05
-                       ;; size=11 bbWeight=1.11 PerfScore 5.83
-G_M39152_IG03:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       jl       SHORT G_M39152_IG09
+                       ;; size=11 bbWeight=1 PerfScore 5.25
+G_M39152_IG03:        ; bbWeight=0.90, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
        cmp      esi, ecx
-       jg       SHORT G_M39152_IG06
+       jg       SHORT G_M39152_IG11
+                       ;; size=4 bbWeight=0.90 PerfScore 1.12
+G_M39152_IG04:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        lea      rax, bword ptr [rdi+0x08]
        ; byrRegs +[rax]
-                      ;; size=8 bbWeight=1 PerfScore 1.75
-G_M39152_IG04:        ; bbWeight=1, epilog, nogc, extend
+                     ;; size=4 bbWeight=1 PerfScore 0.50
+G_M39152_IG05:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=2 bbWeight=1 PerfScore 1.50
-G_M39152_IG05:        ; bbWeight=0.11, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M39152_IG06:        ; bbWeight=1.11, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref, isz
        ; byrRegs -[rax]
+       mov      rax, gword ptr [rdi+0x10]
+       ; gcrRegs +[rax]
+       mov      edx, dword ptr [rax+0x20]
+       cmp      esi, edx
+       jl       SHORT G_M39152_IG08
+                       ;; size=11 bbWeight=1.11 PerfScore 5.83
+G_M39152_IG07:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
+       cmp      esi, edx
+       jg       SHORT G_M39152_IG10
+       jmp      SHORT G_M39152_IG04
+                       ;; size=6 bbWeight=1 PerfScore 3.25
+G_M39152_IG08:        ; bbWeight=0.11, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rdi+0x10]
-       jmp      SHORT G_M39152_IG02
+       jmp      SHORT G_M39152_IG06
                       ;; size=6 bbWeight=0.11 PerfScore 0.44
-G_M39152_IG06:        ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+G_M39152_IG09:        ; bbWeight=0.10, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       mov      rdi, gword ptr [rdi+0x10]
+       jmp      SHORT G_M39152_IG06
+                       ;; size=6 bbWeight=0.10 PerfScore 0.40
+G_M39152_IG10:        ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       sub      esi, edx
+       dec      esi
+       mov      rdi, gword ptr [rdi+0x18]
+       jmp      SHORT G_M39152_IG06
+                       ;; size=10 bbWeight=0 PerfScore 0.00
+G_M39152_IG11:        ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        sub      esi, ecx
        dec      esi
        mov      rdi, gword ptr [rdi+0x18]
-       jmp      SHORT G_M39152_IG02
+       jmp      SHORT G_M39152_IG06
                         ;; size=10 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 41, prolog size 4, PerfScore 10.78, instruction count 17, allocated bytes for code 41 (MethodHash=6a4c670f) for method System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (Tier1)
+; Total bytes of code 74, prolog size 4, PerfScore 19.55, instruction count 30, allocated bytes for code 74 (MethodHash=6a4c670f) for method System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
  
librariestestsnotieredcompilation.run.linux.x64.Release.mch
-37 (-11.38%) : 274855.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2383_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
@@ -8,69 +8,67 @@
 ; 1 inlinees with PGO data; 3 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] ( 21, 93.50)     ref  ->  rbx         class-hnd single-def <System.Text.RegularExpressions.RegexRunner>
+;  V00 arg0         [V00,T00] ( 21, 18.25)     ref  ->  rbx         class-hnd single-def <System.Text.RegularExpressions.RegexRunner>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.ReadOnlySpan`1[ushort]>
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T02] (  7, 35   )     int  ->  r15         single-def
-;  V04 loc2         [V04,T22] (  2,  2.00)     int  ->  r15         single-def
+;  V03 loc1         [V03,T01] (  7,  7.00)     int  ->  r15         single-def
+;  V04 loc2         [V04,T17] (  2,  2.00)     int  ->  r15         single-def
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
-;  V06 loc4         [V06,T00] ( 12, 89   )     int  ->  r14        
+;* V06 loc4         [V06,T08] (  0,  0   )     int  ->  zero-ref   
 ;* V07 loc5         [V07    ] (  0,  0   )     int  ->  zero-ref   
-;* V08 loc6         [V08,T13] (  0,  0   )     int  ->  zero-ref   
-;  V09 loc7         [V09,T07] (  4, 32   )     int  ->  r13        
+;* V08 loc6         [V08,T18] (  0,  0   )     int  ->  zero-ref   
+;* V09 loc7         [V09,T19] (  0,  0   )     int  ->  zero-ref   
 ;* V10 loc8         [V10    ] (  0,  0   )     int  ->  zero-ref   
 ;* V11 loc9         [V11    ] (  0,  0   )     int  ->  zero-ref   
 ;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V13 tmp1         [V13,T03] (  3, 48   )     ref  ->  rax         class-hnd "impAppendStmt" <<unknown class>>
-;  V14 tmp2         [V14,T12] (  2, 32   )     int  ->  rcx         "Strict ordering of exceptions for Array store"
+;  V13 tmp1         [V13,T02] (  3,  6.00)     ref  ->  rax         class-hnd "impAppendStmt" <<unknown class>>
+;  V14 tmp2         [V14,T14] (  2,  4.00)     int  ->  rcx         "Strict ordering of exceptions for Array store"
 ;* V15 tmp3         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp4         [V16    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V17 tmp5         [V17    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V18 tmp6         [V18    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V19 tmp7         [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V20 tmp8         [V20,T15] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V21 tmp9         [V21,T16] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V20 tmp8         [V20,T20] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V21 tmp9         [V21,T21] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V22 tmp10        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V23 tmp11        [V23,T08] (  4, 32   )     int  ->  rdi         "Inline stloc first use temp"
-;  V24 tmp12        [V24,T04] (  3, 48   )     ref  ->  rcx         class-hnd "impAppendStmt" <<unknown class>>
-;* V25 tmp13        [V25,T17] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V26 tmp14        [V26,T05] (  2, 18   )     int  ->  r13         "Inlining Arg"
+;  V23 tmp11        [V23,T09] (  4,  4.00)     int  ->  rdi         "Inline stloc first use temp"
+;  V24 tmp12        [V24,T03] (  3,  6.00)     ref  ->  rcx         class-hnd "impAppendStmt" <<unknown class>>
+;* V25 tmp13        [V25,T22] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V26 tmp14        [V26,T05] (  2,  4.00)     int  ->  r15         "Inlining Arg"
 ;* V27 tmp15        [V27    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline stloc first use temp"
-;  V28 tmp16        [V28,T20] (  4,  4   )     int  ->  rdi         single-def "Inline stloc first use temp"
-;  V29 tmp17        [V29,T18] (  3,  6   )     ref  ->  rcx         class-hnd single-def "impAppendStmt" <<unknown class>>
-;  V30 tmp18        [V30,T21] (  1,  1   )   byref  ->  rsi         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
-;  V31 tmp19        [V31,T19] (  3,  3.00)     int  ->  rdx         single-def "field V01._length (fldOffset=0x8)" P-INDEP
+;  V28 tmp16        [V28,T10] (  4,  4   )     int  ->  rdi         single-def "Inline stloc first use temp"
+;  V29 tmp17        [V29,T04] (  3,  6   )     ref  ->  rcx         class-hnd single-def "impAppendStmt" <<unknown class>>
+;  V30 tmp18        [V30,T16] (  1,  1   )   byref  ->  rsi         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
+;  V31 tmp19        [V31,T06] (  3,  3.00)     int  ->  rdx         single-def "field V01._length (fldOffset=0x8)" P-INDEP
 ;* V32 tmp20        [V32    ] (  0,  0   )   byref  ->  zero-ref    "field V02._reference (fldOffset=0x0)" P-INDEP
 ;* V33 tmp21        [V33    ] (  0,  0   )     int  ->  zero-ref    single-def "field V02._length (fldOffset=0x8)" P-INDEP
 ;* V34 tmp22        [V34    ] (  0,  0   )   byref  ->  zero-ref    "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V35 tmp23        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V36 tmp24        [V36    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V37 tmp25        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
-;  V38 tmp26        [V38,T10] (  2, 32   )     ref  ->  rax         "arr expr"
-;  V39 tmp27        [V39,T11] (  2, 32   )     ref  ->  rdi         "arr expr"
-;  V40 cse0         [V40,T06] (  4, 32   )     ref  ->  rdi         "CSE - moderate"
-;  V41 cse1         [V41,T14] (  3, 24   )     int  ->  rdx         "CSE - moderate"
-;  V42 cse2         [V42,T09] (  4, 32   )     int  ->  rsi         "CSE - moderate"
-;  V43 cse3         [V43,T23] (  3,  1.50)     ref  ->  rsi         "CSE - moderate"
+;  V38 tmp26        [V38,T12] (  2,  4.00)     ref  ->  rax         "arr expr"
+;  V39 tmp27        [V39,T13] (  2,  4.00)     ref  ->  rdi         "arr expr"
+;  V40 cse0         [V40,T07] (  4,  4.00)     ref  ->  rdi         "CSE - moderate"
+;  V41 cse1         [V41,T15] (  3,  3.00)     int  ->  rdx         "CSE - moderate"
+;  V42 cse2         [V42,T11] (  4,  4.00)     int  ->  rsi         "CSE - moderate"
+;  V43 cse3         [V43,T24] (  2,  0.50)   byref  ->  rdi         "CSE - moderate"
+;  V44 cse4         [V44,T23] (  3,  1.50)     ref  ->  rsi         "CSE - moderate"
 ;
 ; Lcl frame size = 0
 
 G_M40445_IG01:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
-       push     r14
-       push     r13
        push     rbx
-       lea      rbp, [rsp+0x20]
+       lea      rbp, [rsp+0x10]
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=16 bbWeight=1.00 PerfScore 5.75
+                       ;; size=12 bbWeight=1.00 PerfScore 3.75
 G_M40445_IG02:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      r15d, dword ptr [rbx+0x4C]
-       xor      r14d, r14d
        cmp      r15d, edx
        ja       G_M40445_IG14
-                        ;; size=16 bbWeight=1.00 PerfScore 3.50
+                       ;; size=13 bbWeight=1.00 PerfScore 3.25
 G_M40445_IG03:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        sub      edx, r15d
        jns      SHORT G_M40445_IG05
@@ -83,17 +81,16 @@ G_M40445_IG04:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi]
                        ;; size=19 bbWeight=0.50 PerfScore 1.75
-G_M40445_IG05:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       xor      r13d, r13d
+G_M40445_IG05:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rsi, gword ptr [rbx+0x18]
        ; gcrRegs +[rsi]
        mov      esi, dword ptr [rsi+0x08]
        ; gcrRegs -[rsi]
        add      esi, -2
-       cmp      esi, r14d
+       test     esi, esi
        jg       SHORT G_M40445_IG07
-                      ;; size=18 bbWeight=8 PerfScore 46.00
-G_M40445_IG06:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+                       ;; size=14 bbWeight=1.00 PerfScore 5.50
+G_M40445_IG06:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rsi, gword ptr [rbx+0x18]
        ; gcrRegs +[rsi]
        mov      esi, dword ptr [rsi+0x08]
@@ -103,8 +100,8 @@ G_M40445_IG06:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; byrRegs +[rdi]
        call     [System.Array:Resize[int](byref,int)]
        ; byrRegs -[rdi]
-                      ;; size=19 bbWeight=2 PerfScore 15.50
-G_M40445_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=19 bbWeight=0.25 PerfScore 1.94
+G_M40445_IG07:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rbx+0x18]
        ; gcrRegs +[rdi]
        mov      rax, rdi
@@ -116,34 +113,28 @@ G_M40445_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      edx, dword ptr [rbx+0x58]
        sub      ecx, edx
        mov      esi, dword ptr [rax+0x08]
-       cmp      r14d, esi
-       jae      G_M40445_IG13
-       mov      r8d, r14d
-       mov      dword ptr [rax+4*r8+0x10], ecx
-       inc      r14d
+       test     esi, esi
+       je       G_M40445_IG13
+       mov      dword ptr [rax+0x10], ecx
        mov      rax, rdi
-       cmp      r14d, esi
-       jae      G_M40445_IG13
-       mov      ecx, r14d
-       mov      dword ptr [rax+4*rcx+0x10], r13d
-       inc      r14d
-       cmp      r14d, esi
-       jae      G_M40445_IG13
-       mov      eax, r14d
-       ; gcrRegs -[rax]
-       mov      dword ptr [rdi+4*rax+0x10], r15d
-       mov      r13d, r15d
+       cmp      esi, 1
+       jbe      G_M40445_IG13
+       xor      ecx, ecx
+       mov      dword ptr [rax+0x14], ecx
+       cmp      esi, 2
+       jbe      G_M40445_IG13
+       mov      dword ptr [rdi+0x18], r15d
        test     edx, edx
        jne      SHORT G_M40445_IG09
-                      ;; size=89 bbWeight=8 PerfScore 162.00
-G_M40445_IG08:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rdi]
+                      ;; size=67 bbWeight=1.00 PerfScore 19.00
+G_M40445_IG08:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rax rdi]
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        call     [System.Text.RegularExpressions.RegexRunner:DoubleCrawl():this]
        ; gcrRegs -[rdi]
-                      ;; size=9 bbWeight=2 PerfScore 6.50
-G_M40445_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=9 bbWeight=0.25 PerfScore 0.81
+G_M40445_IG09:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rbx+0x20]
        ; gcrRegs +[rcx]
        mov      edi, dword ptr [rbx+0x58]
@@ -164,7 +155,7 @@ G_M40445_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      dword ptr [rbx+0x4C], r15d
        cmp      dword ptr [rbx+0x58], 0
        jne      SHORT G_M40445_IG11
-                      ;; size=57 bbWeight=8 PerfScore 192.00
+                        ;; size=57 bbWeight=1.00 PerfScore 24.00
 G_M40445_IG10:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, rbx
        ; gcrRegs +[rdi]
@@ -185,7 +176,7 @@ G_M40445_IG11:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs -[rcx]
        mov      rdi, gword ptr [rbx+0x28]
        ; gcrRegs +[rdi]
-       mov      edx, r13d
+       mov      edx, r15d
        xor      esi, esi
        cmp      dword ptr [rdi], edi
        call     [<unknown method>]
@@ -194,12 +185,10 @@ G_M40445_IG11:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
                        ;; size=47 bbWeight=1 PerfScore 19.50
 G_M40445_IG12:        ; bbWeight=1, epilog, nogc, extend
        pop      rbx
-       pop      r13
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=9 bbWeight=1 PerfScore 3.50
+                       ;; size=5 bbWeight=1 PerfScore 2.50
 G_M40445_IG13:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
                        ;; size=5 bbWeight=0 PerfScore 0.00
@@ -208,7 +197,7 @@ G_M40445_IG14:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 325, prolog size 13, PerfScore 458.88, instruction count 96, allocated bytes for code 325 (MethodHash=9f2a6202) for method System.Text.RegularExpressions.CompiledRegexRunner:Regex2383_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
+; Total bytes of code 288, prolog size 9, PerfScore 84.88, instruction count 85, allocated bytes for code 288 (MethodHash=9f2a6202) for method System.Text.RegularExpressions.CompiledRegexRunner:Regex2383_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -216,13 +205,11 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x08
-  CountOfUnwindCodes: 5
+  SizeOfProlog      : 0x04
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r13 (13)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
-29 (-11.15%) : 225365.dasm - System.Security.Cryptography.RC2:set_EffectiveKeySize(int):this (FullOpts)
@@ -9,15 +9,15 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T03] (  5,  4   )     ref  ->  r15         this class-hnd single-def <System.Security.Cryptography.RC2>
-;  V01 arg1         [V01,T01] (  7,  9   )     int  ->  rbx         single-def
+;  V01 arg1         [V01,T02] (  7,  5.50)     int  ->  rbx         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V03 tmp1         [V03,T05] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V04 tmp2         [V04,T06] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V05 tmp3         [V05,T07] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V06 tmp4         [V06,T02] (  2,  9   )     ref  ->  r14         class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.KeySizes[]>
-;  V07 tmp5         [V07    ] (  2,  4   )   ubyte  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V06 tmp4         [V06,T01] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.KeySizes[]>
+;  V07 tmp5         [V07    ] (  2,  0.50)   ubyte  ->  [rbp-0x18]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V08 tmp6         [V08,T04] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp7         [V09,T00] (  5, 16.50)     int  ->  r13         "Inline stloc first use temp"
+;* V09 tmp7         [V09,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T08] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V11 tmp9         [V11,T09] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V12 tmp10        [V12,T10] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
@@ -27,18 +27,16 @@
 G_M43684_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
-       push     r14
-       push     r13
        push     rbx
        sub      rsp, 16
-       lea      rbp, [rsp+0x30]
+       lea      rbp, [rsp+0x20]
        mov      r15, rdi
        ; gcrRegs +[r15]
        mov      ebx, esi
-                     ;; size=22 bbWeight=1 PerfScore 6.25
+                      ;; size=18 bbWeight=1 PerfScore 4.25
 G_M43684_IG02:        ; bbWeight=1, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
        cmp      ebx, dword ptr [r15+0x38]
-       jg       SHORT G_M43684_IG09
+       jg       SHORT G_M43684_IG07
        test     ebx, ebx
        jne      SHORT G_M43684_IG05
                        ;; size=10 bbWeight=1 PerfScore 5.25
@@ -49,49 +47,33 @@ G_M43684_IG03:        ; bbWeight=0.50, gcrefRegs=8000 {r15}, byrefRegs=0000 {},
 G_M43684_IG04:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 16
        pop      rbx
-       pop      r13
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 1.88
+                       ;; size=9 bbWeight=0.50 PerfScore 1.38
 G_M43684_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, gcvars, byref, isz
        cmp      ebx, 40
-       jl       SHORT G_M43684_IG10
+       jl       SHORT G_M43684_IG08
        mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      r14, gword ptr [rsi]
-       ; gcrRegs +[r14]
-       xor      r13d, r13d
-                       ;; size=21 bbWeight=0.50 PerfScore 1.88
-G_M43684_IG06:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref, isz
-       mov      esi, r13d
-       mov      rsi, gword ptr [r14+8*rsi+0x10]
+       mov      rsi, gword ptr [rsi]
        ; gcrRegs +[rsi]
-       lea      rdx, [rbp-0x28]
+       mov      rsi, gword ptr [rsi+0x10]
+       lea      rdx, [rbp-0x18]
        mov      edi, ebx
        call     [System.Security.Cryptography.KeySizeHelpers:IsLegalSize(int,System.Security.Cryptography.KeySizes,byref):ubyte]
        ; gcrRegs -[rsi]
        test     eax, eax
-       jne      SHORT G_M43684_IG07
-       inc      r13d
-       test     r13d, r13d
-       jg       SHORT G_M43684_IG11
-       jmp      SHORT G_M43684_IG06
-                       ;; size=34 bbWeight=4 PerfScore 43.00
-G_M43684_IG07:        ; bbWeight=0.50, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[r14]
+       je       SHORT G_M43684_IG09
        mov      dword ptr [r15+0x3C], ebx
-                        ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M43684_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+                      ;; size=42 bbWeight=0.50 PerfScore 5.75
+G_M43684_IG06:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 16
        pop      rbx
-       pop      r13
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 1.88
-G_M43684_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                      ;; size=9 bbWeight=0.50 PerfScore 1.38
+G_M43684_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[r15]
        mov      rdi, 0xD1FFAB1E      ; <unknown class>
        call     CORINFO_HELP_NEWSFAST
@@ -110,7 +92,7 @@ G_M43684_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        call     CORINFO_HELP_THROW
        ; gcrRegs -[rbx rdi]
                        ;; size=44 bbWeight=0 PerfScore 0.00
-G_M43684_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M43684_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rdi, 0xD1FFAB1E      ; <unknown class>
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
@@ -128,8 +110,8 @@ G_M43684_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_THROW
        ; gcrRegs -[rbx rdi]
                        ;; size=44 bbWeight=0 PerfScore 0.00
-G_M43684_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       mov      byte  ptr [rbp-0x28], 0
+G_M43684_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      byte  ptr [rbp-0x18], 0
        mov      rdi, 0xD1FFAB1E      ; <unknown class>
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
@@ -149,7 +131,7 @@ G_M43684_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=49 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 260, prolog size 17, PerfScore 61.25, instruction count 75, allocated bytes for code 260 (MethodHash=914c555b) for method System.Security.Cryptography.RC2:set_EffectiveKeySize(int):this (FullOpts)
+; Total bytes of code 231, prolog size 13, PerfScore 18.62, instruction count 63, allocated bytes for code 231 (MethodHash=914c555b) for method System.Security.Cryptography.RC2:set_EffectiveKeySize(int):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -157,14 +139,12 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0C
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 4
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0C UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
-    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r13 (13)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
-31 (-10.88%) : 214504.dasm - System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (FullOpts)
@@ -13,65 +13,49 @@
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V03 tmp1         [V03,T06] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V04 tmp2         [V04,T07] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V05 tmp3         [V05,T02] (  2, 10   )     int  ->  r14         "Inlining Arg"
-;  V06 tmp4         [V06,T01] (  2, 10   )     ref  ->  r13         class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.KeySizes[]>
-;  V07 tmp5         [V07    ] (  2,  4   )   ubyte  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V05 tmp3         [V05,T02] (  2,  4   )     int  ->  rdi         "Inlining Arg"
+;  V06 tmp4         [V06,T01] (  2,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.KeySizes[]>
+;  V07 tmp5         [V07    ] (  2,  1   )   ubyte  ->  [rbp-0x18]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V08 tmp6         [V08,T05] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp7         [V09,T00] (  5, 17   )     int  ->  r12         "Inline stloc first use temp"
+;* V09 tmp7         [V09,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T08] (  2,  0   )     ref  ->  r15         single-def "argument with side effect"
 ;  V11 tmp9         [V11,T09] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V12 tmp10        [V12,T10] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V13 tmp11        [V13,T11] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M39649_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
-       push     r14
-       push     r13
-       push     r12
        push     rbx
-       push     rax
-       lea      rbp, [rsp+0x30]
+       sub      rsp, 16
+       lea      rbp, [rsp+0x20]
        mov      r15, rdi
        ; gcrRegs +[r15]
        mov      rbx, rsi
        ; gcrRegs +[rbx]
-                      ;; size=22 bbWeight=1 PerfScore 8.00
+                      ;; size=19 bbWeight=1 PerfScore 4.25
 G_M39649_IG02:        ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        test     rbx, rbx
-       je       SHORT G_M39649_IG06
-       mov      r14d, dword ptr [rbx+0x08]
-       shl      r14d, 3
+       je       SHORT G_M39649_IG04
+       mov      edi, dword ptr [rbx+0x08]
+       shl      edi, 3
        mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      r13, gword ptr [rsi]
-       ; gcrRegs +[r13]
-       xor      r12d, r12d
-                       ;; size=29 bbWeight=1 PerfScore 6.25
-G_M39649_IG03:        ; bbWeight=4, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, byref, isz
-       mov      esi, r12d
-       mov      rsi, gword ptr [r13+8*rsi+0x10]
+       mov      rsi, gword ptr [rsi]
        ; gcrRegs +[rsi]
-       lea      rdx, [rbp-0x30]
-       mov      edi, r14d
+       mov      rsi, gword ptr [rsi+0x10]
+       lea      rdx, [rbp-0x18]
        call     [System.Security.Cryptography.KeySizeHelpers:IsLegalSize(int,System.Security.Cryptography.KeySizes,byref):ubyte]
        ; gcrRegs -[rsi]
        test     eax, eax
-       jne      SHORT G_M39649_IG04
-       inc      r12d
-       test     r12d, r12d
-       jg       SHORT G_M39649_IG07
-       jmp      SHORT G_M39649_IG03
-                       ;; size=35 bbWeight=4 PerfScore 43.00
-G_M39649_IG04:        ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[r13]
+       je       SHORT G_M39649_IG05
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        call     [System.Security.Cryptography.TripleDES:IsWeakKey(ubyte[]):ubyte]
        ; gcrRegs -[rdi]
        test     eax, eax
-       jne      SHORT G_M39649_IG08
+       jne      SHORT G_M39649_IG06
        mov      rdi, r15
        ; gcrRegs +[rdi]
        mov      rsi, rbx
@@ -79,18 +63,15 @@ G_M39649_IG04:        ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
        call     [System.Security.Cryptography.SymmetricAlgorithm:set_Key(ubyte[]):this]
        ; gcrRegs -[rbx rsi rdi r15]
        nop      
-                     ;; size=26 bbWeight=1 PerfScore 8.25
-G_M39649_IG05:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 8
+                       ;; size=68 bbWeight=1 PerfScore 21.00
+G_M39649_IG03:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 16
        pop      rbx
-       pop      r12
-       pop      r13
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=15 bbWeight=1 PerfScore 4.25
-G_M39649_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                      ;; size=9 bbWeight=1 PerfScore 2.75
+G_M39649_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        mov      edi, 0x41EB
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
@@ -101,8 +82,8 @@ G_M39649_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        ; gcrRegs -[rax rdi]
        int3     
                        ;; size=30 bbWeight=0 PerfScore 0.00
-G_M39649_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       mov      byte  ptr [rbp-0x30], 0
+G_M39649_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      byte  ptr [rbp-0x18], 0
        mov      rdi, 0xD1FFAB1E      ; <unknown class>
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
@@ -120,7 +101,7 @@ G_M39649_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_THROW
        ; gcrRegs -[rbx rdi]
                        ;; size=48 bbWeight=0 PerfScore 0.00
-G_M39649_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M39649_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rdi, 0xD1FFAB1E      ; <unknown class>
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
@@ -151,7 +132,7 @@ G_M39649_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=80 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 285, prolog size 16, PerfScore 69.75, instruction count 77, allocated bytes for code 285 (MethodHash=dd70651e) for method System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (FullOpts)
+; Total bytes of code 254, prolog size 13, PerfScore 28.00, instruction count 64, allocated bytes for code 254 (MethodHash=dd70651e) for method System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -159,15 +140,12 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0B
-  CountOfUnwindCodes: 7
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 4
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0B UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
-    CodeOffset: 0x0A UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x09 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r12 (12)
-    CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r13 (13)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
+41 (+77.36%) : 144788.dasm - System.SpanHelpers:IndexOfAnyInRangeSystem.TimeSpan:int (FullOpts)
@@ -8,28 +8,27 @@
 ; 2 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T04] (  3,  6   )   byref  ->  rdi         single-def
+;  V00 arg0         [V00,T04] (  4,  7   )   byref  ->  rdi         single-def
 ;* V01 arg1         [V01    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.TimeSpan>
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.TimeSpan>
-;  V03 arg3         [V03,T02] (  4,  7   )     int  ->  rcx         single-def
-;  V04 loc0         [V04,T00] (  6, 17.50)     int  ->  rax        
-;  V05 loc1         [V05,T05] (  2,  8   )   byref  ->   r8        
+;  V03 arg3         [V03,T03] (  5,  8   )     int  ->  rcx         single-def
+;  V04 loc0         [V04,T00] (  7, 18.50)     int  ->  rax        
+;  V05 loc1         [V05,T01] (  6, 12.50)   byref  ->   r8        
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.TimeSpan>
 ;* V08 tmp2         [V08    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.TimeSpan>
-;* V09 tmp3         [V09,T09] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
+;* V09 tmp3         [V09,T08] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V10 tmp4         [V10    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V11 tmp5         [V11    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.TimeSpan>
 ;* V12 tmp6         [V12    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.TimeSpan>
-;* V13 tmp7         [V13,T10] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
+;* V13 tmp7         [V13,T09] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V14 tmp8         [V14    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V15 tmp9         [V15,T06] (  3,  5.76)    long  ->  rsi         single-def "field V01._ticks (fldOffset=0x0)" P-INDEP
-;  V16 tmp10        [V16,T07] (  2,  3   )    long  ->  rdx         single-def "field V02._ticks (fldOffset=0x0)" P-INDEP
-;  V17 tmp11        [V17,T03] (  3,  8.76)    long  ->   r9         "field V07._ticks (fldOffset=0x0)" P-INDEP
+;  V15 tmp9         [V15,T05] (  5,  6.94)    long  ->  rsi         single-def "field V01._ticks (fldOffset=0x0)" P-INDEP
+;  V16 tmp10        [V16,T06] (  4,  4.26)    long  ->  rdx         single-def "field V02._ticks (fldOffset=0x0)" P-INDEP
+;  V17 tmp11        [V17,T02] (  6, 10.94)    long  ->   r9         "field V07._ticks (fldOffset=0x0)" P-INDEP
 ;* V18 tmp12        [V18    ] (  0,  0   )    long  ->  zero-ref    "field V08._ticks (fldOffset=0x0)" P-INDEP
-;  V19 tmp13        [V19,T08] (  2,  4   )    long  ->   r8         "field V11._ticks (fldOffset=0x0)" P-INDEP
+;  V19 tmp13        [V19,T07] (  5,  5.76)    long  ->  r10         "field V11._ticks (fldOffset=0x0)" P-INDEP
 ;* V20 tmp14        [V20    ] (  0,  0   )    long  ->  zero-ref    "field V12._ticks (fldOffset=0x0)" P-INDEP
-;  V21 cse0         [V21,T01] (  3, 10   )    long  ->   r8         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -41,45 +40,73 @@ G_M35202_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byr
        ; byrRegs +[rdi]
        xor      eax, eax
        test     ecx, ecx
-       jle      SHORT G_M35202_IG07
-                       ;; size=6 bbWeight=1 PerfScore 1.50
-G_M35202_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+       jle      SHORT G_M35202_IG12
+       mov      r8, rdi
+       ; byrRegs +[r8]
+       mov      r9, qword ptr [r8]
+       cmp      rsi, r9
+       jl       SHORT G_M35202_IG04
+                       ;; size=17 bbWeight=1 PerfScore 5.00
+G_M35202_IG03:        ; bbWeight=0.19, gcrefRegs=0000 {}, byrefRegs=0180 {rdi r8}, byref, isz
+       cmp      rsi, r9
+       jg       SHORT G_M35202_IG05
+                       ;; size=5 bbWeight=0.19 PerfScore 0.24
+G_M35202_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0180 {rdi r8}, byref, isz
+       mov      r10, qword ptr [r8]
+       cmp      rdx, r10
+       jge      SHORT G_M35202_IG14
+                       ;; size=8 bbWeight=0.50 PerfScore 1.62
+G_M35202_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+       ; byrRegs -[r8]
+       mov      eax, 1
+       cmp      ecx, 1
+       jle      SHORT G_M35202_IG12
+                       ;; size=10 bbWeight=1 PerfScore 1.50
+G_M35202_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
        movsxd   r8, eax
        lea      r8, bword ptr [rdi+8*r8]
        ; byrRegs +[r8]
-       mov      r8, qword ptr [r8]
-       ; byrRegs -[r8]
-       mov      r9, r8
+       mov      r9, qword ptr [r8]
        cmp      rsi, r9
-       jl       SHORT G_M35202_IG05
-                       ;; size=18 bbWeight=4 PerfScore 17.00
-G_M35202_IG04:        ; bbWeight=0.76, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+       jl       SHORT G_M35202_IG08
+                       ;; size=15 bbWeight=4 PerfScore 16.00
+G_M35202_IG07:        ; bbWeight=0.76, gcrefRegs=0000 {}, byrefRegs=0180 {rdi r8}, byref, isz
        cmp      rsi, r9
-       jg       SHORT G_M35202_IG06
+       jg       SHORT G_M35202_IG11
                      ;; size=5 bbWeight=0.76 PerfScore 0.94
-G_M35202_IG05:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
-       cmp      rdx, r8
-       jge      SHORT G_M35202_IG09
-                       ;; size=5 bbWeight=2 PerfScore 2.50
-G_M35202_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+G_M35202_IG08:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0180 {rdi r8}, byref, isz
+       mov      r10, qword ptr [r8]
+       cmp      rdx, r10
+       jl       SHORT G_M35202_IG11
+                       ;; size=8 bbWeight=2 PerfScore 6.50
+G_M35202_IG09:        ; bbWeight=0.76, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       ; byrRegs -[rdi r8]
+       cmp      rdx, r10
+       jle      SHORT G_M35202_IG14
+                       ;; size=5 bbWeight=0.76 PerfScore 0.94
+G_M35202_IG10:        ; bbWeight=0.72, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M35202_IG14
+                       ;; size=2 bbWeight=0.72 PerfScore 1.44
+G_M35202_IG11:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+       ; byrRegs +[rdi]
        inc      eax
        cmp      eax, ecx
-       jl       SHORT G_M35202_IG03
+       jl       SHORT G_M35202_IG06
                      ;; size=6 bbWeight=4 PerfScore 6.00
-G_M35202_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M35202_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdi]
        mov      eax, -1
                        ;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M35202_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+G_M35202_IG13:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=2 bbWeight=0.50 PerfScore 0.75
-G_M35202_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M35202_IG14:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        pop      rbp
        ret      
                        ;; size=2 bbWeight=0.50 PerfScore 0.75
 
-; Total bytes of code 53, prolog size 4, PerfScore 30.82, instruction count 23, allocated bytes for code 53 (MethodHash=d886767d) for method System.SpanHelpers:IndexOfAnyInRange[System.TimeSpan](byref,System.TimeSpan,System.TimeSpan,int):int (FullOpts)
+; Total bytes of code 94, prolog size 4, PerfScore 43.07, instruction count 38, allocated bytes for code 94 (MethodHash=d886767d) for method System.SpanHelpers:IndexOfAnyInRange[System.TimeSpan](byref,System.TimeSpan,System.TimeSpan,int):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+49 (+80.33%) : 48611.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousIfElifElseOrRegion(Roslyn.Utilities.ConsList1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList1Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive
@@ -9,12 +9,13 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T02] (  3,  3   )     ref  ->  rdi         class-hnd single-def <Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]>
-;  V01 loc0         [V01,T00] (  7, 20   )     ref  ->  rdi         class-hnd <Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]>
-;  V02 loc1         [V02,T01] (  3,  6   )  ushort  ->  rax        
+;  V01 loc0         [V01,T00] ( 12, 22.25)     ref  ->  rdi         class-hnd <Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]>
+;  V02 loc1         [V02,T01] (  6,  6.75)  ushort  ->  rdx        
 ;* V03 loc2         [V03    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <<unknown class>>
-;  V06 tmp2         [V06,T03] (  2,  4   )     ref  ->  rax         "field V03._node (fldOffset=0x0)" P-INDEP
+;  V06 tmp2         [V06,T04] (  4,  4.50)     ref  ->  rcx         "field V03._node (fldOffset=0x0)" P-INDEP
+;  V07 cse0         [V07,T03] (  3,  5   )     ref  ->  rax         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -26,37 +27,68 @@ G_M207_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rdi]
        jmp      SHORT G_M207_IG04
                        ;; size=2 bbWeight=1 PerfScore 2.00
-G_M207_IG03:        ; bbWeight=2, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
-       mov      rax, gword ptr [rdi+0x10]
+G_M207_IG03:        ; bbWeight=0.25, gcrefRegs=0081 {rax rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rax]
-       movzx    rax, word  ptr [rax+0x0C]
-       ; gcrRegs -[rax]
-       lea      ecx, [rax-0x2164]
+       mov      rcx, gword ptr [rdi+0x10]
+       ; gcrRegs +[rcx]
+       movzx    rdx, word  ptr [rcx+0x0C]
+       lea      ecx, [rdx-0x2164]
+       ; gcrRegs -[rcx]
        cmp      ecx, 2
-       jbe      SHORT G_M207_IG06
-       cmp      eax, 0x2168
-       je       SHORT G_M207_IG06
+       jbe      SHORT G_M207_IG10
+       cmp      edx, 0x2168
+       je       SHORT G_M207_IG10
        mov      rdi, gword ptr [rdi+0x08]
-                       ;; size=30 bbWeight=2 PerfScore 18.00
-G_M207_IG04:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M207_IG08
+                       ;; size=33 bbWeight=0.25 PerfScore 2.75
+G_M207_IG04:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
        test     rdi, rdi
-       je       SHORT G_M207_IG06
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M207_IG05:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M207_IG10
+                       ;; size=5 bbWeight=1 PerfScore 1.25
+G_M207_IG05:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        mov      rax, 0xD1FFAB1E      ; const ptr
-       cmp      rdi, gword ptr [rax]
+       mov      rax, gword ptr [rax]
+       ; gcrRegs +[rax]
+       cmp      rdi, rax
        jne      SHORT G_M207_IG03
-                        ;; size=15 bbWeight=4 PerfScore 17.00
-G_M207_IG06:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+                     ;; size=18 bbWeight=0.50 PerfScore 1.75
+G_M207_IG06:        ; bbWeight=0.06, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
+       jmp      SHORT G_M207_IG10
+                       ;; size=2 bbWeight=0.06 PerfScore 0.12
+G_M207_IG07:        ; bbWeight=2, gcrefRegs=0081 {rax rdi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[rax]
+       mov      rcx, gword ptr [rdi+0x10]
+       ; gcrRegs +[rcx]
+       movzx    rdx, word  ptr [rcx+0x0C]
+       lea      ecx, [rdx-0x2164]
+       ; gcrRegs -[rcx]
+       cmp      ecx, 2
+       jbe      SHORT G_M207_IG10
+       cmp      edx, 0x2168
+       je       SHORT G_M207_IG10
+       mov      rdi, gword ptr [rdi+0x08]
+                       ;; size=31 bbWeight=2 PerfScore 18.00
+G_M207_IG08:        ; bbWeight=8, gcrefRegs=0081 {rax rdi}, byrefRegs=0000 {}, byref, isz
+       test     rdi, rdi
+       je       SHORT G_M207_IG10
+                       ;; size=5 bbWeight=8 PerfScore 10.00
+G_M207_IG09:        ; bbWeight=4, gcrefRegs=0081 {rax rdi}, byrefRegs=0000 {}, byref, isz
+       cmp      rdi, rax
+       jne      SHORT G_M207_IG07
+                       ;; size=5 bbWeight=4 PerfScore 5.00
+G_M207_IG10:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rax]
        mov      rax, rdi
        ; gcrRegs +[rax]
                        ;; size=3 bbWeight=1 PerfScore 0.25
-G_M207_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M207_IG11:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=2 bbWeight=1 PerfScore 1.50
 
-; Total bytes of code 61, prolog size 4, PerfScore 50.00, instruction count 19, allocated bytes for code 61 (MethodHash=7934ff30) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousIfElifElseOrRegion(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (FullOpts)
+; Total bytes of code 110, prolog size 4, PerfScore 43.88, instruction count 34, allocated bytes for code 110 (MethodHash=7934ff30) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousIfElifElseOrRegion(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+28 (+116.67%) : 191533.dasm - System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
@@ -7,9 +7,9 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  5, 11   )     int  ->  rax        
-;  V01 arg1         [V01,T00] (  7, 19   )     int  ->  rsi        
-;  V02 loc0         [V02,T02] (  2,  8   )     int  ->  rdx        
+;  V00 arg0         [V00,T01] (  7, 13   )     int  ->  registers  
+;  V01 arg1         [V01,T00] ( 11, 23   )     int  ->  registers  
+;  V02 loc0         [V02,T02] (  4, 10   )     int  ->  rdx        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -21,22 +21,44 @@ G_M22426_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=6 bbWeight=1 PerfScore 1.50
 G_M22426_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        test     esi, esi
-       je       SHORT G_M22426_IG04
-                       ;; size=4 bbWeight=1 PerfScore 1.25
-G_M22426_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M22426_IG08
        xor      edx, edx
        div      edx:eax, esi
        mov      eax, esi
        mov      esi, edx
        test     esi, esi
-       jne      SHORT G_M22426_IG03
-                       ;; size=12 bbWeight=4 PerfScore 108.00
-G_M22426_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       je       SHORT G_M22426_IG07
+                       ;; size=16 bbWeight=1 PerfScore 28.25
+G_M22426_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       xor      edx, edx
+       div      edx:eax, esi
+       mov      eax, edx
+       test     eax, eax
+       jne      SHORT G_M22426_IG06
+                       ;; size=10 bbWeight=4 PerfScore 107.00
+G_M22426_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      eax, esi
+                       ;; size=2 bbWeight=1 PerfScore 0.25
+G_M22426_IG05:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=2 bbWeight=1 PerfScore 1.50
+G_M22426_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+       mov      ecx, eax
+       mov      eax, esi
+       mov      esi, ecx
+       jmp      SHORT G_M22426_IG03
+                       ;; size=8 bbWeight=2 PerfScore 5.50
+G_M22426_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      esi, eax
+       jmp      SHORT G_M22426_IG04
+                       ;; size=4 bbWeight=0.50 PerfScore 1.12
+G_M22426_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      esi, eax
+       jmp      SHORT G_M22426_IG04
+                       ;; size=4 bbWeight=0.50 PerfScore 1.12
 
-; Total bytes of code 24, prolog size 6, PerfScore 112.25, instruction count 13, allocated bytes for code 24 (MethodHash=f186a865) for method System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
+; Total bytes of code 52, prolog size 6, PerfScore 146.25, instruction count 27, allocated bytes for code 52 (MethodHash=f186a865) for method System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
realworld.run.linux.x64.checked.mch
-34 (-31.19%) : 1182.dasm - BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
@@ -8,18 +8,17 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T04] (  4,  4   )   byref  ->  rdi         single-def
-;  V01 arg1         [V01,T05] (  4,  4   )   byref  ->  rsi         single-def
-;  V02 arg2         [V02,T06] (  4,  4   )   byref  ->  rdx         single-def
-;* V03 loc0         [V03,T10] (  0,  0   )     int  ->  zero-ref   
-;  V04 loc1         [V04,T07] (  2,  5   )   byref  ->  rdx         single-def
-;  V05 loc2         [V05,T08] (  2,  5   )   byref  ->  rsi         single-def
-;  V06 loc3         [V06,T00] (  5, 17   )     int  ->  rax        
-;  V07 loc4         [V07,T01] (  4, 16   )   byref  ->   r8        
-;  V08 loc5         [V08,T03] (  3, 12   )   byref  ->   r9        
+;  V00 arg0         [V00,T00] (  4,  4   )   byref  ->  rdi         single-def
+;  V01 arg1         [V01,T01] (  4,  4   )   byref  ->  rsi         single-def
+;  V02 arg2         [V02,T02] (  4,  4   )   byref  ->  rdx         single-def
+;* V03 loc0         [V03,T09] (  0,  0   )     int  ->  zero-ref   
+;  V04 loc1         [V04,T05] (  2,  2   )   byref  ->  rdx         single-def
+;  V05 loc2         [V05,T06] (  2,  2   )   byref  ->  rsi         single-def
+;* V06 loc3         [V06,T08] (  0,  0   )     int  ->  zero-ref   
+;  V07 loc4         [V07,T03] (  4,  4   )   byref  ->  rdi        
+;  V08 loc5         [V08,T04] (  3,  3   )   byref  ->  rdx        
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 cse0         [V10,T09] (  2,  5   )   byref  ->  rdi         hoist "CSE - aggressive"
-;  V11 cse1         [V11,T02] (  4, 16   )    long  ->  rcx         "CSE - aggressive"
+;  V10 cse0         [V10,T07] (  2,  2   )   byref  ->  rdi         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -36,39 +35,23 @@ G_M31235_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=00C4 {rdx rsi r
        vmovdqu  ymmword ptr [rdx], ymm0
        vmovdqu  ymmword ptr [rdx+0x18], ymm0
        add      rsi, 4
-                       ;; size=22 bbWeight=1 PerfScore 5.83
-G_M31235_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=00C4 {rdx rsi rdi}, byref
        cmp      byte  ptr [rdi], dil
        add      rdi, 28
-                      ;; size=7 bbWeight=1 PerfScore 3.25
-G_M31235_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=00C4 {rdx rsi rdi}, byref, isz
-       movsxd   rcx, eax
-       lea      r8, [rcx+4*rcx]
-       lea      r8, bword ptr [rdi+4*r8]
-       ; byrRegs +[r8]
-       mov      r9, rcx
-       shl      r9, 4
-       add      r9, rdx
-       ; byrRegs +[r9]
-       mov      r10d, dword ptr [r8+0x10]
-       mov      dword ptr [rsi+4*rcx], r10d
-       vmovsd   xmm0, qword ptr [r8]
-       vinsertps xmm0, xmm0, dword ptr [r8+0x08], 40
-       vmovsd   qword ptr [r9], xmm0
-       vextractps dword ptr [r9+0x08], xmm0, 2
-       vmovss   xmm0, dword ptr [r8+0x0C]
-       vmovss   dword ptr [r9+0x0C], xmm0
-       inc      eax
-       test     eax, eax
-       jle      SHORT G_M31235_IG04
-                       ;; size=71 bbWeight=4 PerfScore 103.00
-G_M31235_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-       ; byrRegs -[rdx rsi rdi r8-r9]
+       mov      eax, dword ptr [rdi+0x10]
+       mov      dword ptr [rsi], eax
+       vmovsd   xmm0, qword ptr [rdi]
+       vinsertps xmm0, xmm0, dword ptr [rdi+0x08], 40
+       vmovsd   qword ptr [rdx], xmm0
+       vextractps dword ptr [rdx+0x08], xmm0, 2
+       vmovss   xmm0, dword ptr [rdi+0x0C]
+       vmovss   dword ptr [rdx+0x0C], xmm0
+                       ;; size=66 bbWeight=1 PerfScore 31.08
+G_M31235_IG03:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=2 bbWeight=1 PerfScore 1.50
 
-; Total bytes of code 109, prolog size 7, PerfScore 115.83, instruction count 30, allocated bytes for code 109 (MethodHash=076885fc) for method BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
+; Total bytes of code 75, prolog size 7, PerfScore 34.83, instruction count 21, allocated bytes for code 75 (MethodHash=076885fc) for method BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
-19 (-10.80%) : 22886.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System._Canon]:getHasAnyApplicableMember():ubyte:this (FullOpts)
@@ -8,9 +8,9 @@
 ; 0 inlinees with PGO data; 6 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  4,  4   )     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]>
+;  V00 this         [V00,T04] (  4,  4   )     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]>
 ;* V01 loc0         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op single-def <Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1+Enumerator[Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]]>
-;  V02 loc1         [V02    ] (  2,  4   )  struct (64) [rbp-0x68]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]>
+;  V02 loc1         [V02    ] (  2,  0.50)  struct (64) [rbp-0x60]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]>
 ;* V03 loc2         [V03    ] (  0,  0   )  struct (40) zero-ref    do-not-enreg[SF] ld-addr-op <Microsoft.CodeAnalysis.CSharp.MemberAnalysisResult>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
@@ -18,42 +18,39 @@
 ;* V07 tmp3         [V07    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V08 tmp4         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]]>
 ;* V09 tmp5         [V09    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V10 tmp6         [V10,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V11 tmp7         [V11,T04] (  3,  6   )   ubyte  ->  rax         "Inline stloc first use temp"
+;* V10 tmp6         [V10,T02] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V11 tmp7         [V11,T03] (  3,  0.75)   ubyte  ->  rax         "Inline stloc first use temp"
 ;* V12 tmp8         [V12    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V13 tmp9         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]]>
 ;* V14 tmp10        [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableArray`1+Builder[Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]]>
-;  V15 tmp11        [V15,T02] (  3, 11   )     ref  ->  r15         "field V01._builder (fldOffset=0x0)" P-INDEP
-;  V16 tmp12        [V16,T00] (  5, 27   )     int  ->  r14         "field V01._index (fldOffset=0x8)" P-INDEP
+;  V15 tmp11        [V15,T01] (  3,  2.25)     ref  ->  r15         "field V01._builder (fldOffset=0x0)" P-INDEP
+;  V16 tmp12        [V16,T00] (  5,  4.25)     int  ->  r14         "field V01._index (fldOffset=0x8)" P-INDEP
 ;* V17 tmp13        [V17    ] (  0,  0   )   ubyte  ->  zero-ref    "V03.[004..005)"
 ;* V18 cse0         [V18,T11] (  0,  0   )    long  ->  zero-ref    hoist "CSE - aggressive"
-;  V19 cse1         [V19,T06] (  2,  2   )    long  ->  r13         "CSE - aggressive"
-;  V20 rat0         [V20,T07] (  2,  4   )    long  ->  rdi         "Spilling to split statement for tree"
-;* V21 rat1         [V21,T08] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V19 cse1         [V19,T12] (  0,  0   )    long  ->  zero-ref    "CSE - moderate"
+;  V20 rat0         [V20,T06] (  2,  4   )    long  ->  rdi         "Spilling to split statement for tree"
+;* V21 rat1         [V21,T07] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
 ;  V22 rat2         [V22,T05] (  2,  4   )    long  ->  rdi         "fgMakeTemp is creating a new local variable"
-;* V23 rat3         [V23,T10] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V24 rat4         [V24,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;* V23 rat3         [V23,T09] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V24 rat4         [V24,T10] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V25 rat5         [V25,T08] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 80
+; Lcl frame size = 72
 
 G_M864_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 80
-       lea      rbp, [rsp+0x70]
-       xor      eax, eax
-       mov      qword ptr [rbp-0x68], rax
+       sub      rsp, 72
+       lea      rbp, [rsp+0x60]
        vxorps   xmm8, xmm8, xmm8
        vmovdqu  ymmword ptr [rbp-0x60], ymm8
-       vmovdqa  xmmword ptr [rbp-0x40], xmm8
-       mov      qword ptr [rbp-0x30], rax
-       mov      qword ptr [rbp-0x28], rdi
+       vmovdqu  ymmword ptr [rbp-0x40], ymm8
+       mov      qword ptr [rbp-0x20], rdi
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=49 bbWeight=1 PerfScore 13.58
+                     ;; size=37 bbWeight=1 PerfScore 10.33
 G_M864_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
@@ -63,66 +60,63 @@ G_M864_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      r15, rax
        ; gcrRegs +[r15]
        mov      r14d, edx
-       mov      r13, qword ptr [rbx]
-       mov      rdi, r13
+       mov      rdi, qword ptr [rbx]
        mov      rdi, qword ptr [rdi+0x38]
        mov      rdi, qword ptr [rdi]
        mov      rdi, qword ptr [rdi+0x30]
        test     rdi, rdi
        jne      SHORT G_M864_IG04
        jmp      SHORT G_M864_IG04
-                        ;; size=42 bbWeight=1 PerfScore 20.00
-G_M864_IG03:        ; bbWeight=2, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
+                        ;; size=39 bbWeight=1 PerfScore 19.75
+G_M864_IG03:        ; bbWeight=0.25, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
        mov      rdi, gword ptr [r15+0x08]
        ; gcrRegs +[rdi]
-       lea      rsi, [rbp-0x68]
+       lea      rsi, [rbp-0x60]
        mov      edx, r14d
        cmp      dword ptr [rdi], edi
        call     [System.Collections.Immutable.ImmutableArray`1+Builder[Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]]:get_Item(int):Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]:this]
        ; gcrRegs -[rdi]
-       movzx    rax, byte  ptr [rbp-0x4C]
+       movzx    rax, byte  ptr [rbp-0x44]
        lea      ecx, [rax-0x01]
        cmp      ecx, 1
        jbe      SHORT G_M864_IG07
        add      eax, -22
        cmp      eax, 1
        jbe      SHORT G_M864_IG07
-                        ;; size=39 bbWeight=2 PerfScore 26.00
-G_M864_IG04:        ; bbWeight=8, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
+                        ;; size=39 bbWeight=0.25 PerfScore 3.25
+G_M864_IG04:        ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        inc      r14d
        mov      rdi, gword ptr [r15+0x08]
        ; gcrRegs +[rdi]
        cmp      r14d, dword ptr [rdi+0x10]
        jl       SHORT G_M864_IG03
-                        ;; size=13 bbWeight=8 PerfScore 50.00
-G_M864_IG05:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+                      ;; size=13 bbWeight=1 PerfScore 6.25
+G_M864_IG05:        ; bbWeight=0.06, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi r15]
        xor      eax, eax
-                     ;; size=2 bbWeight=0.50 PerfScore 0.12
+                        ;; size=2 bbWeight=0.06 PerfScore 0.02
 G_M864_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 80
+       add      rsp, 72
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 1.88
+                       ;; size=11 bbWeight=0.50 PerfScore 1.62
 G_M864_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        mov      eax, 1
                        ;; size=5 bbWeight=0.50 PerfScore 0.12
 G_M864_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 80
+       add      rsp, 72
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 1.88
+                       ;; size=11 bbWeight=0.50 PerfScore 1.62
 
-; Total bytes of code 176, prolog size 46, PerfScore 113.58, instruction count 60, allocated bytes for code 176 (MethodHash=caadfc9f) for method Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:get_HasAnyApplicableMember():ubyte:this (FullOpts)
+; Total bytes of code 157, prolog size 34, PerfScore 42.97, instruction count 53, allocated bytes for code 157 (MethodHash=caadfc9f) for method Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:get_HasAnyApplicableMember():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -130,14 +124,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0C
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x0A
+  CountOfUnwindCodes: 5
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0C UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 9 * 8 + 8 = 80 = 0x50
-    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r13 (13)
+    CodeOffset: 0x0A UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 8 * 8 + 8 = 72 = 0x48
+    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
-16 (-8.00%) : 32049.dasm - System.Linq.Expressions.CachedReflectionInfo:getMethodBaseGetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
@@ -11,11 +11,11 @@
 ;  V00 OutArgs      [V00    ] (  1,  1   )  struct (16) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V01 tmp1         [V01,T02] (  2,  4   )     ref  ->  rax         class-hnd single-def "dup spill" <System.Reflection.MethodInfo>
 ;  V02 tmp2         [V02,T03] (  4,  3.50)     ref  ->  rax        
-;  V03 tmp3         [V03,T01] (  4, 11   )     ref  ->  rax         class-hnd exact single-def "dup spill" <System.Type[]>
+;  V03 tmp3         [V03,T01] (  4,  4   )     ref  ->  rax         class-hnd exact single-def "dup spill" <System.Type[]>
 ;* V04 tmp4         [V04,T06] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
 ;* V05 tmp5         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
 ;  V06 tmp6         [V06,T04] (  3,  3   )     ref  ->  r15         class-hnd single-def "dup spill" <System.Reflection.MethodInfo>
-;  V07 tmp7         [V07,T00] (  5, 16.50)     int  ->  rdi         "Inline stloc first use temp"
+;* V07 tmp7         [V07,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V08 tmp8         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
 ;  V09 cse0         [V09,T05] (  3,  2.50)    long  ->  rbx         "CSE - aggressive"
 ;
@@ -28,14 +28,14 @@ G_M10374_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        sub      rsp, 16
        lea      rbp, [rsp+0x20]
                        ;; size=13 bbWeight=1 PerfScore 3.75
-G_M10374_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M10374_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        mov      rbx, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
        mov      rax, gword ptr [rbx]
        ; gcrRegs +[rax]
        test     rax, rax
-       jne      G_M10374_IG06
-                       ;; size=22 bbWeight=1 PerfScore 3.50
-G_M10374_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jne      SHORT G_M10374_IG04
+                       ;; size=18 bbWeight=1 PerfScore 3.50
+G_M10374_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
        mov      rdi, 0xD1FFAB1E      ; System.Type[]
        mov      esi, 1
@@ -45,22 +45,11 @@ G_M10374_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        mov      rdi, 0xD1FFAB1E
        ; gcrRegs +[rdi]
        mov      gword ptr [rax+0x10], rdi
-       xor      edi, edi
-       ; gcrRegs -[rdi]
-                       ;; size=36 bbWeight=0.50 PerfScore 1.50
-G_M10374_IG04:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       mov      esi, edi
-       cmp      gword ptr [rax+8*rsi+0x10], 0
-       je       SHORT G_M10374_IG07
-       inc      edi
-       cmp      edi, 1
-       jl       SHORT G_M10374_IG04
-                       ;; size=17 bbWeight=4 PerfScore 23.00
-G_M10374_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
+       cmp      gword ptr [rax+0x10], 0
+       je       SHORT G_M10374_IG05
        mov      gword ptr [rsp], rax
        ; gcr arg write
        xor      rdi, rdi
-       ; gcrRegs +[rdi]
        mov      gword ptr [rsp+0x08], rdi
        ; gcr arg write
        mov      rdi, 0xD1FFAB1E
@@ -84,8 +73,8 @@ G_M10374_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        ; gcrRegs -[rax rsi]
        mov      rax, r15
        ; gcrRegs +[rax]
-                      ;; size=73 bbWeight=0.50 PerfScore 4.38
-G_M10374_IG06:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
+                     ;; size=114 bbWeight=0.50 PerfScore 7.75
+G_M10374_IG04:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[r15]
        add      rsp, 16
        pop      rbx
@@ -93,7 +82,7 @@ G_M10374_IG06:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byr
        pop      rbp
        ret      
                        ;; size=9 bbWeight=1 PerfScore 2.75
-G_M10374_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M10374_IG05:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        mov      edi, 0x1E00
        mov      rsi, 0xD1FFAB1E
@@ -108,7 +97,7 @@ G_M10374_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=30 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 200, prolog size 13, PerfScore 38.88, instruction count 47, allocated bytes for code 200 (MethodHash=027dd779) for method System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
+; Total bytes of code 184, prolog size 13, PerfScore 17.75, instruction count 42, allocated bytes for code 184 (MethodHash=027dd779) for method System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+42 (+87.50%) : 8461.dasm - FSharp.Compiler.TypedTreeOps:stripExpr(FSharp.Compiler.TypedTree+Expr):FSharp.Compiler.TypedTree+Expr (FullOpts)
@@ -8,48 +8,76 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  8, 21   )     ref  ->  rax         class-hnd <FSharp.Compiler.TypedTree+Expr>
+;  V00 arg0         [V00,T00] ( 13, 23.75)     ref  ->  rax         class-hnd <FSharp.Compiler.TypedTree+Expr>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
 ;* V02 loc1         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T01] (  3, 18   )    long  ->  rdi         "fgMakeTemp is creating a new local variable"
-;  V05 tmp2         [V05,T02] (  3, 12   )     ref  ->  rax         class-hnd "spilling QMark2" <<unknown class>>
+;  V04 tmp1         [V04,T01] (  6, 20.25)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V05 tmp2         [V05,T02] (  6, 14.50)     ref  ->  rax         class-hnd "spilling QMark2" <<unknown class>>
+;  V06 cse0         [V06,T03] (  3,  5   )    long  ->  rbx         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
-G_M7715_IG01:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+G_M7715_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
-       mov      rbp, rsp
+       push     rbx
+       push     rax
+       lea      rbp, [rsp+0x10]
        mov      rax, rdi
        ; gcrRegs +[rax]
-                      ;; size=7 bbWeight=8 PerfScore 12.00
-G_M7715_IG02:        ; bbWeight=8, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+                       ;; size=11 bbWeight=1 PerfScore 3.75
+G_M7715_IG02:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        cmp      dword ptr [rax+0x08], 15
-       jne      SHORT G_M7715_IG06
-                       ;; size=6 bbWeight=8 PerfScore 32.00
-G_M7715_IG03:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       mov      rdi, 0xD1FFAB1E      ; <unknown class>
+       jne      SHORT G_M7715_IG10
+                       ;; size=6 bbWeight=1 PerfScore 4.00
+G_M7715_IG03:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       mov      rbx, 0xD1FFAB1E      ; <unknown class>
+       mov      rdi, rbx
        cmp      qword ptr [rax], rdi
        je       SHORT G_M7715_IG05
-                       ;; size=15 bbWeight=4 PerfScore 17.00
-G_M7715_IG04:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+                       ;; size=18 bbWeight=0.50 PerfScore 2.25
+G_M7715_IG04:        ; bbWeight=0.12, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       mov      rsi, rax
+       ; gcrRegs +[rsi]
+       call     CORINFO_HELP_CHKCASTCLASS_SPECIAL
+       ; gcrRegs -[rsi]
+       ; gcr arg pop 0
+                       ;; size=8 bbWeight=0.12 PerfScore 0.16
+G_M7715_IG05:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
+       mov      rdi, gword ptr [rax+0x10]
+       ; gcrRegs +[rdi]
+       mov      rax, gword ptr [rdi+0x08]
+                       ;; size=8 bbWeight=1 PerfScore 4.00
+G_M7715_IG06:        ; bbWeight=8, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rdi]
+       cmp      dword ptr [rax+0x08], 15
+       jne      SHORT G_M7715_IG10
+                       ;; size=6 bbWeight=8 PerfScore 32.00
+G_M7715_IG07:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       mov      rdi, rbx
+       cmp      qword ptr [rax], rdi
+       je       SHORT G_M7715_IG09
+                       ;; size=8 bbWeight=4 PerfScore 17.00
+G_M7715_IG08:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        mov      rsi, rax
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_CHKCASTCLASS_SPECIAL
        ; gcrRegs -[rsi]
        ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.25
-G_M7715_IG05:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+G_M7715_IG09:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        mov      rax, gword ptr [rax+0x10]
        mov      rax, gword ptr [rax+0x08]
-       jmp      SHORT G_M7715_IG02
+       jmp      SHORT G_M7715_IG06
                       ;; size=10 bbWeight=4 PerfScore 24.00
-G_M7715_IG06:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M7715_IG10:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
+       add      rsp, 8
+       pop      rbx
        pop      rbp
        ret      
-                     ;; size=2 bbWeight=1 PerfScore 1.50
+                       ;; size=7 bbWeight=1 PerfScore 2.25
 
-; Total bytes of code 48, prolog size 7, PerfScore 87.75, instruction count 16, allocated bytes for code 48 (MethodHash=8dade1dc) for method FSharp.Compiler.TypedTreeOps:stripExpr(FSharp.Compiler.TypedTree+Expr):FSharp.Compiler.TypedTree+Expr (FullOpts)
+; Total bytes of code 90, prolog size 11, PerfScore 90.66, instruction count 31, allocated bytes for code 90 (MethodHash=8dade1dc) for method FSharp.Compiler.TypedTreeOps:stripExpr(FSharp.Compiler.TypedTree+Expr):FSharp.Compiler.TypedTree+Expr (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -57,9 +85,11 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x01
-  CountOfUnwindCodes: 1
+  SizeOfProlog      : 0x03
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
+    CodeOffset: 0x03 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
+43 (+87.76%) : 30111.dasm - System.Management.Automation.FunctionInfo:get_Options():int:this (FullOpts)
@@ -8,35 +8,64 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  5, 15   )     ref  ->  rdi         this class-hnd <System.Management.Automation.FunctionInfo>
+;  V00 this         [V00,T04] (  7, 17   )     ref  ->  rdi         this class-hnd <System.Management.Automation.FunctionInfo>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V02 tmp1         [V02,T03] (  3, 17   )     ref  ->  rsi         single-def "CASTCLASS eval op1"
-;  V03 tmp2         [V03,T04] (  3, 17   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
-;  V04 tmp3         [V04,T00] (  4, 25   )     ref  ->  rdi         class-hnd "spilling QMark2" <System.Management.Automation.FunctionInfo>
+;  V02 tmp1         [V02,T02] (  6, 19.12)     ref  ->  rsi         "CASTCLASS eval op1"
+;  V03 tmp2         [V03,T03] (  6, 19.12)    long  ->  rax         "fgMakeTemp is creating a new local variable"
+;  V04 tmp3         [V04,T00] (  8, 29.12)     ref  ->  rdi         class-hnd "spilling QMark2" <System.Management.Automation.FunctionInfo>
 ;  V05 cse0         [V05,T01] (  3, 20   )     ref  ->  rsi         "CSE - aggressive"
+;  V06 cse1         [V06,T06] (  3,  2.50)     ref  ->  rsi         "CSE - aggressive"
+;  V07 cse2         [V07,T05] (  3,  5   )    long  ->  rbx         "CSE - moderate"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M40934_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
-       mov      rbp, rsp
-                       ;; size=4 bbWeight=1 PerfScore 1.25
-G_M40934_IG02:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       push     rbx
+       push     rax
+       lea      rbp, [rsp+0x10]
+                       ;; size=8 bbWeight=1 PerfScore 3.50
+G_M40934_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
        mov      rsi, gword ptr [rdi+0x20]
        ; gcrRegs +[rsi]
        test     rsi, rsi
-       je       SHORT G_M40934_IG06
-                       ;; size=9 bbWeight=8 PerfScore 26.00
-G_M40934_IG03:        ; bbWeight=4, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M40934_IG09
+                       ;; size=9 bbWeight=1 PerfScore 3.25
+G_M40934_IG03:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdi]
        mov      rdi, rsi
        ; gcrRegs +[rdi]
-       mov      rax, 0xD1FFAB1E      ; System.Management.Automation.FunctionInfo
+       mov      rbx, 0xD1FFAB1E      ; System.Management.Automation.FunctionInfo
+       mov      rax, rbx
        cmp      qword ptr [rdi], rax
        je       SHORT G_M40934_IG05
-                      ;; size=18 bbWeight=4 PerfScore 18.00
-G_M40934_IG04:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref
+                        ;; size=21 bbWeight=0.50 PerfScore 2.38
+G_M40934_IG04:        ; bbWeight=0.06, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rdi]
+       mov      rdi, rax
+       call     CORINFO_HELP_CHKCASTCLASS_SPECIAL
+       ; gcrRegs -[rsi] +[rax]
+       ; gcr arg pop 0
+       mov      rdi, rax
+       ; gcrRegs +[rdi]
+                       ;; size=11 bbWeight=0.06 PerfScore 0.09
+G_M40934_IG05:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
+       mov      rsi, gword ptr [rdi+0x20]
+       ; gcrRegs +[rsi]
+       test     rsi, rsi
+       je       SHORT G_M40934_IG09
+                       ;; size=9 bbWeight=8 PerfScore 26.00
+G_M40934_IG06:        ; bbWeight=4, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rdi]
+       mov      rdi, rsi
+       ; gcrRegs +[rdi]
+       mov      rax, rbx
+       cmp      qword ptr [rdi], rax
+       je       SHORT G_M40934_IG08
+                       ;; size=11 bbWeight=4 PerfScore 18.00
+G_M40934_IG07:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        mov      rdi, rax
        call     CORINFO_HELP_CHKCASTCLASS_SPECIAL
@@ -45,19 +74,21 @@ G_M40934_IG04:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {},
        mov      rdi, rax
        ; gcrRegs +[rdi]
                        ;; size=11 bbWeight=0.50 PerfScore 0.75
-G_M40934_IG05:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+G_M40934_IG08:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
-       jmp      SHORT G_M40934_IG02
+       jmp      SHORT G_M40934_IG05
                       ;; size=2 bbWeight=4 PerfScore 8.00
-G_M40934_IG06:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M40934_IG09:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        mov      eax, dword ptr [rdi+0x64]
                        ;; size=3 bbWeight=1 PerfScore 2.00
-G_M40934_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M40934_IG10:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 8
+       pop      rbx
        pop      rbp
        ret      
-                     ;; size=2 bbWeight=1 PerfScore 1.50
+                       ;; size=7 bbWeight=1 PerfScore 2.25
 
-; Total bytes of code 49, prolog size 4, PerfScore 57.50, instruction count 16, allocated bytes for code 49 (MethodHash=b2d36019) for method System.Management.Automation.FunctionInfo:get_Options():int:this (FullOpts)
+; Total bytes of code 92, prolog size 8, PerfScore 66.22, instruction count 31, allocated bytes for code 92 (MethodHash=b2d36019) for method System.Management.Automation.FunctionInfo:get_Options():int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -65,9 +96,11 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x01
-  CountOfUnwindCodes: 1
+  SizeOfProlog      : 0x03
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
+    CodeOffset: 0x03 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
+44 (+93.62%) : 8460.dasm - FSharp.Compiler.TypedTreeOps:stripDebugPoints(FSharp.Compiler.TypedTree+Expr):FSharp.Compiler.TypedTree+Expr (FullOpts)
@@ -8,49 +8,77 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T02] (  4, 14   )     ref  ->  rdi         class-hnd <FSharp.Compiler.TypedTree+Expr>
-;  V01 loc0         [V01,T00] (  6, 23   )     ref  ->  rax         class-hnd <FSharp.Compiler.TypedTree+Expr>
+;  V00 arg0         [V00,T02] (  6, 16   )     ref  ->  rdi         class-hnd <FSharp.Compiler.TypedTree+Expr>
+;  V01 loc0         [V01,T00] ( 11, 25.75)     ref  ->  rax         class-hnd <FSharp.Compiler.TypedTree+Expr>
 ;* V02 loc1         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T01] (  3, 18   )    long  ->  rdi         "fgMakeTemp is creating a new local variable"
-;  V05 tmp2         [V05,T03] (  3, 12   )     ref  ->  rax         class-hnd "spilling QMark2" <<unknown class>>
+;  V04 tmp1         [V04,T01] (  6, 20.25)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V05 tmp2         [V05,T03] (  6, 14.50)     ref  ->  rax         class-hnd "spilling QMark2" <<unknown class>>
+;  V06 cse0         [V06,T04] (  3,  5   )    long  ->  rbx         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
-G_M63826_IG01:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+G_M63826_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
-       mov      rbp, rsp
-                       ;; size=4 bbWeight=8 PerfScore 10.00
-G_M63826_IG02:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       push     rbx
+       push     rax
+       lea      rbp, [rsp+0x10]
+                       ;; size=8 bbWeight=1 PerfScore 3.50
+G_M63826_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
        call     [FSharp.Compiler.TypedTreeOps:stripExpr(FSharp.Compiler.TypedTree+Expr):FSharp.Compiler.TypedTree+Expr]
        ; gcrRegs -[rdi] +[rax]
        cmp      dword ptr [rax+0x08], 16
-       jne      SHORT G_M63826_IG06
-                       ;; size=12 bbWeight=8 PerfScore 56.00
-G_M63826_IG03:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       mov      rdi, 0xD1FFAB1E      ; <unknown class>
+       jne      SHORT G_M63826_IG10
+                       ;; size=12 bbWeight=1 PerfScore 7.00
+G_M63826_IG03:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       mov      rbx, 0xD1FFAB1E      ; <unknown class>
+       mov      rdi, rbx
        cmp      qword ptr [rax], rdi
        je       SHORT G_M63826_IG05
-                      ;; size=15 bbWeight=4 PerfScore 17.00
-G_M63826_IG04:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+                      ;; size=18 bbWeight=0.50 PerfScore 2.25
+G_M63826_IG04:        ; bbWeight=0.12, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       mov      rsi, rax
+       ; gcrRegs +[rsi]
+       call     CORINFO_HELP_CHKCASTCLASS_SPECIAL
+       ; gcrRegs -[rsi]
+                       ;; size=8 bbWeight=0.12 PerfScore 0.16
+G_M63826_IG05:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
+       mov      rdi, gword ptr [rax+0x18]
+       ; gcrRegs +[rdi]
+                       ;; size=4 bbWeight=1 PerfScore 2.00
+G_M63826_IG06:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
+       call     [FSharp.Compiler.TypedTreeOps:stripExpr(FSharp.Compiler.TypedTree+Expr):FSharp.Compiler.TypedTree+Expr]
+       ; gcrRegs -[rdi] +[rax]
+       cmp      dword ptr [rax+0x08], 16
+       jne      SHORT G_M63826_IG10
+                       ;; size=12 bbWeight=8 PerfScore 56.00
+G_M63826_IG07:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       mov      rdi, rbx
+       cmp      qword ptr [rax], rdi
+       je       SHORT G_M63826_IG09
+                       ;; size=8 bbWeight=4 PerfScore 17.00
+G_M63826_IG08:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        mov      rsi, rax
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_CHKCASTCLASS_SPECIAL
        ; gcrRegs -[rsi]
                        ;; size=8 bbWeight=1 PerfScore 1.25
-G_M63826_IG05:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+G_M63826_IG09:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rax+0x18]
        ; gcrRegs +[rdi]
-       jmp      SHORT G_M63826_IG02
+       jmp      SHORT G_M63826_IG06
                       ;; size=6 bbWeight=4 PerfScore 16.00
-G_M63826_IG06:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M63826_IG10:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rdi]
+       add      rsp, 8
+       pop      rbx
        pop      rbp
        ret      
-                     ;; size=2 bbWeight=1 PerfScore 1.50
+                       ;; size=7 bbWeight=1 PerfScore 2.25
 
-; Total bytes of code 47, prolog size 4, PerfScore 101.75, instruction count 15, allocated bytes for code 47 (MethodHash=9b8306ad) for method FSharp.Compiler.TypedTreeOps:stripDebugPoints(FSharp.Compiler.TypedTree+Expr):FSharp.Compiler.TypedTree+Expr (FullOpts)
+; Total bytes of code 91, prolog size 8, PerfScore 107.41, instruction count 30, allocated bytes for code 91 (MethodHash=9b8306ad) for method FSharp.Compiler.TypedTreeOps:stripDebugPoints(FSharp.Compiler.TypedTree+Expr):FSharp.Compiler.TypedTree+Expr (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -58,9 +86,11 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x01
-  CountOfUnwindCodes: 1
+  SizeOfProlog      : 0x03
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
+    CodeOffset: 0x03 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
  
smoke_tests.nativeaot.linux.x64.checked.mch
-2 (-2.06%) : 8455.dasm - Internal.TypeSystem.InstantiatedType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
@@ -8,21 +8,21 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T05] (  3,  3   )     ref  ->  rdi         this class-hnd exact single-def <Internal.TypeSystem.InstantiatedType>
-;  V01 arg1         [V01,T04] (  3,  4   )     int  ->  rbx         single-def
+;  V01 arg1         [V01,T04] (  3,  2.25)     int  ->  rbx         single-def
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <Internal.TypeSystem.Instantiation+Enumerator>
 ;* V03 loc1         [V03    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <Internal.TypeSystem.Instantiation>
 ;* V04 loc2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <Internal.TypeSystem.TypeDesc>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <Internal.TypeSystem.Instantiation+Enumerator>
 ;* V07 tmp2         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Internal.TypeSystem.TypeDesc[]>
-;* V08 tmp3         [V08,T03] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp4         [V09,T06] (  3,  4   )     ref  ->  r15         single-def "field V02._collection (fldOffset=0x0)" P-INDEP
-;  V10 tmp5         [V10,T00] (  6, 29   )     int  ->  r14         "field V02._currentIndex (fldOffset=0x8)" P-INDEP
+;* V08 tmp3         [V08,T01] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V09 tmp4         [V09,T03] (  3,  2.25)     ref  ->  r15         single-def "field V02._collection (fldOffset=0x0)" P-INDEP
+;  V10 tmp5         [V10,T00] (  6,  4.50)     int  ->  r14         "field V02._currentIndex (fldOffset=0x8)" P-INDEP
 ;  V11 tmp6         [V11,T07] (  2,  2   )     ref  ->  r15         single-def "field V03._genericParameters (fldOffset=0x0)" P-INDEP
 ;  V12 tmp7         [V12,T08] (  2,  2   )     ref  ->  r15         single-def "field V06._collection (fldOffset=0x0)" P-INDEP
 ;* V13 tmp8         [V13,T09] (  0,  0   )     int  ->  zero-ref    single-def "field V06._currentIndex (fldOffset=0x8)" P-INDEP
-;  V14 tmp9         [V14,T01] (  3, 12   )     ref  ->  rdi         "argument with side effect"
-;  V15 cse0         [V15,T02] (  3, 11   )     int  ->  r13         hoist "CSE - aggressive"
+;  V14 tmp9         [V14,T02] (  3,  1.50)     ref  ->  rdi         "argument with side effect"
+;  V15 cse0         [V15,T06] (  3,  2.25)     int  ->  r13         hoist "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -43,10 +43,10 @@ G_M56611_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byr
        mov      r13d, dword ptr [r15+0x08]
        jmp      SHORT G_M56611_IG04
                        ;; size=16 bbWeight=1 PerfScore 6.25
-G_M56611_IG03:        ; bbWeight=2, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
+G_M56611_IG03:        ; bbWeight=0.25, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdi]
        cmp      r14d, r13d
-       jae      SHORT G_M56611_IG10
+       jae      SHORT G_M56611_IG09
        mov      edi, r14d
        mov      rdi, gword ptr [r15+8*rdi+0x10]
        ; gcrRegs +[rdi]
@@ -55,32 +55,18 @@ G_M56611_IG03:        ; bbWeight=2, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byr
        call     [rax+0x40]<unknown method>
        ; gcrRegs -[rdi]
        test     eax, eax
-       jne      SHORT G_M56611_IG06
-                       ;; size=25 bbWeight=2 PerfScore 20.00
-G_M56611_IG04:        ; bbWeight=8, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
+       jne      SHORT G_M56611_IG07
+                       ;; size=25 bbWeight=0.25 PerfScore 2.50
+G_M56611_IG04:        ; bbWeight=1, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
        inc      r14d
        cmp      r13d, r14d
        jg       SHORT G_M56611_IG03
-                      ;; size=8 bbWeight=8 PerfScore 12.00
-G_M56611_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+                     ;; size=8 bbWeight=1 PerfScore 1.50
+G_M56611_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r15]
-       jmp      SHORT G_M56611_IG08
-                       ;; size=2 bbWeight=4 PerfScore 8.00
-G_M56611_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       mov      eax, 1
-                       ;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M56611_IG07:        ; bbWeight=0.50, epilog, nogc, extend
-       pop      rbx
-       pop      r13
-       pop      r14
-       pop      r15
-       pop      rbp
-       ret      
-                       ;; size=9 bbWeight=0.50 PerfScore 1.75
-G_M56611_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M56611_IG09:        ; bbWeight=0.50, epilog, nogc, extend
+G_M56611_IG06:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbx
        pop      r13
        pop      r14
@@ -88,12 +74,23 @@ G_M56611_IG09:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=9 bbWeight=0.50 PerfScore 1.75
-G_M56611_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M56611_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       mov      eax, 1
+                       ;; size=5 bbWeight=0.50 PerfScore 0.12
+G_M56611_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+       pop      rbx
+       pop      r13
+       pop      r14
+       pop      r15
+       pop      rbp
+       ret      
+                       ;; size=9 bbWeight=0.50 PerfScore 1.75
+G_M56611_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 97, prolog size 13, PerfScore 55.75, instruction count 40, allocated bytes for code 97 (MethodHash=a2bd22dc) for method Internal.TypeSystem.InstantiatedType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
+; Total bytes of code 95, prolog size 13, PerfScore 19.75, instruction count 39, allocated bytes for code 95 (MethodHash=a2bd22dc) for method Internal.TypeSystem.InstantiatedType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
 ; ============================================================
 
 Cfi Info:
  
-2 (-1.80%) : 16473.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
@@ -7,12 +7,13 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 13, 28   )   byref  ->  rdi         this single-def
+;  V00 this         [V00,T00] ( 12,  8.25)   byref  ->  rdi         this single-def
 ;* V01 TypeCtx      [V01    ] (  0,  0   )    long  ->  zero-ref    single-def
-;  V02 loc0         [V02,T03] (  3,  4.50)   byref  ->  rsi        
-;  V03 loc1         [V03,T02] (  4,  8   )     int  ->  rsi        
+;  V02 loc0         [V02,T03] (  3,  1   )   byref  ->  rsi        
+;  V03 loc1         [V03,T02] (  4,  1   )     int  ->  rsi        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T01] (  3, 12   )     ref  ->  rax         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V05 tmp1         [V05,T01] (  3,  1.50)     ref  ->  rax         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V06 cse0         [V06,T04] (  3,  2.50)     int  ->  rsi         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -28,38 +29,37 @@ G_M27287_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byr
        cmp      eax, dword ptr [rsi+0x34]
        jne      SHORT G_M27287_IG10
                        ;; size=11 bbWeight=1 PerfScore 8.00
-G_M27287_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+G_M27287_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
        ; gcrRegs -[rsi]
        mov      eax, dword ptr [rdi+0x14]
        mov      rsi, gword ptr [rdi]
        ; gcrRegs +[rsi]
-       cmp      eax, dword ptr [rsi+0x28]
-       jb       SHORT G_M27287_IG06
-                       ;; size=11 bbWeight=8 PerfScore 64.00
-G_M27287_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref
+       mov      esi, dword ptr [rsi+0x28]
        ; gcrRegs -[rsi]
-       mov      rax, gword ptr [rdi]
-       ; gcrRegs +[rax]
-       mov      eax, dword ptr [rax+0x28]
-       ; gcrRegs -[rax]
-       inc      eax
-       mov      dword ptr [rdi+0x14], eax
+       cmp      eax, esi
+       jb       SHORT G_M27287_IG06
+                       ;; size=13 bbWeight=1 PerfScore 7.25
+G_M27287_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref
+       inc      esi
+       mov      dword ptr [rdi+0x14], esi
        xor      rax, rax
        ; gcrRegs +[rax]
        mov      gword ptr [rdi+0x08], rax
-                        ;; size=17 bbWeight=0.50 PerfScore 3.25
+                       ;; size=11 bbWeight=0.50 PerfScore 1.25
 G_M27287_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rax]
        ; byrRegs -[rdi]
        pop      rbp
        ret      
                        ;; size=2 bbWeight=0.50 PerfScore 0.75
-G_M27287_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, gcvars, byref, isz
+G_M27287_IG06:        ; bbWeight=0.25, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, gcvars, byref, isz
        ; byrRegs +[rdi]
-       mov      rax, gword ptr [rdi]
+       mov      rsi, gword ptr [rdi]
+       ; gcrRegs +[rsi]
+       mov      rax, gword ptr [rsi+0x10]
        ; gcrRegs +[rax]
-       mov      rax, gword ptr [rax+0x10]
        mov      esi, dword ptr [rdi+0x14]
+       ; gcrRegs -[rsi]
        lea      ecx, [rsi+0x01]
        mov      dword ptr [rdi+0x14], ecx
        cmp      esi, dword ptr [rax+0x08]
@@ -68,8 +68,9 @@ G_M27287_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        lea      rsi, bword ptr [rax+rsi+0x10]
        ; byrRegs +[rsi]
        cmp      dword ptr [rsi+0x0C], -1
-       jl       SHORT G_M27287_IG03
-                       ;; size=36 bbWeight=2 PerfScore 34.00
+       jge      SHORT G_M27287_IG07
+       jmp      SHORT G_M27287_IG03
+                       ;; size=38 bbWeight=0.25 PerfScore 4.75
 G_M27287_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=00C0 {rsi rdi}, byref
        ; gcrRegs -[rax]
        mov      rsi, gword ptr [rsi]
@@ -95,7 +96,7 @@ G_M27287_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 111, prolog size 4, PerfScore 113.88, instruction count 38, allocated bytes for code 111 (MethodHash=08a69568) for method System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
+; Total bytes of code 109, prolog size 4, PerfScore 25.88, instruction count 38, allocated bytes for code 109 (MethodHash=08a69568) for method System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
 ; ============================================================
 
 Cfi Info:
  
-2 (-1.80%) : 4702.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
@@ -7,16 +7,17 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 14, 28.50)   byref  ->  rdi         this single-def
-;  V01 loc0         [V01,T03] (  4,  5   )   byref  ->  rcx        
-;  V02 loc1         [V02,T02] (  4,  8   )     int  ->  rcx        
+;  V00 this         [V00,T00] ( 13,  8.75)   byref  ->  rdi         this single-def
+;  V01 loc0         [V01,T03] (  4,  1.50)   byref  ->  rcx        
+;  V02 loc1         [V02,T02] (  4,  1   )     int  ->  rcx        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T01] (  3, 12   )     ref  ->  rax         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V04 tmp1         [V04,T01] (  3,  1.50)     ref  ->  rax         class-hnd exact "impAppendStmt" <<unknown class>>
 ;* V05 tmp2         [V05    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.KeyValuePair`2[int,int]>
-;  V06 tmp3         [V06,T04] (  2,  2   )     int  ->  rax         "Inlining Arg"
-;  V07 tmp4         [V07,T05] (  2,  2   )     int  ->  rcx         "Inlining Arg"
-;  V08 tmp5         [V08,T06] (  2,  1   )     int  ->  rax         "field V05.key (fldOffset=0x0)" P-INDEP
-;  V09 tmp6         [V09,T07] (  2,  1   )     int  ->  rcx         "field V05.value (fldOffset=0x4)" P-INDEP
+;  V06 tmp3         [V06,T05] (  2,  2   )     int  ->  rax         "Inlining Arg"
+;  V07 tmp4         [V07,T06] (  2,  2   )     int  ->  rcx         "Inlining Arg"
+;  V08 tmp5         [V08,T07] (  2,  1   )     int  ->  rax         "field V05.key (fldOffset=0x0)" P-INDEP
+;  V09 tmp6         [V09,T08] (  2,  1   )     int  ->  rcx         "field V05.value (fldOffset=0x4)" P-INDEP
+;  V10 cse0         [V10,T04] (  3,  2.50)     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -32,36 +33,35 @@ G_M20310_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byr
        cmp      eax, dword ptr [rcx+0x44]
        jne      SHORT G_M20310_IG10
                        ;; size=11 bbWeight=1 PerfScore 8.00
-G_M20310_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+G_M20310_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
        ; gcrRegs -[rcx]
        mov      eax, dword ptr [rdi+0x0C]
        mov      rcx, gword ptr [rdi]
        ; gcrRegs +[rcx]
-       cmp      eax, dword ptr [rcx+0x38]
-       jb       SHORT G_M20310_IG06
-                       ;; size=11 bbWeight=8 PerfScore 64.00
-G_M20310_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref
+       mov      ecx, dword ptr [rcx+0x38]
        ; gcrRegs -[rcx]
-       mov      rax, gword ptr [rdi]
-       ; gcrRegs +[rax]
-       mov      eax, dword ptr [rax+0x38]
-       ; gcrRegs -[rax]
-       inc      eax
-       mov      dword ptr [rdi+0x0C], eax
+       cmp      eax, ecx
+       jb       SHORT G_M20310_IG06
+                       ;; size=13 bbWeight=1 PerfScore 7.25
+G_M20310_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref
+       inc      ecx
+       mov      dword ptr [rdi+0x0C], ecx
        xor      eax, eax
        mov      qword ptr [rdi+0x14], rax
-                        ;; size=17 bbWeight=0.50 PerfScore 3.25
+                       ;; size=11 bbWeight=0.50 PerfScore 1.25
 G_M20310_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; byrRegs -[rdi]
        pop      rbp
        ret      
                        ;; size=2 bbWeight=0.50 PerfScore 0.75
-G_M20310_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, gcvars, byref, isz
+G_M20310_IG06:        ; bbWeight=0.25, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, gcvars, byref, isz
        ; byrRegs +[rdi]
-       mov      rax, gword ptr [rdi]
+       mov      rcx, gword ptr [rdi]
+       ; gcrRegs +[rcx]
+       mov      rax, gword ptr [rcx+0x10]
        ; gcrRegs +[rax]
-       mov      rax, gword ptr [rax+0x10]
        mov      ecx, dword ptr [rdi+0x0C]
+       ; gcrRegs -[rcx]
        lea      edx, [rcx+0x01]
        mov      dword ptr [rdi+0x0C], edx
        cmp      ecx, dword ptr [rax+0x08]
@@ -70,8 +70,9 @@ G_M20310_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        lea      rcx, bword ptr [rax+rcx+0x10]
        ; byrRegs +[rcx]
        cmp      dword ptr [rcx+0x04], -1
-       jl       SHORT G_M20310_IG03
-                       ;; size=36 bbWeight=2 PerfScore 34.00
+       jge      SHORT G_M20310_IG07
+       jmp      SHORT G_M20310_IG03
+                       ;; size=38 bbWeight=0.25 PerfScore 4.75
 G_M20310_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0082 {rcx rdi}, byref
        ; gcrRegs -[rax]
        mov      eax, dword ptr [rcx+0x08]
@@ -96,7 +97,7 @@ G_M20310_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 111, prolog size 4, PerfScore 115.12, instruction count 39, allocated bytes for code 111 (MethodHash=5c1ab0a9) for method System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
+; Total bytes of code 109, prolog size 4, PerfScore 27.12, instruction count 39, allocated bytes for code 109 (MethodHash=5c1ab0a9) for method System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
 ; ============================================================
 
 Cfi Info:
  
+21 (+77.78%) : 26759.dasm - System.Collections.Hashtable+SyncHashtable:get_SyncRoot():System.Object:this (FullOpts)
@@ -7,10 +7,10 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  4, 12   )     ref  ->  rdi         this class-hnd exact <System.Collections.Hashtable+SyncHashtable>
+;  V00 this         [V00,T01] (  6, 14   )     ref  ->  rdi         this class-hnd exact <System.Collections.Hashtable+SyncHashtable>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )     ref  ->  zero-ref    single-def "guarded devirt return temp"
-;  V03 tmp2         [V03,T00] (  4, 38   )     ref  ->  rax         single-def "guarded devirt arg temp"
+;  V03 tmp2         [V03,T00] (  8, 46   )     ref  ->  rax         "guarded devirt arg temp"
 ;* V04 tmp3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <System.Collections.Hashtable>
 ;* V05 tmp4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Hashtable+SyncHashtable>
 ;
@@ -20,27 +20,41 @@ G_M30653_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        push     rbp
        mov      rbp, rsp
                        ;; size=4 bbWeight=1 PerfScore 1.25
-G_M30653_IG02:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+G_M30653_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
        mov      rax, gword ptr [rdi+0x40]
        ; gcrRegs +[rax]
        lea      rdi, [(reloc)]
        ; gcrRegs -[rdi]
        cmp      qword ptr [rax], rdi
-       je       SHORT G_M30653_IG04
-                       ;; size=16 bbWeight=8 PerfScore 52.00
-G_M30653_IG03:        ; bbWeight=2, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M30653_IG05
        mov      rdi, rax
        ; gcrRegs +[rdi]
-       jmp      SHORT G_M30653_IG02
-                       ;; size=5 bbWeight=2 PerfScore 4.50
-G_M30653_IG04:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
+                     ;; size=19 bbWeight=1 PerfScore 6.75
+G_M30653_IG03:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
+       mov      rax, gword ptr [rdi+0x40]
+       ; gcrRegs +[rax]
+       lea      rdi, [(reloc)]
        ; gcrRegs -[rdi]
+       cmp      qword ptr [rax], rdi
+       je       SHORT G_M30653_IG05
+                       ;; size=16 bbWeight=8 PerfScore 52.00
+G_M30653_IG04:        ; bbWeight=2, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       mov      rdi, rax
+       ; gcrRegs +[rdi]
+       jmp      SHORT G_M30653_IG03
+                       ;; size=5 bbWeight=2 PerfScore 4.50
+G_M30653_IG05:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rdi]
+       cmp      byte  ptr [rax], al
+                       ;; size=2 bbWeight=1 PerfScore 3.00
+G_M30653_IG06:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=2 bbWeight=1 PerfScore 1.50
 
-; Total bytes of code 27, prolog size 4, PerfScore 59.25, instruction count 10, allocated bytes for code 27 (MethodHash=e1238842) for method System.Collections.Hashtable+SyncHashtable:get_SyncRoot():System.Object:this (FullOpts)
+; Total bytes of code 48, prolog size 4, PerfScore 69.00, instruction count 16, allocated bytes for code 48 (MethodHash=e1238842) for method System.Collections.Hashtable+SyncHashtable:get_SyncRoot():System.Object:this (FullOpts)
 ; ============================================================
 
 Cfi Info:
  
+21 (+77.78%) : 2136.dasm - System.Collections.Hashtable+SyncHashtable:get_SyncRoot():System.Object:this (FullOpts)
@@ -7,10 +7,10 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  4, 12   )     ref  ->  rdi         this class-hnd exact <System.Collections.Hashtable+SyncHashtable>
+;  V00 this         [V00,T01] (  6, 14   )     ref  ->  rdi         this class-hnd exact <System.Collections.Hashtable+SyncHashtable>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )     ref  ->  zero-ref    single-def "guarded devirt return temp"
-;  V03 tmp2         [V03,T00] (  4, 38   )     ref  ->  rax         single-def "guarded devirt arg temp"
+;  V03 tmp2         [V03,T00] (  8, 46   )     ref  ->  rax         "guarded devirt arg temp"
 ;* V04 tmp3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <System.Collections.Hashtable>
 ;* V05 tmp4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Hashtable+SyncHashtable>
 ;
@@ -20,27 +20,41 @@ G_M30653_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        push     rbp
        mov      rbp, rsp
                        ;; size=4 bbWeight=1 PerfScore 1.25
-G_M30653_IG02:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+G_M30653_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
        mov      rax, gword ptr [rdi+0x40]
        ; gcrRegs +[rax]
        lea      rdi, [(reloc)]
        ; gcrRegs -[rdi]
        cmp      qword ptr [rax], rdi
-       je       SHORT G_M30653_IG04
-                       ;; size=16 bbWeight=8 PerfScore 52.00
-G_M30653_IG03:        ; bbWeight=2, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M30653_IG05
        mov      rdi, rax
        ; gcrRegs +[rdi]
-       jmp      SHORT G_M30653_IG02
-                       ;; size=5 bbWeight=2 PerfScore 4.50
-G_M30653_IG04:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
+                     ;; size=19 bbWeight=1 PerfScore 6.75
+G_M30653_IG03:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
+       mov      rax, gword ptr [rdi+0x40]
+       ; gcrRegs +[rax]
+       lea      rdi, [(reloc)]
        ; gcrRegs -[rdi]
+       cmp      qword ptr [rax], rdi
+       je       SHORT G_M30653_IG05
+                       ;; size=16 bbWeight=8 PerfScore 52.00
+G_M30653_IG04:        ; bbWeight=2, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       mov      rdi, rax
+       ; gcrRegs +[rdi]
+       jmp      SHORT G_M30653_IG03
+                       ;; size=5 bbWeight=2 PerfScore 4.50
+G_M30653_IG05:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rdi]
+       cmp      byte  ptr [rax], al
+                       ;; size=2 bbWeight=1 PerfScore 3.00
+G_M30653_IG06:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=2 bbWeight=1 PerfScore 1.50
 
-; Total bytes of code 27, prolog size 4, PerfScore 59.25, instruction count 10, allocated bytes for code 27 (MethodHash=e1238842) for method System.Collections.Hashtable+SyncHashtable:get_SyncRoot():System.Object:this (FullOpts)
+; Total bytes of code 48, prolog size 4, PerfScore 69.00, instruction count 16, allocated bytes for code 48 (MethodHash=e1238842) for method System.Collections.Hashtable+SyncHashtable:get_SyncRoot():System.Object:this (FullOpts)
 ; ============================================================
 
 Cfi Info:
  
+21 (+77.78%) : 22936.dasm - System.Collections.Hashtable+SyncHashtable:get_SyncRoot():System.Object:this (FullOpts)
@@ -7,10 +7,10 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  4, 12   )     ref  ->  rdi         this class-hnd exact <System.Collections.Hashtable+SyncHashtable>
+;  V00 this         [V00,T01] (  6, 14   )     ref  ->  rdi         this class-hnd exact <System.Collections.Hashtable+SyncHashtable>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )     ref  ->  zero-ref    single-def "guarded devirt return temp"
-;  V03 tmp2         [V03,T00] (  4, 38   )     ref  ->  rax         single-def "guarded devirt arg temp"
+;  V03 tmp2         [V03,T00] (  8, 46   )     ref  ->  rax         "guarded devirt arg temp"
 ;* V04 tmp3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <System.Collections.Hashtable>
 ;* V05 tmp4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Hashtable+SyncHashtable>
 ;
@@ -20,27 +20,41 @@ G_M30653_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        push     rbp
        mov      rbp, rsp
                        ;; size=4 bbWeight=1 PerfScore 1.25
-G_M30653_IG02:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+G_M30653_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
        mov      rax, gword ptr [rdi+0x40]
        ; gcrRegs +[rax]
        lea      rdi, [(reloc)]
        ; gcrRegs -[rdi]
        cmp      qword ptr [rax], rdi
-       je       SHORT G_M30653_IG04
-                       ;; size=16 bbWeight=8 PerfScore 52.00
-G_M30653_IG03:        ; bbWeight=2, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M30653_IG05
        mov      rdi, rax
        ; gcrRegs +[rdi]
-       jmp      SHORT G_M30653_IG02
-                       ;; size=5 bbWeight=2 PerfScore 4.50
-G_M30653_IG04:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
+                     ;; size=19 bbWeight=1 PerfScore 6.75
+G_M30653_IG03:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
+       mov      rax, gword ptr [rdi+0x40]
+       ; gcrRegs +[rax]
+       lea      rdi, [(reloc)]
        ; gcrRegs -[rdi]
+       cmp      qword ptr [rax], rdi
+       je       SHORT G_M30653_IG05
+                       ;; size=16 bbWeight=8 PerfScore 52.00
+G_M30653_IG04:        ; bbWeight=2, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       mov      rdi, rax
+       ; gcrRegs +[rdi]
+       jmp      SHORT G_M30653_IG03
+                       ;; size=5 bbWeight=2 PerfScore 4.50
+G_M30653_IG05:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rdi]
+       cmp      byte  ptr [rax], al
+                       ;; size=2 bbWeight=1 PerfScore 3.00
+G_M30653_IG06:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=2 bbWeight=1 PerfScore 1.50
 
-; Total bytes of code 27, prolog size 4, PerfScore 59.25, instruction count 10, allocated bytes for code 27 (MethodHash=e1238842) for method System.Collections.Hashtable+SyncHashtable:get_SyncRoot():System.Object:this (FullOpts)
+; Total bytes of code 48, prolog size 4, PerfScore 69.00, instruction count 16, allocated bytes for code 48 (MethodHash=e1238842) for method System.Collections.Hashtable+SyncHashtable:get_SyncRoot():System.Object:this (FullOpts)
 ; ============================================================
 
 Cfi Info:
  
  
  
Details
Improvements/regressions per collection
| Collection | Contexts with diffs | Improvements | Regressions | Same size | Improvements (bytes) | Regressions (bytes) | 
| benchmarks.run.linux.x64.checked.mch | 10,204 | 36 | 10,163 | 5 | -841 | +2,069,583 | 
| benchmarks.run_pgo.linux.x64.checked.mch | 39,764 | 52 | 39,623 | 89 | -1,702 | +9,686,586 | 
| benchmarks.run_tiered.linux.x64.checked.mch | 3,818 | 11 | 3,804 | 3 | -306 | +901,166 | 
| coreclr_tests.run.linux.x64.checked.mch | 37,459 | 1,648 | 35,740 | 71 | -36,786 | +8,207,471 | 
| libraries.crossgen2.linux.x64.checked.mch | 21,891 | 34 | 21,833 | 24 | -395 | +4,092,477 | 
| libraries.pmi.linux.x64.checked.mch | 25,379 | 101 | 25,222 | 56 | -1,221 | +6,572,936 | 
| libraries_tests.run.linux.x64.Release.mch | 78,630 | 861 | 77,671 | 98 | -28,018 | +42,009,252 | 
| librariestestsnotieredcompilation.run.linux.x64.Release.mch | 25,570 | 158 | 25,387 | 25 | -8,149 | +9,486,571 | 
| realworld.run.linux.x64.checked.mch | 5,057 | 21 | 5,029 | 7 | -398 | +1,869,438 | 
| smoke_tests.nativeaot.linux.x64.checked.mch | 3,012 | 12 | 2,997 | 3 | -23 | +595,667 | 
|  | 250,784 | 2,934 | 247,469 | 381 | -77,839 | +85,491,147 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| benchmarks.run.linux.x64.checked.mch | 42,507 | 3,142 | 39,365 | 324 (0.76%) | 350 (0.82%) | 
| benchmarks.run_pgo.linux.x64.checked.mch | 158,112 | 60,171 | 97,941 | 156 (0.10%) | 265 (0.17%) | 
| benchmarks.run_tiered.linux.x64.checked.mch | 56,406 | 42,280 | 14,126 | 84 (0.15%) | 94 (0.17%) | 
| coreclr_tests.run.linux.x64.checked.mch | 596,092 | 354,685 | 241,407 | 459 (0.08%) | 679 (0.11%) | 
| libraries.crossgen2.linux.x64.checked.mch | 234,003 | 15 | 233,988 | 0 (0.00%) | 29 (0.01%) | 
| libraries.pmi.linux.x64.checked.mch | 294,121 | 6 | 294,115 | 2,052 (0.69%) | 2,113 (0.71%) | 
| libraries_tests.run.linux.x64.Release.mch | 759,643 | 495,575 | 264,068 | 1,402 (0.18%) | 2,009 (0.26%) | 
| librariestestsnotieredcompilation.run.linux.x64.Release.mch | 303,154 | 21,873 | 281,281 | 2,099 (0.69%) | 2,194 (0.72%) | 
| realworld.run.linux.x64.checked.mch | 32,713 | 9 | 32,704 | 341 (1.03%) | 356 (1.08%) | 
| smoke_tests.nativeaot.linux.x64.checked.mch | 27,379 | 10 | 27,369 | 5 (0.02%) | 43 (0.16%) | 
|  | 2,504,130 | 977,766 | 1,526,364 | 6,922 (0.28%) | 8,132 (0.32%) | 
jit-analyze output
benchmarks.run.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 16134263 (overridden on cmd)
Total bytes of diff: 18203005 (overridden on cmd)
Total bytes of delta: 2068742 (12.82 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       24044 : 4620.dasm (67.69 % of base)
       14460 : 28903.dasm (110.09 % of base)
       12583 : 34438.dasm (42.17 % of base)
       12583 : 16600.dasm (42.17 % of base)
        9367 : 5015.dasm (94.78 % of base)
        8060 : 34404.dasm (82.81 % of base)
        7747 : 4805.dasm (42.16 % of base)
        7728 : 34374.dasm (41.91 % of base)
        6928 : 21350.dasm (57.28 % of base)
        6790 : 14054.dasm (73.18 % of base)
        6790 : 3588.dasm (73.18 % of base)
        6723 : 26134.dasm (74.89 % of base)
        6529 : 27973.dasm (86.11 % of base)
        6443 : 30793.dasm (79.58 % of base)
        6433 : 28855.dasm (83.85 % of base)
        6416 : 41604.dasm (85.88 % of base)
        5815 : 29159.dasm (101.91 % of base)
        5662 : 25155.dasm (67.16 % of base)
        5549 : 34801.dasm (86.74 % of base)
        5198 : 34381.dasm (61.65 % of base)
Top file improvements (bytes):
        -167 : 10567.dasm (-2.00 % of base)
        -167 : 16807.dasm (-2.00 % of base)
         -77 : 9216.dasm (-9.24 % of base)
         -77 : 618.dasm (-9.24 % of base)
         -54 : 13585.dasm (-5.83 % of base)
         -54 : 7114.dasm (-5.83 % of base)
         -36 : 42542.dasm (-0.80 % of base)
         -22 : 33943.dasm (-2.80 % of base)
         -22 : 42279.dasm (-1.61 % of base)
         -21 : 33800.dasm (-2.42 % of base)
         -21 : 14511.dasm (-9.86 % of base)
         -21 : 22031.dasm (-9.86 % of base)
         -12 : 34762.dasm (-1.05 % of base)
         -12 : 4639.dasm (-0.83 % of base)
         -12 : 21343.dasm (-1.80 % of base)
         -11 : 3064.dasm (-3.24 % of base)
         -11 : 34080.dasm (-4.89 % of base)
          -4 : 28538.dasm (-0.78 % of base)
          -3 : 1101.dasm (-1.27 % of base)
          -3 : 2145.dasm (-1.29 % of base)
86 total files with Code Size differences (27 improved, 59 regressed), 5 unchanged.
Top method regressions (bytes):
       24044 (67.69 % of base) : 4620.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.IndexViewModel,int) (FullOpts)
       14460 (110.09 % of base) : 28903.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       12583 (42.17 % of base) : 34438.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.MyEventsListerItem,int) (FullOpts)
       12583 (42.17 % of base) : 16600.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.MyEventsListerItem,int) (FullOpts)
        9367 (94.78 % of base) : 5015.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (FullOpts)
        8060 (82.81 % of base) : 34404.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (FullOpts)
        7747 (42.16 % of base) : 4805.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        7728 (41.91 % of base) : 34374.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        6928 (57.28 % of base) : 21350.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.CollectionsOfPrimitives,int) (FullOpts)
        6790 (73.18 % of base) : 14054.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        6790 (73.18 % of base) : 3588.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        6723 (74.89 % of base) : 26134.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.Location,int) (FullOpts)
        6529 (86.11 % of base) : 27973.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
        6443 (79.58 % of base) : 30793.dasm - Benchstone.BenchF.LLoops:Main1(int):this (FullOpts)
        6433 (83.85 % of base) : 28855.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeOneDeclaredBases(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Tuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]]:this (FullOpts)
        6416 (85.88 % of base) : 41604.dasm - (dynamicClass):ReadMyEventsListerItemFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        5815 (101.91 % of base) : 29159.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:ComputeInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+SynthesizedExplicitImplementations:this (FullOpts)
        5662 (67.16 % of base) : 25155.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
        5549 (86.74 % of base) : 34801.dasm - (dynamicClass):ReadActiveOrUpcomingEventFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        5198 (61.65 % of base) : 34381.dasm - Jil.Deserialize.Methods:SkipWithLeadCharThunkReader(byref,int) (FullOpts)
Top method improvements (bytes):
        -167 (-2.00 % of base) : 10567.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
        -167 (-2.00 % of base) : 16807.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
         -77 (-9.24 % of base) : 9216.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -77 (-9.24 % of base) : 618.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -54 (-5.83 % of base) : 13585.dasm - System.Runtime.Serialization.DataContracts.XmlDataContract:GenerateCreateXmlSerializableDelegate():System.Runtime.Serialization.DataContracts.CreateXmlSerializableDelegate:this (FullOpts)
         -54 (-5.83 % of base) : 7114.dasm - System.Runtime.Serialization.DataContracts.XmlDataContract:GenerateCreateXmlSerializableDelegate():System.Runtime.Serialization.DataContracts.CreateXmlSerializableDelegate:this (FullOpts)
         -36 (-0.80 % of base) : 42542.dasm - Benchstone.MDBenchI.MDPuzzle:DoIt():ubyte:this (FullOpts)
         -22 (-2.80 % of base) : 33943.dasm - BenchmarksGame.FannkuchRedux_9:Bench(int,ubyte):int (FullOpts)
         -22 (-1.61 % of base) : 42279.dasm - BenchmarksGame.ReverseComplement_6:Grouper() (FullOpts)
         -21 (-2.42 % of base) : 33800.dasm - BenchmarksGame.FannkuchRedux_5:Bench(int,ubyte):int (FullOpts)
         -21 (-9.86 % of base) : 14511.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -21 (-9.86 % of base) : 22031.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -12 (-0.83 % of base) : 4639.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:.cctor() (FullOpts)
         -12 (-1.05 % of base) : 34762.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:ReadNullable(System.Reflection.MemberInfo,System.Type):this (FullOpts)
         -12 (-1.80 % of base) : 21343.dasm - Jil.Serialize.InlineSerializer`1[System.__Canon]:WriteISO8601StyleDateTime():this (FullOpts)
         -11 (-3.24 % of base) : 3064.dasm - ProtoBuf.Internal.Serializers.PropertyDecorator:GetShadowSetter(System.Reflection.PropertyInfo):System.Reflection.MethodInfo (FullOpts)
         -11 (-4.89 % of base) : 34080.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:CreateInstance(System.Type,System.Type):System.Object (FullOpts)
          -4 (-0.78 % of base) : 28538.dasm - Microsoft.CodeAnalysis.PEModule:FindTargetAttribute(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):Microsoft.CodeAnalysis.PEModule+AttributeInfo (FullOpts)
          -3 (-4.76 % of base) : 26885.dasm - Struct.SpanWrapper:SumSpanWrapper(Struct.SpanWrapper`1[int]):int:this (FullOpts)
          -3 (-1.27 % of base) : 1101.dasm - System.Reflection.CustomAttribute:IsDefined(System.Reflection.RuntimeMethodInfo,System.RuntimeType,ubyte):ubyte (FullOpts)
Top method regressions (percentages):
         323 (154.55 % of base) : 27391.dasm - Benchstone.MDBenchI.MDArray2:VerifyCopy(int[,,],int[,,]):ubyte (FullOpts)
         152 (118.75 % of base) : 24207.dasm - AssignRect:CopyToAssign(int[,],int[,]) (FullOpts)
          28 (116.67 % of base) : 3282.dasm - System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
         229 (115.66 % of base) : 7151.dasm - System.Xml.XmlBaseReader+NamespaceManager:ExitScope():this (FullOpts)
         229 (115.66 % of base) : 13630.dasm - System.Xml.XmlBaseReader+NamespaceManager:ExitScope():this (FullOpts)
         182 (113.75 % of base) : 24321.dasm - System.Runtime.Serialization.Json.XmlJsonReader:ComputeNumericalTextLength(ubyte[],int,int):int (FullOpts)
        1930 (112.01 % of base) : 34046.dasm - Benchstone.BenchF.Romber:Test():ubyte:this (FullOpts)
        1605 (110.31 % of base) : 24210.dasm - AssignRect:first_assignments(int[,],short[,]):int (FullOpts)
       14460 (110.09 % of base) : 28903.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        2066 (109.66 % of base) : 40067.dasm - Benchstone.MDBenchI.MDMulMatrix:Inner(int[,],int[,],int[,]) (FullOpts)
         828 (109.23 % of base) : 40526.dasm - System.Tests.Perf_Array:ArrayRetrieve3D():int:this (FullOpts)
          99 (106.45 % of base) : 8880.dasm - System.Reflection.TypeNameParser:SkipWhiteSpace():this (FullOpts)
          99 (106.45 % of base) : 282.dasm - System.Reflection.TypeNameParser:SkipWhiteSpace():this (FullOpts)
        4305 (106.43 % of base) : 25710.dasm - Jil.Deserialize.Methods:_ReadEncodedStringWithCharArrayThunkReader(byref,byref):System.String (FullOpts)
         142 (105.97 % of base) : 27390.dasm - Benchstone.MDBenchI.MDArray2:Initialize(int[,,]) (FullOpts)
        1436 (105.12 % of base) : 28164.dasm - Microsoft.CodeAnalysis.MetadataReaderExtensions:GetReferencedAssembliesOrThrow(System.Reflection.Metadata.MetadataReader):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.AssemblyIdentity] (FullOpts)
         370 (104.82 % of base) : 5706.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[long](long,System.String):this (FullOpts)
         370 (104.82 % of base) : 12109.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[long](long,System.String):this (FullOpts)
         442 (104.49 % of base) : 10465.dasm - System.Text.RegularExpressions.RegexParser:ScanBlank():this (FullOpts)
         442 (104.49 % of base) : 4959.dasm - System.Text.RegularExpressions.RegexParser:ScanBlank():this (FullOpts)
Top method improvements (percentages):
         -21 (-9.86 % of base) : 14511.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -21 (-9.86 % of base) : 22031.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -77 (-9.24 % of base) : 9216.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -77 (-9.24 % of base) : 618.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -54 (-5.83 % of base) : 13585.dasm - System.Runtime.Serialization.DataContracts.XmlDataContract:GenerateCreateXmlSerializableDelegate():System.Runtime.Serialization.DataContracts.CreateXmlSerializableDelegate:this (FullOpts)
         -54 (-5.83 % of base) : 7114.dasm - System.Runtime.Serialization.DataContracts.XmlDataContract:GenerateCreateXmlSerializableDelegate():System.Runtime.Serialization.DataContracts.CreateXmlSerializableDelegate:this (FullOpts)
         -11 (-4.89 % of base) : 34080.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:CreateInstance(System.Type,System.Type):System.Object (FullOpts)
          -3 (-4.76 % of base) : 26885.dasm - Struct.SpanWrapper:SumSpanWrapper(Struct.SpanWrapper`1[int]):int:this (FullOpts)
         -11 (-3.24 % of base) : 3064.dasm - ProtoBuf.Internal.Serializers.PropertyDecorator:GetShadowSetter(System.Reflection.PropertyInfo):System.Reflection.MethodInfo (FullOpts)
         -22 (-2.80 % of base) : 33943.dasm - BenchmarksGame.FannkuchRedux_9:Bench(int,ubyte):int (FullOpts)
         -21 (-2.42 % of base) : 33800.dasm - BenchmarksGame.FannkuchRedux_5:Bench(int,ubyte):int (FullOpts)
        -167 (-2.00 % of base) : 10567.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
        -167 (-2.00 % of base) : 16807.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
          -2 (-1.90 % of base) : 21674.dasm - System.Collections.Generic.HashSet`1+Enumerator[int]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.90 % of base) : 13981.dasm - System.Collections.Generic.HashSet`1+Enumerator[int]:MoveNext():ubyte:this (FullOpts)
         -12 (-1.80 % of base) : 21343.dasm - Jil.Serialize.InlineSerializer`1[System.__Canon]:WriteISO8601StyleDateTime():this (FullOpts)
          -2 (-1.79 % of base) : 13933.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.79 % of base) : 8709.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.79 % of base) : 9854.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[long,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.79 % of base) : 2074.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
  
benchmarks.run_pgo.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 69995881 (overridden on cmd)
Total bytes of diff: 79680765 (overridden on cmd)
Total bytes of delta: 9684884 (13.84 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       24044 : 20391.dasm (67.69 % of base)
       12583 : 27837.dasm (42.17 % of base)
        8637 : 125761.dasm (78.24 % of base)
        8433 : 125745.dasm (78.24 % of base)
        8258 : 115885.dasm (112.03 % of base)
        8073 : 125760.dasm (82.18 % of base)
        7747 : 21087.dasm (42.16 % of base)
        7728 : 124205.dasm (41.91 % of base)
        7218 : 130872.dasm (100.64 % of base)
        6928 : 49809.dasm (57.28 % of base)
        6723 : 72806.dasm (74.89 % of base)
        6647 : 96312.dasm (73.04 % of base)
        6599 : 96327.dasm (72.26 % of base)
        6482 : 36523.dasm (88.41 % of base)
        6471 : 135323.dasm (88.16 % of base)
        6467 : 139971.dasm (87.69 % of base)
        6451 : 96326.dasm (78.75 % of base)
        6440 : 42593.dasm (87.54 % of base)
        6323 : 155639.dasm (94.16 % of base)
        6060 : 104229.dasm (89.09 % of base)
Top file improvements (bytes):
        -176 : 142726.dasm (-9.64 % of base)
        -176 : 142769.dasm (-9.64 % of base)
        -141 : 80858.dasm (-9.13 % of base)
        -138 : 137844.dasm (-7.54 % of base)
        -138 : 143943.dasm (-7.54 % of base)
         -85 : 86284.dasm (-11.42 % of base)
         -83 : 121996.dasm (-11.13 % of base)
         -79 : 61435.dasm (-11.21 % of base)
         -78 : 77357.dasm (-10.58 % of base)
         -75 : 17786.dasm (-10.64 % of base)
         -70 : 135364.dasm (-0.94 % of base)
         -62 : 126223.dasm (-7.66 % of base)
         -61 : 102582.dasm (-9.84 % of base)
         -52 : 42687.dasm (-0.70 % of base)
         -51 : 140010.dasm (-0.69 % of base)
         -27 : 93609.dasm (-6.67 % of base)
         -24 : 104039.dasm (-5.58 % of base)
         -21 : 93607.dasm (-2.17 % of base)
         -18 : 59223.dasm (-4.21 % of base)
         -15 : 140151.dasm (-0.22 % of base)
86 total files with Code Size differences (24 improved, 62 regressed), 20 unchanged.
Top method regressions (bytes):
       24044 (67.69 % of base) : 20391.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.IndexViewModel,int) (FullOpts)
       12583 (42.17 % of base) : 27837.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.MyEventsListerItem,int) (FullOpts)
        8637 (78.24 % of base) : 125761.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1-OSR)
        8433 (78.24 % of base) : 125745.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1-OSR)
        8258 (112.03 % of base) : 115885.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
        8073 (82.18 % of base) : 125760.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1)
        7747 (42.16 % of base) : 21087.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        7728 (41.91 % of base) : 124205.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        7218 (100.64 % of base) : 130872.dasm - System.Collections.Generic.ArraySortHelper`1[System.__Canon]:IntroSort(System.Span`1[System.__Canon],int,System.Comparison`1[System.__Canon]) (Tier1)
        6928 (57.28 % of base) : 49809.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.CollectionsOfPrimitives,int) (FullOpts)
        6723 (74.89 % of base) : 72806.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.Location,int) (FullOpts)
        6647 (73.04 % of base) : 96312.dasm - Benchstone.BenchF.LLoops:Main1(int):this (Tier1-OSR)
        6599 (72.26 % of base) : 96327.dasm - Benchstone.BenchF.LLoops:Main1(int):this (Tier1-OSR)
        6482 (88.41 % of base) : 36523.dasm - System.Text.RegularExpressions.RegexParser:ScanRegex():System.Text.RegularExpressions.RegexNode:this (Tier1)
        6471 (88.16 % of base) : 135323.dasm - System.Text.RegularExpressions.RegexParser:ScanRegex():System.Text.RegularExpressions.RegexNode:this (Tier1)
        6467 (87.69 % of base) : 139971.dasm - System.Text.RegularExpressions.RegexParser:ScanRegex():System.Text.RegularExpressions.RegexNode:this (Tier1)
        6451 (78.75 % of base) : 96326.dasm - Benchstone.BenchF.LLoops:Main1(int):this (Tier1)
        6440 (87.54 % of base) : 42593.dasm - System.Text.RegularExpressions.RegexParser:ScanRegex():System.Text.RegularExpressions.RegexNode:this (Tier1)
        6323 (94.16 % of base) : 155639.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (Tier1)
        6060 (89.09 % of base) : 104229.dasm - Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.__Canon]:ToDictionary[System.ReadOnlyMemory`1[ushort]](System.Func`2[System.__Canon,System.ReadOnlyMemory`1[ushort]],System.Collections.Generic.IEqualityComparer`1[System.ReadOnlyMemory`1[ushort]]):System.Collections.Generic.Dictionary`2[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:this (Tier1)
Top method improvements (bytes):
        -176 (-9.64 % of base) : 142726.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        -176 (-9.64 % of base) : 142769.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        -141 (-9.13 % of base) : 80858.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        -138 (-7.54 % of base) : 137844.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        -138 (-7.54 % of base) : 143943.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
         -85 (-11.42 % of base) : 86284.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -83 (-11.13 % of base) : 121996.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -79 (-11.21 % of base) : 61435.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -78 (-10.58 % of base) : 77357.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -75 (-10.64 % of base) : 17786.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -70 (-0.94 % of base) : 135364.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
         -62 (-7.66 % of base) : 126223.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -61 (-9.84 % of base) : 102582.dasm - Microsoft.CodeAnalysis.Syntax.SyntaxList+WithThreeChildren:GetNodeSlot(int):Microsoft.CodeAnalysis.SyntaxNode:this (Tier1)
         -52 (-0.70 % of base) : 42687.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
         -51 (-0.69 % of base) : 140010.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
         -27 (-6.67 % of base) : 93609.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax:get_Modifiers():Microsoft.CodeAnalysis.SyntaxTokenList:this (Tier1)
         -24 (-5.58 % of base) : 104039.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax:get_Modifiers():Microsoft.CodeAnalysis.SyntaxTokenList:this (Tier1)
         -21 (-2.17 % of base) : 93607.dasm - System.Linq.Enumerable:TryGetSingle[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -18 (-4.21 % of base) : 59223.dasm - System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
         -15 (-0.22 % of base) : 140151.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
Top method regressions (percentages):
         308 (157.95 % of base) : 94432.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:ComputeOffsets():this (Tier1)
        1601 (122.03 % of base) : 122401.dasm - System.Globalization.Ordinal:IndexOfOrdinalIgnoreCase(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):int (Tier1-OSR)
        1601 (122.03 % of base) : 116237.dasm - System.Globalization.Ordinal:IndexOfOrdinalIgnoreCase(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):int (Tier1-OSR)
        5653 (121.96 % of base) : 145951.dasm - System.Collections.Generic.ArraySortHelper`1[System.Collections.BigStruct]:IntroSort(System.Span`1[System.Collections.BigStruct],int,System.Comparison`1[System.Collections.BigStruct]) (Tier1)
        5653 (121.96 % of base) : 156148.dasm - System.Collections.Generic.ArraySortHelper`1[System.Collections.BigStruct]:IntroSort(System.Span`1[System.Collections.BigStruct],int,System.Comparison`1[System.Collections.BigStruct]) (Tier1)
        3884 (121.26 % of base) : 132989.dasm - System.Text.RegularExpressions.Regex:RunAllMatchesWithCallback[int](System.String,System.ReadOnlySpan`1[ushort],int,byref,System.Text.RegularExpressions.MatchCallback`1[int],int,ubyte):this (Tier1)
        3954 (120.55 % of base) : 108391.dasm - System.Collections.Generic.ArraySortHelper`1[System.Collections.IntStruct]:IntroSort(System.Span`1[System.Collections.IntStruct],int,System.Comparison`1[System.Collections.IntStruct]) (Tier1)
         240 (120.00 % of base) : 92856.dasm - Microsoft.CodeAnalysis.GreenNode:GetFirstTerminal():Microsoft.CodeAnalysis.GreenNode:this (Tier1)
        3945 (119.95 % of base) : 115912.dasm - System.Collections.Generic.ArraySortHelper`1[System.Collections.IntStruct]:IntroSort(System.Span`1[System.Collections.IntStruct],int,System.Comparison`1[System.Collections.IntStruct]) (Tier1)
         298 (119.20 % of base) : 92870.dasm - Microsoft.CodeAnalysis.GreenNode:GetLastTerminal():Microsoft.CodeAnalysis.GreenNode:this (Tier1)
         152 (118.75 % of base) : 60012.dasm - AssignRect:CopyToAssign(int[,],int[,]) (Tier1)
        2940 (114.93 % of base) : 5517.dasm - System.Threading.Tests.Perf_CancellationToken:CreateManyRegisterMultipleDispose():this (Tier1-OSR)
         224 (114.29 % of base) : 102815.dasm - Microsoft.CodeAnalysis.GreenNode:GetLastTerminal():Microsoft.CodeAnalysis.GreenNode:this (Tier1)
        3730 (113.41 % of base) : 140150.dasm - System.Text.RegularExpressions.Regex:RunAllMatchesWithCallback[int](System.String,System.ReadOnlySpan`1[ushort],int,byref,System.Text.RegularExpressions.MatchCallback`1[int],int,ubyte):this (Tier1-OSR)
        2309 (113.35 % of base) : 150391.dasm - Benchstone.MDBenchI.MDMulMatrix:Inner(int[,],int[,],int[,]) (Tier1)
        1923 (112.72 % of base) : 147854.dasm - System.Collections.Generic.ArraySortHelper`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]:InsertionSort(System.Span`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet],System.Comparison`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]) (Tier1)
        2369 (112.49 % of base) : 146768.dasm - NumericSortJagged:Run():double:this (Tier1)
        8258 (112.03 % of base) : 115885.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
        1509 (111.53 % of base) : 155913.dasm - Benchstone.MDBenchI.MDPuzzle:Trial(int):ubyte:this (Tier1)
        3983 (110.24 % of base) : 140157.dasm - System.Text.RegularExpressions.Regex:RunAllMatchesWithCallback[int](System.String,System.ReadOnlySpan`1[ushort],int,byref,System.Text.RegularExpressions.MatchCallback`1[int],int,ubyte):this (Tier1)
Top method improvements (percentages):
         -85 (-11.42 % of base) : 86284.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -79 (-11.21 % of base) : 61435.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -83 (-11.13 % of base) : 121996.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -75 (-10.64 % of base) : 17786.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -78 (-10.58 % of base) : 77357.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -61 (-9.84 % of base) : 102582.dasm - Microsoft.CodeAnalysis.Syntax.SyntaxList+WithThreeChildren:GetNodeSlot(int):Microsoft.CodeAnalysis.SyntaxNode:this (Tier1)
        -176 (-9.64 % of base) : 142726.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        -176 (-9.64 % of base) : 142769.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        -141 (-9.13 % of base) : 80858.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
         -62 (-7.66 % of base) : 126223.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -138 (-7.54 % of base) : 137844.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        -138 (-7.54 % of base) : 143943.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
         -27 (-6.67 % of base) : 93609.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax:get_Modifiers():Microsoft.CodeAnalysis.SyntaxTokenList:this (Tier1)
         -24 (-5.58 % of base) : 104039.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax:get_Modifiers():Microsoft.CodeAnalysis.SyntaxTokenList:this (Tier1)
         -18 (-4.21 % of base) : 59223.dasm - System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
         -12 (-2.70 % of base) : 119583.dasm - System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
         -12 (-2.70 % of base) : 44770.dasm - System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
         -12 (-2.70 % of base) : 147800.dasm - System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
         -21 (-2.17 % of base) : 93607.dasm - System.Linq.Enumerable:TryGetSingle[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
          -7 (-1.55 % of base) : 75185.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1)
  
benchmarks.run_tiered.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 15913368 (overridden on cmd)
Total bytes of diff: 16814228 (overridden on cmd)
Total bytes of delta: 900860 (5.66 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       24044 : 6825.dasm (67.69 % of base)
       12583 : 19891.dasm (42.17 % of base)
        9367 : 56145.dasm (95.05 % of base)
        9329 : 48024.dasm (107.29 % of base)
        8060 : 50244.dasm (82.81 % of base)
        7747 : 7107.dasm (42.16 % of base)
        7728 : 50270.dasm (41.91 % of base)
        6928 : 28619.dasm (57.28 % of base)
        6723 : 33096.dasm (74.89 % of base)
        6443 : 36085.dasm (79.58 % of base)
        5662 : 32715.dasm (67.16 % of base)
        5185 : 56329.dasm (83.35 % of base)
        5018 : 2971.dasm (76.70 % of base)
        4947 : 50780.dasm (85.35 % of base)
        3932 : 20176.dasm (76.89 % of base)
        3900 : 46166.dasm (68.64 % of base)
        3692 : 28289.dasm (88.73 % of base)
        3641 : 50807.dasm (35.78 % of base)
        3558 : 53529.dasm (34.86 % of base)
        3541 : 49800.dasm (83.32 % of base)
Top file improvements (bytes):
        -167 : 20181.dasm (-2.00 % of base)
         -65 : 5462.dasm (-8.43 % of base)
         -36 : 56359.dasm (-0.80 % of base)
         -21 : 46898.dasm (-9.86 % of base)
          -4 : 42745.dasm (-0.78 % of base)
          -3 : 31481.dasm (-1.29 % of base)
          -2 : 18639.dasm (-1.79 % of base)
          -2 : 5210.dasm (-1.37 % of base)
          -2 : 1504.dasm (-1.79 % of base)
          -2 : 28521.dasm (-1.79 % of base)
          -2 : 44768.dasm (-1.90 % of base)
82 total files with Code Size differences (11 improved, 71 regressed), 3 unchanged.
Top method regressions (bytes):
       24044 (67.69 % of base) : 6825.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.IndexViewModel,int) (FullOpts)
       12583 (42.17 % of base) : 19891.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.MyEventsListerItem,int) (FullOpts)
        9367 (95.05 % of base) : 56145.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (Tier1)
        9329 (107.29 % of base) : 48024.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
        8060 (82.81 % of base) : 50244.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1)
        7747 (42.16 % of base) : 7107.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        7728 (41.91 % of base) : 50270.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        6928 (57.28 % of base) : 28619.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.CollectionsOfPrimitives,int) (FullOpts)
        6723 (74.89 % of base) : 33096.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.Location,int) (FullOpts)
        6443 (79.58 % of base) : 36085.dasm - Benchstone.BenchF.LLoops:Main1(int):this (Tier1)
        5662 (67.16 % of base) : 32715.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
        5185 (83.35 % of base) : 56329.dasm - (dynamicClass):ReadMyEventsListerItemFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        5018 (76.70 % of base) : 2971.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier0-FullOpts)
        4947 (85.35 % of base) : 50780.dasm - (dynamicClass):ReadActiveOrUpcomingEventFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        3932 (76.89 % of base) : 20176.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1)
        3900 (68.64 % of base) : 46166.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseExpressionContinued(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax,uint):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (Tier1)
        3692 (88.73 % of base) : 28289.dasm - (dynamicClass):ReadLocationFromXml(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.XmlObjectSerializerReadContext,System.Xml.XmlDictionaryString[],System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        3641 (35.78 % of base) : 50807.dasm - (dynamicClass):_DynamicMethod3(byref,int):MicroBenchmarks.Serializers.MyEventsListerItem (FullOpts)
        3558 (34.86 % of base) : 53529.dasm - (dynamicClass):_DynamicMethod3(System.IO.TextReader,int):MicroBenchmarks.Serializers.MyEventsListerItem (FullOpts)
        3541 (83.32 % of base) : 49800.dasm - (dynamicClass):ReadLocationFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
Top method improvements (bytes):
        -167 (-2.00 % of base) : 20181.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
         -65 (-8.43 % of base) : 5462.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -36 (-0.80 % of base) : 56359.dasm - Benchstone.MDBenchI.MDPuzzle:DoIt():ubyte:this (Tier1)
         -21 (-9.86 % of base) : 46898.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-0.78 % of base) : 42745.dasm - Microsoft.CodeAnalysis.PEModule:FindTargetAttribute(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):Microsoft.CodeAnalysis.PEModule+AttributeInfo (Tier1)
          -3 (-1.29 % of base) : 31481.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:AddElementStatus(Interop+Crypto+X509VerifyStatusCode,System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],byref) (Tier1)
          -2 (-1.37 % of base) : 5210.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (Tier1)
          -2 (-1.79 % of base) : 1504.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (Tier1)
          -2 (-1.79 % of base) : 18639.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[long,System.__Canon]:MoveNext():ubyte:this (Tier1)
          -2 (-1.90 % of base) : 44768.dasm - System.Collections.Generic.HashSet`1+Enumerator[int]:MoveNext():ubyte:this (Tier1)
          -2 (-1.79 % of base) : 28521.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
Top method regressions (percentages):
         152 (118.75 % of base) : 30490.dasm - AssignRect:CopyToAssign(int[,],int[,]) (Tier1)
        1605 (110.31 % of base) : 30491.dasm - AssignRect:first_assignments(int[,],short[,]):int (Tier1)
        2066 (109.66 % of base) : 53648.dasm - Benchstone.MDBenchI.MDMulMatrix:Inner(int[,],int[,],int[,]) (Tier1)
        9329 (107.29 % of base) : 48024.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
         307 (106.97 % of base) : 53211.dasm - Benchstone.BenchI.Array1:Test():ubyte:this (Tier1-OSR)
        3385 (106.68 % of base) : 18367.dasm - System.Text.Json.JsonDocument:Parse(System.ReadOnlySpan`1[ubyte],System.Text.Json.JsonReaderOptions,byref,byref) (Tier1-OSR)
          99 (106.45 % of base) : 2253.dasm - System.Reflection.TypeNameParser:SkipWhiteSpace():this (Tier1)
        1549 (105.52 % of base) : 46696.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
         712 (105.48 % of base) : 50896.dasm - Burgers:GetCalculated0(int,int,double,double,double,double[]):double[] (Tier1-OSR)
         422 (105.24 % of base) : 29964.dasm - Newtonsoft.Json.JsonTextReader:EatWhitespace():this (Tier1)
         442 (104.49 % of base) : 20082.dasm - System.Text.RegularExpressions.RegexParser:ScanBlank():this (Tier1)
        1930 (104.04 % of base) : 48485.dasm - Benchstone.BenchF.Romber:Test():ubyte:this (Tier1-OSR)
        3455 (103.94 % of base) : 45717.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxExtensions:VisitRankSpecifiers[System.ValueTuple`3[System.__Canon,System.__Canon,System.__Canon]](Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax,System.Action`2[System.__Canon,System.ValueTuple`3[System.__Canon,System.__Canon,System.__Canon]],byref) (Tier1)
        1506 (103.15 % of base) : 44153.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData:Microsoft.Cci.ICustomAttribute.GetArguments(Microsoft.CodeAnalysis.Emit.EmitContext):System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.IMetadataExpression]:this (Tier1)
        1935 (102.93 % of base) : 38874.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:LexSyntaxTrivia(ubyte,ubyte,byref):this (Tier1)
        2135 (101.62 % of base) : 46136.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder,ubyte,ubyte,byref):this (Tier1)
        1224 (100.99 % of base) : 29540.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength8OrLongerOrUnknown,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        1780 (99.66 % of base) : 50652.dasm - Benchstone.MDBenchF.MDRomber:Test():ubyte:this (Tier1-OSR)
         620 (99.20 % of base) : 24428.dasm - SciMark2.kernel:CopyMatrix(double[][],double[][]) (Tier1-OSR)
         137 (98.56 % of base) : 32416.dasm - PerfLabTests.LowLevelPerf:ForeachOverList100Elements():int:this (Tier1-OSR)
Top method improvements (percentages):
         -21 (-9.86 % of base) : 46898.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
         -65 (-8.43 % of base) : 5462.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -167 (-2.00 % of base) : 20181.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
          -2 (-1.90 % of base) : 44768.dasm - System.Collections.Generic.HashSet`1+Enumerator[int]:MoveNext():ubyte:this (Tier1)
          -2 (-1.79 % of base) : 1504.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (Tier1)
          -2 (-1.79 % of base) : 18639.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[long,System.__Canon]:MoveNext():ubyte:this (Tier1)
          -2 (-1.79 % of base) : 28521.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -2 (-1.37 % of base) : 5210.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (Tier1)
          -3 (-1.29 % of base) : 31481.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:AddElementStatus(Interop+Crypto+X509VerifyStatusCode,System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],byref) (Tier1)
         -36 (-0.80 % of base) : 56359.dasm - Benchstone.MDBenchI.MDPuzzle:DoIt():ubyte:this (Tier1)
          -4 (-0.78 % of base) : 42745.dasm - Microsoft.CodeAnalysis.PEModule:FindTargetAttribute(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):Microsoft.CodeAnalysis.PEModule+AttributeInfo (Tier1)
  
coreclr_tests.run.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 402389388 (overridden on cmd)
Total bytes of diff: 410560073 (overridden on cmd)
Total bytes of delta: 8170685 (2.03 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
      137635 : 497100.dasm (99.88 % of base)
       20702 : 583615.dasm (99.79 % of base)
       14748 : 499595.dasm (110.32 % of base)
       14354 : 582676.dasm (96.02 % of base)
       13020 : 583894.dasm (99.43 % of base)
       12502 : 383537.dasm (96.38 % of base)
       12304 : 382800.dasm (93.83 % of base)
       12196 : 384765.dasm (86.25 % of base)
       11848 : 383155.dasm (100.14 % of base)
       11709 : 390389.dasm (98.79 % of base)
       11476 : 392116.dasm (97.18 % of base)
       11124 : 397295.dasm (97.28 % of base)
       11088 : 384661.dasm (97.12 % of base)
       10824 : 397790.dasm (91.90 % of base)
       10690 : 383882.dasm (86.27 % of base)
        9973 : 383650.dasm (88.47 % of base)
        9973 : 383266.dasm (88.39 % of base)
        8106 : 581048.dasm (84.00 % of base)
        8065 : 503590.dasm (82.82 % of base)
        7711 : 516459.dasm (75.52 % of base)
Top file improvements (bytes):
        -265 : 475579.dasm (-12.65 % of base)
        -265 : 475643.dasm (-12.65 % of base)
        -200 : 482439.dasm (-13.12 % of base)
        -200 : 482454.dasm (-13.12 % of base)
        -194 : 482424.dasm (-12.39 % of base)
        -192 : 482574.dasm (-12.70 % of base)
        -192 : 482589.dasm (-12.70 % of base)
        -188 : 482559.dasm (-12.07 % of base)
        -145 : 396819.dasm (-1.69 % of base)
        -140 : 502128.dasm (-42.04 % of base)
        -132 : 483460.dasm (-7.37 % of base)
        -127 : 502130.dasm (-38.14 % of base)
        -117 : 392117.dasm (-0.73 % of base)
        -107 : 482841.dasm (-6.81 % of base)
         -93 : 387270.dasm (-1.97 % of base)
         -91 : 475483.dasm (-5.21 % of base)
         -91 : 475451.dasm (-5.21 % of base)
         -91 : 475675.dasm (-5.21 % of base)
         -91 : 475611.dasm (-5.24 % of base)
         -90 : 440722.dasm (-14.00 % of base)
90 total files with Code Size differences (30 improved, 60 regressed), 20 unchanged.
Top method regressions (bytes):
      137635 (99.88 % of base) : 497100.dasm - Program:TestEntryPoint():int (FullOpts)
       20702 (99.79 % of base) : 583615.dasm - CseTest.Test_Main:TestEntryPoint():int (FullOpts)
       14748 (110.32 % of base) : 499595.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       14354 (96.02 % of base) : 582676.dasm - Internal.IL.ILImporter:ImportBasicBlock(Internal.IL.ILImporter+BasicBlock):this (FullOpts)
       13020 (99.43 % of base) : 583894.dasm - SimpleArray_01.Test:Test1() (FullOpts)
       12502 (96.38 % of base) : 383537.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
       12304 (93.83 % of base) : 382800.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
       12196 (86.25 % of base) : 384765.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
       11848 (100.14 % of base) : 383155.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
       11709 (98.79 % of base) : 390389.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
       11476 (97.18 % of base) : 392116.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugInfoTableNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (Tier1-OSR)
       11124 (97.28 % of base) : 397295.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
       11088 (97.12 % of base) : 384661.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
       10824 (91.90 % of base) : 397790.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugInfoTableNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (Tier1-OSR)
       10690 (86.27 % of base) : 383882.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
        9973 (88.47 % of base) : 383650.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
        9973 (88.39 % of base) : 383266.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
        8106 (84.00 % of base) : 581048.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugDirectoryNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (FullOpts)
        8065 (82.82 % of base) : 503590.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (FullOpts)
        7711 (75.52 % of base) : 516459.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
Top method improvements (bytes):
        -265 (-12.65 % of base) : 475579.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector128.AlternatingTernaryOpTest__MultiplyAddSubtractDouble:ValidateResult(double[],double[],double[],double[],System.String):this (FullOpts)
        -265 (-12.65 % of base) : 475643.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector128.AlternatingTernaryOpTest__MultiplySubtractAddDouble:ValidateResult(double[],double[],double[],double[],System.String):this (FullOpts)
        -200 (-13.12 % of base) : 482439.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackHighInt64:ValidateResult(long[],long[],long[],System.String):this (FullOpts)
        -200 (-13.12 % of base) : 482454.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackHighUInt64:ValidateResult(ulong[],ulong[],ulong[],System.String):this (FullOpts)
        -194 (-12.39 % of base) : 482424.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackHighDouble:ValidateResult(double[],double[],double[],System.String):this (FullOpts)
        -192 (-12.70 % of base) : 482574.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackLowInt64:ValidateResult(long[],long[],long[],System.String):this (FullOpts)
        -192 (-12.70 % of base) : 482589.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackLowUInt64:ValidateResult(ulong[],ulong[],ulong[],System.String):this (FullOpts)
        -188 (-12.07 % of base) : 482559.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackLowDouble:ValidateResult(double[],double[],double[],System.String):this (FullOpts)
        -145 (-1.69 % of base) : 396819.dasm - Internal.JitInterface.CorInfoImpl:ceeInfoGetCallInfo(byref,ulong,ulong,int,ulong,byref,byref,byref,byref,byref,byref,byref,byref):this (Tier1)
        -140 (-42.04 % of base) : 502128.dasm - Benchstone.BenchF.BenchMk2:Bench():ubyte (FullOpts)
        -132 (-7.37 % of base) : 483460.dasm - JIT.HardwareIntrinsics.X86._Sse41.SimpleTernaryOpTest__BlendVariableDouble:ValidateResult(double[],double[],double[],double[],System.String):this (FullOpts)
        -127 (-38.14 % of base) : 502130.dasm - Benchstone.BenchF.BenchMrk:Bench():ubyte (FullOpts)
        -117 (-0.73 % of base) : 392117.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier1)
        -107 (-6.81 % of base) : 482841.dasm - JIT.HardwareIntrinsics.X86._Sse3.AlternatingBinaryOpTest__AddSubtractDouble:ValidateResult(double[],double[],double[],System.String):this (FullOpts)
         -93 (-1.97 % of base) : 387270.dasm - Internal.TypeSystem.CastingHelper:CanCastGenericParameterTo(Internal.TypeSystem.GenericParameterDesc,Internal.TypeSystem.TypeDesc,Internal.TypeSystem.StackOverflowProtect):ubyte (Tier1)
         -91 (-5.21 % of base) : 475451.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector128.SimpleTernaryOpTest__MultiplyAddDouble:ValidateResult(double[],double[],double[],double[],System.String):this (FullOpts)
         -91 (-5.21 % of base) : 475483.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector128.SimpleTernaryOpTest__MultiplyAddNegatedDouble:ValidateResult(double[],double[],double[],double[],System.String):this (FullOpts)
         -91 (-5.24 % of base) : 475611.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector128.SimpleTernaryOpTest__MultiplySubtractDouble:ValidateResult(double[],double[],double[],double[],System.String):this (FullOpts)
         -91 (-5.21 % of base) : 475675.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector128.SimpleTernaryOpTest__MultiplySubtractNegatedDouble:ValidateResult(double[],double[],double[],double[],System.String):this (FullOpts)
         -90 (-14.00 % of base) : 440722.dasm - JIT.HardwareIntrinsics.General._Vector64_1.VectorGetAndWithElement__GetAndWithElementDouble0:ValidateWithResult(double[],double[],double,System.String):this (FullOpts)
Top method regressions (percentages):
         323 (154.55 % of base) : 503570.dasm - Benchstone.MDBenchI.MDArray2:VerifyCopy(int[,,],int[,,]):ubyte (FullOpts)
         300 (153.85 % of base) : 524552.dasm - class1:Init3DMatrix(double[,,],double[][]) (FullOpts)
         300 (153.85 % of base) : 524869.dasm - Test_jaggedarr_InnerProd.doublemm:Init3DMatrix(double[,,],double[][]) (FullOpts)
         288 (152.38 % of base) : 525234.dasm - struct1:Init3DMatrix(double[,,],double[][]) (FullOpts)
         288 (152.38 % of base) : 524616.dasm - Test_doublearr_InnerProd.doublemm:Init3DMatrix(double[,,],double[][]) (FullOpts)
         293 (150.26 % of base) : 524607.dasm - Test_doublearr_basics.double1:Init3DMatrix(double[,,],double[][]) (FullOpts)
         290 (148.72 % of base) : 524860.dasm - Test_jaggedarr_basics.double1:Init3DMatrix(double[,,],double[][]) (FullOpts)
        1493 (147.82 % of base) : 396860.dasm - System.Collections.Generic.Dictionary`2[Internal.TypeSystem.Instantiation,System.__Canon]:FindValue(Internal.TypeSystem.Instantiation):byref:this (Tier1)
        1580 (135.39 % of base) : 396859.dasm - System.Collections.Generic.Dictionary`2[Internal.TypeSystem.Instantiation,System.__Canon]:TryGetValue(Internal.TypeSystem.Instantiation,byref):ubyte:this (Tier1)
         321 (131.56 % of base) : 524817.dasm - Test_intarr_InnerProd.intmm:Init3DMatrix(int[,,],int[][]) (FullOpts)
        1156 (127.03 % of base) : 525232.dasm - struct1:Process2DArray(byref) (FullOpts)
        1440 (126.65 % of base) : 389373.dasm - System.Collections.Generic.Dictionary`2[Internal.TypeSystem.Instantiation,System.__Canon]:FindValue(Internal.TypeSystem.Instantiation):byref:this (Tier1)
        3570 (123.36 % of base) : 525008.dasm - plainarr:gaussj(double[,],int,double[,],int) (FullOpts)
        3570 (123.36 % of base) : 525239.dasm - structarr:gaussj(MatrixStruct,int,MatrixStruct,int) (FullOpts)
        1528 (119.19 % of base) : 389372.dasm - System.Collections.Generic.Dictionary`2[Internal.TypeSystem.Instantiation,System.__Canon]:TryGetValue(Internal.TypeSystem.Instantiation,byref):ubyte:this (Tier1)
        2013 (119.04 % of base) : 387337.dasm - Internal.TypeSystem.RuntimeDeterminedCanonicalizationAlgorithm:ConvertInstantiationToCanonForm(Internal.TypeSystem.Instantiation,int,byref):Internal.TypeSystem.Instantiation (Tier1)
         152 (118.75 % of base) : 502031.dasm - AssignRect:CopyToAssign(int[,],int[,]) (FullOpts)
        1179 (118.37 % of base) : 528003.dasm - JitTest_lcs2_lcs_cs.LCS:findLCS(byref,byref,byref,byref) (FullOpts)
        1128 (117.99 % of base) : 524550.dasm - class1:Process2DArray(byref) (FullOpts)
         229 (117.44 % of base) : 293919.dasm - System.Type:GetRootElementType():System.Type:this (Instrumented Tier1)
Top method improvements (percentages):
         -40 (-59.70 % of base) : 541428.dasm - foo:Main():int (FullOpts)
        -140 (-42.04 % of base) : 502128.dasm - Benchstone.BenchF.BenchMk2:Bench():ubyte (FullOpts)
        -127 (-38.14 % of base) : 502130.dasm - Benchstone.BenchF.BenchMrk:Bench():ubyte (FullOpts)
         -39 (-23.49 % of base) : 502149.dasm - Benchstone.BenchI.BubbleSort2:Bench():ubyte (FullOpts)
         -50 (-16.18 % of base) : 413444.dasm - Mutual_recursion:seventhMethodFirstCalleeFastTailCallReversed@331(int,int,int,int,int,int,int,int,int,int,int):int (FullOpts)
         -50 (-16.18 % of base) : 413445.dasm - Mutual_recursion:seventhMethodSecondCalleeFastTailCallReversed@349(int,int,int,int,int,int,int,int,int,int,int):int (FullOpts)
         -11 (-15.71 % of base) : 284409.dasm - Test_b99969:DoSpoof() (Tier1-OSR)
         -88 (-14.19 % of base) : 426232.dasm - JIT.HardwareIntrinsics.General._Vector128_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt64:ValidateWithResult(long[],long[],System.String):this (FullOpts)
         -88 (-14.19 % of base) : 426267.dasm - JIT.HardwareIntrinsics.General._Vector128_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt64:ValidateWithResult(ulong[],ulong[],System.String):this (FullOpts)
         -90 (-14.00 % of base) : 440722.dasm - JIT.HardwareIntrinsics.General._Vector64_1.VectorGetAndWithElement__GetAndWithElementDouble0:ValidateWithResult(double[],double[],double,System.String):this (FullOpts)
         -88 (-13.69 % of base) : 426211.dasm - JIT.HardwareIntrinsics.General._Vector128_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperDouble:ValidateWithResult(double[],double[],System.String):this (FullOpts)
        -200 (-13.12 % of base) : 482439.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackHighInt64:ValidateResult(long[],long[],long[],System.String):this (FullOpts)
        -200 (-13.12 % of base) : 482454.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackHighUInt64:ValidateResult(ulong[],ulong[],ulong[],System.String):this (FullOpts)
        -192 (-12.70 % of base) : 482574.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackLowInt64:ValidateResult(long[],long[],long[],System.String):this (FullOpts)
        -192 (-12.70 % of base) : 482589.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackLowUInt64:ValidateResult(ulong[],ulong[],ulong[],System.String):this (FullOpts)
        -265 (-12.65 % of base) : 475579.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector128.AlternatingTernaryOpTest__MultiplyAddSubtractDouble:ValidateResult(double[],double[],double[],double[],System.String):this (FullOpts)
        -265 (-12.65 % of base) : 475643.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector128.AlternatingTernaryOpTest__MultiplySubtractAddDouble:ValidateResult(double[],double[],double[],double[],System.String):this (FullOpts)
        -194 (-12.39 % of base) : 482424.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackHighDouble:ValidateResult(double[],double[],double[],System.String):this (FullOpts)
         -77 (-12.36 % of base) : 440762.dasm - JIT.HardwareIntrinsics.General._Vector64_1.VectorGetAndWithElement__GetAndWithElementInt640:ValidateWithResult(long[],long[],long,System.String):this (FullOpts)
         -77 (-12.36 % of base) : 440832.dasm - JIT.HardwareIntrinsics.General._Vector64_1.VectorGetAndWithElement__GetAndWithElementUInt640:ValidateWithResult(ulong[],ulong[],ulong,System.String):this (FullOpts)
  
libraries.crossgen2.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 38669752 (overridden on cmd)
Total bytes of diff: 42761834 (overridden on cmd)
Total bytes of delta: 4092082 (10.58 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       54186 : 8951.dasm (76.08 % of base)
       16963 : 194163.dasm (66.15 % of base)
       12249 : 67090.dasm (102.35 % of base)
       10775 : 66986.dasm (97.94 % of base)
        9703 : 96180.dasm (76.27 % of base)
        8886 : 6894.dasm (78.55 % of base)
        6938 : 18450.dasm (76.77 % of base)
        6906 : 85780.dasm (96.21 % of base)
        6800 : 197306.dasm (74.33 % of base)
        6310 : 214339.dasm (46.47 % of base)
        5990 : 92306.dasm (89.36 % of base)
        4836 : 99789.dasm (76.71 % of base)
        4818 : 86095.dasm (84.27 % of base)
        4805 : 214392.dasm (101.46 % of base)
        4695 : 33585.dasm (90.43 % of base)
        4688 : 6827.dasm (82.36 % of base)
        4676 : 7081.dasm (82.81 % of base)
        4656 : 8433.dasm (37.76 % of base)
        4358 : 149062.dasm (84.25 % of base)
        4358 : 177857.dasm (84.25 % of base)
Top file improvements (bytes):
         -92 : 190130.dasm (-1.27 % of base)
         -75 : 36872.dasm (-11.16 % of base)
         -21 : 136414.dasm (-1.76 % of base)
         -20 : 29302.dasm (-3.04 % of base)
         -15 : 60111.dasm (-3.10 % of base)
         -15 : 156236.dasm (-1.22 % of base)
         -14 : 123602.dasm (-7.65 % of base)
         -14 : 123472.dasm (-8.54 % of base)
         -14 : 123705.dasm (-7.82 % of base)
         -14 : 231969.dasm (-2.63 % of base)
         -10 : 40476.dasm (-0.83 % of base)
          -8 : 137340.dasm (-6.15 % of base)
          -8 : 155166.dasm (-2.03 % of base)
          -8 : 166618.dasm (-6.15 % of base)
          -8 : 181470.dasm (-2.25 % of base)
          -8 : 228309.dasm (-2.27 % of base)
          -8 : 133327.dasm (-2.25 % of base)
          -4 : 202877.dasm (-1.24 % of base)
          -4 : 212950.dasm (-1.59 % of base)
          -4 : 158230.dasm (-0.52 % of base)
87 total files with Code Size differences (26 improved, 61 regressed), 20 unchanged.
Top method regressions (bytes):
       54186 (76.08 % of base) : 8951.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (FullOpts)
       16963 (66.15 % of base) : 194163.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
       12249 (102.35 % of base) : 67090.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
       10775 (97.94 % of base) : 66986.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
        9703 (76.27 % of base) : 96180.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureForASingleCandidate(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.Location,int,byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.VisualBasic.Symbol):this (FullOpts)
        8886 (78.55 % of base) : 6894.dasm - System.Data.XmlTreeGen:HandleTable(System.Data.DataTable,System.Xml.XmlDocument,System.Xml.XmlElement,ubyte):System.Xml.XmlElement:this (FullOpts)
        6938 (76.77 % of base) : 18450.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        6906 (96.21 % of base) : 85780.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        6800 (74.33 % of base) : 197306.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
        6310 (46.47 % of base) : 214339.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
        5990 (89.36 % of base) : 92306.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        4836 (76.71 % of base) : 99789.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberFieldSymbol:Create(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Syntax.FieldDeclarationSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol+MembersAndInitializersBuilder,byref,byref,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag) (FullOpts)
        4818 (84.27 % of base) : 86095.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeOneDeclaredBases(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Tuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]]:this (FullOpts)
        4805 (101.46 % of base) : 214392.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteMemberElementsIf(System.Xml.Serialization.XmlSerializationReaderCodeGen+Member[],System.Xml.Serialization.XmlSerializationReaderCodeGen+Member,System.String,System.String):this (FullOpts)
        4695 (90.43 % of base) : 33585.dasm - System.Diagnostics.Tracing.EventPipePayloadDecoder:DecodePayload(byref,System.ReadOnlySpan`1[ubyte]):System.Object[] (FullOpts)
        4688 (82.36 % of base) : 6827.dasm - System.Data.RBTree`1[System.__Canon]:RBInsert(int,int,int,int,ubyte):int:this (FullOpts)
        4676 (82.81 % of base) : 7081.dasm - System.Data.RBTree`1[int]:RBInsert(int,int,int,int,ubyte):int:this (FullOpts)
        4656 (37.76 % of base) : 8433.dasm - Microsoft.FSharp.Linq.QueryModule:TransInner(int,ubyte,Microsoft.FSharp.Quotations.FSharpExpr):System.Tuple`2[Microsoft.FSharp.Linq.QueryModule+TransInnerResult,Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription] (FullOpts)
        4358 (84.25 % of base) : 149062.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ReferencedAssemblyIdentity[System.__Canon,System.__Canon]]],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
        4358 (84.25 % of base) : 177857.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ReferencedAssemblyIdentity[System.__Canon,System.__Canon]]],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
Top method improvements (bytes):
         -92 (-1.27 % of base) : 190130.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
         -75 (-11.16 % of base) : 36872.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -21 (-1.76 % of base) : 136414.dasm - Newtonsoft.Json.Converters.XmlNodeConverter:ReadAttributeElements(Newtonsoft.Json.JsonReader,System.Xml.XmlNamespaceManager):System.Collections.Generic.Dictionary`2[System.String,System.String]:this (FullOpts)
         -20 (-3.04 % of base) : 29302.dasm - System.Numerics.Vector`1[System.__Canon]:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
         -15 (-1.22 % of base) : 156236.dasm - System.Security.Cryptography.X509Certificates.X500NameEncoder:ParseDistinguishedName(System.String,System.String,ubyte,ubyte):System.Collections.Generic.List`1[ubyte[]] (FullOpts)
         -15 (-3.10 % of base) : 60111.dasm - Xunit.Assert:Distinct[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]) (FullOpts)
         -14 (-8.54 % of base) : 123472.dasm - Internal.TypeSystem.DefType:get_IsRuntimeDeterminedSubtype():ubyte:this (FullOpts)
         -14 (-7.65 % of base) : 123602.dasm - Internal.TypeSystem.MethodDesc:get_IsRuntimeDeterminedExactMethod():ubyte:this (FullOpts)
         -14 (-7.82 % of base) : 123705.dasm - Internal.TypeSystem.TypeDesc:get_HasTypeEquivalence():ubyte:this (FullOpts)
         -14 (-2.63 % of base) : 231969.dasm - System.Collections.Generic.SortedSet`1[System.__Canon]:SetEquals(System.Collections.Generic.IEnumerable`1[System.__Canon]):ubyte:this (FullOpts)
         -10 (-0.83 % of base) : 40476.dasm - Microsoft.Diagnostics.Tracing.Etlx.TraceLog:DebugWarn(ubyte,System.String,Microsoft.Diagnostics.Tracing.TraceEvent):this (FullOpts)
          -8 (-2.27 % of base) : 228309.dasm - Interop+cgroups:TryGetMemoryStatField(System.String,byref):ubyte (FullOpts)
          -8 (-6.15 % of base) : 137340.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
          -8 (-6.15 % of base) : 166618.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
          -8 (-2.25 % of base) : 181470.dasm - System.Configuration.XmlUtil:.ctor(System.IO.Stream,System.String,ubyte,System.Configuration.ConfigurationSchemaErrors):this (FullOpts)
          -8 (-2.25 % of base) : 133327.dasm - System.Configuration.XmlUtil:.ctor(System.IO.Stream,System.String,ubyte,System.Configuration.ConfigurationSchemaErrors):this (FullOpts)
          -8 (-2.03 % of base) : 155166.dasm - System.Security.Cryptography.X509Certificates.X509SubjectAlternativeNameExtension+<EnumerateDnsNames>d__6:MoveNext():ubyte:this (FullOpts)
          -4 (-0.52 % of base) : 158230.dasm - PathExtensions+<DeleteSubtreesAsync>d__14:MoveNext():this (FullOpts)
          -4 (-1.24 % of base) : 202877.dasm - System.Linq.Enumerable+<OfTypeIterator>d__64`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-1.59 % of base) : 212950.dasm - System.Xml.ValidateNames:ParseNCName(System.String,int):int (FullOpts)
Top method regressions (percentages):
          28 (116.67 % of base) : 193392.dasm - System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
         231 (114.93 % of base) : 188896.dasm - System.Xml.XmlBaseReader+NamespaceManager:ExitScope():this (FullOpts)
         182 (113.04 % of base) : 188845.dasm - System.Runtime.Serialization.Json.XmlJsonReader:ComputeNumericalTextLength(ubyte[],int,int):int (FullOpts)
         487 (112.47 % of base) : 189006.dasm - System.Xml.XmlBufferReader:GetEscapedChars(int,int,ushort[]):int:this (FullOpts)
        1537 (111.86 % of base) : 83747.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol:MergeEquivalentTypeArguments(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,short,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
        1485 (110.74 % of base) : 233867.dasm - System.Runtime.Caching.UsageBucket:Reduce():this (FullOpts)
        1444 (109.64 % of base) : 161499.dasm - System.Net.HttpListenerRequest+Helpers:UrlDecodeStringFromStringInternal(System.String,System.Text.Encoding):System.String (FullOpts)
         927 (109.19 % of base) : 89896.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation+ReferenceManager:SetupReferencesForFileAssembly(Microsoft.CodeAnalysis.CSharp.CSharpCompilation+ReferenceManager+AssemblyDataForFile,Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol][],byref,byref,Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol) (FullOpts)
         561 (108.93 % of base) : 61863.dasm - Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder:<ExpressionOfTypeMatchesPatternTypeForLearningFromSuccessfulTypeTest>g__isRuntimeSimilar|42_0(Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):ubyte (FullOpts)
        1632 (108.66 % of base) : 120612.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation+ReferenceManager:SetupReferencesForFileAssembly(Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation+ReferenceManager+AssemblyDataForFile,Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation,Microsoft.CodeAnalysis.VisualBasic.Symbols.AssemblySymbol][],int,byref,Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceAssemblySymbol) (FullOpts)
        2401 (107.24 % of base) : 109410.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Parser:ParseFromControlVars():Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CollectionRangeVariableSyntax]:this (FullOpts)
        3650 (106.73 % of base) : 7419.dasm - System.Data.RBTree`1[System.__Canon]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
         270 (106.72 % of base) : 70972.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxExtensions:IsInContextWhichNeedsDynamicAttribute(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode):ubyte (FullOpts)
        1441 (106.66 % of base) : 226059.dasm - System.Web.Util.HttpEncoder:UrlDecode(System.String,System.Text.Encoding):System.String (FullOpts)
        3621 (105.88 % of base) : 7461.dasm - System.Data.RBTree`1[int]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
          93 (105.68 % of base) : 77922.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanToEndOfLine():this (FullOpts)
         279 (105.28 % of base) : 134136.dasm - Newtonsoft.Json.JsonTextReader:EatWhitespace():this (FullOpts)
        1231 (105.12 % of base) : 37897.dasm - System.Array+SorterGenericArray:InsertionSort(int,int):this (FullOpts)
         803 (104.97 % of base) : 210810.dasm - System.Xml.XmlUtf8RawTextWriter:WriteCommentOrPi(System.String,int):this (FullOpts)
         370 (104.82 % of base) : 35919.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[long](long,System.String):this (FullOpts)
Top method improvements (percentages):
         -75 (-11.16 % of base) : 36872.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -14 (-8.54 % of base) : 123472.dasm - Internal.TypeSystem.DefType:get_IsRuntimeDeterminedSubtype():ubyte:this (FullOpts)
         -14 (-7.82 % of base) : 123705.dasm - Internal.TypeSystem.TypeDesc:get_HasTypeEquivalence():ubyte:this (FullOpts)
         -14 (-7.65 % of base) : 123602.dasm - Internal.TypeSystem.MethodDesc:get_IsRuntimeDeterminedExactMethod():ubyte:this (FullOpts)
          -8 (-6.15 % of base) : 137340.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
          -8 (-6.15 % of base) : 166618.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
         -15 (-3.10 % of base) : 60111.dasm - Xunit.Assert:Distinct[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]) (FullOpts)
         -20 (-3.04 % of base) : 29302.dasm - System.Numerics.Vector`1[System.__Canon]:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
         -14 (-2.63 % of base) : 231969.dasm - System.Collections.Generic.SortedSet`1[System.__Canon]:SetEquals(System.Collections.Generic.IEnumerable`1[System.__Canon]):ubyte:this (FullOpts)
          -8 (-2.27 % of base) : 228309.dasm - Interop+cgroups:TryGetMemoryStatField(System.String,byref):ubyte (FullOpts)
          -8 (-2.25 % of base) : 181470.dasm - System.Configuration.XmlUtil:.ctor(System.IO.Stream,System.String,ubyte,System.Configuration.ConfigurationSchemaErrors):this (FullOpts)
          -8 (-2.25 % of base) : 133327.dasm - System.Configuration.XmlUtil:.ctor(System.IO.Stream,System.String,ubyte,System.Configuration.ConfigurationSchemaErrors):this (FullOpts)
          -8 (-2.03 % of base) : 155166.dasm - System.Security.Cryptography.X509Certificates.X509SubjectAlternativeNameExtension+<EnumerateDnsNames>d__6:MoveNext():ubyte:this (FullOpts)
          -2 (-1.92 % of base) : 123506.dasm - Internal.TypeSystem.InstantiatedType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
          -2 (-1.89 % of base) : 38882.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[int,ubyte]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.85 % of base) : 38887.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[int,ubyte]:MoveNext():ubyte:this (FullOpts)
         -21 (-1.76 % of base) : 136414.dasm - Newtonsoft.Json.Converters.XmlNodeConverter:ReadAttributeElements(Newtonsoft.Json.JsonReader,System.Xml.XmlNamespaceManager):System.Collections.Generic.Dictionary`2[System.String,System.String]:this (FullOpts)
          -2 (-1.75 % of base) : 38401.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,ubyte]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.75 % of base) : 29897.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.75 % of base) : 152586.dasm - System.IO.Packaging.XmlCompatibilityReader:SkipToKnownAttribute():ubyte:this (FullOpts)
  
libraries.pmi.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 58849984 (overridden on cmd)
Total bytes of diff: 65421699 (overridden on cmd)
Total bytes of delta: 6571715 (11.17 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       20588 : 104569.dasm (84.33 % of base)
       19455 : 247452.dasm (67.79 % of base)
       19005 : 104528.dasm (109.37 % of base)
       14678 : 94684.dasm (110.20 % of base)
       11540 : 71834.dasm (96.04 % of base)
       10887 : 71940.dasm (95.03 % of base)
       10271 : 240879.dasm (103.76 % of base)
        9793 : 29668.dasm (83.77 % of base)
        9367 : 225681.dasm (94.78 % of base)
        8886 : 108734.dasm (91.35 % of base)
        8494 : 101826.dasm (92.36 % of base)
        8165 : 63506.dasm (83.65 % of base)
        7711 : 249347.dasm (75.52 % of base)
        7460 : 63099.dasm (72.90 % of base)
        7224 : 104844.dasm (75.35 % of base)
        7201 : 104518.dasm (91.55 % of base)
        6347 : 274061.dasm (61.44 % of base)
        6186 : 95032.dasm (83.87 % of base)
        6025 : 94696.dasm (103.31 % of base)
        5813 : 107561.dasm (106.92 % of base)
Top file improvements (bytes):
        -164 : 139.dasm (-1.96 % of base)
         -58 : 38689.dasm (-7.28 % of base)
         -28 : 260467.dasm (-4.53 % of base)
         -25 : 284478.dasm (-6.44 % of base)
         -23 : 291755.dasm (-6.52 % of base)
         -22 : 180179.dasm (-3.56 % of base)
         -21 : 221009.dasm (-9.86 % of base)
         -21 : 221043.dasm (-9.59 % of base)
         -21 : 244442.dasm (-9.50 % of base)
         -20 : 94650.dasm (-1.07 % of base)
         -20 : 291754.dasm (-6.39 % of base)
         -19 : 66145.dasm (-1.50 % of base)
         -18 : 151021.dasm (-3.19 % of base)
         -18 : 172381.dasm (-3.19 % of base)
         -18 : 203961.dasm (-3.19 % of base)
         -18 : 224364.dasm (-4.40 % of base)
         -18 : 244443.dasm (-10.40 % of base)
         -17 : 166833.dasm (-0.46 % of base)
         -17 : 233710.dasm (-2.85 % of base)
         -16 : 140573.dasm (-2.33 % of base)
95 total files with Code Size differences (34 improved, 61 regressed), 20 unchanged.
Top method regressions (bytes):
       20588 (84.33 % of base) : 104569.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureForASingleCandidate(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.Location,int,byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.VisualBasic.Symbol):this (FullOpts)
       19455 (67.79 % of base) : 247452.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
       19005 (109.37 % of base) : 104528.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindFieldAndPropertyInitializers(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,System.Collections.Immutable.ImmutableArray`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.FieldOrPropertyInitializer]],Microsoft.CodeAnalysis.VisualBasic.Symbols.SynthesizedInteractiveInitializerMethod,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundInitializer] (FullOpts)
       14678 (110.20 % of base) : 94684.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       11540 (96.04 % of base) : 71834.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
       10887 (95.03 % of base) : 71940.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
       10271 (103.76 % of base) : 240879.dasm - Microsoft.Build.Evaluation.Preprocessor:CloneChildrenResolvingImports(System.Xml.XmlNode,System.Xml.XmlNode):this (FullOpts)
        9793 (83.77 % of base) : 29668.dasm - System.Data.XmlTreeGen:HandleTable(System.Data.DataTable,System.Xml.XmlDocument,System.Xml.XmlElement,ubyte):System.Xml.XmlElement:this (FullOpts)
        9367 (94.78 % of base) : 225681.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (FullOpts)
        8886 (91.35 % of base) : 108734.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberFieldSymbol:Create(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Syntax.FieldDeclarationSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol+MembersAndInitializersBuilder,byref,byref,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag) (FullOpts)
        8494 (92.36 % of base) : 101826.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        8165 (83.65 % of base) : 63506.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugDirectoryNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (FullOpts)
        7711 (75.52 % of base) : 249347.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
        7460 (72.90 % of base) : 63099.dasm - ILCompiler.Win32Resources.ResourceData:WriteResources(ILCompiler.DependencyAnalysis.ISymbolNode,byref,byref):this (FullOpts)
        7224 (75.35 % of base) : 104844.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:DecodeParameterList(Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,int,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.ParameterSyntax],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.VisualBasic.Binder+CheckParameterModifierDelegate,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):this (FullOpts)
        7201 (91.55 % of base) : 104518.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindArrayBounds(Microsoft.CodeAnalysis.VisualBasic.Syntax.ArgumentListSyntax,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Binder+DimensionSize[],ubyte):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]:this (FullOpts)
        6347 (61.44 % of base) : 274061.dasm - R2RDump.TextDumper:DumpSectionContents(ILCompiler.Reflection.ReadyToRun.ReadyToRunSection):this (FullOpts)
        6186 (83.87 % of base) : 95032.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeOneDeclaredBases(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Tuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]]:this (FullOpts)
        6025 (103.31 % of base) : 94696.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:ComputeInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+SynthesizedExplicitImplementations:this (FullOpts)
        5813 (106.92 % of base) : 107561.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.ConstraintsHelper:ReportIndirectConstraintConflicts(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceTypeParameterSymbol,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterDiagnosticInfo],byref) (FullOpts)
Top method improvements (bytes):
        -164 (-1.96 % of base) : 139.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
         -58 (-7.28 % of base) : 38689.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateParameterizedConstructor(System.Reflection.ConstructorInfo,System.Type,System.Type,System.Type,System.Type):System.Reflection.Emit.DynamicMethod (FullOpts)
         -28 (-4.53 % of base) : 260467.dasm - System.Xml.XmlDictionaryReader:ReadString(int):System.String:this (FullOpts)
         -25 (-6.44 % of base) : 284478.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext:MatchPatternContexts[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.Func`3[Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,System.Numerics.Vector`1[float],Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult]):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts)
         -23 (-6.52 % of base) : 291755.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:TryGetValue(System.Numerics.Vector`1[float],byref):ubyte:this (FullOpts)
         -22 (-3.56 % of base) : 180179.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:IsProperSupersetOf(System.Collections.Generic.IEnumerable`1[System.__Canon]):ubyte:this (FullOpts)
         -21 (-9.50 % of base) : 244442.dasm - Microsoft.Build.Shared.FileMatcher:LastIndexOfDirectorySequence(System.String,int):int (FullOpts)
         -21 (-9.86 % of base) : 221009.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -21 (-9.59 % of base) : 221043.dasm - System.Linq.Enumerable+WhereSelectListIterator`2[System.__Canon,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts)
         -20 (-1.07 % of base) : 94650.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:HasInstanceData(Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax):ubyte (FullOpts)
         -20 (-6.39 % of base) : 291754.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Contains(System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -19 (-1.50 % of base) : 66145.dasm - Microsoft.CodeAnalysis.CSharp.Binder:CheckWhatCandidatesWeHave(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbol],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,System.String,int,byref,byref,byref,byref):this (FullOpts)
         -18 (-10.40 % of base) : 244443.dasm - Microsoft.Build.Shared.FileMatcher:LastIndexOfDirectoryOrRecursiveSequence(System.String,int):int (FullOpts)
         -18 (-3.19 % of base) : 151021.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:TryGetKey(System.__Canon,byref):ubyte:this (FullOpts)
         -18 (-3.19 % of base) : 172381.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:TryGetKey(System.__Canon,byref):ubyte:this (FullOpts)
         -18 (-3.19 % of base) : 203961.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:TryGetKey(System.__Canon,byref):ubyte:this (FullOpts)
         -18 (-4.40 % of base) : 224364.dasm - System.CodeDom.Compiler.CompilerInfo:CreateProvider(System.Collections.Generic.IDictionary`2[System.String,System.String]):System.CodeDom.Compiler.CodeDomProvider:this (FullOpts)
         -17 (-2.85 % of base) : 233710.dasm - Newtonsoft.Json.Utilities.ConvertUtils:CreateCastConverter(Newtonsoft.Json.Utilities.StructMultiKey`2[System.Type,System.Type]):System.Func`2[System.Object,System.Object] (FullOpts)
         -17 (-0.46 % of base) : 166833.dasm - System.Xml.Xsl.Runtime.XsltMethods:.cctor() (FullOpts)
         -16 (-2.33 % of base) : 140573.dasm - Microsoft.CodeAnalysis.SyntaxNode:GetTriviaThatContainsPosition(byref,int):Microsoft.CodeAnalysis.SyntaxTrivia (FullOpts)
Top method regressions (percentages):
         206 (137.33 % of base) : 84575.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanToEndOfLine():this (FullOpts)
        1891 (120.91 % of base) : 108229.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.ImplicitNamedTypeSymbol:AddDeclaredNonTypeMembers(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol+MembersAndInitializersBuilder,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):this (FullOpts)
        3890 (119.73 % of base) : 267924.dasm - Microsoft.Extensions.DependencyModel.DependencyContextWriter:AddRuntimeSpecificAssets(System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.DependencyModel.RuntimeFile],System.String,System.String,System.Text.Json.Utf8JsonWriter) (FullOpts)
        2746 (117.85 % of base) : 211107.dasm - System.Net.Http.Http3RequestStream:BufferHeaderCollection(System.Net.Http.Headers.HttpHeaders):int:this (FullOpts)
          28 (116.67 % of base) : 271500.dasm - System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
        1424 (116.63 % of base) : 148626.dasm - Microsoft.CodeAnalysis.CodeGen.SequencePointList:GetSequencePoints(Microsoft.CodeAnalysis.CodeGen.DebugDocumentProvider,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.Cci.SequencePoint]):this (FullOpts)
        1424 (116.63 % of base) : 201594.dasm - Microsoft.CodeAnalysis.CodeGen.SequencePointList:GetSequencePoints(Microsoft.CodeAnalysis.CodeGen.DebugDocumentProvider,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.Cci.SequencePoint]):this (FullOpts)
         136 (116.24 % of base) : 150789.dasm - Microsoft.CodeAnalysis.Diagnostics.SuppressMessageAttributeState+TargetSymbolResolver:ReadNextInteger():int:this (FullOpts)
         136 (116.24 % of base) : 203743.dasm - Microsoft.CodeAnalysis.Diagnostics.SuppressMessageAttributeState+TargetSymbolResolver:ReadNextInteger():int:this (FullOpts)
        2791 (115.71 % of base) : 107528.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceAttributeData:GetTargetAttributeSignatureIndex(Microsoft.CodeAnalysis.VisualBasic.Symbol,Microsoft.CodeAnalysis.AttributeDescription):int:this (FullOpts)
         229 (115.66 % of base) : 263273.dasm - System.Xml.XmlBaseReader+NamespaceManager:ExitScope():this (FullOpts)
         128 (115.32 % of base) : 213179.dasm - System.Data.Odbc.CStringTokenizer:GetTokenFromBracket(int):int:this (FullOpts)
         182 (113.75 % of base) : 262515.dasm - System.Runtime.Serialization.Json.XmlJsonReader:ComputeNumericalTextLength(ubyte[],int,int):int (FullOpts)
         748 (113.33 % of base) : 26406.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[short](short):this (FullOpts)
         166 (112.93 % of base) : 31011.dasm - System.Data.DataSet:FindTable(System.Data.DataTable,System.ComponentModel.PropertyDescriptor[],int):System.Data.DataTable (FullOpts)
         487 (112.73 % of base) : 260180.dasm - System.Xml.XmlBufferReader:GetEscapedChars(int,int,ushort[]):int:this (FullOpts)
         170 (112.58 % of base) : 148057.dasm - Microsoft.CodeAnalysis.Collections.Internal.SegmentedGenericArraySortHelper`1[double]:BinarySearch(Microsoft.CodeAnalysis.Collections.SegmentedArray`1[double],int,int,double):int (FullOpts)
         170 (112.58 % of base) : 201076.dasm - Microsoft.CodeAnalysis.Collections.Internal.SegmentedGenericArraySortHelper`1[double]:BinarySearch(Microsoft.CodeAnalysis.Collections.SegmentedArray`1[double],int,int,double):int (FullOpts)
        3121 (112.51 % of base) : 31043.dasm - System.Data.DataTable:SerializeConstraints(System.Runtime.Serialization.SerializationInfo,int,ubyte):this (FullOpts)
        1691 (111.91 % of base) : 111883.dasm - Microsoft.CodeAnalysis.VisualBasic.ClsComplianceChecker:CheckParameterCompliance(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol):this (FullOpts)
Top method improvements (percentages):
         -18 (-10.40 % of base) : 244443.dasm - Microsoft.Build.Shared.FileMatcher:LastIndexOfDirectoryOrRecursiveSequence(System.String,int):int (FullOpts)
         -21 (-9.86 % of base) : 221009.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -21 (-9.59 % of base) : 221043.dasm - System.Linq.Enumerable+WhereSelectListIterator`2[System.__Canon,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts)
         -21 (-9.50 % of base) : 244442.dasm - Microsoft.Build.Shared.FileMatcher:LastIndexOfDirectorySequence(System.String,int):int (FullOpts)
         -14 (-8.92 % of base) : 173723.dasm - Internal.TypeSystem.DefType:get_IsRuntimeDeterminedSubtype():ubyte:this (FullOpts)
         -14 (-8.28 % of base) : 173975.dasm - Internal.TypeSystem.TypeDesc:get_HasTypeEquivalence():ubyte:this (FullOpts)
         -14 (-8.19 % of base) : 173863.dasm - Internal.TypeSystem.MethodDesc:get_IsRuntimeDeterminedExactMethod():ubyte:this (FullOpts)
         -16 (-8.00 % of base) : 184635.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Byte():System.Reflection.MethodInfo (FullOpts)
         -16 (-8.00 % of base) : 184643.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Char():System.Reflection.MethodInfo (FullOpts)
         -16 (-8.00 % of base) : 184637.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Int16():System.Reflection.MethodInfo (FullOpts)
         -16 (-8.00 % of base) : 184639.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Int32():System.Reflection.MethodInfo (FullOpts)
         -16 (-8.00 % of base) : 184641.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Int64():System.Reflection.MethodInfo (FullOpts)
         -16 (-8.00 % of base) : 184636.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_SByte():System.Reflection.MethodInfo (FullOpts)
         -16 (-8.00 % of base) : 184638.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_UInt16():System.Reflection.MethodInfo (FullOpts)
         -16 (-8.00 % of base) : 184640.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_UInt32():System.Reflection.MethodInfo (FullOpts)
         -16 (-8.00 % of base) : 184642.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_UInt64():System.Reflection.MethodInfo (FullOpts)
         -16 (-8.00 % of base) : 184626.dasm - System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
         -12 (-7.69 % of base) : 278798.dasm - System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
         -58 (-7.28 % of base) : 38689.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateParameterizedConstructor(System.Reflection.ConstructorInfo,System.Type,System.Type,System.Type,System.Type):System.Reflection.Emit.DynamicMethod (FullOpts)
         -23 (-6.52 % of base) : 291755.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:TryGetValue(System.Numerics.Vector`1[float],byref):ubyte:this (FullOpts)
  
libraries_tests.run.linux.x64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 339241076 (overridden on cmd)
Total bytes of diff: 381222310 (overridden on cmd)
Total bytes of delta: 41981234 (12.38 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       26504 : 601636.dasm (94.37 % of base)
       25234 : 672748.dasm (91.47 % of base)
       24822 : 66578.dasm (98.73 % of base)
       21202 : 60516.dasm (90.53 % of base)
       20879 : 670442.dasm (89.21 % of base)
       20328 : 719928.dasm (103.97 % of base)
       19910 : 533106.dasm (95.11 % of base)
       19424 : 719892.dasm (102.39 % of base)
       19315 : 487742.dasm (89.04 % of base)
       19292 : 673257.dasm (89.46 % of base)
       19197 : 692991.dasm (97.08 % of base)
       18813 : 184545.dasm (85.61 % of base)
       18789 : 94164.dasm (98.91 % of base)
       17293 : 692484.dasm (76.60 % of base)
       17268 : 129442.dasm (77.44 % of base)
       17226 : 191757.dasm (93.86 % of base)
       17157 : 700849.dasm (82.83 % of base)
       17092 : 70283.dasm (79.22 % of base)
       16489 : 699038.dasm (79.79 % of base)
       16265 : 55440.dasm (94.44 % of base)
Top file improvements (bytes):
       -1298 : 445718.dasm (-30.69 % of base)
       -1298 : 448700.dasm (-30.75 % of base)
       -1289 : 441785.dasm (-30.88 % of base)
       -1272 : 448640.dasm (-31.35 % of base)
       -1272 : 445499.dasm (-31.56 % of base)
       -1272 : 448740.dasm (-31.38 % of base)
        -910 : 449567.dasm (-26.21 % of base)
        -739 : 84244.dasm (-5.47 % of base)
        -592 : 228595.dasm (-2.67 % of base)
        -374 : 60551.dasm (-5.59 % of base)
        -367 : 185248.dasm (-14.45 % of base)
        -266 : 575938.dasm (-3.26 % of base)
        -196 : 586359.dasm (-2.54 % of base)
        -193 : 63532.dasm (-10.93 % of base)
        -181 : 700921.dasm (-3.86 % of base)
        -160 : 338342.dasm (-1.00 % of base)
        -157 : 409880.dasm (-4.51 % of base)
        -146 : 425181.dasm (-4.24 % of base)
        -146 : 63622.dasm (-7.63 % of base)
        -137 : 62267.dasm (-5.98 % of base)
95 total files with Code Size differences (32 improved, 63 regressed), 20 unchanged.
Top method regressions (bytes):
       26504 (94.37 % of base) : 601636.dasm - System.Xml.XmlLoader:LoadNode(ubyte):System.Xml.XmlNode:this (Tier1-OSR)
       25234 (91.47 % of base) : 672748.dasm - System.Text.Json.Tests.Utf8JsonWriterTests:GetNumbersExpectedString(System.Text.Json.JsonWriterOptions,System.String,int[],uint[],long[],ulong[],float[],double[],System.Decimal[],ubyte):System.String (Tier1-OSR)
       24822 (98.73 % of base) : 66578.dasm - Microsoft.CodeAnalysis.CSharp.Binder:MakeDeconstructionConversion(Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Binder+DeconstructionVariable],byref):ubyte:this (Tier1)
       21202 (90.53 % of base) : 60516.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
       20879 (89.21 % of base) : 670442.dasm - System.Text.Json.Tests.Utf8JsonWriterTests:GetNumbersExpectedString(System.Text.Json.JsonWriterOptions,System.String,int[],uint[],long[],ulong[],float[],double[],System.Decimal[],ubyte):System.String (Tier1-OSR)
       20328 (103.97 % of base) : 719928.dasm - Microsoft.Cci.MetadataWriter:PopulateTypeRefTableRows():this (Tier1)
       19910 (95.11 % of base) : 533106.dasm - System.Runtime.Serialization.ReflectionXmlFormatWriter:ReflectionWriteCollection(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (Tier1-OSR)
       19424 (102.39 % of base) : 719892.dasm - Microsoft.Cci.MetadataWriter:PopulateTypeDefTableRows():this (Tier1)
       19315 (89.04 % of base) : 487742.dasm - System.Xml.XmlConvertTests.ToTypeTests:TestValid(System.Object[],System.Object[],System.String,System.String[]):int:this (Tier1)
       19292 (89.46 % of base) : 673257.dasm - System.Text.Json.Tests.Utf8JsonWriterTests:GetNumbersExpectedString(System.Text.Json.JsonWriterOptions,System.String,int[],uint[],long[],ulong[],float[],double[],System.Decimal[],ubyte):System.String (Tier1)
       19197 (97.08 % of base) : 692991.dasm - Microsoft.CodeAnalysis.CSharp.Binder:TryPerformConstructorOverloadResolution(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.String,Microsoft.CodeAnalysis.Location,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref,byref,ubyte,ubyte):ubyte:this (Tier1)
       18813 (85.61 % of base) : 184545.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
       18789 (98.91 % of base) : 94164.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers:MakeParameters[System.__Canon,System.__Canon,System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,System.__Canon,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[System.__Canon],byref,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte,ubyte,ubyte,int,System.Func`12[System.__Canon,System.__Canon,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.__Canon,ubyte,int,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,ubyte,ubyte,System.__Canon,System.__Canon],ubyte):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (Tier1)
       17293 (76.60 % of base) : 692484.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindAttributeCore(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundAttribute:this (Tier1)
       17268 (77.44 % of base) : 129442.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:BuildFactoryExpression(System.Reflection.ConstructorInfo,System.Nullable`1[int][],System.Linq.Expressions.Expression,System.Linq.Expressions.Expression):System.Linq.Expressions.BlockExpression (Tier1)
       17226 (93.86 % of base) : 191757.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers:MakeParameters[System.__Canon,System.__Canon,System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,System.__Canon,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[System.__Canon],byref,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte,ubyte,ubyte,int,System.Func`12[System.__Canon,System.__Canon,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.__Canon,ubyte,int,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,ubyte,ubyte,System.__Canon,System.__Canon],ubyte):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (Tier1)
       17157 (82.83 % of base) : 700849.dasm - Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,System.__Canon]:VisitBinaryLogicalOperatorChildren(Microsoft.CodeAnalysis.CSharp.BoundExpression):this (Tier1)
       17092 (79.22 % of base) : 70283.dasm - Microsoft.Interop.Analyzers.RuntimeComApiUsageWithSourceGeneratedComAnalyzer+<>c:<Initialize>b__2_0(Microsoft.CodeAnalysis.Diagnostics.CompilationStartAnalysisContext):this (Tier1)
       16489 (79.79 % of base) : 699038.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindClassCreationExpression(Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.CSharp.Syntax.InitializerExpressionSyntax,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
       16265 (94.44 % of base) : 55440.dasm - Microsoft.CodeAnalysis.CSharp.Binder:TryPerformConstructorOverloadResolution(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.String,Microsoft.CodeAnalysis.Location,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref,byref,ubyte,ubyte):ubyte:this (Tier1)
Top method improvements (bytes):
       -1298 (-30.69 % of base) : 445718.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanSpanIntoSpan[long,System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[long]](System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],System.Span`1[long]) (Tier1)
       -1298 (-30.75 % of base) : 448700.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanSpanIntoSpan[ulong,System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[ulong]](System.ReadOnlySpan`1[ulong],System.ReadOnlySpan`1[ulong],System.Span`1[ulong]) (Tier1)
       -1289 (-30.88 % of base) : 441785.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanSpanIntoSpan[long,System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[long]](System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],System.Span`1[long]) (Tier1)
       -1272 (-31.56 % of base) : 445499.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanScalarIntoSpan[long,System.Numerics.Tensors.TensorPrimitives+IdentityOperator`1[long],System.Numerics.Tensors.TensorPrimitives+InvertedBinaryOperator`2[System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[long],long]](System.ReadOnlySpan`1[long],long,System.Span`1[long]) (Tier1)
       -1272 (-31.38 % of base) : 448740.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanScalarIntoSpan[ulong,System.Numerics.Tensors.TensorPrimitives+IdentityOperator`1[ulong],System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[ulong]](System.ReadOnlySpan`1[ulong],ulong,System.Span`1[ulong]) (Tier1)
       -1272 (-31.35 % of base) : 448640.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanScalarIntoSpan[ulong,System.Numerics.Tensors.TensorPrimitives+IdentityOperator`1[ulong],System.Numerics.Tensors.TensorPrimitives+InvertedBinaryOperator`2[System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[ulong],ulong]](System.ReadOnlySpan`1[ulong],ulong,System.Span`1[ulong]) (Tier1)
        -910 (-26.21 % of base) : 449567.dasm - System.Numerics.Tensors.TensorPrimitives:<InvokeSpanScalarIntoSpan>g__VectorizedSmall8|223_6[ulong,System.Numerics.Tensors.TensorPrimitives+IdentityOperator`1[ulong],System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[ulong]](byref,ulong,byref,ulong) (Tier1)
        -739 (-5.47 % of base) : 84244.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbols(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):this (Tier1-OSR)
        -592 (-2.67 % of base) : 228595.dasm - System.Collections.Frozen.Tests.FrozenSet_Generic_Tests`1[System.__Canon]:ComparingWithOtherSets(int):this (Tier1)
        -374 (-5.59 % of base) : 60551.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeModifiersAndFlags(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax,int,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref):System.ValueTuple`2[uint,Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags] (Tier1)
        -367 (-14.45 % of base) : 185248.dasm - Microsoft.CodeAnalysis.Compilation:<IsSymbolAccessibleWithin>g__assemblyIsInCompilationReferences|195_2(Microsoft.CodeAnalysis.IAssemblySymbol,Microsoft.CodeAnalysis.Compilation):ubyte (Tier1)
        -266 (-3.26 % of base) : 575938.dasm - System.Security.Cryptography.EcDsa.Tests.ECDsaTests:SignVerify_InteroperableSameKeys_RoundTripsUnlessTampered(System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName):this (Tier1)
        -196 (-2.54 % of base) : 586359.dasm - System.Security.Cryptography.EcDsa.Tests.ECDsaTests:SignVerify_InteroperableSameKeys_RoundTripsUnlessTampered(System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName):this (Tier1)
        -193 (-10.93 % of base) : 63532.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.FieldDeclarationSyntax:Update(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax],Microsoft.CodeAnalysis.SyntaxTokenList,Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclarationSyntax,Microsoft.CodeAnalysis.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Syntax.FieldDeclarationSyntax:this (Tier1)
        -181 (-3.86 % of base) : 700921.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitWhileStatement(Microsoft.CodeAnalysis.CSharp.BoundWhileStatement):Microsoft.CodeAnalysis.CSharp.BoundNode:this (Tier1)
        -160 (-1.00 % of base) : 338342.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier1)
        -157 (-4.51 % of base) : 409880.dasm - System.Security.Cryptography.X509Certificates.X500NameEncoder:ParseDistinguishedName(System.String,System.String,ubyte,ubyte):System.Collections.Generic.List`1[ubyte[]] (Tier1)
        -146 (-7.63 % of base) : 63622.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.ReturnStatementSyntax:Update(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax],Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Syntax.ReturnStatementSyntax:this (Tier1)
        -146 (-4.24 % of base) : 425181.dasm - System.Security.Cryptography.X509Certificates.X500NameEncoder:ParseDistinguishedName(System.String,System.String,ubyte,ubyte):System.Collections.Generic.List`1[ubyte[]] (Tier1)
        -137 (-5.98 % of base) : 62267.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindMethodGroup(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
Top method regressions (percentages):
        3723 (156.36 % of base) : 185671.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseTypeArgumentList(byref,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxListBuilder`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax],byref):this (Tier1)
       11859 (155.65 % of base) : 96032.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MemberSignatureComparer:HaveSameParameterTypes(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.CSharp.Symbols.TypeMap,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.CSharp.Symbols.TypeMap,int,int):ubyte (Tier1)
        7543 (130.37 % of base) : 684020.dasm - System.Text.Json.Serialization.Tests.ConstructorTests+<<MultipleThreads>g__RunTestAsync|16_5>d:MoveNext():this (Tier1)
         190 (129.25 % of base) : 592977.dasm - System.Net.HttpValidationHelpers:IsInvalidMethodOrHeaderString(System.String):ubyte (Tier1)
         190 (129.25 % of base) : 415684.dasm - System.Net.HttpValidationHelpers:IsInvalidMethodOrHeaderString(System.String):ubyte (Tier1)
         190 (129.25 % of base) : 425540.dasm - System.Net.HttpValidationHelpers:IsInvalidMethodOrHeaderString(System.String):ubyte (Tier1)
        1789 (128.15 % of base) : 301751.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:GetApplicableUserDefinedBinaryOperatorCandidatesInBaseTypes(System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember],int,Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType,Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.Expr,ubyte,Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType):Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType:this (Tier1)
        5274 (125.21 % of base) : 62716.dasm - System.Collections.Generic.ArraySortHelper`1[System.ValueTuple`2[int,System.__Canon]]:IntroSort(System.Span`1[System.ValueTuple`2[int,System.__Canon]],int,System.Comparison`1[System.ValueTuple`2[int,System.__Canon]]) (Tier1)
        5260 (124.47 % of base) : 93855.dasm - System.Collections.Generic.ArraySortHelper`1[System.ValueTuple`2[int,System.__Canon]]:IntroSort(System.Span`1[System.ValueTuple`2[int,System.__Canon]],int,System.Comparison`1[System.ValueTuple`2[int,System.__Canon]]) (Tier1)
         270 (123.85 % of base) : 183003.dasm - Microsoft.CodeAnalysis.GreenNode:GetLastTerminal():Microsoft.CodeAnalysis.GreenNode:this (Tier1)
         187 (123.03 % of base) : 60426.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanToEndOfLine():this (Tier1)
         187 (123.03 % of base) : 95602.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanToEndOfLine():this (Tier1)
         187 (123.03 % of base) : 189071.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanToEndOfLine():this (Tier1)
        9496 (122.70 % of base) : 67861.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:CandidateOperators(ubyte,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.BinaryOperatorSignature],Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.BinaryOperatorAnalysisResult],byref):ubyte:this (Tier1)
         241 (121.72 % of base) : 54647.dasm - Microsoft.CodeAnalysis.GreenNode:GetFirstTerminal():Microsoft.CodeAnalysis.GreenNode:this (Tier1)
        1477 (121.26 % of base) : 378970.dasm - System.SpanTests.ReadOnlySpanTests:TestMultipleMatchLastIndexOfAny_String_ManyByte() (Tier1-OSR)
        1472 (121.15 % of base) : 379322.dasm - System.SpanTests.ReadOnlySpanTests:TestMultipleMatchIndexOfAny_ManyString() (Tier1-OSR)
         235 (121.13 % of base) : 192334.dasm - Microsoft.CodeAnalysis.GreenNode:GetLastTerminal():Microsoft.CodeAnalysis.GreenNode:this (Tier1)
       10712 (120.25 % of base) : 700076.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:CandidateOperators(ubyte,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.BinaryOperatorSignature],Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.BinaryOperatorAnalysisResult],byref):ubyte:this (Tier1)
        4708 (120.22 % of base) : 704692.dasm - Microsoft.CodeAnalysis.CSharp.SwitchBinder:BuildLabels():System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol]:this (Tier1)
Top method improvements (percentages):
       -1272 (-31.56 % of base) : 445499.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanScalarIntoSpan[long,System.Numerics.Tensors.TensorPrimitives+IdentityOperator`1[long],System.Numerics.Tensors.TensorPrimitives+InvertedBinaryOperator`2[System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[long],long]](System.ReadOnlySpan`1[long],long,System.Span`1[long]) (Tier1)
       -1272 (-31.38 % of base) : 448740.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanScalarIntoSpan[ulong,System.Numerics.Tensors.TensorPrimitives+IdentityOperator`1[ulong],System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[ulong]](System.ReadOnlySpan`1[ulong],ulong,System.Span`1[ulong]) (Tier1)
       -1272 (-31.35 % of base) : 448640.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanScalarIntoSpan[ulong,System.Numerics.Tensors.TensorPrimitives+IdentityOperator`1[ulong],System.Numerics.Tensors.TensorPrimitives+InvertedBinaryOperator`2[System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[ulong],ulong]](System.ReadOnlySpan`1[ulong],ulong,System.Span`1[ulong]) (Tier1)
       -1289 (-30.88 % of base) : 441785.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanSpanIntoSpan[long,System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[long]](System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],System.Span`1[long]) (Tier1)
       -1298 (-30.75 % of base) : 448700.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanSpanIntoSpan[ulong,System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[ulong]](System.ReadOnlySpan`1[ulong],System.ReadOnlySpan`1[ulong],System.Span`1[ulong]) (Tier1)
       -1298 (-30.69 % of base) : 445718.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanSpanIntoSpan[long,System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[long]](System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],System.Span`1[long]) (Tier1)
        -910 (-26.21 % of base) : 449567.dasm - System.Numerics.Tensors.TensorPrimitives:<InvokeSpanScalarIntoSpan>g__VectorizedSmall8|223_6[ulong,System.Numerics.Tensors.TensorPrimitives+IdentityOperator`1[ulong],System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[ulong]](byref,ulong,byref,ulong) (Tier1)
         -72 (-20.28 % of base) : 705782.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1786_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -72 (-19.89 % of base) : 705786.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1789_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -72 (-19.89 % of base) : 705790.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1791_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -94 (-18.40 % of base) : 59591.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.FieldDeclarationSyntax:get_Modifiers():Microsoft.CodeAnalysis.SyntaxTokenList:this (Tier1)
        -112 (-16.59 % of base) : 705853.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1830_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -26 (-15.66 % of base) : 443200.dasm - System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]:NextRandom():ubyte:this (Tier1)
         -26 (-15.57 % of base) : 437728.dasm - System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]:NextRandom():byte:this (Tier1)
        -367 (-14.45 % of base) : 185248.dasm - Microsoft.CodeAnalysis.Compilation:<IsSymbolAccessibleWithin>g__assemblyIsInCompilationReferences|195_2(Microsoft.CodeAnalysis.IAssemblySymbol,Microsoft.CodeAnalysis.Compilation):ubyte (Tier1)
         -98 (-14.12 % of base) : 721783.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex4779_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -45 (-13.72 % of base) : 705781.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1785_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        -103 (-13.68 % of base) : 694240.dasm - Microsoft.CodeAnalysis.Syntax.SyntaxList+WithTwoChildren:GetNodeSlot(int):Microsoft.CodeAnalysis.SyntaxNode:this (Tier1)
         -63 (-13.49 % of base) : 182910.dasm - Microsoft.CodeAnalysis.SyntaxNode:GetRedElementIfNotToken(byref):Microsoft.CodeAnalysis.SyntaxNode:this (Tier1)
         -56 (-12.99 % of base) : 694487.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.FieldDeclarationSyntax:get_Modifiers():Microsoft.CodeAnalysis.SyntaxTokenList:this (Tier1)
  
librariestestsnotieredcompilation.run.linux.x64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 130891574 (overridden on cmd)
Total bytes of diff: 140369996 (overridden on cmd)
Total bytes of delta: 9478422 (7.24 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       24724 : 113327.dasm (36.95 % of base)
       24656 : 113606.dasm (37.71 % of base)
       19555 : 59308.dasm (68.01 % of base)
       16047 : 175002.dasm (88.58 % of base)
       14748 : 7121.dasm (110.32 % of base)
       14599 : 49317.dasm (109.48 % of base)
       14570 : 44239.dasm (109.48 % of base)
       12449 : 296057.dasm (112.84 % of base)
       11871 : 199391.dasm (62.08 % of base)
       11801 : 198975.dasm (62.41 % of base)
       10856 : 54761.dasm (95.23 % of base)
        9424 : 92691.dasm (83.26 % of base)
        9367 : 266947.dasm (94.78 % of base)
        9123 : 176383.dasm (89.00 % of base)
        8954 : 53958.dasm (81.30 % of base)
        8953 : 114590.dasm (96.16 % of base)
        8662 : 23183.dasm (81.14 % of base)
        8620 : 6478.dasm (92.70 % of base)
        8402 : 93707.dasm (73.40 % of base)
        8224 : 111298.dasm (91.90 % of base)
Top file improvements (bytes):
       -1193 : 50569.dasm (-9.14 % of base)
       -1193 : 44919.dasm (-9.14 % of base)
        -833 : 69024.dasm (-11.41 % of base)
        -388 : 68372.dasm (-5.52 % of base)
        -246 : 143690.dasm (-5.16 % of base)
        -177 : 275292.dasm (-25.62 % of base)
        -164 : 3930.dasm (-1.96 % of base)
        -160 : 112627.dasm (-9.57 % of base)
        -155 : 230305.dasm (-4.44 % of base)
        -134 : 277129.dasm (-17.94 % of base)
        -131 : 277130.dasm (-13.95 % of base)
        -122 : 281767.dasm (-17.40 % of base)
        -114 : 272649.dasm (-10.80 % of base)
        -114 : 272805.dasm (-10.69 % of base)
         -88 : 103261.dasm (-1.49 % of base)
         -74 : 273126.dasm (-12.67 % of base)
         -64 : 281722.dasm (-17.83 % of base)
         -64 : 281724.dasm (-17.83 % of base)
         -64 : 281718.dasm (-18.18 % of base)
         -58 : 174988.dasm (-13.81 % of base)
89 total files with Code Size differences (29 improved, 60 regressed), 20 unchanged.
Top method regressions (bytes):
       24724 (36.95 % of base) : 113327.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.statements.freach.freach007.freach007.Test:MainMethod():int (FullOpts)
       24656 (37.71 % of base) : 113606.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.statements.freach.freach001.freach001.Test:MainMethod():int (FullOpts)
       19555 (68.01 % of base) : 59308.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
       16047 (88.58 % of base) : 175002.dasm - System.Xml.XmlConvertTests.ToTypeTests:TestValid(System.Object[],System.Object[],System.String,System.String[]):int:this (FullOpts)
       14748 (110.32 % of base) : 7121.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       14599 (109.48 % of base) : 49317.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       14570 (109.48 % of base) : 44239.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       12449 (112.84 % of base) : 296057.dasm - System.Threading.Tasks.Dataflow.Tests.DebugAttributeTests:TestDebuggerDisplaysAndTypeProxies():this (FullOpts)
       11871 (62.08 % of base) : 199391.dasm - (dynamicClass):ReadAllTypes2FromXml(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.XmlObjectSerializerReadContext,System.Xml.XmlDictionaryString[],System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
       11801 (62.41 % of base) : 198975.dasm - (dynamicClass):ReadAllTypesFromXml(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.XmlObjectSerializerReadContext,System.Xml.XmlDictionaryString[],System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
       10856 (95.23 % of base) : 54761.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
        9424 (83.26 % of base) : 92691.dasm - System.Data.XmlTreeGen:HandleTable(System.Data.DataTable,System.Xml.XmlDocument,System.Xml.XmlElement,ubyte):System.Xml.XmlElement:this (FullOpts)
        9367 (94.78 % of base) : 266947.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (FullOpts)
        9123 (89.00 % of base) : 176383.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess2():int:this (FullOpts)
        8954 (81.30 % of base) : 53958.dasm - Enumeration.FirstValidator:Validate(System.String,Enumeration.FirstModel):Microsoft.Extensions.Options.ValidateOptionsResult:this (FullOpts)
        8953 (96.16 % of base) : 114590.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.basic.operate007a.operate007a.Test:Test4():ubyte (FullOpts)
        8662 (81.14 % of base) : 23183.dasm - Microsoft.CodeAnalysis.FindSymbols.DependentTypeFinder+ProjectIndex+<CreateIndexAsync>d__8:MoveNext():this (FullOpts)
        8620 (92.70 % of base) : 6478.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        8402 (73.40 % of base) : 93707.dasm - System.Data.Tests.DataTableTest2:GetChanges_ByDataRowState():this (FullOpts)
        8224 (91.90 % of base) : 111298.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.basic.array010.array010.Test:MainMethod():int (FullOpts)
Top method improvements (bytes):
       -1193 (-9.14 % of base) : 50569.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers:CheckParameterModifiers(Microsoft.CodeAnalysis.CSharp.Syntax.BaseParameterSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte) (FullOpts)
       -1193 (-9.14 % of base) : 44919.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers:CheckParameterModifiers(Microsoft.CodeAnalysis.CSharp.Syntax.BaseParameterSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte) (FullOpts)
        -833 (-11.41 % of base) : 69024.dasm - System.Collections.Frozen.Tests.FrozenSet_Generic_Tests`1[int]:ComparingWithOtherSets(int):this (FullOpts)
        -388 (-5.52 % of base) : 68372.dasm - System.Collections.Frozen.Tests.FrozenSet_Generic_Tests`1[System.__Canon]:ComparingWithOtherSets(int):this (FullOpts)
        -246 (-5.16 % of base) : 143690.dasm - System.SpanTests.SpanTests:TestMatchIndexOfAny_ManyString() (FullOpts)
        -177 (-25.62 % of base) : 275292.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2615_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        -164 (-1.96 % of base) : 3930.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
        -160 (-9.57 % of base) : 112627.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.basic.operate008a.operate008a.Test:Test4a():ubyte (FullOpts)
        -155 (-4.44 % of base) : 230305.dasm - System.Text.Tests.DecoderConvert2:PosTest9():this (FullOpts)
        -134 (-17.94 % of base) : 277129.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2790_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        -131 (-13.95 % of base) : 277130.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2791_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        -122 (-17.40 % of base) : 281767.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3749_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        -114 (-10.80 % of base) : 272649.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex713_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        -114 (-10.69 % of base) : 272805.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex829_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -88 (-1.49 % of base) : 103261.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.context.property.regproperty.genclass.genclass012.genclass012.Test:MainMethod():int (FullOpts)
         -74 (-12.67 % of base) : 273126.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1268_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -64 (-18.18 % of base) : 281718.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3705_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -64 (-17.83 % of base) : 281722.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3708_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -64 (-17.83 % of base) : 281724.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3710_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -58 (-7.82 % of base) : 200925.dasm - System.Tests.ArraySegment_Tests:IList_IndexOf() (FullOpts)
Top method regressions (percentages):
         206 (137.33 % of base) : 48300.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanToEndOfLine():this (FullOpts)
         206 (137.33 % of base) : 45487.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanToEndOfLine():this (FullOpts)
         206 (137.33 % of base) : 9322.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanToEndOfLine():this (FullOpts)
        1450 (127.08 % of base) : 80016.dasm - System.ComponentModel.DataAnnotations.Tests.AssociatedMetadataTypeTypeDescriptionProviderTests:GetTypeDescriptorGetAttributes_WithAssociatedMetadataType_ReturnsExpected():this (FullOpts)
         894 (126.63 % of base) : 175642.dasm - System.Xml.XmlWriterApiTests.TCIndent:indent_29(System.Xml.XmlWriterApiTests.XmlWriterUtils):this (FullOpts)
        2253 (125.66 % of base) : 227877.dasm - System.Security.Cryptography.Xml.Tests.Reference_ArbitraryElements:ExtraAttributes() (FullOpts)
         740 (118.97 % of base) : 83472.dasm - Tests.Integration.CompositionContainerAttributedModelCycleTests:AssertCycle(System.Type[]) (FullOpts)
          28 (116.67 % of base) : 191533.dasm - System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
        1424 (116.63 % of base) : 267371.dasm - Microsoft.CodeAnalysis.CodeGen.SequencePointList:GetSequencePoints(Microsoft.CodeAnalysis.CodeGen.DebugDocumentProvider,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.Cci.SequencePoint]):this (FullOpts)
         665 (115.85 % of base) : 130417.dasm - System.IO.Tests.StringWriterTests:WriteWithLargeIndex() (FullOpts)
         229 (115.66 % of base) : 102110.dasm - System.Xml.XmlBaseReader+NamespaceManager:ExitScope():this (FullOpts)
         971 (115.18 % of base) : 192456.dasm - System.Numerics.Tests.op_modulusTest:RunRemainderTestsPositive() (FullOpts)
         971 (115.18 % of base) : 191769.dasm - System.Numerics.Tests.remainderTest:RunRemainderPositive() (FullOpts)
         678 (115.11 % of base) : 130463.dasm - System.IO.Tests.StringWriterTests:WriteWithLargeCount() (FullOpts)
        1426 (115.00 % of base) : 181495.dasm - System.Reflection.Metadata.Ecma335.NamespaceCache:LinkChildToParentNamespace(System.Collections.Generic.Dictionary`2[System.String,System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder],System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder,byref):this (FullOpts)
        2985 (114.50 % of base) : 37771.dasm - Microsoft.Extensions.DependencyModel.DependencyContextWriter:AddRuntimeSpecificAssets(System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.DependencyModel.RuntimeFile],System.String,System.String,System.Text.Json.Utf8JsonWriter) (FullOpts)
         182 (113.75 % of base) : 193827.dasm - System.Runtime.Serialization.Json.XmlJsonReader:ComputeNumericalTextLength(ubyte[],int,int):int (FullOpts)
        1509 (113.46 % of base) : 30659.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseDisjunctivePattern(uint,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.PatternSyntax:this (FullOpts)
        3037 (112.90 % of base) : 92191.dasm - System.Data.DataTable:SerializeConstraints(System.Runtime.Serialization.SerializationInfo,int,ubyte):this (FullOpts)
       12449 (112.84 % of base) : 296057.dasm - System.Threading.Tasks.Dataflow.Tests.DebugAttributeTests:TestDebuggerDisplaysAndTypeProxies():this (FullOpts)
Top method improvements (percentages):
        -177 (-25.62 % of base) : 275292.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2615_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -64 (-18.18 % of base) : 281718.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3705_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        -134 (-17.94 % of base) : 277129.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2790_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -64 (-17.83 % of base) : 281722.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3708_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -64 (-17.83 % of base) : 281724.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3710_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        -122 (-17.40 % of base) : 281767.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3749_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        -131 (-13.95 % of base) : 277130.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2791_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -58 (-13.81 % of base) : 174988.dasm - System.Xml.XmlConvertTests.EncodeDecodeTests:v3():int:this (FullOpts)
         -74 (-12.67 % of base) : 273126.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1268_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -53 (-11.73 % of base) : 281761.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3743_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -55 (-11.55 % of base) : 272530.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex573_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -55 (-11.55 % of base) : 272531.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex575_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -55 (-11.55 % of base) : 272534.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex579_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -55 (-11.55 % of base) : 272537.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex582_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        -833 (-11.41 % of base) : 69024.dasm - System.Collections.Frozen.Tests.FrozenSet_Generic_Tests`1[int]:ComparingWithOtherSets(int):this (FullOpts)
         -37 (-11.38 % of base) : 274855.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2383_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -29 (-11.15 % of base) : 225365.dasm - System.Security.Cryptography.RC2:set_EffectiveKeySize(int):this (FullOpts)
         -31 (-10.88 % of base) : 214504.dasm - System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (FullOpts)
        -114 (-10.80 % of base) : 272649.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex713_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        -114 (-10.69 % of base) : 272805.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex829_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
  
realworld.run.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 12750565 (overridden on cmd)
Total bytes of diff: 14619605 (overridden on cmd)
Total bytes of delta: 1869040 (14.66 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       14460 : 20233.dasm (110.09 % of base)
       11364 : 25096.dasm (95.95 % of base)
       10960 : 23929.dasm (95.75 % of base)
        8799 : 19144.dasm (92.85 % of base)
        7075 : 1496.dasm (95.09 % of base)
        6790 : 31598.dasm (73.18 % of base)
        6426 : 24432.dasm (81.33 % of base)
        6322 : 20172.dasm (83.46 % of base)
        6309 : 18104.dasm (85.71 % of base)
        6179 : 8739.dasm (76.95 % of base)
        6141 : 13279.dasm (81.67 % of base)
        6086 : 20895.dasm (92.51 % of base)
        5815 : 20629.dasm (101.91 % of base)
        5514 : 5099.dasm (97.49 % of base)
        5135 : 24202.dasm (59.16 % of base)
        5018 : 1323.dasm (76.70 % of base)
        4954 : 1717.dasm (92.60 % of base)
        4786 : 17875.dasm (110.20 % of base)
        4776 : 10423.dasm (82.76 % of base)
        4707 : 1637.dasm (128.82 % of base)
Top file improvements (bytes):
        -167 : 29610.dasm (-1.99 % of base)
         -77 : 619.dasm (-9.24 % of base)
         -34 : 1182.dasm (-31.19 % of base)
         -20 : 21921.dasm (-1.11 % of base)
         -19 : 22886.dasm (-10.80 % of base)
         -16 : 32049.dasm (-8.00 % of base)
         -13 : 2286.dasm (-2.10 % of base)
         -13 : 12939.dasm (-3.28 % of base)
         -11 : 21237.dasm (-0.93 % of base)
          -4 : 18976.dasm (-0.78 % of base)
          -3 : 13389.dasm (-0.36 % of base)
          -3 : 30601.dasm (-0.28 % of base)
          -3 : 11533.dasm (-1.37 % of base)
          -2 : 112.dasm (-1.79 % of base)
          -2 : 214.dasm (-1.45 % of base)
          -2 : 4615.dasm (-1.69 % of base)
          -2 : 3158.dasm (-1.77 % of base)
          -2 : 13144.dasm (-1.79 % of base)
          -2 : 14829.dasm (-1.79 % of base)
          -2 : 23527.dasm (-1.56 % of base)
80 total files with Code Size differences (20 improved, 60 regressed), 7 unchanged.
Top method regressions (bytes):
       14460 (110.09 % of base) : 20233.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       11364 (95.95 % of base) : 25096.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
       10960 (95.75 % of base) : 23929.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
        8799 (92.85 % of base) : 19144.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        7075 (95.09 % of base) : 1496.dasm - BepuPhysics.CollisionDetection.MeshReduction:ReduceManifolds(byref,byref,int,int,ubyte,byref,byref,byref,ulong,BepuUtilities.Memory.BufferPool) (FullOpts)
        6790 (73.18 % of base) : 31598.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        6426 (81.33 % of base) : 24432.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindInterpolatedString(Microsoft.CodeAnalysis.CSharp.Syntax.InterpolatedStringExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
        6322 (83.46 % of base) : 20172.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeOneDeclaredBases(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Tuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]]:this (FullOpts)
        6309 (85.71 % of base) : 18104.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
        6179 (76.95 % of base) : 8739.dasm - FSharp.Compiler.CheckExpressions:TcLinearExprs(Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.ConstraintSolver+OverallTy,Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.CheckExpressions+TcEnv,Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.Syntax.SynExpr,System.Tuple`2[FSharp.Compiler.TypedTree+Expr,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv]]]]],FSharp.Compiler.CheckExpressions+TcFileState,FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.ConstraintSolver+OverallTy,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,ubyte,FSharp.Compiler.Syntax.SynExpr,Microsoft.FSharp.Core.FSharpFunc`2[System.Tuple`2[FSharp.Compiler.TypedTree+Expr,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv],System.Tuple`2[FSharp.Compiler.TypedTree+Expr,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv]]):System.Tuple`2[FSharp.Compiler.TypedTree+Expr,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv] (FullOpts)
        6141 (81.67 % of base) : 13279.dasm - Microsoft.ML.Trainers.SdcaMulticlassTrainerBase`1[System.__Canon]:TrainWithoutLock(Microsoft.ML.Runtime.IProgressChannelProvider,Microsoft.ML.Trainers.FloatLabelCursor+Factory,System.Random,Microsoft.ML.Trainers.SdcaTrainerBase`3+IdToIdxLookup[System.__Canon,System.__Canon,System.__Canon],int,Microsoft.ML.Trainers.SdcaTrainerBase`3+DualsTableBase[System.__Canon,System.__Canon,System.__Canon],float[],float[],float,Microsoft.ML.Data.VBuffer`1[float][],float[],Microsoft.ML.Data.VBuffer`1[float][],float[],float[]):this (FullOpts)
        6086 (92.51 % of base) : 20895.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeTypeParameters(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol]:this (FullOpts)
        5815 (101.91 % of base) : 20629.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:ComputeInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+SynthesizedExplicitImplementations:this (FullOpts)
        5514 (97.49 % of base) : 5099.dasm - FSharp.Compiler.LexFilter:scanAhead@1017(FSharp.Compiler.LexFilter+LexFilterImpl,ubyte,Internal.Utilities.Text.Lexing.Position,Microsoft.FSharp.Core.FSharpRef`1[Microsoft.FSharp.Collections.FSharpList`1[System.Tuple`2[FSharp.Compiler.LexFilter+TokenTup,ubyte]]],int):ubyte (FullOpts)
        5135 (59.16 % of base) : 24202.dasm - Microsoft.CodeAnalysis.CSharp.Binder:AnalyzeAnonymousFunction(Microsoft.CodeAnalysis.CSharp.Syntax.AnonymousFunctionExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.UnboundLambda:this (FullOpts)
        5018 (76.70 % of base) : 1323.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
        4954 (92.60 % of base) : 1717.dasm - DemoBenchmarks.OneBodyConstraintBenchmarks:Contact4OneBody():BepuPhysics.BodyVelocityWide:this (FullOpts)
        4786 (110.20 % of base) : 17875.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseSwitchExpressionArms():Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SwitchExpressionArmSyntax]:this (FullOpts)
        4776 (82.76 % of base) : 10423.dasm - FSharp.Compiler.PostTypeCheckSemanticChecks:CheckEntityDefn$cont@2269(FSharp.Compiler.PostTypeCheckSemanticChecks+cenv,FSharp.Compiler.TypedTree+Entity,FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.Text.Range,FSharp.Compiler.TypedTree+TType,Microsoft.FSharp.Core.Unit) (FullOpts)
        4707 (128.82 % of base) : 1637.dasm - BepuPhysics.Trees.Tree:GetOverlapsBetweenDifferentNodes[BepuPhysics.CollisionDetection.CollidableOverlapFinder`1+IntertreeOverlapHandler[DemoBenchmarks.ShapePileBenchmark+DemoNarrowPhaseCallbacks]](byref,byref,byref,byref):this (FullOpts)
Top method improvements (bytes):
        -167 (-1.99 % of base) : 29610.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
         -77 (-9.24 % of base) : 619.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -34 (-31.19 % of base) : 1182.dasm - BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
         -20 (-1.11 % of base) : 21921.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:HasInstanceData(Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax):ubyte (FullOpts)
         -19 (-10.80 % of base) : 22886.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:get_HasAnyApplicableMember():ubyte:this (FullOpts)
         -16 (-8.00 % of base) : 32049.dasm - System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
         -13 (-2.10 % of base) : 2286.dasm - FSharp.Compiler.DependencyManager.AssemblyResolveHandlerCoreclr:.ctor(Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.DependencyManager.AssemblyResolutionProbe]):this (FullOpts)
         -13 (-3.28 % of base) : 12939.dasm - Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe:Create(Microsoft.ML.Data.DataViewType,System.Object):Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe (FullOpts)
         -11 (-0.93 % of base) : 21237.dasm - Microsoft.CodeAnalysis.MetadataDecoder`5[System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon]:FindMethodSymbolInSuperType(System.Reflection.Metadata.TypeDefinitionHandle,System.Reflection.Metadata.MethodDefinitionHandle):System.__Canon:this (FullOpts)
          -4 (-0.78 % of base) : 18976.dasm - Microsoft.CodeAnalysis.PEModule:FindTargetAttribute(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):Microsoft.CodeAnalysis.PEModule+AttributeInfo (FullOpts)
          -3 (-0.36 % of base) : 13389.dasm - Microsoft.ML.Data.PredictedLabelScorerBase+BindingsImpl+<GetAnnotationTypesCore>d__13:MoveNext():ubyte:this (FullOpts)
          -3 (-0.28 % of base) : 30601.dasm - System.Management.Automation.LanguagePrimitives:FigureParseConversion(System.Type,System.Type):System.Management.Automation.LanguagePrimitives+PSConverter`1[System.Object] (FullOpts)
          -3 (-1.37 % of base) : 11533.dasm - System.Reflection.CustomAttribute:IsDefined(System.Reflection.RuntimeMethodInfo,System.RuntimeType,ubyte):ubyte (FullOpts)
          -2 (-1.79 % of base) : 13144.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.45 % of base) : 214.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.79 % of base) : 112.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.69 % of base) : 4615.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[FSharp.Compiler.Text.Position,System.ValueTuple`3[int,int,ubyte]]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.77 % of base) : 3158.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.56 % of base) : 23527.dasm - System.Collections.Generic.HashSet`1+Enumerator[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.79 % of base) : 14829.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
Top method regressions (percentages):
         206 (137.33 % of base) : 16537.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanToEndOfLine():this (FullOpts)
        4707 (128.82 % of base) : 1637.dasm - BepuPhysics.Trees.Tree:GetOverlapsBetweenDifferentNodes[BepuPhysics.CollisionDetection.CollidableOverlapFinder`1+IntertreeOverlapHandler[DemoBenchmarks.ShapePileBenchmark+DemoNarrowPhaseCallbacks]](byref,byref,byref,byref):this (FullOpts)
        3203 (121.83 % of base) : 1168.dasm - BepuPhysics.Trees.Tree:GetOverlapsBetweenDifferentNodes[BepuPhysics.CollisionDetection.CollidableOverlapFinder`1+SelfOverlapHandler[DemoBenchmarks.RagdollTubeBenchmark+SubgroupFilteredCallbacks]](byref,byref,byref):this (FullOpts)
        1482 (111.60 % of base) : 17190.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseDisjunctivePattern(uint,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.PatternSyntax:this (FullOpts)
         153 (110.87 % of base) : 15582.dasm - Microsoft.ML.Transforms.MinMaxSngAggregator:Finish():this (FullOpts)
         181 (110.37 % of base) : 11405.dasm - System.Diagnostics.Process:ParseArgumentsIntoList(System.String,System.Collections.Generic.List`1[System.String]) (FullOpts)
        4786 (110.20 % of base) : 17875.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseSwitchExpressionArms():Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SwitchExpressionArmSyntax]:this (FullOpts)
       14460 (110.09 % of base) : 20233.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        4101 (110.06 % of base) : 1266.dasm - BepuPhysics.Constraints.Contact.ContactNonconvexTwoBodyFunctions`2[BepuPhysics.Constraints.Contact.Contact4NonconvexPrestepData,BepuPhysics.Constraints.Contact.Contact4NonconvexAccumulatedImpulses]:Solve(byref,byref,byref,byref,byref,byref,float,float,byref,byref,byref,byref):this (FullOpts)
        2958 (109.68 % of base) : 23441.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindRegularCSharpFieldInitializers(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,System.Collections.Immutable.ImmutableArray`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.FieldOrPropertyInitializer]],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.BoundInitializer],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref) (FullOpts)
        1525 (108.93 % of base) : 27915.dasm - Microsoft.CodeAnalysis.CSharp.AsyncMethodToStateMachineRewriter:GenerateHoistedLocalsCleanup(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.StateMachineFieldSymbol]):Microsoft.CodeAnalysis.CSharp.BoundStatement:this (FullOpts)
          99 (106.45 % of base) : 283.dasm - System.Reflection.TypeNameParser:SkipWhiteSpace():this (FullOpts)
        1049 (105.96 % of base) : 27591.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SynthesizedParameterSymbol:DeriveParameters(Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol] (FullOpts)
        3427 (105.51 % of base) : 23276.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxExtensions:VisitRankSpecifiers[System.ValueTuple`2[System.__Canon,System.__Canon]](Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax,System.Action`2[System.__Canon,System.ValueTuple`2[System.__Canon,System.__Canon]],byref) (FullOpts)
        1436 (105.12 % of base) : 18454.dasm - Microsoft.CodeAnalysis.MetadataReaderExtensions:GetReferencedAssembliesOrThrow(System.Reflection.Metadata.MetadataReader):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.AssemblyIdentity] (FullOpts)
         370 (104.82 % of base) : 14306.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[long](long,System.String):this (FullOpts)
        2167 (104.48 % of base) : 20439.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckMembersAgainstBaseType(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):this (FullOpts)
        1724 (104.11 % of base) : 17212.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseConjunctivePattern(uint,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.PatternSyntax:this (FullOpts)
        4337 (103.56 % of base) : 16418.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        1758 (103.23 % of base) : 25085.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FailRemainingInferences(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Binder+DeconstructionVariable],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
Top method improvements (percentages):
         -34 (-31.19 % of base) : 1182.dasm - BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
         -19 (-10.80 % of base) : 22886.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:get_HasAnyApplicableMember():ubyte:this (FullOpts)
         -77 (-9.24 % of base) : 619.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -16 (-8.00 % of base) : 32049.dasm - System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
         -13 (-3.28 % of base) : 12939.dasm - Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe:Create(Microsoft.ML.Data.DataViewType,System.Object):Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe (FullOpts)
         -13 (-2.10 % of base) : 2286.dasm - FSharp.Compiler.DependencyManager.AssemblyResolveHandlerCoreclr:.ctor(Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.DependencyManager.AssemblyResolutionProbe]):this (FullOpts)
        -167 (-1.99 % of base) : 29610.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
          -2 (-1.79 % of base) : 13144.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.79 % of base) : 112.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.79 % of base) : 14829.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.77 % of base) : 3158.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.69 % of base) : 4615.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[FSharp.Compiler.Text.Position,System.ValueTuple`3[int,int,ubyte]]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.56 % of base) : 23527.dasm - System.Collections.Generic.HashSet`1+Enumerator[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.45 % of base) : 214.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -3 (-1.37 % of base) : 11533.dasm - System.Reflection.CustomAttribute:IsDefined(System.Reflection.RuntimeMethodInfo,System.RuntimeType,ubyte):ubyte (FullOpts)
         -20 (-1.11 % of base) : 21921.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:HasInstanceData(Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax):ubyte (FullOpts)
         -11 (-0.93 % of base) : 21237.dasm - Microsoft.CodeAnalysis.MetadataDecoder`5[System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon]:FindMethodSymbolInSuperType(System.Reflection.Metadata.TypeDefinitionHandle,System.Reflection.Metadata.MethodDefinitionHandle):System.__Canon:this (FullOpts)
          -4 (-0.78 % of base) : 18976.dasm - Microsoft.CodeAnalysis.PEModule:FindTargetAttribute(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):Microsoft.CodeAnalysis.PEModule+AttributeInfo (FullOpts)
          -3 (-0.36 % of base) : 13389.dasm - Microsoft.ML.Data.PredictedLabelScorerBase+BindingsImpl+<GetAnnotationTypesCore>d__13:MoveNext():ubyte:this (FullOpts)
          -3 (-0.28 % of base) : 30601.dasm - System.Management.Automation.LanguagePrimitives:FigureParseConversion(System.Type,System.Type):System.Management.Automation.LanguagePrimitives+PSConverter`1[System.Object] (FullOpts)
  
smoke_tests.nativeaot.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 4175394 (overridden on cmd)
Total bytes of diff: 4771038 (overridden on cmd)
Total bytes of delta: 595644 (14.27 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
        6462 : 14832.dasm (76.46 % of base)
        5209 : 4190.dasm (76.58 % of base)
        5209 : 1181.dasm (76.57 % of base)
        5209 : 21915.dasm (76.51 % of base)
        5209 : 25729.dasm (76.51 % of base)
        3883 : 5581.dasm (90.22 % of base)
        3883 : 24338.dasm (90.16 % of base)
        2865 : 7044.dasm (102.18 % of base)
        2329 : 3325.dasm (84.05 % of base)
        2287 : 25152.dasm (80.64 % of base)
        2287 : 23897.dasm (80.30 % of base)
        2287 : 554.dasm (80.64 % of base)
        2287 : 21334.dasm (80.64 % of base)
        2162 : 15248.dasm (57.00 % of base)
        2082 : 1556.dasm (96.12 % of base)
        2082 : 22345.dasm (96.12 % of base)
        2082 : 26152.dasm (96.12 % of base)
        2082 : 4592.dasm (96.12 % of base)
        1916 : 994.dasm (80.44 % of base)
        1916 : 3992.dasm (80.54 % of base)
Top file improvements (bytes):
          -2 : 1793.dasm (-1.38 % of base)
          -2 : 23404.dasm (-0.91 % of base)
          -2 : 2607.dasm (-0.91 % of base)
          -2 : 4702.dasm (-1.80 % of base)
          -2 : 8455.dasm (-2.06 % of base)
          -2 : 16031.dasm (-1.80 % of base)
          -2 : 16473.dasm (-1.80 % of base)
          -2 : 3718.dasm (-1.46 % of base)
          -2 : 22587.dasm (-1.38 % of base)
          -2 : 26409.dasm (-1.38 % of base)
          -2 : 27214.dasm (-0.91 % of base)
          -1 : 10135.dasm (-0.19 % of base)
78 total files with Code Size differences (12 improved, 66 regressed), 3 unchanged.
Top method regressions (bytes):
        6462 (76.46 % of base) : 14832.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        5209 (76.58 % of base) : 4190.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
        5209 (76.57 % of base) : 1181.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
        5209 (76.51 % of base) : 21915.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
        5209 (76.51 % of base) : 25729.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
        3883 (90.22 % of base) : 5581.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        3883 (90.16 % of base) : 24338.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        2865 (102.18 % of base) : 7044.dasm - System.TermInfo+ParameterizedStrings:EvaluateInternal(System.String,byref,System.TermInfo+ParameterizedStrings+FormatParam[],System.Collections.Generic.Stack`1[System.TermInfo+ParameterizedStrings+FormatParam],byref,byref):System.String (FullOpts)
        2329 (84.05 % of base) : 3325.dasm - System.Text.UnicodeEncoding:GetBytes(ulong,int,ulong,int,System.Text.EncoderNLS):int:this (FullOpts)
        2287 (80.64 % of base) : 25152.dasm - System.Text.UnicodeEncoding:GetBytes(ulong,int,ulong,int,System.Text.EncoderNLS):int:this (FullOpts)
        2287 (80.30 % of base) : 23897.dasm - System.Text.UnicodeEncoding:GetBytes(ulong,int,ulong,int,System.Text.EncoderNLS):int:this (FullOpts)
        2287 (80.64 % of base) : 554.dasm - System.Text.UnicodeEncoding:GetBytes(ulong,int,ulong,int,System.Text.EncoderNLS):int:this (FullOpts)
        2287 (80.64 % of base) : 21334.dasm - System.Text.UnicodeEncoding:GetBytes(ulong,int,ulong,int,System.Text.EncoderNLS):int:this (FullOpts)
        2162 (57.00 % of base) : 15248.dasm - System.Number:TryParseNumber[ushort](byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (FullOpts)
        2082 (96.12 % of base) : 1556.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
        2082 (96.12 % of base) : 22345.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
        2082 (96.12 % of base) : 26152.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
        2082 (96.12 % of base) : 4592.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
        1916 (80.44 % of base) : 994.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ulong,int,ulong,int,byref,byref):int (FullOpts)
        1916 (80.54 % of base) : 3992.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ulong,int,ulong,int,byref,byref):int (FullOpts)
Top method improvements (bytes):
          -2 (-2.06 % of base) : 8455.dasm - Internal.TypeSystem.InstantiatedType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
          -2 (-1.80 % of base) : 4702.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.46 % of base) : 3718.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.38 % of base) : 1793.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.38 % of base) : 22587.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.38 % of base) : 26409.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-0.91 % of base) : 23404.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.ReadOnlyMemory`1[ushort],System.ConsoleKeyInfo]:MoveNext():ubyte:this (FullOpts)
          -2 (-0.91 % of base) : 2607.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.ReadOnlyMemory`1[ushort],System.ConsoleKeyInfo]:MoveNext():ubyte:this (FullOpts)
          -2 (-0.91 % of base) : 27214.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.ReadOnlyMemory`1[ushort],System.ConsoleKeyInfo]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.80 % of base) : 16031.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.80 % of base) : 16473.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -1 (-0.19 % of base) : 10135.dasm - System.Dynamic.Utils.TypeUtils:StrictHasReferenceConversionTo(System.Type,System.Type,ubyte):ubyte (FullOpts)
Top method regressions (percentages):
         179 (110.49 % of base) : 5509.dasm - System.Diagnostics.Process:ParseArgumentsIntoList(System.String,System.Collections.Generic.List`1[System.String]) (FullOpts)
        2865 (102.18 % of base) : 7044.dasm - System.TermInfo+ParameterizedStrings:EvaluateInternal(System.String,byref,System.TermInfo+ParameterizedStrings+FormatParam[],System.Collections.Generic.Stack`1[System.TermInfo+ParameterizedStrings+FormatParam],byref,byref):System.String (FullOpts)
         365 (101.67 % of base) : 1582.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int,System.String):this (FullOpts)
         365 (101.67 % of base) : 5153.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int,System.String):this (FullOpts)
         365 (101.67 % of base) : 22374.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int,System.String):this (FullOpts)
         365 (101.67 % of base) : 26186.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int,System.String):this (FullOpts)
          77 (97.47 % of base) : 15713.dasm - System.Reflection.TypeNameParser:SkipWhiteSpace():this (FullOpts)
        2082 (96.12 % of base) : 1556.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
        2082 (96.12 % of base) : 22345.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
        2082 (96.12 % of base) : 26152.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
        2082 (96.12 % of base) : 4592.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
         121 (94.53 % of base) : 21583.dasm - Internal.Runtime.TypeLoader.NativeFormatModuleInfoEnumerator:MoveNext():ubyte:this (FullOpts)
         121 (94.53 % of base) : 25414.dasm - Internal.Runtime.TypeLoader.NativeFormatModuleInfoEnumerator:MoveNext():ubyte:this (FullOpts)
         121 (94.53 % of base) : 802.dasm - Internal.Runtime.TypeLoader.NativeFormatModuleInfoEnumerator:MoveNext():ubyte:this (FullOpts)
         121 (94.53 % of base) : 3805.dasm - Internal.Runtime.TypeLoader.NativeFormatModuleInfoEnumerator:MoveNext():ubyte:this (FullOpts)
          85 (93.41 % of base) : 1887.dasm - System.Random+XoshiroImpl:Next():int:this (FullOpts)
          85 (93.41 % of base) : 26495.dasm - System.Random+XoshiroImpl:Next():int:this (FullOpts)
          85 (93.41 % of base) : 22683.dasm - System.Random+XoshiroImpl:Next():int:this (FullOpts)
          85 (93.41 % of base) : 3922.dasm - System.Random+XoshiroImpl:Next():int:this (FullOpts)
         980 (92.54 % of base) : 21236.dasm - System.Text.Encoding:GetCharsWithFallback(System.ReadOnlySpan`1[ubyte],int,System.Span`1[ushort],int,System.Text.DecoderNLS,ubyte):int:this (FullOpts)
Top method improvements (percentages):
          -2 (-2.06 % of base) : 8455.dasm - Internal.TypeSystem.InstantiatedType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
          -2 (-1.80 % of base) : 4702.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.80 % of base) : 16031.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.80 % of base) : 16473.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.46 % of base) : 3718.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.38 % of base) : 1793.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.38 % of base) : 22587.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.38 % of base) : 26409.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-0.91 % of base) : 23404.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.ReadOnlyMemory`1[ushort],System.ConsoleKeyInfo]:MoveNext():ubyte:this (FullOpts)
          -2 (-0.91 % of base) : 2607.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.ReadOnlyMemory`1[ushort],System.ConsoleKeyInfo]:MoveNext():ubyte:this (FullOpts)
          -2 (-0.91 % of base) : 27214.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.ReadOnlyMemory`1[ushort],System.ConsoleKeyInfo]:MoveNext():ubyte:this (FullOpts)
          -1 (-0.19 % of base) : 10135.dasm - System.Dynamic.Utils.TypeUtils:StrictHasReferenceConversionTo(System.Type,System.Type,ubyte):ubyte (FullOpts)
  
  
osx arm64
Diffs are based on 2,228,167 contexts (927,360 MinOpts, 1,300,807 FullOpts).
MISSED contexts: base: 6,095 (0.27%), diff: 7,850 (0.35%)
Overall (+61,409,324 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run_pgo.osx.arm64.checked.mch | 34,173,472 | +4,525,964 | 
| benchmarks.run_tiered.osx.arm64.checked.mch | 15,534,704 | +904,924 | 
| coreclr_tests.run.osx.arm64.checked.mch | 482,896,688 | +7,075,892 | 
| libraries.crossgen2.osx.arm64.checked.mch | 55,476,760 | +4,869,464 | 
| libraries.pmi.osx.arm64.checked.mch | 78,203,768 | +7,494,284 | 
| libraries_tests.run.osx.arm64.Release.mch | 310,283,060 | +24,468,928 | 
| librariestestsnotieredcompilation.run.osx.arm64.Release.mch | 160,885,512 | +10,211,364 | 
| realworld.run.osx.arm64.checked.mch | 14,574,520 | +1,858,504 | 
  
FullOpts (+61,409,324 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run_pgo.osx.arm64.checked.mch | 17,766,124 | +4,525,964 | 
| benchmarks.run_tiered.osx.arm64.checked.mch | 4,035,456 | +904,924 | 
| coreclr_tests.run.osx.arm64.checked.mch | 151,603,736 | +7,075,892 | 
| libraries.crossgen2.osx.arm64.checked.mch | 55,475,132 | +4,869,464 | 
| libraries.pmi.osx.arm64.checked.mch | 78,082,640 | +7,494,284 | 
| libraries_tests.run.osx.arm64.Release.mch | 108,963,876 | +24,468,928 | 
| librariestestsnotieredcompilation.run.osx.arm64.Release.mch | 147,748,988 | +10,211,364 | 
| realworld.run.osx.arm64.checked.mch | 14,010,564 | +1,858,504 | 
  
Example diffs
benchmarks.run_pgo.osx.arm64.checked.mch
-32 (-5.88%) : 57618.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax:get_Modifiers():Microsoft.CodeAnalysis.SyntaxTokenList:this (Tier1)
@@ -9,55 +9,56 @@
 ; 4 inlinees with PGO data; 13 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  9,  8.45)     ref  ->  x19         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax>
-;  V01 RetBuf       [V01,T02] (  7,  6   )   byref  ->  x20         single-def
+;  V00 this         [V00,T00] (  9,  8.37)     ref  ->  x19         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax>
+;  V01 RetBuf       [V01,T01] (  7,  6   )   byref  ->  x20         single-def
 ;  V02 loc0         [V02,T07] (  5,  3   )     ref  ->  x21         class-hnd single-def <Microsoft.CodeAnalysis.GreenNode>
 ;* V03 loc1         [V03    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] ld-addr-op <Microsoft.CodeAnalysis.SyntaxTokenList>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T03] (  5,  6   )     ref  ->   x0         class-hnd single-def "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
-;  V06 tmp2         [V06,T05] (  4,  4   )     int  ->  x22         "impAppendStmt"
+;  V05 tmp1         [V05,T02] (  5,  6   )     ref  ->   x0         class-hnd single-def "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
+;  V06 tmp2         [V06,T04] (  4,  4   )     int  ->  x23         "impAppendStmt"
 ;* V07 tmp3         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.SyntaxTokenList>
 ;  V08 tmp4         [V08,T10] (  4,  2   )     ref  ->  x21         "guarded devirt return temp"
 ;* V09 tmp5         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ClassDeclarationSyntax>
 ;* V10 tmp6         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V11 tmp7         [V11,T00] (  7, 12.28)     int  ->  x22         "Inlining Arg"
+;* V11 tmp7         [V11,T05] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V12 tmp8         [V12,T11] (  3,  2   )     ref  ->   x0         class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
-;  V13 tmp9         [V13,T09] (  5,  2.10)     int  ->  x23         "Inline stloc first use temp"
-;  V14 tmp10        [V14,T15] (  4,  1.90)     ref  ->  x24         class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V15 tmp11        [V15,T06] (  4,  3.41)     ref  ->   x0         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
+;  V13 tmp9         [V13,T09] (  4,  2.04)     int  ->  x22         "Inline stloc first use temp"
+;  V14 tmp10        [V14,T15] (  4,  1.61)     ref  ->  x23         class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
+;  V15 tmp11        [V15,T06] (  4,  3.26)     ref  ->   x0         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
 ;* V16 tmp12        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V17 tmp13        [V17,T19] (  4,  0.95)     ref  ->   x0         "guarded devirt return temp"
+;  V17 tmp13        [V17,T20] (  4,  0.64)     ref  ->   x0         "guarded devirt return temp"
 ;* V18 tmp14        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax>
 ;* V19 tmp15        [V19    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V20 tmp16        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
 ;* V21 tmp17        [V21    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline return value spill temp"
-;  V22 tmp18        [V22,T08] (  4,  2.16)     int  ->  x23         "Inline stloc first use temp"
-;* V23 tmp19        [V23,T18] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V24 tmp20        [V24,T04] (  5,  4.69)     ref  ->   x0         class-hnd "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
+;  V22 tmp18        [V22,T08] (  4,  2.16)     int  ->  x22         "Inline stloc first use temp"
+;* V23 tmp19        [V23,T17] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;  V24 tmp20        [V24,T03] (  5,  4.69)     ref  ->   x0         class-hnd "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
 ;* V25 tmp21        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V26 tmp22        [V26,T20] (  7,  0.75)     ref  ->   x0         "guarded devirt return temp"
+;  V26 tmp22        [V26,T18] (  7,  0.75)     ref  ->   x0         "guarded devirt return temp"
 ;* V27 tmp23        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax>
-;  V28 tmp24        [V28,T21] (  4,  0.01)     int  ->  x23         "Inline stloc first use temp"
-;* V29 tmp25        [V29,T17] (  0,  0   )     ref  ->  zero-ref    single-def "field V07._parent (fldOffset=0x0)" P-INDEP
+;  V28 tmp24        [V28,T23] (  4,  0.01)     int  ->  x22         "Inline stloc first use temp"
+;* V29 tmp25        [V29,T16] (  0,  0   )     ref  ->  zero-ref    single-def "field V07._parent (fldOffset=0x0)" P-INDEP
 ;  V30 tmp26        [V30,T12] (  2,  2   )     ref  ->  x21         single-def "field V07.<Node>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V31 tmp27        [V31,T13] (  2,  2   )     int  ->  x23         single-def "field V07._index (fldOffset=0x10)" P-INDEP
-;  V32 tmp28        [V32,T14] (  2,  2   )     int  ->  x22         single-def "field V07.<Position>k__BackingField (fldOffset=0x14)" P-INDEP
-;  V33 cse0         [V33,T16] (  3,  1.11)    long  ->  x25         "CSE - moderate"
+;  V31 tmp27        [V31,T13] (  2,  2   )     int  ->  x22         single-def "field V07._index (fldOffset=0x10)" P-INDEP
+;  V32 tmp28        [V32,T14] (  2,  2   )     int  ->  x23         single-def "field V07.<Position>k__BackingField (fldOffset=0x14)" P-INDEP
+;  V33 cse0         [V33,T21] (  2,  0.28)    long  ->   x2         "CSE - conservative"
+;  V34 cse1         [V34,T19] (  3,  0.75)    long  ->  x24         "CSE - moderate"
+;  V35 cse2         [V35,T22] (  2,  0.07)     int  ->  x22         "CSE - conservative"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M23983_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x50]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            stp     x23, x24, [sp, #0x38]
-            str     x25, [sp, #0x48]
+            stp     fp, lr, [sp, #-0x40]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
+            stp     x23, x24, [sp, #0x30]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
             mov     x20, x8
             ; byrRegs +[x20]
-                     ;; size=32 bbWeight=1 PerfScore 6.50
+                      ;; size=28 bbWeight=1 PerfScore 5.50
 G_M23983_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref, isz
             ldr     x0, [x19, #0x18]
             ; gcrRegs +[x0]
@@ -66,14 +67,13 @@ G_M23983_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             cmp     x1, x2
-            bne     G_M23983_IG24
+            bne     G_M23983_IG22
             ldr     x21, [x0, #0x18]
             ; gcrRegs +[x21]
-            cbz     x21, G_M23983_IG25
+            cbz     x21, G_M23983_IG23
                        ;; size=36 bbWeight=1 PerfScore 13.00
 G_M23983_IG03:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            mov     w22, #1
             mov     x0, x19
             ; gcrRegs +[x0]
             mov     w1, #1
@@ -82,75 +82,30 @@ G_M23983_IG03:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000
             movk    x2, #1 LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    x0, G_M23983_IG27
-            mov     w23, wzr
-            ldr     x24, [x19, #0x18]
-            ; gcrRegs +[x24]
-                       ;; size=44 bbWeight=1 PerfScore 11.50
-G_M23983_IG04:        ; bbWeight=1.08, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=100000 {x20}, byref, isz
-            ; gcrRegs -[x0]
-            sub     w22, w22, #1
+            cbnz    x0, G_M23983_IG25
+            mov     w22, wzr
+            ldr     x23, [x19, #0x18]
+            ; gcrRegs +[x23]
             mov     x0, x19
-            ; gcrRegs +[x0]
-            mov     w1, w22
+            mov     w1, wzr
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax:GetCachedSlot(int):Microsoft.CodeAnalysis.SyntaxNode:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    x0, G_M23983_IG11
-                       ;; size=36 bbWeight=1.08 PerfScore 8.63
-G_M23983_IG05:        ; bbWeight=0.45, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=100000 {x20}, byref, isz
-            ; gcrRegs -[x0]
-            ldr     x25, [x24]
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #1 LSL #32
-            cmp     x25, x0
-            bne     G_M23983_IG14
-                       ;; size=24 bbWeight=0.45 PerfScore 2.71
-G_M23983_IG06:        ; bbWeight=0.24, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=100000 {x20}, byref
-            mov     x0, x24
-            ; gcrRegs +[x0]
-            mov     w1, w22
-            movz    x2, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax:GetSlot(int):Microsoft.CodeAnalysis.GreenNode:this
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #1 LSL #32
-            ldr     x2, [x2]
-            blr     x2
-                       ;; size=28 bbWeight=0.24 PerfScore 1.58
-G_M23983_IG07:        ; bbWeight=0.45, gcrefRegs=1280001 {x0 x19 x21 x24}, byrefRegs=100000 {x20}, byref, isz
-            cbnz    x0, G_M23983_IG10
-                       ;; size=4 bbWeight=0.45 PerfScore 0.45
-G_M23983_IG08:        ; bbWeight=1.45, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=100000 {x20}, byref, isz
-            ; gcrRegs -[x0]
-            cmp     w22, #0
-            bgt     G_M23983_IG04
-                       ;; size=8 bbWeight=1.45 PerfScore 2.18
-G_M23983_IG09:        ; bbWeight=0.37, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs -[x24]
-            ldr     w0, [x19, #0x20]
-            add     w22, w0, w23
-            b       G_M23983_IG12
-                       ;; size=12 bbWeight=0.37 PerfScore 1.67
-G_M23983_IG10:        ; bbWeight=0.05, gcrefRegs=1280001 {x0 x19 x21 x24}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs +[x0 x24]
-            ldr     w0, [x0, #0x08]
-            ; gcrRegs -[x0]
-            add     w23, w23, w0
-            b       G_M23983_IG08
-                       ;; size=12 bbWeight=0.05 PerfScore 0.23
-G_M23983_IG11:        ; bbWeight=0.63, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs -[x24] +[x0]
+            cbz     x0, G_M23983_IG07
+                       ;; size=72 bbWeight=1 PerfScore 18.50
+G_M23983_IG04:        ; bbWeight=0.63, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref
+            ; gcrRegs -[x23]
             ldr     w1, [x0, #0x20]
             ldr     x0, [x0, #0x18]
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
             add     w0, w1, w0
-            add     w22, w0, w23
+            add     w23, w0, w22
                      ;; size=20 bbWeight=0.63 PerfScore 6.28
-G_M23983_IG12:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref, isz
-            mov     w23, wzr
+G_M23983_IG05:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref, isz
+            mov     w22, wzr
             ldr     x0, [x19, #0x18]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
@@ -158,26 +113,44 @@ G_M23983_IG12:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             cmp     x1, x2
-            bne     G_M23983_IG23
+            bne     G_M23983_IG20
                        ;; size=32 bbWeight=1 PerfScore 9.50
-G_M23983_IG13:        ; bbWeight=0.24, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref
-            b       G_M23983_IG18
+G_M23983_IG06:        ; bbWeight=0.24, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref
+            b       G_M23983_IG14
                       ;; size=4 bbWeight=0.24 PerfScore 0.24
-G_M23983_IG14:        ; bbWeight=0.21, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs -[x0] +[x24]
-            mov     x0, x24
+G_M23983_IG07:        ; bbWeight=0.30, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=100000 {x20}, byref, isz
+            ; gcrRegs -[x0] +[x23]
+            ldr     x24, [x23]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #1 LSL #32
+            cmp     x24, x0
+            bne     G_M23983_IG19
+                       ;; size=24 bbWeight=0.30 PerfScore 1.83
+G_M23983_IG08:        ; bbWeight=0.16, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=100000 {x20}, byref
+            mov     x0, x23
             ; gcrRegs +[x0]
-            mov     w1, w22
-            ldr     x2, [x25, #0x50]
-            ldr     x2, [x2, #0x20]
+            mov     w1, wzr
+            movz    x2, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax:GetSlot(int):Microsoft.CodeAnalysis.GreenNode:this
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #1 LSL #32
+            ldr     x2, [x2]
             blr     x2
-            b       G_M23983_IG07
-                       ;; size=24 bbWeight=0.21 PerfScore 1.87
-G_M23983_IG15:        ; bbWeight=0.16, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs -[x0 x24]
-            mov     w23, #1
+            ; gcrRegs -[x23]
+                       ;; size=28 bbWeight=0.16 PerfScore 1.07
+G_M23983_IG09:        ; bbWeight=0.30, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref, isz
+            cbnz    x0, G_M23983_IG21
+                       ;; size=4 bbWeight=0.30 PerfScore 0.30
+G_M23983_IG10:        ; bbWeight=0.37, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
+            ; gcrRegs -[x0]
+            ldr     w0, [x19, #0x20]
+            add     w23, w0, w22
+            b       G_M23983_IG05
+                       ;; size=12 bbWeight=0.37 PerfScore 1.67
+G_M23983_IG11:        ; bbWeight=0.16, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
+            mov     w22, #1
                         ;; size=4 bbWeight=0.16 PerfScore 0.08
-G_M23983_IG16:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
+G_M23983_IG12:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
             mov     x14, x20
             ; byrRegs +[x14]
             mov     x15, x19
@@ -192,17 +165,16 @@ G_M23983_IG16:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             ; gcrRegs -[x15 x21]
...
  
-32 (-5.88%) : 57623.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax:get_Modifiers():Microsoft.CodeAnalysis.SyntaxTokenList:this (Tier1)
@@ -9,55 +9,56 @@
 ; 4 inlinees with PGO data; 13 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  9,  8.45)     ref  ->  x19         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax>
-;  V01 RetBuf       [V01,T02] (  7,  6   )   byref  ->  x20         single-def
+;  V00 this         [V00,T00] (  9,  8.37)     ref  ->  x19         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax>
+;  V01 RetBuf       [V01,T01] (  7,  6   )   byref  ->  x20         single-def
 ;  V02 loc0         [V02,T07] (  5,  3   )     ref  ->  x21         class-hnd single-def <Microsoft.CodeAnalysis.GreenNode>
 ;* V03 loc1         [V03    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] ld-addr-op <Microsoft.CodeAnalysis.SyntaxTokenList>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T03] (  5,  6   )     ref  ->   x0         class-hnd single-def "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
-;  V06 tmp2         [V06,T05] (  4,  4   )     int  ->  x22         "impAppendStmt"
+;  V05 tmp1         [V05,T02] (  5,  6   )     ref  ->   x0         class-hnd single-def "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
+;  V06 tmp2         [V06,T04] (  4,  4   )     int  ->  x23         "impAppendStmt"
 ;* V07 tmp3         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.SyntaxTokenList>
 ;  V08 tmp4         [V08,T10] (  4,  2   )     ref  ->  x21         "guarded devirt return temp"
 ;* V09 tmp5         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.MethodDeclarationSyntax>
 ;* V10 tmp6         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V11 tmp7         [V11,T00] (  7, 12.28)     int  ->  x22         "Inlining Arg"
+;* V11 tmp7         [V11,T05] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V12 tmp8         [V12,T11] (  3,  2   )     ref  ->   x0         class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
-;  V13 tmp9         [V13,T09] (  5,  2.10)     int  ->  x23         "Inline stloc first use temp"
-;  V14 tmp10        [V14,T15] (  4,  1.90)     ref  ->  x24         class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V15 tmp11        [V15,T06] (  4,  3.41)     ref  ->   x0         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
+;  V13 tmp9         [V13,T09] (  4,  2.04)     int  ->  x22         "Inline stloc first use temp"
+;  V14 tmp10        [V14,T15] (  4,  1.61)     ref  ->  x23         class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
+;  V15 tmp11        [V15,T06] (  4,  3.26)     ref  ->   x0         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
 ;* V16 tmp12        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V17 tmp13        [V17,T19] (  4,  0.95)     ref  ->   x0         "guarded devirt return temp"
+;  V17 tmp13        [V17,T20] (  4,  0.64)     ref  ->   x0         "guarded devirt return temp"
 ;* V18 tmp14        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax>
 ;* V19 tmp15        [V19    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V20 tmp16        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
 ;* V21 tmp17        [V21    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline return value spill temp"
-;  V22 tmp18        [V22,T08] (  4,  2.16)     int  ->  x23         "Inline stloc first use temp"
-;* V23 tmp19        [V23,T18] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V24 tmp20        [V24,T04] (  5,  4.69)     ref  ->   x0         class-hnd "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
+;  V22 tmp18        [V22,T08] (  4,  2.16)     int  ->  x22         "Inline stloc first use temp"
+;* V23 tmp19        [V23,T17] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;  V24 tmp20        [V24,T03] (  5,  4.69)     ref  ->   x0         class-hnd "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
 ;* V25 tmp21        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V26 tmp22        [V26,T20] (  7,  0.75)     ref  ->   x0         "guarded devirt return temp"
+;  V26 tmp22        [V26,T18] (  7,  0.75)     ref  ->   x0         "guarded devirt return temp"
 ;* V27 tmp23        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax>
-;  V28 tmp24        [V28,T21] (  4,  0.01)     int  ->  x23         "Inline stloc first use temp"
-;* V29 tmp25        [V29,T17] (  0,  0   )     ref  ->  zero-ref    single-def "field V07._parent (fldOffset=0x0)" P-INDEP
+;  V28 tmp24        [V28,T23] (  4,  0.01)     int  ->  x22         "Inline stloc first use temp"
+;* V29 tmp25        [V29,T16] (  0,  0   )     ref  ->  zero-ref    single-def "field V07._parent (fldOffset=0x0)" P-INDEP
 ;  V30 tmp26        [V30,T12] (  2,  2   )     ref  ->  x21         single-def "field V07.<Node>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V31 tmp27        [V31,T13] (  2,  2   )     int  ->  x23         single-def "field V07._index (fldOffset=0x10)" P-INDEP
-;  V32 tmp28        [V32,T14] (  2,  2   )     int  ->  x22         single-def "field V07.<Position>k__BackingField (fldOffset=0x14)" P-INDEP
-;  V33 cse0         [V33,T16] (  3,  1.11)    long  ->  x25         "CSE - moderate"
+;  V31 tmp27        [V31,T13] (  2,  2   )     int  ->  x22         single-def "field V07._index (fldOffset=0x10)" P-INDEP
+;  V32 tmp28        [V32,T14] (  2,  2   )     int  ->  x23         single-def "field V07.<Position>k__BackingField (fldOffset=0x14)" P-INDEP
+;  V33 cse0         [V33,T21] (  2,  0.28)    long  ->   x2         "CSE - conservative"
+;  V34 cse1         [V34,T19] (  3,  0.75)    long  ->  x24         "CSE - moderate"
+;  V35 cse2         [V35,T22] (  2,  0.07)     int  ->  x22         "CSE - conservative"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M57630_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x50]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            stp     x23, x24, [sp, #0x38]
-            str     x25, [sp, #0x48]
+            stp     fp, lr, [sp, #-0x40]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
+            stp     x23, x24, [sp, #0x30]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
             mov     x20, x8
             ; byrRegs +[x20]
-                     ;; size=32 bbWeight=1 PerfScore 6.50
+                      ;; size=28 bbWeight=1 PerfScore 5.50
 G_M57630_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref, isz
             ldr     x0, [x19, #0x18]
             ; gcrRegs +[x0]
@@ -66,14 +67,13 @@ G_M57630_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             cmp     x1, x2
-            bne     G_M57630_IG24
+            bne     G_M57630_IG22
             ldr     x21, [x0, #0x18]
             ; gcrRegs +[x21]
-            cbz     x21, G_M57630_IG25
+            cbz     x21, G_M57630_IG23
                        ;; size=36 bbWeight=1 PerfScore 13.00
 G_M57630_IG03:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            mov     w22, #1
             mov     x0, x19
             ; gcrRegs +[x0]
             mov     w1, #1
@@ -82,75 +82,30 @@ G_M57630_IG03:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000
             movk    x2, #1 LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    x0, G_M57630_IG27
-            mov     w23, wzr
-            ldr     x24, [x19, #0x18]
-            ; gcrRegs +[x24]
-                       ;; size=44 bbWeight=1 PerfScore 11.50
-G_M57630_IG04:        ; bbWeight=1.08, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=100000 {x20}, byref, isz
-            ; gcrRegs -[x0]
-            sub     w22, w22, #1
+            cbnz    x0, G_M57630_IG25
+            mov     w22, wzr
+            ldr     x23, [x19, #0x18]
+            ; gcrRegs +[x23]
             mov     x0, x19
-            ; gcrRegs +[x0]
-            mov     w1, w22
+            mov     w1, wzr
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax:GetCachedSlot(int):Microsoft.CodeAnalysis.SyntaxNode:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    x0, G_M57630_IG11
-                       ;; size=36 bbWeight=1.08 PerfScore 8.63
-G_M57630_IG05:        ; bbWeight=0.45, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=100000 {x20}, byref, isz
-            ; gcrRegs -[x0]
-            ldr     x25, [x24]
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #1 LSL #32
-            cmp     x25, x0
-            bne     G_M57630_IG14
-                       ;; size=24 bbWeight=0.45 PerfScore 2.71
-G_M57630_IG06:        ; bbWeight=0.24, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=100000 {x20}, byref
-            mov     x0, x24
-            ; gcrRegs +[x0]
-            mov     w1, w22
-            movz    x2, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax:GetSlot(int):Microsoft.CodeAnalysis.GreenNode:this
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #1 LSL #32
-            ldr     x2, [x2]
-            blr     x2
-                       ;; size=28 bbWeight=0.24 PerfScore 1.58
-G_M57630_IG07:        ; bbWeight=0.45, gcrefRegs=1280001 {x0 x19 x21 x24}, byrefRegs=100000 {x20}, byref, isz
-            cbnz    x0, G_M57630_IG10
-                       ;; size=4 bbWeight=0.45 PerfScore 0.45
-G_M57630_IG08:        ; bbWeight=1.45, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=100000 {x20}, byref, isz
-            ; gcrRegs -[x0]
-            cmp     w22, #0
-            bgt     G_M57630_IG04
-                       ;; size=8 bbWeight=1.45 PerfScore 2.18
-G_M57630_IG09:        ; bbWeight=0.37, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs -[x24]
-            ldr     w0, [x19, #0x20]
-            add     w22, w0, w23
-            b       G_M57630_IG12
-                       ;; size=12 bbWeight=0.37 PerfScore 1.67
-G_M57630_IG10:        ; bbWeight=0.05, gcrefRegs=1280001 {x0 x19 x21 x24}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs +[x0 x24]
-            ldr     w0, [x0, #0x08]
-            ; gcrRegs -[x0]
-            add     w23, w23, w0
-            b       G_M57630_IG08
-                       ;; size=12 bbWeight=0.05 PerfScore 0.23
-G_M57630_IG11:        ; bbWeight=0.63, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs -[x24] +[x0]
+            cbz     x0, G_M57630_IG07
+                       ;; size=72 bbWeight=1 PerfScore 18.50
+G_M57630_IG04:        ; bbWeight=0.63, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref
+            ; gcrRegs -[x23]
             ldr     w1, [x0, #0x20]
             ldr     x0, [x0, #0x18]
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
             add     w0, w1, w0
-            add     w22, w0, w23
+            add     w23, w0, w22
                      ;; size=20 bbWeight=0.63 PerfScore 6.28
-G_M57630_IG12:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref, isz
-            mov     w23, wzr
+G_M57630_IG05:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref, isz
+            mov     w22, wzr
             ldr     x0, [x19, #0x18]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
@@ -158,26 +113,44 @@ G_M57630_IG12:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             cmp     x1, x2
-            bne     G_M57630_IG23
+            bne     G_M57630_IG20
                        ;; size=32 bbWeight=1 PerfScore 9.50
-G_M57630_IG13:        ; bbWeight=0.24, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref
-            b       G_M57630_IG18
+G_M57630_IG06:        ; bbWeight=0.24, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref
+            b       G_M57630_IG14
                       ;; size=4 bbWeight=0.24 PerfScore 0.24
-G_M57630_IG14:        ; bbWeight=0.21, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs -[x0] +[x24]
-            mov     x0, x24
+G_M57630_IG07:        ; bbWeight=0.30, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=100000 {x20}, byref, isz
+            ; gcrRegs -[x0] +[x23]
+            ldr     x24, [x23]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #1 LSL #32
+            cmp     x24, x0
+            bne     G_M57630_IG19
+                       ;; size=24 bbWeight=0.30 PerfScore 1.83
+G_M57630_IG08:        ; bbWeight=0.16, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=100000 {x20}, byref
+            mov     x0, x23
             ; gcrRegs +[x0]
-            mov     w1, w22
-            ldr     x2, [x25, #0x50]
-            ldr     x2, [x2, #0x20]
+            mov     w1, wzr
+            movz    x2, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BlockSyntax:GetSlot(int):Microsoft.CodeAnalysis.GreenNode:this
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #1 LSL #32
+            ldr     x2, [x2]
             blr     x2
-            b       G_M57630_IG07
-                       ;; size=24 bbWeight=0.21 PerfScore 1.87
-G_M57630_IG15:        ; bbWeight=0.16, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs -[x0 x24]
-            mov     w23, #1
+            ; gcrRegs -[x23]
+                       ;; size=28 bbWeight=0.16 PerfScore 1.07
+G_M57630_IG09:        ; bbWeight=0.30, gcrefRegs=280001 {x0 x19 x21}, byrefRegs=100000 {x20}, byref, isz
+            cbnz    x0, G_M57630_IG21
+                       ;; size=4 bbWeight=0.30 PerfScore 0.30
+G_M57630_IG10:        ; bbWeight=0.37, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
+            ; gcrRegs -[x0]
+            ldr     w0, [x19, #0x20]
+            add     w23, w0, w22
+            b       G_M57630_IG05
+                       ;; size=12 bbWeight=0.37 PerfScore 1.67
+G_M57630_IG11:        ; bbWeight=0.16, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
+            mov     w22, #1
                         ;; size=4 bbWeight=0.16 PerfScore 0.08
-G_M57630_IG16:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
+G_M57630_IG12:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000 {x20}, byref
             mov     x14, x20
             ; byrRegs +[x14]
             mov     x15, x19
@@ -192,17 +165,16 @@ G_M57630_IG16:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=100000
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             ; gcrRegs -[x15 x21]
...
  
-16 (-3.23%) : 7988.dasm - System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
@@ -19,28 +19,28 @@
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V08 tmp1         [V08,T03] (  3,  6   )     ref  ->   x0         class-hnd exact single-def "Single-def Box Helper" <System.Reflection.MetadataImport>
 ;  V09 tmp2         [V09,T13] (  2,  4   )     int  ->   x1         "impImportAndPushBox"
-;  V10 tmp3         [V10,T14] (  4,  2   )     int  ->  x28        
+;  V10 tmp3         [V10,T16] (  4,  2   )     int  ->  x28        
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V13 tmp6         [V13,T17] (  2,  2   )     int  ->  x14        
+;  V13 tmp6         [V13,T18] (  2,  2   )     int  ->  x14        
 ;  V14 tmp7         [V14,T04] (  3,  6.00)     ref  ->   x0         class-hnd exact single-def "dup spill" <int[]>
 ;* V15 tmp8         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V16 tmp9         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V17 tmp10        [V17,T18] (  2,  2   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp10        [V17,T19] (  2,  2   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp11        [V18,T11] (  2,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Reflection.MetadataImport>
 ;* V19 tmp12        [V19    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Reflection.MetadataImport>
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V21 tmp14        [V21,T15] (  3,  2.00)   ubyte  ->  x28         "Inline return value spill temp"
-;  V22 tmp15        [V22,T05] (  5,  5.00)     int  ->   x1         "Inline stloc first use temp"
+;  V21 tmp14        [V21,T17] (  3,  2.00)   ubyte  ->  x28         "Inline return value spill temp"
+;* V22 tmp15        [V22,T05] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V23 tmp16        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V24 tmp17        [V24    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V25 tmp18        [V25,T12] (  2,  2   )     ref  ->  x26         single-def "field V02.m_keepalive (fldOffset=0x0)" P-INDEP
 ;  V26 tmp19        [V26,T09] (  3,  3   )    long  ->  x25         single-def "field V02.m_metadataImport2 (fldOffset=0x8)" P-INDEP
 ;* V27 tmp20        [V27    ] (  0,  0   )     ref  ->  zero-ref    "field V19.m_keepalive (fldOffset=0x0)" P-INDEP
-;  V28 tmp21        [V28,T19] (  2,  2   )    long  ->   x0         "field V19.m_metadataImport2 (fldOffset=0x8)" P-INDEP
-;  V29 cse0         [V29,T10] (  4,  4   )     int  ->  x27         "CSE - aggressive"
-;  V30 cse1         [V30,T16] (  2,  2.00)   byref  ->   x0         hoist "CSE - moderate"
-;  V31 cse2         [V31,T20] (  2,  2.00)     int  ->   x2         hoist "CSE - moderate"
+;  V28 tmp21        [V28,T20] (  2,  2   )    long  ->   x0         "field V19.m_metadataImport2 (fldOffset=0x8)" P-INDEP
+;  V29 cse0         [V29,T14] (  2,  2.00)   byref  ->  x14         "CSE - aggressive"
+;  V30 cse1         [V30,T15] (  2,  2.00)     int  ->  x15         "CSE - aggressive"
+;  V31 cse2         [V31,T10] (  4,  4   )     int  ->  x27         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -66,7 +66,7 @@ G_M43134_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x21]
                        ;; size=60 bbWeight=1 PerfScore 10.50
 G_M43134_IG02:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
-            cbz     x21, G_M43134_IG11
+            cbz     x21, G_M43134_IG10
                      ;; size=4 bbWeight=1 PerfScore 1.00
 G_M43134_IG03:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             movz    x0, #0xD1FFAB1E
@@ -96,13 +96,13 @@ G_M43134_IG03:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             cmp     x0, x25
             cset    x0, eq
             cmp     w1, w0
-            bne     G_M43134_IG12
+            bne     G_M43134_IG11
                        ;; size=84 bbWeight=1 PerfScore 20.00
 G_M43134_IG04:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x13-x14]
-            cbz     w27, G_M43134_IG14
+            cbz     w27, G_M43134_IG13
                        ;; size=4 bbWeight=1 PerfScore 1.00
-G_M43134_IG05:        ; bbWeight=1.00, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG05:        ; bbWeight=1.00, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -112,30 +112,24 @@ G_M43134_IG05:        ; bbWeight=1.00, gcrefRegs=4680000 {x19 x21 x22 x26}, byre
             ; gcr arg pop 0
             mov     w14, #0xD1FFAB1E
             str     w14, [x0, #0x10]
-            mov     w1, wzr
-            add     x0, x0, #16
+            add     x14, x0, #16
+            ; byrRegs +[x14]
+            ldr     w14, [x14]
+            ; byrRegs -[x14]
+            and     w15, w20, #0xD1FFAB1E
+            cmp     w14, w15
+            beq     G_M43134_IG06
+            b       G_M43134_IG12
+                       ;; size=52 bbWeight=1.00 PerfScore 11.00
+G_M43134_IG06:        ; bbWeight=1.00, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
-            ; byrRegs +[x0]
-            and     w2, w20, #0xD1FFAB1E
-                       ;; size=40 bbWeight=1.00 PerfScore 6.00
-G_M43134_IG06:        ; bbWeight=1.00, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0001 {x0}, byref, isz
-            ldr     w14, [x0, w1, UXTW #2]
-            cmp     w14, w2
-            beq     G_M43134_IG07
-            add     w1, w1, #1
-            cmp     w1, #1
-            bge     G_M43134_IG13
-            b       G_M43134_IG06
-                       ;; size=28 bbWeight=1.00 PerfScore 7.50
-G_M43134_IG07:        ; bbWeight=1.00, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x0]
             mov     w28, #1
                        ;; size=4 bbWeight=1.00 PerfScore 0.50
-G_M43134_IG08:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
+G_M43134_IG07:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             tst     w28, #255
-            beq     G_M43134_IG15
+            beq     G_M43134_IG14
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M43134_IG09:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG08:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             str     w23, [x19, #0x2C]
             add     x14, x19, #24
             ; byrRegs +[x14]
@@ -167,7 +161,7 @@ G_M43134_IG09:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             str     xzr, [x19, #0x08]
             str     xzr, [x19, #0x20]
                        ;; size=72 bbWeight=1 PerfScore 13.50
-G_M43134_IG10:        ; bbWeight=1, epilog, nogc, extend
+G_M43134_IG09:        ; bbWeight=1, epilog, nogc, extend
             ldp     x27, x28, [sp, #0x50]
             ldp     x25, x26, [sp, #0x40]
             ldp     x23, x24, [sp, #0x30]
@@ -176,7 +170,7 @@ G_M43134_IG10:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=28 bbWeight=1 PerfScore 7.00
-G_M43134_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, gcvars, byref
+G_M43134_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x21-x22 x26]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -192,7 +186,7 @@ G_M43134_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=468000
             ; gcr arg pop 0
             b       G_M43134_IG03
                        ;; size=48 bbWeight=0 PerfScore 0.00
-G_M43134_IG12:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG11:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -207,16 +201,16 @@ G_M43134_IG12:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             ; gcr arg pop 0
             b       G_M43134_IG04
                        ;; size=48 bbWeight=0 PerfScore 0.00
-G_M43134_IG13:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG12:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             mov     w28, wzr
-            b       G_M43134_IG08
+            b       G_M43134_IG07
                         ;; size=8 bbWeight=0 PerfScore 0.00
-G_M43134_IG14:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
+G_M43134_IG13:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             mov     w28, #1
             tst     w28, #255
-            bne     G_M43134_IG09
+            bne     G_M43134_IG08
                         ;; size=12 bbWeight=0 PerfScore 0.00
-G_M43134_IG15:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG14:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -229,10 +223,10 @@ G_M43134_IG15:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             ldr     x2, [x2]
             blr     x2
             ; gcr arg pop 0
-            b       G_M43134_IG09
+            b       G_M43134_IG08
                       ;; size=48 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 496, prolog size 60, PerfScore 68.50, instruction count 124, allocated bytes for code 496 (MethodHash=d49d5781) for method System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
+; Total bytes of code 480, prolog size 60, PerfScore 66.00, instruction count 120, allocated bytes for code 480 (MethodHash=d49d5781) for method System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -243,7 +237,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 124 (0x0007c) Actual length = 496 (0x0001f0)
+  Function Length   : 120 (0x00078) Actual length = 480 (0x0001e0)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+48 (+54.55%) : 29950.dasm - System.Security.Cryptography.Pkcs.Pkcs12Kdf:AddPlusOne(System.Span1[ubyte],System.Span1[ubyte]) (Tier1)
@@ -10,15 +10,16 @@
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.Span`1[ubyte]>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.Span`1[ubyte]>
-;  V02 loc0         [V02,T04] (  3,129   )     int  ->   x4        
-;  V03 loc1         [V03,T00] (  8,386   )     int  ->   x5        
-;  V04 loc2         [V04,T02] (  3,192   )     int  ->   x4        
+;  V02 loc0         [V02,T04] (  3,128.98)     int  ->   x5        
+;  V03 loc1         [V03,T00] ( 14,391.91)     int  ->   x4        
+;  V04 loc2         [V04,T02] (  6,194.95)     int  ->   x6        
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T03] (  3,129   )   byref  ->   x0         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
-;  V07 tmp2         [V07,T05] (  3, 66   )     int  ->   x1         single-def "field V00._length (fldOffset=0x8)" P-INDEP
-;  V08 tmp3         [V08,T06] (  2, 65   )   byref  ->   x2         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
-;  V09 tmp4         [V09,T07] (  2, 65   )     int  ->   x3         single-def "field V01._length (fldOffset=0x8)" P-INDEP
-;  V10 cse0         [V10,T01] (  4,256   )    long  ->   x6         "CSE - aggressive"
+;  V06 tmp1         [V06,T03] (  5,130.97)   byref  ->   x0         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
+;  V07 tmp2         [V07,T05] (  4, 66.98)     int  ->   x1         single-def "field V00._length (fldOffset=0x8)" P-INDEP
+;  V08 tmp3         [V08,T06] (  3, 65.98)   byref  ->   x2         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
+;  V09 tmp4         [V09,T07] (  3, 65.98)     int  ->   x3         single-def "field V01._length (fldOffset=0x8)" P-INDEP
+;  V10 cse0         [V10,T01] (  4,256   )    long  ->   x7         "CSE - aggressive"
+;  V11 cse1         [V11,T08] (  4,  3.94)    long  ->   x5         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -28,37 +29,51 @@ G_M31293_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M31293_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
             ; byrRegs +[x0 x2]
-            mov     w4, #1
-            sub     w5, w1, #1
-            tbnz    w5, #31, G_M31293_IG04
-                       ;; size=12 bbWeight=1 PerfScore 2.00
-G_M31293_IG03:        ; bbWeight=64, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
-            cmp     w5, w1
-            bhs     G_M31293_IG05
-            mov     w6, w5
-            ldrb    w7, [x0, x6]
-            add     w4, w7, w4
-            cmp     w5, w3
-            bhs     G_M31293_IG05
-            ldrb    w7, [x2, x6]
-            add     w4, w4, w7
-            strb    w4, [x0, x6]
-            asr     w4, w4, #8
-            sub     w5, w5, #1
-            tbz     w5, #31, G_M31293_IG03
+            sub     w4, w1, #1
+            tbnz    w4, #31, G_M31293_IG05
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M31293_IG03:        ; bbWeight=0.98, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
+            cmp     w4, w1
+            bhs     G_M31293_IG06
+            mov     w5, w4
+            ldrb    w6, [x0, x5]
+            add     w6, w6, #1
+            cmp     w4, w3
+            bhs     G_M31293_IG06
+            ldrb    w7, [x2, x5]
+            add     w6, w6, w7
+            strb    w6, [x0, x5]
+            asr     w5, w6, #8
+            sub     w4, w4, #1
+            tbnz    w4, #31, G_M31293_IG05
+                       ;; size=52 bbWeight=0.98 PerfScore 13.78
+G_M31293_IG04:        ; bbWeight=64, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
+            cmp     w4, w1
+            bhs     G_M31293_IG06
+            mov     w7, w4
+            ldrb    w6, [x0, x7]
+            add     w5, w6, w5
+            cmp     w4, w3
+            bhs     G_M31293_IG06
+            ldrb    w6, [x2, x7]
+            add     w6, w5, w6
+            strb    w6, [x0, x7]
+            asr     w5, w6, #8
+            sub     w4, w4, #1
+            tbz     w4, #31, G_M31293_IG04
                      ;; size=52 bbWeight=64 PerfScore 896.00
-G_M31293_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M31293_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; byrRegs -[x0 x2]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M31293_IG05:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M31293_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 88, prolog size 8, PerfScore 901.50, instruction count 22, allocated bytes for code 88 (MethodHash=218885c2) for method System.Security.Cryptography.Pkcs.Pkcs12Kdf:AddPlusOne(System.Span`1[ubyte],System.Span`1[ubyte]) (Tier1)
+; Total bytes of code 136, prolog size 8, PerfScore 914.78, instruction count 34, allocated bytes for code 136 (MethodHash=218885c2) for method System.Security.Cryptography.Pkcs.Pkcs12Kdf:AddPlusOne(System.Span`1[ubyte],System.Span`1[ubyte]) (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -69,7 +84,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 22 (0x00016) Actual length = 88 (0x000058)
+  Function Length   : 34 (0x00022) Actual length = 136 (0x000088)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+48 (+54.55%) : 34886.dasm - IfStatements.IfStatements:AndArray():this (Tier1-OSR)
@@ -10,44 +10,58 @@
 ; Final local variable assignments
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <IfStatements.IfStatements>
-;  V01 loc0         [V01,T00] (  5,399.97)     int  ->   x0        
+;  V01 loc0         [V01,T00] ( 10,400.02)     int  ->  x19        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 cse0         [V03,T01] (  3,299.97)     int  ->  x19         "CSE - aggressive"
+;  V03 cse0         [V03,T01] (  3,299.97)     int  ->  x20         "CSE - aggressive"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M1409_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x20]!
-            str     x19, [sp, #0x18]
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-            ldr     w0, [fp, #0x44]
+            ldr     w19, [fp, #0x44]
                         ;; size=16 bbWeight=0.01 PerfScore 0.04
 G_M1409_IG02:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             mov     w1, #0xD1FFAB1E
-            cmp     w0, w1
-            bge     G_M1409_IG04
+            cmp     w19, w1
+            bge     G_M1409_IG05
                        ;; size=12 bbWeight=0.01 PerfScore 0.02
-G_M1409_IG03:        ; bbWeight=99.99, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            add     w19, w0, #1
-            mov     w1, w19
+G_M1409_IG03:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w1, w19, #1
+            mov     w0, w19
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             ldr     x2, [x2]
             blr     x2
-            sxtw    w0, w19
+            add     w19, w19, #1
             mov     w1, #0xD1FFAB1E
-            cmp     w0, w1
-            blt     G_M1409_IG03
-                       ;; size=44 bbWeight=99.99 PerfScore 899.91
-G_M1409_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldr     x19, [sp, #0x18]
+            cmp     w19, w1
+            bge     G_M1409_IG05
+                       ;; size=44 bbWeight=0.01 PerfScore 0.09
+G_M1409_IG04:        ; bbWeight=99.99, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w20, w19, #1
+            mov     w1, w20
+            mov     w0, w19
+            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #1 LSL #32
+            ldr     x2, [x2]
+            blr     x2
+            sxtw    w19, w20
+            mov     w0, #0xD1FFAB1E
+            cmp     w19, w0
+            blt     G_M1409_IG04
+                       ;; size=48 bbWeight=99.99 PerfScore 949.91
+G_M1409_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             add     sp, sp, #48
             ret     lr
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 88, prolog size 12, PerfScore 899.98, instruction count 22, allocated bytes for code 88 (MethodHash=e674fa7e) for method IfStatements.IfStatements:AndArray():this (Tier1-OSR)
+; Total bytes of code 136, prolog size 12, PerfScore 950.06, instruction count 34, allocated bytes for code 136 (MethodHash=e674fa7e) for method IfStatements.IfStatements:AndArray():this (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -58,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 22 (0x00016) Actual length = 88 (0x000058)
+  Function Length   : 34 (0x00022) Actual length = 136 (0x000088)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -66,7 +80,7 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
     83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
     03          alloc_s #3 (0x03); sub sp, sp, #48 (0x030)
     E4          end
  
+48 (+54.55%) : 36583.dasm - IfStatements.IfStatements:OrArray():this (Tier1-OSR)
@@ -10,44 +10,58 @@
 ; Final local variable assignments
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <IfStatements.IfStatements>
-;  V01 loc0         [V01,T00] (  5,399.97)     int  ->   x0        
+;  V01 loc0         [V01,T00] ( 10,400.02)     int  ->  x19        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 cse0         [V03,T01] (  3,299.97)     int  ->  x19         "CSE - aggressive"
+;  V03 cse0         [V03,T01] (  3,299.97)     int  ->  x20         "CSE - aggressive"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M20087_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x20]!
-            str     x19, [sp, #0x18]
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-            ldr     w0, [fp, #0x44]
+            ldr     w19, [fp, #0x44]
                         ;; size=16 bbWeight=0.01 PerfScore 0.04
 G_M20087_IG02:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             mov     w1, #0xD1FFAB1E
-            cmp     w0, w1
-            bge     G_M20087_IG04
+            cmp     w19, w1
+            bge     G_M20087_IG05
                       ;; size=12 bbWeight=0.01 PerfScore 0.02
-G_M20087_IG03:        ; bbWeight=99.99, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            add     w19, w0, #1
-            mov     w1, w19
+G_M20087_IG03:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w1, w19, #1
+            mov     w0, w19
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             ldr     x2, [x2]
             blr     x2
-            sxtw    w0, w19
+            add     w19, w19, #1
             mov     w1, #0xD1FFAB1E
-            cmp     w0, w1
-            blt     G_M20087_IG03
-                       ;; size=44 bbWeight=99.99 PerfScore 899.91
-G_M20087_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldr     x19, [sp, #0x18]
+            cmp     w19, w1
+            bge     G_M20087_IG05
+                       ;; size=44 bbWeight=0.01 PerfScore 0.09
+G_M20087_IG04:        ; bbWeight=99.99, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w20, w19, #1
+            mov     w1, w20
+            mov     w0, w19
+            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #1 LSL #32
+            ldr     x2, [x2]
+            blr     x2
+            sxtw    w19, w20
+            mov     w0, #0xD1FFAB1E
+            cmp     w19, w0
+            blt     G_M20087_IG04
+                       ;; size=48 bbWeight=99.99 PerfScore 949.91
+G_M20087_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             add     sp, sp, #48
             ret     lr
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 88, prolog size 12, PerfScore 899.98, instruction count 22, allocated bytes for code 88 (MethodHash=8456b188) for method IfStatements.IfStatements:OrArray():this (Tier1-OSR)
+; Total bytes of code 136, prolog size 12, PerfScore 950.06, instruction count 34, allocated bytes for code 136 (MethodHash=8456b188) for method IfStatements.IfStatements:OrArray():this (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -58,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 22 (0x00016) Actual length = 88 (0x000058)
+  Function Length   : 34 (0x00022) Actual length = 136 (0x000088)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -66,7 +80,7 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
     83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
     03          alloc_s #3 (0x03); sub sp, sp, #48 (0x030)
     E4          end
  
  
benchmarks.run_tiered.osx.arm64.checked.mch
-12 (-4.41%) : 43072.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
@@ -8,28 +8,33 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] ( 13, 12   )     ref  ->  x19         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
-;  V01 loc0         [V01,T09] (  3,  2.50)     int  ->   x0        
-;  V02 loc1         [V02,T06] (  3,  4.50)     ref  ->  x22         class-hnd <System.__Canon>
+;  V00 this         [V00,T00] ( 13,  9   )     ref  ->  x19         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
+;  V01 loc0         [V01,T13] (  3,  2.50)     int  ->   x0        
+;  V02 loc1         [V02,T08] (  3,  1.50)     ref  ->  x21         class-hnd <System.__Canon>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T00] (  2, 16   )    long  ->   x1         "spilling helperCall"
+;  V04 tmp1         [V04,T02] (  2,  4   )    long  ->   x1         "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V07 cse0         [V07,T05] (  2,  5   )    long  ->  x20         hoist "CSE - aggressive"
-;  V08 cse1         [V08,T03] (  4,  6   )   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V09 rat0         [V09,T07] (  3,  4.40)    long  ->   x0         "Spilling to split statement for tree"
-;  V10 rat1         [V10,T08] (  3,  4   )    long  ->  x20         "runtime lookup"
-;  V11 rat2         [V11,T04] (  3,  5.60)    long  ->  x20         "fgMakeTemp is creating a new local variable"
-;  V12 rat3         [V12,T02] (  3, 12   )     ref  ->   x2         "delegate invoke call"
+;  V07 cse0         [V07,T14] (  2,  2   )    long  ->  x20         hoist "CSE - aggressive"
+;  V08 rat0         [V08,T09] (  3,  4.40)    long  ->   x0         "Spilling to split statement for tree"
+;  V09 rat1         [V09,T10] (  3,  4   )    long  ->  x20         "runtime lookup"
+;  V10 rat2         [V10,T07] (  3,  5.60)    long  ->  x20         "fgMakeTemp is creating a new local variable"
+;* V11 rat3         [V11,T06] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V12 rat4         [V12,T11] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V13 rat5         [V13,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;* V14 rat6         [V14,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V15 rat7         [V15,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V16 rat8         [V16,T12] (  3,  3   )     ref  ->   x2         "delegate invoke call"
+;* V17 rat9         [V17,T04] (  0,  0   )     ref  ->  zero-ref    "delegate invoke call"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 8
 
 G_M34024_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-            str     x0, [fp, #0x18]
+            str     x0, [fp, #0x10]
             mov     x19, x0
             ; gcrRegs +[x19]
                        ;; size=24 bbWeight=1 PerfScore 5.00
@@ -46,9 +51,7 @@ G_M34024_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
 G_M34024_IG04:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ldr     x0, [x19, #0x18]
             ; gcrRegs +[x0]
-            add     x20, x19, #40
-            ; byrRegs +[x20]
-            mov     x8, x20
+            add     x8, x19, #40
             ; byrRegs +[x8]
             movz    x1, #0xD1FFAB1E      // code for System.Collections.Generic.List`1[System.__Canon]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.__Canon]:this
             movk    x1, #0xD1FFAB1E LSL #16
@@ -57,10 +60,10 @@ G_M34024_IG04:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             ldr     wzr, [x0]
             blr     x1
             ; gcrRegs -[x0]
-            ; byrRegs -[x8 x20]
+            ; byrRegs -[x8]
             mov     w0, #2
             str     w0, [x19, #0x14]
-                     ;; size=44 bbWeight=0.50 PerfScore 7.00
+                       ;; size=40 bbWeight=0.50 PerfScore 6.75
 G_M34024_IG05:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x19]
             ldr     x1, [x0, #0x38]
@@ -79,19 +82,14 @@ G_M34024_IG07:        ; bbWeight=0.20, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             mov     x20, x0
                        ;; size=20 bbWeight=0.20 PerfScore 0.60
 G_M34024_IG08:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            add     x0, x19, #40
-            ; byrRegs +[x0]
-            mov     x21, x0
-            ; byrRegs +[x21]
             b       G_M34024_IG10
-                        ;; size=12 bbWeight=1 PerfScore 2.00
-G_M34024_IG09:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21}, byref, isz
-            ; byrRegs -[x0]
-            ldr     x22, [x19, #0x30]
-            ; gcrRegs +[x22]
+                     ;; size=4 bbWeight=1 PerfScore 1.00
+G_M34024_IG09:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            ldr     x21, [x19, #0x30]
+            ; gcrRegs +[x21]
             ldr     x2, [x19, #0x20]
             ; gcrRegs +[x2]
-            mov     x1, x22
+            mov     x1, x21
             ; gcrRegs +[x1]
             ldr     x0, [x2, #0x08]
             ; gcrRegs +[x0]
@@ -100,11 +98,11 @@ G_M34024_IG09:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21
             blr     x2
             ; gcrRegs -[x0-x1]
             cbnz    w0, G_M34024_IG14
-                        ;; size=28 bbWeight=2 PerfScore 29.00
-G_M34024_IG10:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21}, byref, isz
-            ; gcrRegs -[x22]
+                     ;; size=28 bbWeight=0.50 PerfScore 7.25
+G_M34024_IG10:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x21]
             mov     x1, x20
-            mov     x0, x21
+            add     x0, x19, #40
             ; byrRegs +[x0]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
@@ -113,41 +111,40 @@ G_M34024_IG10:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21
             blr     x2
             ; byrRegs -[x0]
             cbnz    w0, G_M34024_IG09
-                        ;; size=32 bbWeight=4 PerfScore 30.00
-G_M34024_IG11:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x21]
+                     ;; size=32 bbWeight=1 PerfScore 7.50
+G_M34024_IG11:        ; bbWeight=0.12, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             str     xzr, [x19, #0x08]
             movn    w14, #0
             str     w14, [x19, #0x14]
-                        ;; size=12 bbWeight=0.50 PerfScore 1.25
+                       ;; size=12 bbWeight=0.12 PerfScore 0.31
 G_M34024_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M34024_IG13:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs +[x22]
+                     ;; size=16 bbWeight=0.50 PerfScore 2.50
+G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs +[x21]
             add     x14, x19, #8
             ; byrRegs +[x14]
-            mov     x15, x22
+            mov     x15, x21
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
-            ; gcrRegs -[x15 x22]
+            ; gcrRegs -[x15 x21]
             ; byrRegs -[x14]
             mov     w0, #1
                        ;; size=16 bbWeight=0.50 PerfScore 1.25
 G_M34024_IG15:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=16 bbWeight=0.50 PerfScore 2.50
 
-; Total bytes of code 272, prolog size 20, PerfScore 99.90, instruction count 68, allocated bytes for code 272 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
+; Total bytes of code 260, prolog size 20, PerfScore 54.46, instruction count 65, allocated bytes for code 260 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -158,7 +155,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 68 (0x00044) Actual length = 272 (0x000110)
+  Function Length   : 65 (0x00041) Actual length = 260 (0x000104)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -169,10 +166,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
-    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
-    E4          end
+    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
+    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
 
  
-4 (-2.13%) : 20937.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
@@ -7,12 +7,13 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 13, 28   )   byref  ->   x0         this single-def
+;  V00 this         [V00,T00] ( 12,  8.25)   byref  ->   x0         this single-def
 ;* V01 TypeCtx      [V01    ] (  0,  0   )    long  ->  zero-ref    single-def
-;  V02 loc0         [V02,T03] (  3,  4.50)   byref  ->  x14        
-;  V03 loc1         [V03,T02] (  4,  8   )     int  ->  x15        
+;  V02 loc0         [V02,T03] (  3,  1   )   byref  ->  x14        
+;  V03 loc1         [V03,T02] (  4,  1   )     int  ->  x15        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T01] (  3, 12   )     ref  ->  x14         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V05 tmp1         [V05,T01] (  3,  1.50)     ref  ->  x14         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V06 cse0         [V06,T04] (  3,  2.50)     int  ->  x15         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -30,7 +31,7 @@ G_M27287_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             cmp     w14, w15
             bne     G_M27287_IG10
                        ;; size=20 bbWeight=1 PerfScore 10.50
-G_M27287_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+G_M27287_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ldr     w14, [x0, #0x14]
             ldr     x15, [x0]
             ; gcrRegs +[x15]
@@ -38,28 +39,26 @@ G_M27287_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             ; gcrRegs -[x15]
             cmp     w14, w15
             blo     G_M27287_IG06
-                        ;; size=20 bbWeight=8 PerfScore 84.00
+                     ;; size=20 bbWeight=1 PerfScore 10.50
 G_M27287_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
-            ldr     x14, [x0]
-            ; gcrRegs +[x14]
-            ldr     w14, [x14, #0x28]
-            ; gcrRegs -[x14]
-            add     w14, w14, #1
+            add     w14, w15, #1
             str     w14, [x0, #0x14]
             str     xzr, [x0, #0x08]
             mov     w0, wzr
             ; byrRegs -[x0]
-                      ;; size=24 bbWeight=0.50 PerfScore 4.50
+                       ;; size=16 bbWeight=0.50 PerfScore 1.50
 G_M27287_IG05:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M27287_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, gcvars, byref, isz
+G_M27287_IG06:        ; bbWeight=0.25, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, gcvars, byref, isz
             ; byrRegs +[x0]
-            ldr     x14, [x0]
+            ldr     x15, [x0]
+            ; gcrRegs +[x15]
+            ldr     x14, [x15, #0x10]
             ; gcrRegs +[x14]
-            ldr     x14, [x14, #0x10]
             ldr     w15, [x0, #0x14]
+            ; gcrRegs -[x15]
             add     w12, w15, #1
             str     w12, [x0, #0x14]
             ldr     w12, [x14, #0x08]
@@ -72,8 +71,9 @@ G_M27287_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; byrRegs +[x14]
             ldr     w15, [x14, #0x0C]
             cmn     w15, #1
-            blt     G_M27287_IG03
-                       ;; size=56 bbWeight=2 PerfScore 43.00
+            bge     G_M27287_IG07
+            b       G_M27287_IG03
+                       ;; size=60 bbWeight=0.25 PerfScore 5.62
 G_M27287_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=4001 {x0 x14}, byref
             ldr     x15, [x14]
             ; gcrRegs +[x15]
@@ -101,7 +101,7 @@ G_M27287_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 188, prolog size 8, PerfScore 148.00, instruction count 47, allocated bytes for code 188 (MethodHash=08a69568) for method System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
+; Total bytes of code 184, prolog size 8, PerfScore 34.12, instruction count 46, allocated bytes for code 184 (MethodHash=08a69568) for method System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -112,7 +112,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 47 (0x0002f) Actual length = 188 (0x0000bc)
+  Function Length   : 46 (0x0002e) Actual length = 184 (0x0000b8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-2.13%) : 39319.dasm - System.Collections.Generic.Dictionary2+ValueCollection+Enumerator[System.ReadOnlyMemory1[ushort],System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:MoveNext():ubyte:this (Tier1)
@@ -7,12 +7,13 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 13, 28   )   byref  ->   x0         this single-def
+;  V00 this         [V00,T00] ( 12,  8.25)   byref  ->   x0         this single-def
 ;* V01 TypeCtx      [V01    ] (  0,  0   )    long  ->  zero-ref    single-def
-;  V02 loc0         [V02,T03] (  3,  4.50)   byref  ->  x13        
-;  V03 loc1         [V03,T02] (  4,  8   )     int  ->  x14        
+;  V02 loc0         [V02,T03] (  3,  1   )   byref  ->  x13        
+;  V03 loc1         [V03,T02] (  4,  1   )     int  ->  x14        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T01] (  3, 12   )     ref  ->  x13         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V05 tmp1         [V05,T01] (  3,  1.50)     ref  ->  x13         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V06 cse0         [V06,T04] (  3,  2.50)     int  ->  x14         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -30,7 +31,7 @@ G_M54618_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             cmp     w13, w14
             bne     G_M54618_IG10
                        ;; size=20 bbWeight=1 PerfScore 10.50
-G_M54618_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+G_M54618_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ldr     w13, [x0, #0x08]
             ldr     x14, [x0]
             ; gcrRegs +[x14]
@@ -38,28 +39,26 @@ G_M54618_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             ; gcrRegs -[x14]
             cmp     w13, w14
             blo     G_M54618_IG06
-                        ;; size=20 bbWeight=8 PerfScore 84.00
+                     ;; size=20 bbWeight=1 PerfScore 10.50
 G_M54618_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
-            ldr     x13, [x0]
-            ; gcrRegs +[x13]
-            ldr     w13, [x13, #0x38]
-            ; gcrRegs -[x13]
-            add     w13, w13, #1
+            add     w13, w14, #1
             str     w13, [x0, #0x08]
             str     xzr, [x0, #0x10]
             mov     w0, wzr
             ; byrRegs -[x0]
-                      ;; size=24 bbWeight=0.50 PerfScore 4.50
+                       ;; size=16 bbWeight=0.50 PerfScore 1.50
 G_M54618_IG05:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M54618_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, gcvars, byref, isz
+G_M54618_IG06:        ; bbWeight=0.25, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, gcvars, byref, isz
             ; byrRegs +[x0]
-            ldr     x13, [x0]
+            ldr     x14, [x0]
+            ; gcrRegs +[x14]
+            ldr     x13, [x14, #0x10]
             ; gcrRegs +[x13]
-            ldr     x13, [x13, #0x10]
             ldr     w14, [x0, #0x08]
+            ; gcrRegs -[x14]
             add     w12, w14, #1
             str     w12, [x0, #0x08]
             ldr     w12, [x13, #0x08]
@@ -72,8 +71,9 @@ G_M54618_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; byrRegs +[x13]
             ldr     w14, [x13, #0x04]
             cmn     w14, #1
-            blt     G_M54618_IG03
-                       ;; size=56 bbWeight=2 PerfScore 43.00
+            bge     G_M54618_IG07
+            b       G_M54618_IG03
+                       ;; size=60 bbWeight=0.25 PerfScore 5.62
 G_M54618_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2001 {x0 x13}, byref
             add     x13, x13, #24
             add     x14, x0, #16
@@ -101,7 +101,7 @@ G_M54618_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 188, prolog size 8, PerfScore 146.75, instruction count 47, allocated bytes for code 188 (MethodHash=f4d82aa5) for method System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:MoveNext():ubyte:this (Tier1)
+; Total bytes of code 184, prolog size 8, PerfScore 32.88, instruction count 46, allocated bytes for code 184 (MethodHash=f4d82aa5) for method System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:MoveNext():ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -112,7 +112,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 47 (0x0002f) Actual length = 188 (0x0000bc)
+  Function Length   : 46 (0x0002e) Actual length = 184 (0x0000b8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+53.33%) : 39519.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEFieldSymbol+PackedFlags:SetIsVolatile(ubyte):this (Tier1)
@@ -8,13 +8,13 @@
 ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  5, 10.50)   byref  ->   x0         this single-def
+;  V00 this         [V00,T01] (  7, 11.50)   byref  ->   x0         this single-def
 ;  V01 arg1         [V01,T03] (  3,  3   )   ubyte  ->   x1         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V04 tmp2         [V04,T04] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V05 tmp3         [V05,T00] (  5, 20   )     int  ->   x1         "Inline stloc first use temp"
-;  V06 tmp4         [V06,T02] (  3, 12   )     int  ->   x2         "Inline stloc first use temp"
+;  V05 tmp3         [V05,T00] ( 10, 22.50)     int  ->   x1         "Inline stloc first use temp"
+;  V06 tmp4         [V06,T02] (  6, 13.50)     int  ->   x2         "Inline stloc first use temp"
 ;
 ; Lcl frame size = 0
 
@@ -27,9 +27,17 @@ G_M50458_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             tst     w1, #255
             beq     G_M50458_IG05
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M50458_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+G_M50458_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ldrsb   wzr, [x0]
-                     ;; size=4 bbWeight=0.50 PerfScore 1.50
+            ldr     w1, [x0]
+            orr     w2, w1, #32
+            cmp     w2, w1
+            beq     G_M50458_IG05
+            mov     w3, w1
+            casal   w3, w2, [x0]
+            cmp     w3, w1
+            beq     G_M50458_IG05
+                       ;; size=36 bbWeight=0.50 PerfScore 6.50
 G_M50458_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ldr     w1, [x0]
             orr     w2, w1, #32
@@ -46,7 +54,7 @@ G_M50458_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 60, prolog size 8, PerfScore 46.50, instruction count 15, allocated bytes for code 60 (MethodHash=447b3ae5) for method Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEFieldSymbol+PackedFlags:SetIsVolatile(ubyte):this (Tier1)
+; Total bytes of code 92, prolog size 8, PerfScore 51.50, instruction count 23, allocated bytes for code 92 (MethodHash=447b3ae5) for method Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEFieldSymbol+PackedFlags:SetIsVolatile(ubyte):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -57,7 +65,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 15 (0x0000f) Actual length = 60 (0x00003c)
+  Function Length   : 23 (0x00017) Actual length = 92 (0x00005c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+48 (+54.55%) : 25029.dasm - System.Security.Cryptography.Pkcs.Pkcs12Kdf:AddPlusOne(System.Span1[ubyte],System.Span1[ubyte]) (Tier1)
@@ -9,15 +9,16 @@
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.Span`1[ubyte]>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.Span`1[ubyte]>
-;  V02 loc0         [V02,T04] (  3,  9   )     int  ->   x4        
-;  V03 loc1         [V03,T00] (  8, 26   )     int  ->   x5        
-;  V04 loc2         [V04,T02] (  3, 12   )     int  ->   x4        
+;  V02 loc0         [V02,T04] (  3,  9   )     int  ->   x5        
+;  V03 loc1         [V03,T00] ( 14, 32   )     int  ->   x4        
+;  V04 loc2         [V04,T02] (  6, 15   )     int  ->   x6        
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T03] (  3,  9   )   byref  ->   x0         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
-;  V07 tmp2         [V07,T05] (  3,  6   )     int  ->   x1         single-def "field V00._length (fldOffset=0x8)" P-INDEP
-;  V08 tmp3         [V08,T06] (  2,  5   )   byref  ->   x2         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
-;  V09 tmp4         [V09,T07] (  2,  5   )     int  ->   x3         single-def "field V01._length (fldOffset=0x8)" P-INDEP
-;  V10 cse0         [V10,T01] (  4, 16   )    long  ->   x6         "CSE - aggressive"
+;  V06 tmp1         [V06,T03] (  5, 11   )   byref  ->   x0         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
+;  V07 tmp2         [V07,T05] (  4,  7   )     int  ->   x1         single-def "field V00._length (fldOffset=0x8)" P-INDEP
+;  V08 tmp3         [V08,T06] (  3,  6   )   byref  ->   x2         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
+;  V09 tmp4         [V09,T07] (  3,  6   )     int  ->   x3         single-def "field V01._length (fldOffset=0x8)" P-INDEP
+;  V10 cse0         [V10,T01] (  4, 16   )    long  ->   x7         "CSE - aggressive"
+;  V11 cse1         [V11,T08] (  4,  4   )    long  ->   x5         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -27,24 +28,36 @@ G_M31293_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M31293_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
             ; byrRegs +[x0 x2]
-            mov     w4, #1
-            sub     w5, w1, #1
-            tbnz    w5, #31, G_M31293_IG04
-                       ;; size=12 bbWeight=1 PerfScore 2.00
+            sub     w4, w1, #1
+            tbnz    w4, #31, G_M31293_IG04
+            cmp     w4, w1
+            bhs     G_M31293_IG05
+            mov     w5, w4
+            ldrb    w6, [x0, x5]
+            add     w6, w6, #1
+            cmp     w4, w3
+            bhs     G_M31293_IG05
+            ldrb    w7, [x2, x5]
+            add     w6, w6, w7
+            strb    w6, [x0, x5]
+            asr     w5, w6, #8
+            sub     w4, w4, #1
+            tbnz    w4, #31, G_M31293_IG04
+                       ;; size=60 bbWeight=1 PerfScore 15.50
 G_M31293_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
-            cmp     w5, w1
+            cmp     w4, w1
             bhs     G_M31293_IG05
-            mov     w6, w5
-            ldrb    w7, [x0, x6]
-            add     w4, w7, w4
-            cmp     w5, w3
+            mov     w7, w4
+            ldrb    w6, [x0, x7]
+            add     w5, w6, w5
+            cmp     w4, w3
             bhs     G_M31293_IG05
-            ldrb    w7, [x2, x6]
-            add     w4, w4, w7
-            strb    w4, [x0, x6]
-            asr     w4, w4, #8
-            sub     w5, w5, #1
-            tbz     w5, #31, G_M31293_IG03
+            ldrb    w6, [x2, x7]
+            add     w6, w5, w6
+            strb    w6, [x0, x7]
+            asr     w5, w6, #8
+            sub     w4, w4, #1
+            tbz     w4, #31, G_M31293_IG03
                      ;; size=52 bbWeight=4 PerfScore 56.00
 G_M31293_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; byrRegs -[x0 x2]
@@ -57,7 +70,7 @@ G_M31293_IG05:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 88, prolog size 8, PerfScore 61.50, instruction count 22, allocated bytes for code 88 (MethodHash=218885c2) for method System.Security.Cryptography.Pkcs.Pkcs12Kdf:AddPlusOne(System.Span`1[ubyte],System.Span`1[ubyte]) (Tier1)
+; Total bytes of code 136, prolog size 8, PerfScore 75.00, instruction count 34, allocated bytes for code 136 (MethodHash=218885c2) for method System.Security.Cryptography.Pkcs.Pkcs12Kdf:AddPlusOne(System.Span`1[ubyte],System.Span`1[ubyte]) (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -68,7 +81,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 22 (0x00016) Actual length = 88 (0x000058)
+  Function Length   : 34 (0x00022) Actual length = 136 (0x000088)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+48 (+54.55%) : 9399.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:g_SumFrequencies|32(ushort[]):float (Tier1)
@@ -8,11 +8,11 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T03] (  3,  3   )     ref  ->   x0         class-hnd single-def <ushort[]>
-;  V01 loc0         [V01,T06] (  4,  6   )   float  ->   d0        
+;  V00 arg0         [V00,T04] (  3,  3   )     ref  ->   x0         class-hnd single-def <ushort[]>
+;  V01 loc0         [V01,T06] (  5,  6.50)   float  ->   d0        
 ;  V02 loc1         [V02,T05] (  3,  3   )     ref  ->   x0         class-hnd single-def <ushort[]>
-;  V03 loc2         [V03,T00] (  5, 17   )     int  ->   x1        
-;  V04 loc3         [V04,T01] (  3, 10   )  ushort  ->   x3        
+;  V03 loc2         [V03,T00] (  5, 17   )     int  ->   x2        
+;  V04 loc3         [V04,T01] (  6, 12.50)  ushort  ->  registers  
 ;* V05 loc4         [V05    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[float]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[float]>
@@ -20,8 +20,8 @@
 ;* V09 tmp3         [V09    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V10 tmp4         [V10    ] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
 ;* V11 tmp5         [V11    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
-;  V12 cse0         [V12,T04] (  2,  5   )   byref  ->   x0         hoist "CSE - aggressive"
-;  V13 cse1         [V13,T02] (  3,  6   )     int  ->   x2         "CSE - aggressive"
+;  V12 cse0         [V12,T02] (  4,  7   )     int  ->   x1         "CSE - aggressive"
+;  V13 cse1         [V13,T03] (  3,  6   )   byref  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -32,20 +32,36 @@ G_M18410_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M18410_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             movi    v0.16b, #0
-            mov     w1, wzr
-            ldr     w2, [x0, #0x08]
-            cmp     w2, #0
-            ble     G_M18410_IG06
+            ldr     w1, [x0, #0x08]
+            cmp     w1, #0
+            ble     G_M18410_IG08
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
-                      ;; size=24 bbWeight=1 PerfScore 6.00
-G_M18410_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
-            ldrh    w3, [x0, w1, UXTW #2]
+            ldrh    w2, [x0]
+            cmp     w2, #128
+            bge     G_M18410_IG04
+                       ;; size=32 bbWeight=1 PerfScore 10.00
+G_M18410_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+            ubfiz   x2, x2, #2, #32
+            movz    x3, #0xD1FFAB1E
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #1 LSL #32
+            ldr     s0, [x2, x3]
+            movi    v16.16b, #0
+            fadd    s0, s0, s16
+                       ;; size=28 bbWeight=0.50 PerfScore 4.50
+G_M18410_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            mov     w2, #1
+            cmp     w1, #1
+            ble     G_M18410_IG08
+                       ;; size=12 bbWeight=1 PerfScore 2.00
+G_M18410_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            ldrh    w3, [x0, w2, UXTW #2]
             cmp     w3, #128
-            bge     G_M18410_IG05
+            bge     G_M18410_IG07
                         ;; size=12 bbWeight=4 PerfScore 18.00
-G_M18410_IG04:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+G_M18410_IG06:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
             ubfiz   x3, x3, #2, #32
             movz    x4, #0xD1FFAB1E
             movk    x4, #0xD1FFAB1E LSL #16
@@ -53,18 +69,18 @@ G_M18410_IG04:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             ldr     s16, [x3, x4]
             fadd    s0, s0, s16
                        ;; size=24 bbWeight=2 PerfScore 17.00
-G_M18410_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
-            add     w1, w1, #1
-            cmp     w2, w1
-            bgt     G_M18410_IG03
+G_M18410_IG07:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            add     w2, w2, #1
+            cmp     w1, w2
+            bgt     G_M18410_IG05
                       ;; size=12 bbWeight=4 PerfScore 8.00
-G_M18410_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M18410_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; byrRegs -[x0]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 88, prolog size 8, PerfScore 52.50, instruction count 22, allocated bytes for code 88 (MethodHash=6cbdb815) for method System.Text.RegularExpressions.RegexPrefixAnalyzer:<SortFixedDistanceSetsByQuality>g__SumFrequencies|3_2(ushort[]):float (Tier1)
+; Total bytes of code 136, prolog size 8, PerfScore 63.00, instruction count 34, allocated bytes for code 136 (MethodHash=6cbdb815) for method System.Text.RegularExpressions.RegexPrefixAnalyzer:<SortFixedDistanceSetsByQuality>g__SumFrequencies|3_2(ushort[]):float (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -75,7 +91,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 22 (0x00016) Actual length = 88 (0x000058)
+  Function Length   : 34 (0x00022) Actual length = 136 (0x000088)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
coreclr_tests.run.osx.arm64.checked.mch
-36 (-17.65%) : 201552.dasm - Benchstone.BenchI.BubbleSort2:Bench():ubyte (FullOpts)
@@ -7,24 +7,22 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T06] (  5,  5   )     ref  ->   x0         class-hnd exact single-def <int[]>
-;  V01 loc1         [V01,T00] ( 12, 65.84)     int  ->  x19        
-;  V02 loc2         [V02,T01] (  8, 43   )     int  ->   x1        
-;* V03 loc3         [V03,T07] (  0,  0   )     int  ->  zero-ref    single-def
+;  V00 loc0         [V00,T03] (  5,  5   )     ref  ->   x0         class-hnd exact single-def <int[]>
+;  V01 loc1         [V01,T00] (  5, 16.84)     int  ->   x0        
+;  V02 loc2         [V02,T04] (  3,  3   )     int  ->   x1        
+;* V03 loc3         [V03,T05] (  0,  0   )     int  ->  zero-ref    single-def
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 cse0         [V05,T02] (  6, 32.92)   byref  ->  x20         hoist "CSE - aggressive"
-;  V06 cse1         [V06,T03] (  2, 16   )     int  ->   x2         "CSE - aggressive"
-;  V07 cse2         [V07,T04] (  2, 16   )     int  ->   x2         "CSE - aggressive"
-;  V08 cse3         [V08,T05] (  3, 11.88)     int  ->  x19         "CSE - aggressive"
+;  V05 cse0         [V05,T01] (  8, 13.92)   byref  ->  x19         "CSE - aggressive"
+;  V06 cse1         [V06,T02] (  3, 11.88)     int  ->   x0         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M42106_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x20]!
-            stp     x19, x20, [sp, #0x10]
+            str     x19, [sp, #0x18]
             mov     fp, sp
                        ;; size=12 bbWeight=1 PerfScore 2.50
-G_M42106_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42106_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -32,32 +30,16 @@ G_M42106_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_NEWARR_1_VC
             ; gcrRegs +[x0]
             ; gcr arg pop 0
+            add     x19, x0, #16
+            ; byrRegs +[x19]
+            mov     w1, #0xD1FFAB1E
+            str     w1, [x19, #0x04]
+            mov     w1, #0xD1FFAB1E
+            str     w1, [x19, #0x08]
+            mov     w1, #0xD1FFAB1E
+            str     w1, [x19, #0x0C]
             movz    w1, #0xD1FFAB1E
-            movk    w1, #1 LSL #16
-            mov     w19, #1
-            add     x20, x0, #16
-            ; byrRegs +[x20]
-                       ;; size=36 bbWeight=1 PerfScore 5.00
-G_M42106_IG03:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20}, byref, isz
-            and     w2, w1, #0xD1FFAB1E
-            str     w2, [x20, w19, UXTW #2]
-            add     w2, w19, #1
-            mov     w3, #0xD1FFAB1E
-            add     w3, w1, w3
-            and     w3, w3, #0xD1FFAB1E
-            str     w3, [x20, w2, UXTW #2]
-            add     w2, w19, #2
-            mov     w3, #0xD1FFAB1E
-            add     w3, w1, w3
-            and     w3, w3, #0xD1FFAB1E
-            str     w3, [x20, w2, UXTW #2]
-            mov     w2, #0xD1FFAB1E
-            add     w1, w1, w2
-            add     w19, w19, #3
-            cmp     w19, #3
-            ble     G_M42106_IG03
-                       ;; size=68 bbWeight=8 PerfScore 84.00
-G_M42106_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20}, byref
+            movk    w1, #2 LSL #16
             stp     w1, w1, [x0, #0x20]
             movz    x1, #0xD1FFAB1E      // code for Benchstone.BenchI.BubbleSort2:Inner(int[])
             movk    x1, #0xD1FFAB1E LSL #16
@@ -66,36 +48,39 @@ G_M42106_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20},
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            mov     w19, wzr
-                       ;; size=28 bbWeight=1 PerfScore 7.00
-G_M42106_IG05:        ; bbWeight=3.96, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
-            ldr     w0, [x20, w19, UXTW #2]
-            add     w19, w19, #1
-            ldr     w1, [x20, w19, UXTW #2]
+            ldp     w0, w1, [x19]
             cmp     w0, w1
-            bgt     G_M42106_IG08
-            cmp     w19, #4
-            blt     G_M42106_IG05
+            bgt     G_M42106_IG06
+            mov     w0, #1
+                       ;; size=96 bbWeight=1 PerfScore 20.50
+G_M42106_IG03:        ; bbWeight=3.96, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
+            ldr     w1, [x19, w0, UXTW #2]
+            add     w0, w0, #1
+            ldr     w2, [x19, w0, UXTW #2]
+            cmp     w1, w2
+            bgt     G_M42106_IG06
+            cmp     w0, #4
+            blt     G_M42106_IG03
                       ;; size=28 bbWeight=3.96 PerfScore 37.62
-G_M42106_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x20]
+G_M42106_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x19]
             mov     w0, #1
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M42106_IG07:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x19, x20, [sp, #0x10]
+G_M42106_IG05:        ; bbWeight=0.50, epilog, nogc, extend
+            ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
-                       ;; size=12 bbWeight=0.50 PerfScore 1.50
-G_M42106_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M42106_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M42106_IG09:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x19, x20, [sp, #0x10]
+G_M42106_IG07:        ; bbWeight=0.50, epilog, nogc, extend
+            ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
-                       ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 204, prolog size 12, PerfScore 139.87, instruction count 51, allocated bytes for code 204 (MethodHash=86305b85) for method Benchstone.BenchI.BubbleSort2:Bench():ubyte (FullOpts)
+; Total bytes of code 168, prolog size 12, PerfScore 65.37, instruction count 42, allocated bytes for code 168 (MethodHash=86305b85) for method Benchstone.BenchI.BubbleSort2:Bench():ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -106,7 +91,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 51 (0x00033) Actual length = 204 (0x0000cc)
+  Function Length   : 42 (0x0002a) Actual length = 168 (0x0000a8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -117,7 +102,7 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
     83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
     E4          end
     E4          end
  
-12 (-15.79%) : 254217.dasm - ILGEN_0xa2afe952:Main():int (FullOpts)
@@ -9,53 +9,46 @@
 ;
 ;# V00 OutArgs      [V00    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V01 tmp1         [V01    ] (  0,  0   )     int  ->  zero-ref   
-;  V02 tmp2         [V02,T01] (  4, 25   )     int  ->   x0        
-;  V03 tmp3         [V03,T00] (  2, 32   )     int  ->   x0         "dup spill"
+;* V02 tmp2         [V02,T01] (  0,  0   )     int  ->  zero-ref   
+;* V03 tmp3         [V03,T02] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;* V04 tmp4         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
-;  V05 PSPSym       [V05,T02] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
+;  V05 PSPSym       [V05,T00] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
 ;
 ; Lcl frame size = 16
 
-G_M9138_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
+G_M9138_IG01:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x20]!
             mov     fp, sp
             add     x0, sp, #32
             str     x0, [fp, #0x18]    // [V05 PSPSym]
-                       ;; size=16 bbWeight=1 PerfScore 3.00
-G_M9138_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #1
-                       ;; size=4 bbWeight=1 PerfScore 0.50
-G_M9138_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            sub     w0, w0, #1
-            cbnz    w0, G_M9138_IG03
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M9138_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=16 bbWeight=0 PerfScore 0.00
+G_M9138_IG02:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #1
             bl      CORINFO_HELP_OVERFLOW
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=12 bbWeight=0 PerfScore 0.00
-G_M9138_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M9138_IG03:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #100
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M9138_IG06:        ; bbWeight=0, epilog, nogc, extend
+G_M9138_IG04:        ; bbWeight=0, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=8 bbWeight=0 PerfScore 0.00
-G_M9138_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M9138_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x20]!
             add     x3, fp, #32
             str     x3, [sp, #0x18]
                        ;; size=12 bbWeight=0 PerfScore 0.00
-G_M9138_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            adr     x0, [G_M9138_IG05]
+G_M9138_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            adr     x0, [G_M9138_IG03]
                      ;; size=4 bbWeight=0 PerfScore 0.00
-G_M9138_IG09:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M9138_IG07:        ; bbWeight=0, funclet epilog, nogc, extend
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 76, prolog size 16, PerfScore 15.50, instruction count 19, allocated bytes for code 76 (MethodHash=5517dc4d) for method ILGEN_0xa2afe952:Main():int (FullOpts)
+; Total bytes of code 64, prolog size 16, PerfScore 0.00, instruction count 16, allocated bytes for code 64 (MethodHash=5517dc4d) for method ILGEN_0xa2afe952:Main():int (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -66,7 +59,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 13 (0x0000d) Actual length = 52 (0x000034)
+  Function Length   : 10 (0x0000a) Actual length = 40 (0x000028)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -97,4 +90,4 @@ Unwind Info:
 
 *************** EH table for ILGEN_0xa2afe952:Main():int
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M9138_IG02..G_M9138_IG05) handled by [G_M9138_IG07..END) (class: 1000003)
+EH#0: try [G_M9138_IG02..G_M9138_IG03) handled by [G_M9138_IG05..END) (class: 1000003)
  
-40 (-14.49%) : 440622.dasm - BringUpTest_LocallocCnstB1_PSP:LocallocCnstB1_PSP():int (Tier0-FullOpts)
@@ -7,39 +7,37 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T01] (  3, 10   )    long  ->  x19         single-def
-;  V01 loc1         [V01,T00] (  7, 42   )     int  ->  [fp+0x1C]  do-not-enreg[Z] EH-live ptr
+;  V00 loc0         [V00,T01] (  3,  3   )    long  ->   x0         single-def
+;  V01 loc1         [V01,T00] (  3,  3   )     int  ->  [fp+0x14]  do-not-enreg[Z] EH-live ptr
 ;* V02 loc2         [V02    ] (  0,  0   )     int  ->  zero-ref    ptr
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04    ] (  1,  1   )  struct ( 8) [fp+0x20]  do-not-enreg[XS] must-init addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
+;  V04 tmp1         [V04    ] (  1,  1   )  struct ( 8) [fp+0x18]  do-not-enreg[XS] must-init addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
 ;* V05 tmp2         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
-;  V06 GsCookie     [V06    ] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
-;  V07 PSPSym       [V07,T02] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
+;  V06 GsCookie     [V06    ] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
+;  V07 PSPSym       [V07,T02] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 32
 
 G_M42836_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            str     x19, [sp, #0x38]
+            stp     fp, lr, [sp, #-0x30]!
             mov     fp, sp
-            str     xzr, [fp, #0x20]    // [V04 tmp1]
-            add     x0, sp, #64
-            str     x0, [fp, #0x30]    // [V07 PSPSym]
+            str     xzr, [fp, #0x18]   // [V04 tmp1]
+            add     x0, sp, #48
+            str     x0, [fp, #0x28]    // [V07 PSPSym]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movk    x0, #0xD1FFAB1E LSL #48
-            str     x0, [fp, #0x28]   // [V06 GsCookie]
-                       ;; size=44 bbWeight=1 PerfScore 8.00
+            str     x0, [fp, #0x20]   // [V06 GsCookie]
+                       ;; size=40 bbWeight=1 PerfScore 7.00
 G_M42836_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x19, fp, #32   // [V04 tmp1]
-            strb    wzr, [x19]
-            str     wzr, [fp, #0x1C]   // [V01 loc1]
+            add     x0, fp, #24  // [V04 tmp1]
+            strb    wzr, [x0]
+            str     wzr, [fp, #0x14]   // [V01 loc1]
                        ;; size=12 bbWeight=1 PerfScore 2.50
-G_M42836_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ldr     w0, [fp, #0x1C]    // [V01 loc1]
-            ldrb    w0, [x19, w0, SXTW #2]
-            ldrb    w1, [fp, #0x1C]    // [V01 loc1]
+G_M42836_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            ldrb    w0, [x0]
+            mov     w1, wzr
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
@@ -47,53 +45,46 @@ G_M42836_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             blr     x2
             ; gcr arg pop 0
             cbz     w0, G_M42836_IG06
-            ldr     w0, [fp, #0x1C] // [V01 loc1]
-            add     w0, w0, #1
-            str     w0, [fp, #0x1C]    // [V01 loc1]
-            ldr     w0, [fp, #0x1C]    // [V01 loc1]
-            cmp     w0, #0
-            ble     G_M42836_IG03
-                       ;; size=60 bbWeight=8 PerfScore 164.00
+            mov     w0, #1
+            str     w0, [fp, #0x14]    // [V01 loc1]
+                       ;; size=40 bbWeight=1 PerfScore 11.50
 G_M42836_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             movn    w0, #0
             movz    xip0, #0xD1FFAB1E
             movk    xip0, #0xD1FFAB1E LSL #16
             movk    xip0, #0xD1FFAB1E LSL #32
             movk    xip0, #0xD1FFAB1E LSL #48
-            ldr     xip1, [fp, #0x28]   // [V06 GsCookie]
+            ldr     xip1, [fp, #0x20]    // [V06 GsCookie]
             cmp     xip0, xip1
             beq     G_M42836_IG05
             bl      CORINFO_HELP_FAIL_FAST
             ; gcr arg pop 0
                        ;; size=36 bbWeight=1 PerfScore 7.00
 G_M42836_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldr     x19, [sp, #0x38]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=12 bbWeight=1 PerfScore 4.00
+                      ;; size=8 bbWeight=1 PerfScore 2.00
 G_M42836_IG06:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldr     w0, [fp, #0x1C]    // [V01 loc1]
+            ldr     w0, [fp, #0x14]  // [V01 loc1]
             movz    xip0, #0xD1FFAB1E
             movk    xip0, #0xD1FFAB1E LSL #16
             movk    xip0, #0xD1FFAB1E LSL #32
             movk    xip0, #0xD1FFAB1E LSL #48
-            ldr     xip1, [fp, #0x28]   // [V06 GsCookie]
+            ldr     xip1, [fp, #0x20]    // [V06 GsCookie]
             cmp     xip0, xip1
             beq     G_M42836_IG07
             bl      CORINFO_HELP_FAIL_FAST
             ; gcr arg pop 0
                        ;; size=36 bbWeight=1 PerfScore 8.50
 G_M42836_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldr     x19, [sp, #0x38]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=12 bbWeight=1 PerfScore 4.00
+                      ;; size=8 bbWeight=1 PerfScore 2.00
 G_M42836_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x20]!
-            str     x19, [sp, #0x18]
-            add     x3, fp, #64
-            str     x3, [sp, #0x10]
-                       ;; size=16 bbWeight=0 PerfScore 0.00
+            add     x3, fp, #48
+            str     x3, [sp, #0x18]
+                       ;; size=12 bbWeight=0 PerfScore 0.00
 G_M42836_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -107,23 +98,22 @@ G_M42836_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             adr     x0, [G_M42836_IG06]
                        ;; size=36 bbWeight=0 PerfScore 0.00
 G_M42836_IG10:        ; bbWeight=0, funclet epilog, nogc, extend
-            ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
-                       ;; size=12 bbWeight=0 PerfScore 0.00
+                      ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 276, prolog size 44, PerfScore 198.00, instruction count 69, allocated bytes for code 276 (MethodHash=452858ab) for method BringUpTest_LocallocCnstB1_PSP:LocallocCnstB1_PSP():int (Tier0-FullOpts)
+; Total bytes of code 236, prolog size 40, PerfScore 40.50, instruction count 59, allocated bytes for code 236 (MethodHash=452858ab) for method BringUpTest_LocallocCnstB1_PSP:LocallocCnstB1_PSP():int (Tier0-FullOpts)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 2
+  Code Words        : 1
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 53 (0x00035) Actual length = 212 (0x0000d4)
+  Function Length   : 45 (0x0002d) Actual length = 180 (0x0000b4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -134,10 +124,7 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 07       save_reg X#0 Z#7 (0x07); str x19, [sp, #56]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
-    E4          end
-    E4          end
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
 
@@ -149,13 +136,14 @@ Unwind Info:
   E bit             : 1
   X bit             : 0
   Vers              : 0
-  Function Length   : 16 (0x00010) Actual length = 64 (0x000040)
+  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
   --- One epilog, unwind codes at 0
   ---- Unwind codes ----
     ---- Epilog start at index 0 ----
-    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
     83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
     E4          end
+    E4          end
+    E4          end
 
 *************** EH table for BringUpTest_LocallocCnstB1_PSP:LocallocCnstB1_PSP():int
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
  
+24 (+60.00%) : 573708.dasm - Internal.TypeSystem.ThreadSafeFlags:AddFlags(int):this (Tier1)
@@ -8,9 +8,9 @@
 ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 56784
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  4,  4   )   byref  ->   x0         this single-def
-;  V01 arg1         [V01,T01] (  3,  3   )     int  ->   x1         single-def
-;  V02 loc0         [V02,T02] (  4,  4   )     int  ->   x2        
+;  V00 this         [V00,T01] (  6,  6   )   byref  ->   x0         this single-def
+;  V01 arg1         [V01,T02] (  4,  4   )     int  ->   x1         single-def
+;  V02 loc0         [V02,T00] (  8,  8   )     int  ->   x2        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -26,14 +26,23 @@ G_M63594_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             mov     w4, w2
             casal   w4, w3, [x0]
             cmp     w4, w2
-            bne     G_M63594_IG02
+            beq     G_M63594_IG04
                        ;; size=24 bbWeight=1 PerfScore 8.50
-G_M63594_IG03:        ; bbWeight=1, epilog, nogc, extend
+G_M63594_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            ldapr   w2, [x0]
+            orr     w3, w2, w1
+            mov     w4, w2
+            casal   w4, w3, [x0]
+            cmp     w4, w2
+            bne     G_M63594_IG03
+                       ;; size=24 bbWeight=1 PerfScore 8.50
+G_M63594_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ; byrRegs -[x0]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 40, prolog size 8, PerfScore 12.00, instruction count 10, allocated bytes for code 40 (MethodHash=749f0795) for method Internal.TypeSystem.ThreadSafeFlags:AddFlags(int):this (Tier1)
+; Total bytes of code 64, prolog size 8, PerfScore 20.50, instruction count 16, allocated bytes for code 64 (MethodHash=749f0795) for method Internal.TypeSystem.ThreadSafeFlags:AddFlags(int):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -44,7 +53,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 10 (0x0000a) Actual length = 40 (0x000028)
+  Function Length   : 16 (0x00010) Actual length = 64 (0x000040)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+36 (+64.29%) : 309621.dasm - OVFTest:Test_sbyte(byte):byte (FullOpts)
@@ -7,9 +7,9 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  4, 18   )    byte  ->   x0        
+;  V00 arg0         [V00,T01] (  6, 20   )    byte  ->   x0        
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V02 tmp1         [V02,T00] (  2, 32   )     int  ->   x0         "arg temp"
+;  V02 tmp1         [V02,T00] (  4, 36   )     int  ->   x0         "arg temp"
 ;
 ; Lcl frame size = 0
 
@@ -17,7 +17,7 @@ G_M25186_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M25186_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M25186_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             sxtb    w0, w0
             scvtf   d0, w0
             fmov    d16, #2.0000
@@ -25,18 +25,30 @@ G_M25186_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             bl      CORINFO_HELP_DBL2INT_OVF
             ; gcr arg pop 0
             cmp     w0, #127
-            bgt     G_M25186_IG03
+            bgt     G_M25186_IG04
             cmn     w0, #128
-            blt     G_M25186_IG03
-            b       G_M25186_IG02
+            blt     G_M25186_IG04
+                       ;; size=36 bbWeight=1 PerfScore 12.00
+G_M25186_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            sxtb    w0, w0
+            scvtf   d0, w0
+            fmov    d16, #2.0000
+            fmul    d0, d0, d16
+            bl      CORINFO_HELP_DBL2INT_OVF
+            ; gcr arg pop 0
+            cmp     w0, #127
+            bgt     G_M25186_IG04
+            cmn     w0, #128
+            blt     G_M25186_IG04
+            b       G_M25186_IG03
                       ;; size=40 bbWeight=8 PerfScore 104.00
-G_M25186_IG03:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25186_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_OVERFLOW
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 56, prolog size 8, PerfScore 105.50, instruction count 14, allocated bytes for code 56 (MethodHash=93bb9d9d) for method OVFTest:Test_sbyte(byte):byte (FullOpts)
+; Total bytes of code 92, prolog size 8, PerfScore 117.50, instruction count 23, allocated bytes for code 92 (MethodHash=93bb9d9d) for method OVFTest:Test_sbyte(byte):byte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -47,7 +59,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
+  Function Length   : 23 (0x00017) Actual length = 92 (0x00005c)
   ---- Epilog scopes ----
   No epilogs
   ---- Unwind codes ----
  
+36 (+64.29%) : 309622.dasm - OVFTest:Test_short(short):short (FullOpts)
@@ -7,9 +7,9 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  4, 18   )   short  ->   x0        
+;  V00 arg0         [V00,T01] (  6, 20   )   short  ->   x0        
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V02 tmp1         [V02,T00] (  2, 32   )     int  ->   x0         "arg temp"
+;  V02 tmp1         [V02,T00] (  4, 36   )     int  ->   x0         "arg temp"
 ;
 ; Lcl frame size = 0
 
@@ -17,7 +17,7 @@ G_M33961_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M33961_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M33961_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             sxth    w0, w0
             scvtf   d0, w0
             fmov    d16, #2.0000
@@ -25,18 +25,30 @@ G_M33961_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             bl      CORINFO_HELP_DBL2INT_OVF
             ; gcr arg pop 0
             cmp     w0, #8, LSL #12
-            bge     G_M33961_IG03
+            bge     G_M33961_IG04
             cmn     w0, #8, LSL #12
-            blt     G_M33961_IG03
-            b       G_M33961_IG02
+            blt     G_M33961_IG04
+                       ;; size=36 bbWeight=1 PerfScore 12.00
+G_M33961_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            sxth    w0, w0
+            scvtf   d0, w0
+            fmov    d16, #2.0000
+            fmul    d0, d0, d16
+            bl      CORINFO_HELP_DBL2INT_OVF
+            ; gcr arg pop 0
+            cmp     w0, #8, LSL #12
+            bge     G_M33961_IG04
+            cmn     w0, #8, LSL #12
+            blt     G_M33961_IG04
+            b       G_M33961_IG03
                       ;; size=40 bbWeight=8 PerfScore 104.00
-G_M33961_IG03:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M33961_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_OVERFLOW
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 56, prolog size 8, PerfScore 105.50, instruction count 14, allocated bytes for code 56 (MethodHash=082c7b56) for method OVFTest:Test_short(short):short (FullOpts)
+; Total bytes of code 92, prolog size 8, PerfScore 117.50, instruction count 23, allocated bytes for code 92 (MethodHash=082c7b56) for method OVFTest:Test_short(short):short (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -47,7 +59,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
+  Function Length   : 23 (0x00017) Actual length = 92 (0x00005c)
   ---- Epilog scopes ----
   No epilogs
   ---- Unwind codes ----
  
  
libraries.crossgen2.osx.arm64.checked.mch
-20 (-12.20%) : 25751.dasm - System.Reflection.Emit.RuntimeTypeBuilder:IsSubclassOf(System.Type):ubyte:this (FullOpts)
@@ -9,22 +9,19 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T02] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Reflection.Emit.RuntimeTypeBuilder>
-;  V01 arg1         [V01,T01] (  4,  5   )     ref  ->  x19         class-hnd single-def <System.Type>
-;  V02 loc0         [V02,T00] (  6, 16   )     ref  ->  x20         class-hnd <System.Type>
+;  V01 arg1         [V01,T01] (  4,  3.50)     ref  ->  x19         class-hnd single-def <System.Type>
+;  V02 loc0         [V02,T00] (  6,  5.50)     ref  ->  x20         class-hnd <System.Type>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 cse0         [V04,T03] (  2,  5   )    long  ->  x22         hoist "CSE - aggressive"
-;  V05 cse1         [V05,T04] (  3,  4   )    long  ->  x21         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M24270_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
+            stp     fp, lr, [sp, #-0x20]!
             stp     x19, x20, [sp, #0x10]
-            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=20 bbWeight=1 PerfScore 4.00
+                      ;; size=16 bbWeight=1 PerfScore 3.00
 G_M24270_IG02:        ; bbWeight=1, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             mov     x20, x0
@@ -32,68 +29,62 @@ G_M24270_IG02:        ; bbWeight=1, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {},
             mov     x1, x19
             ; gcrRegs +[x1]
             mov     x0, x20
-            adrp    x21, [HIGH RELOC #0xD1FFAB1E]      // function address
-            add     x21, x21, [LOW RELOC #0xD1FFAB1E]
-            mov     x11, x21
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
-            cbz     w0, G_M24270_IG05
-                       ;; size=36 bbWeight=1 PerfScore 8.00
+            cbz     w0, G_M24270_IG06
+                       ;; size=32 bbWeight=1 PerfScore 7.50
 G_M24270_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19-x20]
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M24270_IG04:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                      ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M24270_IG05:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
+                     ;; size=12 bbWeight=0.50 PerfScore 1.50
+G_M24270_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x19-x20]
-            adrp    x22, [HIGH RELOC #0xD1FFAB1E]
-            add     x22, x22, [LOW RELOC #0xD1FFAB1E]
-            b       G_M24270_IG07
-                       ;; size=12 bbWeight=1 PerfScore 2.00
-G_M24270_IG06:        ; bbWeight=2, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             mov     x1, x19
             ; gcrRegs +[x1]
             mov     x0, x20
             ; gcrRegs +[x0]
-            mov     x11, x21
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
-            cbnz    w0, G_M24270_IG09
-                       ;; size=24 bbWeight=2 PerfScore 13.00
-G_M24270_IG07:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
+            cbnz    w0, G_M24270_IG08
+                       ;; size=28 bbWeight=0.50 PerfScore 3.50
+G_M24270_IG06:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             mov     x0, x20
             ; gcrRegs +[x0]
-            mov     x11, x22
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             ; gcrRegs -[x20]
             mov     x20, x0
             ; gcrRegs +[x20]
-            cbnz    x20, G_M24270_IG06
-                       ;; size=28 bbWeight=4 PerfScore 38.00
-G_M24270_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            cbnz    x20, G_M24270_IG05
+                       ;; size=32 bbWeight=1 PerfScore 10.00
+G_M24270_IG07:        ; bbWeight=0.12, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0 x19-x20]
             b       G_M24270_IG03
-                        ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M24270_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M24270_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #1
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M24270_IG10:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
+G_M24270_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                      ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 164, prolog size 16, PerfScore 70.00, instruction count 41, allocated bytes for code 164 (MethodHash=dc34a131) for method System.Reflection.Emit.RuntimeTypeBuilder:IsSubclassOf(System.Type):ubyte:this (FullOpts)
+; Total bytes of code 144, prolog size 12, PerfScore 27.62, instruction count 36, allocated bytes for code 144 (MethodHash=dc34a131) for method System.Reflection.Emit.RuntimeTypeBuilder:IsSubclassOf(System.Type):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -104,7 +95,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 41 (0x00029) Actual length = 164 (0x0000a4)
+  Function Length   : 36 (0x00024) Actual length = 144 (0x000090)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -115,9 +106,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
     C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
     E4          end
     E4          end
     E4          end
  
-20 (-12.20%) : 212700.dasm - System.Reflection.Emit.TypeBuilderImpl:IsSubclassOf(System.Type):ubyte:this (FullOpts)
@@ -9,22 +9,19 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T02] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Reflection.Emit.TypeBuilderImpl>
-;  V01 arg1         [V01,T01] (  4,  5   )     ref  ->  x19         class-hnd single-def <System.Type>
-;  V02 loc0         [V02,T00] (  6, 16   )     ref  ->  x20         class-hnd <System.Type>
+;  V01 arg1         [V01,T01] (  4,  3.50)     ref  ->  x19         class-hnd single-def <System.Type>
+;  V02 loc0         [V02,T00] (  6,  5.50)     ref  ->  x20         class-hnd <System.Type>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 cse0         [V04,T03] (  2,  5   )    long  ->  x22         hoist "CSE - aggressive"
-;  V05 cse1         [V05,T04] (  3,  4   )    long  ->  x21         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M45834_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
+            stp     fp, lr, [sp, #-0x20]!
             stp     x19, x20, [sp, #0x10]
-            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=20 bbWeight=1 PerfScore 4.00
+                      ;; size=16 bbWeight=1 PerfScore 3.00
 G_M45834_IG02:        ; bbWeight=1, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             mov     x20, x0
@@ -32,68 +29,62 @@ G_M45834_IG02:        ; bbWeight=1, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {},
             mov     x1, x19
             ; gcrRegs +[x1]
             mov     x0, x20
-            adrp    x21, [HIGH RELOC #0xD1FFAB1E]      // function address
-            add     x21, x21, [LOW RELOC #0xD1FFAB1E]
-            mov     x11, x21
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
-            cbz     w0, G_M45834_IG05
-                       ;; size=36 bbWeight=1 PerfScore 8.00
+            cbz     w0, G_M45834_IG06
+                       ;; size=32 bbWeight=1 PerfScore 7.50
 G_M45834_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19-x20]
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M45834_IG04:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                      ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M45834_IG05:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
+                     ;; size=12 bbWeight=0.50 PerfScore 1.50
+G_M45834_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x19-x20]
-            adrp    x22, [HIGH RELOC #0xD1FFAB1E]
-            add     x22, x22, [LOW RELOC #0xD1FFAB1E]
-            b       G_M45834_IG07
-                       ;; size=12 bbWeight=1 PerfScore 2.00
-G_M45834_IG06:        ; bbWeight=2, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             mov     x1, x19
             ; gcrRegs +[x1]
             mov     x0, x20
             ; gcrRegs +[x0]
-            mov     x11, x21
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
-            cbnz    w0, G_M45834_IG09
-                       ;; size=24 bbWeight=2 PerfScore 13.00
-G_M45834_IG07:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
+            cbnz    w0, G_M45834_IG08
+                       ;; size=28 bbWeight=0.50 PerfScore 3.50
+G_M45834_IG06:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             mov     x0, x20
             ; gcrRegs +[x0]
-            mov     x11, x22
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             ; gcrRegs -[x20]
             mov     x20, x0
             ; gcrRegs +[x20]
-            cbnz    x20, G_M45834_IG06
-                       ;; size=28 bbWeight=4 PerfScore 38.00
-G_M45834_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            cbnz    x20, G_M45834_IG05
+                       ;; size=32 bbWeight=1 PerfScore 10.00
+G_M45834_IG07:        ; bbWeight=0.12, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0 x19-x20]
             b       G_M45834_IG03
-                        ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M45834_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M45834_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #1
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M45834_IG10:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
+G_M45834_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                      ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 164, prolog size 16, PerfScore 70.00, instruction count 41, allocated bytes for code 164 (MethodHash=83464cf5) for method System.Reflection.Emit.TypeBuilderImpl:IsSubclassOf(System.Type):ubyte:this (FullOpts)
+; Total bytes of code 144, prolog size 12, PerfScore 27.62, instruction count 36, allocated bytes for code 144 (MethodHash=83464cf5) for method System.Reflection.Emit.TypeBuilderImpl:IsSubclassOf(System.Type):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -104,7 +95,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 41 (0x00029) Actual length = 164 (0x0000a4)
+  Function Length   : 36 (0x00024) Actual length = 144 (0x000090)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -115,9 +106,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
     C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
     E4          end
     E4          end
     E4          end
  
-20 (-10.42%) : 223703.dasm - System.IO.Packaging.XmlCompatibilityReader:SkipToKnownAttribute():ubyte:this (FullOpts)
@@ -9,45 +9,35 @@
 ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  7, 17   )     ref  ->  x19         this class-hnd single-def <System.IO.Packaging.XmlCompatibilityReader>
-;  V01 loc0         [V01,T04] (  4,  6   )   ubyte  ->  x20        
+;  V00 this         [V00,T00] (  7,  4.75)     ref  ->  x19         this class-hnd single-def <System.IO.Packaging.XmlCompatibilityReader>
+;  V01 loc0         [V01,T03] (  4,  2.50)   ubyte  ->  x20        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T01] (  2, 16   )     ref  ->   x1         "argument with side effect"
-;  V04 tmp2         [V04,T02] (  2, 16   )     ref  ->   x1         "argument with side effect"
-;  V05 cse0         [V05,T03] (  3,  7   )    long  ->  x21         hoist "CSE - aggressive"
-;  V06 cse1         [V06,T05] (  2,  5   )    long  ->  x22         hoist "CSE - aggressive"
-;  V07 cse2         [V07,T06] (  2,  5   )    long  ->  x23         hoist "CSE - aggressive"
-;  V08 cse3         [V08,T07] (  2,  5   )    long  ->  x24         hoist "CSE - aggressive"
+;  V03 tmp1         [V03,T01] (  2,  2   )     ref  ->   x1         "argument with side effect"
+;  V04 tmp2         [V04,T02] (  2,  2   )     ref  ->   x1         "argument with side effect"
+;  V05 cse0         [V05,T04] (  3,  1.75)    long  ->  x21         hoist "CSE - moderate"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M42349_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x10]
-            stp     x21, x22, [sp, #0x20]
-            stp     x23, x24, [sp, #0x30]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
-                     ;; size=24 bbWeight=1 PerfScore 5.00
+                      ;; size=20 bbWeight=1 PerfScore 4.00
 G_M42349_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             mov     w20, #1
             ldrsb   wzr, [x19]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ldr     x21, [x0]
-            adrp    x22, [HIGH RELOC #0xD1FFAB1E]
-            add     x22, x22, [LOW RELOC #0xD1FFAB1E]
-            adrp    x23, [HIGH RELOC #0xD1FFAB1E]
-            add     x23, x23, [LOW RELOC #0xD1FFAB1E]
-            adrp    x24, [HIGH RELOC #0xD1FFAB1E]
-            add     x24, x24, [LOW RELOC #0xD1FFAB1E]
             b       G_M42349_IG04
-                       ;; size=48 bbWeight=1 PerfScore 11.50
-G_M42349_IG03:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+                     ;; size=24 bbWeight=1 PerfScore 8.50
+G_M42349_IG03:        ; bbWeight=0.25, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x19, x21]
             ; gcrRegs +[x0]
-            adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     wzr, [x0]
             ldr     x1, [x11]
@@ -55,43 +45,45 @@ G_M42349_IG03:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs -[x0]
             sxtw    w20, w0
             cbz     w20, G_M42349_IG05
-                       ;; size=32 bbWeight=2 PerfScore 25.00
-G_M42349_IG04:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+                     ;; size=32 bbWeight=0.25 PerfScore 3.12
+G_M42349_IG04:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x19, x21]
             ; gcrRegs +[x0]
-            mov     x11, x22
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             mov     x1, x0
             ; gcrRegs +[x1]
             mov     x0, x19
-            mov     x11, x23
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x1]
             mov     x1, x0
             ; gcrRegs +[x1]
             mov     x0, x19
-            mov     x11, x24
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
             cbnz    w0, G_M42349_IG03
-                        ;; size=64 bbWeight=4 PerfScore 90.00
+                     ;; size=76 bbWeight=0.50 PerfScore 12.00
 G_M42349_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
             mov     w0, w20
                        ;; size=4 bbWeight=1 PerfScore 0.50
 G_M42349_IG06:        ; bbWeight=1, epilog, nogc, extend
-            ldp     x23, x24, [sp, #0x30]
-            ldp     x21, x22, [sp, #0x20]
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x40
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=20 bbWeight=1 PerfScore 5.00
+                      ;; size=16 bbWeight=1 PerfScore 5.00
 
-; Total bytes of code 192, prolog size 20, PerfScore 137.00, instruction count 48, allocated bytes for code 192 (MethodHash=3b875a92) for method System.IO.Packaging.XmlCompatibilityReader:SkipToKnownAttribute():ubyte:this (FullOpts)
+; Total bytes of code 172, prolog size 16, PerfScore 33.12, instruction count 43, allocated bytes for code 172 (MethodHash=3b875a92) for method System.IO.Packaging.XmlCompatibilityReader:SkipToKnownAttribute():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -102,7 +94,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 48 (0x00030) Actual length = 192 (0x0000c0)
+  Function Length   : 43 (0x0002b) Actual length = 172 (0x0000ac)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -110,10 +102,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
-    E6          save_next
-    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
+    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
 
  
+44 (+64.71%) : 209779.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
@@ -8,14 +8,16 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  7, 23   )     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]>
-;  V01 arg1         [V01,T00] (  6, 26   )     int  ->   x1        
+;  V00 this         [V00,T02] ( 11, 25.50)     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]>
+;  V01 arg1         [V01,T00] ( 10, 29   )     int  ->   x1        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T06] (  2, 16   )     int  ->   x1         "arg temp"
-;  V04 tmp2         [V04,T04] (  2, 16   )     ref  ->   x0         single-def "arg temp"
-;  V05 tmp3         [V05,T05] (  2, 16   )     ref  ->   x0         single-def "arg temp"
+;  V03 tmp1         [V03,T06] (  4, 18   )     int  ->   x1         "arg temp"
+;  V04 tmp2         [V04,T04] (  4, 18   )     ref  ->   x0         "arg temp"
+;  V05 tmp3         [V05,T05] (  4, 18   )     ref  ->   x0         "arg temp"
 ;  V06 cse0         [V06,T01] (  4, 28   )     int  ->   x3         "CSE - aggressive"
-;  V07 cse1         [V07,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  4,  3.50)     int  ->   x3         "CSE - aggressive"
+;  V08 cse2         [V08,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V09 cse3         [V09,T08] (  3,  2.50)     ref  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -23,42 +25,65 @@ G_M17963_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M17963_IG02:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M17963_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x2, [x0, #0x10]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x20]
             cmp     w1, w3
             bge     G_M17963_IG04
-                        ;; size=16 bbWeight=8 PerfScore 60.00
-G_M17963_IG03:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+                        ;; size=16 bbWeight=1 PerfScore 7.50
+G_M17963_IG03:        ; bbWeight=0.50, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M17963_IG02
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M17963_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M17963_IG06
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
+G_M17963_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x2]
             cmp     w1, w3
-            ble     G_M17963_IG06
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M17963_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ble     G_M17963_IG10
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M17963_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             sub     w1, w1, w3
             sub     w1, w1, #1
             ldr     x0, [x0, #0x18]
-            b       G_M17963_IG02
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M17963_IG06:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     x2, [x0, #0x10]
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x20]
+            cmp     w1, w3
+            bge     G_M17963_IG08
+                       ;; size=16 bbWeight=8 PerfScore 60.00
+G_M17963_IG07:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x2
+            ; gcrRegs +[x0]
+            b       G_M17963_IG06
+                       ;; size=8 bbWeight=4 PerfScore 6.00
+G_M17963_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            cmp     w1, w3
+            ble     G_M17963_IG10
+                       ;; size=8 bbWeight=8 PerfScore 12.00
+G_M17963_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            sub     w1, w1, w3
+            sub     w1, w1, #1
+            ldr     x0, [x0, #0x18]
+            b       G_M17963_IG06
                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M17963_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M17963_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x0, x0, #8
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M17963_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M17963_IG11:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 102.00, instruction count 17, allocated bytes for code 68 (MethodHash=8272b9d4) for method System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
+; Total bytes of code 112, prolog size 8, PerfScore 113.75, instruction count 28, allocated bytes for code 112 (MethodHash=8272b9d4) for method System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -69,7 +94,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+66.67%) : 11038.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
@@ -10,7 +10,7 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  3,  3   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
-;  V01 loc0         [V01,T00] (  7, 22   )     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
+;  V01 loc0         [V01,T00] ( 12, 24.50)     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -24,26 +24,44 @@ G_M12955_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ldr     x0, [x0, #0x18]
             b       G_M12955_IG04
                        ;; size=8 bbWeight=1 PerfScore 4.00
-G_M12955_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M12955_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ldr     x0, [x0, #0x18]
-                       ;; size=4 bbWeight=2 PerfScore 6.00
-G_M12955_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            cbz     x0, G_M12955_IG06
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M12955_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M12955_IG08
+                       ;; size=8 bbWeight=0.25 PerfScore 1.00
+G_M12955_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M12955_IG10
+                       ;; size=4 bbWeight=1 PerfScore 1.00
+G_M12955_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldrh    w1, [x0, #0x34]
-            cbnz    w1, G_M12955_IG06
+            cbnz    w1, G_M12955_IG10
             ldr     x1, [x0, #0x10]
             ; gcrRegs +[x1]
             cbz     x1, G_M12955_IG03
+                        ;; size=16 bbWeight=0.50 PerfScore 4.00
+G_M12955_IG06:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x1]
+            b       G_M12955_IG10
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M12955_IG07:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ldr     x0, [x0, #0x18]
+                       ;; size=4 bbWeight=2 PerfScore 6.00
+G_M12955_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M12955_IG10
+                       ;; size=4 bbWeight=8 PerfScore 8.00
+G_M12955_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldrh    w1, [x0, #0x34]
+            cbnz    w1, G_M12955_IG10
+            ldr     x1, [x0, #0x10]
+            ; gcrRegs +[x1]
+            cbz     x1, G_M12955_IG07
                       ;; size=16 bbWeight=4 PerfScore 32.00
-G_M12955_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M12955_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x1]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 48, prolog size 8, PerfScore 53.50, instruction count 12, allocated bytes for code 48 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
+; Total bytes of code 80, prolog size 8, PerfScore 59.62, instruction count 20, allocated bytes for code 80 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -54,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 12 (0x0000c) Actual length = 48 (0x000030)
+  Function Length   : 20 (0x00014) Actual length = 80 (0x000050)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+66.67%) : 166699.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
@@ -10,7 +10,7 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  3,  3   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
-;  V01 loc0         [V01,T00] (  7, 22   )     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
+;  V01 loc0         [V01,T00] ( 12, 24.50)     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -24,26 +24,44 @@ G_M12955_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ldr     x0, [x0, #0x18]
             b       G_M12955_IG04
                        ;; size=8 bbWeight=1 PerfScore 4.00
-G_M12955_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M12955_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ldr     x0, [x0, #0x18]
-                       ;; size=4 bbWeight=2 PerfScore 6.00
-G_M12955_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            cbz     x0, G_M12955_IG06
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M12955_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M12955_IG08
+                       ;; size=8 bbWeight=0.25 PerfScore 1.00
+G_M12955_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M12955_IG10
+                       ;; size=4 bbWeight=1 PerfScore 1.00
+G_M12955_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldrh    w1, [x0, #0x34]
-            cbnz    w1, G_M12955_IG06
+            cbnz    w1, G_M12955_IG10
             ldr     x1, [x0, #0x10]
             ; gcrRegs +[x1]
             cbz     x1, G_M12955_IG03
+                        ;; size=16 bbWeight=0.50 PerfScore 4.00
+G_M12955_IG06:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x1]
+            b       G_M12955_IG10
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M12955_IG07:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ldr     x0, [x0, #0x18]
+                       ;; size=4 bbWeight=2 PerfScore 6.00
+G_M12955_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M12955_IG10
+                       ;; size=4 bbWeight=8 PerfScore 8.00
+G_M12955_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldrh    w1, [x0, #0x34]
+            cbnz    w1, G_M12955_IG10
+            ldr     x1, [x0, #0x10]
+            ; gcrRegs +[x1]
+            cbz     x1, G_M12955_IG07
                       ;; size=16 bbWeight=4 PerfScore 32.00
-G_M12955_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M12955_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x1]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 48, prolog size 8, PerfScore 53.50, instruction count 12, allocated bytes for code 48 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
+; Total bytes of code 80, prolog size 8, PerfScore 59.62, instruction count 20, allocated bytes for code 80 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -54,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 12 (0x0000c) Actual length = 48 (0x000030)
+  Function Length   : 20 (0x00014) Actual length = 80 (0x000050)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
libraries.pmi.osx.arm64.checked.mch
-44 (-15.71%) : 203059.dasm - Roslyn.Utilities.OneOrMany1[System.__Canon]:Any[System.Numerics.Vector1[float]](System.Func3[System.__Canon,System.Numerics.Vector1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
@@ -8,59 +8,64 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T07] (  3,  3   )   byref  ->   x0         this single-def
-;  V01 TypeCtx      [V01,T05] (  5,  4.36)    long  ->   x1         single-def
-;  V02 arg1         [V02,T02] (  4,  6   )     ref  ->  x19         class-hnd single-def <System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte]>
-;  V03 arg2         [V03,T11] (  3,  4   )  simd16  ->   d8         HFA(simd16)  single-def <System.Numerics.Vector`1[float]>
-;  V04 loc0         [V04    ] (  4, 12   )  struct (24) [fp+0x30]  do-not-enreg[XS] addr-exposed ld-addr-op <Roslyn.Utilities.OneOrMany`1+Enumerator[System.__Canon]>
+;  V00 this         [V00,T12] (  3,  3   )   byref  ->   x0         this single-def
+;  V01 TypeCtx      [V01,T04] (  5,  4.36)    long  ->   x1         single-def
+;  V02 arg1         [V02,T09] (  4,  2.50)     ref  ->  x19         class-hnd single-def <System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte]>
+;  V03 arg2         [V03,T17] (  3,  2.25)  simd16  ->  [fp+0x40]  HFA(simd16)  single-def <System.Numerics.Vector`1[float]>
+;  V04 loc0         [V04    ] (  4,  3.25)  struct (24) [fp+0x28]  do-not-enreg[XS] addr-exposed ld-addr-op <Roslyn.Utilities.OneOrMany`1+Enumerator[System.__Canon]>
 ;* V05 loc1         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.__Canon>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V08 tmp2         [V08    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V09 tmp3         [V09    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V10 tmp4         [V10,T10] (  2,  4   )  struct (24) [fp+0x18]  do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <Roslyn.Utilities.OneOrMany`1+Enumerator[System.__Canon]>
+;  V10 tmp4         [V10,T15] (  2,  4   )  struct (24) [fp+0x10]  do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <Roslyn.Utilities.OneOrMany`1+Enumerator[System.__Canon]>
 ;* V11 tmp5         [V11    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V12 tmp6         [V12    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <Roslyn.Utilities.OneOrMany`1[System.__Canon]>
 ;* V13 tmp7         [V13    ] (  0,  0   )     ref  ->  zero-ref    "field V12._one (fldOffset=0x0)" P-INDEP
 ;* V14 tmp8         [V14    ] (  0,  0   )     ref  ->  zero-ref    "field V12._many (fldOffset=0x8)" P-INDEP
 ;* V15 tmp9         [V15    ] (  0,  0   )     int  ->  zero-ref    "V10.[000..004)"
-;  V16 tmp10        [V16,T00] (  2, 32   )    long  ->   x1         "argument with side effect"
-;  V17 tmp11        [V17,T04] (  2,  8   )    long  ->   x1         "argument with side effect"
-;  V18 tmp12        [V18,T03] (  2,  8   )     ref  ->   x1         "argument with side effect"
-;  V19 cse0         [V19,T01] (  3, 11   )    long  ->  x20         hoist "CSE - aggressive"
-;  V20 rat0         [V20,T09] (  3,  4   )    long  ->  x20         "runtime lookup"
-;  V21 rat1         [V21,T06] (  3,  5.60)    long  ->   x0         "spilling expr"
-;  V22 rat2         [V22,T08] (  3,  4.48)    long  ->  x20         "fgMakeTemp is creating a new local variable"
+;  V16 tmp10        [V16,T01] (  2,  4   )    long  ->   x1         "argument with side effect"
+;  V17 tmp11        [V17,T07] (  2,  1   )    long  ->   x1         "argument with side effect"
+;  V18 tmp12        [V18,T06] (  2,  1   )     ref  ->   x1         "argument with side effect"
+;  V19 cse0         [V19,T16] (  3,  2.25)    long  ->  x20         hoist "CSE - aggressive"
+;  V20 rat0         [V20,T14] (  3,  4   )    long  ->  x20         "runtime lookup"
+;  V21 rat1         [V21,T11] (  3,  5.60)    long  ->   x0         "spilling expr"
+;  V22 rat2         [V22,T13] (  3,  4.48)    long  ->  x20         "fgMakeTemp is creating a new local variable"
+;* V23 rat3         [V23,T10] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V24 rat4         [V24,T05] (  0,  0   )    long  ->  zero-ref    "spilling expr"
+;* V25 rat5         [V25,T08] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;* V26 rat6         [V26,T03] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V27 rat7         [V27,T00] (  0,  0   )    long  ->  zero-ref    "spilling expr"
+;* V28 rat8         [V28,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 80
 
 G_M19422_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x70]!
-            stp     d8, d9, [sp, #0x50]
             stp     x19, x20, [sp, #0x60]
             mov     fp, sp
-            stp     xzr, xzr, [fp, #0x18]  // [V10 tmp4], [V10 tmp4+0x08]
-            str     xzr, [fp, #0x28]   // [V10 tmp4+0x10]
-            str     x1, [fp, #0x48]
-            mov     v8.16b, v0.16b
+            stp     xzr, xzr, [fp, #0x10]  // [V10 tmp4], [V10 tmp4+0x08]
+            str     xzr, [fp, #0x20]   // [V10 tmp4+0x10]
+            str     x1, [fp, #0x58]
+            str     q0, [fp, #0x40]    // [V03 arg2]
             mov     x19, x2
             ; gcrRegs +[x19]
-                     ;; size=36 bbWeight=1 PerfScore 7.50
+                      ;; size=32 bbWeight=1 PerfScore 7.00
 G_M19422_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref, nogc
             ; byrRegs +[x0]
             ldp     x2, x3, [x0]
-            stp     x2, x3, [fp, #0x20]
+            stp     x2, x3, [fp, #0x18]
                      ;; size=8 bbWeight=1 PerfScore 5.00
 G_M19422_IG03:        ; bbWeight=1, nogc, extend
-            ldp     x0, x2, [fp, #0x18]
+            ldp     x0, x2, [fp, #0x10]
             ; byrRegs -[x0]
-            stp     x0, x2, [fp, #0x30]
-            ldr     x0, [fp, #0x28]
-            str     x0, [fp, #0x40]
+            stp     x0, x2, [fp, #0x28]
+            ldr     x0, [fp, #0x20]
+            str     x0, [fp, #0x38]
                         ;; size=16 bbWeight=1 PerfScore 7.00
 G_M19422_IG04:        ; bbWeight=1, isz, extend
             movn    w0, #0
-            str     w0, [fp, #0x30]    // [V04 loc0]
+            str     w0, [fp, #0x28]  // [V04 loc0]
             ldr     x0, [x1, #0x38]
             ldr     x2, [x0, #0x08]
             cmp     x2, #24
@@ -78,69 +83,59 @@ G_M19422_IG07:        ; bbWeight=0.36, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #1 LSL #32
-            mov     v9.d[0], v8.d[1]
             bl      CORINFO_HELP_RUNTIMEHANDLE_METHOD
             mov     x20, x0
-            mov     v8.d[1], v9.d[0]
-                       ;; size=32 bbWeight=0.36 PerfScore 1.98
+                       ;; size=24 bbWeight=0.36 PerfScore 1.26
 G_M19422_IG08:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             b       G_M19422_IG10
                        ;; size=4 bbWeight=1 PerfScore 1.00
-G_M19422_IG09:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M19422_IG09:        ; bbWeight=0.25, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     x1, x20
-            add     x0, fp, #48  // [V04 loc0]
+            add     x0, fp, #40  // [V04 loc0]
             movz    x2, #0xD1FFAB1E      // code for Roslyn.Utilities.OneOrMany`1+Enumerator[System.__Canon]:get_Current():System.__Canon:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             ldr     x2, [x2]
-            mov     v9.d[0], v8.d[1]
             blr     x2
             ; gcrRegs +[x0]
             mov     x1, x0
             ; gcrRegs +[x1]
-            mov     v8.d[1], v9.d[0]
-            mov     v0.16b, v8.16b
+            ldr     q0, [fp, #0x40]    // [V03 arg2]
             ldr     x0, [x19, #0x08]
             ldr     x2, [x19, #0x18]
-            mov     v9.d[0], v8.d[1]
             blr     x2
             ; gcrRegs -[x0-x1]
-            mov     v8.d[1], v9.d[0]
             cbnz    w0, G_M19422_IG13
-                        ;; size=68 bbWeight=2 PerfScore 39.00
-G_M19422_IG10:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+                     ;; size=52 bbWeight=0.25 PerfScore 4.25
+G_M19422_IG10:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     x1, x20
-            add     x0, fp, #48   // [V04 loc0]
+            add     x0, fp, #40  // [V04 loc0]
             movz    x2, #0xD1FFAB1E      // code for Roslyn.Utilities.OneOrMany`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             ldr     x2, [x2]
-            mov     v9.d[0], v8.d[1]
             blr     x2
-            mov     v8.d[1], v9.d[0]
             cbnz    w0, G_M19422_IG09
-                      ;; size=40 bbWeight=8 PerfScore 76.00
-G_M19422_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=32 bbWeight=1 PerfScore 7.50
+G_M19422_IG11:        ; bbWeight=0.06, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
             mov     w0, wzr
-                      ;; size=4 bbWeight=0.50 PerfScore 0.25
+                        ;; size=4 bbWeight=0.06 PerfScore 0.03
 G_M19422_IG12:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x60]
-            ldp     d8, d9, [sp, #0x50]
             ldp     fp, lr, [sp], #0x70
             ret     lr
-                       ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M19422_IG13:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M19422_IG14:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x60]
-            ldp     d8, d9, [sp, #0x50]
             ldp     fp, lr, [sp], #0x70
             ret     lr
-                       ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 280, prolog size 28, PerfScore 154.82, instruction count 70, allocated bytes for code 280 (MethodHash=fb73b421) for method Roslyn.Utilities.OneOrMany`1[System.__Canon]:Any[System.Numerics.Vector`1[float]](System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
+; Total bytes of code 236, prolog size 24, PerfScore 49.13, instruction count 59, allocated bytes for code 236 (MethodHash=fb73b421) for method Roslyn.Utilities.OneOrMany`1[System.__Canon]:Any[System.Numerics.Vector`1[float]](System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -151,7 +146,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 70 (0x00046) Actual length = 280 (0x000118)
+  Function Length   : 59 (0x0003b) Actual length = 236 (0x0000ec)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -163,8 +158,9 @@ Unwind Info:
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
     C8 0C       save_regp X#0 Z#12 (0x0C); stp x19, x20, [sp, #96]
-    D8 0A       save_fregp X#0 Z#10 (0x0A); stp d8, d9, [sp, #80]
     8D          save_fplr_x #13 (0x0D); stp fp, lr, [sp, #-112]!
     E4          end
     E4          end
+    E4          end
+    E4          end
 
  
-16 (-8.70%) : 288631.dasm - System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
@@ -12,9 +12,9 @@
 ;  V01 tmp1         [V01,T01] (  4,  8   )     ref  ->   x6         class-hnd exact single-def "dup spill" <System.Type[]>
 ;* V02 tmp2         [V02,T03] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
 ;* V03 tmp3         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
-;  V04 tmp4         [V04,T00] (  5, 17   )     int  ->   x0         "Inline stloc first use temp"
+;* V04 tmp4         [V04,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V05 tmp5         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
-;  V06 cse0         [V06,T02] (  2,  5   )   byref  ->   x1         hoist "CSE - aggressive"
+;  V06 cse0         [V06,T02] (  2,  2   )   byref  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -22,7 +22,7 @@ G_M2572_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M2572_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M2572_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -37,22 +37,14 @@ G_M2572_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
             str     x0, [x6, #0x10]
-            mov     w0, wzr
-            add     x1, x6, #16
-            ; byrRegs +[x1]
-                       ;; size=48 bbWeight=1 PerfScore 7.00
-G_M2572_IG03:        ; bbWeight=4, gcrefRegs=0040 {x6}, byrefRegs=0002 {x1}, byref, isz
-            ldr     x2, [x1, w0, UXTW #3]
-            ; gcrRegs +[x2]
-            cbz     x2, G_M2572_IG06
-            add     w0, w0, #1
-            cmp     w0, #1
-            blt     G_M2572_IG03
-                       ;; size=20 bbWeight=4 PerfScore 24.00
-G_M2572_IG04:        ; bbWeight=1, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x2]
-            ; byrRegs -[x1]
+            add     x0, x6, #16
+            ; byrRegs +[x0]
+            ldr     x0, [x0]
+            ; gcrRegs +[x0]
+            ; byrRegs -[x0]
+            cbz     x0, G_M2572_IG04
             movz    x0, #0xD1FFAB1E
+            ; gcrRegs -[x0]
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
             movz    x1, #0xD1FFAB1E
@@ -67,13 +59,13 @@ G_M2572_IG04:        ; bbWeight=1, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
             movk    x8, #0xD1FFAB1E LSL #16
             movk    x8, #1 LSL #32
             ldr     x8, [x8]
-                     ;; size=60 bbWeight=1 PerfScore 10.00
-G_M2572_IG05:        ; bbWeight=1, epilog, nogc, extend
+                      ;; size=112 bbWeight=1 PerfScore 20.50
+G_M2572_IG03:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             br      x8
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M2572_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M2572_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x6]
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E LSL #16
@@ -91,7 +83,7 @@ G_M2572_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
             brk_unix #0
                        ;; size=40 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 184, prolog size 8, PerfScore 44.50, instruction count 46, allocated bytes for code 184 (MethodHash=7398f5f3) for method System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
+; Total bytes of code 168, prolog size 8, PerfScore 24.00, instruction count 42, allocated bytes for code 168 (MethodHash=7398f5f3) for method System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -102,7 +94,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 46 (0x0002e) Actual length = 184 (0x0000b8)
+  Function Length   : 42 (0x0002a) Actual length = 168 (0x0000a8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-20 (-8.33%) : 203092.dasm - Roslyn.Utilities.OneOrMany1[ubyte]:Any[System.Numerics.Vector1[float]](System.Func3[ubyte,System.Numerics.Vector1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
@@ -8,40 +8,38 @@
 ; 0 inlinees with PGO data; 10 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T04] (  4,  4   )   byref  ->   x0         this single-def
-;  V01 arg1         [V01,T03] (  4,  6   )     ref  ->  x19         class-hnd single-def <System.Func`3[ubyte,System.Numerics.Vector`1[float],ubyte]>
-;  V02 arg2         [V02,T09] (  3,  4   )  simd16  ->   d8         HFA(simd16)  single-def <System.Numerics.Vector`1[float]>
+;  V00 this         [V00,T05] (  4,  4   )   byref  ->   x0         this single-def
+;  V01 arg1         [V01,T03] (  4,  2.50)     ref  ->  x19         class-hnd single-def <System.Func`3[ubyte,System.Numerics.Vector`1[float],ubyte]>
+;  V02 arg2         [V02,T09] (  3,  2.25)  simd16  ->  [fp+0x10]  HFA(simd16)  single-def <System.Numerics.Vector`1[float]>
 ;* V03 loc0         [V03    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op <Roslyn.Utilities.OneOrMany`1+Enumerator[ubyte]>
 ;* V04 loc1         [V04    ] (  0,  0   )   ubyte  ->  zero-ref   
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <Roslyn.Utilities.OneOrMany`1+Enumerator[ubyte]>
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <Roslyn.Utilities.OneOrMany`1[ubyte]>
-;  V08 tmp3         [V08,T05] (  3,  6   )   ubyte  ->   x1         "Inline return value spill temp"
+;  V08 tmp3         [V08,T04] (  3,  0.75)   ubyte  ->   x1         "Inline return value spill temp"
 ;* V09 tmp4         [V09    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V10 tmp5         [V10,T10] (  3,  0   )     ref  ->  x19         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V11 tmp6         [V11    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;  V12 tmp7         [V12,T02] (  3, 12   )     int  ->   x1         "Inline return value spill temp"
+;  V12 tmp7         [V12,T02] (  3,  1.50)     int  ->   x1         "Inline return value spill temp"
 ;* V13 tmp8         [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "field V07._one (fldOffset=0x0)" P-INDEP
 ;* V14 tmp9         [V14    ] (  0,  0   )     ref  ->  zero-ref    "field V07._many (fldOffset=0x8)" P-INDEP
-;  V15 tmp10        [V15,T00] (  7, 31   )     int  ->  x22         "V03.[000..004)"
-;  V16 tmp11        [V16,T06] (  2,  3   )   ubyte  ->  x20         single-def "V03.[008..009)"
-;  V17 tmp12        [V17,T01] (  6, 17   )     ref  ->  x21         single-def "V03.[016..024)"
+;  V15 tmp10        [V15,T00] (  7,  4.75)     int  ->  x22         "V03.[000..004)"
+;  V16 tmp11        [V16,T06] (  2,  1.25)   ubyte  ->  x20         single-def "V03.[008..009)"
+;  V17 tmp12        [V17,T01] (  6,  3   )     ref  ->  x21         single-def "V03.[016..024)"
 ;* V18 tmp13        [V18    ] (  0,  0   )     int  ->  zero-ref    "V06.[000..004)"
 ;  V19 tmp14        [V19,T08] (  2,  2   )   ubyte  ->  x20         single-def "V06.[008..009)"
 ;  V20 tmp15        [V20,T07] (  2,  2   )     ref  ->  x21         single-def "V06.[016..024)"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M17406_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x40]!
-            stp     d8, d9, [sp, #0x10]
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             mov     fp, sp
-            mov     v8.16b, v0.16b
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=28 bbWeight=1 PerfScore 5.50
+                      ;; size=20 bbWeight=1 PerfScore 4.00
 G_M17406_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref
             ; byrRegs +[x0]
             ldrb    w20, [x0]
@@ -50,14 +48,14 @@ G_M17406_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0},
             movn    w22, #0
             b       G_M17406_IG06
                        ;; size=16 bbWeight=1 PerfScore 7.50
-G_M17406_IG03:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+G_M17406_IG03:        ; bbWeight=0.25, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0]
             cbnz    x21, G_M17406_IG04
             cbnz    w22, G_M17406_IG15
             sxtw    w1, w20
             b       G_M17406_IG05
-                        ;; size=16 bbWeight=2 PerfScore 7.00
-G_M17406_IG04:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+                        ;; size=16 bbWeight=0.25 PerfScore 0.88
+G_M17406_IG04:        ; bbWeight=0.25, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
             ldr     w1, [x21, #0x08]
             cmp     w22, w1
             bhs     G_M17406_IG14
@@ -65,54 +63,51 @@ G_M17406_IG04:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {
             ; byrRegs +[x1]
             ldrb    w1, [x1, w22, UXTW #2]
             ; byrRegs -[x1]
-                      ;; size=20 bbWeight=2 PerfScore 16.00
-G_M17406_IG05:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
-            mov     v0.16b, v8.16b
+                       ;; size=20 bbWeight=0.25 PerfScore 2.00
+G_M17406_IG05:        ; bbWeight=0.25, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+            str     q0, [fp, #0x10]    // [V02 arg2]
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
             ldr     x2, [x19, #0x18]
-            mov     v9.d[0], v8.d[1]
             blr     x2
             ; gcrRegs -[x0]
-            mov     v8.d[1], v9.d[0]
+            ldr     q0, [fp, #0x10] // [V02 arg2]
             cbnz    w0, G_M17406_IG12
-                        ;; size=28 bbWeight=2 PerfScore 21.00
-G_M17406_IG06:        ; bbWeight=8, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+                        ;; size=24 bbWeight=0.25 PerfScore 2.75
+G_M17406_IG06:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
             add     w22, w22, #1
             cbz     x21, G_M17406_IG08
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M17406_IG07:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
+                     ;; size=8 bbWeight=1 PerfScore 1.50
+G_M17406_IG07:        ; bbWeight=0.25, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
             ldr     w1, [x21, #0x08]
             b       G_M17406_IG09
-                        ;; size=8 bbWeight=2 PerfScore 8.00
-G_M17406_IG08:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
+                     ;; size=8 bbWeight=0.25 PerfScore 1.00
+G_M17406_IG08:        ; bbWeight=0.25, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
             mov     w1, #1
-                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M17406_IG09:        ; bbWeight=8, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+                        ;; size=4 bbWeight=0.25 PerfScore 0.12
+G_M17406_IG09:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
             cmp     w22, w1
             blt     G_M17406_IG03
-                        ;; size=8 bbWeight=8 PerfScore 12.00
-G_M17406_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M17406_IG10:        ; bbWeight=0.06, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x21]
             mov     w0, wzr
-                      ;; size=4 bbWeight=0.50 PerfScore 0.25
+                        ;; size=4 bbWeight=0.06 PerfScore 0.03
 G_M17406_IG11:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
-            ldp     d8, d9, [sp, #0x10]
             ldp     fp, lr, [sp], #0x40
             ret     lr
-                       ;; size=20 bbWeight=0.50 PerfScore 2.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M17406_IG12:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M17406_IG13:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
-            ldp     d8, d9, [sp, #0x10]
             ldp     fp, lr, [sp], #0x40
             ret     lr
-                       ;; size=20 bbWeight=0.50 PerfScore 2.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M17406_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             bl      CORINFO_HELP_RNGCHKFAIL
                        ;; size=4 bbWeight=0 PerfScore 0.00
@@ -137,7 +132,7 @@ G_M17406_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=52 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 240, prolog size 20, PerfScore 95.50, instruction count 60, allocated bytes for code 240 (MethodHash=c9d7bc01) for method Roslyn.Utilities.OneOrMany`1[ubyte]:Any[System.Numerics.Vector`1[float]](System.Func`3[ubyte,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
+; Total bytes of code 220, prolog size 16, PerfScore 25.53, instruction count 55, allocated bytes for code 220 (MethodHash=c9d7bc01) for method Roslyn.Utilities.OneOrMany`1[ubyte]:Any[System.Numerics.Vector`1[float]](System.Func`3[ubyte,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -148,7 +143,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 60 (0x0003c) Actual length = 240 (0x0000f0)
+  Function Length   : 55 (0x00037) Actual length = 220 (0x0000dc)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -161,7 +156,8 @@ Unwind Info:
     ---- Epilog start at index 1 ----
     E6          save_next
     C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    D8 02       save_fregp X#0 Z#2 (0x02); stp d8, d9, [sp, #16]
     87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
     E4          end
+    E4          end
+    E4          end
 
  
+32 (+66.67%) : 218703.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
@@ -9,7 +9,7 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  3,  3   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
-;  V01 loc0         [V01,T00] (  7, 22   )     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
+;  V01 loc0         [V01,T00] ( 12, 24.50)     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -23,26 +23,44 @@ G_M12955_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ldr     x0, [x0, #0x18]
             b       G_M12955_IG04
                        ;; size=8 bbWeight=1 PerfScore 4.00
-G_M12955_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M12955_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ldr     x0, [x0, #0x18]
-                       ;; size=4 bbWeight=2 PerfScore 6.00
-G_M12955_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            cbz     x0, G_M12955_IG06
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M12955_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M12955_IG08
+                       ;; size=8 bbWeight=0.25 PerfScore 1.00
+G_M12955_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M12955_IG10
+                       ;; size=4 bbWeight=1 PerfScore 1.00
+G_M12955_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldrh    w1, [x0, #0x34]
-            cbnz    w1, G_M12955_IG06
+            cbnz    w1, G_M12955_IG10
             ldr     x1, [x0, #0x10]
             ; gcrRegs +[x1]
             cbz     x1, G_M12955_IG03
+                        ;; size=16 bbWeight=0.50 PerfScore 4.00
+G_M12955_IG06:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x1]
+            b       G_M12955_IG10
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M12955_IG07:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ldr     x0, [x0, #0x18]
+                       ;; size=4 bbWeight=2 PerfScore 6.00
+G_M12955_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M12955_IG10
+                       ;; size=4 bbWeight=8 PerfScore 8.00
+G_M12955_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldrh    w1, [x0, #0x34]
+            cbnz    w1, G_M12955_IG10
+            ldr     x1, [x0, #0x10]
+            ; gcrRegs +[x1]
+            cbz     x1, G_M12955_IG07
                       ;; size=16 bbWeight=4 PerfScore 32.00
-G_M12955_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M12955_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x1]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 48, prolog size 8, PerfScore 53.50, instruction count 12, allocated bytes for code 48 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
+; Total bytes of code 80, prolog size 8, PerfScore 59.62, instruction count 20, allocated bytes for code 80 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -53,7 +71,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 12 (0x0000c) Actual length = 48 (0x000030)
+  Function Length   : 20 (0x00014) Actual length = 80 (0x000050)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+36 (+69.23%) : 52686.dasm - System.Diagnostics.DiagnosticSourceEventSource+FilterAndTransform:Reverse(System.Diagnostics.DiagnosticSourceEventSource+TransformSpec):System.Diagnostics.DiagnosticSourceEventSource+TransformSpec (FullOpts)
@@ -7,9 +7,9 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  8, 23   )     ref  ->   x0         class-hnd <System.Diagnostics.DiagnosticSourceEventSource+TransformSpec>
-;  V01 loc0         [V01,T01] (  4, 10   )     ref  ->  x15         class-hnd <System.Diagnostics.DiagnosticSourceEventSource+TransformSpec>
-;  V02 loc1         [V02,T02] (  2,  8   )     ref  ->   x1         class-hnd exact <System.Diagnostics.DiagnosticSourceEventSource+TransformSpec>
+;  V00 arg0         [V00,T00] ( 13, 28   )     ref  ->  registers   class-hnd <System.Diagnostics.DiagnosticSourceEventSource+TransformSpec>
+;  V01 loc0         [V01,T01] (  5, 11   )     ref  ->  registers   class-hnd <System.Diagnostics.DiagnosticSourceEventSource+TransformSpec>
+;  V02 loc1         [V02,T02] (  4, 10   )     ref  ->   x1         class-hnd exact <System.Diagnostics.DiagnosticSourceEventSource+TransformSpec>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -22,9 +22,16 @@ G_M15149_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ; gcrRegs +[x0]
             mov     x15, xzr
             ; gcrRegs +[x15]
-            cbz     x0, G_M15149_IG04
-                       ;; size=8 bbWeight=1 PerfScore 1.50
+            cbz     x0, G_M15149_IG07
+            ldr     x1, [x0, #0x08]
+            ; gcrRegs +[x1]
+            str     xzr, [x0, #0x08]
+            mov     x15, x0
+            mov     x0, x1
+            cbz     x0, G_M15149_IG06
+                       ;; size=28 bbWeight=1 PerfScore 7.50
 G_M15149_IG03:        ; bbWeight=4, gcrefRegs=8001 {x0 x15}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x1]
             ldr     x1, [x0, #0x08]
             ; gcrRegs +[x1]
             add     x14, x0, #8
@@ -32,22 +39,34 @@ G_M15149_IG03:        ; bbWeight=4, gcrefRegs=8001 {x0 x15}, byrefRegs=0000 {},
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
             ; byrRegs -[x14]
-            mov     x15, x0
-            ; gcrRegs +[x15]
-            mov     x0, x1
-            cbnz    x0, G_M15149_IG03
-                       ;; size=24 bbWeight=4 PerfScore 26.00
-G_M15149_IG04:        ; bbWeight=1, gcrefRegs=8000 {x15}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0-x1]
-            mov     x0, x15
-            ; gcrRegs +[x0]
-                       ;; size=4 bbWeight=1 PerfScore 0.50
-G_M15149_IG05:        ; bbWeight=1, epilog, nogc, extend
+            cbnz    x1, G_M15149_IG05
+                       ;; size=16 bbWeight=4 PerfScore 22.00
+G_M15149_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+            ; gcrRegs -[x1]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
+G_M15149_IG05:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs +[x1]
+            mov     x15, x0
+            ; gcrRegs +[x15]
+            mov     x0, x1
+            b       G_M15149_IG03
+                       ;; size=12 bbWeight=2 PerfScore 4.00
+G_M15149_IG06:        ; bbWeight=0.50, gcrefRegs=8000 {x15}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0-x1]
+            mov     x0, x15
+            ; gcrRegs +[x0]
+            b       G_M15149_IG04
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
+G_M15149_IG07:        ; bbWeight=0.50, gcrefRegs=8000 {x15}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x15
+            ; gcrRegs +[x0]
+            b       G_M15149_IG04
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
 
-; Total bytes of code 52, prolog size 8, PerfScore 31.50, instruction count 13, allocated bytes for code 52 (MethodHash=8c6bc4d2) for method System.Diagnostics.DiagnosticSourceEventSource+FilterAndTransform:Reverse(System.Diagnostics.DiagnosticSourceEventSource+TransformSpec):System.Diagnostics.DiagnosticSourceEventSource+TransformSpec (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 38.50, instruction count 22, allocated bytes for code 88 (MethodHash=8c6bc4d2) for method System.Diagnostics.DiagnosticSourceEventSource+FilterAndTransform:Reverse(System.Diagnostics.DiagnosticSourceEventSource+TransformSpec):System.Diagnostics.DiagnosticSourceEventSource+TransformSpec (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -58,7 +77,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 13 (0x0000d) Actual length = 52 (0x000034)
+  Function Length   : 22 (0x00016) Actual length = 88 (0x000058)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+48 (+70.59%) : 234313.dasm - System.Data.SqlTypes.SqlDecimal:MpNormalize(System.ReadOnlySpan`1[uint],byref) (FullOpts)
@@ -8,13 +8,15 @@
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[uint]>
-;  V01 arg1         [V01,T02] (  4, 12   )   byref  ->   x2         single-def
+;  V01 arg1         [V01,T02] (  6, 13.25)   byref  ->   x2         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T00] (  3, 24   )     int  ->   x4         "Span.get_Item index"
-;  V04 tmp2         [V04,T04] (  2,  5   )   byref  ->   x0         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
-;  V05 tmp3         [V05,T05] (  2,  5   )     int  ->   x1         single-def "field V00._length (fldOffset=0x8)" P-INDEP
+;  V03 tmp1         [V03,T00] (  6, 27   )     int  ->   x4         "Span.get_Item index"
+;  V04 tmp2         [V04,T04] (  3,  5.50)   byref  ->   x0         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
+;  V05 tmp3         [V05,T05] (  3,  5.50)     int  ->   x1         single-def "field V00._length (fldOffset=0x8)" P-INDEP
 ;  V06 cse0         [V06,T03] (  3, 10   )     int  ->   x3         "CSE - aggressive"
-;  V07 cse1         [V07,T01] (  3, 20   )     int  ->   x3         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  3,  1.25)     int  ->   x3         "CSE - moderate"
+;  V08 cse2         [V08,T01] (  3, 20   )     int  ->   x3         "CSE - aggressive"
+;  V09 cse3         [V09,T06] (  3,  2.50)     int  ->   x3         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -26,34 +28,56 @@ G_M33876_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, b
             ; byrRegs +[x0 x2]
             b       G_M33876_IG04
                        ;; size=4 bbWeight=1 PerfScore 1.00
-G_M33876_IG03:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref
+G_M33876_IG03:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref
             str     w3, [x2]
-                        ;; size=4 bbWeight=2 PerfScore 2.00
-G_M33876_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
+            b       G_M33876_IG08
+                       ;; size=8 bbWeight=0.25 PerfScore 0.50
+G_M33876_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
             ldr     w3, [x2]
             cmp     w3, #1
-            ble     G_M33876_IG06
-                       ;; size=12 bbWeight=8 PerfScore 36.00
-G_M33876_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
+            ble     G_M33876_IG10
+                       ;; size=12 bbWeight=1 PerfScore 4.50
+G_M33876_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
             sub     w3, w3, #1
             sxtw    w4, w3
             cmp     w4, w1
-            bhs     G_M33876_IG07
+            bhs     G_M33876_IG11
             ldr     w4, [x0, w4, UXTW #2]
             cbz     w4, G_M33876_IG03
+                        ;; size=24 bbWeight=0.50 PerfScore 3.25
+G_M33876_IG06:        ; bbWeight=0.12, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x0 x2]
+            b       G_M33876_IG10
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M33876_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref
+            ; byrRegs +[x0 x2]
+            str     w3, [x2]
+                       ;; size=4 bbWeight=2 PerfScore 2.00
+G_M33876_IG08:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
+            ldr     w3, [x2]
+            cmp     w3, #1
+            ble     G_M33876_IG10
+                       ;; size=12 bbWeight=8 PerfScore 36.00
+G_M33876_IG09:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
+            sub     w3, w3, #1
+            sxtw    w4, w3
+            cmp     w4, w1
+            bhs     G_M33876_IG11
+            ldr     w4, [x0, w4, UXTW #2]
+            cbz     w4, G_M33876_IG07
                       ;; size=24 bbWeight=4 PerfScore 26.00
-G_M33876_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M33876_IG10:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; byrRegs -[x0 x2]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M33876_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M33876_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 68.50, instruction count 17, allocated bytes for code 68 (MethodHash=39ed7bab) for method System.Data.SqlTypes.SqlDecimal:MpNormalize(System.ReadOnlySpan`1[uint],byref) (FullOpts)
+; Total bytes of code 116, prolog size 8, PerfScore 76.88, instruction count 29, allocated bytes for code 116 (MethodHash=39ed7bab) for method System.Data.SqlTypes.SqlDecimal:MpNormalize(System.ReadOnlySpan`1[uint],byref) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -64,7 +88,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
libraries_tests.run.osx.arm64.Release.mch
-36 (-15.00%) : 346231.dasm - System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]:NextRandom():byte:this (Tier1)
@@ -7,11 +7,11 @@
 ; 2 inlinees with PGO data; 6 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]>
+;  V00 this         [V00,T01] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]>
 ;  V01 loc0         [V01    ] (  2,  2   )    byte  ->  [fp+0x1C]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[byte]>
-;  V04 tmp2         [V04,T02] (  5,  5   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Random>
+;  V04 tmp2         [V04,T00] (  5,  5   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Random>
 ;* V05 tmp3         [V05    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Random>
 ;* V07 tmp5         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[byte]>
@@ -19,34 +19,33 @@
 ;* V09 tmp7         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[byte]>
 ;* V10 tmp8         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V11 tmp9         [V11    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V12 tmp10        [V12,T05] (  5,  3   )     ref  ->   x0         single-def "guarded devirt arg temp"
+;  V12 tmp10        [V12,T02] (  5,  3   )     ref  ->   x0         single-def "guarded devirt arg temp"
 ;* V13 tmp11        [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <System.Random+Net5CompatSeedImpl>
-;  V14 tmp12        [V14,T00] (  5, 16.50)     int  ->  x21         "Inline stloc first use temp"
+;* V14 tmp12        [V14,T07] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V15 tmp13        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V16 tmp14        [V16,T01] (  2,  9   )   byref  ->  x19         single-def "Inlining Arg"
+;  V16 tmp14        [V16,T03] (  2,  2   )   byref  ->   x0         single-def "Inlining Arg"
 ;* V17 tmp15        [V17    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
-;  V18 tmp16        [V18,T06] (  2,  2   )   byref  ->  x20         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V18 tmp16        [V18,T04] (  2,  2   )   byref  ->  x20         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
 ;* V19 tmp17        [V19    ] (  0,  0   )     int  ->  zero-ref    single-def "field V03._length (fldOffset=0x8)" P-INDEP
 ;* V20 tmp18        [V20    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V21 tmp19        [V21    ] (  0,  0   )     int  ->  zero-ref    single-def "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V22 tmp20        [V22    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V07._reference (fldOffset=0x0)" P-INDEP
 ;* V23 tmp21        [V23    ] (  0,  0   )     int  ->  zero-ref    single-def "field V07._length (fldOffset=0x8)" P-INDEP
-;  V24 tmp22        [V24,T07] (  4,  1.50)   byref  ->  x20         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;  V24 tmp22        [V24,T05] (  4,  1.50)   byref  ->  x20         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
 ;* V25 tmp23        [V25,T08] (  0,  0   )     int  ->  zero-ref    single-def "field V08._length (fldOffset=0x8)" P-INDEP
 ;* V26 tmp24        [V26    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
 ;* V27 tmp25        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
-;  V28 tmp26        [V28,T04] (  2,  4.50)   byref  ->  x20         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V28 tmp26        [V28,T06] (  2,  1   )   byref  ->  x20         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V29 tmp27        [V29,T09] (  0,  0   )     int  ->  zero-ref    single-def "field V15._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 16
 
 G_M24034_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
+            stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
             mov     fp, sp
             str     wzr, [fp, #0x1C]   // [V01 loc0]
-                     ;; size=20 bbWeight=1 PerfScore 4.50
+                      ;; size=16 bbWeight=1 PerfScore 3.50
 G_M24034_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x19, [x0, #0x08]
@@ -65,7 +64,7 @@ G_M24034_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #1 LSL #32
             cmp     x0, x1
-            bne     G_M24034_IG08
+            bne     G_M24034_IG07
                        ;; size=56 bbWeight=1 PerfScore 15.50
 G_M24034_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref, isz
             ldr     x0, [x19, #0x08]
@@ -75,41 +74,29 @@ G_M24034_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=100000 {
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             cmp     x1, x2
-            bne     G_M24034_IG07
-            add     x19, x0, #8
-            ; gcrRegs -[x19]
-            ; byrRegs +[x19]
-            mov     w21, wzr
-                       ;; size=36 bbWeight=0.50 PerfScore 5.00
-G_M24034_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=180000 {x19 x20}, byref, isz
+            bne     G_M24034_IG06
+            add     x0, x0, #8
             ; gcrRegs -[x0]
-            mov     w0, w21
-            add     x22, x20, x0
-            ; byrRegs +[x22]
-            mov     x0, x19
             ; byrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Random+CompatPrng:InternalSample():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #1 LSL #32
             ldr     x1, [x1]
             blr     x1
+            ; gcrRegs -[x19]
             ; byrRegs -[x0]
-            strb    w0, [x22]
-            add     w21, w21, #1
-            cmp     w21, #0
-            ble     G_M24034_IG04
-                       ;; size=48 bbWeight=4 PerfScore 40.00
-G_M24034_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x19-x20 x22]
+            strb    w0, [x20]
+                       ;; size=56 bbWeight=0.50 PerfScore 8.00
+G_M24034_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x20]
             ldrsb   x0, [fp, #0x1C]    // [V01 loc0]
                        ;; size=4 bbWeight=1 PerfScore 2.00
-G_M24034_IG06:        ; bbWeight=1, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
+G_M24034_IG05:        ; bbWeight=1, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                     ;; size=16 bbWeight=1 PerfScore 4.00
-G_M24034_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20}, gcvars, byref
+                       ;; size=12 bbWeight=1 PerfScore 3.00
+G_M24034_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20}, gcvars, byref
             ; gcrRegs +[x0]
             ; byrRegs +[x20]
             mov     x1, x20
@@ -121,9 +108,9 @@ G_M24034_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {
             blr     x3
             ; gcrRegs -[x0]
             ; byrRegs -[x1 x20]
-            b       G_M24034_IG05
+            b       G_M24034_IG04
                       ;; size=28 bbWeight=0 PerfScore 0.00
-G_M24034_IG08:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref
+G_M24034_IG07:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref
             ; gcrRegs +[x19]
             ; byrRegs +[x20]
             mov     x1, x20
@@ -137,10 +124,10 @@ G_M24034_IG08:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20
             blr     x3
             ; gcrRegs -[x0 x19]
             ; byrRegs -[x1 x20]
-            b       G_M24034_IG05
+            b       G_M24034_IG04
                       ;; size=32 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 240, prolog size 20, PerfScore 71.00, instruction count 60, allocated bytes for code 240 (MethodHash=a7c0a21d) for method System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]:NextRandom():byte:this (Tier1)
+; Total bytes of code 204, prolog size 16, PerfScore 32.00, instruction count 51, allocated bytes for code 204 (MethodHash=a7c0a21d) for method System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]:NextRandom():byte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -151,7 +138,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 60 (0x0003c) Actual length = 240 (0x0000f0)
+  Function Length   : 51 (0x00033) Actual length = 204 (0x0000cc)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -159,9 +146,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
     C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
     E4          end
     E4          end
     E4          end
  
-36 (-15.00%) : 346392.dasm - System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]:NextRandom():ubyte:this (Tier1)
@@ -7,11 +7,11 @@
 ; 2 inlinees with PGO data; 6 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]>
+;  V00 this         [V00,T01] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]>
 ;  V01 loc0         [V01    ] (  2,  2   )   ubyte  ->  [fp+0x1C]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V04 tmp2         [V04,T02] (  5,  5   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Random>
+;  V04 tmp2         [V04,T00] (  5,  5   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Random>
 ;* V05 tmp3         [V05    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Random>
 ;* V07 tmp5         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
@@ -19,34 +19,33 @@
 ;* V09 tmp7         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V10 tmp8         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V11 tmp9         [V11    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V12 tmp10        [V12,T05] (  5,  3   )     ref  ->   x0         single-def "guarded devirt arg temp"
+;  V12 tmp10        [V12,T02] (  5,  3   )     ref  ->   x0         single-def "guarded devirt arg temp"
 ;* V13 tmp11        [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <System.Random+Net5CompatSeedImpl>
-;  V14 tmp12        [V14,T00] (  5, 16.50)     int  ->  x21         "Inline stloc first use temp"
+;* V14 tmp12        [V14,T07] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V15 tmp13        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V16 tmp14        [V16,T01] (  2,  9   )   byref  ->  x19         single-def "Inlining Arg"
+;  V16 tmp14        [V16,T03] (  2,  2   )   byref  ->   x0         single-def "Inlining Arg"
 ;* V17 tmp15        [V17    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
-;  V18 tmp16        [V18,T06] (  2,  2   )   byref  ->  x20         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V18 tmp16        [V18,T04] (  2,  2   )   byref  ->  x20         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
 ;* V19 tmp17        [V19    ] (  0,  0   )     int  ->  zero-ref    single-def "field V03._length (fldOffset=0x8)" P-INDEP
 ;* V20 tmp18        [V20    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V21 tmp19        [V21    ] (  0,  0   )     int  ->  zero-ref    single-def "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V22 tmp20        [V22    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V07._reference (fldOffset=0x0)" P-INDEP
 ;* V23 tmp21        [V23    ] (  0,  0   )     int  ->  zero-ref    single-def "field V07._length (fldOffset=0x8)" P-INDEP
-;  V24 tmp22        [V24,T07] (  4,  1.50)   byref  ->  x20         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;  V24 tmp22        [V24,T05] (  4,  1.50)   byref  ->  x20         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
 ;* V25 tmp23        [V25,T08] (  0,  0   )     int  ->  zero-ref    single-def "field V08._length (fldOffset=0x8)" P-INDEP
 ;* V26 tmp24        [V26    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
 ;* V27 tmp25        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
-;  V28 tmp26        [V28,T04] (  2,  4.50)   byref  ->  x20         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V28 tmp26        [V28,T06] (  2,  1   )   byref  ->  x20         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V29 tmp27        [V29,T09] (  0,  0   )     int  ->  zero-ref    single-def "field V15._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 16
 
 G_M4386_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
+            stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
             mov     fp, sp
             str     wzr, [fp, #0x1C]   // [V01 loc0]
-                     ;; size=20 bbWeight=1 PerfScore 4.50
+                      ;; size=16 bbWeight=1 PerfScore 3.50
 G_M4386_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x19, [x0, #0x08]
@@ -65,7 +64,7 @@ G_M4386_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #1 LSL #32
             cmp     x0, x1
-            bne     G_M4386_IG08
+            bne     G_M4386_IG07
                      ;; size=56 bbWeight=1 PerfScore 15.50
 G_M4386_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref, isz
             ldr     x0, [x19, #0x08]
@@ -75,41 +74,29 @@ G_M4386_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=100000 {x
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             cmp     x1, x2
-            bne     G_M4386_IG07
-            add     x19, x0, #8
-            ; gcrRegs -[x19]
-            ; byrRegs +[x19]
-            mov     w21, wzr
-                       ;; size=36 bbWeight=0.50 PerfScore 5.00
-G_M4386_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=180000 {x19 x20}, byref, isz
+            bne     G_M4386_IG06
+            add     x0, x0, #8
             ; gcrRegs -[x0]
-            mov     w0, w21
-            add     x22, x20, x0
-            ; byrRegs +[x22]
-            mov     x0, x19
             ; byrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Random+CompatPrng:InternalSample():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #1 LSL #32
             ldr     x1, [x1]
             blr     x1
+            ; gcrRegs -[x19]
             ; byrRegs -[x0]
-            strb    w0, [x22]
-            add     w21, w21, #1
-            cmp     w21, #0
-            ble     G_M4386_IG04
-                       ;; size=48 bbWeight=4 PerfScore 40.00
-G_M4386_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x19-x20 x22]
+            strb    w0, [x20]
+                       ;; size=56 bbWeight=0.50 PerfScore 8.00
+G_M4386_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x20]
             ldrb    w0, [fp, #0x1C]    // [V01 loc0]
                        ;; size=4 bbWeight=1 PerfScore 2.00
-G_M4386_IG06:        ; bbWeight=1, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
+G_M4386_IG05:        ; bbWeight=1, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=16 bbWeight=1 PerfScore 4.00
-G_M4386_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20}, gcvars, byref
+                        ;; size=12 bbWeight=1 PerfScore 3.00
+G_M4386_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20}, gcvars, byref
             ; gcrRegs +[x0]
             ; byrRegs +[x20]
             mov     x1, x20
@@ -121,9 +108,9 @@ G_M4386_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x
             blr     x3
             ; gcrRegs -[x0]
             ; byrRegs -[x1 x20]
-            b       G_M4386_IG05
+            b       G_M4386_IG04
                         ;; size=28 bbWeight=0 PerfScore 0.00
-G_M4386_IG08:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref
+G_M4386_IG07:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref
             ; gcrRegs +[x19]
             ; byrRegs +[x20]
             mov     x1, x20
@@ -137,10 +124,10 @@ G_M4386_IG08:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}
             blr     x3
             ; gcrRegs -[x0 x19]
             ; byrRegs -[x1 x20]
-            b       G_M4386_IG05
+            b       G_M4386_IG04
                         ;; size=32 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 240, prolog size 20, PerfScore 71.00, instruction count 60, allocated bytes for code 240 (MethodHash=e971eedd) for method System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]:NextRandom():ubyte:this (Tier1)
+; Total bytes of code 204, prolog size 16, PerfScore 32.00, instruction count 51, allocated bytes for code 204 (MethodHash=e971eedd) for method System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]:NextRandom():ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -151,7 +138,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 60 (0x0003c) Actual length = 240 (0x0000f0)
+  Function Length   : 51 (0x00033) Actual length = 204 (0x0000cc)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -159,9 +146,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
     C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
     E4          end
     E4          end
     E4          end
  
-24 (-12.24%) : 59901.dasm - Microsoft.CodeAnalysis.ConsListExtensions:ContainsReferenceSystem.__Canon:ubyte (Tier1)
@@ -9,114 +9,101 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 TypeCtx      [V00,T00] (  7,  4.22)    long  ->  x19         single-def
-;  V01 arg0         [V01,T02] (  7,  3.06)     ref  ->  x20         class-hnd <Roslyn.Utilities.ConsList`1[System.__Canon]>
-;  V02 arg1         [V02,T03] (  3,  2.01)     ref  ->  x21         class-hnd single-def <System.__Canon>
+;  V00 TypeCtx      [V00,T00] (  5,  4.20)    long  ->   x0         single-def
+;  V01 arg0         [V01,T02] ( 11,  3.11)     ref  ->  x19         class-hnd <Roslyn.Utilities.ConsList`1[System.__Canon]>
+;  V02 arg1         [V02,T03] (  4,  2.03)     ref  ->  x20         class-hnd single-def <System.__Canon>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V05 rat0         [V05,T04] (  3,  4   )    long  ->   x0         "runtime lookup"
-;  V06 rat1         [V06,T01] (  3,  5.60)    long  ->   x0         "fgMakeTemp is creating a new local variable"
-;  V07 rat2         [V07,T06] (  3,  0.06)    long  ->   x0         "runtime lookup"
-;  V08 rat3         [V08,T05] (  3,  0.08)    long  ->   x0         "fgMakeTemp is creating a new local variable"
+;  V05 cse0         [V05,T05] (  4,  2.03)   byref  ->   x0         "CSE - aggressive"
+;  V06 rat0         [V06,T04] (  3,  4   )    long  ->   x1         "runtime lookup"
+;  V07 rat1         [V07,T01] (  3,  5.60)    long  ->   x1         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M14213_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     x19, x20, [sp, #0x20]
             mov     fp, sp
-            str     x0, [fp, #0x10]
-            mov     x19, x0
-            mov     x20, x1
+            str     x0, [fp, #0x18]
+            mov     x19, x1
+            ; gcrRegs +[x19]
+            mov     x20, x2
             ; gcrRegs +[x20]
-            mov     x21, x2
-            ; gcrRegs +[x21]
-                       ;; size=32 bbWeight=1 PerfScore 6.00
-G_M14213_IG02:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [x19, #0x38]
-            ldr     x0, [x0, #0x10]
-            cbz     x0, G_M14213_IG04
+                        ;; size=24 bbWeight=1 PerfScore 4.50
+G_M14213_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
+            ldr     x1, [x0, #0x38]
+            ldr     x1, [x1, #0x10]
+            cbz     x1, G_M14213_IG04
                       ;; size=12 bbWeight=1 PerfScore 7.00
-G_M14213_IG03:        ; bbWeight=0.80, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
+G_M14213_IG03:        ; bbWeight=0.80, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             b       G_M14213_IG05
                        ;; size=4 bbWeight=0.80 PerfScore 0.80
-G_M14213_IG04:        ; bbWeight=0.20, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
-            mov     x0, x19
+G_M14213_IG04:        ; bbWeight=0.20, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #1 LSL #32
             bl      CORINFO_HELP_RUNTIMEHANDLE_METHOD
             ; gcr arg pop 0
+            mov     x1, x0
                         ;; size=20 bbWeight=0.20 PerfScore 0.60
-G_M14213_IG05:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M14213_IG05:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
+            mov     x0, x1
             bl      CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
             ; byrRegs +[x0]
             ; gcr arg pop 0
-            ldr     x0, [x0]
-            ; gcrRegs +[x0]
-            ; byrRegs -[x0]
-            cmp     x0, x20
+            ldr     x1, [x0]
+            ; gcrRegs +[x1]
+            cmp     x1, x19
             bne     G_M14213_IG08
-                     ;; size=16 bbWeight=1 PerfScore 5.50
+                      ;; size=20 bbWeight=1 PerfScore 6.00
 G_M14213_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0 x20-x21]
+            ; gcrRegs -[x1 x19-x20]
+            ; byrRegs -[x0]
             mov     w0, wzr
                        ;; size=4 bbWeight=1 PerfScore 0.50
 G_M14213_IG07:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+            ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=16 bbWeight=1 PerfScore 5.00
-G_M14213_IG08:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x20-x21]
-            ldr     x0, [x20, #0x08]
-            ; gcrRegs +[x0]
-            cmp     x0, x21
-            beq     G_M14213_IG13
-            ldr     x20, [x20, #0x10]
-            ldr     x0, [x19, #0x38]
-            ; gcrRegs -[x0]
-            ldr     x0, [x0, #0x10]
-            cbz     x0, G_M14213_IG10
-                       ;; size=28 bbWeight=0.01 PerfScore 0.20
-G_M14213_IG09:        ; bbWeight=0.01, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
-            b       G_M14213_IG11
-                       ;; size=4 bbWeight=0.01 PerfScore 0.01
-G_M14213_IG10:        ; bbWeight=0.00, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
-            mov     x0, x19
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #1 LSL #32
-            bl      CORINFO_HELP_RUNTIMEHANDLE_METHOD
-            ; gcr arg pop 0
-                       ;; size=20 bbWeight=0.00 PerfScore 0.01
-G_M14213_IG11:        ; bbWeight=0.01, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
-            bl      CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+                       ;; size=12 bbWeight=1 PerfScore 3.00
+G_M14213_IG08:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0001 {x0}, gcvars, byref, isz
+            ; gcrRegs +[x19-x20]
             ; byrRegs +[x0]
-            ; gcr arg pop 0
-            ldr     x0, [x0]
-            ; gcrRegs +[x0]
+            ldr     x1, [x19, #0x08]
+            ; gcrRegs +[x1]
+            cmp     x1, x20
+            beq     G_M14213_IG11
+            ldr     x19, [x19, #0x10]
+            ldr     x1, [x0]
+            cmp     x1, x19
+            beq     G_M14213_IG06
+                       ;; size=28 bbWeight=0.01 PerfScore 0.16
+G_M14213_IG09:        ; bbWeight=0.01, gcrefRegs=180000 {x19 x20}, byrefRegs=0001 {x0}, byref, isz
+            ; gcrRegs -[x1]
+            ldr     x1, [x19, #0x08]
+            ; gcrRegs +[x1]
+            cmp     x1, x20
+            beq     G_M14213_IG11
+            ldr     x19, [x19, #0x10]
+            ldr     x1, [x0]
+            cmp     x1, x19
+            bne     G_M14213_IG09
+                       ;; size=28 bbWeight=0.01 PerfScore 0.17
+G_M14213_IG10:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x1 x19-x20]
             ; byrRegs -[x0]
-            cmp     x0, x20
-            bne     G_M14213_IG08
-                       ;; size=16 bbWeight=0.01 PerfScore 0.08
-G_M14213_IG12:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0 x20-x21]
             b       G_M14213_IG06
                        ;; size=4 bbWeight=0.01 PerfScore 0.01
-G_M14213_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M14213_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #1
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M14213_IG14:        ; bbWeight=0, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+G_M14213_IG12:        ; bbWeight=0, epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=16 bbWeight=0 PerfScore 0.00
+                      ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 196, prolog size 32, PerfScore 25.71, instruction count 49, allocated bytes for code 196 (MethodHash=ae78c87a) for method Microsoft.CodeAnalysis.ConsListExtensions:ContainsReference[System.__Canon](Roslyn.Utilities.ConsList`1[System.__Canon],System.__Canon):ubyte (Tier1)
+; Total bytes of code 172, prolog size 24, PerfScore 22.75, instruction count 43, allocated bytes for code 172 (MethodHash=ae78c87a) for method Microsoft.CodeAnalysis.ConsListExtensions:ContainsReference[System.__Canon](Roslyn.Utilities.ConsList`1[System.__Canon],System.__Canon):ubyte (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -127,7 +114,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 49 (0x00031) Actual length = 196 (0x0000c4)
+  Function Length   : 43 (0x0002b) Actual length = 172 (0x0000ac)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -138,9 +125,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
     85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
+    E4          end
+    E4          end
 
  
+48 (+70.59%) : 434564.dasm - System.Runtime.Tests.ControlledExecutionTests:RunInfiniteLoop():this (Tier1-OSR)
@@ -9,10 +9,10 @@
 ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 9980
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Runtime.Tests.ControlledExecutionTests>
-;  V01 loc0         [V01,T02] (  3,  3   )     int  ->   x0        
+;  V00 this         [V00,T02] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Runtime.Tests.ControlledExecutionTests>
+;  V01 loc0         [V01,T00] (  6,  6   )     int  ->   x0        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 cse0         [V03,T01] (  3,  3   )   byref  ->  x19         hoist "CSE - aggressive"
+;  V03 cse0         [V03,T01] (  5,  5   )   byref  ->  x19         "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
@@ -23,12 +23,17 @@ G_M38489_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     x0, [fp, #0x48]
             ; gcrRegs +[x0]
                        ;; size=16 bbWeight=1 PerfScore 4.50
-G_M38489_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M38489_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     x19, x0, #16
             ; byrRegs +[x19]
-                     ;; size=4 bbWeight=1 PerfScore 0.50
-G_M38489_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
+            ldapr   w0, [x19]
             ; gcrRegs -[x0]
+            add     w0, w0, #1
+            stlr    w0, [x19]
+            tst     w0, #0xD1FFAB1E
+            beq     G_M38489_IG05
+                       ;; size=24 bbWeight=1 PerfScore 6.50
+G_M38489_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
             ldapr   w0, [x19]
             add     w0, w0, #1
             stlr    w0, [x19]
@@ -45,8 +50,18 @@ G_M38489_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, by
             ; gcr arg pop 0
             b       G_M38489_IG03
                        ;; size=28 bbWeight=0 PerfScore 0.00
+G_M38489_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref
+            mov     w0, wzr
+            movz    x1, #0xD1FFAB1E      // code for <unknown method>
+            movk    x1, #0xD1FFAB1E LSL #16
+            movk    x1, #1 LSL #32
+            ldr     x1, [x1]
+            blr     x1
+            ; gcr arg pop 0
+            b       G_M38489_IG03
+                       ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 68, prolog size 16, PerfScore 11.00, instruction count 17, allocated bytes for code 68 (MethodHash=e35169a6) for method System.Runtime.Tests.ControlledExecutionTests:RunInfiniteLoop():this (Tier1-OSR)
+; Total bytes of code 116, prolog size 16, PerfScore 17.00, instruction count 29, allocated bytes for code 116 (MethodHash=e35169a6) for method System.Runtime.Tests.ControlledExecutionTests:RunInfiniteLoop():this (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -57,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
   ---- Epilog scopes ----
   No epilogs
   ---- Unwind codes ----
  
+24 (+75.00%) : 161682.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:GetRootScope():Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:this (Tier1)
@@ -8,9 +8,9 @@
 ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 22
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  3,  3   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
-;  V01 loc0         [V01,T01] (  4,  3   )     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
-;  V02 loc1         [V02,T02] (  3,  2   )     ref  ->   x1         class-hnd exact <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
+;  V00 this         [V00,T00] (  4,  4   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
+;  V01 loc0         [V01,T02] (  5,  4   )     ref  ->  registers   class-hnd <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
+;  V02 loc1         [V02,T01] (  6,  5   )     ref  ->   x2         class-hnd exact <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -21,22 +21,42 @@ G_M46173_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M46173_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
-            ldr     x1, [x0, #0x08]
+            mov     x1, x0
             ; gcrRegs +[x1]
-            cbnz    x1, G_M46173_IG04
-                       ;; size=8 bbWeight=1 PerfScore 4.00
-G_M46173_IG03:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x2, [x0, #0x08]
+            ; gcrRegs +[x2]
+            cbnz    x2, G_M46173_IG05
+                       ;; size=12 bbWeight=1 PerfScore 4.50
+G_M46173_IG03:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0 x2]
+            mov     x0, x1
+            ; gcrRegs +[x0]
+                       ;; size=4 bbWeight=1 PerfScore 0.50
+G_M46173_IG04:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M46173_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0]
-            mov     x0, x1
+G_M46173_IG05:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0-x1] +[x2]
+            mov     x1, x2
+            ; gcrRegs +[x1]
+                       ;; size=4 bbWeight=1 PerfScore 0.50
+G_M46173_IG06:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            ldr     x2, [x1, #0x08]
+            ; gcrRegs +[x2]
+            cbz     x2, G_M46173_IG03
+                       ;; size=8 bbWeight=1 PerfScore 4.00
+G_M46173_IG07:        ; bbWeight=0, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x1]
+            mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M46173_IG02
-                       ;; size=8 bbWeight=0 PerfScore 0.00
+            mov     x1, x0
+            ; gcrRegs +[x1]
+            b       G_M46173_IG06
+                       ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 32, prolog size 8, PerfScore 7.50, instruction count 8, allocated bytes for code 32 (MethodHash=03f14ba2) for method Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:GetRootScope():Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:this (Tier1)
+; Total bytes of code 56, prolog size 8, PerfScore 13.00, instruction count 14, allocated bytes for code 56 (MethodHash=03f14ba2) for method Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:GetRootScope():Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -47,7 +67,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 8 (0x00008) Actual length = 32 (0x000020)
+  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+24 (+75.00%) : 591772.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:GetRootScope():Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:this (Tier1)
@@ -8,9 +8,9 @@
 ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 69520
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  3,  3   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
-;  V01 loc0         [V01,T01] (  4,  3   )     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
-;  V02 loc1         [V02,T02] (  3,  2   )     ref  ->   x1         class-hnd exact <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
+;  V00 this         [V00,T00] (  4,  4   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
+;  V01 loc0         [V01,T02] (  5,  4   )     ref  ->  registers   class-hnd <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
+;  V02 loc1         [V02,T01] (  6,  5   )     ref  ->   x2         class-hnd exact <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -21,22 +21,42 @@ G_M46173_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M46173_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
-            ldr     x1, [x0, #0x08]
+            mov     x1, x0
             ; gcrRegs +[x1]
-            cbnz    x1, G_M46173_IG04
-                       ;; size=8 bbWeight=1 PerfScore 4.00
-G_M46173_IG03:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x2, [x0, #0x08]
+            ; gcrRegs +[x2]
+            cbnz    x2, G_M46173_IG05
+                       ;; size=12 bbWeight=1 PerfScore 4.50
+G_M46173_IG03:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0 x2]
+            mov     x0, x1
+            ; gcrRegs +[x0]
+                       ;; size=4 bbWeight=1 PerfScore 0.50
+G_M46173_IG04:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M46173_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0]
-            mov     x0, x1
+G_M46173_IG05:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0-x1] +[x2]
+            mov     x1, x2
+            ; gcrRegs +[x1]
+                       ;; size=4 bbWeight=1 PerfScore 0.50
+G_M46173_IG06:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            ldr     x2, [x1, #0x08]
+            ; gcrRegs +[x2]
+            cbz     x2, G_M46173_IG03
+                       ;; size=8 bbWeight=1 PerfScore 4.00
+G_M46173_IG07:        ; bbWeight=0, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x1]
+            mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M46173_IG02
-                       ;; size=8 bbWeight=0 PerfScore 0.00
+            mov     x1, x0
+            ; gcrRegs +[x1]
+            b       G_M46173_IG06
+                       ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 32, prolog size 8, PerfScore 7.50, instruction count 8, allocated bytes for code 32 (MethodHash=03f14ba2) for method Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:GetRootScope():Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:this (Tier1)
+; Total bytes of code 56, prolog size 8, PerfScore 13.00, instruction count 14, allocated bytes for code 56 (MethodHash=03f14ba2) for method Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:GetRootScope():Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -47,7 +67,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 8 (0x00008) Actual length = 32 (0x000020)
+  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
librariestestsnotieredcompilation.run.osx.arm64.Release.mch
-40 (-8.93%) : 212946.dasm - System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (FullOpts)
@@ -8,68 +8,56 @@
 ; 1 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  3,  3   )     ref  ->  x20         this class-hnd single-def <System.Security.Cryptography.TripleDES>
+;  V00 this         [V00,T04] (  3,  3   )     ref  ->  x20         this class-hnd single-def <System.Security.Cryptography.TripleDES>
 ;  V01 arg1         [V01,T02] (  6,  6   )     ref  ->  x19         class-hnd single-def <ubyte[]>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V03 tmp1         [V03,T07] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V04 tmp2         [V04,T08] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V05 tmp3         [V05,T01] (  2, 10   )     int  ->  x21         "Inlining Arg"
+;  V05 tmp3         [V05,T01] (  2,  4   )     int  ->   x0         "Inlining Arg"
 ;  V06 tmp4         [V06,T05] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.KeySizes[]>
-;  V07 tmp5         [V07    ] (  2,  4   )   ubyte  ->  [fp+0x10]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V07 tmp5         [V07    ] (  2,  1   )   ubyte  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V08 tmp6         [V08,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp7         [V09,T00] (  5, 17   )     int  ->  x22         "Inline stloc first use temp"
+;* V09 tmp7         [V09,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T09] (  2,  0   )     ref  ->  x20         single-def "argument with side effect"
 ;  V11 tmp9         [V11,T10] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
 ;  V12 tmp10        [V12,T11] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
 ;  V13 tmp11        [V13,T12] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
-;  V14 cse0         [V14,T04] (  2,  5   )   byref  ->  x23         hoist "CSE - aggressive"
+;  V14 cse0         [V14,T03] (  2,  2   )   byref  ->   x1         "CSE - aggressive"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M39649_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x20]
             mov     fp, sp
             mov     x20, x0
             ; gcrRegs +[x20]
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=28 bbWeight=1 PerfScore 5.50
+                      ;; size=20 bbWeight=1 PerfScore 3.50
 G_M39649_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            cbz     x19, G_M39649_IG06
+            cbz     x19, G_M39649_IG04
             ldr     w1, [x19, #0x08]
-            lsl     w21, w1, #3
+            lsl     w0, w1, #3
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #2 LSL #32
             ldr     x1, [x1]
             ; gcrRegs +[x1]
-            mov     w22, wzr
-            add     x23, x1, #16
-            ; byrRegs +[x23]
-                       ;; size=36 bbWeight=1 PerfScore 10.50
-G_M39649_IG03:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=800000 {x23}, byref, isz
+            add     x1, x1, #16
             ; gcrRegs -[x1]
-            ldr     x1, [x23, w22, UXTW #3]
+            ; byrRegs +[x1]
+            ldr     x1, [x1]
             ; gcrRegs +[x1]
-            add     x2, fp, #16   // [V07 tmp5]
-            mov     w0, w21
+            ; byrRegs -[x1]
+            add     x2, fp, #24    // [V07 tmp5]
             movz    x3, #0xD1FFAB1E      // code for System.Security.Cryptography.KeySizeHelpers:IsLegalSize(int,System.Security.Cryptography.KeySizes,byref):ubyte
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #1 LSL #32
             ldr     x3, [x3]
             blr     x3
             ; gcrRegs -[x1]
-            cbnz    w0, G_M39649_IG04
-            add     w22, w22, #1
-            cmp     w22, #0
-            bgt     G_M39649_IG07
-            b       G_M39649_IG03
-                       ;; size=52 bbWeight=4 PerfScore 54.00
-G_M39649_IG04:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; byrRegs -[x23]
+            cbz     w0, G_M39649_IG05
             mov     x0, x19
             ; gcrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Security.Cryptography.TripleDES:IsWeakKey(ubyte[]):ubyte
@@ -78,7 +66,7 @@ G_M39649_IG04:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ldr     x1, [x1]
             blr     x1
             ; gcrRegs -[x0]
-            cbnz    w0, G_M39649_IG08
+            cbnz    w0, G_M39649_IG06
             mov     x0, x20
             ; gcrRegs +[x0]
             mov     x1, x19
@@ -89,15 +77,13 @@ G_M39649_IG04:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ldr     x2, [x2]
             blr     x2
             ; gcrRegs -[x0-x1 x19-x20]
-                       ;; size=56 bbWeight=1 PerfScore 13.50
-G_M39649_IG05:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x23, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x40
+                      ;; size=120 bbWeight=1 PerfScore 33.50
+G_M39649_IG03:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x20]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=20 bbWeight=1 PerfScore 6.00
-G_M39649_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                      ;; size=12 bbWeight=1 PerfScore 3.00
+G_M39649_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -112,8 +98,8 @@ G_M39649_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; gcrRegs -[x0]
             brk_unix #0
                        ;; size=44 bbWeight=0 PerfScore 0.00
-G_M39649_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            strb    wzr, [fp, #0x10]   // [V07 tmp5]
+G_M39649_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            strb    wzr, [fp, #0x18]   // [V07 tmp5]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -142,7 +128,7 @@ G_M39649_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_THROW
             ; gcrRegs -[x0 x19]
                        ;; size=80 bbWeight=0 PerfScore 0.00
-G_M39649_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M39649_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -191,7 +177,7 @@ G_M39649_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=132 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 448, prolog size 20, PerfScore 89.50, instruction count 112, allocated bytes for code 448 (MethodHash=dd70651e) for method System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (FullOpts)
+; Total bytes of code 408, prolog size 12, PerfScore 40.00, instruction count 102, allocated bytes for code 408 (MethodHash=dd70651e) for method System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -202,7 +188,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 112 (0x00070) Actual length = 448 (0x0001c0)
+  Function Length   : 102 (0x00066) Actual length = 408 (0x000198)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -210,9 +196,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D1 07       save_reg X#4 Z#7 (0x07); str x23, [sp, #56]
-    E6          save_next
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
+    E4          end
+    E4          end
     E4          end
 
  
-16 (-8.70%) : 176108.dasm - System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
@@ -9,20 +9,20 @@
 ; Final local variable assignments
 ;
 ;# V00 OutArgs      [V00    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V01 tmp1         [V01,T01] (  4,  8   )     ref  ->   x6         class-hnd exact single-def "dup spill" <System.Type[]>
+;  V01 tmp1         [V01,T01] (  4,  8.00)     ref  ->   x6         class-hnd exact single-def "dup spill" <System.Type[]>
 ;* V02 tmp2         [V02,T03] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
 ;* V03 tmp3         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
-;  V04 tmp4         [V04,T00] (  5, 20.93)     int  ->   x0         "Inline stloc first use temp"
+;* V04 tmp4         [V04,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V05 tmp5         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
-;  V06 cse0         [V06,T02] (  2,  2.98)   byref  ->   x1         hoist "CSE - aggressive"
+;  V06 cse0         [V06,T02] (  2,  2.00)   byref  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
-G_M2572_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+G_M2572_IG01:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
-                       ;; size=8 bbWeight=1 PerfScore 1.50
-G_M2572_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=8 bbWeight=1.00 PerfScore 1.50
+G_M2572_IG02:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -37,23 +37,15 @@ G_M2572_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
             str     x0, [x6, #0x10]
-            mov     w0, wzr
-            add     x1, x6, #16
-            ; byrRegs +[x1]
-                       ;; size=48 bbWeight=1 PerfScore 7.00
-G_M2572_IG03:        ; bbWeight=1.98, gcrefRegs=0040 {x6}, byrefRegs=0002 {x1}, byref, isz
-            ldr     x2, [x1, w0, UXTW #3]
-            ; gcrRegs +[x2]
-            cbz     x2, G_M2572_IG07
-                       ;; size=8 bbWeight=1.98 PerfScore 7.93
-G_M2572_IG04:        ; bbWeight=5.98, gcrefRegs=0040 {x6}, byrefRegs=0002 {x1}, byref, isz
-            ; gcrRegs -[x2]
-            add     w0, w0, #1
-            cmp     w0, #1
-            blt     G_M2572_IG03
-                       ;; size=12 bbWeight=5.98 PerfScore 11.97
-G_M2572_IG05:        ; bbWeight=1, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x1]
+            add     x0, x6, #16
+            ; byrRegs +[x0]
+            ldr     x0, [x0]
+            ; gcrRegs +[x0]
+            ; byrRegs -[x0]
+            cbz     x0, G_M2572_IG05
+                       ;; size=52 bbWeight=1.00 PerfScore 10.50
+G_M2572_IG03:        ; bbWeight=3.02, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -69,13 +61,13 @@ G_M2572_IG05:        ; bbWeight=1, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
             movk    x8, #0xD1FFAB1E LSL #16
             movk    x8, #1 LSL #32
             ldr     x8, [x8]
-                     ;; size=60 bbWeight=1 PerfScore 10.00
-G_M2572_IG06:        ; bbWeight=1, epilog, nogc, extend
+                      ;; size=60 bbWeight=3.02 PerfScore 30.17
+G_M2572_IG04:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             br      x8
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M2572_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M2572_IG05:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x6]
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E LSL #16
@@ -93,7 +85,7 @@ G_M2572_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
             brk_unix #0
                        ;; size=40 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 184, prolog size 8, PerfScore 40.40, instruction count 46, allocated bytes for code 184 (MethodHash=7398f5f3) for method System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
+; Total bytes of code 168, prolog size 8, PerfScore 44.17, instruction count 42, allocated bytes for code 168 (MethodHash=7398f5f3) for method System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -104,7 +96,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 46 (0x0002e) Actual length = 184 (0x0000b8)
+  Function Length   : 42 (0x0002a) Actual length = 168 (0x0000a8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-32 (-8.00%) : 218495.dasm - System.Security.Cryptography.RC2:set_EffectiveKeySize(int):this (FullOpts)
@@ -9,62 +9,58 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T02] (  5,  4   )     ref  ->  x20         this class-hnd single-def <System.Security.Cryptography.RC2>
-;  V01 arg1         [V01,T01] (  7,  9   )     int  ->  x19         single-def
+;  V01 arg1         [V01,T01] (  7,  5.50)     int  ->  x19         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V03 tmp1         [V03,T06] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V04 tmp2         [V04,T07] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V05 tmp3         [V05,T08] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V06 tmp4         [V06,T04] (  2,  2   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.KeySizes[]>
-;  V07 tmp5         [V07    ] (  2,  4   )   ubyte  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V07 tmp5         [V07    ] (  2,  0.50)   ubyte  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V08 tmp6         [V08,T05] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp7         [V09,T00] (  5, 16.50)     int  ->  x21         "Inline stloc first use temp"
+;* V09 tmp7         [V09,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T09] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
 ;  V11 tmp9         [V11,T10] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
 ;  V12 tmp10        [V12,T11] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
-;  V13 cse0         [V13,T03] (  2,  4.50)   byref  ->  x22         hoist "CSE - aggressive"
+;  V13 cse0         [V13,T03] (  2,  1   )   byref  ->   x1         "CSE - aggressive"
 ;
 ; Lcl frame size = 16
 
 G_M43684_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
+            stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
             mov     fp, sp
             mov     x20, x0
             ; gcrRegs +[x20]
             mov     w19, w1
-                      ;; size=24 bbWeight=1 PerfScore 4.50
+                      ;; size=20 bbWeight=1 PerfScore 3.50
 G_M43684_IG02:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
             ldr     w1, [x20, #0x38]
             cmp     w19, w1
-            bgt     G_M43684_IG09
+            bgt     G_M43684_IG07
             cbnz    w19, G_M43684_IG05
                        ;; size=16 bbWeight=1 PerfScore 5.50
 G_M43684_IG03:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
             str     wzr, [x20, #0x3C]
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M43684_IG04:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M43684_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, gcvars, byref, isz
             cmp     w19, #40
-            blt     G_M43684_IG10
+            blt     G_M43684_IG08
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #1 LSL #32
             ldr     x1, [x1]
             ; gcrRegs +[x1]
-            mov     w21, wzr
-            add     x22, x1, #16
-            ; byrRegs +[x22]
-                       ;; size=32 bbWeight=0.50 PerfScore 3.50
-G_M43684_IG06:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=400000 {x22}, byref, isz
+            add     x1, x1, #16
             ; gcrRegs -[x1]
-            ldr     x1, [x22, w21, UXTW #3]
+            ; byrRegs +[x1]
+            ldr     x1, [x1]
             ; gcrRegs +[x1]
+            ; byrRegs -[x1]
             add     x2, fp, #24    // [V07 tmp5]
             mov     w0, w19
             movz    x3, #0xD1FFAB1E      // code for System.Security.Cryptography.KeySizeHelpers:IsLegalSize(int,System.Security.Cryptography.KeySizes,byref):ubyte
@@ -73,23 +69,15 @@ G_M43684_IG06:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=400000 {x2
             ldr     x3, [x3]
             blr     x3
             ; gcrRegs -[x1]
-            cbnz    w0, G_M43684_IG07
-            add     w21, w21, #1
-            cmp     w21, #0
-            bgt     G_M43684_IG11
-            b       G_M43684_IG06
-                       ;; size=52 bbWeight=4 PerfScore 54.00
-G_M43684_IG07:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x22]
+            cbz     w0, G_M43684_IG09
             str     w19, [x20, #0x3C]
-                     ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M43684_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
+                        ;; size=68 bbWeight=0.50 PerfScore 9.00
+G_M43684_IG06:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                     ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M43684_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+G_M43684_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x20]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -119,7 +107,7 @@ G_M43684_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             bl      CORINFO_HELP_THROW
             ; gcrRegs -[x0 x19]
                        ;; size=76 bbWeight=0 PerfScore 0.00
-G_M43684_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M43684_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #2 LSL #32
@@ -148,7 +136,7 @@ G_M43684_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_THROW
             ; gcrRegs -[x0 x19]
                        ;; size=76 bbWeight=0 PerfScore 0.00
-G_M43684_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M43684_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             strb    wzr, [fp, #0x18]  // [V07 tmp5]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -180,7 +168,7 @@ G_M43684_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=84 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 400, prolog size 16, PerfScore 72.50, instruction count 100, allocated bytes for code 400 (MethodHash=914c555b) for method System.Security.Cryptography.RC2:set_EffectiveKeySize(int):this (FullOpts)
+; Total bytes of code 368, prolog size 12, PerfScore 21.50, instruction count 92, allocated bytes for code 368 (MethodHash=914c555b) for method System.Security.Cryptography.RC2:set_EffectiveKeySize(int):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -191,7 +179,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 100 (0x00064) Actual length = 400 (0x000190)
+  Function Length   : 92 (0x0005c) Actual length = 368 (0x000170)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -202,9 +190,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
     C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
     E4          end
     E4          end
     E4          end
  
+44 (+64.71%) : 66563.dasm - System.Collections.Immutable.ImmutableList`1+Node[int]:ItemRefUnchecked(int):byref:this (FullOpts)
@@ -7,14 +7,16 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  7, 23   )     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[int]>
-;  V01 arg1         [V01,T00] (  6, 26   )     int  ->   x1        
+;  V00 this         [V00,T02] ( 11, 25.50)     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[int]>
+;  V01 arg1         [V01,T00] ( 10, 29   )     int  ->   x1        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T06] (  2, 16   )     int  ->   x1         "arg temp"
-;  V04 tmp2         [V04,T04] (  2, 16   )     ref  ->   x0         single-def "arg temp"
-;  V05 tmp3         [V05,T05] (  2, 16   )     ref  ->   x0         single-def "arg temp"
+;  V03 tmp1         [V03,T06] (  4, 18   )     int  ->   x1         "arg temp"
+;  V04 tmp2         [V04,T04] (  4, 18   )     ref  ->   x0         "arg temp"
+;  V05 tmp3         [V05,T05] (  4, 18   )     ref  ->   x0         "arg temp"
 ;  V06 cse0         [V06,T01] (  4, 28   )     int  ->   x3         "CSE - aggressive"
-;  V07 cse1         [V07,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  4,  3.50)     int  ->   x3         "CSE - aggressive"
+;  V08 cse2         [V08,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V09 cse3         [V09,T08] (  3,  2.50)     ref  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -22,42 +24,65 @@ G_M57541_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M57541_IG02:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M57541_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x2, [x0, #0x08]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x1C]
             cmp     w1, w3
             bge     G_M57541_IG04
-                        ;; size=16 bbWeight=8 PerfScore 60.00
-G_M57541_IG03:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+                        ;; size=16 bbWeight=1 PerfScore 7.50
+G_M57541_IG03:        ; bbWeight=0.50, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M57541_IG02
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M57541_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M57541_IG06
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
+G_M57541_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x2]
             cmp     w1, w3
-            ble     G_M57541_IG06
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M57541_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ble     G_M57541_IG10
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M57541_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             sub     w1, w1, w3
             sub     w1, w1, #1
             ldr     x0, [x0, #0x10]
-            b       G_M57541_IG02
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M57541_IG06:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     x2, [x0, #0x08]
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x1C]
+            cmp     w1, w3
+            bge     G_M57541_IG08
+                       ;; size=16 bbWeight=8 PerfScore 60.00
+G_M57541_IG07:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x2
+            ; gcrRegs +[x0]
+            b       G_M57541_IG06
+                       ;; size=8 bbWeight=4 PerfScore 6.00
+G_M57541_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            cmp     w1, w3
+            ble     G_M57541_IG10
+                       ;; size=8 bbWeight=8 PerfScore 12.00
+G_M57541_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            sub     w1, w1, w3
+            sub     w1, w1, #1
+            ldr     x0, [x0, #0x10]
+            b       G_M57541_IG06
                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M57541_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M57541_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x0, x0, #24
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M57541_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M57541_IG11:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 102.00, instruction count 17, allocated bytes for code 68 (MethodHash=439c1f3a) for method System.Collections.Immutable.ImmutableList`1+Node[int]:ItemRefUnchecked(int):byref:this (FullOpts)
+; Total bytes of code 112, prolog size 8, PerfScore 113.75, instruction count 28, allocated bytes for code 112 (MethodHash=439c1f3a) for method System.Collections.Immutable.ImmutableList`1+Node[int]:ItemRefUnchecked(int):byref:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -68,7 +93,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+44 (+68.75%) : 198618.dasm - System.Runtime.Tests.ControlledExecutionTests:RunInfiniteLoop():this (FullOpts)
@@ -8,28 +8,40 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T02] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Runtime.Tests.ControlledExecutionTests>
-;  V01 loc0         [V01,T00] (  3, 24   )     int  ->   x0        
+;  V01 loc0         [V01,T00] (  6, 27   )     int  ->  x20        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 cse0         [V03,T01] (  3, 17   )   byref  ->  x19         hoist "CSE - aggressive"
+;  V03 cse0         [V03,T01] (  5, 19   )   byref  ->  x19         "CSE - aggressive"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M38489_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x20]!
-            str     x19, [sp, #0x18]
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
                        ;; size=12 bbWeight=1 PerfScore 2.50
-G_M38489_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M38489_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             add     x19, x0, #16
             ; byrRegs +[x19]
-                     ;; size=4 bbWeight=1 PerfScore 0.50
-G_M38489_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
-            ; gcrRegs -[x0]
             ldapr   w0, [x19]
-            add     w0, w0, #1
-            stlr    w0, [x19]
-            tst     w0, #0xD1FFAB1E
+            ; gcrRegs -[x0]
+            add     w20, w0, #1
+            stlr    w20, [x19]
+            tst     w20, #0xD1FFAB1E
+            bne     G_M38489_IG03
+            mov     w0, wzr
+            movz    x1, #0xD1FFAB1E      // code for <unknown method>
+            movk    x1, #0xD1FFAB1E LSL #16
+            movk    x1, #1 LSL #32
+            ldr     x1, [x1]
+            blr     x1
+            ; gcr arg pop 0
+                       ;; size=48 bbWeight=1 PerfScore 12.50
+G_M38489_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
+            ldapr   w0, [x19]
+            add     w20, w0, #1
+            stlr    w20, [x19]
+            tst     w20, #0xD1FFAB1E
             bne     G_M38489_IG03
             mov     w0, wzr
             movz    x1, #0xD1FFAB1E      // code for <unknown method>
@@ -41,7 +53,7 @@ G_M38489_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, by
             b       G_M38489_IG03
                        ;; size=48 bbWeight=8 PerfScore 104.00
 
-; Total bytes of code 64, prolog size 12, PerfScore 107.00, instruction count 16, allocated bytes for code 64 (MethodHash=e35169a6) for method System.Runtime.Tests.ControlledExecutionTests:RunInfiniteLoop():this (FullOpts)
+; Total bytes of code 108, prolog size 12, PerfScore 119.00, instruction count 27, allocated bytes for code 108 (MethodHash=e35169a6) for method System.Runtime.Tests.ControlledExecutionTests:RunInfiniteLoop():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -52,12 +64,12 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 16 (0x00010) Actual length = 64 (0x000040)
+  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
   ---- Epilog scopes ----
   No epilogs
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
-    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
     83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
     E4          end
     E4          end
  
+48 (+75.00%) : 298748.dasm - System.Threading.Tasks.Tests.CESchedulerPairTests+<>c:b_00():this (FullOpts)
@@ -9,10 +9,10 @@
 ; Final local variable assignments
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <System.Threading.Tasks.Tests.CESchedulerPairTests+<>c>
-;  V01 loc0         [V01    ] (  2, 10   )  struct ( 8) [fp+0x18]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Threading.SpinWait>
+;  V01 loc0         [V01    ] (  4, 11.25)  struct ( 8) [fp+0x18]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Threading.SpinWait>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03,T00] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V04 tmp2         [V04    ] (  2, 10   )     int  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V01._count (fldOffset=0x0)" P-DEP
+;  V04 tmp2         [V04    ] (  4, 11.25)     int  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V01._count (fldOffset=0x0)" P-DEP
 ;
 ; Lcl frame size = 16
 
@@ -24,7 +24,25 @@ G_M31209_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M31209_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             b       G_M31209_IG04
                        ;; size=4 bbWeight=1 PerfScore 1.00
-G_M31209_IG03:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M31209_IG03:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, fp, #24    // [V01 loc0]
+            mov     w1, #20
+            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #1 LSL #32
+            ldr     x2, [x2]
+            blr     x2
+            b       G_M31209_IG07
+                       ;; size=32 bbWeight=0.25 PerfScore 1.88
+G_M31209_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            ldr     w0, [fp, #0x18]    // [V04 tmp2]
+            cmp     w0, #10
+            bge     G_M31209_IG08
+                       ;; size=12 bbWeight=1 PerfScore 3.50
+G_M31209_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M31209_IG03
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
+G_M31209_IG06:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             add     x0, fp, #24 // [V01 loc0]
             mov     w1, #20
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
@@ -33,17 +51,17 @@ G_M31209_IG03:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     x2, [x2]
             blr     x2
                        ;; size=28 bbWeight=2 PerfScore 13.00
-G_M31209_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M31209_IG07:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [fp, #0x18]    // [V04 tmp2]
             cmp     w0, #10
-            blt     G_M31209_IG03
+            blt     G_M31209_IG06
                       ;; size=12 bbWeight=8 PerfScore 28.00
-G_M31209_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M31209_IG08:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=8 bbWeight=4 PerfScore 8.00
 
-; Total bytes of code 64, prolog size 12, PerfScore 52.50, instruction count 16, allocated bytes for code 64 (MethodHash=3fe58616) for method System.Threading.Tasks.Tests.CESchedulerPairTests+<>c:<TestCreationOptions>b__0_0():this (FullOpts)
+; Total bytes of code 112, prolog size 12, PerfScore 58.38, instruction count 28, allocated bytes for code 112 (MethodHash=3fe58616) for method System.Threading.Tasks.Tests.CESchedulerPairTests+<>c:<TestCreationOptions>b__0_0():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -54,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 16 (0x00010) Actual length = 64 (0x000040)
+  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
realworld.run.osx.arm64.checked.mch
-44 (-33.33%) : 1557.dasm - BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
@@ -8,18 +8,17 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T04] (  4,  4   )   byref  ->   x0         single-def
-;  V01 arg1         [V01,T05] (  4,  4   )   byref  ->   x1         single-def
-;  V02 arg2         [V02,T06] (  4,  4   )   byref  ->   x2         single-def
-;* V03 loc0         [V03,T10] (  0,  0   )     int  ->  zero-ref   
-;  V04 loc1         [V04,T07] (  2,  5   )   byref  ->   x2         single-def
-;  V05 loc2         [V05,T08] (  2,  5   )   byref  ->   x1         single-def
-;  V06 loc3         [V06,T00] (  5, 17   )     int  ->   x3        
-;  V07 loc4         [V07,T01] (  4, 16   )   byref  ->   x5        
-;  V08 loc5         [V08,T03] (  3, 12   )   byref  ->   x6        
+;  V00 arg0         [V00,T00] (  4,  4   )   byref  ->   x0         single-def
+;  V01 arg1         [V01,T01] (  4,  4   )   byref  ->   x1         single-def
+;  V02 arg2         [V02,T02] (  4,  4   )   byref  ->   x2         single-def
+;* V03 loc0         [V03,T09] (  0,  0   )     int  ->  zero-ref   
+;  V04 loc1         [V04,T05] (  2,  2   )   byref  ->   x2         single-def
+;  V05 loc2         [V05,T06] (  2,  2   )   byref  ->   x1         single-def
+;* V06 loc3         [V06,T08] (  0,  0   )     int  ->  zero-ref   
+;  V07 loc4         [V07,T03] (  4,  4   )   byref  ->   x0        
+;  V08 loc5         [V08,T04] (  3,  3   )   byref  ->   x2        
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 cse0         [V10,T09] (  2,  5   )   byref  ->   x0         hoist "CSE - aggressive"
-;  V11 cse1         [V11,T02] (  4, 16   )    long  ->   x4         "CSE - aggressive"
+;  V10 cse0         [V10,T07] (  2,  2   )   byref  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -35,41 +34,26 @@ G_M31235_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0007 {x0 x1 x2}
             stp     xzr, xzr, [x2, #0x20]
             str     xzr, [x2, #0x30]
             add     x1, x1, #4
-            mov     w3, wzr
             ldrsb   wzr, [x0]
             add     x0, x0, #28
-                      ;; size=36 bbWeight=1 PerfScore 9.50
-G_M31235_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0007 {x0 x1 x2}, byref, isz
-            sxtw    x4, w3
-            mov     x5, #20
-            mul     x5, x4, x5
-            add     x5, x0, x5
-            ; byrRegs +[x5]
-            lsl     x6, x4, #4
-            add     x6, x2, x6
-            ; byrRegs +[x6]
-            ldr     w7, [x5, #0x10]
-            lsl     x4, x4, #2
-            str     w7, [x1, x4]
-            ldr     d16, [x5]
-            ldr     w4, [x5, #0x08]
-            mov     v16.s[2], w4
-            str     d16, [x6]
-            mov     w4, v16.s[2]
-            str     w4, [x6, #0x08]
-            ldr     s16, [x5, #0x0C]
-            str     s16, [x6, #0x0C]
-            add     w3, w3, #1
-            cmp     w3, #0
-            ble     G_M31235_IG03
-                       ;; size=80 bbWeight=4 PerfScore 104.00
-G_M31235_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ; byrRegs -[x0-x2 x5-x6]
+            ldr     w3, [x0, #0x10]
+            str     w3, [x1]
+            ldr     d16, [x0]
+            ldr     w1, [x0, #0x08]
+            ; byrRegs -[x1]
+            mov     v16.s[2], w1
+            str     d16, [x2]
+            mov     w1, v16.s[2]
+            str     w1, [x2, #0x08]
+            ldr     s16, [x0, #0x0C]
+            str     s16, [x2, #0x0C]
+                       ;; size=72 bbWeight=1 PerfScore 27.00
+G_M31235_IG03:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 132, prolog size 8, PerfScore 117.00, instruction count 33, allocated bytes for code 132 (MethodHash=076885fc) for method BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 30.50, instruction count 22, allocated bytes for code 88 (MethodHash=076885fc) for method BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -80,7 +64,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 33 (0x00021) Actual length = 132 (0x000084)
+  Function Length   : 22 (0x00016) Actual length = 88 (0x000058)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-16 (-7.02%) : 30631.dasm - System.Linq.Expressions.CachedReflectionInfo:getMethodBaseGetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
@@ -15,9 +15,9 @@
 ;* V04 tmp4         [V04,T06] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
 ;* V05 tmp5         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
 ;  V06 tmp6         [V06,T05] (  3,  3   )     ref  ->   x0         class-hnd single-def "dup spill" <System.Reflection.MethodInfo>
-;  V07 tmp7         [V07,T00] (  5, 16.50)     int  ->   x0         "Inline stloc first use temp"
+;* V07 tmp7         [V07,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V08 tmp8         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
-;  V09 cse0         [V09,T01] (  2,  4.50)   byref  ->   x1         hoist "CSE - aggressive"
+;  V09 cse0         [V09,T01] (  2,  1   )   byref  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -31,9 +31,9 @@ G_M10374_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             movk    x0, #2 LSL #32
             ldr     x0, [x0]
             ; gcrRegs +[x0]
-            cbnz    x0, G_M10374_IG06
+            cbnz    x0, G_M10374_IG04
                       ;; size=20 bbWeight=1 PerfScore 5.50
-G_M10374_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M10374_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -49,22 +49,14 @@ G_M10374_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
             str     x0, [x6, #0x10]
-            mov     w0, wzr
-            add     x1, x6, #16
-            ; byrRegs +[x1]
-                       ;; size=48 bbWeight=0.50 PerfScore 3.50
-G_M10374_IG04:        ; bbWeight=4, gcrefRegs=0040 {x6}, byrefRegs=0002 {x1}, byref, isz
-            ldr     x2, [x1, w0, UXTW #3]
-            ; gcrRegs +[x2]
-            cbz     x2, G_M10374_IG07
-            add     w0, w0, #1
-            cmp     w0, #1
-            blt     G_M10374_IG04
-                       ;; size=20 bbWeight=4 PerfScore 24.00
-G_M10374_IG05:        ; bbWeight=0.50, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x2]
-            ; byrRegs -[x1]
+            add     x0, x6, #16
+            ; byrRegs +[x0]
+            ldr     x0, [x0]
+            ; gcrRegs +[x0]
+            ; byrRegs -[x0]
+            cbz     x0, G_M10374_IG05
             movz    x0, #0xD1FFAB1E
+            ; gcrRegs -[x0]
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
             movz    x1, #0xD1FFAB1E
@@ -89,12 +81,12 @@ G_M10374_IG05:        ; bbWeight=0.50, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, b
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
-                     ;; size=84 bbWeight=0.50 PerfScore 7.00
-G_M10374_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+                      ;; size=136 bbWeight=0.50 PerfScore 12.25
+G_M10374_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M10374_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M10374_IG05:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E LSL #16
@@ -112,7 +104,7 @@ G_M10374_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             brk_unix #0
                        ;; size=40 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 228, prolog size 8, PerfScore 43.50, instruction count 57, allocated bytes for code 228 (MethodHash=027dd779) for method System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
+; Total bytes of code 212, prolog size 8, PerfScore 21.25, instruction count 53, allocated bytes for code 212 (MethodHash=027dd779) for method System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -123,7 +115,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 57 (0x00039) Actual length = 228 (0x0000e4)
+  Function Length   : 53 (0x00035) Actual length = 212 (0x0000d4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-3.70%) : 9638.dasm - FSharp.Compiler.NameResolution+MakeCtorGroup@243:Invoke(FSharp.Compiler.Infos+MethInfo):int:this (FullOpts)
@@ -11,11 +11,13 @@
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <FSharp.Compiler.NameResolution+MakeCtorGroup@243>
 ;  V01 arg1         [V01,T03] (  3,  3   )     ref  ->   x1         class-hnd single-def <FSharp.Compiler.Infos+MethInfo>
 ;  V02 loc0         [V02,T04] (  3,  2.50)     ref  ->   x0         class-hnd exact single-def <Microsoft.FSharp.Collections.FSharpList`1[int]>
-;  V03 loc1         [V03,T02] (  4,  9   )     int  ->   x1        
-;  V04 loc2         [V04,T00] (  4, 12.50)     ref  ->   x0         class-hnd <Microsoft.FSharp.Collections.FSharpList`1[int]>
-;  V05 loc3         [V05,T01] (  3, 12   )     ref  ->   x2         class-hnd <Microsoft.FSharp.Collections.FSharpList`1[int]>
+;  V03 loc1         [V03,T02] (  4,  9   )     int  ->   x0        
+;  V04 loc2         [V04,T00] (  6, 13.50)     ref  ->  registers   class-hnd <Microsoft.FSharp.Collections.FSharpList`1[int]>
+;  V05 loc3         [V05,T01] (  5, 13   )     ref  ->  registers   class-hnd <Microsoft.FSharp.Collections.FSharpList`1[int]>
 ;* V06 loc4         [V06    ] (  0,  0   )     int  ->  zero-ref   
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+;  V08 cse0         [V08,T05] (  3,  2.50)     ref  ->   x1         "CSE - aggressive"
+;  V09 cse1         [V09,T06] (  2,  1   )     int  ->   x0         "CSE - moderate"
 ;
 ; Lcl frame size = 0
 
@@ -47,37 +49,35 @@ G_M3240_IG04:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M3240_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs +[x0]
-            mov     w1, wzr
-                       ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M3240_IG06:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ldr     x2, [x0, #0x08]
-            ; gcrRegs +[x2]
-            cbz     x2, G_M3240_IG07
+G_M3240_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs +[x0-x1]
             ldr     w0, [x0, #0x10]
             ; gcrRegs -[x0]
-            adds    w1, w1, w0
-            bvs     G_M3240_IG09
-            mov     x0, x2
-            ; gcrRegs +[x0]
+                      ;; size=4 bbWeight=0.50 PerfScore 1.50
+G_M3240_IG06:        ; bbWeight=4, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
+            ldr     x2, [x1, #0x08]
+            ; gcrRegs +[x2]
+            cbz     x2, G_M3240_IG07
+            ldr     w1, [x1, #0x10]
+            ; gcrRegs -[x1]
+            adds    w0, w0, w1
+            bvs     G_M3240_IG08
+            mov     x1, x2
+            ; gcrRegs +[x1]
             b       G_M3240_IG06
                        ;; size=28 bbWeight=4 PerfScore 40.00
-G_M3240_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0 x2]
-            mov     w0, w1
-                       ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M3240_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+G_M3240_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ; gcrRegs -[x1-x2]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M3240_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M3240_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             bl      CORINFO_HELP_OVERFLOW
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 108, prolog size 8, PerfScore 57.25, instruction count 27, allocated bytes for code 108 (MethodHash=fc34f357) for method FSharp.Compiler.NameResolution+MakeCtorGroup@243:Invoke(FSharp.Compiler.Infos+MethInfo):int:this (FullOpts)
+; Total bytes of code 104, prolog size 8, PerfScore 58.25, instruction count 26, allocated bytes for code 104 (MethodHash=fc34f357) for method FSharp.Compiler.NameResolution+MakeCtorGroup@243:Invoke(FSharp.Compiler.Infos+MethInfo):int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -88,7 +88,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
+  Function Length   : 26 (0x0001a) Actual length = 104 (0x000068)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+40 (+62.50%) : 23601.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetSwitchBinder(Microsoft.CodeAnalysis.CSharp.Binder):Microsoft.CodeAnalysis.CSharp.SwitchBinder (FullOpts)
@@ -8,8 +8,8 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  6, 22   )     ref  ->  x19         class-hnd <Microsoft.CodeAnalysis.CSharp.Binder>
-;  V01 loc0         [V01,T01] (  3, 13   )     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CSharp.SwitchBinder>
+;  V00 arg0         [V00,T00] ( 10, 24.50)     ref  ->  x19         class-hnd <Microsoft.CodeAnalysis.CSharp.Binder>
+;  V01 loc0         [V01,T01] (  5, 14.50)     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CSharp.SwitchBinder>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 8
@@ -24,10 +24,11 @@ G_M1427_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M1427_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             b       G_M1427_IG04
                        ;; size=4 bbWeight=1 PerfScore 1.00
-G_M1427_IG03:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M1427_IG03:        ; bbWeight=0.25, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ldr     x19, [x19, #0x10]
-                       ;; size=4 bbWeight=2 PerfScore 6.00
-G_M1427_IG04:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            b       G_M1427_IG08
+                       ;; size=8 bbWeight=0.25 PerfScore 1.00
+G_M1427_IG04:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     x1, x19
             ; gcrRegs +[x1]
             movz    x0, #0xD1FFAB1E
@@ -36,19 +37,41 @@ G_M1427_IG04:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byr
             bl      CORINFO_HELP_ISINSTANCEOFCLASS
             ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
-            cbz     x19, G_M1427_IG06
-                       ;; size=24 bbWeight=8 PerfScore 32.00
-G_M1427_IG05:        ; bbWeight=4, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
+            cbz     x19, G_M1427_IG10
+                       ;; size=24 bbWeight=1 PerfScore 4.00
+G_M1427_IG05:        ; bbWeight=0.50, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
             cbz     x0, G_M1427_IG03
+                        ;; size=4 bbWeight=0.50 PerfScore 0.50
+G_M1427_IG06:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x19]
+            b       G_M1427_IG10
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M1427_IG07:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0] +[x19]
+            ldr     x19, [x19, #0x10]
+                       ;; size=4 bbWeight=2 PerfScore 6.00
+G_M1427_IG08:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            mov     x1, x19
+            ; gcrRegs +[x1]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #1 LSL #32
+            bl      CORINFO_HELP_ISINSTANCEOFCLASS
+            ; gcrRegs -[x1] +[x0]
+            ; gcr arg pop 0
+            cbz     x19, G_M1427_IG10
+                       ;; size=24 bbWeight=8 PerfScore 32.00
+G_M1427_IG09:        ; bbWeight=4, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M1427_IG07
                        ;; size=4 bbWeight=4 PerfScore 4.00
-G_M1427_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M1427_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19]
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 64, prolog size 16, PerfScore 50.00, instruction count 16, allocated bytes for code 64 (MethodHash=85d7fa6c) for method Microsoft.CodeAnalysis.CSharp.Binder:GetSwitchBinder(Microsoft.CodeAnalysis.CSharp.Binder):Microsoft.CodeAnalysis.CSharp.SwitchBinder (FullOpts)
+; Total bytes of code 104, prolog size 16, PerfScore 55.62, instruction count 26, allocated bytes for code 104 (MethodHash=85d7fa6c) for method Microsoft.CodeAnalysis.CSharp.Binder:GetSwitchBinder(Microsoft.CodeAnalysis.CSharp.Binder):Microsoft.CodeAnalysis.CSharp.SwitchBinder (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -59,7 +82,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 16 (0x00010) Actual length = 64 (0x000040)
+  Function Length   : 26 (0x0001a) Actual length = 104 (0x000068)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+44 (+64.71%) : 23453.dasm - System.Collections.Immutable.ImmutableList1+Node[System.Collections.Generic.KeyValuePair2[System.Canon,System.Canon]]:ItemRefUnchecked(int):byref:this (FullOpts)
@@ -7,14 +7,16 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  7, 23   )     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
-;  V01 arg1         [V01,T00] (  6, 26   )     int  ->   x1        
+;  V00 this         [V00,T02] ( 11, 25.50)     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
+;  V01 arg1         [V01,T00] ( 10, 29   )     int  ->   x1        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T06] (  2, 16   )     int  ->   x1         "arg temp"
-;  V04 tmp2         [V04,T04] (  2, 16   )     ref  ->   x0         single-def "arg temp"
-;  V05 tmp3         [V05,T05] (  2, 16   )     ref  ->   x0         single-def "arg temp"
+;  V03 tmp1         [V03,T06] (  4, 18   )     int  ->   x1         "arg temp"
+;  V04 tmp2         [V04,T04] (  4, 18   )     ref  ->   x0         "arg temp"
+;  V05 tmp3         [V05,T05] (  4, 18   )     ref  ->   x0         "arg temp"
 ;  V06 cse0         [V06,T01] (  4, 28   )     int  ->   x3         "CSE - aggressive"
-;  V07 cse1         [V07,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  4,  3.50)     int  ->   x3         "CSE - aggressive"
+;  V08 cse2         [V08,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V09 cse3         [V09,T08] (  3,  2.50)     ref  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -22,42 +24,65 @@ G_M15847_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M15847_IG02:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M15847_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x2, [x0, #0x08]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x18]
             cmp     w1, w3
             bge     G_M15847_IG04
-                        ;; size=16 bbWeight=8 PerfScore 60.00
-G_M15847_IG03:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+                        ;; size=16 bbWeight=1 PerfScore 7.50
+G_M15847_IG03:        ; bbWeight=0.50, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M15847_IG02
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M15847_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M15847_IG06
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
+G_M15847_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x2]
             cmp     w1, w3
-            ble     G_M15847_IG06
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M15847_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ble     G_M15847_IG10
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M15847_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             sub     w1, w1, w3
             sub     w1, w1, #1
             ldr     x0, [x0, #0x10]
-            b       G_M15847_IG02
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M15847_IG06:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     x2, [x0, #0x08]
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x18]
+            cmp     w1, w3
+            bge     G_M15847_IG08
+                       ;; size=16 bbWeight=8 PerfScore 60.00
+G_M15847_IG07:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x2
+            ; gcrRegs +[x0]
+            b       G_M15847_IG06
+                       ;; size=8 bbWeight=4 PerfScore 6.00
+G_M15847_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            cmp     w1, w3
+            ble     G_M15847_IG10
+                       ;; size=8 bbWeight=8 PerfScore 12.00
+G_M15847_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            sub     w1, w1, w3
+            sub     w1, w1, #1
+            ldr     x0, [x0, #0x10]
+            b       G_M15847_IG06
                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M15847_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M15847_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x0, x0, #32
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M15847_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M15847_IG11:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 102.00, instruction count 17, allocated bytes for code 68 (MethodHash=df1ac218) for method System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:ItemRefUnchecked(int):byref:this (FullOpts)
+; Total bytes of code 112, prolog size 8, PerfScore 113.75, instruction count 28, allocated bytes for code 112 (MethodHash=df1ac218) for method System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:ItemRefUnchecked(int):byref:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -68,7 +93,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+48 (+70.59%) : 28673.dasm - System.Management.Automation.FunctionInfo:get_Options():int:this (FullOpts)
@@ -8,67 +8,93 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  5, 15   )     ref  ->   x0         this class-hnd <System.Management.Automation.FunctionInfo>
+;  V00 this         [V00,T04] (  7, 17   )     ref  ->   x0         this class-hnd <System.Management.Automation.FunctionInfo>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V02 tmp1         [V02,T03] (  3, 17   )     ref  ->   x1         single-def "CASTCLASS eval op1"
-;  V03 tmp2         [V03,T04] (  3, 17   )    long  ->   x3         "fgMakeTemp is creating a new local variable"
-;  V04 tmp3         [V04,T00] (  4, 25   )     ref  ->   x0         class-hnd "spilling QMark2" <System.Management.Automation.FunctionInfo>
+;  V02 tmp1         [V02,T02] (  6, 19.12)     ref  ->   x1         "CASTCLASS eval op1"
+;  V03 tmp2         [V03,T03] (  6, 19.12)    long  ->   x3         "fgMakeTemp is creating a new local variable"
+;  V04 tmp3         [V04,T00] (  8, 29.12)     ref  ->   x0         class-hnd "spilling QMark2" <System.Management.Automation.FunctionInfo>
 ;  V05 cse0         [V05,T01] (  3, 20   )     ref  ->   x1         "CSE - aggressive"
+;  V06 cse1         [V06,T06] (  3,  2.50)     ref  ->   x1         "CSE - aggressive"
+;  V07 cse2         [V07,T05] (  3,  5   )    long  ->  x19         "CSE - moderate"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M40934_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
+            str     x19, [sp, #0x18]
             mov     fp, sp
-                       ;; size=8 bbWeight=1 PerfScore 1.50
-G_M40934_IG02:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+                       ;; size=12 bbWeight=1 PerfScore 2.50
+G_M40934_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x1, [x0, #0x20]
             ; gcrRegs +[x1]
-            cbz     x1, G_M40934_IG06
-                       ;; size=8 bbWeight=8 PerfScore 32.00
-G_M40934_IG03:        ; bbWeight=4, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
+            cbz     x1, G_M40934_IG09
+                       ;; size=8 bbWeight=1 PerfScore 4.00
+G_M40934_IG03:        ; bbWeight=0.50, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             mov     x0, x1
             ; gcrRegs +[x0]
             ldr     x2, [x0]
-            movz    x3, #0xD1FFAB1E
-            movk    x3, #0xD1FFAB1E LSL #16
-            movk    x3, #1 LSL #32
+            movz    x19, #0xD1FFAB1E
+            movk    x19, #0xD1FFAB1E LSL #16
+            movk    x19, #1 LSL #32
+            mov     x3, x19
             cmp     x2, x3
             beq     G_M40934_IG05
-                        ;; size=28 bbWeight=4 PerfScore 26.00
-G_M40934_IG04:        ; bbWeight=0.50, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
+                     ;; size=32 bbWeight=0.50 PerfScore 3.50
+G_M40934_IG04:        ; bbWeight=0.06, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x3
+            bl      CORINFO_HELP_CHKCASTCLASS_SPECIAL
+            ; gcrRegs -[x1] +[x0]
+            ; gcr arg pop 0
+                       ;; size=8 bbWeight=0.06 PerfScore 0.09
+G_M40934_IG05:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     x1, [x0, #0x20]
+            ; gcrRegs +[x1]
+            cbz     x1, G_M40934_IG09
+                       ;; size=8 bbWeight=8 PerfScore 32.00
+G_M40934_IG06:        ; bbWeight=4, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x0]
+            mov     x0, x1
+            ; gcrRegs +[x0]
+            ldr     x2, [x0]
+            mov     x3, x19
+            cmp     x2, x3
+            beq     G_M40934_IG08
+                       ;; size=20 bbWeight=4 PerfScore 22.00
+G_M40934_IG07:        ; bbWeight=0.50, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x3
             bl      CORINFO_HELP_CHKCASTCLASS_SPECIAL
             ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M40934_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
-            b       G_M40934_IG02
+G_M40934_IG08:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            b       G_M40934_IG05
                       ;; size=4 bbWeight=4 PerfScore 4.00
-G_M40934_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M40934_IG09:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ldr     w0, [x0, #0x64]
             ; gcrRegs -[x0]
                        ;; size=4 bbWeight=1 PerfScore 3.00
-G_M40934_IG07:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M40934_IG10:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x19, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=1 PerfScore 2.00
+                       ;; size=12 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 69.25, instruction count 17, allocated bytes for code 68 (MethodHash=b2d36019) for method System.Management.Automation.FunctionInfo:get_Options():int:this (FullOpts)
+; Total bytes of code 116, prolog size 12, PerfScore 75.84, instruction count 29, allocated bytes for code 116 (MethodHash=b2d36019) for method System.Management.Automation.FunctionInfo:get_Options():int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 1
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -76,7 +102,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    81          save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]!
+    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
  
  
  
Details
Improvements/regressions per collection
| Collection | Contexts with diffs | Improvements | Regressions | Same size | Improvements (bytes) | Regressions (bytes) | 
| benchmarks.run_pgo.osx.arm64.checked.mch | 12,692 | 78 | 12,576 | 38 | -4,316 | +4,530,280 | 
| benchmarks.run_tiered.osx.arm64.checked.mch | 2,812 | 9 | 2,797 | 6 | -156 | +905,080 | 
| coreclr_tests.run.osx.arm64.checked.mch | 30,832 | 1,534 | 28,995 | 303 | -45,768 | +7,121,660 | 
| libraries.crossgen2.osx.arm64.checked.mch | 21,669 | 218 | 21,417 | 34 | -2,620 | +4,872,084 | 
| libraries.pmi.osx.arm64.checked.mch | 27,556 | 121 | 27,341 | 94 | -1,836 | +7,496,120 | 
| libraries_tests.run.osx.arm64.Release.mch | 47,935 | 504 | 47,096 | 335 | -17,640 | +24,486,568 | 
| librariestestsnotieredcompilation.run.osx.arm64.Release.mch | 25,266 | 135 | 25,003 | 128 | -4,880 | +10,216,244 | 
| realworld.run.osx.arm64.checked.mch | 4,870 | 23 | 4,831 | 16 | -368 | +1,858,872 | 
|  | 173,632 | 2,622 | 170,056 | 954 | -77,584 | +61,486,908 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| benchmarks.run_pgo.osx.arm64.checked.mch | 84,460 | 48,345 | 36,115 | 183 (0.22%) | 366 (0.43%) | 
| benchmarks.run_tiered.osx.arm64.checked.mch | 48,239 | 37,331 | 10,908 | 63 (0.13%) | 77 (0.16%) | 
| coreclr_tests.run.osx.arm64.checked.mch | 585,898 | 358,028 | 227,870 | 437 (0.07%) | 687 (0.12%) | 
| libraries.crossgen2.osx.arm64.checked.mch | 233,608 | 15 | 233,593 | 0 (0.00%) | 152 (0.07%) | 
| libraries.pmi.osx.arm64.checked.mch | 313,361 | 18 | 313,343 | 2,034 (0.64%) | 2,255 (0.71%) | 
| libraries_tests.run.osx.arm64.Release.mch | 630,623 | 462,062 | 168,561 | 965 (0.15%) | 1,634 (0.26%) | 
| librariestestsnotieredcompilation.run.osx.arm64.Release.mch | 300,820 | 21,558 | 279,262 | 2,087 (0.69%) | 2,294 (0.76%) | 
| realworld.run.osx.arm64.checked.mch | 31,158 | 3 | 31,155 | 326 (1.03%) | 385 (1.22%) | 
|  | 2,228,167 | 927,360 | 1,300,807 | 6,095 (0.27%) | 7,850 (0.35%) | 
jit-analyze output
benchmarks.run_pgo.osx.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 34173472 (overridden on cmd)
Total bytes of diff: 38699436 (overridden on cmd)
Total bytes of delta: 4525964 (13.24 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       25100 : 66089.dasm (66.59 % of base)
       14588 : 26497.dasm (44.77 % of base)
       11800 : 45845.dasm (99.59 % of base)
       11696 : 30465.dasm (97.34 % of base)
       11452 : 43947.dasm (97.71 % of base)
       11408 : 34752.dasm (96.48 % of base)
       11364 : 37275.dasm (96.37 % of base)
       11352 : 40949.dasm (96.14 % of base)
        9600 : 46184.dasm (97.52 % of base)
        9092 : 72665.dasm (79.17 % of base)
        9044 : 72673.dasm (79.78 % of base)
        8568 : 72672.dasm (78.90 % of base)
        8288 : 42478.dasm (77.92 % of base)
        7516 : 71561.dasm (36.64 % of base)
        7504 : 27235.dasm (57.18 % of base)
        7096 : 40377.dasm (62.22 % of base)
        7068 : 74139.dasm (74.81 % of base)
        7064 : 73134.dasm (75.53 % of base)
        6716 : 59508.dasm (70.37 % of base)
        6624 : 59516.dasm (68.74 % of base)
Top file improvements (bytes):
        -208 : 81010.dasm (-2.23 % of base)
        -208 : 12158.dasm (-2.25 % of base)
        -184 : 73185.dasm (-1.88 % of base)
        -184 : 74199.dasm (-1.88 % of base)
        -156 : 62350.dasm (-20.63 % of base)
        -152 : 81148.dasm (-20.00 % of base)
        -148 : 73598.dasm (-1.55 % of base)
        -148 : 78210.dasm (-19.89 % of base)
        -144 : 81149.dasm (-1.50 % of base)
        -140 : 70463.dasm (-1.42 % of base)
        -132 : 70054.dasm (-1.34 % of base)
        -132 : 72816.dasm (-1.35 % of base)
        -132 : 75594.dasm (-1.40 % of base)
        -124 : 18902.dasm (-21.09 % of base)
        -124 : 3902.dasm (-21.09 % of base)
        -124 : 64666.dasm (-21.09 % of base)
        -124 : 29535.dasm (-21.09 % of base)
        -124 : 25297.dasm (-21.09 % of base)
        -124 : 68042.dasm (-21.09 % of base)
        -124 : 68218.dasm (-21.09 % of base)
93 total files with Code Size differences (30 improved, 63 regressed), 20 unchanged.
Top method regressions (bytes):
       25100 (66.59 % of base) : 66089.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.IndexViewModel,int) (FullOpts)
       14588 (44.77 % of base) : 26497.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.MyEventsListerItem,int) (FullOpts)
       11800 (99.59 % of base) : 45845.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:BuildCertsWithKeys(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.Asn1.Pkcs12.CertBagAsn[],System.Security.Cryptography.Asn1.AttributeAsn[][],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+CertAndKey[],int,System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+RentedSubjectPublicKeyInfo[],System.Security.Cryptography.AsymmetricAlgorithm[],int):this (Tier1)
       11696 (97.34 % of base) : 30465.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:BuildCertsWithKeys(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.Asn1.Pkcs12.CertBagAsn[],System.Security.Cryptography.Asn1.AttributeAsn[][],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+CertAndKey[],int,System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+RentedSubjectPublicKeyInfo[],System.Security.Cryptography.AsymmetricAlgorithm[],int):this (Tier1)
       11452 (97.71 % of base) : 43947.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:BuildCertsWithKeys(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.Asn1.Pkcs12.CertBagAsn[],System.Security.Cryptography.Asn1.AttributeAsn[][],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+CertAndKey[],int,System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+RentedSubjectPublicKeyInfo[],System.Security.Cryptography.AsymmetricAlgorithm[],int):this (Tier1)
       11408 (96.48 % of base) : 34752.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:BuildCertsWithKeys(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.Asn1.Pkcs12.CertBagAsn[],System.Security.Cryptography.Asn1.AttributeAsn[][],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+CertAndKey[],int,System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+RentedSubjectPublicKeyInfo[],System.Security.Cryptography.AsymmetricAlgorithm[],int):this (Tier1)
       11364 (96.37 % of base) : 37275.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:BuildCertsWithKeys(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.Asn1.Pkcs12.CertBagAsn[],System.Security.Cryptography.Asn1.AttributeAsn[][],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+CertAndKey[],int,System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+RentedSubjectPublicKeyInfo[],System.Security.Cryptography.AsymmetricAlgorithm[],int):this (Tier1)
       11352 (96.14 % of base) : 40949.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:BuildCertsWithKeys(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.Asn1.Pkcs12.CertBagAsn[],System.Security.Cryptography.Asn1.AttributeAsn[][],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+CertAndKey[],int,System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+RentedSubjectPublicKeyInfo[],System.Security.Cryptography.AsymmetricAlgorithm[],int):this (Tier1)
        9600 (97.52 % of base) : 46184.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
        9092 (79.17 % of base) : 72665.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1-OSR)
        9044 (79.78 % of base) : 72673.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1-OSR)
        8568 (78.90 % of base) : 72672.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1)
        8288 (77.92 % of base) : 42478.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.Location,int) (FullOpts)
        7516 (36.64 % of base) : 71561.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        7504 (57.18 % of base) : 27235.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.CollectionsOfPrimitives,int) (FullOpts)
        7096 (62.22 % of base) : 40377.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
        7068 (74.81 % of base) : 74139.dasm - System.Text.RegularExpressions.RegexParser:ScanRegex():System.Text.RegularExpressions.RegexNode:this (Tier1)
        7064 (75.53 % of base) : 73134.dasm - System.Text.RegularExpressions.RegexParser:ScanRegex():System.Text.RegularExpressions.RegexNode:this (Tier1)
        6716 (70.37 % of base) : 59508.dasm - Benchstone.BenchF.LLoops:Main1(int):this (Tier1-OSR)
        6624 (68.74 % of base) : 59516.dasm - Benchstone.BenchF.LLoops:Main1(int):this (Tier1-OSR)
Top method improvements (bytes):
        -208 (-2.23 % of base) : 81010.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -208 (-2.25 % of base) : 12158.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -184 (-1.88 % of base) : 73185.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -184 (-1.88 % of base) : 74199.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -156 (-20.63 % of base) : 62350.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -152 (-20.00 % of base) : 81148.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,int):int (Tier1)
        -148 (-19.89 % of base) : 78210.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,int):int (Tier1)
        -148 (-1.55 % of base) : 73598.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -144 (-1.50 % of base) : 81149.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -140 (-1.42 % of base) : 70463.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -132 (-1.34 % of base) : 70054.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -132 (-1.35 % of base) : 72816.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -132 (-1.40 % of base) : 75594.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -124 (-21.09 % of base) : 18902.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 3902.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 64666.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 29535.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 25297.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 68042.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 68218.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
Top method regressions (percentages):
        3156 (120.83 % of base) : 77755.dasm - System.Buffers.Text.Base64:Vector128Encode(byref,byref,ulong,int,int,ulong,ulong) (Tier1-OSR)
        3156 (120.83 % of base) : 82433.dasm - System.Buffers.Text.Base64:Vector128Encode(byref,byref,ulong,int,int,ulong,ulong) (Tier1-OSR)
        3740 (112.92 % of base) : 59045.dasm - System.Text.Json.Tests.Perf_Strings:Setup():this (Tier1-OSR)
        3728 (112.70 % of base) : 25651.dasm - System.Text.Json.Tests.Perf_Strings:Setup():this (Tier1-OSR)
        3728 (112.70 % of base) : 74432.dasm - System.Text.Json.Tests.Perf_Strings:Setup():this (Tier1-OSR)
        3728 (112.70 % of base) : 67982.dasm - System.Text.Json.Tests.Perf_Strings:Setup():this (Tier1-OSR)
        3728 (112.70 % of base) : 82425.dasm - System.Text.Json.Tests.Perf_Strings:Setup():this (Tier1-OSR)
        3728 (112.70 % of base) : 79232.dasm - System.Text.Json.Tests.Perf_Strings:Setup():this (Tier1-OSR)
        2288 (110.00 % of base) : 42500.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength4To7,System.Buffers.StringSearchValuesHelper+CaseInsensitiveAsciiLetters]:IndexOf(byref,int):int:this (Tier1-OSR)
        2288 (110.00 % of base) : 67885.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength4To7,System.Buffers.StringSearchValuesHelper+CaseInsensitiveAsciiLetters]:IndexOf(byref,int):int:this (Tier1-OSR)
        2564 (109.01 % of base) : 81819.dasm - NumericSortJagged:Run():double:this (Tier1)
        2308 (107.85 % of base) : 8332.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength8OrLongerOrUnknown,System.Buffers.StringSearchValuesHelper+CaseInsensitiveAsciiLetters]:IndexOf(byref,int):int:this (Tier1-OSR)
        2320 (107.21 % of base) : 8285.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength4To7,System.Buffers.StringSearchValuesHelper+CaseInsensitiveAsciiLetters]:IndexOf(byref,int):int:this (Tier1-OSR)
        1740 (105.84 % of base) : 31735.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength4To7,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        4716 (105.08 % of base) : 21591.dasm - System.Text.Json.Tests.Perf_Strings:Setup():this (Tier1-OSR)
        4716 (105.08 % of base) : 66631.dasm - System.Text.Json.Tests.Perf_Strings:Setup():this (Tier1-OSR)
        4716 (105.08 % of base) : 80824.dasm - System.Text.Json.Tests.Perf_Strings:Setup():this (Tier1-OSR)
        4716 (105.08 % of base) : 45708.dasm - System.Text.Json.Tests.Perf_Strings:Setup():this (Tier1-OSR)
        4716 (104.99 % of base) : 73236.dasm - System.Text.Json.Tests.Perf_Strings:Setup():this (Tier1-OSR)
        4716 (104.99 % of base) : 69923.dasm - System.Text.Json.Tests.Perf_Strings:Setup():this (Tier1-OSR)
Top method improvements (percentages):
        -124 (-21.09 % of base) : 18902.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 3902.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 64666.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 29535.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 25297.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 68042.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 68218.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 69496.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -156 (-20.63 % of base) : 62350.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -152 (-20.00 % of base) : 81148.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,int):int (Tier1)
        -148 (-19.89 % of base) : 78210.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,int):int (Tier1)
         -84 (-9.05 % of base) : 44032.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -72 (-8.33 % of base) : 37788.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -32 (-5.88 % of base) : 57618.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax:get_Modifiers():Microsoft.CodeAnalysis.SyntaxTokenList:this (Tier1)
         -32 (-5.88 % of base) : 57623.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax:get_Modifiers():Microsoft.CodeAnalysis.SyntaxTokenList:this (Tier1)
         -16 (-3.23 % of base) : 7988.dasm - System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
         -16 (-3.23 % of base) : 27068.dasm - System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
         -16 (-3.10 % of base) : 65232.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1)
         -36 (-2.60 % of base) : 8910.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
         -36 (-2.59 % of base) : 8352.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
  
benchmarks.run_tiered.osx.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 15534704 (overridden on cmd)
Total bytes of diff: 16439628 (overridden on cmd)
Total bytes of delta: 904924 (5.83 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       25100 : 43188.dasm (66.59 % of base)
       14588 : 23331.dasm (44.77 % of base)
       11400 : 32836.dasm (101.93 % of base)
        8592 : 45338.dasm (79.23 % of base)
        8288 : 31909.dasm (77.92 % of base)
        7516 : 44862.dasm (36.64 % of base)
        7404 : 23650.dasm (56.42 % of base)
        7280 : 20972.dasm (87.58 % of base)
        7088 : 31118.dasm (62.20 % of base)
        6404 : 45760.dasm (33.28 % of base)
        6140 : 39826.dasm (68.13 % of base)
        6036 : 47810.dasm (78.11 % of base)
        5756 : 21965.dasm (79.37 % of base)
        5272 : 23564.dasm (36.15 % of base)
        4712 : 42131.dasm (66.55 % of base)
        4644 : 23547.dasm (57.45 % of base)
        4624 : 2384.dasm (86.46 % of base)
        4556 : 44841.dasm (83.69 % of base)
        4372 : 46871.dasm (32.02 % of base)
        4340 : 47317.dasm (41.35 % of base)
Top file improvements (bytes):
        -112 : 5376.dasm (-11.34 % of base)
         -12 : 43072.dasm (-4.41 % of base)
          -8 : 9290.dasm (-1.21 % of base)
          -4 : 20937.dasm (-2.13 % of base)
          -4 : 39319.dasm (-2.13 % of base)
          -4 : 3056.dasm (-2.08 % of base)
          -4 : 41231.dasm (-0.93 % of base)
          -4 : 41578.dasm (-0.46 % of base)
          -4 : 15220.dasm (-1.96 % of base)
78 total files with Code Size differences (9 improved, 69 regressed), 6 unchanged.
Top method regressions (bytes):
       25100 (66.59 % of base) : 43188.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.IndexViewModel,int) (FullOpts)
       14588 (44.77 % of base) : 23331.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.MyEventsListerItem,int) (FullOpts)
       11400 (101.93 % of base) : 32836.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
        8592 (79.23 % of base) : 45338.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1)
        8288 (77.92 % of base) : 31909.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.Location,int) (FullOpts)
        7516 (36.64 % of base) : 44862.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        7404 (56.42 % of base) : 23650.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.CollectionsOfPrimitives,int) (FullOpts)
        7280 (87.58 % of base) : 20972.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (Tier1)
        7088 (62.20 % of base) : 31118.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
        6404 (33.28 % of base) : 45760.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        6140 (68.13 % of base) : 39826.dasm - Benchstone.BenchF.LLoops:Main1(int):this (Tier1)
        6036 (78.11 % of base) : 47810.dasm - (dynamicClass):ReadMyEventsListerItemFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        5756 (79.37 % of base) : 21965.dasm - (dynamicClass):ReadActiveOrUpcomingEventFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        5272 (36.15 % of base) : 23564.dasm - (dynamicClass):_DynamicMethod3(byref,int):MicroBenchmarks.Serializers.MyEventsListerItem (FullOpts)
        4712 (66.55 % of base) : 42131.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseExpressionContinued(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax,uint):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (Tier1)
        4644 (57.45 % of base) : 23547.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
        4624 (86.46 % of base) : 2384.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier0-FullOpts)
        4556 (83.69 % of base) : 44841.dasm - (dynamicClass):ReadLocationFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        4372 (32.02 % of base) : 46871.dasm - (dynamicClass):_DynamicMethod3(System.IO.TextReader,int):MicroBenchmarks.Serializers.MyEventsListerItem (FullOpts)
        4340 (41.35 % of base) : 47317.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.CollectionsOfPrimitives (FullOpts)
Top method improvements (bytes):
        -112 (-11.34 % of base) : 5376.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -12 (-4.41 % of base) : 43072.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -8 (-1.21 % of base) : 9290.dasm - System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-0.46 % of base) : 41578.dasm - Microsoft.CodeAnalysis.SyntaxNode+<DescendantNodesOnly>d__172:MoveNext():ubyte:this (Tier1)
          -4 (-1.96 % of base) : 15220.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-2.08 % of base) : 3056.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (Tier1)
          -4 (-2.13 % of base) : 39319.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:MoveNext():ubyte:this (Tier1)
          -4 (-2.13 % of base) : 20937.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-0.93 % of base) : 41231.dasm - System.Linq.Enumerable+<OfTypeIterator>d__64`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
Top method regressions (percentages):
        1652 (110.72 % of base) : 42845.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
        1456 (106.12 % of base) : 42841.dasm - Benchstone.BenchF.MatInv4:MinV1(float[],byref,byref,float[],float[]) (Tier1-OSR)
       11400 (101.93 % of base) : 32836.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
        1544 (100.00 % of base) : 3474.dasm - System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this (Tier1)
        2836 (98.61 % of base) : 6460.dasm - MicroBenchmarks.Serializers.ActiveOrUpcomingEvent:proto_8(byref,MicroBenchmarks.Serializers.ActiveOrUpcomingEvent):MicroBenchmarks.Serializers.ActiveOrUpcomingEvent (FullOpts)
        3308 (97.29 % of base) : 45809.dasm - MicroBenchmarks.Serializers.Location:proto_2(byref,MicroBenchmarks.Serializers.Location):MicroBenchmarks.Serializers.Location (FullOpts)
        2516 (96.62 % of base) : 6682.dasm - MicroBenchmarks.Serializers.CampaignSummaryViewModel:proto_10(byref,MicroBenchmarks.Serializers.CampaignSummaryViewModel):MicroBenchmarks.Serializers.CampaignSummaryViewModel (FullOpts)
        2232 (96.04 % of base) : 41900.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:LexSyntaxTrivia(ubyte,ubyte,byref):this (Tier1)
         828 (95.83 % of base) : 42081.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseDeclarationModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this (Tier1)
        3384 (95.70 % of base) : 20170.dasm - System.Text.Json.JsonDocument:Parse(System.ReadOnlySpan`1[ubyte],System.Text.Json.JsonReaderOptions,byref,byref) (Tier1-OSR)
        1584 (95.65 % of base) : 45159.dasm - MicroBenchmarks.Serializers.LoginViewModel:proto_2(byref,MicroBenchmarks.Serializers.LoginViewModel):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
        2984 (95.64 % of base) : 40133.dasm - MicroBenchmarks.Serializers.MyEventsListerItem:proto_8(byref,MicroBenchmarks.Serializers.MyEventsListerItem):MicroBenchmarks.Serializers.MyEventsListerItem (FullOpts)
        1580 (95.41 % of base) : 30161.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1-OSR)
        2060 (94.67 % of base) : 30487.dasm - AssignRect:second_assignments(int[,],short[,]) (Tier1-OSR)
         820 (94.47 % of base) : 47922.dasm - SciMark2.kernel:CopyMatrix(double[][],double[][]) (Tier1)
         728 (94.30 % of base) : 44033.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
        1376 (94.25 % of base) : 40134.dasm - MicroBenchmarks.Serializers.MyEventsListerItemTask:proto_10(byref,MicroBenchmarks.Serializers.MyEventsListerItemTask):MicroBenchmarks.Serializers.MyEventsListerItemTask (FullOpts)
        1276 (94.10 % of base) : 30484.dasm - AssignRect:first_assignments(int[,],short[,]):int (Tier1-OSR)
        2284 (93.91 % of base) : 42004.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder,ubyte,ubyte,byref):this (Tier1)
         412 (93.64 % of base) : 32754.dasm - Benchstone.BenchF.InvMt:Inner(double[][],byref,byref) (Tier1-OSR)
Top method improvements (percentages):
        -112 (-11.34 % of base) : 5376.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -12 (-4.41 % of base) : 43072.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-2.13 % of base) : 39319.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:MoveNext():ubyte:this (Tier1)
          -4 (-2.13 % of base) : 20937.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-2.08 % of base) : 3056.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (Tier1)
          -4 (-1.96 % of base) : 15220.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (Tier1)
          -8 (-1.21 % of base) : 9290.dasm - System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-0.93 % of base) : 41231.dasm - System.Linq.Enumerable+<OfTypeIterator>d__64`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-0.46 % of base) : 41578.dasm - Microsoft.CodeAnalysis.SyntaxNode+<DescendantNodesOnly>d__172:MoveNext():ubyte:this (Tier1)
  
coreclr_tests.run.osx.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 482896688 (overridden on cmd)
Total bytes of diff: 489972580 (overridden on cmd)
Total bytes of delta: 7075892 (1.47 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
      126392 : 190046.dasm (99.74 % of base)
       26480 : 306997.dasm (98.91 % of base)
       16932 : 294581.dasm (92.06 % of base)
       13148 : 198998.dasm (97.28 % of base)
       12748 : 581244.dasm (86.84 % of base)
       12224 : 577937.dasm (99.61 % of base)
       11816 : 578583.dasm (92.23 % of base)
       10924 : 581442.dasm (97.05 % of base)
       10640 : 581013.dasm (98.34 % of base)
       10332 : 574276.dasm (73.36 % of base)
       10104 : 579325.dasm (90.86 % of base)
        9676 : 577830.dasm (99.22 % of base)
        9676 : 580983.dasm (99.22 % of base)
        9552 : 292834.dasm (91.01 % of base)
        9084 : 581232.dasm (86.28 % of base)
        8940 : 307316.dasm (100.22 % of base)
        8592 : 203002.dasm (79.17 % of base)
        8356 : 292062.dasm (99.24 % of base)
        8268 : 292825.dasm (67.66 % of base)
        7720 : 580984.dasm (98.77 % of base)
Top file improvements (bytes):
        -192 : 579434.dasm (-32.65 % of base)
        -192 : 571858.dasm (-32.65 % of base)
        -192 : 551961.dasm (-32.65 % of base)
        -192 : 554575.dasm (-32.65 % of base)
        -192 : 474461.dasm (-32.65 % of base)
        -156 : 447403.dasm (-21.20 % of base)
        -156 : 511217.dasm (-21.20 % of base)
        -156 : 320061.dasm (-21.20 % of base)
        -156 : 321479.dasm (-21.20 % of base)
        -156 : 441602.dasm (-21.20 % of base)
        -156 : 483202.dasm (-21.31 % of base)
        -156 : 496221.dasm (-21.31 % of base)
        -156 : 500107.dasm (-21.20 % of base)
        -156 : 529793.dasm (-21.20 % of base)
        -156 : 549966.dasm (-21.20 % of base)
        -156 : 473925.dasm (-21.31 % of base)
        -156 : 485053.dasm (-21.20 % of base)
        -156 : 492338.dasm (-21.31 % of base)
        -156 : 554586.dasm (-21.20 % of base)
        -156 : 585813.dasm (-21.20 % of base)
83 total files with Code Size differences (38 improved, 45 regressed), 20 unchanged.
Top method regressions (bytes):
      126392 (99.74 % of base) : 190046.dasm - Program:TestEntryPoint():int (FullOpts)
       26480 (98.91 % of base) : 306997.dasm - CseTest.Test_Main:TestEntryPoint():int (FullOpts)
       16932 (92.06 % of base) : 294581.dasm - Internal.IL.ILImporter:ImportBasicBlock(Internal.IL.ILImporter+BasicBlock):this (FullOpts)
       13148 (97.28 % of base) : 198998.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       12748 (86.84 % of base) : 581244.dasm - ILCompiler.DependencyAnalysis.ReadyToRunObjectWriter:EmitObjectData(ILCompiler.PEWriter.R2RPEBuilder,ILCompiler.DependencyAnalysis.ObjectNode+ObjectData,int,System.String,ILCompiler.DependencyAnalysis.ObjectNodeSection):this (Tier1)
       12224 (99.61 % of base) : 577937.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
       11816 (92.23 % of base) : 578583.dasm - ILCompiler.DependencyAnalysis.ReadyToRunObjectWriter:EmitObjectData(ILCompiler.PEWriter.R2RPEBuilder,ILCompiler.DependencyAnalysis.ObjectNode+ObjectData,int,System.String,ILCompiler.DependencyAnalysis.ObjectNodeSection):this (Tier1)
       10924 (97.05 % of base) : 581442.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugInfoTableNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (Tier1-OSR)
       10640 (98.34 % of base) : 581013.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
       10332 (73.36 % of base) : 574276.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (Tier1)
       10104 (90.86 % of base) : 579325.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugInfoTableNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (Tier1-OSR)
        9676 (99.22 % of base) : 577830.dasm - Internal.JitInterface.InstructionSetFlags:ExpandInstructionSetByImplicationHelper(int,Internal.JitInterface.InstructionSetFlags):Internal.JitInterface.InstructionSetFlags (Tier1)
        9676 (99.22 % of base) : 580983.dasm - Internal.JitInterface.InstructionSetFlags:ExpandInstructionSetByImplicationHelper(int,Internal.JitInterface.InstructionSetFlags):Internal.JitInterface.InstructionSetFlags (Tier1)
        9552 (91.01 % of base) : 292834.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugDirectoryNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (FullOpts)
        9084 (86.28 % of base) : 581232.dasm - ILCompiler.DependencyAnalysis.ReadyToRunObjectWriter:EmitObjectData(ILCompiler.PEWriter.R2RPEBuilder,ILCompiler.DependencyAnalysis.ObjectNode+ObjectData,int,System.String,ILCompiler.DependencyAnalysis.ObjectNodeSection):this (Tier1-OSR)
        8940 (100.22 % of base) : 307316.dasm - SimpleArray_01.Test:Test1() (FullOpts)
        8592 (79.17 % of base) : 203002.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (FullOpts)
        8356 (99.24 % of base) : 292062.dasm - Internal.JitInterface.InstructionSetFlags:ExpandInstructionSetByImplicationHelper(int,Internal.JitInterface.InstructionSetFlags):Internal.JitInterface.InstructionSetFlags (FullOpts)
        8268 (67.66 % of base) : 292825.dasm - ILCompiler.Win32Resources.ResourceData:WriteResources(ILCompiler.DependencyAnalysis.ISymbolNode,byref,byref):this (FullOpts)
        7720 (98.77 % of base) : 580984.dasm - Internal.JitInterface.InstructionSetFlags:ExpandInstructionSetByReverseImplicationHelper(int,Internal.JitInterface.InstructionSetFlags):Internal.JitInterface.InstructionSetFlags (Tier1)
Top method improvements (bytes):
        -192 (-32.65 % of base) : 579434.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 571858.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 551961.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 554575.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 474461.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 447403.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 511217.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 320061.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 321479.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 441602.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.31 % of base) : 483202.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.31 % of base) : 496221.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 500107.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 529793.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 549966.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.31 % of base) : 473925.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 485053.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.31 % of base) : 492338.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 554586.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 585813.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
Top method regressions (percentages):
        1276 (131.28 % of base) : 236973.dasm - struct1:Process2DArray(byref) (FullOpts)
         844 (129.45 % of base) : 236283.dasm - class1:ProcessJagged2DArray(byref) (FullOpts)
        1248 (128.40 % of base) : 236282.dasm - class1:Process2DArray(byref) (FullOpts)
         908 (127.53 % of base) : 236974.dasm - struct1:ProcessJagged2DArray(byref) (FullOpts)
         676 (121.58 % of base) : 441715.dasm - Chaos.A0A0A0A0`1[System.__Canon]:RecurseA0A0A0A0(int):this (Tier1)
        2712 (112.81 % of base) : 461065.dasm - NumericSortJagged:Run():double:this (Tier1-OSR)
        2616 (111.04 % of base) : 461367.dasm - AssignJagged:Run():double:this (Tier1)
         832 (109.47 % of base) : 236591.dasm - Test_jaggedarr_basics.double1:Process2DArray(byref) (FullOpts)
         844 (109.33 % of base) : 236337.dasm - Test_doublearr_basics.double1:Process2DArray(byref) (FullOpts)
         236 (109.26 % of base) : 511106.dasm - testout1:Test1(int):int (Tier1-OSR)
         236 (109.26 % of base) : 511108.dasm - testout1:Test2(int):int (Tier1-OSR)
        2496 (108.52 % of base) : 201432.dasm - Huffman:DoHuffIteration(ubyte[],ubyte[],ubyte[],int,int,huff_node[]):long (FullOpts)
         600 (107.91 % of base) : 441720.dasm - Chaos.A0A0A0`1[System.__Canon]:RecurseA0A0A0(int):this (Tier1)
         600 (107.91 % of base) : 441717.dasm - Chaos.A0A0A1:RecurseA0A0A1(int):this (Tier1)
         600 (107.91 % of base) : 441721.dasm - Chaos.A0A1`1[System.__Canon]:RecurseA0A1(int):this (Tier1)
         600 (107.91 % of base) : 441716.dasm - Chaos.A0A1A2`1[System.__Canon]:RecurseA0A1A2(int):this (Tier1)
         600 (107.91 % of base) : 441719.dasm - Chaos.A0A3:RecurseA0A3(int):this (Tier1)
         596 (107.19 % of base) : 441708.dasm - Chaos.A0A0A1A2`1[System.__Canon]:RecurseA0A0A1A2(int):this (Tier1)
         596 (107.19 % of base) : 441707.dasm - Chaos.A0A1A2A3`2[System.__Canon,System.__Canon]:RecurseA0A1A2A3(int):this (Tier1)
         596 (107.19 % of base) : 441712.dasm - Chaos.A0A1A4`2[System.__Canon,System.__Canon]:RecurseA0A1A4(int):this (Tier1)
Top method improvements (percentages):
         -68 (-56.67 % of base) : 253193.dasm - foo:Main():int (FullOpts)
         -92 (-41.82 % of base) : 201532.dasm - Benchstone.BenchF.BenchMk2:Bench():ubyte (FullOpts)
         -92 (-40.35 % of base) : 201534.dasm - Benchstone.BenchF.BenchMrk:Bench():ubyte (FullOpts)
        -192 (-32.65 % of base) : 579434.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 571858.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 551961.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 554575.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 474461.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -124 (-21.38 % of base) : 450790.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 509593.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 512005.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 571133.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 317053.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 430842.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 467377.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 469634.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 481417.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 500513.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 504769.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 558345.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
  
libraries.crossgen2.osx.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 55476760 (overridden on cmd)
Total bytes of diff: 60346224 (overridden on cmd)
Total bytes of delta: 4869464 (8.78 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       56704 : 74392.dasm (72.10 % of base)
       18656 : 152505.dasm (68.11 % of base)
       12264 : 45427.dasm (97.92 % of base)
       11676 : 82358.dasm (75.23 % of base)
       10508 : 202444.dasm (74.76 % of base)
       10044 : 45323.dasm (94.47 % of base)
        8600 : 64175.dasm (97.77 % of base)
        8204 : 140504.dasm (43.21 % of base)
        7908 : 17649.dasm (73.39 % of base)
        6696 : 70679.dasm (88.85 % of base)
        6500 : 32804.dasm (94.53 % of base)
        6492 : 171251.dasm (69.93 % of base)
        6280 : 202378.dasm (85.23 % of base)
        5808 : 202630.dasm (81.66 % of base)
        5512 : 140557.dasm (95.96 % of base)
        5480 : 85980.dasm (79.84 % of base)
        5472 : 64490.dasm (83.82 % of base)
        5096 : 73875.dasm (30.25 % of base)
        5044 : 140831.dasm (88.18 % of base)
        4876 : 202155.dasm (72.82 % of base)
Top file improvements (bytes):
         -80 : 35996.dasm (-9.13 % of base)
         -48 : 129824.dasm (-0.49 % of base)
         -44 : 32389.dasm (-10.09 % of base)
         -40 : 159937.dasm (-8.40 % of base)
         -40 : 3403.dasm (-8.40 % of base)
         -36 : 209711.dasm (-5.59 % of base)
         -32 : 229310.dasm (-4.68 % of base)
         -32 : 179582.dasm (-3.45 % of base)
         -28 : 168985.dasm (-6.14 % of base)
         -28 : 191755.dasm (-5.22 % of base)
         -28 : 32390.dasm (-6.60 % of base)
         -28 : 150618.dasm (-4.32 % of base)
         -28 : 168875.dasm (-5.22 % of base)
         -28 : 168981.dasm (-5.43 % of base)
         -28 : 150627.dasm (-5.38 % of base)
         -28 : 13295.dasm (-5.22 % of base)
         -28 : 13403.dasm (-5.43 % of base)
         -28 : 202368.dasm (-4.49 % of base)
         -28 : 208871.dasm (-4.86 % of base)
         -28 : 215301.dasm (-5.69 % of base)
97 total files with Code Size differences (36 improved, 61 regressed), 20 unchanged.
Top method regressions (bytes):
       56704 (72.10 % of base) : 74392.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (FullOpts)
       18656 (68.11 % of base) : 152505.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
       12264 (97.92 % of base) : 45427.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
       11676 (75.23 % of base) : 82358.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureForASingleCandidate(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.Location,int,byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.VisualBasic.Symbol):this (FullOpts)
       10508 (74.76 % of base) : 202444.dasm - System.Data.XmlTreeGen:HandleTable(System.Data.DataTable,System.Xml.XmlDocument,System.Xml.XmlElement,ubyte):System.Xml.XmlElement:this (FullOpts)
       10044 (94.47 % of base) : 45323.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
        8600 (97.77 % of base) : 64175.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        8204 (43.21 % of base) : 140504.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
        7908 (73.39 % of base) : 17649.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        6696 (88.85 % of base) : 70679.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        6500 (94.53 % of base) : 32804.dasm - System.Diagnostics.Tracing.EventPipePayloadDecoder:DecodePayload(byref,System.ReadOnlySpan`1[ubyte]):System.Object[] (FullOpts)
        6492 (69.93 % of base) : 171251.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
        6280 (85.23 % of base) : 202378.dasm - System.Data.RBTree`1[System.__Canon]:RBInsert(int,int,int,int,ubyte):int:this (FullOpts)
        5808 (81.66 % of base) : 202630.dasm - System.Data.RBTree`1[int]:RBInsert(int,int,int,int,ubyte):int:this (FullOpts)
        5512 (95.96 % of base) : 140557.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteMemberElementsIf(System.Xml.Serialization.XmlSerializationReaderCodeGen+Member[],System.Xml.Serialization.XmlSerializationReaderCodeGen+Member,System.String,System.String):this (FullOpts)
        5480 (79.84 % of base) : 85980.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberFieldSymbol:Create(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Syntax.FieldDeclarationSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol+MembersAndInitializersBuilder,byref,byref,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag) (FullOpts)
        5472 (83.82 % of base) : 64490.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeOneDeclaredBases(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Tuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]]:this (FullOpts)
        5096 (30.25 % of base) : 73875.dasm - Microsoft.FSharp.Linq.QueryModule:TransInner(int,ubyte,Microsoft.FSharp.Quotations.FSharpExpr):System.Tuple`2[Microsoft.FSharp.Linq.QueryModule+TransInnerResult,Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription] (FullOpts)
        5044 (88.18 % of base) : 140831.dasm - System.Xml.Schema.SchemaCollectionPreprocessor:PreprocessRedefine(System.Xml.Schema.XmlSchemaRedefine):this (FullOpts)
        4876 (72.82 % of base) : 202155.dasm - System.Data.DataTable:DeserializeTableSchema(System.Runtime.Serialization.SerializationInfo,ubyte):this (FullOpts)
Top method improvements (bytes):
         -80 (-9.13 % of base) : 35996.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -48 (-0.49 % of base) : 129824.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
         -44 (-10.09 % of base) : 32389.dasm - System.Reflection.CustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType,ubyte):ubyte (FullOpts)
         -40 (-8.40 % of base) : 159937.dasm - Microsoft.CodeAnalysis.PEModule:FindTargetAttribute(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):Microsoft.CodeAnalysis.PEModule+AttributeInfo (FullOpts)
         -40 (-8.40 % of base) : 3403.dasm - Microsoft.CodeAnalysis.PEModule:FindTargetAttribute(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):Microsoft.CodeAnalysis.PEModule+AttributeInfo (FullOpts)
         -36 (-5.59 % of base) : 209711.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:IsProperSupersetOf(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.__Canon]):ubyte (FullOpts)
         -32 (-4.68 % of base) : 229310.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.__Canon,System.__Canon]:Contains(System.__Canon):ubyte:this (FullOpts)
         -32 (-3.45 % of base) : 179582.dasm - System.Linq.Parallel.FirstQueryOperator`1+FirstQueryOperatorEnumerator`1[System.__Canon,System.__Canon]:MoveNext(byref,byref):ubyte:this (FullOpts)
         -28 (-5.22 % of base) : 191755.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[System.__Canon,System.__Canon]:TryGetKey(System.__Canon,byref):ubyte:this (FullOpts)
         -28 (-5.22 % of base) : 168875.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[System.__Canon,System.__Canon]:TryGetKey(System.__Canon,byref):ubyte:this (FullOpts)
         -28 (-5.22 % of base) : 13295.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[System.__Canon,System.__Canon]:TryGetKey(System.__Canon,byref):ubyte:this (FullOpts)
         -28 (-5.43 % of base) : 168981.dasm - Roslyn.Utilities.MultiDictionary`2+ValueSet[System.__Canon,System.__Canon]:Contains(System.__Canon,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):ubyte:this (FullOpts)
         -28 (-5.43 % of base) : 13403.dasm - Roslyn.Utilities.MultiDictionary`2+ValueSet[System.__Canon,System.__Canon]:Contains(System.__Canon,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):ubyte:this (FullOpts)
         -28 (-6.14 % of base) : 168985.dasm - Roslyn.Utilities.OneOrMany`1+<<OfType>g__iterateElements|18_0>d`1[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -28 (-5.69 % of base) : 215301.dasm - System.Collections.Generic.SortedSet`1[System.__Canon]:IsSubsetOfSortedSetWithSameComparer(System.Collections.Generic.SortedSet`1[System.__Canon]):ubyte:this (FullOpts)
         -28 (-4.86 % of base) : 208871.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:IsProperSupersetOf(System.Collections.Generic.IEnumerable`1[System.__Canon]):ubyte:this (FullOpts)
         -28 (-4.49 % of base) : 202368.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[System.__Canon]:<GetLinqDataView>b__0(System.Data.DataRow):ubyte:this (FullOpts)
         -28 (-6.60 % of base) : 32390.dasm - System.Reflection.CustomAttribute:IsDefined(System.Reflection.RuntimeMethodInfo,System.RuntimeType,ubyte):ubyte (FullOpts)
         -28 (-5.38 % of base) : 150627.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:ContainsProperty(System.String):ubyte:this (FullOpts)
         -28 (-4.32 % of base) : 150618.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:TryGetValue(System.String,byref):ubyte:this (FullOpts)
Top method regressions (percentages):
        4808 (117.27 % of base) : 202968.dasm - System.Data.RBTree`1[System.__Canon]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
        1716 (115.95 % of base) : 226270.dasm - System.Runtime.Caching.UsageBucket:Reduce():this (FullOpts)
        4592 (115.26 % of base) : 203010.dasm - System.Data.RBTree`1[int]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
         144 (105.88 % of base) : 86915.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SymbolExtensions:ContainingNonLambdaMember(Microsoft.CodeAnalysis.VisualBasic.Symbol):Microsoft.CodeAnalysis.VisualBasic.Symbol (FullOpts)
         152 (105.56 % of base) : 55743.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousIf(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (FullOpts)
         152 (105.56 % of base) : 55745.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousRegion(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (FullOpts)
         152 (105.56 % of base) : 55748.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:SkipInsignificantDirectives(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (FullOpts)
         164 (105.13 % of base) : 55744.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousIfElifElseOrRegion(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (FullOpts)
        2356 (102.61 % of base) : 85225.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSignatureComparer:DetailedParameterCompare(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.ParameterSymbol],byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.ParameterSymbol],byref,int,int):int (FullOpts)
        1240 (102.31 % of base) : 228078.dasm - System.Uri:CheckCanonical(ulong,byref,int,ushort):int:this (FullOpts)
        1412 (101.15 % of base) : 140741.dasm - System.Xml.XmlTextReaderImpl:SkipUntil(ushort,ubyte):this (FullOpts)
         168 (100.00 % of base) : 63079.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:ContainingNonLambdaMember(Microsoft.CodeAnalysis.CSharp.Symbol):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
        2988 (99.73 % of base) : 140563.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteDerivedSerializable(System.Xml.Serialization.SerializableMapping,System.Xml.Serialization.SerializableMapping,System.String,ubyte):this (FullOpts)
        2668 (99.70 % of base) : 139863.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteMemberEnd(System.Xml.Serialization.XmlSerializationReaderCodeGen+Member[],ubyte):this (FullOpts)
        2588 (99.23 % of base) : 140584.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteDerivedSerializable(System.Xml.Serialization.SerializableMapping,System.Xml.Serialization.SerializableMapping,System.String,ubyte):this (FullOpts)
        3096 (98.22 % of base) : 193525.dasm - System.DirectoryServices.Protocols.DirectoryControl:TransformControls(System.DirectoryServices.Protocols.DirectoryControl[]) (FullOpts)
       12264 (97.92 % of base) : 45427.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
        3268 (97.84 % of base) : 139876.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteMemberBegin(System.Xml.Serialization.XmlSerializationReaderILGen+Member[]):this (FullOpts)
        8600 (97.77 % of base) : 64175.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        1332 (97.37 % of base) : 176443.dasm - System.Net.Http.Http3RequestStream:BufferHeaderCollection(System.Net.Http.Headers.HttpHeaders):int:this (FullOpts)
Top method improvements (percentages):
         -20 (-12.20 % of base) : 25751.dasm - System.Reflection.Emit.RuntimeTypeBuilder:IsSubclassOf(System.Type):ubyte:this (FullOpts)
         -20 (-12.20 % of base) : 212700.dasm - System.Reflection.Emit.TypeBuilderImpl:IsSubclassOf(System.Type):ubyte:this (FullOpts)
         -20 (-10.42 % of base) : 223703.dasm - System.IO.Packaging.XmlCompatibilityReader:SkipToKnownAttribute():ubyte:this (FullOpts)
         -16 (-10.26 % of base) : 155104.dasm - System.Security.Cryptography.TripleDES:get_Key():ubyte[]:this (FullOpts)
         -44 (-10.09 % of base) : 32389.dasm - System.Reflection.CustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType,ubyte):ubyte (FullOpts)
         -80 (-9.13 % of base) : 35996.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -16 (-8.89 % of base) : 167649.dasm - Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[System.__Canon]:Any(int):ubyte:this (FullOpts)
         -16 (-8.89 % of base) : 12040.dasm - Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[System.__Canon]:Any(int):ubyte:this (FullOpts)
         -16 (-8.89 % of base) : 154047.dasm - System.Security.Cryptography.DES:get_Key():ubyte[]:this (FullOpts)
         -16 (-8.51 % of base) : 11861.dasm - Microsoft.CodeAnalysis.SyntaxList`1[System.__Canon]:All(System.Func`2[System.__Canon,ubyte]):ubyte:this (FullOpts)
         -16 (-8.51 % of base) : 167474.dasm - Microsoft.CodeAnalysis.SyntaxList`1[System.__Canon]:All(System.Func`2[System.__Canon,ubyte]):ubyte:this (FullOpts)
         -40 (-8.40 % of base) : 159937.dasm - Microsoft.CodeAnalysis.PEModule:FindTargetAttribute(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):Microsoft.CodeAnalysis.PEModule+AttributeInfo (FullOpts)
         -40 (-8.40 % of base) : 3403.dasm - Microsoft.CodeAnalysis.PEModule:FindTargetAttribute(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):Microsoft.CodeAnalysis.PEModule+AttributeInfo (FullOpts)
         -24 (-7.69 % of base) : 167917.dasm - Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]:IsSubsetOfHashSetWithSameComparer(Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]):ubyte:this (FullOpts)
         -24 (-7.69 % of base) : 12315.dasm - Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]:IsSubsetOfHashSetWithSameComparer(Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]):ubyte:this (FullOpts)
         -16 (-7.69 % of base) : 167094.dasm - Roslyn.Utilities.OneOrMany`1[System.__Canon]:All(System.Func`2[System.__Canon,ubyte]):ubyte:this (FullOpts)
         -16 (-7.69 % of base) : 157482.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
         -16 (-7.69 % of base) : 768.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
         -24 (-7.50 % of base) : 34797.dasm - System.Collections.Generic.HashSet`1[System.__Canon]:IsSubsetOfHashSetWithSameComparer(System.Collections.Generic.HashSet`1[System.__Canon]):ubyte:this (FullOpts)
         -20 (-7.46 % of base) : 11608.dasm - Microsoft.CodeAnalysis.UnionCollection`1[System.__Canon]:Contains(System.__Canon):ubyte:this (FullOpts)
  
libraries.pmi.osx.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 78203768 (overridden on cmd)
Total bytes of diff: 85698052 (overridden on cmd)
Total bytes of delta: 7494284 (9.58 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       19212 : 133319.dasm (80.64 % of base)
       18912 : 246092.dasm (70.61 % of base)
       17612 : 133278.dasm (96.71 % of base)
       13244 : 87252.dasm (97.47 % of base)
       10880 : 171711.dasm (99.49 % of base)
       10608 : 64407.dasm (97.25 % of base)
       10580 : 231393.dasm (77.57 % of base)
       10120 : 64513.dasm (92.13 % of base)
        9448 : 94363.dasm (91.30 % of base)
        8792 : 31101.dasm (65.30 % of base)
        8724 : 56064.dasm (87.48 % of base)
        8356 : 54380.dasm (99.24 % of base)
        8348 : 137481.dasm (88.58 % of base)
        8348 : 5084.dasm (94.01 % of base)
        8332 : 55653.dasm (67.81 % of base)
        7400 : 4766.dasm (72.24 % of base)
        7260 : 133594.dasm (72.48 % of base)
        7084 : 132167.dasm (86.90 % of base)
        6864 : 133268.dasm (87.73 % of base)
        6864 : 281676.dasm (54.81 % of base)
Top file improvements (bytes):
        -116 : 253302.dasm (-12.50 % of base)
        -104 : 26286.dasm (-9.70 % of base)
        -100 : 159388.dasm (-4.52 % of base)
         -68 : 50654.dasm (-11.33 % of base)
         -68 : 50694.dasm (-11.11 % of base)
         -56 : 94015.dasm (-5.58 % of base)
         -44 : 203059.dasm (-15.71 % of base)
         -40 : 220574.dasm (-8.13 % of base)
         -36 : 131166.dasm (-2.73 % of base)
         -32 : 313392.dasm (-8.08 % of base)
         -32 : 313393.dasm (-6.96 % of base)
         -28 : 314071.dasm (-5.79 % of base)
         -24 : 266227.dasm (-3.57 % of base)
         -24 : 268892.dasm (-2.46 % of base)
         -20 : 50653.dasm (-3.62 % of base)
         -20 : 203092.dasm (-8.33 % of base)
         -20 : 222670.dasm (-0.89 % of base)
         -20 : 269566.dasm (-3.12 % of base)
         -20 : 269567.dasm (-3.05 % of base)
         -20 : 50693.dasm (-3.55 % of base)
93 total files with Code Size differences (32 improved, 61 regressed), 20 unchanged.
Top method regressions (bytes):
       19212 (80.64 % of base) : 133319.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureForASingleCandidate(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.Location,int,byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.VisualBasic.Symbol):this (FullOpts)
       18912 (70.61 % of base) : 246092.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
       17612 (96.71 % of base) : 133278.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindFieldAndPropertyInitializers(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,System.Collections.Immutable.ImmutableArray`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.FieldOrPropertyInitializer]],Microsoft.CodeAnalysis.VisualBasic.Symbols.SynthesizedInteractiveInitializerMethod,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundInitializer] (FullOpts)
       13244 (97.47 % of base) : 87252.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       10880 (99.49 % of base) : 171711.dasm - Microsoft.Build.Evaluation.Preprocessor:CloneChildrenResolvingImports(System.Xml.XmlNode,System.Xml.XmlNode):this (FullOpts)
       10608 (97.25 % of base) : 64407.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
       10580 (77.57 % of base) : 231393.dasm - System.Data.XmlTreeGen:HandleTable(System.Data.DataTable,System.Xml.XmlDocument,System.Xml.XmlElement,ubyte):System.Xml.XmlElement:this (FullOpts)
       10120 (92.13 % of base) : 64513.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
        9448 (91.30 % of base) : 94363.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        8792 (65.30 % of base) : 31101.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
        8724 (87.48 % of base) : 56064.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugDirectoryNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (FullOpts)
        8356 (99.24 % of base) : 54380.dasm - Internal.JitInterface.InstructionSetFlags:ExpandInstructionSetByImplicationHelper(int,Internal.JitInterface.InstructionSetFlags):Internal.JitInterface.InstructionSetFlags (FullOpts)
        8348 (88.58 % of base) : 137481.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberFieldSymbol:Create(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Syntax.FieldDeclarationSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol+MembersAndInitializersBuilder,byref,byref,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag) (FullOpts)
        8348 (94.01 % of base) : 5084.dasm - System.DateTimeFormat:FormatCustomized[ubyte](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        8332 (67.81 % of base) : 55653.dasm - ILCompiler.Win32Resources.ResourceData:WriteResources(ILCompiler.DependencyAnalysis.ISymbolNode,byref,byref):this (FullOpts)
        7400 (72.24 % of base) : 4766.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        7260 (72.48 % of base) : 133594.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:DecodeParameterList(Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,int,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.ParameterSyntax],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.VisualBasic.Binder+CheckParameterModifierDelegate,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):this (FullOpts)
        7084 (86.90 % of base) : 132167.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (FullOpts)
        6864 (87.73 % of base) : 133268.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindArrayBounds(Microsoft.CodeAnalysis.VisualBasic.Syntax.ArgumentListSyntax,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Binder+DimensionSize[],ubyte):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]:this (FullOpts)
        6864 (54.81 % of base) : 281676.dasm - R2RDump.TextDumper:DumpSectionContents(ILCompiler.Reflection.ReadyToRun.ReadyToRunSection):this (FullOpts)
Top method improvements (bytes):
        -116 (-12.50 % of base) : 253302.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateParameterizedConstructor(System.Reflection.ConstructorInfo,System.Type,System.Type,System.Type,System.Type):System.Reflection.Emit.DynamicMethod (FullOpts)
        -104 (-9.70 % of base) : 26286.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
        -100 (-4.52 % of base) : 159388.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.DeclarationTable+_Closure$__38-0:_Lambda$__0(Microsoft.CodeAnalysis.VisualBasic.Symbols.SingleTypeDeclaration):ubyte:this (FullOpts)
         -68 (-11.33 % of base) : 50654.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+KeyCollection[System.__Canon,System.Nullable`1[int]]:All[System.Numerics.Vector`1[float]](System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -68 (-11.11 % of base) : 50694.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+ValueCollection[System.__Canon,System.Nullable`1[int]]:All[System.Numerics.Vector`1[float]](System.Func`3[System.Nullable`1[int],System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -56 (-5.58 % of base) : 94015.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetProperties>d__63:MoveNext():ubyte:this (FullOpts)
         -44 (-15.71 % of base) : 203059.dasm - Roslyn.Utilities.OneOrMany`1[System.__Canon]:Any[System.Numerics.Vector`1[float]](System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -40 (-8.13 % of base) : 220574.dasm - Newtonsoft.Json.Utilities.ConvertUtils:CreateCastConverter(Newtonsoft.Json.Utilities.StructMultiKey`2[System.Type,System.Type]):System.Func`2[System.Object,System.Object] (FullOpts)
         -36 (-2.73 % of base) : 131166.dasm - Microsoft.Diagnostics.Tracing.CLRRuntimeActivityComputer+PerThreadStartStopData+<Stackify>d__3:MoveNext():ubyte:this (FullOpts)
         -32 (-8.08 % of base) : 313392.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Contains(System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -32 (-6.96 % of base) : 313393.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:TryGetValue(System.Numerics.Vector`1[float],byref):ubyte:this (FullOpts)
         -28 (-5.79 % of base) : 314071.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext:MatchPatternContexts[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.Func`3[Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,System.Numerics.Vector`1[float],Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult]):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts)
         -24 (-3.57 % of base) : 266227.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:Overlaps(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.__Canon]):ubyte (FullOpts)
         -24 (-2.46 % of base) : 268892.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Find(System.Predicate`1[System.Numerics.Vector`1[float]]):System.Numerics.Vector`1[float]:this (FullOpts)
         -20 (-3.62 % of base) : 50653.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+KeyCollection[System.__Canon,System.Nullable`1[int]]:All[double](System.Func`3[System.__Canon,double,ubyte],double):ubyte:this (FullOpts)
         -20 (-3.55 % of base) : 50693.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+ValueCollection[System.__Canon,System.Nullable`1[int]]:All[double](System.Func`3[System.Nullable`1[int],double,ubyte],double):ubyte:this (FullOpts)
         -20 (-0.89 % of base) : 222670.dasm - Newtonsoft.Json.Converters.XmlNodeConverter:ReadAttributeElements(Newtonsoft.Json.JsonReader,System.Xml.XmlNamespaceManager):System.Collections.Generic.Dictionary`2[System.String,System.String]:this (FullOpts)
         -20 (-8.33 % of base) : 203092.dasm - Roslyn.Utilities.OneOrMany`1[ubyte]:Any[System.Numerics.Vector`1[float]](System.Func`3[ubyte,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -20 (-3.12 % of base) : 269566.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:IsSupersetOf(System.Collections.Generic.IEnumerable`1[System.__Canon]):ubyte:this (FullOpts)
         -20 (-3.05 % of base) : 269567.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:Overlaps(System.Collections.Generic.IEnumerable`1[System.__Canon]):ubyte:this (FullOpts)
Top method regressions (percentages):
        4852 (118.34 % of base) : 233508.dasm - System.Data.RBTree`1[System.__Canon]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
        1708 (116.99 % of base) : 299053.dasm - System.Runtime.Caching.UsageBucket:Reduce():this (FullOpts)
        4620 (115.96 % of base) : 233569.dasm - System.Data.RBTree`1[ubyte]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
        1600 (105.54 % of base) : 198064.dasm - System.Xml.Serialization.XmlSerializationWriterCodeGen:WriteDerivedTypes(System.Xml.Serialization.StructMapping):this (FullOpts)
        3636 (104.36 % of base) : 288877.dasm - Microsoft.Extensions.DependencyModel.DependencyContextWriter:AddRuntimeSpecificAssets(System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.DependencyModel.RuntimeFile],System.String,System.String,System.Text.Json.Utf8JsonWriter) (FullOpts)
         232 (103.57 % of base) : 311172.dasm - System.Composition.Hosting.Util.SmallSparseInitonlyArray:TryGetValue(int,byref):ubyte:this (FullOpts)
        2628 (100.77 % of base) : 161232.dasm - Microsoft.CodeAnalysis.VisualBasic.AsyncRewriter+AsyncMethodToClassRewriter:SpillArgumentListInner(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.AsyncRewriter+SpillBuilder],ubyte,byref):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]:this (FullOpts)
        1856 (100.43 % of base) : 83825.dasm - Microsoft.CodeAnalysis.CSharp.Emit.PEDeltaAssemblyBuilder:GetAnonymousDelegateMapFromMetadata(System.Reflection.Metadata.MetadataReader,Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.MetadataDecoder):System.Collections.Generic.IReadOnlyDictionary`2[Microsoft.CodeAnalysis.Emit.SynthesizedDelegateKey,Microsoft.CodeAnalysis.Emit.SynthesizedDelegateValue] (FullOpts)
        4768 (100.42 % of base) : 136317.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.ConstraintsHelper:ReportIndirectConstraintConflicts(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceTypeParameterSymbol,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterDiagnosticInfo],byref) (FullOpts)
        5008 (100.24 % of base) : 133472.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindRedimStatement(Microsoft.CodeAnalysis.VisualBasic.Syntax.ReDimStatementSyntax,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundStatement:this (FullOpts)
        3200 (100.13 % of base) : 137403.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol:ProcessPartialMethodsIfAny(System.Collections.Generic.Dictionary`2[System.String,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbol]],Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):this (FullOpts)
        1672 (100.00 % of base) : 1185.dasm - System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts)
        3152 (99.87 % of base) : 137314.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceFile:BindOptions(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.OptionStatementSyntax],Microsoft.CodeAnalysis.DiagnosticBag,byref,byref,byref,byref,System.Nullable`1[Microsoft.CodeAnalysis.Text.TextSpan]) (FullOpts)
       10880 (99.49 % of base) : 171711.dasm - Microsoft.Build.Evaluation.Preprocessor:CloneChildrenResolvingImports(System.Xml.XmlNode,System.Xml.XmlNode):this (FullOpts)
        4228 (99.25 % of base) : 133645.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlnsAttributes(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax],byref,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.BoundXmlAttribute],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.Collections.Generic.KeyValuePair`2[System.String,System.String]],Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):System.Collections.Generic.Dictionary`2[System.String,System.String]:this (FullOpts)
        8356 (99.24 % of base) : 54380.dasm - Internal.JitInterface.InstructionSetFlags:ExpandInstructionSetByImplicationHelper(int,Internal.JitInterface.InstructionSetFlags):Internal.JitInterface.InstructionSetFlags (FullOpts)
        6076 (98.96 % of base) : 54382.dasm - Internal.JitInterface.InstructionSetFlags:ExpandInstructionSetByReverseImplicationHelper(int,Internal.JitInterface.InstructionSetFlags):Internal.JitInterface.InstructionSetFlags (FullOpts)
        1984 (97.83 % of base) : 60342.dasm - Microsoft.CodeAnalysis.CSharp.SwitchBinder:BuildSwitchLabels(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.SwitchLabelSyntax],Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        2692 (97.82 % of base) : 171767.dasm - Microsoft.Build.Evaluation.ExpressionShredder:GetReferencedItemNamesAndMetadata(System.String,int,int,byref,int) (FullOpts)
        6008 (97.79 % of base) : 87264.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:ComputeInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+SynthesizedExplicitImplementations:this (FullOpts)
Top method improvements (percentages):
         -44 (-15.71 % of base) : 203059.dasm - Roslyn.Utilities.OneOrMany`1[System.__Canon]:Any[System.Numerics.Vector`1[float]](System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
        -116 (-12.50 % of base) : 253302.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateParameterizedConstructor(System.Reflection.ConstructorInfo,System.Type,System.Type,System.Type,System.Type):System.Reflection.Emit.DynamicMethod (FullOpts)
         -68 (-11.33 % of base) : 50654.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+KeyCollection[System.__Canon,System.Nullable`1[int]]:All[System.Numerics.Vector`1[float]](System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -68 (-11.11 % of base) : 50694.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+ValueCollection[System.__Canon,System.Nullable`1[int]]:All[System.Numerics.Vector`1[float]](System.Func`3[System.Nullable`1[int],System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
        -104 (-9.70 % of base) : 26286.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -16 (-8.70 % of base) : 288631.dasm - System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
         -20 (-8.33 % of base) : 203092.dasm - Roslyn.Utilities.OneOrMany`1[ubyte]:Any[System.Numerics.Vector`1[float]](System.Func`3[ubyte,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -40 (-8.13 % of base) : 220574.dasm - Newtonsoft.Json.Utilities.ConvertUtils:CreateCastConverter(Newtonsoft.Json.Utilities.StructMultiKey`2[System.Type,System.Type]):System.Func`2[System.Object,System.Object] (FullOpts)
         -32 (-8.08 % of base) : 313392.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Contains(System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -16 (-7.02 % of base) : 255551.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Byte():System.Reflection.MethodInfo (FullOpts)
         -16 (-7.02 % of base) : 255559.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Char():System.Reflection.MethodInfo (FullOpts)
         -16 (-7.02 % of base) : 255553.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Int16():System.Reflection.MethodInfo (FullOpts)
         -16 (-7.02 % of base) : 255555.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Int32():System.Reflection.MethodInfo (FullOpts)
         -16 (-7.02 % of base) : 255557.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Int64():System.Reflection.MethodInfo (FullOpts)
         -16 (-7.02 % of base) : 255552.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_SByte():System.Reflection.MethodInfo (FullOpts)
         -16 (-7.02 % of base) : 255554.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_UInt16():System.Reflection.MethodInfo (FullOpts)
         -16 (-7.02 % of base) : 255556.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_UInt32():System.Reflection.MethodInfo (FullOpts)
         -16 (-7.02 % of base) : 255558.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_UInt64():System.Reflection.MethodInfo (FullOpts)
         -16 (-7.02 % of base) : 255542.dasm - System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
         -32 (-6.96 % of base) : 313393.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:TryGetValue(System.Numerics.Vector`1[float],byref):ubyte:this (FullOpts)
  
libraries_tests.run.osx.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 310283060 (overridden on cmd)
Total bytes of diff: 334751988 (overridden on cmd)
Total bytes of delta: 24468928 (7.89 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       25312 : 85547.dasm (93.15 % of base)
       22520 : 64926.dasm (91.49 % of base)
       22460 : 56727.dasm (89.77 % of base)
       20608 : 482681.dasm (94.12 % of base)
       19256 : 157502.dasm (83.22 % of base)
       18576 : 88621.dasm (98.41 % of base)
       17420 : 601616.dasm (99.98 % of base)
       16944 : 372973.dasm (92.59 % of base)
       16688 : 598175.dasm (86.75 % of base)
       16244 : 581303.dasm (90.24 % of base)
       16096 : 89990.dasm (90.28 % of base)
       15356 : 591597.dasm (73.63 % of base)
       14984 : 537212.dasm (88.37 % of base)
       14852 : 582080.dasm (72.62 % of base)
       14792 : 453583.dasm (70.90 % of base)
       14644 : 55384.dasm (88.11 % of base)
       14072 : 576696.dasm (91.71 % of base)
       14044 : 398558.dasm (77.40 % of base)
       13952 : 398557.dasm (76.27 % of base)
       13928 : 398555.dasm (77.69 % of base)
Top file improvements (bytes):
        -396 : 30643.dasm (-2.51 % of base)
        -296 : 76397.dasm (-2.43 % of base)
        -296 : 83823.dasm (-3.12 % of base)
        -208 : 474818.dasm (-1.49 % of base)
        -192 : 113794.dasm (-32.65 % of base)
        -192 : 489290.dasm (-32.65 % of base)
        -192 : 65718.dasm (-32.65 % of base)
        -192 : 104712.dasm (-32.65 % of base)
        -192 : 122895.dasm (-32.65 % of base)
        -192 : 129241.dasm (-32.65 % of base)
        -192 : 265790.dasm (-32.65 % of base)
        -192 : 284036.dasm (-32.65 % of base)
        -192 : 3356.dasm (-32.65 % of base)
        -192 : 353688.dasm (-32.65 % of base)
        -192 : 139440.dasm (-32.65 % of base)
        -192 : 175459.dasm (-32.65 % of base)
        -192 : 196372.dasm (-32.65 % of base)
        -192 : 265022.dasm (-32.65 % of base)
        -192 : 273123.dasm (-32.65 % of base)
        -192 : 297741.dasm (-32.65 % of base)
90 total files with Code Size differences (27 improved, 63 regressed), 20 unchanged.
Top method regressions (bytes):
       25312 (93.15 % of base) : 85547.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
       22520 (91.49 % of base) : 64926.dasm - Microsoft.CodeAnalysis.CSharp.Binder:MakeDeconstructionConversion(Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Binder+DeconstructionVariable],byref):ubyte:this (Tier1)
       22460 (89.77 % of base) : 56727.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
       20608 (94.12 % of base) : 482681.dasm - System.Xml.XmlLoader:LoadNode(ubyte):System.Xml.XmlNode:this (Tier1-OSR)
       19256 (83.22 % of base) : 157502.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
       18576 (98.41 % of base) : 88621.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers:MakeParameters[System.__Canon,System.__Canon,System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,System.__Canon,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[System.__Canon],byref,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte,ubyte,ubyte,int,System.Func`12[System.__Canon,System.__Canon,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.__Canon,ubyte,int,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,ubyte,ubyte,System.__Canon,System.__Canon],ubyte):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (Tier1)
       17420 (99.98 % of base) : 601616.dasm - Microsoft.Cci.MetadataWriter:PopulateTypeDefTableRows():this (Tier1)
       16944 (92.59 % of base) : 372973.dasm - XPathTests.Common.Utils:XPathNodesetTest(int,System.String,System.String,XPathTests.Common.XPathResult,System.Xml.XmlNamespaceManager,System.String) (Tier1)
       16688 (86.75 % of base) : 598175.dasm - Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,System.__Canon]:VisitBinaryLogicalOperatorChildren(Microsoft.CodeAnalysis.CSharp.BoundExpression):this (Tier1)
       16244 (90.24 % of base) : 581303.dasm - Microsoft.CodeAnalysis.CSharp.Binder:TryPerformConstructorOverloadResolution(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.String,Microsoft.CodeAnalysis.Location,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref,byref,ubyte,ubyte):ubyte:this (Tier1)
       16096 (90.28 % of base) : 89990.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeTypeParameters(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol]:this (Tier1)
       15356 (73.63 % of base) : 591597.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindClassCreationExpression(Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.CSharp.Syntax.InitializerExpressionSyntax,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
       14984 (88.37 % of base) : 537212.dasm - System.Text.Json.Tests.Utf8JsonWriterTests:GetNumbersExpectedString(System.Text.Json.JsonWriterOptions,System.String,int[],uint[],long[],ulong[],float[],double[],System.Decimal[],ubyte):System.String (Tier1-OSR)
       14852 (72.62 % of base) : 582080.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindAttributeCore(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundAttribute:this (Tier1)
       14792 (70.90 % of base) : 453583.dasm - System.Runtime.Serialization.Formatters.Binary.ObjectWriter:WriteArray(System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo,System.Runtime.Serialization.Formatters.Binary.NameInfo,System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo):this (Tier1)
       14644 (88.11 % of base) : 55384.dasm - Microsoft.CodeAnalysis.CSharp.Binder:TryPerformConstructorOverloadResolution(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.String,Microsoft.CodeAnalysis.Location,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref,byref,ubyte,ubyte):ubyte:this (Tier1)
       14072 (91.71 % of base) : 576696.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbols(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):this (Tier1-OSR)
       14044 (77.40 % of base) : 398558.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess4():int:this (Tier1)
       13952 (76.27 % of base) : 398557.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess3():int:this (Tier1)
       13928 (77.69 % of base) : 398555.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess1():int:this (Tier1)
Top method improvements (bytes):
        -396 (-2.51 % of base) : 30643.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbols(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):this (Tier1-OSR)
        -296 (-2.43 % of base) : 76397.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbols(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):this (Tier1-OSR)
        -296 (-3.12 % of base) : 83823.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -208 (-1.49 % of base) : 474818.dasm - System.Security.Cryptography.EcDsa.Tests.ECDsaTests:SignVerify_InteroperableSameKeys_RoundTripsUnlessTampered(System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName):this (Tier1)
        -192 (-32.65 % of base) : 113794.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 489290.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 65718.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 104712.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 122895.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 129241.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 265790.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 284036.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 3356.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 353688.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 139440.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 175459.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 196372.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 265022.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 273123.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 297741.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
Top method regressions (percentages):
        4032 (144.83 % of base) : 158645.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseTypeArgumentList(byref,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxListBuilder`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax],byref):this (Tier1)
        4416 (120.13 % of base) : 357174.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<Min_Tensor_NanReturned>b__207_0(int):this (Tier1)
        2112 (113.30 % of base) : 288370.dasm - System.Linq.Parallel.SortHelper`2[System.Collections.Generic.KeyValuePair`2[int,System.Collections.Generic.KeyValuePair`2[int,int]],System.Linq.Parallel.Pair`2[System.Linq.Parallel.Pair`2[int,int],int]]:QuickSort(int,int,System.Linq.Parallel.Pair`2[System.Linq.Parallel.Pair`2[int,int],int][],int[],System.Threading.CancellationToken):this (Tier1)
        2780 (111.38 % of base) : 65134.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MemberSignatureComparer:HaveSameParameterTypes(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.CSharp.Symbols.TypeMap,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.CSharp.Symbols.TypeMap,int,int):ubyte (Tier1)
        6052 (111.33 % of base) : 547130.dasm - System.Text.Json.Tests.Utf8JsonWriterTests:EscapingTestWhileWritingSurrogate(System.Text.Encodings.Web.JavaScriptEncoder):this (Tier1-OSR)
        6776 (111.15 % of base) : 600882.dasm - System.Collections.Generic.ArraySortHelper`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Reflection.Metadata.StringHandle]]:IntroSort(System.Span`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Reflection.Metadata.StringHandle]],int,System.Comparison`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Reflection.Metadata.StringHandle]]) (Tier1)
         524 (109.17 % of base) : 449680.dasm - System.Lazy`1[int]:CreateValue():int:this (Instrumented Tier1)
         524 (109.17 % of base) : 80846.dasm - System.Lazy`1[ubyte]:CreateValue():ubyte:this (Instrumented Tier1)
        9952 (108.93 % of base) : 592381.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:CandidateOperators(ubyte,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.BinaryOperatorSignature],Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.BinaryOperatorAnalysisResult],byref):ubyte:this (Tier1)
        5640 (108.71 % of base) : 104676.dasm - System.Collections.Generic.ArraySortHelper`1[System.ValueTuple`2[System.__Canon,System.DateTimeOffset]]:IntroSort(System.Span`1[System.ValueTuple`2[System.__Canon,System.DateTimeOffset]],int,System.Comparison`1[System.ValueTuple`2[System.__Canon,System.DateTimeOffset]]) (Tier1)
        2440 (107.39 % of base) : 305315.dasm - System.SpanTests.ReadOnlySpanTests:TestNoMatchIndexOfAny_ManyString() (Tier1-OSR)
        2444 (107.38 % of base) : 305156.dasm - System.SpanTests.ReadOnlySpanTests:TestNoMatchValuesLargerIndexOfAny_ManyString() (Tier1-OSR)
        4020 (107.14 % of base) : 54608.dasm - System.Collections.Generic.ArraySortHelper`1[System.ValueTuple`2[int,System.__Canon]]:IntroSort(System.Span`1[System.ValueTuple`2[int,System.__Canon]],int,System.Comparison`1[System.ValueTuple`2[int,System.__Canon]]) (Tier1)
        5488 (107.02 % of base) : 599258.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MemberSignatureComparer:HaveSameParameterTypes(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.CSharp.Symbols.TypeMap,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.CSharp.Symbols.TypeMap,int,int):ubyte (Tier1)
        4016 (106.92 % of base) : 83137.dasm - System.Collections.Generic.ArraySortHelper`1[System.ValueTuple`2[int,System.__Canon]]:IntroSort(System.Span`1[System.ValueTuple`2[int,System.__Canon]],int,System.Comparison`1[System.ValueTuple`2[int,System.__Canon]]) (Tier1)
        3152 (106.20 % of base) : 582210.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2633_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        3332 (105.71 % of base) : 177031.dasm - System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests:AddManyItems_ThenTakeOnSameThread_ItemsOutputInExpectedOrder():this (Tier1-OSR)
        2636 (104.94 % of base) : 593689.dasm - Microsoft.CodeAnalysis.CodeGen.ReferenceDependencyWalker:VisitParameters(System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.IParameterTypeInformation],Microsoft.CodeAnalysis.Emit.EmitContext) (Tier1)
        1460 (104.58 % of base) : 309585.dasm - System.SpanTests.SpanTests:TestMatchLastIndexOfAny_Byte_TwoByte() (Tier1-OSR)
        1480 (104.52 % of base) : 310044.dasm - System.SpanTests.SpanTests:TestMatchLastIndexOfAny_Byte_ThreeByte() (Tier1-OSR)
Top method improvements (percentages):
        -192 (-32.65 % of base) : 113794.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 489290.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 65718.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 104712.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 122895.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 129241.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 265790.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 284036.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 3356.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 353688.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 139440.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 175459.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 196372.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 265022.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 273123.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 297741.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 532635.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -124 (-21.38 % of base) : 264877.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 109993.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 118981.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
  
librariestestsnotieredcompilation.run.osx.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 160885512 (overridden on cmd)
Total bytes of diff: 171096876 (overridden on cmd)
Total bytes of delta: 10211364 (6.35 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       26044 : 103094.dasm (35.40 % of base)
       24940 : 108605.dasm (35.22 % of base)
       20800 : 59198.dasm (71.17 % of base)
       18264 : 173198.dasm (101.87 % of base)
       13424 : 197598.dasm (56.63 % of base)
       13332 : 197188.dasm (56.95 % of base)
       13156 : 6938.dasm (97.31 % of base)
       13056 : 49311.dasm (97.35 % of base)
       12640 : 44142.dasm (96.14 % of base)
       11428 : 293797.dasm (96.39 % of base)
       11352 : 53910.dasm (83.87 % of base)
       11200 : 91488.dasm (78.90 % of base)
       11056 : 174582.dasm (89.31 % of base)
        9956 : 55561.dasm (91.51 % of base)
        9320 : 91395.dasm (72.84 % of base)
        9148 : 101813.dasm (94.62 % of base)
        9008 : 6009.dasm (90.99 % of base)
        8932 : 174580.dasm (85.20 % of base)
        8904 : 174584.dasm (86.89 % of base)
        8904 : 174583.dasm (86.65 % of base)
Top file improvements (bytes):
        -548 : 68311.dasm (-7.01 % of base)
        -488 : 50536.dasm (-3.84 % of base)
        -488 : 44818.dasm (-3.84 % of base)
        -380 : 67258.dasm (-5.04 % of base)
        -164 : 228324.dasm (-4.60 % of base)
         -92 : 294742.dasm (-5.01 % of base)
         -84 : 287623.dasm (-10.99 % of base)
         -80 : 294761.dasm (-3.57 % of base)
         -80 : 173184.dasm (-12.50 % of base)
         -80 : 294545.dasm (-3.69 % of base)
         -80 : 295656.dasm (-4.34 % of base)
         -72 : 287757.dasm (-8.26 % of base)
         -64 : 271132.dasm (-7.34 % of base)
         -60 : 287758.dasm (-5.49 % of base)
         -56 : 271053.dasm (-11.02 % of base)
         -56 : 271056.dasm (-10.85 % of base)
         -56 : 271059.dasm (-10.85 % of base)
         -56 : 54908.dasm (-5.58 % of base)
         -48 : 106402.dasm (-7.95 % of base)
         -44 : 282449.dasm (-6.47 % of base)
92 total files with Code Size differences (31 improved, 61 regressed), 20 unchanged.
Top method regressions (bytes):
       26044 (35.40 % of base) : 103094.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.statements.freach.freach001.freach001.Test:MainMethod():int (FullOpts)
       24940 (35.22 % of base) : 108605.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.statements.freach.freach007.freach007.Test:MainMethod():int (FullOpts)
       20800 (71.17 % of base) : 59198.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
       18264 (101.87 % of base) : 173198.dasm - System.Xml.XmlConvertTests.ToTypeTests:TestValid(System.Object[],System.Object[],System.String,System.String[]):int:this (FullOpts)
       13424 (56.63 % of base) : 197598.dasm - (dynamicClass):ReadAllTypes2FromXml(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.XmlObjectSerializerReadContext,System.Xml.XmlDictionaryString[],System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
       13332 (56.95 % of base) : 197188.dasm - (dynamicClass):ReadAllTypesFromXml(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.XmlObjectSerializerReadContext,System.Xml.XmlDictionaryString[],System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
       13156 (97.31 % of base) : 6938.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       13056 (97.35 % of base) : 49311.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       12640 (96.14 % of base) : 44142.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       11428 (96.39 % of base) : 293797.dasm - System.Threading.Tasks.Dataflow.Tests.DebugAttributeTests:TestDebuggerDisplaysAndTypeProxies():this (FullOpts)
       11352 (83.87 % of base) : 53910.dasm - Enumeration.FirstValidator:Validate(System.String,Enumeration.FirstModel):Microsoft.Extensions.Options.ValidateOptionsResult:this (FullOpts)
       11200 (78.90 % of base) : 91488.dasm - System.Data.XmlTreeGen:HandleTable(System.Data.DataTable,System.Xml.XmlDocument,System.Xml.XmlElement,ubyte):System.Xml.XmlElement:this (FullOpts)
       11056 (89.31 % of base) : 174582.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess2():int:this (FullOpts)
        9956 (91.51 % of base) : 55561.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
        9320 (72.84 % of base) : 91395.dasm - System.Data.Tests.DataTableTest2:GetChanges_ByDataRowState():this (FullOpts)
        9148 (94.62 % of base) : 101813.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.basic.operate007a.operate007a.Test:Test4():ubyte (FullOpts)
        9008 (90.99 % of base) : 6009.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        8932 (85.20 % of base) : 174580.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess1():int:this (FullOpts)
        8904 (86.65 % of base) : 174583.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess3():int:this (FullOpts)
        8904 (86.89 % of base) : 174584.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess4():int:this (FullOpts)
Top method improvements (bytes):
        -548 (-7.01 % of base) : 68311.dasm - System.Collections.Frozen.Tests.FrozenSet_Generic_Tests`1[ulong]:ComparingWithOtherSets(int):this (FullOpts)
        -488 (-3.84 % of base) : 50536.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers:CheckParameterModifiers(Microsoft.CodeAnalysis.CSharp.Syntax.BaseParameterSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte) (FullOpts)
        -488 (-3.84 % of base) : 44818.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers:CheckParameterModifiers(Microsoft.CodeAnalysis.CSharp.Syntax.BaseParameterSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte) (FullOpts)
        -380 (-5.04 % of base) : 67258.dasm - System.Collections.Frozen.Tests.FrozenSet_Generic_Tests`1[System.__Canon]:ComparingWithOtherSets(int):this (FullOpts)
        -164 (-4.60 % of base) : 228324.dasm - System.Text.Tests.DecoderConvert2:PosTest9():this (FullOpts)
         -92 (-5.01 % of base) : 294742.dasm - System.Threading.Tasks.Dataflow.Tests.BufferBlockTests+<TestLinkToOptions>d__6:MoveNext():this (FullOpts)
         -84 (-10.99 % of base) : 287623.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2650_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -80 (-3.57 % of base) : 294761.dasm - System.Threading.Tasks.Dataflow.Tests.TransformBlockTests+<TestLinkToOptions>d__6:MoveNext():this (FullOpts)
         -80 (-3.69 % of base) : 294545.dasm - System.Threading.Tasks.Dataflow.Tests.TransformManyBlockTests+<TestLinkToOptions>d__6:MoveNext():this (FullOpts)
         -80 (-4.34 % of base) : 295656.dasm - System.Threading.Tasks.Dataflow.Tests.TransformManyBlockTests+<TestLinkToOptionsAsyncEnumerable>d__37:MoveNext():this (FullOpts)
         -80 (-12.50 % of base) : 173184.dasm - System.Xml.XmlConvertTests.EncodeDecodeTests:v3():int:this (FullOpts)
         -72 (-8.26 % of base) : 287757.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2825_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -64 (-7.34 % of base) : 271132.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex4763_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -60 (-5.49 % of base) : 287758.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2826_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -56 (-5.58 % of base) : 54908.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetProperties>d__65:MoveNext():ubyte:this (FullOpts)
         -56 (-11.02 % of base) : 271053.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex4719_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -56 (-10.85 % of base) : 271056.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex4722_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -56 (-10.85 % of base) : 271059.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex4724_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -48 (-7.95 % of base) : 106402.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.basic.operate008a.operate008a.Test:Test3a():ubyte (FullOpts)
         -44 (-4.68 % of base) : 198445.dasm - System.Tests.ArraySegment_Tests:IList_IndexOf() (FullOpts)
Top method regressions (percentages):
        4852 (118.34 % of base) : 90647.dasm - System.Data.RBTree`1[System.__Canon]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
        1708 (116.99 % of base) : 184462.dasm - System.Runtime.Caching.UsageBucket:Reduce():this (FullOpts)
        4620 (115.96 % of base) : 90569.dasm - System.Data.RBTree`1[int]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
         580 (111.54 % of base) : 97034.dasm - System.Diagnostics.Metrics.Tests.MetricsTests+<>c__DisplayClass15_0:<SerializedEventsTest>b__3():this (FullOpts)
        2724 (107.58 % of base) : 276424.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex4474_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         968 (107.08 % of base) : 299028.dasm - System.Threading.Tests.BarrierTests:RunBarrierTest7a() (FullOpts)
        3140 (106.22 % of base) : 272495.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex4185_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         232 (103.57 % of base) : 29706.dasm - System.Composition.Hosting.Util.SmallSparseInitonlyArray:TryGetValue(int,byref):ubyte:this (FullOpts)
         232 (103.57 % of base) : 42069.dasm - System.Composition.Hosting.Util.SmallSparseInitonlyArray:TryGetValue(int,byref):ubyte:this (FullOpts)
         232 (103.57 % of base) : 86911.dasm - System.Composition.Hosting.Util.SmallSparseInitonlyArray:TryGetValue(int,byref):ubyte:this (FullOpts)
       18264 (101.87 % of base) : 173198.dasm - System.Xml.XmlConvertTests.ToTypeTests:TestValid(System.Object[],System.Object[],System.String,System.String[]):int:this (FullOpts)
        1396 (101.16 % of base) : 49789.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetAttributes(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Binder],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData[],Microsoft.CodeAnalysis.CSharp.BoundAttribute[],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)
        3168 (100.25 % of base) : 287711.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2725_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        1644 (100.00 % of base) : 196044.dasm - DataContractSerializerTests:DCS_InvalidDataContract_Read_Invalid_Types_Throws() (FullOpts)
        1644 (100.00 % of base) : 197372.dasm - DataContractSerializerTests:DCS_InvalidDataContract_Read_Invalid_Types_Throws() (FullOpts)
        2148 (99.81 % of base) : 46294.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer+InterpolatedStringScanner:ScanInterpolatedStringLiteralContents(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer+Interpolation]):this (FullOpts)
         728 (99.45 % of base) : 265577.dasm - System.Text.RegularExpressions.Tests.MatchCollectionTests:ICollection_CopyTo(int) (FullOpts)
        2480 (99.36 % of base) : 196011.dasm - DataContractSerializerTests:DCS_MyPersonSurrogate_Stress() (FullOpts)
        2004 (99.01 % of base) : 51718.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer+InterpolatedStringScanner:ScanInterpolatedStringLiteralContents(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer+Interpolation]):this (FullOpts)
        2076 (98.67 % of base) : 42821.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder,ubyte):this (FullOpts)
Top method improvements (percentages):
         -80 (-12.50 % of base) : 173184.dasm - System.Xml.XmlConvertTests.EncodeDecodeTests:v3():int:this (FullOpts)
         -56 (-11.02 % of base) : 271053.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex4719_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -84 (-10.99 % of base) : 287623.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2650_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -56 (-10.85 % of base) : 271056.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex4722_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -56 (-10.85 % of base) : 271059.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex4724_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -40 (-8.93 % of base) : 212946.dasm - System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (FullOpts)
         -16 (-8.70 % of base) : 176108.dasm - System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
         -72 (-8.26 % of base) : 287757.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2825_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -32 (-8.00 % of base) : 218495.dasm - System.Security.Cryptography.RC2:set_EffectiveKeySize(int):this (FullOpts)
         -48 (-7.95 % of base) : 106402.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.basic.operate008a.operate008a.Test:Test3a():ubyte (FullOpts)
         -24 (-7.69 % of base) : 3827.dasm - System.Linq.Enumerable+WhereSelectListIterator`2[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon],System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -64 (-7.34 % of base) : 271132.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex4763_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -40 (-7.19 % of base) : 212899.dasm - System.Security.Cryptography.DES:set_Key(ubyte[]):this (FullOpts)
        -548 (-7.01 % of base) : 68311.dasm - System.Collections.Frozen.Tests.FrozenSet_Generic_Tests`1[ulong]:ComparingWithOtherSets(int):this (FullOpts)
         -40 (-6.99 % of base) : 163769.dasm - PurchaseOrder:CreateInstance():PurchaseOrder (FullOpts)
         -16 (-6.67 % of base) : 186798.dasm - System.Runtime.InteropServices.Tests.PrelinkTests:Prelink_RuntimeSuppliedMethod_Success():this (FullOpts)
         -20 (-6.58 % of base) : 177693.dasm - System.Reflection.Emit.Tests.TypeBuilderGetMethod+<>c:<GetMethod_TypeNotTypeBuilder_ThrowsArgumentException>b__2_0():System.Object:this (FullOpts)
         -44 (-6.47 % of base) : 282447.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex608_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -44 (-6.47 % of base) : 282449.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex610_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -44 (-6.47 % of base) : 282452.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex614_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
  
realworld.run.osx.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 14574520 (overridden on cmd)
Total bytes of diff: 16433024 (overridden on cmd)
Total bytes of delta: 1858504 (12.75 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       13104 : 18742.dasm (97.44 % of base)
       10488 : 23988.dasm (97.18 % of base)
       10008 : 22844.dasm (91.35 % of base)
        9288 : 17535.dasm (91.45 % of base)
        7888 : 1224.dasm (96.76 % of base)
        7400 : 30180.dasm (72.24 % of base)
        6916 : 16507.dasm (85.89 % of base)
        6680 : 22393.dasm (77.96 % of base)
        6196 : 28872.dasm (94.05 % of base)
        6096 : 19854.dasm (87.44 % of base)
        5968 : 18617.dasm (79.19 % of base)
        5712 : 19165.dasm (97.81 % of base)
        5384 : 12265.dasm (101.05 % of base)
        5312 : 12264.dasm (99.25 % of base)
        5068 : 1415.dasm (110.27 % of base)
        4952 : 7034.dasm (79.82 % of base)
        4932 : 22377.dasm (54.68 % of base)
        4892 : 20078.dasm (87.80 % of base)
        4736 : 16127.dasm (94.95 % of base)
        4692 : 15384.dasm (92.43 % of base)
Top file improvements (bytes):
        -112 : 611.dasm (-10.65 % of base)
         -56 : 26905.dasm (-5.58 % of base)
         -44 : 1557.dasm (-33.33 % of base)
         -16 : 2283.dasm (-2.16 % of base)
         -16 : 30631.dasm (-7.02 % of base)
         -16 : 12687.dasm (-3.31 % of base)
         -12 : 26863.dasm (-2.27 % of base)
         -12 : 19345.dasm (-1.94 % of base)
         -12 : 5243.dasm (-1.49 % of base)
         -12 : 14923.dasm (-2.29 % of base)
          -8 : 31184.dasm (-0.80 % of base)
          -8 : 28974.dasm (-0.68 % of base)
          -4 : 207.dasm (-2.00 % of base)
          -4 : 21479.dasm (-1.79 % of base)
          -4 : 22409.dasm (-1.96 % of base)
          -4 : 23178.dasm (-1.41 % of base)
          -4 : 3169.dasm (-2.08 % of base)
          -4 : 4626.dasm (-2.17 % of base)
          -4 : 101.dasm (-2.08 % of base)
          -4 : 12884.dasm (-2.17 % of base)
78 total files with Code Size differences (22 improved, 56 regressed), 16 unchanged.
Top method regressions (bytes):
       13104 (97.44 % of base) : 18742.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       10488 (97.18 % of base) : 23988.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
       10008 (91.35 % of base) : 22844.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
        9288 (91.45 % of base) : 17535.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        7888 (96.76 % of base) : 1224.dasm - BepuPhysics.CollisionDetection.MeshReduction:ReduceManifolds(byref,byref,int,int,ubyte,byref,byref,byref,ulong,BepuUtilities.Memory.BufferPool) (FullOpts)
        7400 (72.24 % of base) : 30180.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        6916 (85.89 % of base) : 16507.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
        6680 (77.96 % of base) : 22393.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindInterpolatedString(Microsoft.CodeAnalysis.CSharp.Syntax.InterpolatedStringExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
        6196 (94.05 % of base) : 28872.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        6096 (87.44 % of base) : 19854.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeTypeParameters(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol]:this (FullOpts)
        5968 (79.19 % of base) : 18617.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeOneDeclaredBases(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Tuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]]:this (FullOpts)
        5712 (97.81 % of base) : 19165.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:ComputeInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+SynthesizedExplicitImplementations:this (FullOpts)
        5384 (101.05 % of base) : 12265.dasm - SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:ProcessBorderRow(SixLabors.ImageSharp.Memory.Buffer2D`1[SixLabors.ImageSharp.PixelFormats.Rgba32],SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1+CdfTileData[SixLabors.ImageSharp.PixelFormats.Rgba32],int,int,int,int,int,int,int) (FullOpts)
        5312 (99.25 % of base) : 12264.dasm - SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:ProcessBorderColumn(SixLabors.ImageSharp.Memory.Buffer2D`1[SixLabors.ImageSharp.PixelFormats.Rgba32],SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1+CdfTileData[SixLabors.ImageSharp.PixelFormats.Rgba32],int,int,int,int,int,int,int) (FullOpts)
        5068 (110.27 % of base) : 1415.dasm - DemoBenchmarks.OneBodyConstraintBenchmarks:Contact4OneBody():BepuPhysics.BodyVelocityWide:this (FullOpts)
        4952 (79.82 % of base) : 7034.dasm - FSharp.Compiler.PostTypeCheckSemanticChecks:CheckEntityDefn$cont@2269(FSharp.Compiler.PostTypeCheckSemanticChecks+cenv,FSharp.Compiler.TypedTree+Entity,FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.Text.Range,FSharp.Compiler.TypedTree+TType,Microsoft.FSharp.Core.Unit) (FullOpts)
        4932 (54.68 % of base) : 22377.dasm - Microsoft.CodeAnalysis.CSharp.Binder:AnalyzeAnonymousFunction(Microsoft.CodeAnalysis.CSharp.Syntax.AnonymousFunctionExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.UnboundLambda:this (FullOpts)
        4892 (87.80 % of base) : 20078.dasm - Microsoft.CodeAnalysis.CSharp.ConversionsBase:AddUserDefinedConversionsToExplicitCandidateSet(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.UserDefinedConversionAnalysis],Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,ubyte,ubyte,byref):this (FullOpts)
        4736 (94.95 % of base) : 16127.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseSwitchExpressionArms():Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SwitchExpressionArmSyntax]:this (FullOpts)
        4692 (92.43 % of base) : 15384.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePostFixExpression(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (FullOpts)
Top method improvements (bytes):
        -112 (-10.65 % of base) : 611.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -56 (-5.58 % of base) : 26905.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetProperties>d__63:MoveNext():ubyte:this (FullOpts)
         -44 (-33.33 % of base) : 1557.dasm - BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
         -16 (-2.16 % of base) : 2283.dasm - FSharp.Compiler.DependencyManager.AssemblyResolveHandlerCoreclr:.ctor(Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.DependencyManager.AssemblyResolutionProbe]):this (FullOpts)
         -16 (-3.31 % of base) : 12687.dasm - Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe:Create(Microsoft.ML.Data.DataViewType,System.Object):Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe (FullOpts)
         -16 (-7.02 % of base) : 30631.dasm - System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
         -12 (-1.49 % of base) : 5243.dasm - FSharp.Compiler.AbstractIL.ILBinaryReader:seekReadIndexedRows$cont@793[System.__Canon,FSharp.Compiler.AbstractIL.ILBinaryReader+TaggedIndex`1[FSharp.Compiler.AbstractIL.BinaryConstants+TypeOrMethodDefTag],System.__Canon](Microsoft.FSharp.Core.FSharpFunc`2[int,System.__Canon],Microsoft.FSharp.Core.FSharpFunc`2[System.__Canon,System.__Canon],int,Microsoft.FSharp.Core.FSharpFunc`2[System.__Canon,FSharp.Compiler.AbstractIL.ILBinaryReader+TaggedIndex`1[FSharp.Compiler.AbstractIL.BinaryConstants+TypeOrMethodDefTag]],Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.AbstractIL.ILBinaryReader+TaggedIndex`1[FSharp.Compiler.AbstractIL.BinaryConstants+TypeOrMethodDefTag],int],Microsoft.FSharp.Core.Unit):Microsoft.FSharp.Collections.FSharpList`1[System.__Canon] (FullOpts)
         -12 (-2.27 % of base) : 26863.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetEvents>d__29:MoveNext():ubyte:this (FullOpts)
         -12 (-2.29 % of base) : 14923.dasm - Microsoft.CodeAnalysis.GreenNode:.ctor(ushort,Microsoft.CodeAnalysis.DiagnosticInfo[],Microsoft.CodeAnalysis.SyntaxAnnotation[],int):this (FullOpts)
         -12 (-1.94 % of base) : 19345.dasm - Roslyn.Utilities.MultiDictionary`2+ValueSet[System.__Canon,System.__Canon]:Contains(System.__Canon,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):ubyte:this (FullOpts)
          -8 (-0.68 % of base) : 28974.dasm - System.Management.Automation.LanguagePrimitives:FigureParseConversion(System.Type,System.Type):System.Management.Automation.LanguagePrimitives+PSConverter`1[System.Object] (FullOpts)
          -8 (-0.80 % of base) : 31184.dasm - System.Management.Automation.Runspaces.CommandParameter:ToCommandParameterInternal(System.Management.Automation.Runspaces.CommandParameter,ubyte):System.Management.Automation.CommandParameterInternal (FullOpts)
          -4 (-3.70 % of base) : 9638.dasm - FSharp.Compiler.NameResolution+MakeCtorGroup@243:Invoke(FSharp.Compiler.Infos+MethInfo):int:this (FullOpts)
          -4 (-1.41 % of base) : 23178.dasm - Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-1.79 % of base) : 21479.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:get_HasAnyApplicableMember():ubyte:this (FullOpts)
          -4 (-2.17 % of base) : 12884.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.00 % of base) : 207.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.08 % of base) : 101.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.17 % of base) : 4626.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[FSharp.Compiler.Text.Position,System.ValueTuple`3[int,int,ubyte]]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.08 % of base) : 3169.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
Top method regressions (percentages):
        1592 (117.75 % of base) : 1593.dasm - BepuPhysics.Constraints.TwoBodyTypeProcessor`7[BepuPhysics.Constraints.BallSocketPrestepData,BepuUtilities.Vector3Wide,BepuPhysics.Constraints.BallSocketFunctions,BepuPhysics.Constraints.AccessNoPosition,BepuPhysics.Constraints.AccessNoPosition,BepuPhysics.Constraints.AccessAll,BepuPhysics.Constraints.AccessAll]:WarmStart[DemoBenchmarks.RagdollTubeBenchmark+DemoPoseIntegratorCallbacks,BepuPhysics.Constraints.BatchShouldAlwaysIntegrate,BepuPhysics.Constraints.DisallowPoseIntegration](byref,byref,BepuPhysics.Bodies,byref,float,float,int,int,int):this (FullOpts)
        5068 (110.27 % of base) : 1415.dasm - DemoBenchmarks.OneBodyConstraintBenchmarks:Contact4OneBody():BepuPhysics.BodyVelocityWide:this (FullOpts)
        3152 (108.99 % of base) : 1443.dasm - BepuPhysics.Constraints.Contact.ContactNonconvexTwoBodyFunctions`2[BepuPhysics.Constraints.Contact.Contact4NonconvexPrestepData,BepuPhysics.Constraints.Contact.Contact4NonconvexAccumulatedImpulses]:Solve(byref,byref,byref,byref,byref,byref,float,float,byref,byref,byref,byref):this (FullOpts)
        5384 (101.05 % of base) : 12265.dasm - SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:ProcessBorderRow(SixLabors.ImageSharp.Memory.Buffer2D`1[SixLabors.ImageSharp.PixelFormats.Rgba32],SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1+CdfTileData[SixLabors.ImageSharp.PixelFormats.Rgba32],int,int,int,int,int,int,int) (FullOpts)
        2876 (100.28 % of base) : 1550.dasm - BepuPhysics.Trees.Tree:GetOverlapsBetweenDifferentNodes[BepuPhysics.CollisionDetection.CollidableOverlapFinder`1+SelfOverlapHandler[DemoBenchmarks.RagdollTubeBenchmark+SubgroupFilteredCallbacks]](byref,byref,byref):this (FullOpts)
        1544 (100.00 % of base) : 272.dasm - System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts)
        5312 (99.25 % of base) : 12264.dasm - SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:ProcessBorderColumn(SixLabors.ImageSharp.Memory.Buffer2D`1[SixLabors.ImageSharp.PixelFormats.Rgba32],SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1+CdfTileData[SixLabors.ImageSharp.PixelFormats.Rgba32],int,int,int,int,int,int,int) (FullOpts)
        3820 (99.07 % of base) : 1697.dasm - BepuPhysics.Trees.Tree:GetOverlapsBetweenDifferentNodes[BepuPhysics.CollisionDetection.CollidableOverlapFinder`1+IntertreeOverlapHandler[DemoBenchmarks.ShapePileBenchmark+DemoNarrowPhaseCallbacks]](byref,byref,byref,byref):this (FullOpts)
        3748 (99.05 % of base) : 11843.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.SpectralConverter`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:ConvertStride(int):this (FullOpts)
        1984 (97.83 % of base) : 22796.dasm - Microsoft.CodeAnalysis.CSharp.SwitchBinder:BuildSwitchLabels(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.SwitchLabelSyntax],Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        5712 (97.81 % of base) : 19165.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:ComputeInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+SynthesizedExplicitImplementations:this (FullOpts)
         916 (97.45 % of base) : 1577.dasm - BepuPhysics.CollisionDetection.PairCache:FlushMappingChanges():this (FullOpts)
       13104 (97.44 % of base) : 18742.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        1636 (97.38 % of base) : 1440.dasm - BepuPhysics.Constraints.Contact.ContactNonconvexOneBodyFunctions`2[BepuPhysics.Constraints.Contact.Contact4NonconvexOneBodyPrestepData,BepuPhysics.Constraints.Contact.Contact4NonconvexAccumulatedImpulses]:Solve(byref,byref,byref,float,float,byref,byref,byref):this (FullOpts)
       10488 (97.18 % of base) : 23988.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
        2860 (97.01 % of base) : 19193.dasm - Microsoft.CodeAnalysis.CSharp.ConversionsBase:<ComputeApplicableUserDefinedImplicitConversionSet>g__addCandidatesFromType|146_0(Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.UserDefinedConversionAnalysis],byref,ubyte):this (FullOpts)
        7888 (96.76 % of base) : 1224.dasm - BepuPhysics.CollisionDetection.MeshReduction:ReduceManifolds(byref,byref,int,int,ubyte,byref,byref,byref,ulong,BepuUtilities.Memory.BufferPool) (FullOpts)
         228 (96.61 % of base) : 14918.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanToEndOfLine():this (FullOpts)
        3152 (96.45 % of base) : 12266.dasm - SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:ProcessCornerTile(SixLabors.ImageSharp.Memory.Buffer2D`1[SixLabors.ImageSharp.PixelFormats.Rgba32],SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1+CdfTileData[SixLabors.ImageSharp.PixelFormats.Rgba32],int,int,int,int,int,int,int) (FullOpts)
        2108 (96.34 % of base) : 16983.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation+ReferenceManager:SetupReferencesForFileAssembly(Microsoft.CodeAnalysis.CSharp.CSharpCompilation+ReferenceManager+AssemblyDataForFile,Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol][],byref,byref,Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol) (FullOpts)
Top method improvements (percentages):
         -44 (-33.33 % of base) : 1557.dasm - BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
        -112 (-10.65 % of base) : 611.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -16 (-7.02 % of base) : 30631.dasm - System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
         -56 (-5.58 % of base) : 26905.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetProperties>d__63:MoveNext():ubyte:this (FullOpts)
          -4 (-3.70 % of base) : 9638.dasm - FSharp.Compiler.NameResolution+MakeCtorGroup@243:Invoke(FSharp.Compiler.Infos+MethInfo):int:this (FullOpts)
         -16 (-3.31 % of base) : 12687.dasm - Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe:Create(Microsoft.ML.Data.DataViewType,System.Object):Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe (FullOpts)
         -12 (-2.29 % of base) : 14923.dasm - Microsoft.CodeAnalysis.GreenNode:.ctor(ushort,Microsoft.CodeAnalysis.DiagnosticInfo[],Microsoft.CodeAnalysis.SyntaxAnnotation[],int):this (FullOpts)
         -12 (-2.27 % of base) : 26863.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetEvents>d__29:MoveNext():ubyte:this (FullOpts)
          -4 (-2.17 % of base) : 12884.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.17 % of base) : 4626.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[FSharp.Compiler.Text.Position,System.ValueTuple`3[int,int,ubyte]]:MoveNext():ubyte:this (FullOpts)
         -16 (-2.16 % of base) : 2283.dasm - FSharp.Compiler.DependencyManager.AssemblyResolveHandlerCoreclr:.ctor(Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.DependencyManager.AssemblyResolutionProbe]):this (FullOpts)
          -4 (-2.13 % of base) : 16605.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.08 % of base) : 101.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.08 % of base) : 3169.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.00 % of base) : 207.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-1.96 % of base) : 22409.dasm - System.Collections.Generic.HashSet`1+Enumerator[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]:MoveNext():ubyte:this (FullOpts)
         -12 (-1.94 % of base) : 19345.dasm - Roslyn.Utilities.MultiDictionary`2+ValueSet[System.__Canon,System.__Canon]:Contains(System.__Canon,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):ubyte:this (FullOpts)
          -4 (-1.79 % of base) : 21479.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:get_HasAnyApplicableMember():ubyte:this (FullOpts)
         -12 (-1.49 % of base) : 5243.dasm - FSharp.Compiler.AbstractIL.ILBinaryReader:seekReadIndexedRows$cont@793[System.__Canon,FSharp.Compiler.AbstractIL.ILBinaryReader+TaggedIndex`1[FSharp.Compiler.AbstractIL.BinaryConstants+TypeOrMethodDefTag],System.__Canon](Microsoft.FSharp.Core.FSharpFunc`2[int,System.__Canon],Microsoft.FSharp.Core.FSharpFunc`2[System.__Canon,System.__Canon],int,Microsoft.FSharp.Core.FSharpFunc`2[System.__Canon,FSharp.Compiler.AbstractIL.ILBinaryReader+TaggedIndex`1[FSharp.Compiler.AbstractIL.BinaryConstants+TypeOrMethodDefTag]],Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.AbstractIL.ILBinaryReader+TaggedIndex`1[FSharp.Compiler.AbstractIL.BinaryConstants+TypeOrMethodDefTag],int],Microsoft.FSharp.Core.Unit):Microsoft.FSharp.Collections.FSharpList`1[System.__Canon] (FullOpts)
          -4 (-1.41 % of base) : 23178.dasm - Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
  
  
windows arm64
Diffs are based on 2,306,322 contexts (929,692 MinOpts, 1,376,630 FullOpts).
MISSED contexts: base: 6,353 (0.27%), diff: 8,476 (0.37%)
Overall (+66,017,632 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.windows.arm64.checked.mch | 10,657,768 | +1,647,456 | 
| benchmarks.run_pgo.windows.arm64.checked.mch | 46,143,416 | +6,908,548 | 
| benchmarks.run_tiered.windows.arm64.checked.mch | 15,239,072 | +895,968 | 
| coreclr_tests.run.windows.arm64.checked.mch | 493,954,596 | +7,397,932 | 
| libraries.crossgen2.windows.arm64.checked.mch | 58,806,560 | +5,102,604 | 
| libraries.pmi.windows.arm64.checked.mch | 77,801,572 | +7,378,152 | 
| libraries_tests.run.windows.arm64.Release.mch | 307,088,556 | +23,889,608 | 
| librariestestsnotieredcompilation.run.windows.arm64.Release.mch | 169,130,060 | +10,455,324 | 
| realworld.run.windows.arm64.checked.mch | 15,374,216 | +1,926,800 | 
| smoke_tests.nativeaot.windows.arm64.checked.mch | 3,929,512 | +415,240 | 
  
FullOpts (+66,017,632 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.windows.arm64.checked.mch | 10,657,232 | +1,647,456 | 
| benchmarks.run_pgo.windows.arm64.checked.mch | 30,085,000 | +6,908,548 | 
| benchmarks.run_tiered.windows.arm64.checked.mch | 4,066,344 | +895,968 | 
| coreclr_tests.run.windows.arm64.checked.mch | 155,367,424 | +7,397,932 | 
| libraries.crossgen2.windows.arm64.checked.mch | 58,804,924 | +5,102,604 | 
| libraries.pmi.windows.arm64.checked.mch | 77,681,588 | +7,378,152 | 
| libraries_tests.run.windows.arm64.Release.mch | 106,082,604 | +23,889,608 | 
| librariestestsnotieredcompilation.run.windows.arm64.Release.mch | 155,993,520 | +10,455,324 | 
| realworld.run.windows.arm64.checked.mch | 14,810,236 | +1,926,800 | 
| smoke_tests.nativeaot.windows.arm64.checked.mch | 3,928,500 | +415,240 | 
  
Example diffs
benchmarks.run.windows.arm64.checked.mch
-16 (-5.33%) : 22041.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:CreateInstance(System.Type,System.Type):System.Object (FullOpts)
@@ -17,9 +17,9 @@
 ;  V06 tmp4         [V06,T07] (  4,  2.50)     ref  ->   x0        
 ;* V07 tmp5         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V08 tmp6         [V08,T03] (  3,  6   )     ref  ->   x4         class-hnd exact single-def "Inlining Arg" <System.Type[]>
-;  V09 tmp7         [V09,T00] (  5, 17   )     int  ->   x0         "Inline stloc first use temp"
+;* V09 tmp7         [V09,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V10 tmp8         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
-;  V11 cse0         [V11,T04] (  2,  5   )   byref  ->   x1         hoist "CSE - aggressive"
+;  V11 cse0         [V11,T04] (  2,  2   )   byref  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
@@ -33,30 +33,20 @@ G_M13201_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mov     x20, x1
             ; gcrRegs +[x20]
                        ;; size=24 bbWeight=1 PerfScore 4.50
-G_M13201_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M13201_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x4, [x0]
             ; gcrRegs +[x4]
             ldrsb   wzr, [x19]
-            mov     w0, wzr
-            add     x1, x4, #16
-            ; byrRegs +[x1]
-                       ;; size=28 bbWeight=1 PerfScore 8.50
-G_M13201_IG03:        ; bbWeight=4, gcrefRegs=180010 {x4 x19 x20}, byrefRegs=0002 {x1}, byref, isz
-            ldr     x2, [x1, w0, UXTW #3]
-            ; gcrRegs +[x2]
-            cbz     x2, G_M13201_IG11
-            add     w0, w0, #1
-            cmp     w0, #0
-            ble     G_M13201_IG03
-                       ;; size=20 bbWeight=4 PerfScore 24.00
-G_M13201_IG04:        ; bbWeight=1, gcrefRegs=180010 {x4 x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x2]
-            ; byrRegs -[x1]
-            mov     x0, x19
+            add     x0, x4, #16
+            ; byrRegs +[x0]
+            ldr     x0, [x0]
             ; gcrRegs +[x0]
+            ; byrRegs -[x0]
+            cbz     x0, G_M13201_IG09
+            mov     x0, x19
             mov     w1, #20
             mov     x2, xzr
             mov     w3, #3
@@ -69,17 +59,17 @@ G_M13201_IG04:        ; bbWeight=1, gcrefRegs=180010 {x4 x19 x20}, byrefRegs=000
             ; gcr arg pop 0
             mov     x21, x0
             ; gcrRegs +[x21]
-            cbnz    x21, G_M13201_IG09
-                       ;; size=44 bbWeight=1 PerfScore 14.00
-G_M13201_IG05:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+            cbnz    x21, G_M13201_IG07
+                       ;; size=76 bbWeight=1 PerfScore 26.00
+G_M13201_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0 x20-x21]
             mov     x0, xzr
             ; gcrRegs +[x0]
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M13201_IG06:        ; bbWeight=1, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
-            cbnz    x0, G_M13201_IG10
+G_M13201_IG04:        ; bbWeight=1, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
+            cbnz    x0, G_M13201_IG08
                       ;; size=4 bbWeight=1 PerfScore 1.00
-G_M13201_IG07:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M13201_IG05:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -90,14 +80,14 @@ G_M13201_IG07:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
                        ;; size=28 bbWeight=0.50 PerfScore 3.00
-G_M13201_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+G_M13201_IG06:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x21, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x30
             br      x3
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0.50 PerfScore 2.50
-G_M13201_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
+G_M13201_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0] +[x20-x21]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -126,16 +116,16 @@ G_M13201_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=380
             blr     x5
             ; gcrRegs -[x3 x21]
             ; gcr arg pop 0
-            b       G_M13201_IG06
+            b       G_M13201_IG04
                       ;; size=72 bbWeight=0.50 PerfScore 9.25
-G_M13201_IG10:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M13201_IG08:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19]
             ldr     x21, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x30
             ret     lr
                        ;; size=16 bbWeight=0.50 PerfScore 2.50
-G_M13201_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M13201_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
@@ -154,7 +144,7 @@ G_M13201_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             brk_windows #0
                        ;; size=44 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 300, prolog size 24, PerfScore 69.50, instruction count 75, allocated bytes for code 300 (MethodHash=1c7bcc6e) for method System.ComponentModel.ReflectTypeDescriptionProvider:CreateInstance(System.Type,System.Type):System.Object (FullOpts)
+; Total bytes of code 284, prolog size 24, PerfScore 49.00, instruction count 71, allocated bytes for code 284 (MethodHash=1c7bcc6e) for method System.ComponentModel.ReflectTypeDescriptionProvider:CreateInstance(System.Type,System.Type):System.Object (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -165,7 +155,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 75 (0x0004b) Actual length = 300 (0x00012c)
+  Function Length   : 71 (0x00047) Actual length = 284 (0x00011c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-12 (-4.41%) : 5967.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
@@ -8,28 +8,33 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] ( 13, 12   )     ref  ->  x19         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
-;  V01 loc0         [V01,T09] (  3,  2.50)     int  ->   x0        
-;  V02 loc1         [V02,T06] (  3,  4.50)     ref  ->  x22         class-hnd <System.__Canon>
+;  V00 this         [V00,T00] ( 13,  9   )     ref  ->  x19         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
+;  V01 loc0         [V01,T13] (  3,  2.50)     int  ->   x0        
+;  V02 loc1         [V02,T08] (  3,  1.50)     ref  ->  x21         class-hnd <System.__Canon>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T00] (  2, 16   )    long  ->   x1         "spilling helperCall"
+;  V04 tmp1         [V04,T02] (  2,  4   )    long  ->   x1         "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V07 cse0         [V07,T05] (  2,  5   )    long  ->  x20         hoist "CSE - aggressive"
-;  V08 cse1         [V08,T03] (  4,  6   )   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V09 rat0         [V09,T07] (  3,  4.40)    long  ->   x0         "Spilling to split statement for tree"
-;  V10 rat1         [V10,T08] (  3,  4   )    long  ->  x20         "runtime lookup"
-;  V11 rat2         [V11,T04] (  3,  5.60)    long  ->  x20         "fgMakeTemp is creating a new local variable"
-;  V12 rat3         [V12,T02] (  3, 12   )     ref  ->   x2         "delegate invoke call"
+;  V07 cse0         [V07,T14] (  2,  2   )    long  ->  x20         hoist "CSE - aggressive"
+;  V08 rat0         [V08,T09] (  3,  4.40)    long  ->   x0         "Spilling to split statement for tree"
+;  V09 rat1         [V09,T10] (  3,  4   )    long  ->  x20         "runtime lookup"
+;  V10 rat2         [V10,T07] (  3,  5.60)    long  ->  x20         "fgMakeTemp is creating a new local variable"
+;* V11 rat3         [V11,T06] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V12 rat4         [V12,T11] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V13 rat5         [V13,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;* V14 rat6         [V14,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V15 rat7         [V15,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V16 rat8         [V16,T12] (  3,  3   )     ref  ->   x2         "delegate invoke call"
+;* V17 rat9         [V17,T04] (  0,  0   )     ref  ->  zero-ref    "delegate invoke call"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 8
 
 G_M34024_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-            str     x0, [fp, #0x18]
+            str     x0, [fp, #0x10]
             mov     x19, x0
             ; gcrRegs +[x19]
                        ;; size=24 bbWeight=1 PerfScore 5.00
@@ -46,9 +51,7 @@ G_M34024_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
 G_M34024_IG04:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ldr     x0, [x19, #0x18]
             ; gcrRegs +[x0]
-            add     x20, x19, #40
-            ; byrRegs +[x20]
-            mov     x8, x20
+            add     x8, x19, #40
             ; byrRegs +[x8]
             movz    x1, #0xD1FFAB1E      // code for System.Collections.Generic.List`1[System.__Canon]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.__Canon]:this
             movk    x1, #0xD1FFAB1E LSL #16
@@ -57,10 +60,10 @@ G_M34024_IG04:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             ldr     wzr, [x0]
             blr     x1
             ; gcrRegs -[x0]
-            ; byrRegs -[x8 x20]
+            ; byrRegs -[x8]
             mov     w0, #2
             str     w0, [x19, #0x14]
-                     ;; size=44 bbWeight=0.50 PerfScore 7.00
+                       ;; size=40 bbWeight=0.50 PerfScore 6.75
 G_M34024_IG05:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x19]
             ldr     x1, [x0, #0x38]
@@ -79,19 +82,14 @@ G_M34024_IG07:        ; bbWeight=0.20, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             mov     x20, x0
                        ;; size=20 bbWeight=0.20 PerfScore 0.60
 G_M34024_IG08:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            add     x0, x19, #40
-            ; byrRegs +[x0]
-            mov     x21, x0
-            ; byrRegs +[x21]
             b       G_M34024_IG10
-                        ;; size=12 bbWeight=1 PerfScore 2.00
-G_M34024_IG09:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21}, byref, isz
-            ; byrRegs -[x0]
-            ldr     x22, [x19, #0x30]
-            ; gcrRegs +[x22]
+                     ;; size=4 bbWeight=1 PerfScore 1.00
+G_M34024_IG09:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            ldr     x21, [x19, #0x30]
+            ; gcrRegs +[x21]
             ldr     x2, [x19, #0x20]
             ; gcrRegs +[x2]
-            mov     x1, x22
+            mov     x1, x21
             ; gcrRegs +[x1]
             ldr     x0, [x2, #0x08]
             ; gcrRegs +[x0]
@@ -100,11 +98,11 @@ G_M34024_IG09:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21
             blr     x2
             ; gcrRegs -[x0-x1]
             cbnz    w0, G_M34024_IG14
-                        ;; size=28 bbWeight=2 PerfScore 29.00
-G_M34024_IG10:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21}, byref, isz
-            ; gcrRegs -[x22]
+                     ;; size=28 bbWeight=0.50 PerfScore 7.25
+G_M34024_IG10:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x21]
             mov     x1, x20
-            mov     x0, x21
+            add     x0, x19, #40
             ; byrRegs +[x0]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
@@ -113,41 +111,40 @@ G_M34024_IG10:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21
             blr     x2
             ; byrRegs -[x0]
             cbnz    w0, G_M34024_IG09
-                        ;; size=32 bbWeight=4 PerfScore 30.00
-G_M34024_IG11:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x21]
+                     ;; size=32 bbWeight=1 PerfScore 7.50
+G_M34024_IG11:        ; bbWeight=0.12, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             str     xzr, [x19, #0x08]
             movn    w14, #0
             str     w14, [x19, #0x14]
-                        ;; size=12 bbWeight=0.50 PerfScore 1.25
+                       ;; size=12 bbWeight=0.12 PerfScore 0.31
 G_M34024_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M34024_IG13:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs +[x22]
+                     ;; size=16 bbWeight=0.50 PerfScore 2.50
+G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs +[x21]
             add     x14, x19, #8
             ; byrRegs +[x14]
-            mov     x15, x22
+            mov     x15, x21
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
-            ; gcrRegs -[x15 x22]
+            ; gcrRegs -[x15 x21]
             ; byrRegs -[x14]
             mov     w0, #1
                        ;; size=16 bbWeight=0.50 PerfScore 1.25
 G_M34024_IG15:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=16 bbWeight=0.50 PerfScore 2.50
 
-; Total bytes of code 272, prolog size 20, PerfScore 99.90, instruction count 68, allocated bytes for code 272 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
+; Total bytes of code 260, prolog size 20, PerfScore 54.46, instruction count 65, allocated bytes for code 260 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -158,7 +155,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 68 (0x00044) Actual length = 272 (0x000110)
+  Function Length   : 65 (0x00041) Actual length = 260 (0x000104)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -169,10 +166,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
-    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
-    E4          end
+    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
+    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
 
  
-16 (-3.54%) : 7281.dasm - ProtoBuf.Internal.Serializers.PropertyDecorator:GetShadowSetter(System.Reflection.PropertyInfo):System.Reflection.MethodInfo (FullOpts)
@@ -16,10 +16,10 @@
 ;  V05 tmp2         [V05,T03] (  3,  6   )     ref  ->  x22         class-hnd exact single-def "impAppendStmt" <System.String>
 ;  V06 tmp3         [V06,T09] (  2,  4   )     ref  ->  x15         class-hnd single-def "Strict ordering of exceptions for Array store" <System.Type>
 ;  V07 tmp4         [V07,T04] (  3,  6   )     ref  ->   x5         class-hnd "Inlining Arg" <System.Type[]>
-;  V08 tmp5         [V08,T00] (  5, 17   )     int  ->   x0         "Inline stloc first use temp"
+;* V08 tmp5         [V08,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V09 tmp6         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
 ;  V10 tmp7         [V10,T10] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
-;  V11 cse0         [V11,T05] (  2,  5   )   byref  ->   x1         hoist "CSE - aggressive"
+;  V11 cse0         [V11,T05] (  2,  2   )   byref  ->   x0         "CSE - aggressive"
 ;  V12 cse1         [V12,T08] (  4,  4   )    long  ->  x20         "CSE - aggressive"
 ;
 ; Lcl frame size = 8
@@ -89,25 +89,14 @@ G_M50779_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             mov     x5, x23
             ; gcrRegs +[x5]
             ldrsb   wzr, [x21]
-            cbz     x22, G_M50779_IG10
-            mov     w0, wzr
-            add     x1, x5, #16
-            ; byrRegs +[x1]
-                       ;; size=152 bbWeight=1 PerfScore 45.00
-G_M50779_IG03:        ; bbWeight=4, gcrefRegs=600020 {x5 x21 x22}, byrefRegs=0002 {x1}, byref, isz
-            ; gcrRegs -[x23]
-            ldr     x2, [x1, w0, UXTW #3]
-            ; gcrRegs +[x2]
-            cbz     x2, G_M50779_IG11
-            add     w0, w0, #1
-            cmp     w0, #0
-            ble     G_M50779_IG03
-                       ;; size=20 bbWeight=4 PerfScore 24.00
-G_M50779_IG04:        ; bbWeight=1, gcrefRegs=600020 {x5 x21 x22}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x2]
-            ; byrRegs -[x1]
-            mov     x0, x21
+            cbz     x22, G_M50779_IG08
+            add     x0, x5, #16
+            ; byrRegs +[x0]
+            ldr     x0, [x0]
             ; gcrRegs +[x0]
+            ; byrRegs -[x0]
+            cbz     x0, G_M50779_IG09
+            mov     x0, x21
             mov     x1, x22
             ; gcrRegs +[x1]
             mov     w2, #52
@@ -118,13 +107,13 @@ G_M50779_IG04:        ; bbWeight=1, gcrefRegs=600020 {x5 x21 x22}, byrefRegs=000
             ldr     x7, [x7, #0x90]
             ldr     x7, [x7, #0x38]
             blr     x7
-            ; gcrRegs -[x1 x5 x21-x22]
+            ; gcrRegs -[x1 x5 x21-x23]
             ; gcr arg pop 0
             mov     x19, x0
             ; gcrRegs +[x19]
-            cbz     x19, G_M50779_IG06
-                       ;; size=48 bbWeight=1 PerfScore 14.50
-G_M50779_IG05:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            cbz     x19, G_M50779_IG04
+                       ;; size=204 bbWeight=1 PerfScore 63.00
+G_M50779_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -136,7 +125,7 @@ G_M50779_IG05:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             ; gcr arg pop 0
             and     w0, w0, #7
             cmp     w0, #6
-            bne     G_M50779_IG06
+            bne     G_M50779_IG04
             mov     x0, x19
             ; gcrRegs +[x0]
             ldr     x1, [x19]
@@ -148,12 +137,24 @@ G_M50779_IG05:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x0, x1
-            beq     G_M50779_IG08
+            beq     G_M50779_IG06
                        ;; size=72 bbWeight=0.50 PerfScore 13.00
-G_M50779_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M50779_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0 x19]
             mov     x0, xzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M50779_IG05:        ; bbWeight=0.50, epilog, nogc, extend
+            ldr     x23, [sp, #0x38]
+            ldp     x21, x22, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x40
+            ret     lr
+                       ;; size=20 bbWeight=0.50 PerfScore 3.00
+G_M50779_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs +[x19]
+            mov     x0, x19
+            ; gcrRegs +[x0]
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M50779_IG07:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x23, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
@@ -161,19 +162,7 @@ G_M50779_IG07:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0.50 PerfScore 3.00
-G_M50779_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs +[x19]
-            mov     x0, x19
-            ; gcrRegs +[x0]
-                       ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M50779_IG09:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x23, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x40
-            ret     lr
-                       ;; size=20 bbWeight=0.50 PerfScore 3.00
-G_M50779_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M50779_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0 x19]
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
@@ -191,7 +180,7 @@ G_M50779_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=44 bbWeight=0 PerfScore 0.00
-G_M50779_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M50779_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -209,7 +198,7 @@ G_M50779_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_windows #0
                        ;; size=44 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 452, prolog size 24, PerfScore 108.00, instruction count 113, allocated bytes for code 452 (MethodHash=33a639a4) for method ProtoBuf.Internal.Serializers.PropertyDecorator:GetShadowSetter(System.Reflection.PropertyInfo):System.Reflection.MethodInfo (FullOpts)
+; Total bytes of code 436, prolog size 24, PerfScore 87.50, instruction count 109, allocated bytes for code 436 (MethodHash=33a639a4) for method ProtoBuf.Internal.Serializers.PropertyDecorator:GetShadowSetter(System.Reflection.PropertyInfo):System.Reflection.MethodInfo (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -220,7 +209,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 113 (0x00071) Actual length = 452 (0x0001c4)
+  Function Length   : 109 (0x0006d) Actual length = 436 (0x0001b4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+44 (+64.71%) : 21835.dasm - System.Collections.Immutable.ImmutableList`1+Node[int]:ItemRefUnchecked(int):byref:this (FullOpts)
@@ -7,14 +7,16 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  7, 23   )     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[int]>
-;  V01 arg1         [V01,T00] (  6, 26   )     int  ->   x1        
+;  V00 this         [V00,T02] ( 11, 25.50)     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[int]>
+;  V01 arg1         [V01,T00] ( 10, 29   )     int  ->   x1        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T06] (  2, 16   )     int  ->   x1         "arg temp"
-;  V04 tmp2         [V04,T04] (  2, 16   )     ref  ->   x0         single-def "arg temp"
-;  V05 tmp3         [V05,T05] (  2, 16   )     ref  ->   x0         single-def "arg temp"
+;  V03 tmp1         [V03,T06] (  4, 18   )     int  ->   x1         "arg temp"
+;  V04 tmp2         [V04,T04] (  4, 18   )     ref  ->   x0         "arg temp"
+;  V05 tmp3         [V05,T05] (  4, 18   )     ref  ->   x0         "arg temp"
 ;  V06 cse0         [V06,T01] (  4, 28   )     int  ->   x3         "CSE - aggressive"
-;  V07 cse1         [V07,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  4,  3.50)     int  ->   x3         "CSE - aggressive"
+;  V08 cse2         [V08,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V09 cse3         [V09,T08] (  3,  2.50)     ref  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -22,42 +24,65 @@ G_M57541_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M57541_IG02:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M57541_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x2, [x0, #0x08]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x1C]
             cmp     w1, w3
             bge     G_M57541_IG04
-                        ;; size=16 bbWeight=8 PerfScore 60.00
-G_M57541_IG03:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+                        ;; size=16 bbWeight=1 PerfScore 7.50
+G_M57541_IG03:        ; bbWeight=0.50, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M57541_IG02
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M57541_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M57541_IG06
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
+G_M57541_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x2]
             cmp     w1, w3
-            ble     G_M57541_IG06
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M57541_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ble     G_M57541_IG10
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M57541_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             sub     w1, w1, w3
             sub     w1, w1, #1
             ldr     x0, [x0, #0x10]
-            b       G_M57541_IG02
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M57541_IG06:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     x2, [x0, #0x08]
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x1C]
+            cmp     w1, w3
+            bge     G_M57541_IG08
+                       ;; size=16 bbWeight=8 PerfScore 60.00
+G_M57541_IG07:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x2
+            ; gcrRegs +[x0]
+            b       G_M57541_IG06
+                       ;; size=8 bbWeight=4 PerfScore 6.00
+G_M57541_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            cmp     w1, w3
+            ble     G_M57541_IG10
+                       ;; size=8 bbWeight=8 PerfScore 12.00
+G_M57541_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            sub     w1, w1, w3
+            sub     w1, w1, #1
+            ldr     x0, [x0, #0x10]
+            b       G_M57541_IG06
                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M57541_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M57541_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x0, x0, #24
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M57541_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M57541_IG11:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 102.00, instruction count 17, allocated bytes for code 68 (MethodHash=439c1f3a) for method System.Collections.Immutable.ImmutableList`1+Node[int]:ItemRefUnchecked(int):byref:this (FullOpts)
+; Total bytes of code 112, prolog size 8, PerfScore 113.75, instruction count 28, allocated bytes for code 112 (MethodHash=439c1f3a) for method System.Collections.Immutable.ImmutableList`1+Node[int]:ItemRefUnchecked(int):byref:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -68,7 +93,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+44 (+64.71%) : 23223.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
@@ -7,14 +7,16 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  7, 23   )     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]>
-;  V01 arg1         [V01,T00] (  6, 26   )     int  ->   x1        
+;  V00 this         [V00,T02] ( 11, 25.50)     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]>
+;  V01 arg1         [V01,T00] ( 10, 29   )     int  ->   x1        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T06] (  2, 16   )     int  ->   x1         "arg temp"
-;  V04 tmp2         [V04,T04] (  2, 16   )     ref  ->   x0         single-def "arg temp"
-;  V05 tmp3         [V05,T05] (  2, 16   )     ref  ->   x0         single-def "arg temp"
+;  V03 tmp1         [V03,T06] (  4, 18   )     int  ->   x1         "arg temp"
+;  V04 tmp2         [V04,T04] (  4, 18   )     ref  ->   x0         "arg temp"
+;  V05 tmp3         [V05,T05] (  4, 18   )     ref  ->   x0         "arg temp"
 ;  V06 cse0         [V06,T01] (  4, 28   )     int  ->   x3         "CSE - aggressive"
-;  V07 cse1         [V07,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  4,  3.50)     int  ->   x3         "CSE - aggressive"
+;  V08 cse2         [V08,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V09 cse3         [V09,T08] (  3,  2.50)     ref  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -22,42 +24,65 @@ G_M17963_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M17963_IG02:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M17963_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x2, [x0, #0x10]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x20]
             cmp     w1, w3
             bge     G_M17963_IG04
-                        ;; size=16 bbWeight=8 PerfScore 60.00
-G_M17963_IG03:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+                        ;; size=16 bbWeight=1 PerfScore 7.50
+G_M17963_IG03:        ; bbWeight=0.50, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M17963_IG02
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M17963_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M17963_IG06
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
+G_M17963_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x2]
             cmp     w1, w3
-            ble     G_M17963_IG06
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M17963_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ble     G_M17963_IG10
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M17963_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             sub     w1, w1, w3
             sub     w1, w1, #1
             ldr     x0, [x0, #0x18]
-            b       G_M17963_IG02
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M17963_IG06:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     x2, [x0, #0x10]
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x20]
+            cmp     w1, w3
+            bge     G_M17963_IG08
+                       ;; size=16 bbWeight=8 PerfScore 60.00
+G_M17963_IG07:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x2
+            ; gcrRegs +[x0]
+            b       G_M17963_IG06
+                       ;; size=8 bbWeight=4 PerfScore 6.00
+G_M17963_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            cmp     w1, w3
+            ble     G_M17963_IG10
+                       ;; size=8 bbWeight=8 PerfScore 12.00
+G_M17963_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            sub     w1, w1, w3
+            sub     w1, w1, #1
+            ldr     x0, [x0, #0x18]
+            b       G_M17963_IG06
                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M17963_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M17963_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x0, x0, #8
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M17963_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M17963_IG11:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 102.00, instruction count 17, allocated bytes for code 68 (MethodHash=8272b9d4) for method System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
+; Total bytes of code 112, prolog size 8, PerfScore 113.75, instruction count 28, allocated bytes for code 112 (MethodHash=8272b9d4) for method System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -68,7 +93,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+44 (+64.71%) : 20328.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
@@ -7,14 +7,16 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  7, 23   )     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]>
-;  V01 arg1         [V01,T00] (  6, 26   )     int  ->   x1        
+;  V00 this         [V00,T02] ( 11, 25.50)     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]>
+;  V01 arg1         [V01,T00] ( 10, 29   )     int  ->   x1        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T06] (  2, 16   )     int  ->   x1         "arg temp"
-;  V04 tmp2         [V04,T04] (  2, 16   )     ref  ->   x0         single-def "arg temp"
-;  V05 tmp3         [V05,T05] (  2, 16   )     ref  ->   x0         single-def "arg temp"
+;  V03 tmp1         [V03,T06] (  4, 18   )     int  ->   x1         "arg temp"
+;  V04 tmp2         [V04,T04] (  4, 18   )     ref  ->   x0         "arg temp"
+;  V05 tmp3         [V05,T05] (  4, 18   )     ref  ->   x0         "arg temp"
 ;  V06 cse0         [V06,T01] (  4, 28   )     int  ->   x3         "CSE - aggressive"
-;  V07 cse1         [V07,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  4,  3.50)     int  ->   x3         "CSE - aggressive"
+;  V08 cse2         [V08,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V09 cse3         [V09,T08] (  3,  2.50)     ref  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -22,42 +24,65 @@ G_M39152_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M39152_IG02:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M39152_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x2, [x0, #0x10]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x20]
             cmp     w1, w3
             bge     G_M39152_IG04
-                        ;; size=16 bbWeight=8 PerfScore 60.00
-G_M39152_IG03:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+                        ;; size=16 bbWeight=1 PerfScore 7.50
+G_M39152_IG03:        ; bbWeight=0.50, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M39152_IG02
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M39152_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M39152_IG06
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
+G_M39152_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x2]
             cmp     w1, w3
-            ble     G_M39152_IG06
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M39152_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ble     G_M39152_IG10
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M39152_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             sub     w1, w1, w3
             sub     w1, w1, #1
             ldr     x0, [x0, #0x18]
-            b       G_M39152_IG02
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M39152_IG06:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     x2, [x0, #0x10]
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x20]
+            cmp     w1, w3
+            bge     G_M39152_IG08
+                       ;; size=16 bbWeight=8 PerfScore 60.00
+G_M39152_IG07:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x2
+            ; gcrRegs +[x0]
+            b       G_M39152_IG06
+                       ;; size=8 bbWeight=4 PerfScore 6.00
+G_M39152_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            cmp     w1, w3
+            ble     G_M39152_IG10
+                       ;; size=8 bbWeight=8 PerfScore 12.00
+G_M39152_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            sub     w1, w1, w3
+            sub     w1, w1, #1
+            ldr     x0, [x0, #0x18]
+            b       G_M39152_IG06
                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M39152_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M39152_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x0, x0, #8
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M39152_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M39152_IG11:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 102.00, instruction count 17, allocated bytes for code 68 (MethodHash=6a4c670f) for method System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
+; Total bytes of code 112, prolog size 8, PerfScore 113.75, instruction count 28, allocated bytes for code 112 (MethodHash=6a4c670f) for method System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -68,7 +93,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
benchmarks.run_pgo.windows.arm64.checked.mch
-16 (-3.23%) : 34801.dasm - System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
@@ -19,28 +19,28 @@
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V08 tmp1         [V08,T03] (  3,  6   )     ref  ->   x0         class-hnd exact single-def "Single-def Box Helper" <System.Reflection.MetadataImport>
 ;  V09 tmp2         [V09,T13] (  2,  4   )     int  ->   x1         "impImportAndPushBox"
-;  V10 tmp3         [V10,T14] (  4,  2   )     int  ->  x28        
+;  V10 tmp3         [V10,T16] (  4,  2   )     int  ->  x28        
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V13 tmp6         [V13,T17] (  2,  2   )     int  ->  x14        
+;  V13 tmp6         [V13,T18] (  2,  2   )     int  ->  x14        
 ;  V14 tmp7         [V14,T04] (  3,  6.00)     ref  ->   x0         class-hnd exact single-def "dup spill" <int[]>
 ;* V15 tmp8         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V16 tmp9         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V17 tmp10        [V17,T18] (  2,  2   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp10        [V17,T19] (  2,  2   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp11        [V18,T11] (  2,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Reflection.MetadataImport>
 ;* V19 tmp12        [V19    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Reflection.MetadataImport>
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V21 tmp14        [V21,T15] (  3,  2.00)   ubyte  ->  x28         "Inline return value spill temp"
-;  V22 tmp15        [V22,T05] (  5,  5.00)     int  ->   x1         "Inline stloc first use temp"
+;  V21 tmp14        [V21,T17] (  3,  2.00)   ubyte  ->  x28         "Inline return value spill temp"
+;* V22 tmp15        [V22,T05] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V23 tmp16        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V24 tmp17        [V24    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V25 tmp18        [V25,T12] (  2,  2   )     ref  ->  x26         single-def "field V02.m_keepalive (fldOffset=0x0)" P-INDEP
 ;  V26 tmp19        [V26,T09] (  3,  3   )    long  ->  x25         single-def "field V02.m_metadataImport2 (fldOffset=0x8)" P-INDEP
 ;* V27 tmp20        [V27    ] (  0,  0   )     ref  ->  zero-ref    "field V19.m_keepalive (fldOffset=0x0)" P-INDEP
-;  V28 tmp21        [V28,T19] (  2,  2   )    long  ->   x0         "field V19.m_metadataImport2 (fldOffset=0x8)" P-INDEP
-;  V29 cse0         [V29,T10] (  4,  4   )     int  ->  x27         "CSE - aggressive"
-;  V30 cse1         [V30,T16] (  2,  2.00)   byref  ->   x0         hoist "CSE - moderate"
-;  V31 cse2         [V31,T20] (  2,  2.00)     int  ->   x2         hoist "CSE - moderate"
+;  V28 tmp21        [V28,T20] (  2,  2   )    long  ->   x0         "field V19.m_metadataImport2 (fldOffset=0x8)" P-INDEP
+;  V29 cse0         [V29,T14] (  2,  2.00)   byref  ->  x14         "CSE - aggressive"
+;  V30 cse1         [V30,T15] (  2,  2.00)     int  ->  x15         "CSE - aggressive"
+;  V31 cse2         [V31,T10] (  4,  4   )     int  ->  x27         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -66,7 +66,7 @@ G_M43134_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x21]
                        ;; size=60 bbWeight=1 PerfScore 10.50
 G_M43134_IG02:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
-            cbz     x21, G_M43134_IG11
+            cbz     x21, G_M43134_IG10
                      ;; size=4 bbWeight=1 PerfScore 1.00
 G_M43134_IG03:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             movz    x0, #0xD1FFAB1E
@@ -96,13 +96,13 @@ G_M43134_IG03:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             cmp     x0, x25
             cset    x0, eq
             cmp     w1, w0
-            bne     G_M43134_IG12
+            bne     G_M43134_IG11
                        ;; size=84 bbWeight=1 PerfScore 20.00
 G_M43134_IG04:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x13-x14]
-            cbz     w27, G_M43134_IG14
+            cbz     w27, G_M43134_IG13
                        ;; size=4 bbWeight=1 PerfScore 1.00
-G_M43134_IG05:        ; bbWeight=1.00, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG05:        ; bbWeight=1.00, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -112,30 +112,24 @@ G_M43134_IG05:        ; bbWeight=1.00, gcrefRegs=4680000 {x19 x21 x22 x26}, byre
             ; gcr arg pop 0
             mov     w14, #0xD1FFAB1E
             str     w14, [x0, #0x10]
-            mov     w1, wzr
-            add     x0, x0, #16
+            add     x14, x0, #16
+            ; byrRegs +[x14]
+            ldr     w14, [x14]
+            ; byrRegs -[x14]
+            and     w15, w20, #0xD1FFAB1E
+            cmp     w14, w15
+            beq     G_M43134_IG06
+            b       G_M43134_IG12
+                       ;; size=52 bbWeight=1.00 PerfScore 11.00
+G_M43134_IG06:        ; bbWeight=1.00, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
-            ; byrRegs +[x0]
-            and     w2, w20, #0xD1FFAB1E
-                       ;; size=40 bbWeight=1.00 PerfScore 6.00
-G_M43134_IG06:        ; bbWeight=1.00, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0001 {x0}, byref, isz
-            ldr     w14, [x0, w1, UXTW #2]
-            cmp     w14, w2
-            beq     G_M43134_IG07
-            add     w1, w1, #1
-            cmp     w1, #1
-            bge     G_M43134_IG13
-            b       G_M43134_IG06
-                       ;; size=28 bbWeight=1.00 PerfScore 7.50
-G_M43134_IG07:        ; bbWeight=1.00, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x0]
             mov     w28, #1
                        ;; size=4 bbWeight=1.00 PerfScore 0.50
-G_M43134_IG08:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
+G_M43134_IG07:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             tst     w28, #255
-            beq     G_M43134_IG15
+            beq     G_M43134_IG14
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M43134_IG09:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG08:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             str     w23, [x19, #0x2C]
             add     x14, x19, #24
             ; byrRegs +[x14]
@@ -167,7 +161,7 @@ G_M43134_IG09:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             str     xzr, [x19, #0x08]
             str     xzr, [x19, #0x20]
                        ;; size=72 bbWeight=1 PerfScore 13.50
-G_M43134_IG10:        ; bbWeight=1, epilog, nogc, extend
+G_M43134_IG09:        ; bbWeight=1, epilog, nogc, extend
             ldp     x27, x28, [sp, #0x50]
             ldp     x25, x26, [sp, #0x40]
             ldp     x23, x24, [sp, #0x30]
@@ -176,7 +170,7 @@ G_M43134_IG10:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=28 bbWeight=1 PerfScore 7.00
-G_M43134_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, gcvars, byref
+G_M43134_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x21-x22 x26]
             movz    x0, #8
             movk    x0, #0xD1FFAB1E LSL #16
@@ -192,7 +186,7 @@ G_M43134_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=468000
             ; gcr arg pop 0
             b       G_M43134_IG03
                        ;; size=48 bbWeight=0 PerfScore 0.00
-G_M43134_IG12:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG11:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             movz    x0, #8
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -207,16 +201,16 @@ G_M43134_IG12:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             ; gcr arg pop 0
             b       G_M43134_IG04
                        ;; size=48 bbWeight=0 PerfScore 0.00
-G_M43134_IG13:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG12:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             mov     w28, wzr
-            b       G_M43134_IG08
+            b       G_M43134_IG07
                         ;; size=8 bbWeight=0 PerfScore 0.00
-G_M43134_IG14:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
+G_M43134_IG13:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             mov     w28, #1
             tst     w28, #255
-            bne     G_M43134_IG09
+            bne     G_M43134_IG08
                         ;; size=12 bbWeight=0 PerfScore 0.00
-G_M43134_IG15:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG14:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             movz    x0, #8
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -229,10 +223,10 @@ G_M43134_IG15:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             ldr     x2, [x2]
             blr     x2
             ; gcr arg pop 0
-            b       G_M43134_IG09
+            b       G_M43134_IG08
                       ;; size=48 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 496, prolog size 60, PerfScore 68.50, instruction count 124, allocated bytes for code 496 (MethodHash=d49d5781) for method System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
+; Total bytes of code 480, prolog size 60, PerfScore 66.00, instruction count 120, allocated bytes for code 480 (MethodHash=d49d5781) for method System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -243,7 +237,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 124 (0x0007c) Actual length = 496 (0x0001f0)
+  Function Length   : 120 (0x00078) Actual length = 480 (0x0001e0)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-16 (-3.23%) : 52125.dasm - System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
@@ -19,28 +19,28 @@
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V08 tmp1         [V08,T03] (  3,  6   )     ref  ->   x0         class-hnd exact single-def "Single-def Box Helper" <System.Reflection.MetadataImport>
 ;  V09 tmp2         [V09,T13] (  2,  4   )     int  ->   x1         "impImportAndPushBox"
-;  V10 tmp3         [V10,T14] (  4,  2   )     int  ->  x28        
+;  V10 tmp3         [V10,T16] (  4,  2   )     int  ->  x28        
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V13 tmp6         [V13,T17] (  2,  2   )     int  ->  x14        
+;  V13 tmp6         [V13,T18] (  2,  2   )     int  ->  x14        
 ;  V14 tmp7         [V14,T04] (  3,  6   )     ref  ->   x0         class-hnd exact single-def "dup spill" <int[]>
 ;* V15 tmp8         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V16 tmp9         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V17 tmp10        [V17,T18] (  2,  2   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp10        [V17,T19] (  2,  2   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp11        [V18,T11] (  2,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Reflection.MetadataImport>
 ;* V19 tmp12        [V19    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Reflection.MetadataImport>
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V21 tmp14        [V21,T15] (  3,  2   )   ubyte  ->  x28         "Inline return value spill temp"
-;  V22 tmp15        [V22,T05] (  5,  5   )     int  ->   x1         "Inline stloc first use temp"
+;  V21 tmp14        [V21,T17] (  3,  2   )   ubyte  ->  x28         "Inline return value spill temp"
+;* V22 tmp15        [V22,T05] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V23 tmp16        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V24 tmp17        [V24    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V25 tmp18        [V25,T12] (  2,  2   )     ref  ->  x26         single-def "field V02.m_keepalive (fldOffset=0x0)" P-INDEP
 ;  V26 tmp19        [V26,T09] (  3,  3   )    long  ->  x25         single-def "field V02.m_metadataImport2 (fldOffset=0x8)" P-INDEP
 ;* V27 tmp20        [V27    ] (  0,  0   )     ref  ->  zero-ref    "field V19.m_keepalive (fldOffset=0x0)" P-INDEP
-;  V28 tmp21        [V28,T19] (  2,  2   )    long  ->   x0         "field V19.m_metadataImport2 (fldOffset=0x8)" P-INDEP
+;  V28 tmp21        [V28,T20] (  2,  2   )    long  ->   x0         "field V19.m_metadataImport2 (fldOffset=0x8)" P-INDEP
 ;  V29 cse0         [V29,T10] (  4,  4   )     int  ->  x27         "CSE - aggressive"
-;  V30 cse1         [V30,T16] (  2,  2   )   byref  ->   x0         hoist "CSE - moderate"
-;  V31 cse2         [V31,T20] (  2,  2   )     int  ->   x2         hoist "CSE - moderate"
+;  V30 cse1         [V30,T14] (  2,  2   )   byref  ->  x14         "CSE - aggressive"
+;  V31 cse2         [V31,T15] (  2,  2   )     int  ->  x15         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -66,7 +66,7 @@ G_M43134_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x21]
                        ;; size=60 bbWeight=1 PerfScore 10.50
 G_M43134_IG02:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
-            cbz     x21, G_M43134_IG10
+            cbz     x21, G_M43134_IG09
                      ;; size=4 bbWeight=1 PerfScore 1.00
 G_M43134_IG03:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             movz    x0, #0xD1FFAB1E
@@ -96,11 +96,11 @@ G_M43134_IG03:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             cmp     x0, x25
             cset    x0, eq
             cmp     w1, w0
-            bne     G_M43134_IG11
+            bne     G_M43134_IG10
                        ;; size=84 bbWeight=1 PerfScore 20.00
 G_M43134_IG04:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x13-x14]
-            cbz     w27, G_M43134_IG13
+            cbz     w27, G_M43134_IG12
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -110,30 +110,24 @@ G_M43134_IG04:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             ; gcr arg pop 0
             mov     w14, #0xD1FFAB1E
             str     w14, [x0, #0x10]
-            mov     w1, wzr
-            add     x0, x0, #16
+            add     x14, x0, #16
+            ; byrRegs +[x14]
+            ldr     w14, [x14]
+            ; byrRegs -[x14]
+            and     w15, w20, #0xD1FFAB1E
+            cmp     w14, w15
+            beq     G_M43134_IG05
+            b       G_M43134_IG11
+                       ;; size=56 bbWeight=1 PerfScore 12.00
+G_M43134_IG05:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
-            ; byrRegs +[x0]
-            and     w2, w20, #0xD1FFAB1E
-                       ;; size=44 bbWeight=1 PerfScore 7.00
-G_M43134_IG05:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0001 {x0}, byref, isz
-            ldr     w14, [x0, w1, UXTW #2]
-            cmp     w14, w2
-            beq     G_M43134_IG06
-            add     w1, w1, #1
-            cmp     w1, #1
-            bge     G_M43134_IG12
-            b       G_M43134_IG05
-                       ;; size=28 bbWeight=1 PerfScore 7.50
-G_M43134_IG06:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x0]
             mov     w28, #1
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M43134_IG07:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
+G_M43134_IG06:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             tst     w28, #255
-            beq     G_M43134_IG14
+            beq     G_M43134_IG13
                       ;; size=8 bbWeight=1 PerfScore 1.50
-G_M43134_IG08:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG07:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             str     w23, [x19, #0x2C]
             add     x14, x19, #24
             ; byrRegs +[x14]
@@ -165,7 +159,7 @@ G_M43134_IG08:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             str     xzr, [x19, #0x08]
             str     xzr, [x19, #0x20]
                        ;; size=72 bbWeight=1 PerfScore 13.50
-G_M43134_IG09:        ; bbWeight=1, epilog, nogc, extend
+G_M43134_IG08:        ; bbWeight=1, epilog, nogc, extend
             ldp     x27, x28, [sp, #0x50]
             ldp     x25, x26, [sp, #0x40]
             ldp     x23, x24, [sp, #0x30]
@@ -174,7 +168,7 @@ G_M43134_IG09:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=28 bbWeight=1 PerfScore 7.00
-G_M43134_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, gcvars, byref
+G_M43134_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x21-x22 x26]
             movz    x0, #8
             movk    x0, #0xD1FFAB1E LSL #16
@@ -190,7 +184,7 @@ G_M43134_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=468000
             ; gcr arg pop 0
             b       G_M43134_IG03
                        ;; size=48 bbWeight=0 PerfScore 0.00
-G_M43134_IG11:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG10:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             movz    x0, #8
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -205,16 +199,16 @@ G_M43134_IG11:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             ; gcr arg pop 0
             b       G_M43134_IG04
                        ;; size=48 bbWeight=0 PerfScore 0.00
-G_M43134_IG12:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG11:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             mov     w28, wzr
-            b       G_M43134_IG07
+            b       G_M43134_IG06
                         ;; size=8 bbWeight=0 PerfScore 0.00
-G_M43134_IG13:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
+G_M43134_IG12:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             mov     w28, #1
             tst     w28, #255
-            bne     G_M43134_IG08
+            bne     G_M43134_IG07
                         ;; size=12 bbWeight=0 PerfScore 0.00
-G_M43134_IG14:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG13:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             movz    x0, #8
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -227,10 +221,10 @@ G_M43134_IG14:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             ldr     x2, [x2]
             blr     x2
             ; gcr arg pop 0
-            b       G_M43134_IG08
+            b       G_M43134_IG07
                       ;; size=48 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 496, prolog size 60, PerfScore 68.50, instruction count 124, allocated bytes for code 496 (MethodHash=d49d5781) for method System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
+; Total bytes of code 480, prolog size 60, PerfScore 66.00, instruction count 120, allocated bytes for code 480 (MethodHash=d49d5781) for method System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -241,7 +235,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 124 (0x0007c) Actual length = 496 (0x0001f0)
+  Function Length   : 120 (0x00078) Actual length = 480 (0x0001e0)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-16 (-3.23%) : 57405.dasm - System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
@@ -19,28 +19,28 @@
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V08 tmp1         [V08,T03] (  3,  6   )     ref  ->   x0         class-hnd exact single-def "Single-def Box Helper" <System.Reflection.MetadataImport>
 ;  V09 tmp2         [V09,T13] (  2,  4   )     int  ->   x1         "impImportAndPushBox"
-;  V10 tmp3         [V10,T14] (  4,  2   )     int  ->  x28        
+;  V10 tmp3         [V10,T16] (  4,  2   )     int  ->  x28        
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V13 tmp6         [V13,T17] (  2,  2   )     int  ->  x14        
+;  V13 tmp6         [V13,T18] (  2,  2   )     int  ->  x14        
 ;  V14 tmp7         [V14,T04] (  3,  6   )     ref  ->   x0         class-hnd exact single-def "dup spill" <int[]>
 ;* V15 tmp8         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V16 tmp9         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V17 tmp10        [V17,T18] (  2,  2   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp10        [V17,T19] (  2,  2   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp11        [V18,T11] (  2,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Reflection.MetadataImport>
 ;* V19 tmp12        [V19    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Reflection.MetadataImport>
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V21 tmp14        [V21,T15] (  3,  2   )   ubyte  ->  x28         "Inline return value spill temp"
-;  V22 tmp15        [V22,T05] (  5,  5   )     int  ->   x1         "Inline stloc first use temp"
+;  V21 tmp14        [V21,T17] (  3,  2   )   ubyte  ->  x28         "Inline return value spill temp"
+;* V22 tmp15        [V22,T05] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V23 tmp16        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V24 tmp17        [V24    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V25 tmp18        [V25,T12] (  2,  2   )     ref  ->  x26         single-def "field V02.m_keepalive (fldOffset=0x0)" P-INDEP
 ;  V26 tmp19        [V26,T09] (  3,  3   )    long  ->  x25         single-def "field V02.m_metadataImport2 (fldOffset=0x8)" P-INDEP
 ;* V27 tmp20        [V27    ] (  0,  0   )     ref  ->  zero-ref    "field V19.m_keepalive (fldOffset=0x0)" P-INDEP
-;  V28 tmp21        [V28,T19] (  2,  2   )    long  ->   x0         "field V19.m_metadataImport2 (fldOffset=0x8)" P-INDEP
+;  V28 tmp21        [V28,T20] (  2,  2   )    long  ->   x0         "field V19.m_metadataImport2 (fldOffset=0x8)" P-INDEP
 ;  V29 cse0         [V29,T10] (  4,  4   )     int  ->  x27         "CSE - aggressive"
-;  V30 cse1         [V30,T16] (  2,  2   )   byref  ->   x0         hoist "CSE - moderate"
-;  V31 cse2         [V31,T20] (  2,  2   )     int  ->   x2         hoist "CSE - moderate"
+;  V30 cse1         [V30,T14] (  2,  2   )   byref  ->  x14         "CSE - aggressive"
+;  V31 cse2         [V31,T15] (  2,  2   )     int  ->  x15         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -66,7 +66,7 @@ G_M43134_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x21]
                        ;; size=60 bbWeight=1 PerfScore 10.50
 G_M43134_IG02:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
-            cbz     x21, G_M43134_IG10
+            cbz     x21, G_M43134_IG09
                      ;; size=4 bbWeight=1 PerfScore 1.00
 G_M43134_IG03:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             movz    x0, #0xD1FFAB1E
@@ -96,11 +96,11 @@ G_M43134_IG03:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             cmp     x0, x25
             cset    x0, eq
             cmp     w1, w0
-            bne     G_M43134_IG11
+            bne     G_M43134_IG10
                        ;; size=84 bbWeight=1 PerfScore 20.00
 G_M43134_IG04:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x13-x14]
-            cbz     w27, G_M43134_IG13
+            cbz     w27, G_M43134_IG12
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -110,30 +110,24 @@ G_M43134_IG04:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             ; gcr arg pop 0
             mov     w14, #0xD1FFAB1E
             str     w14, [x0, #0x10]
-            mov     w1, wzr
-            add     x0, x0, #16
+            add     x14, x0, #16
+            ; byrRegs +[x14]
+            ldr     w14, [x14]
+            ; byrRegs -[x14]
+            and     w15, w20, #0xD1FFAB1E
+            cmp     w14, w15
+            beq     G_M43134_IG05
+            b       G_M43134_IG11
+                       ;; size=56 bbWeight=1 PerfScore 12.00
+G_M43134_IG05:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
-            ; byrRegs +[x0]
-            and     w2, w20, #0xD1FFAB1E
-                       ;; size=44 bbWeight=1 PerfScore 7.00
-G_M43134_IG05:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0001 {x0}, byref, isz
-            ldr     w14, [x0, w1, UXTW #2]
-            cmp     w14, w2
-            beq     G_M43134_IG06
-            add     w1, w1, #1
-            cmp     w1, #1
-            bge     G_M43134_IG12
-            b       G_M43134_IG05
-                       ;; size=28 bbWeight=1 PerfScore 7.50
-G_M43134_IG06:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x0]
             mov     w28, #1
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M43134_IG07:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
+G_M43134_IG06:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             tst     w28, #255
-            beq     G_M43134_IG14
+            beq     G_M43134_IG13
                       ;; size=8 bbWeight=1 PerfScore 1.50
-G_M43134_IG08:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG07:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             str     w23, [x19, #0x2C]
             add     x14, x19, #24
             ; byrRegs +[x14]
@@ -165,7 +159,7 @@ G_M43134_IG08:        ; bbWeight=1, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             str     xzr, [x19, #0x08]
             str     xzr, [x19, #0x20]
                        ;; size=72 bbWeight=1 PerfScore 13.50
-G_M43134_IG09:        ; bbWeight=1, epilog, nogc, extend
+G_M43134_IG08:        ; bbWeight=1, epilog, nogc, extend
             ldp     x27, x28, [sp, #0x50]
             ldp     x25, x26, [sp, #0x40]
             ldp     x23, x24, [sp, #0x30]
@@ -174,7 +168,7 @@ G_M43134_IG09:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=28 bbWeight=1 PerfScore 7.00
-G_M43134_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, gcvars, byref
+G_M43134_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x21-x22 x26]
             movz    x0, #8
             movk    x0, #0xD1FFAB1E LSL #16
@@ -190,7 +184,7 @@ G_M43134_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=468000
             ; gcr arg pop 0
             b       G_M43134_IG03
                        ;; size=48 bbWeight=0 PerfScore 0.00
-G_M43134_IG11:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG10:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             movz    x0, #8
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -205,16 +199,16 @@ G_M43134_IG11:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             ; gcr arg pop 0
             b       G_M43134_IG04
                        ;; size=48 bbWeight=0 PerfScore 0.00
-G_M43134_IG12:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG11:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             mov     w28, wzr
-            b       G_M43134_IG07
+            b       G_M43134_IG06
                         ;; size=8 bbWeight=0 PerfScore 0.00
-G_M43134_IG13:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
+G_M43134_IG12:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             mov     w28, #1
             tst     w28, #255
-            bne     G_M43134_IG08
+            bne     G_M43134_IG07
                         ;; size=12 bbWeight=0 PerfScore 0.00
-G_M43134_IG14:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M43134_IG13:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=0000 {}, byref
             movz    x0, #8
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -227,10 +221,10 @@ G_M43134_IG14:        ; bbWeight=0, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRe
             ldr     x2, [x2]
             blr     x2
             ; gcr arg pop 0
-            b       G_M43134_IG08
+            b       G_M43134_IG07
                       ;; size=48 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 496, prolog size 60, PerfScore 68.50, instruction count 124, allocated bytes for code 496 (MethodHash=d49d5781) for method System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
+; Total bytes of code 480, prolog size 60, PerfScore 66.00, instruction count 120, allocated bytes for code 480 (MethodHash=d49d5781) for method System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -241,7 +235,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 124 (0x0007c) Actual length = 496 (0x0001f0)
+  Function Length   : 120 (0x00078) Actual length = 480 (0x0001e0)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+50.00%) : 57606.dasm - Roslyn.Utilities.ThreadSafeFlagOperations:Set(byref,int):ubyte (Tier1)
@@ -8,10 +8,10 @@
 ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 110
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  4,  3.98)   byref  ->   x0         single-def
-;  V01 arg1         [V01,T01] (  3,  3   )     int  ->   x1         single-def
-;  V02 loc0         [V02,T02] (  5,  4.96)     int  ->   x2        
-;  V03 loc1         [V03,T03] (  3,  2.98)     int  ->   x3        
+;  V00 arg0         [V00,T01] (  6,  5.96)   byref  ->   x0         single-def
+;  V01 arg1         [V01,T02] (  4,  4   )     int  ->   x1         single-def
+;  V02 loc0         [V02,T00] ( 10,  9.93)     int  ->   x2        
+;  V03 loc1         [V03,T03] (  6,  5.96)     int  ->   x3        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -25,29 +25,43 @@ G_M19701_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             ldr     w2, [x0]
             orr     w3, w2, w1
             cmp     w3, w2
-            beq     G_M19701_IG05
+            beq     G_M19701_IG08
                        ;; size=16 bbWeight=1 PerfScore 5.00
 G_M19701_IG03:        ; bbWeight=0.98, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             mov     w4, w2
             casal   w4, w3, [x0]
             cmp     w4, w2
-            bne     G_M19701_IG02
-            mov     w0, #1
+            beq     G_M19701_IG06
+                       ;; size=16 bbWeight=0.98 PerfScore 4.91
+G_M19701_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            ldr     w2, [x0]
+            orr     w3, w2, w1
+            cmp     w3, w2
+            beq     G_M19701_IG08
+                       ;; size=16 bbWeight=1 PerfScore 5.00
+G_M19701_IG05:        ; bbWeight=0.98, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            mov     w4, w2
+            casal   w4, w3, [x0]
+            cmp     w4, w2
+            bne     G_M19701_IG04
+                       ;; size=16 bbWeight=0.98 PerfScore 4.91
+G_M19701_IG06:        ; bbWeight=0.98, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; byrRegs -[x0]
-                        ;; size=20 bbWeight=0.98 PerfScore 5.40
-G_M19701_IG04:        ; bbWeight=0.98, epilog, nogc, extend
+            mov     w0, #1
+                       ;; size=4 bbWeight=0.98 PerfScore 0.49
+G_M19701_IG07:        ; bbWeight=0.98, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.98 PerfScore 1.96
-G_M19701_IG05:        ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M19701_IG08:        ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=0.02 PerfScore 0.01
-G_M19701_IG06:        ; bbWeight=0.02, epilog, nogc, extend
+G_M19701_IG09:        ; bbWeight=0.02, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.02 PerfScore 0.04
 
-; Total bytes of code 64, prolog size 8, PerfScore 13.91, instruction count 16, allocated bytes for code 64 (MethodHash=f281b30a) for method Roslyn.Utilities.ThreadSafeFlagOperations:Set(byref,int):ubyte (Tier1)
+; Total bytes of code 96, prolog size 8, PerfScore 23.82, instruction count 24, allocated bytes for code 96 (MethodHash=f281b30a) for method Roslyn.Utilities.ThreadSafeFlagOperations:Set(byref,int):ubyte (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -58,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 16 (0x00010) Actual length = 64 (0x000040)
+  Function Length   : 24 (0x00018) Actual length = 96 (0x000060)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+48 (+54.55%) : 40569.dasm - IfStatements.IfStatements:OrArray():this (Tier1-OSR)
@@ -10,44 +10,58 @@
 ; Final local variable assignments
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <IfStatements.IfStatements>
-;  V01 loc0         [V01,T00] (  5,399.97)     int  ->   x0        
+;  V01 loc0         [V01,T00] ( 10,400.02)     int  ->  x19        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 cse0         [V03,T01] (  3,299.97)     int  ->  x19         "CSE - aggressive"
+;  V03 cse0         [V03,T01] (  3,299.97)     int  ->  x20         "CSE - aggressive"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M20087_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x20]!
-            str     x19, [sp, #0x18]
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-            ldr     w0, [fp, #0x44]
+            ldr     w19, [fp, #0x44]
                         ;; size=16 bbWeight=0.01 PerfScore 0.05
 G_M20087_IG02:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             mov     w1, #0xD1FFAB1E
-            cmp     w0, w1
-            bge     G_M20087_IG04
+            cmp     w19, w1
+            bge     G_M20087_IG05
                       ;; size=12 bbWeight=0.01 PerfScore 0.02
-G_M20087_IG03:        ; bbWeight=99.99, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            add     w19, w0, #1
-            mov     w1, w19
+G_M20087_IG03:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w1, w19, #1
+            mov     w0, w19
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            sxtw    w0, w19
+            add     w19, w19, #1
             mov     w1, #0xD1FFAB1E
-            cmp     w0, w1
-            blt     G_M20087_IG03
-                       ;; size=44 bbWeight=99.99 PerfScore 899.91
-G_M20087_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldr     x19, [sp, #0x18]
+            cmp     w19, w1
+            bge     G_M20087_IG05
+                       ;; size=44 bbWeight=0.01 PerfScore 0.09
+G_M20087_IG04:        ; bbWeight=99.99, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w20, w19, #1
+            mov     w1, w20
+            mov     w0, w19
+            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
+            sxtw    w19, w20
+            mov     w0, #0xD1FFAB1E
+            cmp     w19, w0
+            blt     G_M20087_IG04
+                       ;; size=48 bbWeight=99.99 PerfScore 949.90
+G_M20087_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             add     sp, sp, #48
             ret     lr
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 88, prolog size 12, PerfScore 899.97, instruction count 22, allocated bytes for code 88 (MethodHash=8456b188) for method IfStatements.IfStatements:OrArray():this (Tier1-OSR)
+; Total bytes of code 136, prolog size 12, PerfScore 950.06, instruction count 34, allocated bytes for code 136 (MethodHash=8456b188) for method IfStatements.IfStatements:OrArray():this (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -58,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 22 (0x00016) Actual length = 88 (0x000058)
+  Function Length   : 34 (0x00022) Actual length = 136 (0x000088)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -66,7 +80,7 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
     83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
     03          alloc_s #3 (0x03); sub sp, sp, #48 (0x030)
     E4          end
  
+48 (+54.55%) : 37926.dasm - IfStatements.IfStatements:AndArray():this (Tier1-OSR)
@@ -10,44 +10,58 @@
 ; Final local variable assignments
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <IfStatements.IfStatements>
-;  V01 loc0         [V01,T00] (  5,399.97)     int  ->   x0        
+;  V01 loc0         [V01,T00] ( 10,400.02)     int  ->  x19        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 cse0         [V03,T01] (  3,299.97)     int  ->  x19         "CSE - aggressive"
+;  V03 cse0         [V03,T01] (  3,299.97)     int  ->  x20         "CSE - aggressive"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M1409_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x20]!
-            str     x19, [sp, #0x18]
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-            ldr     w0, [fp, #0x44]
+            ldr     w19, [fp, #0x44]
                         ;; size=16 bbWeight=0.01 PerfScore 0.05
 G_M1409_IG02:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             mov     w1, #0xD1FFAB1E
-            cmp     w0, w1
-            bge     G_M1409_IG04
+            cmp     w19, w1
+            bge     G_M1409_IG05
                        ;; size=12 bbWeight=0.01 PerfScore 0.02
-G_M1409_IG03:        ; bbWeight=99.99, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            add     w19, w0, #1
-            mov     w1, w19
+G_M1409_IG03:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w1, w19, #1
+            mov     w0, w19
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            sxtw    w0, w19
+            add     w19, w19, #1
             mov     w1, #0xD1FFAB1E
-            cmp     w0, w1
-            blt     G_M1409_IG03
-                       ;; size=44 bbWeight=99.99 PerfScore 899.91
-G_M1409_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldr     x19, [sp, #0x18]
+            cmp     w19, w1
+            bge     G_M1409_IG05
+                       ;; size=44 bbWeight=0.01 PerfScore 0.09
+G_M1409_IG04:        ; bbWeight=99.99, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w20, w19, #1
+            mov     w1, w20
+            mov     w0, w19
+            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
+            sxtw    w19, w20
+            mov     w0, #0xD1FFAB1E
+            cmp     w19, w0
+            blt     G_M1409_IG04
+                       ;; size=48 bbWeight=99.99 PerfScore 949.90
+G_M1409_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             add     sp, sp, #48
             ret     lr
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 88, prolog size 12, PerfScore 899.97, instruction count 22, allocated bytes for code 88 (MethodHash=e674fa7e) for method IfStatements.IfStatements:AndArray():this (Tier1-OSR)
+; Total bytes of code 136, prolog size 12, PerfScore 950.06, instruction count 34, allocated bytes for code 136 (MethodHash=e674fa7e) for method IfStatements.IfStatements:AndArray():this (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -58,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 22 (0x00016) Actual length = 88 (0x000058)
+  Function Length   : 34 (0x00022) Actual length = 136 (0x000088)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -66,7 +80,7 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
     83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
     03          alloc_s #3 (0x03); sub sp, sp, #48 (0x030)
     E4          end
  
  
benchmarks.run_tiered.windows.arm64.checked.mch
-12 (-4.41%) : 43124.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
@@ -8,28 +8,33 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] ( 13, 12   )     ref  ->  x19         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
-;  V01 loc0         [V01,T09] (  3,  2.50)     int  ->   x0        
-;  V02 loc1         [V02,T06] (  3,  4.50)     ref  ->  x22         class-hnd <System.__Canon>
+;  V00 this         [V00,T00] ( 13,  9   )     ref  ->  x19         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
+;  V01 loc0         [V01,T13] (  3,  2.50)     int  ->   x0        
+;  V02 loc1         [V02,T08] (  3,  1.50)     ref  ->  x21         class-hnd <System.__Canon>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T00] (  2, 16   )    long  ->   x1         "spilling helperCall"
+;  V04 tmp1         [V04,T02] (  2,  4   )    long  ->   x1         "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V07 cse0         [V07,T05] (  2,  5   )    long  ->  x20         hoist "CSE - aggressive"
-;  V08 cse1         [V08,T03] (  4,  6   )   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V09 rat0         [V09,T07] (  3,  4.40)    long  ->   x0         "Spilling to split statement for tree"
-;  V10 rat1         [V10,T08] (  3,  4   )    long  ->  x20         "runtime lookup"
-;  V11 rat2         [V11,T04] (  3,  5.60)    long  ->  x20         "fgMakeTemp is creating a new local variable"
-;  V12 rat3         [V12,T02] (  3, 12   )     ref  ->   x2         "delegate invoke call"
+;  V07 cse0         [V07,T14] (  2,  2   )    long  ->  x20         hoist "CSE - aggressive"
+;  V08 rat0         [V08,T09] (  3,  4.40)    long  ->   x0         "Spilling to split statement for tree"
+;  V09 rat1         [V09,T10] (  3,  4   )    long  ->  x20         "runtime lookup"
+;  V10 rat2         [V10,T07] (  3,  5.60)    long  ->  x20         "fgMakeTemp is creating a new local variable"
+;* V11 rat3         [V11,T06] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V12 rat4         [V12,T11] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V13 rat5         [V13,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;* V14 rat6         [V14,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V15 rat7         [V15,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V16 rat8         [V16,T12] (  3,  3   )     ref  ->   x2         "delegate invoke call"
+;* V17 rat9         [V17,T04] (  0,  0   )     ref  ->  zero-ref    "delegate invoke call"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 8
 
 G_M34024_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-            str     x0, [fp, #0x18]
+            str     x0, [fp, #0x10]
             mov     x19, x0
             ; gcrRegs +[x19]
                        ;; size=24 bbWeight=1 PerfScore 5.00
@@ -46,9 +51,7 @@ G_M34024_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
 G_M34024_IG04:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ldr     x0, [x19, #0x18]
             ; gcrRegs +[x0]
-            add     x20, x19, #40
-            ; byrRegs +[x20]
-            mov     x8, x20
+            add     x8, x19, #40
             ; byrRegs +[x8]
             movz    x1, #0xD1FFAB1E      // code for System.Collections.Generic.List`1[System.__Canon]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.__Canon]:this
             movk    x1, #0xD1FFAB1E LSL #16
@@ -57,10 +60,10 @@ G_M34024_IG04:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             ldr     wzr, [x0]
             blr     x1
             ; gcrRegs -[x0]
-            ; byrRegs -[x8 x20]
+            ; byrRegs -[x8]
             mov     w0, #2
             str     w0, [x19, #0x14]
-                     ;; size=44 bbWeight=0.50 PerfScore 7.00
+                       ;; size=40 bbWeight=0.50 PerfScore 6.75
 G_M34024_IG05:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x19]
             ldr     x1, [x0, #0x38]
@@ -79,19 +82,14 @@ G_M34024_IG07:        ; bbWeight=0.20, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             mov     x20, x0
                        ;; size=20 bbWeight=0.20 PerfScore 0.60
 G_M34024_IG08:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            add     x0, x19, #40
-            ; byrRegs +[x0]
-            mov     x21, x0
-            ; byrRegs +[x21]
             b       G_M34024_IG10
-                        ;; size=12 bbWeight=1 PerfScore 2.00
-G_M34024_IG09:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21}, byref, isz
-            ; byrRegs -[x0]
-            ldr     x22, [x19, #0x30]
-            ; gcrRegs +[x22]
+                     ;; size=4 bbWeight=1 PerfScore 1.00
+G_M34024_IG09:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            ldr     x21, [x19, #0x30]
+            ; gcrRegs +[x21]
             ldr     x2, [x19, #0x20]
             ; gcrRegs +[x2]
-            mov     x1, x22
+            mov     x1, x21
             ; gcrRegs +[x1]
             ldr     x0, [x2, #0x08]
             ; gcrRegs +[x0]
@@ -100,11 +98,11 @@ G_M34024_IG09:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21
             blr     x2
             ; gcrRegs -[x0-x1]
             cbnz    w0, G_M34024_IG14
-                        ;; size=28 bbWeight=2 PerfScore 29.00
-G_M34024_IG10:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21}, byref, isz
-            ; gcrRegs -[x22]
+                     ;; size=28 bbWeight=0.50 PerfScore 7.25
+G_M34024_IG10:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x21]
             mov     x1, x20
-            mov     x0, x21
+            add     x0, x19, #40
             ; byrRegs +[x0]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
@@ -113,41 +111,40 @@ G_M34024_IG10:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21
             blr     x2
             ; byrRegs -[x0]
             cbnz    w0, G_M34024_IG09
-                        ;; size=32 bbWeight=4 PerfScore 30.00
-G_M34024_IG11:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x21]
+                     ;; size=32 bbWeight=1 PerfScore 7.50
+G_M34024_IG11:        ; bbWeight=0.12, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             str     xzr, [x19, #0x08]
             movn    w14, #0
             str     w14, [x19, #0x14]
-                        ;; size=12 bbWeight=0.50 PerfScore 1.25
+                       ;; size=12 bbWeight=0.12 PerfScore 0.31
 G_M34024_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M34024_IG13:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs +[x22]
+                     ;; size=16 bbWeight=0.50 PerfScore 2.50
+G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs +[x21]
             add     x14, x19, #8
             ; byrRegs +[x14]
-            mov     x15, x22
+            mov     x15, x21
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
-            ; gcrRegs -[x15 x22]
+            ; gcrRegs -[x15 x21]
             ; byrRegs -[x14]
             mov     w0, #1
                        ;; size=16 bbWeight=0.50 PerfScore 1.25
 G_M34024_IG15:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=16 bbWeight=0.50 PerfScore 2.50
 
-; Total bytes of code 272, prolog size 20, PerfScore 99.90, instruction count 68, allocated bytes for code 272 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
+; Total bytes of code 260, prolog size 20, PerfScore 54.46, instruction count 65, allocated bytes for code 260 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -158,7 +155,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 68 (0x00044) Actual length = 272 (0x000110)
+  Function Length   : 65 (0x00041) Actual length = 260 (0x000104)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -169,10 +166,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
-    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
-    E4          end
+    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
+    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
 
  
-4 (-2.13%) : 19355.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
@@ -7,12 +7,13 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 13, 28   )   byref  ->   x0         this single-def
+;  V00 this         [V00,T00] ( 12,  8.25)   byref  ->   x0         this single-def
 ;* V01 TypeCtx      [V01    ] (  0,  0   )    long  ->  zero-ref    single-def
-;  V02 loc0         [V02,T03] (  3,  4.50)   byref  ->  x14        
-;  V03 loc1         [V03,T02] (  4,  8   )     int  ->  x15        
+;  V02 loc0         [V02,T03] (  3,  1   )   byref  ->  x14        
+;  V03 loc1         [V03,T02] (  4,  1   )     int  ->  x15        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T01] (  3, 12   )     ref  ->  x14         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V05 tmp1         [V05,T01] (  3,  1.50)     ref  ->  x14         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V06 cse0         [V06,T04] (  3,  2.50)     int  ->  x15         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -30,7 +31,7 @@ G_M27287_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             cmp     w14, w15
             bne     G_M27287_IG10
                        ;; size=20 bbWeight=1 PerfScore 10.50
-G_M27287_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+G_M27287_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ldr     w14, [x0, #0x14]
             ldr     x15, [x0]
             ; gcrRegs +[x15]
@@ -38,28 +39,26 @@ G_M27287_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             ; gcrRegs -[x15]
             cmp     w14, w15
             blo     G_M27287_IG06
-                        ;; size=20 bbWeight=8 PerfScore 84.00
+                     ;; size=20 bbWeight=1 PerfScore 10.50
 G_M27287_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
-            ldr     x14, [x0]
-            ; gcrRegs +[x14]
-            ldr     w14, [x14, #0x28]
-            ; gcrRegs -[x14]
-            add     w14, w14, #1
+            add     w14, w15, #1
             str     w14, [x0, #0x14]
             str     xzr, [x0, #0x08]
             mov     w0, wzr
             ; byrRegs -[x0]
-                      ;; size=24 bbWeight=0.50 PerfScore 4.50
+                       ;; size=16 bbWeight=0.50 PerfScore 1.50
 G_M27287_IG05:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M27287_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, gcvars, byref, isz
+G_M27287_IG06:        ; bbWeight=0.25, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, gcvars, byref, isz
             ; byrRegs +[x0]
-            ldr     x14, [x0]
+            ldr     x15, [x0]
+            ; gcrRegs +[x15]
+            ldr     x14, [x15, #0x10]
             ; gcrRegs +[x14]
-            ldr     x14, [x14, #0x10]
             ldr     w15, [x0, #0x14]
+            ; gcrRegs -[x15]
             add     w12, w15, #1
             str     w12, [x0, #0x14]
             ldr     w12, [x14, #0x08]
@@ -72,8 +71,9 @@ G_M27287_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; byrRegs +[x14]
             ldr     w15, [x14, #0x0C]
             cmn     w15, #1
-            blt     G_M27287_IG03
-                       ;; size=56 bbWeight=2 PerfScore 43.00
+            bge     G_M27287_IG07
+            b       G_M27287_IG03
+                       ;; size=60 bbWeight=0.25 PerfScore 5.62
 G_M27287_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=4001 {x0 x14}, byref
             ldr     x15, [x14]
             ; gcrRegs +[x15]
@@ -101,7 +101,7 @@ G_M27287_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 188, prolog size 8, PerfScore 148.00, instruction count 47, allocated bytes for code 188 (MethodHash=08a69568) for method System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
+; Total bytes of code 184, prolog size 8, PerfScore 34.12, instruction count 46, allocated bytes for code 184 (MethodHash=08a69568) for method System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -112,7 +112,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 47 (0x0002f) Actual length = 188 (0x0000bc)
+  Function Length   : 46 (0x0002e) Actual length = 184 (0x0000b8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-2.13%) : 38627.dasm - System.Collections.Generic.Dictionary2+ValueCollection+Enumerator[System.ReadOnlyMemory1[ushort],System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:MoveNext():ubyte:this (Tier1)
@@ -7,12 +7,13 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 13, 28   )   byref  ->   x0         this single-def
+;  V00 this         [V00,T00] ( 12,  8.25)   byref  ->   x0         this single-def
 ;* V01 TypeCtx      [V01    ] (  0,  0   )    long  ->  zero-ref    single-def
-;  V02 loc0         [V02,T03] (  3,  4.50)   byref  ->  x13        
-;  V03 loc1         [V03,T02] (  4,  8   )     int  ->  x14        
+;  V02 loc0         [V02,T03] (  3,  1   )   byref  ->  x13        
+;  V03 loc1         [V03,T02] (  4,  1   )     int  ->  x14        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T01] (  3, 12   )     ref  ->  x13         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V05 tmp1         [V05,T01] (  3,  1.50)     ref  ->  x13         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V06 cse0         [V06,T04] (  3,  2.50)     int  ->  x14         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -30,7 +31,7 @@ G_M54618_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             cmp     w13, w14
             bne     G_M54618_IG10
                        ;; size=20 bbWeight=1 PerfScore 10.50
-G_M54618_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+G_M54618_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ldr     w13, [x0, #0x08]
             ldr     x14, [x0]
             ; gcrRegs +[x14]
@@ -38,28 +39,26 @@ G_M54618_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             ; gcrRegs -[x14]
             cmp     w13, w14
             blo     G_M54618_IG06
-                        ;; size=20 bbWeight=8 PerfScore 84.00
+                     ;; size=20 bbWeight=1 PerfScore 10.50
 G_M54618_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
-            ldr     x13, [x0]
-            ; gcrRegs +[x13]
-            ldr     w13, [x13, #0x38]
-            ; gcrRegs -[x13]
-            add     w13, w13, #1
+            add     w13, w14, #1
             str     w13, [x0, #0x08]
             str     xzr, [x0, #0x10]
             mov     w0, wzr
             ; byrRegs -[x0]
-                      ;; size=24 bbWeight=0.50 PerfScore 4.50
+                       ;; size=16 bbWeight=0.50 PerfScore 1.50
 G_M54618_IG05:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M54618_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, gcvars, byref, isz
+G_M54618_IG06:        ; bbWeight=0.25, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, gcvars, byref, isz
             ; byrRegs +[x0]
-            ldr     x13, [x0]
+            ldr     x14, [x0]
+            ; gcrRegs +[x14]
+            ldr     x13, [x14, #0x10]
             ; gcrRegs +[x13]
-            ldr     x13, [x13, #0x10]
             ldr     w14, [x0, #0x08]
+            ; gcrRegs -[x14]
             add     w12, w14, #1
             str     w12, [x0, #0x08]
             ldr     w12, [x13, #0x08]
@@ -72,8 +71,9 @@ G_M54618_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; byrRegs +[x13]
             ldr     w14, [x13, #0x04]
             cmn     w14, #1
-            blt     G_M54618_IG03
-                       ;; size=56 bbWeight=2 PerfScore 43.00
+            bge     G_M54618_IG07
+            b       G_M54618_IG03
+                       ;; size=60 bbWeight=0.25 PerfScore 5.62
 G_M54618_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2001 {x0 x13}, byref
             add     x13, x13, #24
             add     x14, x0, #16
@@ -101,7 +101,7 @@ G_M54618_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 188, prolog size 8, PerfScore 146.75, instruction count 47, allocated bytes for code 188 (MethodHash=f4d82aa5) for method System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:MoveNext():ubyte:this (Tier1)
+; Total bytes of code 184, prolog size 8, PerfScore 32.88, instruction count 46, allocated bytes for code 184 (MethodHash=f4d82aa5) for method System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:MoveNext():ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -112,7 +112,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 47 (0x0002f) Actual length = 188 (0x0000bc)
+  Function Length   : 46 (0x0002e) Actual length = 184 (0x0000b8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+48 (+54.55%) : 24537.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:g_SumFrequencies|32(ushort[]):float (Tier1)
@@ -8,11 +8,11 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T03] (  3,  3   )     ref  ->   x0         class-hnd single-def <ushort[]>
-;  V01 loc0         [V01,T06] (  4,  6   )   float  ->   d0        
+;  V00 arg0         [V00,T04] (  3,  3   )     ref  ->   x0         class-hnd single-def <ushort[]>
+;  V01 loc0         [V01,T06] (  5,  6.50)   float  ->   d0        
 ;  V02 loc1         [V02,T05] (  3,  3   )     ref  ->   x0         class-hnd single-def <ushort[]>
-;  V03 loc2         [V03,T00] (  5, 17   )     int  ->   x1        
-;  V04 loc3         [V04,T01] (  3, 10   )  ushort  ->   x3        
+;  V03 loc2         [V03,T00] (  5, 17   )     int  ->   x2        
+;  V04 loc3         [V04,T01] (  6, 12.50)  ushort  ->  registers  
 ;* V05 loc4         [V05    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[float]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )  struct (16) zero-ref    "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[float]>
@@ -20,8 +20,8 @@
 ;* V09 tmp3         [V09    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V10 tmp4         [V10    ] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
 ;* V11 tmp5         [V11    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
-;  V12 cse0         [V12,T04] (  2,  5   )   byref  ->   x0         hoist "CSE - aggressive"
-;  V13 cse1         [V13,T02] (  3,  6   )     int  ->   x2         "CSE - aggressive"
+;  V12 cse0         [V12,T02] (  4,  7   )     int  ->   x1         "CSE - aggressive"
+;  V13 cse1         [V13,T03] (  3,  6   )   byref  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -32,20 +32,36 @@ G_M18410_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M18410_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             movi    v0.16b, #0
-            mov     w1, wzr
-            ldr     w2, [x0, #0x08]
-            cmp     w2, #0
-            ble     G_M18410_IG06
+            ldr     w1, [x0, #0x08]
+            cmp     w1, #0
+            ble     G_M18410_IG08
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
-                      ;; size=24 bbWeight=1 PerfScore 6.00
-G_M18410_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
-            ldrh    w3, [x0, w1, UXTW #2]
+            ldrh    w2, [x0]
+            cmp     w2, #128
+            bge     G_M18410_IG04
+                       ;; size=32 bbWeight=1 PerfScore 10.00
+G_M18410_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+            ubfiz   x2, x2, #2, #32
+            movz    x3, #0xD1FFAB1E
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     s0, [x2, x3]
+            movi    v16.16b, #0
+            fadd    s0, s0, s16
+                       ;; size=28 bbWeight=0.50 PerfScore 4.50
+G_M18410_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            mov     w2, #1
+            cmp     w1, #1
+            ble     G_M18410_IG08
+                       ;; size=12 bbWeight=1 PerfScore 2.00
+G_M18410_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            ldrh    w3, [x0, w2, UXTW #2]
             cmp     w3, #128
-            bge     G_M18410_IG05
+            bge     G_M18410_IG07
                         ;; size=12 bbWeight=4 PerfScore 18.00
-G_M18410_IG04:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+G_M18410_IG06:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
             ubfiz   x3, x3, #2, #32
             movz    x4, #0xD1FFAB1E
             movk    x4, #0xD1FFAB1E LSL #16
@@ -53,18 +69,18 @@ G_M18410_IG04:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             ldr     s16, [x3, x4]
             fadd    s0, s0, s16
                        ;; size=24 bbWeight=2 PerfScore 17.00
-G_M18410_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
-            add     w1, w1, #1
-            cmp     w2, w1
-            bgt     G_M18410_IG03
+G_M18410_IG07:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            add     w2, w2, #1
+            cmp     w1, w2
+            bgt     G_M18410_IG05
                       ;; size=12 bbWeight=4 PerfScore 8.00
-G_M18410_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M18410_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; byrRegs -[x0]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 88, prolog size 8, PerfScore 52.50, instruction count 22, allocated bytes for code 88 (MethodHash=6cbdb815) for method System.Text.RegularExpressions.RegexPrefixAnalyzer:<SortFixedDistanceSetsByQuality>g__SumFrequencies|3_2(ushort[]):float (Tier1)
+; Total bytes of code 136, prolog size 8, PerfScore 63.00, instruction count 34, allocated bytes for code 136 (MethodHash=6cbdb815) for method System.Text.RegularExpressions.RegexPrefixAnalyzer:<SortFixedDistanceSetsByQuality>g__SumFrequencies|3_2(ushort[]):float (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -75,7 +91,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 22 (0x00016) Actual length = 88 (0x000058)
+  Function Length   : 34 (0x00022) Actual length = 136 (0x000088)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+61.54%) : 39181.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+PackedFlags:SetIsUnmanagedCallersOnlyAttributePopulated():this (Tier1)
@@ -8,12 +8,12 @@
 ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  5, 15   )   byref  ->   x0         this single-def
+;  V00 this         [V00,T02] (  7, 16.50)   byref  ->   x0         this single-def
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V03 tmp2         [V03,T03] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V04 tmp3         [V04,T00] (  5, 32   )     int  ->   x1         "Inline stloc first use temp"
-;  V05 tmp4         [V05,T01] (  3, 20   )     int  ->   x2         "Inline stloc first use temp"
+;  V04 tmp3         [V04,T00] ( 10, 36   )     int  ->   x1         "Inline stloc first use temp"
+;  V05 tmp4         [V05,T01] (  6, 22.50)     int  ->   x2         "Inline stloc first use temp"
 ;
 ; Lcl frame size = 0
 
@@ -21,29 +21,39 @@ G_M48426_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M48426_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+G_M48426_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ; byrRegs +[x0]
             ldrsb   wzr, [x0]
-                        ;; size=4 bbWeight=1 PerfScore 3.00
-G_M48426_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ldr     w1, [x0]
             orr     w2, w1, #0xD1FFAB1E
             cmp     w2, w1
-            beq     G_M48426_IG05
-                       ;; size=16 bbWeight=8 PerfScore 40.00
-G_M48426_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            beq     G_M48426_IG06
+                       ;; size=20 bbWeight=1 PerfScore 8.00
+G_M48426_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             mov     w3, w1
             casal   w3, w2, [x0]
             cmp     w3, w1
-            bne     G_M48426_IG03
+            beq     G_M48426_IG06
+                       ;; size=16 bbWeight=0.50 PerfScore 2.50
+G_M48426_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            ldr     w1, [x0]
+            orr     w2, w1, #0xD1FFAB1E
+            cmp     w2, w1
+            beq     G_M48426_IG06
+                       ;; size=16 bbWeight=8 PerfScore 40.00
+G_M48426_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            mov     w3, w1
+            casal   w3, w2, [x0]
+            cmp     w3, w1
+            bne     G_M48426_IG04
                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M48426_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M48426_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; byrRegs -[x0]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 52, prolog size 8, PerfScore 66.50, instruction count 13, allocated bytes for code 52 (MethodHash=9c5542d5) for method Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+PackedFlags:SetIsUnmanagedCallersOnlyAttributePopulated():this (Tier1)
+; Total bytes of code 84, prolog size 8, PerfScore 74.00, instruction count 21, allocated bytes for code 84 (MethodHash=9c5542d5) for method Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+PackedFlags:SetIsUnmanagedCallersOnlyAttributePopulated():this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -54,7 +64,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 13 (0x0000d) Actual length = 52 (0x000034)
+  Function Length   : 21 (0x00015) Actual length = 84 (0x000054)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+61.54%) : 39194.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+PackedFlags:SetIsUseSiteDiagnosticPopulated():this (Tier1)
@@ -8,12 +8,12 @@
 ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  5, 15   )   byref  ->   x0         this single-def
+;  V00 this         [V00,T02] (  7, 16.50)   byref  ->   x0         this single-def
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V03 tmp2         [V03,T03] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V04 tmp3         [V04,T00] (  5, 32   )     int  ->   x1         "Inline stloc first use temp"
-;  V05 tmp4         [V05,T01] (  3, 20   )     int  ->   x2         "Inline stloc first use temp"
+;  V04 tmp3         [V04,T00] ( 10, 36   )     int  ->   x1         "Inline stloc first use temp"
+;  V05 tmp4         [V05,T01] (  6, 22.50)     int  ->   x2         "Inline stloc first use temp"
 ;
 ; Lcl frame size = 0
 
@@ -21,29 +21,39 @@ G_M11989_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M11989_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+G_M11989_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ; byrRegs +[x0]
             ldrsb   wzr, [x0]
-                        ;; size=4 bbWeight=1 PerfScore 3.00
-G_M11989_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ldr     w1, [x0]
             orr     w2, w1, #0xD1FFAB1E
             cmp     w2, w1
-            beq     G_M11989_IG05
-                       ;; size=16 bbWeight=8 PerfScore 40.00
-G_M11989_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            beq     G_M11989_IG06
+                       ;; size=20 bbWeight=1 PerfScore 8.00
+G_M11989_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             mov     w3, w1
             casal   w3, w2, [x0]
             cmp     w3, w1
-            bne     G_M11989_IG03
+            beq     G_M11989_IG06
+                       ;; size=16 bbWeight=0.50 PerfScore 2.50
+G_M11989_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            ldr     w1, [x0]
+            orr     w2, w1, #0xD1FFAB1E
+            cmp     w2, w1
+            beq     G_M11989_IG06
+                       ;; size=16 bbWeight=8 PerfScore 40.00
+G_M11989_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            mov     w3, w1
+            casal   w3, w2, [x0]
+            cmp     w3, w1
+            bne     G_M11989_IG04
                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M11989_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M11989_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; byrRegs -[x0]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 52, prolog size 8, PerfScore 66.50, instruction count 13, allocated bytes for code 52 (MethodHash=acc9d12a) for method Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+PackedFlags:SetIsUseSiteDiagnosticPopulated():this (Tier1)
+; Total bytes of code 84, prolog size 8, PerfScore 74.00, instruction count 21, allocated bytes for code 84 (MethodHash=acc9d12a) for method Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+PackedFlags:SetIsUseSiteDiagnosticPopulated():this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -54,7 +64,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 13 (0x0000d) Actual length = 52 (0x000034)
+  Function Length   : 21 (0x00015) Actual length = 84 (0x000054)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
coreclr_tests.run.windows.arm64.checked.mch
-36 (-17.65%) : 501417.dasm - Benchstone.BenchI.BubbleSort2:Bench():ubyte (FullOpts)
@@ -7,24 +7,22 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T06] (  5,  5   )     ref  ->   x0         class-hnd exact single-def <int[]>
-;  V01 loc1         [V01,T00] ( 12, 65.84)     int  ->  x19        
-;  V02 loc2         [V02,T01] (  8, 43   )     int  ->   x1        
-;* V03 loc3         [V03,T07] (  0,  0   )     int  ->  zero-ref    single-def
+;  V00 loc0         [V00,T03] (  5,  5   )     ref  ->   x0         class-hnd exact single-def <int[]>
+;  V01 loc1         [V01,T00] (  5, 16.84)     int  ->   x0        
+;  V02 loc2         [V02,T04] (  3,  3   )     int  ->   x1        
+;* V03 loc3         [V03,T05] (  0,  0   )     int  ->  zero-ref    single-def
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 cse0         [V05,T02] (  6, 32.92)   byref  ->  x20         hoist "CSE - aggressive"
-;  V06 cse1         [V06,T03] (  2, 16   )     int  ->   x2         "CSE - aggressive"
-;  V07 cse2         [V07,T04] (  2, 16   )     int  ->   x2         "CSE - aggressive"
-;  V08 cse3         [V08,T05] (  3, 11.88)     int  ->  x19         "CSE - aggressive"
+;  V05 cse0         [V05,T01] (  8, 13.92)   byref  ->  x19         "CSE - aggressive"
+;  V06 cse1         [V06,T02] (  3, 11.88)     int  ->   x0         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M42106_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x20]!
-            stp     x19, x20, [sp, #0x10]
+            str     x19, [sp, #0x18]
             mov     fp, sp
                        ;; size=12 bbWeight=1 PerfScore 2.50
-G_M42106_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42106_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -32,32 +30,16 @@ G_M42106_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_NEWARR_1_VC
             ; gcrRegs +[x0]
             ; gcr arg pop 0
+            add     x19, x0, #16
+            ; byrRegs +[x19]
+            mov     w1, #0xD1FFAB1E
+            str     w1, [x19, #0x04]
+            mov     w1, #0xD1FFAB1E
+            str     w1, [x19, #0x08]
+            mov     w1, #0xD1FFAB1E
+            str     w1, [x19, #0x0C]
             movz    w1, #0xD1FFAB1E
-            movk    w1, #1 LSL #16
-            mov     w19, #1
-            add     x20, x0, #16
-            ; byrRegs +[x20]
-                       ;; size=36 bbWeight=1 PerfScore 5.00
-G_M42106_IG03:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20}, byref, isz
-            and     w2, w1, #0xD1FFAB1E
-            str     w2, [x20, w19, UXTW #2]
-            add     w2, w19, #1
-            mov     w3, #0xD1FFAB1E
-            add     w3, w1, w3
-            and     w3, w3, #0xD1FFAB1E
-            str     w3, [x20, w2, UXTW #2]
-            add     w2, w19, #2
-            mov     w3, #0xD1FFAB1E
-            add     w3, w1, w3
-            and     w3, w3, #0xD1FFAB1E
-            str     w3, [x20, w2, UXTW #2]
-            mov     w2, #0xD1FFAB1E
-            add     w1, w1, w2
-            add     w19, w19, #3
-            cmp     w19, #3
-            ble     G_M42106_IG03
-                       ;; size=68 bbWeight=8 PerfScore 84.00
-G_M42106_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20}, byref
+            movk    w1, #2 LSL #16
             stp     w1, w1, [x0, #0x20]
             movz    x1, #0xD1FFAB1E      // code for Benchstone.BenchI.BubbleSort2:Inner(int[])
             movk    x1, #0xD1FFAB1E LSL #16
@@ -66,36 +48,39 @@ G_M42106_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20},
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            mov     w19, wzr
-                       ;; size=28 bbWeight=1 PerfScore 7.00
-G_M42106_IG05:        ; bbWeight=3.96, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
-            ldr     w0, [x20, w19, UXTW #2]
-            add     w19, w19, #1
-            ldr     w1, [x20, w19, UXTW #2]
+            ldp     w0, w1, [x19]
             cmp     w0, w1
-            bgt     G_M42106_IG08
-            cmp     w19, #4
-            blt     G_M42106_IG05
+            bgt     G_M42106_IG06
+            mov     w0, #1
+                       ;; size=96 bbWeight=1 PerfScore 20.50
+G_M42106_IG03:        ; bbWeight=3.96, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
+            ldr     w1, [x19, w0, UXTW #2]
+            add     w0, w0, #1
+            ldr     w2, [x19, w0, UXTW #2]
+            cmp     w1, w2
+            bgt     G_M42106_IG06
+            cmp     w0, #4
+            blt     G_M42106_IG03
                       ;; size=28 bbWeight=3.96 PerfScore 37.62
-G_M42106_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x20]
+G_M42106_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x19]
             mov     w0, #1
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M42106_IG07:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x19, x20, [sp, #0x10]
+G_M42106_IG05:        ; bbWeight=0.50, epilog, nogc, extend
+            ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
-                       ;; size=12 bbWeight=0.50 PerfScore 1.50
-G_M42106_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M42106_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M42106_IG09:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x19, x20, [sp, #0x10]
+G_M42106_IG07:        ; bbWeight=0.50, epilog, nogc, extend
+            ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
-                       ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 204, prolog size 12, PerfScore 139.87, instruction count 51, allocated bytes for code 204 (MethodHash=86305b85) for method Benchstone.BenchI.BubbleSort2:Bench():ubyte (FullOpts)
+; Total bytes of code 168, prolog size 12, PerfScore 65.37, instruction count 42, allocated bytes for code 168 (MethodHash=86305b85) for method Benchstone.BenchI.BubbleSort2:Bench():ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -106,7 +91,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 51 (0x00033) Actual length = 204 (0x0000cc)
+  Function Length   : 42 (0x0002a) Actual length = 168 (0x0000a8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -117,7 +102,7 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
     83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
     E4          end
     E4          end
  
-12 (-15.79%) : 541446.dasm - ILGEN_0xa2afe952:Main():int (FullOpts)
@@ -9,53 +9,46 @@
 ;
 ;# V00 OutArgs      [V00    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V01 tmp1         [V01    ] (  0,  0   )     int  ->  zero-ref   
-;  V02 tmp2         [V02,T01] (  4, 25   )     int  ->   x0        
-;  V03 tmp3         [V03,T00] (  2, 32   )     int  ->   x0         "dup spill"
+;* V02 tmp2         [V02,T01] (  0,  0   )     int  ->  zero-ref   
+;* V03 tmp3         [V03,T02] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;* V04 tmp4         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
-;  V05 PSPSym       [V05,T02] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
+;  V05 PSPSym       [V05,T00] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
 ;
 ; Lcl frame size = 16
 
-G_M9138_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
+G_M9138_IG01:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x20]!
             mov     fp, sp
             add     x0, sp, #32
             str     x0, [fp, #0x18]    // [V05 PSPSym]
-                       ;; size=16 bbWeight=1 PerfScore 3.00
-G_M9138_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #1
-                       ;; size=4 bbWeight=1 PerfScore 0.50
-G_M9138_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            sub     w0, w0, #1
-            cbnz    w0, G_M9138_IG03
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M9138_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=16 bbWeight=0 PerfScore 0.00
+G_M9138_IG02:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #1
             bl      CORINFO_HELP_OVERFLOW
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=12 bbWeight=0 PerfScore 0.00
-G_M9138_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M9138_IG03:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #100
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M9138_IG06:        ; bbWeight=0, epilog, nogc, extend
+G_M9138_IG04:        ; bbWeight=0, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=8 bbWeight=0 PerfScore 0.00
-G_M9138_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M9138_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x20]!
             add     x3, fp, #32
             str     x3, [sp, #0x18]
                        ;; size=12 bbWeight=0 PerfScore 0.00
-G_M9138_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            adr     x0, [G_M9138_IG05]
+G_M9138_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            adr     x0, [G_M9138_IG03]
                      ;; size=4 bbWeight=0 PerfScore 0.00
-G_M9138_IG09:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M9138_IG07:        ; bbWeight=0, funclet epilog, nogc, extend
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 76, prolog size 16, PerfScore 15.50, instruction count 19, allocated bytes for code 76 (MethodHash=5517dc4d) for method ILGEN_0xa2afe952:Main():int (FullOpts)
+; Total bytes of code 64, prolog size 16, PerfScore 0.00, instruction count 16, allocated bytes for code 64 (MethodHash=5517dc4d) for method ILGEN_0xa2afe952:Main():int (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -66,7 +59,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 13 (0x0000d) Actual length = 52 (0x000034)
+  Function Length   : 10 (0x0000a) Actual length = 40 (0x000028)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -97,4 +90,4 @@ Unwind Info:
 
 *************** EH table for ILGEN_0xa2afe952:Main():int
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M9138_IG02..G_M9138_IG05) handled by [G_M9138_IG07..END) (class: 1000003)
+EH#0: try [G_M9138_IG02..G_M9138_IG03) handled by [G_M9138_IG05..END) (class: 1000003)
  
-40 (-14.49%) : 223514.dasm - BringUpTest_LocallocCnstB1_PSP:LocallocCnstB1_PSP():int (Tier0-FullOpts)
@@ -7,39 +7,37 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T01] (  3, 10   )    long  ->  x19         single-def
-;  V01 loc1         [V01,T00] (  7, 42   )     int  ->  [fp+0x1C]  do-not-enreg[Z] EH-live ptr
+;  V00 loc0         [V00,T01] (  3,  3   )    long  ->   x0         single-def
+;  V01 loc1         [V01,T00] (  3,  3   )     int  ->  [fp+0x14]  do-not-enreg[Z] EH-live ptr
 ;* V02 loc2         [V02    ] (  0,  0   )     int  ->  zero-ref    ptr
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04    ] (  1,  1   )  struct ( 8) [fp+0x20]  do-not-enreg[XS] must-init addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
+;  V04 tmp1         [V04    ] (  1,  1   )  struct ( 8) [fp+0x18]  do-not-enreg[XS] must-init addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
 ;* V05 tmp2         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
-;  V06 GsCookie     [V06    ] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
-;  V07 PSPSym       [V07,T02] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
+;  V06 GsCookie     [V06    ] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
+;  V07 PSPSym       [V07,T02] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 32
 
 G_M42836_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            str     x19, [sp, #0x38]
+            stp     fp, lr, [sp, #-0x30]!
             mov     fp, sp
-            str     xzr, [fp, #0x20]    // [V04 tmp1]
-            add     x0, sp, #64
-            str     x0, [fp, #0x30]    // [V07 PSPSym]
+            str     xzr, [fp, #0x18]   // [V04 tmp1]
+            add     x0, sp, #48
+            str     x0, [fp, #0x28]    // [V07 PSPSym]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movk    x0, #0xD1FFAB1E LSL #48
-            str     x0, [fp, #0x28]   // [V06 GsCookie]
-                       ;; size=44 bbWeight=1 PerfScore 8.00
+            str     x0, [fp, #0x20]   // [V06 GsCookie]
+                       ;; size=40 bbWeight=1 PerfScore 7.00
 G_M42836_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x19, fp, #32   // [V04 tmp1]
-            strb    wzr, [x19]
-            str     wzr, [fp, #0x1C]   // [V01 loc1]
+            add     x0, fp, #24  // [V04 tmp1]
+            strb    wzr, [x0]
+            str     wzr, [fp, #0x14]   // [V01 loc1]
                        ;; size=12 bbWeight=1 PerfScore 2.50
-G_M42836_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ldr     w0, [fp, #0x1C]    // [V01 loc1]
-            ldrb    w0, [x19, w0, SXTW #2]
-            ldrb    w1, [fp, #0x1C]    // [V01 loc1]
+G_M42836_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            ldrb    w0, [x0]
+            mov     w1, wzr
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
@@ -47,53 +45,46 @@ G_M42836_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             blr     x2
             ; gcr arg pop 0
             cbz     w0, G_M42836_IG06
-            ldr     w0, [fp, #0x1C] // [V01 loc1]
-            add     w0, w0, #1
-            str     w0, [fp, #0x1C]    // [V01 loc1]
-            ldr     w0, [fp, #0x1C]    // [V01 loc1]
-            cmp     w0, #0
-            ble     G_M42836_IG03
-                       ;; size=60 bbWeight=8 PerfScore 164.00
+            mov     w0, #1
+            str     w0, [fp, #0x14]    // [V01 loc1]
+                       ;; size=40 bbWeight=1 PerfScore 11.50
 G_M42836_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             movn    w0, #0
             movz    xip0, #0xD1FFAB1E
             movk    xip0, #0xD1FFAB1E LSL #16
             movk    xip0, #0xD1FFAB1E LSL #32
             movk    xip0, #0xD1FFAB1E LSL #48
-            ldr     xip1, [fp, #0x28]   // [V06 GsCookie]
+            ldr     xip1, [fp, #0x20]    // [V06 GsCookie]
             cmp     xip0, xip1
             beq     G_M42836_IG05
             bl      CORINFO_HELP_FAIL_FAST
             ; gcr arg pop 0
                        ;; size=36 bbWeight=1 PerfScore 7.00
 G_M42836_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldr     x19, [sp, #0x38]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=12 bbWeight=1 PerfScore 4.00
+                      ;; size=8 bbWeight=1 PerfScore 2.00
 G_M42836_IG06:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldr     w0, [fp, #0x1C]    // [V01 loc1]
+            ldr     w0, [fp, #0x14]  // [V01 loc1]
             movz    xip0, #0xD1FFAB1E
             movk    xip0, #0xD1FFAB1E LSL #16
             movk    xip0, #0xD1FFAB1E LSL #32
             movk    xip0, #0xD1FFAB1E LSL #48
-            ldr     xip1, [fp, #0x28]   // [V06 GsCookie]
+            ldr     xip1, [fp, #0x20]    // [V06 GsCookie]
             cmp     xip0, xip1
             beq     G_M42836_IG07
             bl      CORINFO_HELP_FAIL_FAST
             ; gcr arg pop 0
                        ;; size=36 bbWeight=1 PerfScore 8.50
 G_M42836_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldr     x19, [sp, #0x38]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=12 bbWeight=1 PerfScore 4.00
+                      ;; size=8 bbWeight=1 PerfScore 2.00
 G_M42836_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x20]!
-            str     x19, [sp, #0x18]
-            add     x3, fp, #64
-            str     x3, [sp, #0x10]
-                       ;; size=16 bbWeight=0 PerfScore 0.00
+            add     x3, fp, #48
+            str     x3, [sp, #0x18]
+                       ;; size=12 bbWeight=0 PerfScore 0.00
 G_M42836_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -107,23 +98,22 @@ G_M42836_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             adr     x0, [G_M42836_IG06]
                        ;; size=36 bbWeight=0 PerfScore 0.00
 G_M42836_IG10:        ; bbWeight=0, funclet epilog, nogc, extend
-            ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
-                       ;; size=12 bbWeight=0 PerfScore 0.00
+                      ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 276, prolog size 44, PerfScore 198.00, instruction count 69, allocated bytes for code 276 (MethodHash=452858ab) for method BringUpTest_LocallocCnstB1_PSP:LocallocCnstB1_PSP():int (Tier0-FullOpts)
+; Total bytes of code 236, prolog size 40, PerfScore 40.50, instruction count 59, allocated bytes for code 236 (MethodHash=452858ab) for method BringUpTest_LocallocCnstB1_PSP:LocallocCnstB1_PSP():int (Tier0-FullOpts)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 2
+  Code Words        : 1
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 53 (0x00035) Actual length = 212 (0x0000d4)
+  Function Length   : 45 (0x0002d) Actual length = 180 (0x0000b4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -134,10 +124,7 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 07       save_reg X#0 Z#7 (0x07); str x19, [sp, #56]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
-    E4          end
-    E4          end
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
 
@@ -149,13 +136,14 @@ Unwind Info:
   E bit             : 1
   X bit             : 0
   Vers              : 0
-  Function Length   : 16 (0x00010) Actual length = 64 (0x000040)
+  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
   --- One epilog, unwind codes at 0
   ---- Unwind codes ----
     ---- Epilog start at index 0 ----
-    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
     83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
     E4          end
+    E4          end
+    E4          end
 
 *************** EH table for BringUpTest_LocallocCnstB1_PSP:LocallocCnstB1_PSP():int
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
  
+24 (+60.00%) : 385615.dasm - Internal.TypeSystem.ThreadSafeFlags:AddFlags(int):this (Tier1)
@@ -8,9 +8,9 @@
 ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 69392
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  4,  4.00)   byref  ->   x0         this single-def
-;  V01 arg1         [V01,T01] (  3,  3.00)     int  ->   x1         single-def
-;  V02 loc0         [V02,T02] (  4,  4.00)     int  ->   x2        
+;  V00 this         [V00,T01] (  6,  6.00)   byref  ->   x0         this single-def
+;  V01 arg1         [V01,T02] (  4,  4.00)     int  ->   x1         single-def
+;  V02 loc0         [V02,T00] (  8,  8.00)     int  ->   x2        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -26,15 +26,23 @@ G_M63594_IG02:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, b
             mov     w4, w2
             casal   w4, w3, [x0]
             cmp     w4, w2
-            bne     G_M63594_IG02
+            beq     G_M63594_IG04
                        ;; size=24 bbWeight=1.00 PerfScore 8.50
-G_M63594_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M63594_IG03:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            ldapr   w2, [x0]
+            orr     w3, w2, w1
+            mov     w4, w2
+            casal   w4, w3, [x0]
+            cmp     w4, w2
+            bne     G_M63594_IG03
+                       ;; size=24 bbWeight=1.00 PerfScore 8.50
+G_M63594_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; byrRegs -[x0]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 40, prolog size 8, PerfScore 12.00, instruction count 10, allocated bytes for code 40 (MethodHash=749f0795) for method Internal.TypeSystem.ThreadSafeFlags:AddFlags(int):this (Tier1)
+; Total bytes of code 64, prolog size 8, PerfScore 20.50, instruction count 16, allocated bytes for code 64 (MethodHash=749f0795) for method Internal.TypeSystem.ThreadSafeFlags:AddFlags(int):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -45,7 +53,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 10 (0x0000a) Actual length = 40 (0x000028)
+  Function Length   : 16 (0x00010) Actual length = 64 (0x000040)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+36 (+64.29%) : 590505.dasm - OVFTest:Test_short(short):short (FullOpts)
@@ -7,9 +7,9 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  4, 18   )   short  ->   x0        
+;  V00 arg0         [V00,T01] (  6, 20   )   short  ->   x0        
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V02 tmp1         [V02,T00] (  2, 32   )     int  ->   x0         "arg temp"
+;  V02 tmp1         [V02,T00] (  4, 36   )     int  ->   x0         "arg temp"
 ;
 ; Lcl frame size = 0
 
@@ -17,7 +17,7 @@ G_M33961_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M33961_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M33961_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             sxth    w0, w0
             scvtf   d0, w0
             fmov    d16, #2.0000
@@ -25,18 +25,30 @@ G_M33961_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             bl      CORINFO_HELP_DBL2INT_OVF
             ; gcr arg pop 0
             cmp     w0, #8, LSL #12
-            bge     G_M33961_IG03
+            bge     G_M33961_IG04
             cmn     w0, #8, LSL #12
-            blt     G_M33961_IG03
-            b       G_M33961_IG02
+            blt     G_M33961_IG04
+                       ;; size=36 bbWeight=1 PerfScore 12.00
+G_M33961_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            sxth    w0, w0
+            scvtf   d0, w0
+            fmov    d16, #2.0000
+            fmul    d0, d0, d16
+            bl      CORINFO_HELP_DBL2INT_OVF
+            ; gcr arg pop 0
+            cmp     w0, #8, LSL #12
+            bge     G_M33961_IG04
+            cmn     w0, #8, LSL #12
+            blt     G_M33961_IG04
+            b       G_M33961_IG03
                       ;; size=40 bbWeight=8 PerfScore 104.00
-G_M33961_IG03:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M33961_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_OVERFLOW
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 56, prolog size 8, PerfScore 105.50, instruction count 14, allocated bytes for code 56 (MethodHash=082c7b56) for method OVFTest:Test_short(short):short (FullOpts)
+; Total bytes of code 92, prolog size 8, PerfScore 117.50, instruction count 23, allocated bytes for code 92 (MethodHash=082c7b56) for method OVFTest:Test_short(short):short (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -47,7 +59,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
+  Function Length   : 23 (0x00017) Actual length = 92 (0x00005c)
   ---- Epilog scopes ----
   No epilogs
   ---- Unwind codes ----
  
+36 (+64.29%) : 590504.dasm - OVFTest:Test_sbyte(byte):byte (FullOpts)
@@ -7,9 +7,9 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  4, 18   )    byte  ->   x0        
+;  V00 arg0         [V00,T01] (  6, 20   )    byte  ->   x0        
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V02 tmp1         [V02,T00] (  2, 32   )     int  ->   x0         "arg temp"
+;  V02 tmp1         [V02,T00] (  4, 36   )     int  ->   x0         "arg temp"
 ;
 ; Lcl frame size = 0
 
@@ -17,7 +17,7 @@ G_M25186_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M25186_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M25186_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             sxtb    w0, w0
             scvtf   d0, w0
             fmov    d16, #2.0000
@@ -25,18 +25,30 @@ G_M25186_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             bl      CORINFO_HELP_DBL2INT_OVF
             ; gcr arg pop 0
             cmp     w0, #127
-            bgt     G_M25186_IG03
+            bgt     G_M25186_IG04
             cmn     w0, #128
-            blt     G_M25186_IG03
-            b       G_M25186_IG02
+            blt     G_M25186_IG04
+                       ;; size=36 bbWeight=1 PerfScore 12.00
+G_M25186_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            sxtb    w0, w0
+            scvtf   d0, w0
+            fmov    d16, #2.0000
+            fmul    d0, d0, d16
+            bl      CORINFO_HELP_DBL2INT_OVF
+            ; gcr arg pop 0
+            cmp     w0, #127
+            bgt     G_M25186_IG04
+            cmn     w0, #128
+            blt     G_M25186_IG04
+            b       G_M25186_IG03
                       ;; size=40 bbWeight=8 PerfScore 104.00
-G_M25186_IG03:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25186_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_OVERFLOW
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 56, prolog size 8, PerfScore 105.50, instruction count 14, allocated bytes for code 56 (MethodHash=93bb9d9d) for method OVFTest:Test_sbyte(byte):byte (FullOpts)
+; Total bytes of code 92, prolog size 8, PerfScore 117.50, instruction count 23, allocated bytes for code 92 (MethodHash=93bb9d9d) for method OVFTest:Test_sbyte(byte):byte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -47,7 +59,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
+  Function Length   : 23 (0x00017) Actual length = 92 (0x00005c)
   ---- Epilog scopes ----
   No epilogs
   ---- Unwind codes ----
  
  
libraries.crossgen2.windows.arm64.checked.mch
-20 (-12.20%) : 10464.dasm - System.Reflection.Emit.RuntimeTypeBuilder:IsSubclassOf(System.Type):ubyte:this (FullOpts)
@@ -9,22 +9,19 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T02] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Reflection.Emit.RuntimeTypeBuilder>
-;  V01 arg1         [V01,T01] (  4,  5   )     ref  ->  x19         class-hnd single-def <System.Type>
-;  V02 loc0         [V02,T00] (  6, 16   )     ref  ->  x20         class-hnd <System.Type>
+;  V01 arg1         [V01,T01] (  4,  3.50)     ref  ->  x19         class-hnd single-def <System.Type>
+;  V02 loc0         [V02,T00] (  6,  5.50)     ref  ->  x20         class-hnd <System.Type>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 cse0         [V04,T03] (  2,  5   )    long  ->  x22         hoist "CSE - aggressive"
-;  V05 cse1         [V05,T04] (  3,  4   )    long  ->  x21         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M24270_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
+            stp     fp, lr, [sp, #-0x20]!
             stp     x19, x20, [sp, #0x10]
-            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=20 bbWeight=1 PerfScore 4.00
+                      ;; size=16 bbWeight=1 PerfScore 3.00
 G_M24270_IG02:        ; bbWeight=1, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             mov     x20, x0
@@ -32,68 +29,62 @@ G_M24270_IG02:        ; bbWeight=1, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {},
             mov     x1, x19
             ; gcrRegs +[x1]
             mov     x0, x20
-            adrp    x21, [HIGH RELOC #0xD1FFAB1E]      // function address
-            add     x21, x21, [LOW RELOC #0xD1FFAB1E]
-            mov     x11, x21
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
-            cbz     w0, G_M24270_IG05
-                       ;; size=36 bbWeight=1 PerfScore 8.00
+            cbz     w0, G_M24270_IG06
+                       ;; size=32 bbWeight=1 PerfScore 7.50
 G_M24270_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19-x20]
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M24270_IG04:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                      ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M24270_IG05:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
+                     ;; size=12 bbWeight=0.50 PerfScore 1.50
+G_M24270_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x19-x20]
-            adrp    x22, [HIGH RELOC #0xD1FFAB1E]
-            add     x22, x22, [LOW RELOC #0xD1FFAB1E]
-            b       G_M24270_IG07
-                       ;; size=12 bbWeight=1 PerfScore 2.00
-G_M24270_IG06:        ; bbWeight=2, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             mov     x1, x19
             ; gcrRegs +[x1]
             mov     x0, x20
             ; gcrRegs +[x0]
-            mov     x11, x21
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
-            cbnz    w0, G_M24270_IG09
-                       ;; size=24 bbWeight=2 PerfScore 13.00
-G_M24270_IG07:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
+            cbnz    w0, G_M24270_IG08
+                       ;; size=28 bbWeight=0.50 PerfScore 3.50
+G_M24270_IG06:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             mov     x0, x20
             ; gcrRegs +[x0]
-            mov     x11, x22
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             ; gcrRegs -[x20]
             mov     x20, x0
             ; gcrRegs +[x20]
-            cbnz    x20, G_M24270_IG06
-                       ;; size=28 bbWeight=4 PerfScore 38.00
-G_M24270_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            cbnz    x20, G_M24270_IG05
+                       ;; size=32 bbWeight=1 PerfScore 10.00
+G_M24270_IG07:        ; bbWeight=0.12, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0 x19-x20]
             b       G_M24270_IG03
-                        ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M24270_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M24270_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #1
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M24270_IG10:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
+G_M24270_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                      ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 164, prolog size 16, PerfScore 70.00, instruction count 41, allocated bytes for code 164 (MethodHash=dc34a131) for method System.Reflection.Emit.RuntimeTypeBuilder:IsSubclassOf(System.Type):ubyte:this (FullOpts)
+; Total bytes of code 144, prolog size 12, PerfScore 27.62, instruction count 36, allocated bytes for code 144 (MethodHash=dc34a131) for method System.Reflection.Emit.RuntimeTypeBuilder:IsSubclassOf(System.Type):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -104,7 +95,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 41 (0x00029) Actual length = 164 (0x0000a4)
+  Function Length   : 36 (0x00024) Actual length = 144 (0x000090)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -115,9 +106,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
     C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
     E4          end
     E4          end
     E4          end
  
-20 (-12.20%) : 229440.dasm - System.Reflection.Emit.TypeBuilderImpl:IsSubclassOf(System.Type):ubyte:this (FullOpts)
@@ -9,22 +9,19 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T02] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Reflection.Emit.TypeBuilderImpl>
-;  V01 arg1         [V01,T01] (  4,  5   )     ref  ->  x19         class-hnd single-def <System.Type>
-;  V02 loc0         [V02,T00] (  6, 16   )     ref  ->  x20         class-hnd <System.Type>
+;  V01 arg1         [V01,T01] (  4,  3.50)     ref  ->  x19         class-hnd single-def <System.Type>
+;  V02 loc0         [V02,T00] (  6,  5.50)     ref  ->  x20         class-hnd <System.Type>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 cse0         [V04,T03] (  2,  5   )    long  ->  x22         hoist "CSE - aggressive"
-;  V05 cse1         [V05,T04] (  3,  4   )    long  ->  x21         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M45834_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
+            stp     fp, lr, [sp, #-0x20]!
             stp     x19, x20, [sp, #0x10]
-            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=20 bbWeight=1 PerfScore 4.00
+                      ;; size=16 bbWeight=1 PerfScore 3.00
 G_M45834_IG02:        ; bbWeight=1, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             mov     x20, x0
@@ -32,68 +29,62 @@ G_M45834_IG02:        ; bbWeight=1, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {},
             mov     x1, x19
             ; gcrRegs +[x1]
             mov     x0, x20
-            adrp    x21, [HIGH RELOC #0xD1FFAB1E]      // function address
-            add     x21, x21, [LOW RELOC #0xD1FFAB1E]
-            mov     x11, x21
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
-            cbz     w0, G_M45834_IG05
-                       ;; size=36 bbWeight=1 PerfScore 8.00
+            cbz     w0, G_M45834_IG06
+                       ;; size=32 bbWeight=1 PerfScore 7.50
 G_M45834_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19-x20]
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M45834_IG04:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                      ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M45834_IG05:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
+                     ;; size=12 bbWeight=0.50 PerfScore 1.50
+G_M45834_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x19-x20]
-            adrp    x22, [HIGH RELOC #0xD1FFAB1E]
-            add     x22, x22, [LOW RELOC #0xD1FFAB1E]
-            b       G_M45834_IG07
-                       ;; size=12 bbWeight=1 PerfScore 2.00
-G_M45834_IG06:        ; bbWeight=2, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             mov     x1, x19
             ; gcrRegs +[x1]
             mov     x0, x20
             ; gcrRegs +[x0]
-            mov     x11, x21
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
-            cbnz    w0, G_M45834_IG09
-                       ;; size=24 bbWeight=2 PerfScore 13.00
-G_M45834_IG07:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
+            cbnz    w0, G_M45834_IG08
+                       ;; size=28 bbWeight=0.50 PerfScore 3.50
+G_M45834_IG06:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             mov     x0, x20
             ; gcrRegs +[x0]
-            mov     x11, x22
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             ; gcrRegs -[x20]
             mov     x20, x0
             ; gcrRegs +[x20]
-            cbnz    x20, G_M45834_IG06
-                       ;; size=28 bbWeight=4 PerfScore 38.00
-G_M45834_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            cbnz    x20, G_M45834_IG05
+                       ;; size=32 bbWeight=1 PerfScore 10.00
+G_M45834_IG07:        ; bbWeight=0.12, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0 x19-x20]
             b       G_M45834_IG03
-                        ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M45834_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M45834_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #1
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M45834_IG10:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
+G_M45834_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                      ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 164, prolog size 16, PerfScore 70.00, instruction count 41, allocated bytes for code 164 (MethodHash=83464cf5) for method System.Reflection.Emit.TypeBuilderImpl:IsSubclassOf(System.Type):ubyte:this (FullOpts)
+; Total bytes of code 144, prolog size 12, PerfScore 27.62, instruction count 36, allocated bytes for code 144 (MethodHash=83464cf5) for method System.Reflection.Emit.TypeBuilderImpl:IsSubclassOf(System.Type):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -104,7 +95,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 41 (0x00029) Actual length = 164 (0x0000a4)
+  Function Length   : 36 (0x00024) Actual length = 144 (0x000090)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -115,9 +106,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
     C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
     E4          end
     E4          end
     E4          end
  
-20 (-10.42%) : 120342.dasm - System.IO.Packaging.XmlCompatibilityReader:SkipToKnownAttribute():ubyte:this (FullOpts)
@@ -9,45 +9,35 @@
 ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  7, 17   )     ref  ->  x19         this class-hnd single-def <System.IO.Packaging.XmlCompatibilityReader>
-;  V01 loc0         [V01,T04] (  4,  6   )   ubyte  ->  x20        
+;  V00 this         [V00,T00] (  7,  4.75)     ref  ->  x19         this class-hnd single-def <System.IO.Packaging.XmlCompatibilityReader>
+;  V01 loc0         [V01,T03] (  4,  2.50)   ubyte  ->  x20        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T01] (  2, 16   )     ref  ->   x1         "argument with side effect"
-;  V04 tmp2         [V04,T02] (  2, 16   )     ref  ->   x1         "argument with side effect"
-;  V05 cse0         [V05,T03] (  3,  7   )    long  ->  x21         hoist "CSE - aggressive"
-;  V06 cse1         [V06,T05] (  2,  5   )    long  ->  x22         hoist "CSE - aggressive"
-;  V07 cse2         [V07,T06] (  2,  5   )    long  ->  x23         hoist "CSE - aggressive"
-;  V08 cse3         [V08,T07] (  2,  5   )    long  ->  x24         hoist "CSE - aggressive"
+;  V03 tmp1         [V03,T01] (  2,  2   )     ref  ->   x1         "argument with side effect"
+;  V04 tmp2         [V04,T02] (  2,  2   )     ref  ->   x1         "argument with side effect"
+;  V05 cse0         [V05,T04] (  3,  1.75)    long  ->  x21         hoist "CSE - moderate"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M42349_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x10]
-            stp     x21, x22, [sp, #0x20]
-            stp     x23, x24, [sp, #0x30]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
-                     ;; size=24 bbWeight=1 PerfScore 5.00
+                      ;; size=20 bbWeight=1 PerfScore 4.00
 G_M42349_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             mov     w20, #1
             ldrsb   wzr, [x19]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ldr     x21, [x0]
-            adrp    x22, [HIGH RELOC #0xD1FFAB1E]
-            add     x22, x22, [LOW RELOC #0xD1FFAB1E]
-            adrp    x23, [HIGH RELOC #0xD1FFAB1E]
-            add     x23, x23, [LOW RELOC #0xD1FFAB1E]
-            adrp    x24, [HIGH RELOC #0xD1FFAB1E]
-            add     x24, x24, [LOW RELOC #0xD1FFAB1E]
             b       G_M42349_IG04
-                       ;; size=48 bbWeight=1 PerfScore 11.50
-G_M42349_IG03:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+                     ;; size=24 bbWeight=1 PerfScore 8.50
+G_M42349_IG03:        ; bbWeight=0.25, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x19, x21]
             ; gcrRegs +[x0]
-            adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     wzr, [x0]
             ldr     x1, [x11]
@@ -55,43 +45,45 @@ G_M42349_IG03:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs -[x0]
             sxtw    w20, w0
             cbz     w20, G_M42349_IG05
-                       ;; size=32 bbWeight=2 PerfScore 25.00
-G_M42349_IG04:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+                     ;; size=32 bbWeight=0.25 PerfScore 3.12
+G_M42349_IG04:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x19, x21]
             ; gcrRegs +[x0]
-            mov     x11, x22
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             mov     x1, x0
             ; gcrRegs +[x1]
             mov     x0, x19
-            mov     x11, x23
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x1]
             mov     x1, x0
             ; gcrRegs +[x1]
             mov     x0, x19
-            mov     x11, x24
+            adrp    x11, [HIGH RELOC #0xD1FFAB1E]
+            add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
             cbnz    w0, G_M42349_IG03
-                        ;; size=64 bbWeight=4 PerfScore 90.00
+                     ;; size=76 bbWeight=0.50 PerfScore 12.00
 G_M42349_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
             mov     w0, w20
                        ;; size=4 bbWeight=1 PerfScore 0.50
 G_M42349_IG06:        ; bbWeight=1, epilog, nogc, extend
-            ldp     x23, x24, [sp, #0x30]
-            ldp     x21, x22, [sp, #0x20]
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x40
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=20 bbWeight=1 PerfScore 5.00
+                      ;; size=16 bbWeight=1 PerfScore 5.00
 
-; Total bytes of code 192, prolog size 20, PerfScore 137.00, instruction count 48, allocated bytes for code 192 (MethodHash=3b875a92) for method System.IO.Packaging.XmlCompatibilityReader:SkipToKnownAttribute():ubyte:this (FullOpts)
+; Total bytes of code 172, prolog size 16, PerfScore 33.12, instruction count 43, allocated bytes for code 172 (MethodHash=3b875a92) for method System.IO.Packaging.XmlCompatibilityReader:SkipToKnownAttribute():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -102,7 +94,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 48 (0x00030) Actual length = 192 (0x0000c0)
+  Function Length   : 43 (0x0002b) Actual length = 172 (0x0000ac)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -110,10 +102,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
-    E6          save_next
-    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
+    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
 
  
+44 (+64.71%) : 218247.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
@@ -8,14 +8,16 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  7, 23   )     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]>
-;  V01 arg1         [V01,T00] (  6, 26   )     int  ->   x1        
+;  V00 this         [V00,T02] ( 11, 25.50)     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]>
+;  V01 arg1         [V01,T00] ( 10, 29   )     int  ->   x1        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T06] (  2, 16   )     int  ->   x1         "arg temp"
-;  V04 tmp2         [V04,T04] (  2, 16   )     ref  ->   x0         single-def "arg temp"
-;  V05 tmp3         [V05,T05] (  2, 16   )     ref  ->   x0         single-def "arg temp"
+;  V03 tmp1         [V03,T06] (  4, 18   )     int  ->   x1         "arg temp"
+;  V04 tmp2         [V04,T04] (  4, 18   )     ref  ->   x0         "arg temp"
+;  V05 tmp3         [V05,T05] (  4, 18   )     ref  ->   x0         "arg temp"
 ;  V06 cse0         [V06,T01] (  4, 28   )     int  ->   x3         "CSE - aggressive"
-;  V07 cse1         [V07,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  4,  3.50)     int  ->   x3         "CSE - aggressive"
+;  V08 cse2         [V08,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V09 cse3         [V09,T08] (  3,  2.50)     ref  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -23,42 +25,65 @@ G_M17963_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M17963_IG02:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M17963_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x2, [x0, #0x10]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x20]
             cmp     w1, w3
             bge     G_M17963_IG04
-                        ;; size=16 bbWeight=8 PerfScore 60.00
-G_M17963_IG03:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+                        ;; size=16 bbWeight=1 PerfScore 7.50
+G_M17963_IG03:        ; bbWeight=0.50, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M17963_IG02
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M17963_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M17963_IG06
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
+G_M17963_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x2]
             cmp     w1, w3
-            ble     G_M17963_IG06
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M17963_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ble     G_M17963_IG10
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M17963_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             sub     w1, w1, w3
             sub     w1, w1, #1
             ldr     x0, [x0, #0x18]
-            b       G_M17963_IG02
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M17963_IG06:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     x2, [x0, #0x10]
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x20]
+            cmp     w1, w3
+            bge     G_M17963_IG08
+                       ;; size=16 bbWeight=8 PerfScore 60.00
+G_M17963_IG07:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x2
+            ; gcrRegs +[x0]
+            b       G_M17963_IG06
+                       ;; size=8 bbWeight=4 PerfScore 6.00
+G_M17963_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            cmp     w1, w3
+            ble     G_M17963_IG10
+                       ;; size=8 bbWeight=8 PerfScore 12.00
+G_M17963_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            sub     w1, w1, w3
+            sub     w1, w1, #1
+            ldr     x0, [x0, #0x18]
+            b       G_M17963_IG06
                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M17963_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M17963_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x0, x0, #8
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M17963_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M17963_IG11:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 102.00, instruction count 17, allocated bytes for code 68 (MethodHash=8272b9d4) for method System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
+; Total bytes of code 112, prolog size 8, PerfScore 113.75, instruction count 28, allocated bytes for code 112 (MethodHash=8272b9d4) for method System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -69,7 +94,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+66.67%) : 176665.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
@@ -10,7 +10,7 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  3,  3   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
-;  V01 loc0         [V01,T00] (  7, 22   )     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
+;  V01 loc0         [V01,T00] ( 12, 24.50)     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -24,26 +24,44 @@ G_M12955_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ldr     x0, [x0, #0x18]
             b       G_M12955_IG04
                        ;; size=8 bbWeight=1 PerfScore 4.00
-G_M12955_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M12955_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ldr     x0, [x0, #0x18]
-                       ;; size=4 bbWeight=2 PerfScore 6.00
-G_M12955_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            cbz     x0, G_M12955_IG06
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M12955_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M12955_IG08
+                       ;; size=8 bbWeight=0.25 PerfScore 1.00
+G_M12955_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M12955_IG10
+                       ;; size=4 bbWeight=1 PerfScore 1.00
+G_M12955_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldrh    w1, [x0, #0x34]
-            cbnz    w1, G_M12955_IG06
+            cbnz    w1, G_M12955_IG10
             ldr     x1, [x0, #0x10]
             ; gcrRegs +[x1]
             cbz     x1, G_M12955_IG03
+                        ;; size=16 bbWeight=0.50 PerfScore 4.00
+G_M12955_IG06:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x1]
+            b       G_M12955_IG10
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M12955_IG07:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ldr     x0, [x0, #0x18]
+                       ;; size=4 bbWeight=2 PerfScore 6.00
+G_M12955_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M12955_IG10
+                       ;; size=4 bbWeight=8 PerfScore 8.00
+G_M12955_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldrh    w1, [x0, #0x34]
+            cbnz    w1, G_M12955_IG10
+            ldr     x1, [x0, #0x10]
+            ; gcrRegs +[x1]
+            cbz     x1, G_M12955_IG07
                       ;; size=16 bbWeight=4 PerfScore 32.00
-G_M12955_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M12955_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x1]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 48, prolog size 8, PerfScore 53.50, instruction count 12, allocated bytes for code 48 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
+; Total bytes of code 80, prolog size 8, PerfScore 59.62, instruction count 20, allocated bytes for code 80 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -54,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 12 (0x0000c) Actual length = 48 (0x000030)
+  Function Length   : 20 (0x00014) Actual length = 80 (0x000050)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+66.67%) : 155284.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
@@ -10,7 +10,7 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  3,  3   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
-;  V01 loc0         [V01,T00] (  7, 22   )     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
+;  V01 loc0         [V01,T00] ( 12, 24.50)     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -24,26 +24,44 @@ G_M12955_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ldr     x0, [x0, #0x18]
             b       G_M12955_IG04
                        ;; size=8 bbWeight=1 PerfScore 4.00
-G_M12955_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M12955_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ldr     x0, [x0, #0x18]
-                       ;; size=4 bbWeight=2 PerfScore 6.00
-G_M12955_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            cbz     x0, G_M12955_IG06
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M12955_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M12955_IG08
+                       ;; size=8 bbWeight=0.25 PerfScore 1.00
+G_M12955_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M12955_IG10
+                       ;; size=4 bbWeight=1 PerfScore 1.00
+G_M12955_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldrh    w1, [x0, #0x34]
-            cbnz    w1, G_M12955_IG06
+            cbnz    w1, G_M12955_IG10
             ldr     x1, [x0, #0x10]
             ; gcrRegs +[x1]
             cbz     x1, G_M12955_IG03
+                        ;; size=16 bbWeight=0.50 PerfScore 4.00
+G_M12955_IG06:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x1]
+            b       G_M12955_IG10
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M12955_IG07:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ldr     x0, [x0, #0x18]
+                       ;; size=4 bbWeight=2 PerfScore 6.00
+G_M12955_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M12955_IG10
+                       ;; size=4 bbWeight=8 PerfScore 8.00
+G_M12955_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldrh    w1, [x0, #0x34]
+            cbnz    w1, G_M12955_IG10
+            ldr     x1, [x0, #0x10]
+            ; gcrRegs +[x1]
+            cbz     x1, G_M12955_IG07
                       ;; size=16 bbWeight=4 PerfScore 32.00
-G_M12955_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M12955_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x1]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 48, prolog size 8, PerfScore 53.50, instruction count 12, allocated bytes for code 48 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
+; Total bytes of code 80, prolog size 8, PerfScore 59.62, instruction count 20, allocated bytes for code 80 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -54,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 12 (0x0000c) Actual length = 48 (0x000030)
+  Function Length   : 20 (0x00014) Actual length = 80 (0x000050)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
libraries.pmi.windows.arm64.checked.mch
-44 (-15.71%) : 123306.dasm - Roslyn.Utilities.OneOrMany1[System.__Canon]:Any[System.Numerics.Vector1[float]](System.Func3[System.__Canon,System.Numerics.Vector1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
@@ -8,59 +8,64 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T07] (  3,  3   )   byref  ->   x0         this single-def
-;  V01 TypeCtx      [V01,T05] (  5,  4.36)    long  ->   x1         single-def
-;  V02 arg1         [V02,T02] (  4,  6   )     ref  ->  x19         class-hnd single-def <System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte]>
-;  V03 arg2         [V03,T11] (  3,  4   )  simd16  ->   d8         HFA(simd16)  single-def <System.Numerics.Vector`1[float]>
-;  V04 loc0         [V04    ] (  4, 12   )  struct (24) [fp+0x30]  do-not-enreg[XS] addr-exposed ld-addr-op <Roslyn.Utilities.OneOrMany`1+Enumerator[System.__Canon]>
+;  V00 this         [V00,T12] (  3,  3   )   byref  ->   x0         this single-def
+;  V01 TypeCtx      [V01,T04] (  5,  4.36)    long  ->   x1         single-def
+;  V02 arg1         [V02,T09] (  4,  2.50)     ref  ->  x19         class-hnd single-def <System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte]>
+;  V03 arg2         [V03,T17] (  3,  2.25)  simd16  ->  [fp+0x40]  HFA(simd16)  single-def <System.Numerics.Vector`1[float]>
+;  V04 loc0         [V04    ] (  4,  3.25)  struct (24) [fp+0x28]  do-not-enreg[XS] addr-exposed ld-addr-op <Roslyn.Utilities.OneOrMany`1+Enumerator[System.__Canon]>
 ;* V05 loc1         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.__Canon>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V08 tmp2         [V08    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V09 tmp3         [V09    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V10 tmp4         [V10,T10] (  2,  4   )  struct (24) [fp+0x18]  do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <Roslyn.Utilities.OneOrMany`1+Enumerator[System.__Canon]>
+;  V10 tmp4         [V10,T15] (  2,  4   )  struct (24) [fp+0x10]  do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <Roslyn.Utilities.OneOrMany`1+Enumerator[System.__Canon]>
 ;* V11 tmp5         [V11    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V12 tmp6         [V12    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <Roslyn.Utilities.OneOrMany`1[System.__Canon]>
 ;* V13 tmp7         [V13    ] (  0,  0   )     ref  ->  zero-ref    "field V12._one (fldOffset=0x0)" P-INDEP
 ;* V14 tmp8         [V14    ] (  0,  0   )     ref  ->  zero-ref    "field V12._many (fldOffset=0x8)" P-INDEP
 ;* V15 tmp9         [V15    ] (  0,  0   )     int  ->  zero-ref    "V10.[000..004)"
-;  V16 tmp10        [V16,T00] (  2, 32   )    long  ->   x1         "argument with side effect"
-;  V17 tmp11        [V17,T04] (  2,  8   )    long  ->   x1         "argument with side effect"
-;  V18 tmp12        [V18,T03] (  2,  8   )     ref  ->   x1         "argument with side effect"
-;  V19 cse0         [V19,T01] (  3, 11   )    long  ->  x20         hoist "CSE - aggressive"
-;  V20 rat0         [V20,T09] (  3,  4   )    long  ->  x20         "runtime lookup"
-;  V21 rat1         [V21,T06] (  3,  5.60)    long  ->   x0         "spilling expr"
-;  V22 rat2         [V22,T08] (  3,  4.48)    long  ->  x20         "fgMakeTemp is creating a new local variable"
+;  V16 tmp10        [V16,T01] (  2,  4   )    long  ->   x1         "argument with side effect"
+;  V17 tmp11        [V17,T07] (  2,  1   )    long  ->   x1         "argument with side effect"
+;  V18 tmp12        [V18,T06] (  2,  1   )     ref  ->   x1         "argument with side effect"
+;  V19 cse0         [V19,T16] (  3,  2.25)    long  ->  x20         hoist "CSE - aggressive"
+;  V20 rat0         [V20,T14] (  3,  4   )    long  ->  x20         "runtime lookup"
+;  V21 rat1         [V21,T11] (  3,  5.60)    long  ->   x0         "spilling expr"
+;  V22 rat2         [V22,T13] (  3,  4.48)    long  ->  x20         "fgMakeTemp is creating a new local variable"
+;* V23 rat3         [V23,T10] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V24 rat4         [V24,T05] (  0,  0   )    long  ->  zero-ref    "spilling expr"
+;* V25 rat5         [V25,T08] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;* V26 rat6         [V26,T03] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V27 rat7         [V27,T00] (  0,  0   )    long  ->  zero-ref    "spilling expr"
+;* V28 rat8         [V28,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 80
 
 G_M19422_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x70]!
-            stp     d8, d9, [sp, #0x50]
             stp     x19, x20, [sp, #0x60]
             mov     fp, sp
-            stp     xzr, xzr, [fp, #0x18]  // [V10 tmp4], [V10 tmp4+0x08]
-            str     xzr, [fp, #0x28]   // [V10 tmp4+0x10]
-            str     x1, [fp, #0x48]
-            mov     v8.16b, v0.16b
+            stp     xzr, xzr, [fp, #0x10]  // [V10 tmp4], [V10 tmp4+0x08]
+            str     xzr, [fp, #0x20]   // [V10 tmp4+0x10]
+            str     x1, [fp, #0x58]
+            str     q0, [fp, #0x40]    // [V03 arg2]
             mov     x19, x2
             ; gcrRegs +[x19]
-                     ;; size=36 bbWeight=1 PerfScore 7.50
+                      ;; size=32 bbWeight=1 PerfScore 7.00
 G_M19422_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref, nogc
             ; byrRegs +[x0]
             ldp     x2, x3, [x0]
-            stp     x2, x3, [fp, #0x20]
+            stp     x2, x3, [fp, #0x18]
                      ;; size=8 bbWeight=1 PerfScore 5.00
 G_M19422_IG03:        ; bbWeight=1, nogc, extend
-            ldp     x0, x2, [fp, #0x18]
+            ldp     x0, x2, [fp, #0x10]
             ; byrRegs -[x0]
-            stp     x0, x2, [fp, #0x30]
-            ldr     x0, [fp, #0x28]
-            str     x0, [fp, #0x40]
+            stp     x0, x2, [fp, #0x28]
+            ldr     x0, [fp, #0x20]
+            str     x0, [fp, #0x38]
                         ;; size=16 bbWeight=1 PerfScore 7.00
 G_M19422_IG04:        ; bbWeight=1, isz, extend
             movn    w0, #0
-            str     w0, [fp, #0x30]    // [V04 loc0]
+            str     w0, [fp, #0x28]  // [V04 loc0]
             ldr     x0, [x1, #0x38]
             ldr     x2, [x0, #0x08]
             cmp     x2, #24
@@ -78,69 +83,59 @@ G_M19422_IG07:        ; bbWeight=0.36, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
-            mov     v9.d[0], v8.d[1]
             bl      CORINFO_HELP_RUNTIMEHANDLE_METHOD
             mov     x20, x0
-            mov     v8.d[1], v9.d[0]
-                       ;; size=32 bbWeight=0.36 PerfScore 1.98
+                       ;; size=24 bbWeight=0.36 PerfScore 1.26
 G_M19422_IG08:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             b       G_M19422_IG10
                        ;; size=4 bbWeight=1 PerfScore 1.00
-G_M19422_IG09:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M19422_IG09:        ; bbWeight=0.25, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     x1, x20
-            add     x0, fp, #48  // [V04 loc0]
+            add     x0, fp, #40  // [V04 loc0]
             movz    x2, #0xD1FFAB1E      // code for Roslyn.Utilities.OneOrMany`1+Enumerator[System.__Canon]:get_Current():System.__Canon:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
-            mov     v9.d[0], v8.d[1]
             blr     x2
             ; gcrRegs +[x0]
             mov     x1, x0
             ; gcrRegs +[x1]
-            mov     v8.d[1], v9.d[0]
-            mov     v0.16b, v8.16b
+            ldr     q0, [fp, #0x40]    // [V03 arg2]
             ldr     x0, [x19, #0x08]
             ldr     x2, [x19, #0x18]
-            mov     v9.d[0], v8.d[1]
             blr     x2
             ; gcrRegs -[x0-x1]
-            mov     v8.d[1], v9.d[0]
             cbnz    w0, G_M19422_IG13
-                        ;; size=68 bbWeight=2 PerfScore 39.00
-G_M19422_IG10:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+                     ;; size=52 bbWeight=0.25 PerfScore 4.25
+G_M19422_IG10:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     x1, x20
-            add     x0, fp, #48   // [V04 loc0]
+            add     x0, fp, #40  // [V04 loc0]
             movz    x2, #0xD1FFAB1E      // code for Roslyn.Utilities.OneOrMany`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
-            mov     v9.d[0], v8.d[1]
             blr     x2
-            mov     v8.d[1], v9.d[0]
             cbnz    w0, G_M19422_IG09
-                      ;; size=40 bbWeight=8 PerfScore 76.00
-G_M19422_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=32 bbWeight=1 PerfScore 7.50
+G_M19422_IG11:        ; bbWeight=0.06, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
             mov     w0, wzr
-                      ;; size=4 bbWeight=0.50 PerfScore 0.25
+                        ;; size=4 bbWeight=0.06 PerfScore 0.03
 G_M19422_IG12:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x60]
-            ldp     d8, d9, [sp, #0x50]
             ldp     fp, lr, [sp], #0x70
             ret     lr
-                       ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M19422_IG13:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M19422_IG14:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x60]
-            ldp     d8, d9, [sp, #0x50]
             ldp     fp, lr, [sp], #0x70
             ret     lr
-                       ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 280, prolog size 28, PerfScore 154.82, instruction count 70, allocated bytes for code 280 (MethodHash=fb73b421) for method Roslyn.Utilities.OneOrMany`1[System.__Canon]:Any[System.Numerics.Vector`1[float]](System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
+; Total bytes of code 236, prolog size 24, PerfScore 49.13, instruction count 59, allocated bytes for code 236 (MethodHash=fb73b421) for method Roslyn.Utilities.OneOrMany`1[System.__Canon]:Any[System.Numerics.Vector`1[float]](System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -151,7 +146,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 70 (0x00046) Actual length = 280 (0x000118)
+  Function Length   : 59 (0x0003b) Actual length = 236 (0x0000ec)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -163,8 +158,9 @@ Unwind Info:
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
     C8 0C       save_regp X#0 Z#12 (0x0C); stp x19, x20, [sp, #96]
-    D8 0A       save_fregp X#0 Z#10 (0x0A); stp d8, d9, [sp, #80]
     8D          save_fplr_x #13 (0x0D); stp fp, lr, [sp, #-112]!
     E4          end
     E4          end
+    E4          end
+    E4          end
 
  
-16 (-8.51%) : 290168.dasm - System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
@@ -12,9 +12,9 @@
 ;  V01 tmp1         [V01,T01] (  4,  8   )     ref  ->   x6         class-hnd exact single-def "dup spill" <System.Type[]>
 ;* V02 tmp2         [V02,T03] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
 ;* V03 tmp3         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
-;  V04 tmp4         [V04,T00] (  5, 21.52)     int  ->   x0         "Inline stloc first use temp"
+;* V04 tmp4         [V04,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V05 tmp5         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
-;  V06 cse0         [V06,T02] (  2,  3.13)   byref  ->   x1         hoist "CSE - aggressive"
+;  V06 cse0         [V06,T02] (  2,  2   )   byref  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -22,7 +22,7 @@ G_M2572_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M2572_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M2572_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -37,23 +37,15 @@ G_M2572_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             str     x0, [x6, #0x10]
-            mov     w0, wzr
-            add     x1, x6, #16
-            ; byrRegs +[x1]
-                       ;; size=48 bbWeight=1 PerfScore 7.00
-G_M2572_IG03:        ; bbWeight=2.13, gcrefRegs=0040 {x6}, byrefRegs=0002 {x1}, byref, isz
-            ldr     x2, [x1, w0, UXTW #3]
-            ; gcrRegs +[x2]
-            cbz     x2, G_M2572_IG07
-                       ;; size=8 bbWeight=2.13 PerfScore 8.52
-G_M2572_IG04:        ; bbWeight=6.13, gcrefRegs=0040 {x6}, byrefRegs=0002 {x1}, byref, isz
-            ; gcrRegs -[x2]
-            add     w0, w0, #1
-            cmp     w0, #1
-            blt     G_M2572_IG03
-                       ;; size=12 bbWeight=6.13 PerfScore 12.26
-G_M2572_IG05:        ; bbWeight=1, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x1]
+            add     x0, x6, #16
+            ; byrRegs +[x0]
+            ldr     x0, [x0]
+            ; gcrRegs +[x0]
+            ; byrRegs -[x0]
+            cbz     x0, G_M2572_IG05
+                       ;; size=52 bbWeight=1 PerfScore 10.50
+G_M2572_IG03:        ; bbWeight=2.88, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -69,13 +61,13 @@ G_M2572_IG05:        ; bbWeight=1, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
             movk    x8, #0xD1FFAB1E LSL #16
             movk    x8, #0xD1FFAB1E LSL #32
             ldr     x8, [x8]
-                     ;; size=60 bbWeight=1 PerfScore 10.00
-G_M2572_IG06:        ; bbWeight=1, epilog, nogc, extend
+                      ;; size=60 bbWeight=2.88 PerfScore 28.77
+G_M2572_IG04:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             br      x8
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M2572_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M2572_IG05:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x6]
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
@@ -94,7 +86,7 @@ G_M2572_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
             brk_windows #0
                        ;; size=44 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 188, prolog size 8, PerfScore 41.28, instruction count 47, allocated bytes for code 188 (MethodHash=7398f5f3) for method System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
+; Total bytes of code 172, prolog size 8, PerfScore 42.77, instruction count 43, allocated bytes for code 172 (MethodHash=7398f5f3) for method System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -105,7 +97,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 47 (0x0002f) Actual length = 188 (0x0000bc)
+  Function Length   : 43 (0x0002b) Actual length = 172 (0x0000ac)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-20 (-8.33%) : 123339.dasm - Roslyn.Utilities.OneOrMany1[ubyte]:Any[System.Numerics.Vector1[float]](System.Func3[ubyte,System.Numerics.Vector1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
@@ -8,40 +8,38 @@
 ; 0 inlinees with PGO data; 10 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T04] (  4,  4   )   byref  ->   x0         this single-def
-;  V01 arg1         [V01,T03] (  4,  6   )     ref  ->  x19         class-hnd single-def <System.Func`3[ubyte,System.Numerics.Vector`1[float],ubyte]>
-;  V02 arg2         [V02,T09] (  3,  4   )  simd16  ->   d8         HFA(simd16)  single-def <System.Numerics.Vector`1[float]>
+;  V00 this         [V00,T05] (  4,  4   )   byref  ->   x0         this single-def
+;  V01 arg1         [V01,T03] (  4,  2.50)     ref  ->  x19         class-hnd single-def <System.Func`3[ubyte,System.Numerics.Vector`1[float],ubyte]>
+;  V02 arg2         [V02,T09] (  3,  2.25)  simd16  ->  [fp+0x10]  HFA(simd16)  single-def <System.Numerics.Vector`1[float]>
 ;* V03 loc0         [V03    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op <Roslyn.Utilities.OneOrMany`1+Enumerator[ubyte]>
 ;* V04 loc1         [V04    ] (  0,  0   )   ubyte  ->  zero-ref   
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <Roslyn.Utilities.OneOrMany`1+Enumerator[ubyte]>
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <Roslyn.Utilities.OneOrMany`1[ubyte]>
-;  V08 tmp3         [V08,T05] (  3,  6   )   ubyte  ->   x1         "Inline return value spill temp"
+;  V08 tmp3         [V08,T04] (  3,  0.75)   ubyte  ->   x1         "Inline return value spill temp"
 ;* V09 tmp4         [V09    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V10 tmp5         [V10,T10] (  3,  0   )     ref  ->  x19         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V11 tmp6         [V11    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;  V12 tmp7         [V12,T02] (  3, 12   )     int  ->   x1         "Inline return value spill temp"
+;  V12 tmp7         [V12,T02] (  3,  1.50)     int  ->   x1         "Inline return value spill temp"
 ;* V13 tmp8         [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "field V07._one (fldOffset=0x0)" P-INDEP
 ;* V14 tmp9         [V14    ] (  0,  0   )     ref  ->  zero-ref    "field V07._many (fldOffset=0x8)" P-INDEP
-;  V15 tmp10        [V15,T00] (  7, 31   )     int  ->  x22         "V03.[000..004)"
-;  V16 tmp11        [V16,T06] (  2,  3   )   ubyte  ->  x20         single-def "V03.[008..009)"
-;  V17 tmp12        [V17,T01] (  6, 17   )     ref  ->  x21         single-def "V03.[016..024)"
+;  V15 tmp10        [V15,T00] (  7,  4.75)     int  ->  x22         "V03.[000..004)"
+;  V16 tmp11        [V16,T06] (  2,  1.25)   ubyte  ->  x20         single-def "V03.[008..009)"
+;  V17 tmp12        [V17,T01] (  6,  3   )     ref  ->  x21         single-def "V03.[016..024)"
 ;* V18 tmp13        [V18    ] (  0,  0   )     int  ->  zero-ref    "V06.[000..004)"
 ;  V19 tmp14        [V19,T08] (  2,  2   )   ubyte  ->  x20         single-def "V06.[008..009)"
 ;  V20 tmp15        [V20,T07] (  2,  2   )     ref  ->  x21         single-def "V06.[016..024)"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M17406_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x40]!
-            stp     d8, d9, [sp, #0x10]
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             mov     fp, sp
-            mov     v8.16b, v0.16b
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=28 bbWeight=1 PerfScore 5.50
+                      ;; size=20 bbWeight=1 PerfScore 4.00
 G_M17406_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref
             ; byrRegs +[x0]
             ldrb    w20, [x0]
@@ -50,14 +48,14 @@ G_M17406_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0},
             movn    w22, #0
             b       G_M17406_IG06
                        ;; size=16 bbWeight=1 PerfScore 7.50
-G_M17406_IG03:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+G_M17406_IG03:        ; bbWeight=0.25, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0]
             cbnz    x21, G_M17406_IG04
             cbnz    w22, G_M17406_IG15
             sxtw    w1, w20
             b       G_M17406_IG05
-                        ;; size=16 bbWeight=2 PerfScore 7.00
-G_M17406_IG04:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+                        ;; size=16 bbWeight=0.25 PerfScore 0.88
+G_M17406_IG04:        ; bbWeight=0.25, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
             ldr     w1, [x21, #0x08]
             cmp     w22, w1
             bhs     G_M17406_IG14
@@ -65,54 +63,51 @@ G_M17406_IG04:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {
             ; byrRegs +[x1]
             ldrb    w1, [x1, w22, UXTW #2]
             ; byrRegs -[x1]
-                      ;; size=20 bbWeight=2 PerfScore 16.00
-G_M17406_IG05:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
-            mov     v0.16b, v8.16b
+                       ;; size=20 bbWeight=0.25 PerfScore 2.00
+G_M17406_IG05:        ; bbWeight=0.25, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+            str     q0, [fp, #0x10]    // [V02 arg2]
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
             ldr     x2, [x19, #0x18]
-            mov     v9.d[0], v8.d[1]
             blr     x2
             ; gcrRegs -[x0]
-            mov     v8.d[1], v9.d[0]
+            ldr     q0, [fp, #0x10] // [V02 arg2]
             cbnz    w0, G_M17406_IG12
-                        ;; size=28 bbWeight=2 PerfScore 21.00
-G_M17406_IG06:        ; bbWeight=8, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+                        ;; size=24 bbWeight=0.25 PerfScore 2.75
+G_M17406_IG06:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
             add     w22, w22, #1
             cbz     x21, G_M17406_IG08
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M17406_IG07:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
+                     ;; size=8 bbWeight=1 PerfScore 1.50
+G_M17406_IG07:        ; bbWeight=0.25, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
             ldr     w1, [x21, #0x08]
             b       G_M17406_IG09
-                        ;; size=8 bbWeight=2 PerfScore 8.00
-G_M17406_IG08:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
+                     ;; size=8 bbWeight=0.25 PerfScore 1.00
+G_M17406_IG08:        ; bbWeight=0.25, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
             mov     w1, #1
-                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M17406_IG09:        ; bbWeight=8, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+                        ;; size=4 bbWeight=0.25 PerfScore 0.12
+G_M17406_IG09:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
             cmp     w22, w1
             blt     G_M17406_IG03
-                        ;; size=8 bbWeight=8 PerfScore 12.00
-G_M17406_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M17406_IG10:        ; bbWeight=0.06, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x21]
             mov     w0, wzr
-                      ;; size=4 bbWeight=0.50 PerfScore 0.25
+                        ;; size=4 bbWeight=0.06 PerfScore 0.03
 G_M17406_IG11:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
-            ldp     d8, d9, [sp, #0x10]
             ldp     fp, lr, [sp], #0x40
             ret     lr
-                       ;; size=20 bbWeight=0.50 PerfScore 2.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M17406_IG12:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M17406_IG13:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
-            ldp     d8, d9, [sp, #0x10]
             ldp     fp, lr, [sp], #0x40
             ret     lr
-                       ;; size=20 bbWeight=0.50 PerfScore 2.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M17406_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             bl      CORINFO_HELP_RNGCHKFAIL
                        ;; size=4 bbWeight=0 PerfScore 0.00
@@ -137,7 +132,7 @@ G_M17406_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_windows #0
                        ;; size=52 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 240, prolog size 20, PerfScore 95.50, instruction count 60, allocated bytes for code 240 (MethodHash=c9d7bc01) for method Roslyn.Utilities.OneOrMany`1[ubyte]:Any[System.Numerics.Vector`1[float]](System.Func`3[ubyte,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
+; Total bytes of code 220, prolog size 16, PerfScore 25.53, instruction count 55, allocated bytes for code 220 (MethodHash=c9d7bc01) for method Roslyn.Utilities.OneOrMany`1[ubyte]:Any[System.Numerics.Vector`1[float]](System.Func`3[ubyte,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -148,7 +143,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 60 (0x0003c) Actual length = 240 (0x0000f0)
+  Function Length   : 55 (0x00037) Actual length = 220 (0x0000dc)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -161,7 +156,8 @@ Unwind Info:
     ---- Epilog start at index 1 ----
     E6          save_next
     C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    D8 02       save_fregp X#0 Z#2 (0x02); stp d8, d9, [sp, #16]
     87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
     E4          end
+    E4          end
+    E4          end
 
  
+48 (+70.59%) : 181556.dasm - System.Data.SqlTypes.SqlDecimal:MpNormalize(System.ReadOnlySpan`1[uint],byref) (FullOpts)
@@ -8,13 +8,15 @@
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[uint]>
-;  V01 arg1         [V01,T02] (  4, 12   )   byref  ->   x2         single-def
+;  V01 arg1         [V01,T02] (  6, 13.25)   byref  ->   x2         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T00] (  3, 24   )     int  ->   x4         "Span.get_Item index"
-;  V04 tmp2         [V04,T04] (  2,  5   )   byref  ->   x0         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
-;  V05 tmp3         [V05,T05] (  2,  5   )     int  ->   x1         single-def "field V00._length (fldOffset=0x8)" P-INDEP
+;  V03 tmp1         [V03,T00] (  6, 27   )     int  ->   x4         "Span.get_Item index"
+;  V04 tmp2         [V04,T04] (  3,  5.50)   byref  ->   x0         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
+;  V05 tmp3         [V05,T05] (  3,  5.50)     int  ->   x1         single-def "field V00._length (fldOffset=0x8)" P-INDEP
 ;  V06 cse0         [V06,T03] (  3, 10   )     int  ->   x3         "CSE - aggressive"
-;  V07 cse1         [V07,T01] (  3, 20   )     int  ->   x3         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  3,  1.25)     int  ->   x3         "CSE - moderate"
+;  V08 cse2         [V08,T01] (  3, 20   )     int  ->   x3         "CSE - aggressive"
+;  V09 cse3         [V09,T06] (  3,  2.50)     int  ->   x3         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -26,34 +28,56 @@ G_M33876_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, b
             ; byrRegs +[x0 x2]
             b       G_M33876_IG04
                        ;; size=4 bbWeight=1 PerfScore 1.00
-G_M33876_IG03:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref
+G_M33876_IG03:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref
             str     w3, [x2]
-                        ;; size=4 bbWeight=2 PerfScore 2.00
-G_M33876_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
+            b       G_M33876_IG08
+                       ;; size=8 bbWeight=0.25 PerfScore 0.50
+G_M33876_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
             ldr     w3, [x2]
             cmp     w3, #1
-            ble     G_M33876_IG06
-                       ;; size=12 bbWeight=8 PerfScore 36.00
-G_M33876_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
+            ble     G_M33876_IG10
+                       ;; size=12 bbWeight=1 PerfScore 4.50
+G_M33876_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
             sub     w3, w3, #1
             sxtw    w4, w3
             cmp     w4, w1
-            bhs     G_M33876_IG07
+            bhs     G_M33876_IG11
             ldr     w4, [x0, w4, UXTW #2]
             cbz     w4, G_M33876_IG03
+                        ;; size=24 bbWeight=0.50 PerfScore 3.25
+G_M33876_IG06:        ; bbWeight=0.12, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x0 x2]
+            b       G_M33876_IG10
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M33876_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref
+            ; byrRegs +[x0 x2]
+            str     w3, [x2]
+                       ;; size=4 bbWeight=2 PerfScore 2.00
+G_M33876_IG08:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
+            ldr     w3, [x2]
+            cmp     w3, #1
+            ble     G_M33876_IG10
+                       ;; size=12 bbWeight=8 PerfScore 36.00
+G_M33876_IG09:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
+            sub     w3, w3, #1
+            sxtw    w4, w3
+            cmp     w4, w1
+            bhs     G_M33876_IG11
+            ldr     w4, [x0, w4, UXTW #2]
+            cbz     w4, G_M33876_IG07
                       ;; size=24 bbWeight=4 PerfScore 26.00
-G_M33876_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M33876_IG10:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; byrRegs -[x0 x2]
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M33876_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M33876_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 68.50, instruction count 17, allocated bytes for code 68 (MethodHash=39ed7bab) for method System.Data.SqlTypes.SqlDecimal:MpNormalize(System.ReadOnlySpan`1[uint],byref) (FullOpts)
+; Total bytes of code 116, prolog size 8, PerfScore 76.88, instruction count 29, allocated bytes for code 116 (MethodHash=39ed7bab) for method System.Data.SqlTypes.SqlDecimal:MpNormalize(System.ReadOnlySpan`1[uint],byref) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -64,7 +88,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+40 (+71.43%) : 9623.dasm - System.Runtime.InteropServices.ComEventsSink:Find(System.Runtime.InteropServices.ComEventsSink,byref):System.Runtime.InteropServices.ComEventsSink (FullOpts)
@@ -8,16 +8,18 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T02] (  3,  3   )     ref  ->   x0         class-hnd single-def <System.Runtime.InteropServices.ComEventsSink>
-;  V01 arg1         [V01,T01] (  3,  6   )   byref  ->   x1         single-def
-;  V02 loc0         [V02,T00] (  6, 18   )     ref  ->   x0         class-hnd <System.Runtime.InteropServices.ComEventsSink>
+;  V00 arg0         [V00,T01] (  3,  3   )     ref  ->   x0         class-hnd single-def <System.Runtime.InteropServices.ComEventsSink>
+;  V01 arg1         [V01,T02] (  3,  2.50)   byref  ->   x1         single-def
+;  V02 loc0         [V02,T00] ( 10, 20   )     ref  ->   x0         class-hnd <System.Runtime.InteropServices.ComEventsSink>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SF] ld-addr-op "Inlining Arg" <System.Guid>
 ;* V05 tmp2         [V05    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SF] ld-addr-op "Inlining Arg" <System.Guid>
 ;* V06 tmp3         [V06    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V07 tmp4         [V07    ] (  0,  0   )  simd16  ->  zero-ref    "V04.[000..016)"
 ;* V08 tmp5         [V08    ] (  0,  0   )  simd16  ->  zero-ref    "V05.[000..016)"
-;  V09 rat0         [V09,T03] (  3, 24   )  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
+;  V09 cse0         [V09,T04] (  3,  5   )  simd16  ->  d17         "CSE - aggressive"
+;  V10 rat0         [V10,T05] (  3,  3   )  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
+;  V11 rat1         [V11,T03] (  3, 24   )  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 0
 
@@ -30,28 +32,48 @@ G_M31099_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0002 {x1}, by
             ; byrRegs +[x1]
             b       G_M31099_IG04
                        ;; size=4 bbWeight=1 PerfScore 1.00
-G_M31099_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0002 {x1}, byref
+G_M31099_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x1]
             ldr     x0, [x0, #0x18]
-                       ;; size=4 bbWeight=2 PerfScore 6.00
-G_M31099_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0002 {x1}, byref, isz
-            cbz     x0, G_M31099_IG06
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M31099_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0002 {x1}, byref, isz
+            b       G_M31099_IG08
+                       ;; size=8 bbWeight=0.25 PerfScore 1.00
+G_M31099_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0002 {x1}, byref, isz
+            ; byrRegs +[x1]
+            cbz     x0, G_M31099_IG10
+                       ;; size=4 bbWeight=1 PerfScore 1.00
+G_M31099_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0002 {x1}, byref, isz
             ldr     q16, [x0, #0x24]
             ldr     q17, [x1]
             cmeq    v16.16b, v16.16b, v17.16b
             uminp   v16.4s, v16.4s, v16.4s
-            umov    x2, v16.d[0]
-            cmn     x2, #1
-            bne     G_M31099_IG03
-                       ;; size=28 bbWeight=4 PerfScore 42.00
-G_M31099_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+            umov    x1, v16.d[0]
             ; byrRegs -[x1]
+            cmn     x1, #1
+            bne     G_M31099_IG03
+                       ;; size=28 bbWeight=0.50 PerfScore 5.25
+G_M31099_IG06:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            b       G_M31099_IG10
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M31099_IG07:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ldr     x0, [x0, #0x18]
+                       ;; size=4 bbWeight=2 PerfScore 6.00
+G_M31099_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M31099_IG10
+                       ;; size=4 bbWeight=8 PerfScore 8.00
+G_M31099_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     q16, [x0, #0x24]
+            cmeq    v16.16b, v16.16b, v17.16b
+            uminp   v16.4s, v16.4s, v16.4s
+            umov    x1, v16.d[0]
+            cmn     x1, #1
+            bne     G_M31099_IG07
+                       ;; size=24 bbWeight=4 PerfScore 30.00
+G_M31099_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 56, prolog size 8, PerfScore 60.50, instruction count 14, allocated bytes for code 56 (MethodHash=eaf58684) for method System.Runtime.InteropServices.ComEventsSink:Find(System.Runtime.InteropServices.ComEventsSink,byref):System.Runtime.InteropServices.ComEventsSink (FullOpts)
+; Total bytes of code 96, prolog size 8, PerfScore 55.88, instruction count 24, allocated bytes for code 96 (MethodHash=eaf58684) for method System.Runtime.InteropServices.ComEventsSink:Find(System.Runtime.InteropServices.ComEventsSink,byref):System.Runtime.InteropServices.ComEventsSink (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -62,7 +84,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
+  Function Length   : 24 (0x00018) Actual length = 96 (0x000060)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+40 (+71.43%) : 120607.dasm - System.Runtime.InteropServices.ComEventsSink:Find(System.Runtime.InteropServices.ComEventsSink,byref):System.Runtime.InteropServices.ComEventsSink (FullOpts)
@@ -8,16 +8,18 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T02] (  3,  3   )     ref  ->   x0         class-hnd single-def <System.Runtime.InteropServices.ComEventsSink>
-;  V01 arg1         [V01,T01] (  3,  6   )   byref  ->   x1         single-def
-;  V02 loc0         [V02,T00] (  6, 18   )     ref  ->   x0         class-hnd <System.Runtime.InteropServices.ComEventsSink>
+;  V00 arg0         [V00,T01] (  3,  3   )     ref  ->   x0         class-hnd single-def <System.Runtime.InteropServices.ComEventsSink>
+;  V01 arg1         [V01,T02] (  3,  2.50)   byref  ->   x1         single-def
+;  V02 loc0         [V02,T00] ( 10, 20   )     ref  ->   x0         class-hnd <System.Runtime.InteropServices.ComEventsSink>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SF] ld-addr-op "Inlining Arg" <System.Guid>
 ;* V05 tmp2         [V05    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SF] ld-addr-op "Inlining Arg" <System.Guid>
 ;* V06 tmp3         [V06    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V07 tmp4         [V07    ] (  0,  0   )  simd16  ->  zero-ref    "V04.[000..016)"
 ;* V08 tmp5         [V08    ] (  0,  0   )  simd16  ->  zero-ref    "V05.[000..016)"
-;  V09 rat0         [V09,T03] (  3, 24   )  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
+;  V09 cse0         [V09,T04] (  3,  5   )  simd16  ->  d17         "CSE - aggressive"
+;  V10 rat0         [V10,T05] (  3,  3   )  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
+;  V11 rat1         [V11,T03] (  3, 24   )  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 0
 
@@ -30,28 +32,48 @@ G_M31099_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0002 {x1}, by
             ; byrRegs +[x1]
             b       G_M31099_IG04
                        ;; size=4 bbWeight=1 PerfScore 1.00
-G_M31099_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0002 {x1}, byref
+G_M31099_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x1]
             ldr     x0, [x0, #0x18]
-                       ;; size=4 bbWeight=2 PerfScore 6.00
-G_M31099_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0002 {x1}, byref, isz
-            cbz     x0, G_M31099_IG06
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M31099_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0002 {x1}, byref, isz
+            b       G_M31099_IG08
+                       ;; size=8 bbWeight=0.25 PerfScore 1.00
+G_M31099_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0002 {x1}, byref, isz
+            ; byrRegs +[x1]
+            cbz     x0, G_M31099_IG10
+                       ;; size=4 bbWeight=1 PerfScore 1.00
+G_M31099_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0002 {x1}, byref, isz
             ldr     q16, [x0, #0x24]
             ldr     q17, [x1]
             cmeq    v16.16b, v16.16b, v17.16b
             uminp   v16.4s, v16.4s, v16.4s
-            umov    x2, v16.d[0]
-            cmn     x2, #1
-            bne     G_M31099_IG03
-                       ;; size=28 bbWeight=4 PerfScore 42.00
-G_M31099_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+            umov    x1, v16.d[0]
             ; byrRegs -[x1]
+            cmn     x1, #1
+            bne     G_M31099_IG03
+                       ;; size=28 bbWeight=0.50 PerfScore 5.25
+G_M31099_IG06:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            b       G_M31099_IG10
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M31099_IG07:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ldr     x0, [x0, #0x18]
+                       ;; size=4 bbWeight=2 PerfScore 6.00
+G_M31099_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M31099_IG10
+                       ;; size=4 bbWeight=8 PerfScore 8.00
+G_M31099_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     q16, [x0, #0x24]
+            cmeq    v16.16b, v16.16b, v17.16b
+            uminp   v16.4s, v16.4s, v16.4s
+            umov    x1, v16.d[0]
+            cmn     x1, #1
+            bne     G_M31099_IG07
+                       ;; size=24 bbWeight=4 PerfScore 30.00
+G_M31099_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 56, prolog size 8, PerfScore 60.50, instruction count 14, allocated bytes for code 56 (MethodHash=eaf58684) for method System.Runtime.InteropServices.ComEventsSink:Find(System.Runtime.InteropServices.ComEventsSink,byref):System.Runtime.InteropServices.ComEventsSink (FullOpts)
+; Total bytes of code 96, prolog size 8, PerfScore 55.88, instruction count 24, allocated bytes for code 96 (MethodHash=eaf58684) for method System.Runtime.InteropServices.ComEventsSink:Find(System.Runtime.InteropServices.ComEventsSink,byref):System.Runtime.InteropServices.ComEventsSink (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -62,7 +84,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
+  Function Length   : 24 (0x00018) Actual length = 96 (0x000060)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
libraries_tests.run.windows.arm64.Release.mch
-36 (-15.00%) : 356489.dasm - System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]:NextRandom():byte:this (Tier1)
@@ -7,11 +7,11 @@
 ; 2 inlinees with PGO data; 6 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]>
+;  V00 this         [V00,T01] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]>
 ;  V01 loc0         [V01    ] (  2,  2   )    byte  ->  [fp+0x1C]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[byte]>
-;  V04 tmp2         [V04,T02] (  5,  5   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Random>
+;  V04 tmp2         [V04,T00] (  5,  5   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Random>
 ;* V05 tmp3         [V05    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Random>
 ;* V07 tmp5         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[byte]>
@@ -19,34 +19,33 @@
 ;* V09 tmp7         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[byte]>
 ;* V10 tmp8         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V11 tmp9         [V11    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V12 tmp10        [V12,T05] (  5,  3   )     ref  ->   x0         single-def "guarded devirt arg temp"
+;  V12 tmp10        [V12,T02] (  5,  3   )     ref  ->   x0         single-def "guarded devirt arg temp"
 ;* V13 tmp11        [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <System.Random+Net5CompatSeedImpl>
-;  V14 tmp12        [V14,T00] (  5, 16.50)     int  ->  x21         "Inline stloc first use temp"
+;* V14 tmp12        [V14,T07] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V15 tmp13        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V16 tmp14        [V16,T01] (  2,  9   )   byref  ->  x19         single-def "Inlining Arg"
+;  V16 tmp14        [V16,T03] (  2,  2   )   byref  ->   x0         single-def "Inlining Arg"
 ;* V17 tmp15        [V17    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
-;  V18 tmp16        [V18,T06] (  2,  2   )   byref  ->  x20         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V18 tmp16        [V18,T04] (  2,  2   )   byref  ->  x20         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
 ;* V19 tmp17        [V19    ] (  0,  0   )     int  ->  zero-ref    single-def "field V03._length (fldOffset=0x8)" P-INDEP
 ;* V20 tmp18        [V20    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V21 tmp19        [V21    ] (  0,  0   )     int  ->  zero-ref    single-def "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V22 tmp20        [V22    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V07._reference (fldOffset=0x0)" P-INDEP
 ;* V23 tmp21        [V23    ] (  0,  0   )     int  ->  zero-ref    single-def "field V07._length (fldOffset=0x8)" P-INDEP
-;  V24 tmp22        [V24,T07] (  4,  1.50)   byref  ->  x20         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;  V24 tmp22        [V24,T05] (  4,  1.50)   byref  ->  x20         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
 ;* V25 tmp23        [V25,T08] (  0,  0   )     int  ->  zero-ref    single-def "field V08._length (fldOffset=0x8)" P-INDEP
 ;* V26 tmp24        [V26    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
 ;* V27 tmp25        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
-;  V28 tmp26        [V28,T04] (  2,  4.50)   byref  ->  x20         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V28 tmp26        [V28,T06] (  2,  1   )   byref  ->  x20         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V29 tmp27        [V29,T09] (  0,  0   )     int  ->  zero-ref    single-def "field V15._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 16
 
 G_M24034_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
+            stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
             mov     fp, sp
             str     wzr, [fp, #0x1C]   // [V01 loc0]
-                     ;; size=20 bbWeight=1 PerfScore 4.50
+                      ;; size=16 bbWeight=1 PerfScore 3.50
 G_M24034_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x19, [x0, #0x08]
@@ -65,7 +64,7 @@ G_M24034_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x0, x1
-            bne     G_M24034_IG08
+            bne     G_M24034_IG07
                        ;; size=56 bbWeight=1 PerfScore 15.50
 G_M24034_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref, isz
             ldr     x0, [x19, #0x08]
@@ -75,41 +74,29 @@ G_M24034_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=100000 {
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            bne     G_M24034_IG07
-            add     x19, x0, #8
-            ; gcrRegs -[x19]
-            ; byrRegs +[x19]
-            mov     w21, wzr
-                       ;; size=36 bbWeight=0.50 PerfScore 5.00
-G_M24034_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=180000 {x19 x20}, byref, isz
+            bne     G_M24034_IG06
+            add     x0, x0, #8
             ; gcrRegs -[x0]
-            mov     w0, w21
-            add     x22, x20, x0
-            ; byrRegs +[x22]
-            mov     x0, x19
             ; byrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Random+CompatPrng:InternalSample():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
+            ; gcrRegs -[x19]
             ; byrRegs -[x0]
-            strb    w0, [x22]
-            add     w21, w21, #1
-            cmp     w21, #0
-            ble     G_M24034_IG04
-                       ;; size=48 bbWeight=4 PerfScore 40.00
-G_M24034_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x19-x20 x22]
+            strb    w0, [x20]
+                       ;; size=56 bbWeight=0.50 PerfScore 8.00
+G_M24034_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x20]
             ldrsb   x0, [fp, #0x1C]    // [V01 loc0]
                        ;; size=4 bbWeight=1 PerfScore 2.00
-G_M24034_IG06:        ; bbWeight=1, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
+G_M24034_IG05:        ; bbWeight=1, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                     ;; size=16 bbWeight=1 PerfScore 4.00
-G_M24034_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20}, gcvars, byref
+                       ;; size=12 bbWeight=1 PerfScore 3.00
+G_M24034_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20}, gcvars, byref
             ; gcrRegs +[x0]
             ; byrRegs +[x20]
             mov     x1, x20
@@ -121,9 +108,9 @@ G_M24034_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {
             blr     x3
             ; gcrRegs -[x0]
             ; byrRegs -[x1 x20]
-            b       G_M24034_IG05
+            b       G_M24034_IG04
                       ;; size=28 bbWeight=0 PerfScore 0.00
-G_M24034_IG08:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref
+G_M24034_IG07:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref
             ; gcrRegs +[x19]
             ; byrRegs +[x20]
             mov     x1, x20
@@ -137,10 +124,10 @@ G_M24034_IG08:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20
             blr     x3
             ; gcrRegs -[x0 x19]
             ; byrRegs -[x1 x20]
-            b       G_M24034_IG05
+            b       G_M24034_IG04
                       ;; size=32 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 240, prolog size 20, PerfScore 71.00, instruction count 60, allocated bytes for code 240 (MethodHash=a7c0a21d) for method System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]:NextRandom():byte:this (Tier1)
+; Total bytes of code 204, prolog size 16, PerfScore 32.00, instruction count 51, allocated bytes for code 204 (MethodHash=a7c0a21d) for method System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[byte]:NextRandom():byte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -151,7 +138,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 60 (0x0003c) Actual length = 240 (0x0000f0)
+  Function Length   : 51 (0x00033) Actual length = 204 (0x0000cc)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -159,9 +146,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
     C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
     E4          end
     E4          end
     E4          end
  
-36 (-15.00%) : 359905.dasm - System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]:NextRandom():ubyte:this (Tier1)
@@ -7,11 +7,11 @@
 ; 2 inlinees with PGO data; 6 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]>
+;  V00 this         [V00,T01] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]>
 ;  V01 loc0         [V01    ] (  2,  2   )   ubyte  ->  [fp+0x1C]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V04 tmp2         [V04,T02] (  5,  5   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Random>
+;  V04 tmp2         [V04,T00] (  5,  5   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Random>
 ;* V05 tmp3         [V05    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Random>
 ;* V07 tmp5         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
@@ -19,34 +19,33 @@
 ;* V09 tmp7         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V10 tmp8         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V11 tmp9         [V11    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V12 tmp10        [V12,T05] (  5,  3   )     ref  ->   x0         single-def "guarded devirt arg temp"
+;  V12 tmp10        [V12,T02] (  5,  3   )     ref  ->   x0         single-def "guarded devirt arg temp"
 ;* V13 tmp11        [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <System.Random+Net5CompatSeedImpl>
-;  V14 tmp12        [V14,T00] (  5, 16.50)     int  ->  x21         "Inline stloc first use temp"
+;* V14 tmp12        [V14,T07] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V15 tmp13        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V16 tmp14        [V16,T01] (  2,  9   )   byref  ->  x19         single-def "Inlining Arg"
+;  V16 tmp14        [V16,T03] (  2,  2   )   byref  ->   x0         single-def "Inlining Arg"
 ;* V17 tmp15        [V17    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
-;  V18 tmp16        [V18,T06] (  2,  2   )   byref  ->  x20         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V18 tmp16        [V18,T04] (  2,  2   )   byref  ->  x20         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
 ;* V19 tmp17        [V19    ] (  0,  0   )     int  ->  zero-ref    single-def "field V03._length (fldOffset=0x8)" P-INDEP
 ;* V20 tmp18        [V20    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V21 tmp19        [V21    ] (  0,  0   )     int  ->  zero-ref    single-def "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V22 tmp20        [V22    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V07._reference (fldOffset=0x0)" P-INDEP
 ;* V23 tmp21        [V23    ] (  0,  0   )     int  ->  zero-ref    single-def "field V07._length (fldOffset=0x8)" P-INDEP
-;  V24 tmp22        [V24,T07] (  4,  1.50)   byref  ->  x20         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;  V24 tmp22        [V24,T05] (  4,  1.50)   byref  ->  x20         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
 ;* V25 tmp23        [V25,T08] (  0,  0   )     int  ->  zero-ref    single-def "field V08._length (fldOffset=0x8)" P-INDEP
 ;* V26 tmp24        [V26    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
 ;* V27 tmp25        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
-;  V28 tmp26        [V28,T04] (  2,  4.50)   byref  ->  x20         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V28 tmp26        [V28,T06] (  2,  1   )   byref  ->  x20         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V29 tmp27        [V29,T09] (  0,  0   )     int  ->  zero-ref    single-def "field V15._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 16
 
 G_M4386_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
+            stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
             mov     fp, sp
             str     wzr, [fp, #0x1C]   // [V01 loc0]
-                     ;; size=20 bbWeight=1 PerfScore 4.50
+                      ;; size=16 bbWeight=1 PerfScore 3.50
 G_M4386_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x19, [x0, #0x08]
@@ -65,7 +64,7 @@ G_M4386_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x0, x1
-            bne     G_M4386_IG08
+            bne     G_M4386_IG07
                      ;; size=56 bbWeight=1 PerfScore 15.50
 G_M4386_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref, isz
             ldr     x0, [x19, #0x08]
@@ -75,41 +74,29 @@ G_M4386_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=100000 {x
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            bne     G_M4386_IG07
-            add     x19, x0, #8
-            ; gcrRegs -[x19]
-            ; byrRegs +[x19]
-            mov     w21, wzr
-                       ;; size=36 bbWeight=0.50 PerfScore 5.00
-G_M4386_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=180000 {x19 x20}, byref, isz
+            bne     G_M4386_IG06
+            add     x0, x0, #8
             ; gcrRegs -[x0]
-            mov     w0, w21
-            add     x22, x20, x0
-            ; byrRegs +[x22]
-            mov     x0, x19
             ; byrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Random+CompatPrng:InternalSample():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
+            ; gcrRegs -[x19]
             ; byrRegs -[x0]
-            strb    w0, [x22]
-            add     w21, w21, #1
-            cmp     w21, #0
-            ble     G_M4386_IG04
-                       ;; size=48 bbWeight=4 PerfScore 40.00
-G_M4386_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x19-x20 x22]
+            strb    w0, [x20]
+                       ;; size=56 bbWeight=0.50 PerfScore 8.00
+G_M4386_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x20]
             ldrb    w0, [fp, #0x1C]    // [V01 loc0]
                        ;; size=4 bbWeight=1 PerfScore 2.00
-G_M4386_IG06:        ; bbWeight=1, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
+G_M4386_IG05:        ; bbWeight=1, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=16 bbWeight=1 PerfScore 4.00
-G_M4386_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20}, gcvars, byref
+                        ;; size=12 bbWeight=1 PerfScore 3.00
+G_M4386_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20}, gcvars, byref
             ; gcrRegs +[x0]
             ; byrRegs +[x20]
             mov     x1, x20
@@ -121,9 +108,9 @@ G_M4386_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x
             blr     x3
             ; gcrRegs -[x0]
             ; byrRegs -[x1 x20]
-            b       G_M4386_IG05
+            b       G_M4386_IG04
                         ;; size=28 bbWeight=0 PerfScore 0.00
-G_M4386_IG08:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref
+G_M4386_IG07:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref
             ; gcrRegs +[x19]
             ; byrRegs +[x20]
             mov     x1, x20
@@ -137,10 +124,10 @@ G_M4386_IG08:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}
             blr     x3
             ; gcrRegs -[x0 x19]
             ; byrRegs -[x1 x20]
-            b       G_M4386_IG05
+            b       G_M4386_IG04
                         ;; size=32 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 240, prolog size 20, PerfScore 71.00, instruction count 60, allocated bytes for code 240 (MethodHash=e971eedd) for method System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]:NextRandom():ubyte:this (Tier1)
+; Total bytes of code 204, prolog size 16, PerfScore 32.00, instruction count 51, allocated bytes for code 204 (MethodHash=e971eedd) for method System.Numerics.Tensors.Tests.GenericNumberTensorPrimitivesTests`1[ubyte]:NextRandom():ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -151,7 +138,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 60 (0x0003c) Actual length = 240 (0x0000f0)
+  Function Length   : 51 (0x00033) Actual length = 204 (0x0000cc)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -159,9 +146,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
     C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
     E4          end
     E4          end
     E4          end
  
-48 (-8.89%) : 148307.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1)
@@ -9,11 +9,11 @@
 ; 2 inlinees with PGO data; 10 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] ( 11, 12.92)     ref  ->  [fp+0x18]  this class-hnd EH-live single-def <Microsoft.CodeAnalysis.PEModule>
-;  V01 loc0         [V01    ] (  9, 54.71)  struct (16) [fp+0x30]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.Reflection.Metadata.CustomAttributeHandleCollection+Enumerator>
-;  V02 loc1         [V02    ] (  4,  0.04)  struct (16) [fp+0x20]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Reflection.Metadata.CustomAttributeHandleCollection>
+;  V00 this         [V00,T04] ( 10,  4.03)     ref  ->  [fp+0x10]  this class-hnd EH-live single-def <Microsoft.CodeAnalysis.PEModule>
+;  V01 loc0         [V01    ] (  9,  0.07)  struct (16) [fp+0x28]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.Reflection.Metadata.CustomAttributeHandleCollection+Enumerator>
+;  V02 loc1         [V02    ] (  4,  0.04)  struct (16) [fp+0x18]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Reflection.Metadata.CustomAttributeHandleCollection>
 ;* V03 loc2         [V03    ] (  0,  0   )  struct ( 8) zero-ref    <System.Reflection.Metadata.CustomAttributeHandle>
-;  V04 loc3         [V04,T01] (  5, 17.81)     int  ->  x20        
+;  V04 loc3         [V04,T02] (  3,  0.02)     int  ->  x20        
 ;* V05 loc4         [V05    ] (  0,  0   )  struct ( 8) zero-ref    <System.Reflection.Metadata.TypeDefinitionHandle>
 ;* V06 loc5         [V06    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op <System.Reflection.Metadata.CustomAttribute>
 ;* V07 loc6         [V07,T17] (  0,  0   )   ubyte  ->  zero-ref   
@@ -29,13 +29,13 @@
 ;* V17 tmp9         [V17    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Reflection.Metadata.CustomAttributeHandle>
 ;* V18 tmp10        [V18    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V19 tmp11        [V19    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.CustomAttributeHandle>
-;* V20 tmp12        [V20,T04] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V21 tmp13        [V21    ] (  3,  8.91)     ref  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V01._reader (fldOffset=0x0)" P-DEP
-;  V22 tmp14        [V22    ] (  3,  8.92)     int  ->  [fp+0x38]  do-not-enreg[X] addr-exposed "field V01._lastRowId (fldOffset=0x8)" P-DEP
-;  V23 tmp15        [V23    ] (  7, 36.89)     int  ->  [fp+0x3C]  do-not-enreg[X] addr-exposed "field V01._currentRowId (fldOffset=0xc)" P-DEP
-;  V24 tmp16        [V24    ] (  2,  0.02)     ref  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V02._reader (fldOffset=0x0)" P-DEP
-;  V25 tmp17        [V25    ] (  2,  0.02)     int  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._firstRowId (fldOffset=0x8)" P-DEP
-;  V26 tmp18        [V26    ] (  2,  0.02)     int  ->  [fp+0x2C]  do-not-enreg[X] addr-exposed "field V02._lastRowId (fldOffset=0xc)" P-DEP
+;* V20 tmp12        [V20,T00] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V21 tmp13        [V21    ] (  3,  0.02)     ref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V01._reader (fldOffset=0x0)" P-DEP
+;  V22 tmp14        [V22    ] (  3,  0.02)     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V01._lastRowId (fldOffset=0x8)" P-DEP
+;  V23 tmp15        [V23    ] (  7,  0.05)     int  ->  [fp+0x34]  do-not-enreg[X] addr-exposed "field V01._currentRowId (fldOffset=0xc)" P-DEP
+;  V24 tmp16        [V24    ] (  2,  0.02)     ref  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V02._reader (fldOffset=0x0)" P-DEP
+;  V25 tmp17        [V25    ] (  2,  0.02)     int  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V02._firstRowId (fldOffset=0x8)" P-DEP
+;  V26 tmp18        [V26    ] (  2,  0.02)     int  ->  [fp+0x24]  do-not-enreg[X] addr-exposed "field V02._lastRowId (fldOffset=0xc)" P-DEP
 ;* V27 tmp19        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V03._rowId (fldOffset=0x0)" P-INDEP
 ;  V28 tmp20        [V28,T13] (  2,  0   )     int  ->   x1         "field V05._rowId (fldOffset=0x0)" P-INDEP
 ;  V29 tmp21        [V29,T10] (  3,  0   )     ref  ->   x0         "field V06._reader (fldOffset=0x0)" P-INDEP
@@ -44,28 +44,27 @@
 ;  V32 tmp24        [V32,T07] (  3,  0.03)     ref  ->   x0         single-def "field V12._reader (fldOffset=0x0)" P-INDEP
 ;* V33 tmp25        [V33,T09] (  0,  0   )     int  ->  zero-ref    single-def "field V12._firstRowId (fldOffset=0x8)" P-INDEP
 ;  V34 tmp26        [V34,T08] (  2,  0.02)     int  ->   x1         single-def "field V12._lastRowId (fldOffset=0xc)" P-INDEP
-;  V35 tmp27        [V35,T00] (  6, 17.81)     int  ->  x19         "field V13._rowId (fldOffset=0x0)" P-INDEP
-;  V36 tmp28        [V36,T02] (  2, 17.81)     int  ->  x19         "field V15._rowId (fldOffset=0x0)" P-INDEP
+;  V35 tmp27        [V35,T01] (  5,  0.02)     int  ->  x19         "field V13._rowId (fldOffset=0x0)" P-INDEP
+;  V36 tmp28        [V36,T03] (  2,  0.02)     int  ->  x19         "field V15._rowId (fldOffset=0x0)" P-INDEP
 ;* V37 tmp29        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V17._rowId (fldOffset=0x0)" P-INDEP
 ;  V38 tmp30        [V38,T16] (  2,  0   )     int  ->   x1         "field V19._rowId (fldOffset=0x0)" P-INDEP
 ;  V39 tmp31        [V39,T12] (  2,  0   )     ref  ->   x0         "argument with side effect"
-;  V40 PSPSym       [V40,T05] (  1,  1   )    long  ->  [fp+0x40]  do-not-enreg[V] "PSPSym"
+;  V40 PSPSym       [V40,T05] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 56
+; Lcl frame size = 48
 
 G_M13056_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x48]
-            str     x21, [sp, #0x58]
+            stp     fp, lr, [sp, #-0x50]!
+            stp     x19, x20, [sp, #0x40]
             mov     fp, sp
-            stp     xzr, xzr, [fp, #0x30] // [V01 loc0], [V01 loc0+0x08]
-            stp     xzr, xzr, [fp, #0x20]  // [V02 loc1], [V02 loc1+0x08]
-            add     x1, sp, #96
-            str     x1, [fp, #0x40]    // [V40 PSPSym]
-            str     x0, [fp, #0x18]    // [V00 this]
+            stp     xzr, xzr, [fp, #0x28]    // [V01 loc0], [V01 loc0+0x08]
+            stp     xzr, xzr, [fp, #0x18]  // [V02 loc1], [V02 loc1+0x08]
+            add     x1, sp, #80
+            str     x1, [fp, #0x38]    // [V40 PSPSym]
+            str     x0, [fp, #0x10]    // [V00 this]
             ; GC ptr vars +{V00}
-                     ;; size=36 bbWeight=1 PerfScore 8.00
-G_M13056_IG02:        ; bbWeight=1, gcVars=0000000000000008 {V00}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+                        ;; size=32 bbWeight=1 PerfScore 7.00
+G_M13056_IG02:        ; bbWeight=1, gcVars=0000000000000010 {V00}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x0]
             ldrb    w1, [x0, #0x6D]
             cbz     w1, G_M13056_IG06
@@ -77,22 +76,21 @@ G_M13056_IG03:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             cset    x0, eq
                        ;; size=12 bbWeight=1 PerfScore 4.00
 G_M13056_IG04:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x21, [sp, #0x58]
-            ldp     x19, x20, [sp, #0x48]
-            ldp     fp, lr, [sp], #0x60
+            ldp     x19, x20, [sp, #0x40]
+            ldp     fp, lr, [sp], #0x50
             ret     lr
-                        ;; size=16 bbWeight=1 PerfScore 5.00
-G_M13056_IG05:        ; bbWeight=0.01, gcVars=0000000000000008 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                        ;; size=12 bbWeight=1 PerfScore 3.00
+G_M13056_IG05:        ; bbWeight=0.01, gcVars=0000000000000010 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
-            ldr     x20, [fp, #0x18]  // [V00 this]
-            ; gcrRegs +[x20]
-            strb    w0, [x20, #0x6D]
-            mov     x0, x20
+            ldr     x1, [fp, #0x10]   // [V00 this]
+            ; gcrRegs +[x1]
+            strb    w0, [x1, #0x6D]
+            ldr     x0, [fp, #0x10]    // [V00 this]
             ; gcrRegs +[x0]
             b       G_M13056_IG03
-                        ;; size=20 bbWeight=0.01 PerfScore 0.05
+                       ;; size=20 bbWeight=0.01 PerfScore 0.06
 G_M13056_IG06:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x20]
+            ; gcrRegs -[x1]
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.PEModule:get_MetadataReader():System.Reflection.Metadata.MetadataReader:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
@@ -100,11 +98,11 @@ G_M13056_IG06:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
             blr     x1
             ; gcr arg pop 0
             ldr     w1, [x0, #0xD1FFAB1E]
-            str     x0, [fp, #0x20] // [V24 tmp16]
+            str     x0, [fp, #0x18] // [V24 tmp16]
             mov     w0, #1
             ; gcrRegs -[x0]
-            stp     w0, w1, [fp, #0x28]   // [V25 tmp17], [V26 tmp18]
-            add     x0, fp, #32    // [V02 loc1]
+            stp     w0, w1, [fp, #0x20]  // [V25 tmp17], [V26 tmp18]
+            add     x0, fp, #24    // [V02 loc1]
             movz    x1, #0xD1FFAB1E      // code for System.Reflection.Metadata.CustomAttributeHandleCollection:GetEnumerator():System.Reflection.Metadata.CustomAttributeHandleCollection+Enumerator:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
@@ -112,81 +110,30 @@ G_M13056_IG06:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
             blr     x1
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            stp     x0, x1, [fp, #0x30]   // [V01 loc0], [V01 loc0+0x08]
-            b       G_M13056_IG08
-                       ;; size=68 bbWeight=0.01 PerfScore 0.18
-G_M13056_IG07:        ; bbWeight=8.90, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            stp     x0, x1, [fp, #0x28]   // [V01 loc0], [V01 loc0+0x08]
+                       ;; size=64 bbWeight=0.01 PerfScore 0.17
+G_M13056_IG07:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [fp, #0x30]    // [V21 tmp13]
-            ; gcrRegs +[x0]
-            ldr     x0, [x0, #0xD1FFAB1E]
-            cbnz    x0, G_M13056_IG10
-            ldr     w0, [fp, #0x3C]    // [V23 tmp15]
-            ; gcrRegs -[x0]
-            and     w19, w0, #0xD1FFAB1E
-            ldr     x0, [fp, #0x18]    // [V00 this]
-            ; gcrRegs +[x0]
-            mov     w1, w19
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            ; gcrRegs -[x0]
-            ; gcr arg pop 0
-            sxtw    w20, w0
-            cmn     w20, #1
-            bne     G_M13056_IG11
-                       ;; size=60 bbWeight=8.90 PerfScore 164.73
-G_M13056_IG08:        ; bbWeight=8.91, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ldp     w1, w0, [fp, #0x38]    // [V22 tmp14], [V23 tmp15]
+            ldp     w1, w0, [fp, #0x30]    // [V22 tmp14], [V23 tmp15]
             cmp     w0, w1
-            bge     G_M13056_IG09
-            ldr     w0, [fp, #0x3C]    // [V23 tmp15]
-            add     w0, w0, #1
-            str     w0, [fp, #0x3C]    // [V23 tmp15]
-            b       G_M13056_IG07
-                       ;; size=28 bbWeight=8.91 PerfScore 71.31
-G_M13056_IG09:        ; bbWeight=1.24, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #0xD1FFAB1E
-            str     w0, [fp, #0x3C]    // [V23 tmp15]
-            b       G_M13056_IG05
-                       ;; size=12 bbWeight=1.24 PerfScore 3.09
-G_M13056_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            add     x0, fp, #48    // [V01 loc0]
-            movz    x1, #0xD1FFAB1E      // code for System.Reflection.Metadata.CustomAttributeHandleCollection+Enumerator:GetCurrentCustomAttributeIndirect():System.Reflection.Metadata.CustomAttributeHandle:this
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1
-            ; gcr arg pop 0
-            sxtw    w19, w0
-            ldr     x0, [fp, #0x18]    // [V00 this]
+            blt     G_M13056_IG14
+                       ;; size=12 bbWeight=0.01 PerfScore 0.03
+G_M13056_IG08:        ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M13056_IG13
+                       ;; size=4 bbWeight=0.00 PerfScore 0.00
+G_M13056_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w0, #2
+            ldr     x1, [fp, #0x10]    // [V00 this]
+            ; gcrRegs +[x1]
+            strb    w0, [x1, #0x6D]
+            mov     x0, x1
             ; gcrRegs +[x0]
-            mov     w1, w19
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movz    x2, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.PEModule:get_MetadataReader():System.Reflection.Metadata.MetadataReader:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            ; gcrRegs -[x0]
-            ; gcr arg pop 0
-            sxtw    w20, w0
-            cmn     w20, #1
-            beq     G_M13056_IG08
-                       ;; size=68 bbWeight=0 PerfScore 0.00
-G_M13056_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #2
-            ldr     x21, [fp, #0x18]   // [V00 this]
-            ; gcrRegs +[x21]
-            strb    w0, [x21, #0x6D]
-            mov     x0, x21
-            ; gcrRegs +[x0]
-            movz    x1, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.PEModule:get_MetadataReader():System.Reflection.Metadata.MetadataReader:this
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1
+            ; gcrRegs -[x1]
             ; gcr arg pop 0
             mov     w1, w19
             movz    x2, #0xD1FFAB1E      // code for System.Reflection.Metadata.MetadataReader:GetCustomAttribute(System.Reflection.Metadata.CustomAttributeHandle):System.Reflection.Metadata.CustomAttribute:this
@@ -215,7 +162,7 @@ G_M13056_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             blr     x1
             ; gcr arg pop 0
             sxtw    w1, w0
-            mov     x0, x21
+            ldr     x0, [fp, #0x10]   // [V00 this]
             ; gcrRegs +[x0]
             mov     w2, w19
             mov     w3, w20
@@ -226,37 +173,81 @@ G_M13056_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             blr     x4
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-                      ;; size=152 bbWeight=0 PerfScore 0.00
-G_M13056_IG12:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x21]
+            b       G_M13056_IG15
+                       ;; size=156 bbWeight=0 PerfScore 0.00
+G_M13056_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, fp, #40    // [V01 loc0]
+            movz    x2, #0xD1FFAB1E      // code for System.Reflection.Metadata.CustomAttributeHandleCollection+Enumerator:GetCurrentCustomAttributeIndirect():System.Reflection.Metadata.CustomAttributeHandle:this
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
...
  
+48 (+70.59%) : 448989.dasm - System.Runtime.Tests.ControlledExecutionTests:RunInfiniteLoop():this (Tier1-OSR)
@@ -9,10 +9,10 @@
 ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 10032
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Runtime.Tests.ControlledExecutionTests>
-;  V01 loc0         [V01,T02] (  3,  3   )     int  ->   x0        
+;  V00 this         [V00,T02] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Runtime.Tests.ControlledExecutionTests>
+;  V01 loc0         [V01,T00] (  6,  6   )     int  ->   x0        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 cse0         [V03,T01] (  3,  3   )   byref  ->  x19         hoist "CSE - aggressive"
+;  V03 cse0         [V03,T01] (  5,  5   )   byref  ->  x19         "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
@@ -23,12 +23,17 @@ G_M38489_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     x0, [fp, #0x48]
             ; gcrRegs +[x0]
                        ;; size=16 bbWeight=1 PerfScore 4.50
-G_M38489_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M38489_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     x19, x0, #16
             ; byrRegs +[x19]
-                     ;; size=4 bbWeight=1 PerfScore 0.50
-G_M38489_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
+            ldapr   w0, [x19]
             ; gcrRegs -[x0]
+            add     w0, w0, #1
+            stlr    w0, [x19]
+            tst     w0, #0xD1FFAB1E
+            beq     G_M38489_IG05
+                       ;; size=24 bbWeight=1 PerfScore 6.50
+G_M38489_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
             ldapr   w0, [x19]
             add     w0, w0, #1
             stlr    w0, [x19]
@@ -45,8 +50,18 @@ G_M38489_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, by
             ; gcr arg pop 0
             b       G_M38489_IG03
                        ;; size=28 bbWeight=0 PerfScore 0.00
+G_M38489_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref
+            mov     w0, wzr
+            movz    x1, #0xD1FFAB1E      // code for <unknown method>
+            movk    x1, #0xD1FFAB1E LSL #16
+            movk    x1, #0xD1FFAB1E LSL #32
+            ldr     x1, [x1]
+            blr     x1
+            ; gcr arg pop 0
+            b       G_M38489_IG03
+                       ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 68, prolog size 16, PerfScore 11.00, instruction count 17, allocated bytes for code 68 (MethodHash=e35169a6) for method System.Runtime.Tests.ControlledExecutionTests:RunInfiniteLoop():this (Tier1-OSR)
+; Total bytes of code 116, prolog size 16, PerfScore 17.00, instruction count 29, allocated bytes for code 116 (MethodHash=e35169a6) for method System.Runtime.Tests.ControlledExecutionTests:RunInfiniteLoop():this (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -57,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
   ---- Epilog scopes ----
   No epilogs
   ---- Unwind codes ----
  
+24 (+75.00%) : 154817.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:GetRootScope():Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:this (Tier1)
@@ -8,9 +8,9 @@
 ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 22
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  3,  3   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
-;  V01 loc0         [V01,T01] (  4,  3   )     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
-;  V02 loc1         [V02,T02] (  3,  2   )     ref  ->   x1         class-hnd exact <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
+;  V00 this         [V00,T00] (  4,  4   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
+;  V01 loc0         [V01,T02] (  5,  4   )     ref  ->  registers   class-hnd <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
+;  V02 loc1         [V02,T01] (  6,  5   )     ref  ->   x2         class-hnd exact <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -21,22 +21,42 @@ G_M46173_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M46173_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
-            ldr     x1, [x0, #0x08]
+            mov     x1, x0
             ; gcrRegs +[x1]
-            cbnz    x1, G_M46173_IG04
-                       ;; size=8 bbWeight=1 PerfScore 4.00
-G_M46173_IG03:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x2, [x0, #0x08]
+            ; gcrRegs +[x2]
+            cbnz    x2, G_M46173_IG05
+                       ;; size=12 bbWeight=1 PerfScore 4.50
+G_M46173_IG03:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0 x2]
+            mov     x0, x1
+            ; gcrRegs +[x0]
+                       ;; size=4 bbWeight=1 PerfScore 0.50
+G_M46173_IG04:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M46173_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0]
-            mov     x0, x1
+G_M46173_IG05:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0-x1] +[x2]
+            mov     x1, x2
+            ; gcrRegs +[x1]
+                       ;; size=4 bbWeight=1 PerfScore 0.50
+G_M46173_IG06:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            ldr     x2, [x1, #0x08]
+            ; gcrRegs +[x2]
+            cbz     x2, G_M46173_IG03
+                       ;; size=8 bbWeight=1 PerfScore 4.00
+G_M46173_IG07:        ; bbWeight=0, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x1]
+            mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M46173_IG02
-                       ;; size=8 bbWeight=0 PerfScore 0.00
+            mov     x1, x0
+            ; gcrRegs +[x1]
+            b       G_M46173_IG06
+                       ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 32, prolog size 8, PerfScore 7.50, instruction count 8, allocated bytes for code 32 (MethodHash=03f14ba2) for method Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:GetRootScope():Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:this (Tier1)
+; Total bytes of code 56, prolog size 8, PerfScore 13.00, instruction count 14, allocated bytes for code 56 (MethodHash=03f14ba2) for method Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:GetRootScope():Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -47,7 +67,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 8 (0x00008) Actual length = 32 (0x000020)
+  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+24 (+75.00%) : 574383.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:GetRootScope():Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:this (Tier1)
@@ -8,9 +8,9 @@
 ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 26376
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  3,  3   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
-;  V01 loc0         [V01,T01] (  4,  3   )     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
-;  V02 loc1         [V02,T02] (  3,  2   )     ref  ->   x1         class-hnd exact <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
+;  V00 this         [V00,T00] (  4,  4   )     ref  ->   x0         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
+;  V01 loc0         [V01,T02] (  5,  4   )     ref  ->  registers   class-hnd <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
+;  V02 loc1         [V02,T01] (  6,  5   )     ref  ->   x2         class-hnd exact <Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -21,22 +21,42 @@ G_M46173_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M46173_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
-            ldr     x1, [x0, #0x08]
+            mov     x1, x0
             ; gcrRegs +[x1]
-            cbnz    x1, G_M46173_IG04
-                       ;; size=8 bbWeight=1 PerfScore 4.00
-G_M46173_IG03:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x2, [x0, #0x08]
+            ; gcrRegs +[x2]
+            cbnz    x2, G_M46173_IG05
+                       ;; size=12 bbWeight=1 PerfScore 4.50
+G_M46173_IG03:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0 x2]
+            mov     x0, x1
+            ; gcrRegs +[x0]
+                       ;; size=4 bbWeight=1 PerfScore 0.50
+G_M46173_IG04:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M46173_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0]
-            mov     x0, x1
+G_M46173_IG05:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0-x1] +[x2]
+            mov     x1, x2
+            ; gcrRegs +[x1]
+                       ;; size=4 bbWeight=1 PerfScore 0.50
+G_M46173_IG06:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            ldr     x2, [x1, #0x08]
+            ; gcrRegs +[x2]
+            cbz     x2, G_M46173_IG03
+                       ;; size=8 bbWeight=1 PerfScore 4.00
+G_M46173_IG07:        ; bbWeight=0, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x1]
+            mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M46173_IG02
-                       ;; size=8 bbWeight=0 PerfScore 0.00
+            mov     x1, x0
+            ; gcrRegs +[x1]
+            b       G_M46173_IG06
+                       ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 32, prolog size 8, PerfScore 7.50, instruction count 8, allocated bytes for code 32 (MethodHash=03f14ba2) for method Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:GetRootScope():Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:this (Tier1)
+; Total bytes of code 56, prolog size 8, PerfScore 13.00, instruction count 14, allocated bytes for code 56 (MethodHash=03f14ba2) for method Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:GetRootScope():Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -47,7 +67,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 8 (0x00008) Actual length = 32 (0x000020)
+  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
librariestestsnotieredcompilation.run.windows.arm64.Release.mch
-40 (-9.17%) : 225456.dasm - System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (FullOpts)
@@ -8,36 +8,34 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  3,  3   )     ref  ->  x20         this class-hnd single-def <System.Security.Cryptography.TripleDES>
+;  V00 this         [V00,T04] (  3,  3   )     ref  ->  x20         this class-hnd single-def <System.Security.Cryptography.TripleDES>
 ;  V01 arg1         [V01,T02] (  6,  6   )     ref  ->  x19         class-hnd single-def <ubyte[]>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V03 tmp1         [V03,T07] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V04 tmp2         [V04,T08] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V05 tmp3         [V05,T01] (  2, 10   )     int  ->  x21         "Inlining Arg"
+;  V05 tmp3         [V05,T01] (  2,  4   )     int  ->   x0         "Inlining Arg"
 ;  V06 tmp4         [V06,T05] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.KeySizes[]>
-;  V07 tmp5         [V07    ] (  2,  4   )   ubyte  ->  [fp+0x10]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V07 tmp5         [V07    ] (  2,  1   )   ubyte  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V08 tmp6         [V08,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp7         [V09,T00] (  5, 17   )     int  ->  x22         "Inline stloc first use temp"
+;* V09 tmp7         [V09,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T09] (  2,  0   )     ref  ->  x20         single-def "argument with side effect"
 ;  V11 tmp9         [V11,T10] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
 ;  V12 tmp10        [V12,T11] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
 ;  V13 tmp11        [V13,T12] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
-;  V14 cse0         [V14,T04] (  2,  5   )   byref  ->  x23         hoist "CSE - aggressive"
+;  V14 cse0         [V14,T03] (  2,  2   )   byref  ->   x1         "CSE - aggressive"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M39649_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x20]
             mov     fp, sp
             mov     x20, x0
             ; gcrRegs +[x20]
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=28 bbWeight=1 PerfScore 5.50
-G_M39649_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+                     ;; size=20 bbWeight=1 PerfScore 3.50
+G_M39649_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             mov     x0, x19
             ; gcrRegs +[x0]
             movz    x1, #0xD1FFAB1E
@@ -50,36 +48,26 @@ G_M39649_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             blr     x2
             ; gcrRegs -[x0]
             ldr     w1, [x19, #0x08]
-            lsl     w21, w1, #3
+            lsl     w0, w1, #3
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ; gcrRegs +[x1]
-            mov     w22, wzr
-            add     x23, x1, #16
-            ; byrRegs +[x23]
-                       ;; size=68 bbWeight=1 PerfScore 17.00
-G_M39649_IG03:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=800000 {x23}, byref, isz
+            add     x1, x1, #16
             ; gcrRegs -[x1]
-            ldr     x1, [x23, w22, UXTW #3]
+            ; byrRegs +[x1]
+            ldr     x1, [x1]
             ; gcrRegs +[x1]
-            add     x2, fp, #16   // [V07 tmp5]
-            mov     w0, w21
+            ; byrRegs -[x1]
+            add     x2, fp, #24    // [V07 tmp5]
             movz    x3, #0xD1FFAB1E      // code for System.Security.Cryptography.KeySizeHelpers:IsLegalSize(int,System.Security.Cryptography.KeySizes,byref):ubyte
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             ; gcrRegs -[x1]
-            cbnz    w0, G_M39649_IG04
-            add     w22, w22, #1
-            cmp     w22, #0
-            bgt     G_M39649_IG06
-            b       G_M39649_IG03
-                       ;; size=52 bbWeight=4 PerfScore 54.00
-G_M39649_IG04:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; byrRegs -[x23]
+            cbz     w0, G_M39649_IG04
             mov     x0, x19
             ; gcrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Security.Cryptography.TripleDES:IsWeakKey(ubyte[]):ubyte
@@ -88,7 +76,7 @@ G_M39649_IG04:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ldr     x1, [x1]
             blr     x1
             ; gcrRegs -[x0]
-            cbnz    w0, G_M39649_IG07
+            cbnz    w0, G_M39649_IG05
             mov     x0, x20
             ; gcrRegs +[x0]
             mov     x1, x19
@@ -99,16 +87,14 @@ G_M39649_IG04:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ldr     x2, [x2]
             blr     x2
             ; gcrRegs -[x0-x1 x19-x20]
-                       ;; size=56 bbWeight=1 PerfScore 13.50
-G_M39649_IG05:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x23, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x40
+                      ;; size=152 bbWeight=1 PerfScore 40.00
+G_M39649_IG03:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x20]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=20 bbWeight=1 PerfScore 6.00
-G_M39649_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            strb    wzr, [fp, #0x10]   // [V07 tmp5]
+                     ;; size=12 bbWeight=1 PerfScore 3.00
+G_M39649_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            strb    wzr, [fp, #0x18]   // [V07 tmp5]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -137,7 +123,7 @@ G_M39649_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             bl      CORINFO_HELP_THROW
             ; gcrRegs -[x0 x19]
                        ;; size=80 bbWeight=0 PerfScore 0.00
-G_M39649_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M39649_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -186,7 +172,7 @@ G_M39649_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_windows #0
                        ;; size=132 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 436, prolog size 20, PerfScore 96.00, instruction count 109, allocated bytes for code 436 (MethodHash=dd70651e) for method System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (FullOpts)
+; Total bytes of code 396, prolog size 12, PerfScore 46.50, instruction count 99, allocated bytes for code 396 (MethodHash=dd70651e) for method System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -197,7 +183,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 109 (0x0006d) Actual length = 436 (0x0001b4)
+  Function Length   : 99 (0x00063) Actual length = 396 (0x00018c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -205,9 +191,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D1 07       save_reg X#4 Z#7 (0x07); str x23, [sp, #56]
-    E6          save_next
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
+    E4          end
+    E4          end
     E4          end
 
  
-16 (-8.51%) : 184502.dasm - System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
@@ -12,9 +12,9 @@
 ;  V01 tmp1         [V01,T01] (  4,  8   )     ref  ->   x6         class-hnd exact single-def "dup spill" <System.Type[]>
 ;* V02 tmp2         [V02,T03] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
 ;* V03 tmp3         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
-;  V04 tmp4         [V04,T00] (  5, 21.52)     int  ->   x0         "Inline stloc first use temp"
+;* V04 tmp4         [V04,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V05 tmp5         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
-;  V06 cse0         [V06,T02] (  2,  3.13)   byref  ->   x1         hoist "CSE - aggressive"
+;  V06 cse0         [V06,T02] (  2,  2   )   byref  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -22,7 +22,7 @@ G_M2572_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M2572_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M2572_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -37,23 +37,15 @@ G_M2572_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             str     x0, [x6, #0x10]
-            mov     w0, wzr
-            add     x1, x6, #16
-            ; byrRegs +[x1]
-                       ;; size=48 bbWeight=1 PerfScore 7.00
-G_M2572_IG03:        ; bbWeight=2.13, gcrefRegs=0040 {x6}, byrefRegs=0002 {x1}, byref, isz
-            ldr     x2, [x1, w0, UXTW #3]
-            ; gcrRegs +[x2]
-            cbz     x2, G_M2572_IG07
-                       ;; size=8 bbWeight=2.13 PerfScore 8.52
-G_M2572_IG04:        ; bbWeight=6.13, gcrefRegs=0040 {x6}, byrefRegs=0002 {x1}, byref, isz
-            ; gcrRegs -[x2]
-            add     w0, w0, #1
-            cmp     w0, #1
-            blt     G_M2572_IG03
-                       ;; size=12 bbWeight=6.13 PerfScore 12.26
-G_M2572_IG05:        ; bbWeight=1, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x1]
+            add     x0, x6, #16
+            ; byrRegs +[x0]
+            ldr     x0, [x0]
+            ; gcrRegs +[x0]
+            ; byrRegs -[x0]
+            cbz     x0, G_M2572_IG05
+                       ;; size=52 bbWeight=1 PerfScore 10.50
+G_M2572_IG03:        ; bbWeight=2.88, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -69,13 +61,13 @@ G_M2572_IG05:        ; bbWeight=1, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
             movk    x8, #0xD1FFAB1E LSL #16
             movk    x8, #0xD1FFAB1E LSL #32
             ldr     x8, [x8]
-                     ;; size=60 bbWeight=1 PerfScore 10.00
-G_M2572_IG06:        ; bbWeight=1, epilog, nogc, extend
+                      ;; size=60 bbWeight=2.88 PerfScore 28.77
+G_M2572_IG04:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             br      x8
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M2572_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M2572_IG05:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x6]
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
@@ -94,7 +86,7 @@ G_M2572_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
             brk_windows #0
                        ;; size=44 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 188, prolog size 8, PerfScore 41.28, instruction count 47, allocated bytes for code 188 (MethodHash=7398f5f3) for method System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
+; Total bytes of code 172, prolog size 8, PerfScore 42.77, instruction count 43, allocated bytes for code 172 (MethodHash=7398f5f3) for method System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -105,7 +97,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 47 (0x0002f) Actual length = 188 (0x0000bc)
+  Function Length   : 43 (0x0002b) Actual length = 172 (0x0000ac)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-32 (-8.00%) : 235759.dasm - System.Security.Cryptography.RC2:set_EffectiveKeySize(int):this (FullOpts)
@@ -9,62 +9,58 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T02] (  5,  4   )     ref  ->  x20         this class-hnd single-def <System.Security.Cryptography.RC2>
-;  V01 arg1         [V01,T01] (  7,  9   )     int  ->  x19         single-def
+;  V01 arg1         [V01,T01] (  7,  5.50)     int  ->  x19         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V03 tmp1         [V03,T06] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V04 tmp2         [V04,T07] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V05 tmp3         [V05,T08] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V06 tmp4         [V06,T04] (  2,  2   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.KeySizes[]>
-;  V07 tmp5         [V07    ] (  2,  4   )   ubyte  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V07 tmp5         [V07    ] (  2,  0.50)   ubyte  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V08 tmp6         [V08,T05] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp7         [V09,T00] (  5, 16.50)     int  ->  x21         "Inline stloc first use temp"
+;* V09 tmp7         [V09,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T09] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
 ;  V11 tmp9         [V11,T10] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
 ;  V12 tmp10        [V12,T11] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
-;  V13 cse0         [V13,T03] (  2,  4.50)   byref  ->  x22         hoist "CSE - aggressive"
+;  V13 cse0         [V13,T03] (  2,  1   )   byref  ->   x1         "CSE - aggressive"
 ;
 ; Lcl frame size = 16
 
 G_M43684_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
+            stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
             mov     fp, sp
             mov     x20, x0
             ; gcrRegs +[x20]
             mov     w19, w1
-                      ;; size=24 bbWeight=1 PerfScore 4.50
+                      ;; size=20 bbWeight=1 PerfScore 3.50
 G_M43684_IG02:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
             ldr     w1, [x20, #0x38]
             cmp     w19, w1
-            bgt     G_M43684_IG09
+            bgt     G_M43684_IG07
             cbnz    w19, G_M43684_IG05
                        ;; size=16 bbWeight=1 PerfScore 5.50
 G_M43684_IG03:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
             str     wzr, [x20, #0x3C]
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M43684_IG04:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M43684_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, gcvars, byref, isz
             cmp     w19, #40
-            blt     G_M43684_IG10
+            blt     G_M43684_IG08
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ; gcrRegs +[x1]
-            mov     w21, wzr
-            add     x22, x1, #16
-            ; byrRegs +[x22]
-                       ;; size=32 bbWeight=0.50 PerfScore 3.50
-G_M43684_IG06:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=400000 {x22}, byref, isz
+            add     x1, x1, #16
             ; gcrRegs -[x1]
-            ldr     x1, [x22, w21, UXTW #3]
+            ; byrRegs +[x1]
+            ldr     x1, [x1]
             ; gcrRegs +[x1]
+            ; byrRegs -[x1]
             add     x2, fp, #24    // [V07 tmp5]
             mov     w0, w19
             movz    x3, #0xD1FFAB1E      // code for System.Security.Cryptography.KeySizeHelpers:IsLegalSize(int,System.Security.Cryptography.KeySizes,byref):ubyte
@@ -73,23 +69,15 @@ G_M43684_IG06:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=400000 {x2
             ldr     x3, [x3]
             blr     x3
             ; gcrRegs -[x1]
-            cbnz    w0, G_M43684_IG07
-            add     w21, w21, #1
-            cmp     w21, #0
-            bgt     G_M43684_IG11
-            b       G_M43684_IG06
-                       ;; size=52 bbWeight=4 PerfScore 54.00
-G_M43684_IG07:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x22]
+            cbz     w0, G_M43684_IG09
             str     w19, [x20, #0x3C]
-                     ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M43684_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
+                        ;; size=68 bbWeight=0.50 PerfScore 9.00
+G_M43684_IG06:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                     ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M43684_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+G_M43684_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x20]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -119,7 +107,7 @@ G_M43684_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             bl      CORINFO_HELP_THROW
             ; gcrRegs -[x0 x19]
                        ;; size=76 bbWeight=0 PerfScore 0.00
-G_M43684_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M43684_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -148,7 +136,7 @@ G_M43684_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_THROW
             ; gcrRegs -[x0 x19]
                        ;; size=76 bbWeight=0 PerfScore 0.00
-G_M43684_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M43684_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             strb    wzr, [fp, #0x18]  // [V07 tmp5]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -180,7 +168,7 @@ G_M43684_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_windows #0
                        ;; size=84 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 400, prolog size 16, PerfScore 72.50, instruction count 100, allocated bytes for code 400 (MethodHash=914c555b) for method System.Security.Cryptography.RC2:set_EffectiveKeySize(int):this (FullOpts)
+; Total bytes of code 368, prolog size 12, PerfScore 21.50, instruction count 92, allocated bytes for code 368 (MethodHash=914c555b) for method System.Security.Cryptography.RC2:set_EffectiveKeySize(int):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -191,7 +179,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 100 (0x00064) Actual length = 400 (0x000190)
+  Function Length   : 92 (0x0005c) Actual length = 368 (0x000170)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -202,9 +190,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
     C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
     E4          end
     E4          end
     E4          end
  
+44 (+64.71%) : 72052.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
@@ -7,14 +7,16 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  7, 23   )     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]>
-;  V01 arg1         [V01,T00] (  6, 26   )     int  ->   x1        
+;  V00 this         [V00,T02] ( 11, 25.50)     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]>
+;  V01 arg1         [V01,T00] ( 10, 29   )     int  ->   x1        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T06] (  2, 16   )     int  ->   x1         "arg temp"
-;  V04 tmp2         [V04,T04] (  2, 16   )     ref  ->   x0         single-def "arg temp"
-;  V05 tmp3         [V05,T05] (  2, 16   )     ref  ->   x0         single-def "arg temp"
+;  V03 tmp1         [V03,T06] (  4, 18   )     int  ->   x1         "arg temp"
+;  V04 tmp2         [V04,T04] (  4, 18   )     ref  ->   x0         "arg temp"
+;  V05 tmp3         [V05,T05] (  4, 18   )     ref  ->   x0         "arg temp"
 ;  V06 cse0         [V06,T01] (  4, 28   )     int  ->   x3         "CSE - aggressive"
-;  V07 cse1         [V07,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  4,  3.50)     int  ->   x3         "CSE - aggressive"
+;  V08 cse2         [V08,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V09 cse3         [V09,T08] (  3,  2.50)     ref  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -22,42 +24,65 @@ G_M17963_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M17963_IG02:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M17963_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x2, [x0, #0x10]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x20]
             cmp     w1, w3
             bge     G_M17963_IG04
-                        ;; size=16 bbWeight=8 PerfScore 60.00
-G_M17963_IG03:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+                        ;; size=16 bbWeight=1 PerfScore 7.50
+G_M17963_IG03:        ; bbWeight=0.50, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M17963_IG02
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M17963_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M17963_IG06
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
+G_M17963_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x2]
             cmp     w1, w3
-            ble     G_M17963_IG06
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M17963_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ble     G_M17963_IG10
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M17963_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             sub     w1, w1, w3
             sub     w1, w1, #1
             ldr     x0, [x0, #0x18]
-            b       G_M17963_IG02
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M17963_IG06:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     x2, [x0, #0x10]
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x20]
+            cmp     w1, w3
+            bge     G_M17963_IG08
+                       ;; size=16 bbWeight=8 PerfScore 60.00
+G_M17963_IG07:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x2
+            ; gcrRegs +[x0]
+            b       G_M17963_IG06
+                       ;; size=8 bbWeight=4 PerfScore 6.00
+G_M17963_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            cmp     w1, w3
+            ble     G_M17963_IG10
+                       ;; size=8 bbWeight=8 PerfScore 12.00
+G_M17963_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            sub     w1, w1, w3
+            sub     w1, w1, #1
+            ldr     x0, [x0, #0x18]
+            b       G_M17963_IG06
                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M17963_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M17963_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x0, x0, #8
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M17963_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M17963_IG11:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 102.00, instruction count 17, allocated bytes for code 68 (MethodHash=8272b9d4) for method System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
+; Total bytes of code 112, prolog size 8, PerfScore 113.75, instruction count 28, allocated bytes for code 112 (MethodHash=8272b9d4) for method System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -68,7 +93,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+44 (+68.75%) : 213382.dasm - System.Runtime.Tests.ControlledExecutionTests:RunInfiniteLoop():this (FullOpts)
@@ -8,28 +8,40 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T02] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Runtime.Tests.ControlledExecutionTests>
-;  V01 loc0         [V01,T00] (  3, 24   )     int  ->   x0        
+;  V01 loc0         [V01,T00] (  6, 27   )     int  ->  x20        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 cse0         [V03,T01] (  3, 17   )   byref  ->  x19         hoist "CSE - aggressive"
+;  V03 cse0         [V03,T01] (  5, 19   )   byref  ->  x19         "CSE - aggressive"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M38489_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x20]!
-            str     x19, [sp, #0x18]
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
                        ;; size=12 bbWeight=1 PerfScore 2.50
-G_M38489_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M38489_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             add     x19, x0, #16
             ; byrRegs +[x19]
-                     ;; size=4 bbWeight=1 PerfScore 0.50
-G_M38489_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
-            ; gcrRegs -[x0]
             ldapr   w0, [x19]
-            add     w0, w0, #1
-            stlr    w0, [x19]
-            tst     w0, #0xD1FFAB1E
+            ; gcrRegs -[x0]
+            add     w20, w0, #1
+            stlr    w20, [x19]
+            tst     w20, #0xD1FFAB1E
+            bne     G_M38489_IG03
+            mov     w0, wzr
+            movz    x1, #0xD1FFAB1E      // code for <unknown method>
+            movk    x1, #0xD1FFAB1E LSL #16
+            movk    x1, #0xD1FFAB1E LSL #32
+            ldr     x1, [x1]
+            blr     x1
+            ; gcr arg pop 0
+                       ;; size=48 bbWeight=1 PerfScore 12.50
+G_M38489_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
+            ldapr   w0, [x19]
+            add     w20, w0, #1
+            stlr    w20, [x19]
+            tst     w20, #0xD1FFAB1E
             bne     G_M38489_IG03
             mov     w0, wzr
             movz    x1, #0xD1FFAB1E      // code for <unknown method>
@@ -41,7 +53,7 @@ G_M38489_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, by
             b       G_M38489_IG03
                        ;; size=48 bbWeight=8 PerfScore 104.00
 
-; Total bytes of code 64, prolog size 12, PerfScore 107.00, instruction count 16, allocated bytes for code 64 (MethodHash=e35169a6) for method System.Runtime.Tests.ControlledExecutionTests:RunInfiniteLoop():this (FullOpts)
+; Total bytes of code 108, prolog size 12, PerfScore 119.00, instruction count 27, allocated bytes for code 108 (MethodHash=e35169a6) for method System.Runtime.Tests.ControlledExecutionTests:RunInfiniteLoop():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -52,12 +64,12 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 16 (0x00010) Actual length = 64 (0x000040)
+  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
   ---- Epilog scopes ----
   No epilogs
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
-    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
     83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
     E4          end
     E4          end
  
+48 (+75.00%) : 312008.dasm - System.Threading.Tasks.Tests.CESchedulerPairTests+<>c:b_00():this (FullOpts)
@@ -9,10 +9,10 @@
 ; Final local variable assignments
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <System.Threading.Tasks.Tests.CESchedulerPairTests+<>c>
-;  V01 loc0         [V01    ] (  2, 10   )  struct ( 8) [fp+0x18]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Threading.SpinWait>
+;  V01 loc0         [V01    ] (  4, 11.25)  struct ( 8) [fp+0x18]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Threading.SpinWait>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03,T00] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V04 tmp2         [V04    ] (  2, 10   )     int  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V01._count (fldOffset=0x0)" P-DEP
+;  V04 tmp2         [V04    ] (  4, 11.25)     int  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V01._count (fldOffset=0x0)" P-DEP
 ;
 ; Lcl frame size = 16
 
@@ -24,7 +24,25 @@ G_M31209_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M31209_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             b       G_M31209_IG04
                        ;; size=4 bbWeight=1 PerfScore 1.00
-G_M31209_IG03:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M31209_IG03:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, fp, #24    // [V01 loc0]
+            mov     w1, #20
+            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
+            b       G_M31209_IG07
+                       ;; size=32 bbWeight=0.25 PerfScore 1.88
+G_M31209_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            ldr     w0, [fp, #0x18]    // [V04 tmp2]
+            cmp     w0, #10
+            bge     G_M31209_IG08
+                       ;; size=12 bbWeight=1 PerfScore 3.50
+G_M31209_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M31209_IG03
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
+G_M31209_IG06:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             add     x0, fp, #24 // [V01 loc0]
             mov     w1, #20
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
@@ -33,17 +51,17 @@ G_M31209_IG03:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     x2, [x2]
             blr     x2
                        ;; size=28 bbWeight=2 PerfScore 13.00
-G_M31209_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M31209_IG07:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [fp, #0x18]    // [V04 tmp2]
             cmp     w0, #10
-            blt     G_M31209_IG03
+            blt     G_M31209_IG06
                       ;; size=12 bbWeight=8 PerfScore 28.00
-G_M31209_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M31209_IG08:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=8 bbWeight=4 PerfScore 8.00
 
-; Total bytes of code 64, prolog size 12, PerfScore 52.50, instruction count 16, allocated bytes for code 64 (MethodHash=3fe58616) for method System.Threading.Tasks.Tests.CESchedulerPairTests+<>c:<TestCreationOptions>b__0_0():this (FullOpts)
+; Total bytes of code 112, prolog size 12, PerfScore 58.38, instruction count 28, allocated bytes for code 112 (MethodHash=3fe58616) for method System.Threading.Tasks.Tests.CESchedulerPairTests+<>c:<TestCreationOptions>b__0_0():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -54,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 16 (0x00010) Actual length = 64 (0x000040)
+  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
realworld.run.windows.arm64.checked.mch
-44 (-33.33%) : 1379.dasm - BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
@@ -8,18 +8,17 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T04] (  4,  4   )   byref  ->   x0         single-def
-;  V01 arg1         [V01,T05] (  4,  4   )   byref  ->   x1         single-def
-;  V02 arg2         [V02,T06] (  4,  4   )   byref  ->   x2         single-def
-;* V03 loc0         [V03,T10] (  0,  0   )     int  ->  zero-ref   
-;  V04 loc1         [V04,T07] (  2,  5   )   byref  ->   x2         single-def
-;  V05 loc2         [V05,T08] (  2,  5   )   byref  ->   x1         single-def
-;  V06 loc3         [V06,T00] (  5, 17   )     int  ->   x3        
-;  V07 loc4         [V07,T01] (  4, 16   )   byref  ->   x5        
-;  V08 loc5         [V08,T03] (  3, 12   )   byref  ->   x6        
+;  V00 arg0         [V00,T00] (  4,  4   )   byref  ->   x0         single-def
+;  V01 arg1         [V01,T01] (  4,  4   )   byref  ->   x1         single-def
+;  V02 arg2         [V02,T02] (  4,  4   )   byref  ->   x2         single-def
+;* V03 loc0         [V03,T09] (  0,  0   )     int  ->  zero-ref   
+;  V04 loc1         [V04,T05] (  2,  2   )   byref  ->   x2         single-def
+;  V05 loc2         [V05,T06] (  2,  2   )   byref  ->   x1         single-def
+;* V06 loc3         [V06,T08] (  0,  0   )     int  ->  zero-ref   
+;  V07 loc4         [V07,T03] (  4,  4   )   byref  ->   x0        
+;  V08 loc5         [V08,T04] (  3,  3   )   byref  ->   x2        
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 cse0         [V10,T09] (  2,  5   )   byref  ->   x0         hoist "CSE - aggressive"
-;  V11 cse1         [V11,T02] (  4, 16   )    long  ->   x4         "CSE - aggressive"
+;  V10 cse0         [V10,T07] (  2,  2   )   byref  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -35,41 +34,26 @@ G_M31235_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0007 {x0 x1 x2}
             stp     xzr, xzr, [x2, #0x20]
             str     xzr, [x2, #0x30]
             add     x1, x1, #4
-            mov     w3, wzr
             ldrsb   wzr, [x0]
             add     x0, x0, #28
-                      ;; size=36 bbWeight=1 PerfScore 9.50
-G_M31235_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0007 {x0 x1 x2}, byref, isz
-            sxtw    x4, w3
-            mov     x5, #20
-            mul     x5, x4, x5
-            add     x5, x0, x5
-            ; byrRegs +[x5]
-            lsl     x6, x4, #4
-            add     x6, x2, x6
-            ; byrRegs +[x6]
-            ldr     w7, [x5, #0x10]
-            lsl     x4, x4, #2
-            str     w7, [x1, x4]
-            ldr     d16, [x5]
-            ldr     w4, [x5, #0x08]
-            mov     v16.s[2], w4
-            str     d16, [x6]
-            mov     w4, v16.s[2]
-            str     w4, [x6, #0x08]
-            ldr     s16, [x5, #0x0C]
-            str     s16, [x6, #0x0C]
-            add     w3, w3, #1
-            cmp     w3, #0
-            ble     G_M31235_IG03
-                       ;; size=80 bbWeight=4 PerfScore 104.00
-G_M31235_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ; byrRegs -[x0-x2 x5-x6]
+            ldr     w3, [x0, #0x10]
+            str     w3, [x1]
+            ldr     d16, [x0]
+            ldr     w1, [x0, #0x08]
+            ; byrRegs -[x1]
+            mov     v16.s[2], w1
+            str     d16, [x2]
+            mov     w1, v16.s[2]
+            str     w1, [x2, #0x08]
+            ldr     s16, [x0, #0x0C]
+            str     s16, [x2, #0x0C]
+                       ;; size=72 bbWeight=1 PerfScore 27.00
+G_M31235_IG03:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 132, prolog size 8, PerfScore 117.00, instruction count 33, allocated bytes for code 132 (MethodHash=076885fc) for method BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 30.50, instruction count 22, allocated bytes for code 88 (MethodHash=076885fc) for method BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -80,7 +64,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 33 (0x00021) Actual length = 132 (0x000084)
+  Function Length   : 22 (0x00016) Actual length = 88 (0x000058)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-16 (-6.90%) : 33079.dasm - System.Linq.Expressions.CachedReflectionInfo:getMethodBaseGetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
@@ -15,9 +15,9 @@
 ;* V04 tmp4         [V04,T06] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
 ;* V05 tmp5         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
 ;  V06 tmp6         [V06,T05] (  3,  3   )     ref  ->   x0         class-hnd single-def "dup spill" <System.Reflection.MethodInfo>
-;  V07 tmp7         [V07,T00] (  5, 16.50)     int  ->   x0         "Inline stloc first use temp"
+;* V07 tmp7         [V07,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V08 tmp8         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
-;  V09 cse0         [V09,T01] (  2,  4.50)   byref  ->   x1         hoist "CSE - aggressive"
+;  V09 cse0         [V09,T01] (  2,  1   )   byref  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -31,9 +31,9 @@ G_M10374_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             ; gcrRegs +[x0]
-            cbnz    x0, G_M10374_IG06
+            cbnz    x0, G_M10374_IG04
                       ;; size=20 bbWeight=1 PerfScore 5.50
-G_M10374_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M10374_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -49,22 +49,14 @@ G_M10374_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             str     x0, [x6, #0x10]
-            mov     w0, wzr
-            add     x1, x6, #16
-            ; byrRegs +[x1]
-                       ;; size=48 bbWeight=0.50 PerfScore 3.50
-G_M10374_IG04:        ; bbWeight=4, gcrefRegs=0040 {x6}, byrefRegs=0002 {x1}, byref, isz
-            ldr     x2, [x1, w0, UXTW #3]
-            ; gcrRegs +[x2]
-            cbz     x2, G_M10374_IG07
-            add     w0, w0, #1
-            cmp     w0, #1
-            blt     G_M10374_IG04
-                       ;; size=20 bbWeight=4 PerfScore 24.00
-G_M10374_IG05:        ; bbWeight=0.50, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x2]
-            ; byrRegs -[x1]
+            add     x0, x6, #16
+            ; byrRegs +[x0]
+            ldr     x0, [x0]
+            ; gcrRegs +[x0]
+            ; byrRegs -[x0]
+            cbz     x0, G_M10374_IG05
             movz    x0, #0xD1FFAB1E
+            ; gcrRegs -[x0]
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x1, #0xD1FFAB1E
@@ -89,12 +81,12 @@ G_M10374_IG05:        ; bbWeight=0.50, gcrefRegs=0040 {x6}, byrefRegs=0000 {}, b
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
-                     ;; size=84 bbWeight=0.50 PerfScore 7.00
-G_M10374_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+                      ;; size=136 bbWeight=0.50 PerfScore 12.25
+G_M10374_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M10374_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M10374_IG05:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
@@ -113,7 +105,7 @@ G_M10374_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             brk_windows #0
                        ;; size=44 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 232, prolog size 8, PerfScore 43.50, instruction count 58, allocated bytes for code 232 (MethodHash=027dd779) for method System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
+; Total bytes of code 216, prolog size 8, PerfScore 21.25, instruction count 54, allocated bytes for code 216 (MethodHash=027dd779) for method System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -124,7 +116,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 58 (0x0003a) Actual length = 232 (0x0000e8)
+  Function Length   : 54 (0x00036) Actual length = 216 (0x0000d8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-12 (-4.41%) : 33235.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
@@ -8,28 +8,33 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] ( 13, 12   )     ref  ->  x19         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
-;  V01 loc0         [V01,T09] (  3,  2.50)     int  ->   x0        
-;  V02 loc1         [V02,T06] (  3,  4.50)     ref  ->  x22         class-hnd <System.__Canon>
+;  V00 this         [V00,T00] ( 13,  9   )     ref  ->  x19         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
+;  V01 loc0         [V01,T13] (  3,  2.50)     int  ->   x0        
+;  V02 loc1         [V02,T08] (  3,  1.50)     ref  ->  x21         class-hnd <System.__Canon>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T00] (  2, 16   )    long  ->   x1         "spilling helperCall"
+;  V04 tmp1         [V04,T02] (  2,  4   )    long  ->   x1         "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V07 cse0         [V07,T05] (  2,  5   )    long  ->  x20         hoist "CSE - aggressive"
-;  V08 cse1         [V08,T03] (  4,  6   )   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V09 rat0         [V09,T07] (  3,  4.40)    long  ->   x0         "Spilling to split statement for tree"
-;  V10 rat1         [V10,T08] (  3,  4   )    long  ->  x20         "runtime lookup"
-;  V11 rat2         [V11,T04] (  3,  5.60)    long  ->  x20         "fgMakeTemp is creating a new local variable"
-;  V12 rat3         [V12,T02] (  3, 12   )     ref  ->   x2         "delegate invoke call"
+;  V07 cse0         [V07,T14] (  2,  2   )    long  ->  x20         hoist "CSE - aggressive"
+;  V08 rat0         [V08,T09] (  3,  4.40)    long  ->   x0         "Spilling to split statement for tree"
+;  V09 rat1         [V09,T10] (  3,  4   )    long  ->  x20         "runtime lookup"
+;  V10 rat2         [V10,T07] (  3,  5.60)    long  ->  x20         "fgMakeTemp is creating a new local variable"
+;* V11 rat3         [V11,T06] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V12 rat4         [V12,T11] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V13 rat5         [V13,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;* V14 rat6         [V14,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V15 rat7         [V15,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V16 rat8         [V16,T12] (  3,  3   )     ref  ->   x2         "delegate invoke call"
+;* V17 rat9         [V17,T04] (  0,  0   )     ref  ->  zero-ref    "delegate invoke call"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 8
 
 G_M34024_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-            str     x0, [fp, #0x18]
+            str     x0, [fp, #0x10]
             mov     x19, x0
             ; gcrRegs +[x19]
                        ;; size=24 bbWeight=1 PerfScore 5.00
@@ -46,9 +51,7 @@ G_M34024_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
 G_M34024_IG04:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ldr     x0, [x19, #0x18]
             ; gcrRegs +[x0]
-            add     x20, x19, #40
-            ; byrRegs +[x20]
-            mov     x8, x20
+            add     x8, x19, #40
             ; byrRegs +[x8]
             movz    x1, #0xD1FFAB1E      // code for System.Collections.Generic.List`1[System.__Canon]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.__Canon]:this
             movk    x1, #0xD1FFAB1E LSL #16
@@ -57,10 +60,10 @@ G_M34024_IG04:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             ldr     wzr, [x0]
             blr     x1
             ; gcrRegs -[x0]
-            ; byrRegs -[x8 x20]
+            ; byrRegs -[x8]
             mov     w0, #2
             str     w0, [x19, #0x14]
-                     ;; size=44 bbWeight=0.50 PerfScore 7.00
+                       ;; size=40 bbWeight=0.50 PerfScore 6.75
 G_M34024_IG05:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x19]
             ldr     x1, [x0, #0x38]
@@ -79,19 +82,14 @@ G_M34024_IG07:        ; bbWeight=0.20, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             mov     x20, x0
                        ;; size=20 bbWeight=0.20 PerfScore 0.60
 G_M34024_IG08:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            add     x0, x19, #40
-            ; byrRegs +[x0]
-            mov     x21, x0
-            ; byrRegs +[x21]
             b       G_M34024_IG10
-                        ;; size=12 bbWeight=1 PerfScore 2.00
-G_M34024_IG09:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21}, byref, isz
-            ; byrRegs -[x0]
-            ldr     x22, [x19, #0x30]
-            ; gcrRegs +[x22]
+                     ;; size=4 bbWeight=1 PerfScore 1.00
+G_M34024_IG09:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            ldr     x21, [x19, #0x30]
+            ; gcrRegs +[x21]
             ldr     x2, [x19, #0x20]
             ; gcrRegs +[x2]
-            mov     x1, x22
+            mov     x1, x21
             ; gcrRegs +[x1]
             ldr     x0, [x2, #0x08]
             ; gcrRegs +[x0]
@@ -100,11 +98,11 @@ G_M34024_IG09:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21
             blr     x2
             ; gcrRegs -[x0-x1]
             cbnz    w0, G_M34024_IG14
-                        ;; size=28 bbWeight=2 PerfScore 29.00
-G_M34024_IG10:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21}, byref, isz
-            ; gcrRegs -[x22]
+                     ;; size=28 bbWeight=0.50 PerfScore 7.25
+G_M34024_IG10:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x21]
             mov     x1, x20
-            mov     x0, x21
+            add     x0, x19, #40
             ; byrRegs +[x0]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
@@ -113,41 +111,40 @@ G_M34024_IG10:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21
             blr     x2
             ; byrRegs -[x0]
             cbnz    w0, G_M34024_IG09
-                        ;; size=32 bbWeight=4 PerfScore 30.00
-G_M34024_IG11:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x21]
+                     ;; size=32 bbWeight=1 PerfScore 7.50
+G_M34024_IG11:        ; bbWeight=0.12, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             str     xzr, [x19, #0x08]
             movn    w14, #0
             str     w14, [x19, #0x14]
-                        ;; size=12 bbWeight=0.50 PerfScore 1.25
+                       ;; size=12 bbWeight=0.12 PerfScore 0.31
 G_M34024_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M34024_IG13:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs +[x22]
+                     ;; size=16 bbWeight=0.50 PerfScore 2.50
+G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs +[x21]
             add     x14, x19, #8
             ; byrRegs +[x14]
-            mov     x15, x22
+            mov     x15, x21
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
-            ; gcrRegs -[x15 x22]
+            ; gcrRegs -[x15 x21]
             ; byrRegs -[x14]
             mov     w0, #1
                        ;; size=16 bbWeight=0.50 PerfScore 1.25
 G_M34024_IG15:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x30]
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x40
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=16 bbWeight=0.50 PerfScore 2.50
 
-; Total bytes of code 272, prolog size 20, PerfScore 99.90, instruction count 68, allocated bytes for code 272 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
+; Total bytes of code 260, prolog size 20, PerfScore 54.46, instruction count 65, allocated bytes for code 260 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -158,7 +155,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 68 (0x00044) Actual length = 272 (0x000110)
+  Function Length   : 65 (0x00041) Actual length = 260 (0x000104)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -169,10 +166,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
-    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
-    E4          end
+    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
+    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
 
  
+40 (+62.50%) : 24893.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetSwitchBinder(Microsoft.CodeAnalysis.CSharp.Binder):Microsoft.CodeAnalysis.CSharp.SwitchBinder (FullOpts)
@@ -8,8 +8,8 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  6, 22   )     ref  ->  x19         class-hnd <Microsoft.CodeAnalysis.CSharp.Binder>
-;  V01 loc0         [V01,T01] (  3, 13   )     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CSharp.SwitchBinder>
+;  V00 arg0         [V00,T00] ( 10, 24.50)     ref  ->  x19         class-hnd <Microsoft.CodeAnalysis.CSharp.Binder>
+;  V01 loc0         [V01,T01] (  5, 14.50)     ref  ->   x0         class-hnd <Microsoft.CodeAnalysis.CSharp.SwitchBinder>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 8
@@ -24,10 +24,11 @@ G_M1427_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M1427_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             b       G_M1427_IG04
                        ;; size=4 bbWeight=1 PerfScore 1.00
-G_M1427_IG03:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M1427_IG03:        ; bbWeight=0.25, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ldr     x19, [x19, #0x10]
-                       ;; size=4 bbWeight=2 PerfScore 6.00
-G_M1427_IG04:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            b       G_M1427_IG08
+                       ;; size=8 bbWeight=0.25 PerfScore 1.00
+G_M1427_IG04:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     x1, x19
             ; gcrRegs +[x1]
             movz    x0, #0xD1FFAB1E
@@ -36,19 +37,41 @@ G_M1427_IG04:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byr
             bl      CORINFO_HELP_ISINSTANCEOFCLASS
             ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
-            cbz     x19, G_M1427_IG06
-                       ;; size=24 bbWeight=8 PerfScore 32.00
-G_M1427_IG05:        ; bbWeight=4, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
+            cbz     x19, G_M1427_IG10
+                       ;; size=24 bbWeight=1 PerfScore 4.00
+G_M1427_IG05:        ; bbWeight=0.50, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
             cbz     x0, G_M1427_IG03
+                        ;; size=4 bbWeight=0.50 PerfScore 0.50
+G_M1427_IG06:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x19]
+            b       G_M1427_IG10
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M1427_IG07:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0] +[x19]
+            ldr     x19, [x19, #0x10]
+                       ;; size=4 bbWeight=2 PerfScore 6.00
+G_M1427_IG08:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            mov     x1, x19
+            ; gcrRegs +[x1]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            bl      CORINFO_HELP_ISINSTANCEOFCLASS
+            ; gcrRegs -[x1] +[x0]
+            ; gcr arg pop 0
+            cbz     x19, G_M1427_IG10
+                       ;; size=24 bbWeight=8 PerfScore 32.00
+G_M1427_IG09:        ; bbWeight=4, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
+            cbz     x0, G_M1427_IG07
                        ;; size=4 bbWeight=4 PerfScore 4.00
-G_M1427_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M1427_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19]
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 64, prolog size 16, PerfScore 50.00, instruction count 16, allocated bytes for code 64 (MethodHash=85d7fa6c) for method Microsoft.CodeAnalysis.CSharp.Binder:GetSwitchBinder(Microsoft.CodeAnalysis.CSharp.Binder):Microsoft.CodeAnalysis.CSharp.SwitchBinder (FullOpts)
+; Total bytes of code 104, prolog size 16, PerfScore 55.62, instruction count 26, allocated bytes for code 104 (MethodHash=85d7fa6c) for method Microsoft.CodeAnalysis.CSharp.Binder:GetSwitchBinder(Microsoft.CodeAnalysis.CSharp.Binder):Microsoft.CodeAnalysis.CSharp.SwitchBinder (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -59,7 +82,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 16 (0x00010) Actual length = 64 (0x000040)
+  Function Length   : 26 (0x0001a) Actual length = 104 (0x000068)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+44 (+64.71%) : 24388.dasm - System.Collections.Immutable.ImmutableList1+Node[System.Collections.Generic.KeyValuePair2[System.Canon,System.Canon]]:ItemRefUnchecked(int):byref:this (FullOpts)
@@ -7,14 +7,16 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  7, 23   )     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
-;  V01 arg1         [V01,T00] (  6, 26   )     int  ->   x1        
+;  V00 this         [V00,T02] ( 11, 25.50)     ref  ->   x0         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
+;  V01 arg1         [V01,T00] ( 10, 29   )     int  ->   x1        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T06] (  2, 16   )     int  ->   x1         "arg temp"
-;  V04 tmp2         [V04,T04] (  2, 16   )     ref  ->   x0         single-def "arg temp"
-;  V05 tmp3         [V05,T05] (  2, 16   )     ref  ->   x0         single-def "arg temp"
+;  V03 tmp1         [V03,T06] (  4, 18   )     int  ->   x1         "arg temp"
+;  V04 tmp2         [V04,T04] (  4, 18   )     ref  ->   x0         "arg temp"
+;  V05 tmp3         [V05,T05] (  4, 18   )     ref  ->   x0         "arg temp"
 ;  V06 cse0         [V06,T01] (  4, 28   )     int  ->   x3         "CSE - aggressive"
-;  V07 cse1         [V07,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  4,  3.50)     int  ->   x3         "CSE - aggressive"
+;  V08 cse2         [V08,T03] (  3, 20   )     ref  ->   x2         "CSE - aggressive"
+;  V09 cse3         [V09,T08] (  3,  2.50)     ref  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -22,42 +24,65 @@ G_M15847_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M15847_IG02:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M15847_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x2, [x0, #0x08]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x18]
             cmp     w1, w3
             bge     G_M15847_IG04
-                        ;; size=16 bbWeight=8 PerfScore 60.00
-G_M15847_IG03:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+                        ;; size=16 bbWeight=1 PerfScore 7.50
+G_M15847_IG03:        ; bbWeight=0.50, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x2
             ; gcrRegs +[x0]
-            b       G_M15847_IG02
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M15847_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            b       G_M15847_IG06
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
+G_M15847_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x2]
             cmp     w1, w3
-            ble     G_M15847_IG06
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M15847_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ble     G_M15847_IG10
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M15847_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             sub     w1, w1, w3
             sub     w1, w1, #1
             ldr     x0, [x0, #0x10]
-            b       G_M15847_IG02
+                       ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M15847_IG06:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     x2, [x0, #0x08]
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x18]
+            cmp     w1, w3
+            bge     G_M15847_IG08
+                       ;; size=16 bbWeight=8 PerfScore 60.00
+G_M15847_IG07:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x2
+            ; gcrRegs +[x0]
+            b       G_M15847_IG06
+                       ;; size=8 bbWeight=4 PerfScore 6.00
+G_M15847_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            cmp     w1, w3
+            ble     G_M15847_IG10
+                       ;; size=8 bbWeight=8 PerfScore 12.00
+G_M15847_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            sub     w1, w1, w3
+            sub     w1, w1, #1
+            ldr     x0, [x0, #0x10]
+            b       G_M15847_IG06
                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M15847_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M15847_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x0, x0, #32
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M15847_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M15847_IG11:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 102.00, instruction count 17, allocated bytes for code 68 (MethodHash=df1ac218) for method System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:ItemRefUnchecked(int):byref:this (FullOpts)
+; Total bytes of code 112, prolog size 8, PerfScore 113.75, instruction count 28, allocated bytes for code 112 (MethodHash=df1ac218) for method System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:ItemRefUnchecked(int):byref:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -68,7 +93,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+48 (+70.59%) : 29611.dasm - System.Management.Automation.FunctionInfo:get_Options():int:this (FullOpts)
@@ -8,67 +8,93 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  5, 15   )     ref  ->   x0         this class-hnd <System.Management.Automation.FunctionInfo>
+;  V00 this         [V00,T04] (  7, 17   )     ref  ->   x0         this class-hnd <System.Management.Automation.FunctionInfo>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V02 tmp1         [V02,T03] (  3, 17   )     ref  ->   x1         single-def "CASTCLASS eval op1"
-;  V03 tmp2         [V03,T04] (  3, 17   )    long  ->   x3         "fgMakeTemp is creating a new local variable"
-;  V04 tmp3         [V04,T00] (  4, 25   )     ref  ->   x0         class-hnd "spilling QMark2" <System.Management.Automation.FunctionInfo>
+;  V02 tmp1         [V02,T02] (  6, 19.12)     ref  ->   x1         "CASTCLASS eval op1"
+;  V03 tmp2         [V03,T03] (  6, 19.12)    long  ->   x3         "fgMakeTemp is creating a new local variable"
+;  V04 tmp3         [V04,T00] (  8, 29.12)     ref  ->   x0         class-hnd "spilling QMark2" <System.Management.Automation.FunctionInfo>
 ;  V05 cse0         [V05,T01] (  3, 20   )     ref  ->   x1         "CSE - aggressive"
+;  V06 cse1         [V06,T06] (  3,  2.50)     ref  ->   x1         "CSE - aggressive"
+;  V07 cse2         [V07,T05] (  3,  5   )    long  ->  x19         "CSE - moderate"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M40934_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
+            str     x19, [sp, #0x18]
             mov     fp, sp
-                       ;; size=8 bbWeight=1 PerfScore 1.50
-G_M40934_IG02:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+                       ;; size=12 bbWeight=1 PerfScore 2.50
+G_M40934_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x1, [x0, #0x20]
             ; gcrRegs +[x1]
-            cbz     x1, G_M40934_IG06
-                       ;; size=8 bbWeight=8 PerfScore 32.00
-G_M40934_IG03:        ; bbWeight=4, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
+            cbz     x1, G_M40934_IG09
+                       ;; size=8 bbWeight=1 PerfScore 4.00
+G_M40934_IG03:        ; bbWeight=0.50, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             mov     x0, x1
             ; gcrRegs +[x0]
             ldr     x2, [x0]
-            movz    x3, #0xD1FFAB1E
-            movk    x3, #0xD1FFAB1E LSL #16
-            movk    x3, #0xD1FFAB1E LSL #32
+            movz    x19, #0xD1FFAB1E
+            movk    x19, #0xD1FFAB1E LSL #16
+            movk    x19, #0xD1FFAB1E LSL #32
+            mov     x3, x19
             cmp     x2, x3
             beq     G_M40934_IG05
-                        ;; size=28 bbWeight=4 PerfScore 26.00
-G_M40934_IG04:        ; bbWeight=0.50, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
+                     ;; size=32 bbWeight=0.50 PerfScore 3.50
+G_M40934_IG04:        ; bbWeight=0.06, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
+            mov     x0, x3
+            bl      CORINFO_HELP_CHKCASTCLASS_SPECIAL
+            ; gcrRegs -[x1] +[x0]
+            ; gcr arg pop 0
+                       ;; size=8 bbWeight=0.06 PerfScore 0.09
+G_M40934_IG05:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     x1, [x0, #0x20]
+            ; gcrRegs +[x1]
+            cbz     x1, G_M40934_IG09
+                       ;; size=8 bbWeight=8 PerfScore 32.00
+G_M40934_IG06:        ; bbWeight=4, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x0]
+            mov     x0, x1
+            ; gcrRegs +[x0]
+            ldr     x2, [x0]
+            mov     x3, x19
+            cmp     x2, x3
+            beq     G_M40934_IG08
+                       ;; size=20 bbWeight=4 PerfScore 22.00
+G_M40934_IG07:        ; bbWeight=0.50, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x3
             bl      CORINFO_HELP_CHKCASTCLASS_SPECIAL
             ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M40934_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
-            b       G_M40934_IG02
+G_M40934_IG08:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            b       G_M40934_IG05
                       ;; size=4 bbWeight=4 PerfScore 4.00
-G_M40934_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M40934_IG09:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ldr     w0, [x0, #0x64]
             ; gcrRegs -[x0]
                        ;; size=4 bbWeight=1 PerfScore 3.00
-G_M40934_IG07:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M40934_IG10:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x19, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=1 PerfScore 2.00
+                       ;; size=12 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 68, prolog size 8, PerfScore 69.25, instruction count 17, allocated bytes for code 68 (MethodHash=b2d36019) for method System.Management.Automation.FunctionInfo:get_Options():int:this (FullOpts)
+; Total bytes of code 116, prolog size 12, PerfScore 75.84, instruction count 29, allocated bytes for code 116 (MethodHash=b2d36019) for method System.Management.Automation.FunctionInfo:get_Options():int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 1
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
+  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -76,7 +102,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    81          save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]!
+    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
  
  
smoke_tests.nativeaot.windows.arm64.checked.mch
-24 (-11.11%) : 9538.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitInvocation(System.Linq.Expressions.InvocationExpression):System.Linq.Expressions.Expression:this (FullOpts)
@@ -7,33 +7,33 @@
 ; partially interruptible
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  9, 18   )     ref  ->  x19         this class-hnd exact single-def <System.Linq.Expressions.ExpressionStringBuilder>
-;  V01 arg1         [V01,T03] (  7,  9   )     ref  ->  x20         class-hnd single-def <System.Linq.Expressions.InvocationExpression>
-;  V02 loc0         [V02,T06] (  2,  5   )     ref  ->  x21         class-hnd exact single-def <System.String>
-;  V03 loc1         [V03,T02] (  5, 17   )     int  ->  x22        
-;* V04 loc2         [V04,T07] (  0,  0   )     int  ->  zero-ref   
+;  V00 this         [V00,T00] (  9,  9   )     ref  ->  x19         this class-hnd exact single-def <System.Linq.Expressions.ExpressionStringBuilder>
+;  V01 arg1         [V01,T01] (  7,  6   )     ref  ->  x20         class-hnd single-def <System.Linq.Expressions.InvocationExpression>
+;  V02 loc0         [V02,T04] (  2,  2   )     ref  ->   x1         class-hnd exact single-def <System.String>
+;* V03 loc1         [V03,T07] (  0,  0   )     int  ->  zero-ref   
+;* V04 loc2         [V04,T08] (  0,  0   )     int  ->  zero-ref   
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )     int  ->  zero-ref    "guarded devirt return temp"
 ;* V07 tmp2         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Linq.Expressions.InvocationExpression>
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Linq.Expressions.InvocationExpression1>
-;  V09 tmp4         [V09,T04] (  2,  8   )     ref  ->   x1         "guarded devirt return temp"
+;  V09 tmp4         [V09,T05] (  2,  2   )     ref  ->   x1         "guarded devirt return temp"
 ;* V10 tmp5         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Linq.Expressions.InvocationExpression>
 ;* V11 tmp6         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Linq.Expressions.InvocationExpression1>
-;  V12 tmp7         [V12,T05] (  3,  6   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
-;  V13 tmp8         [V13,T00] (  3, 24   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Text.StringBuilder>
+;  V12 tmp7         [V12,T02] (  3,  6   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
+;  V13 tmp8         [V13,T03] (  3,  6   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Text.StringBuilder>
+;  V14 cse0         [V14,T06] (  2,  2   )   byref  ->   x1         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M18080_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
+            stp     fp, lr, [sp, #-0x20]!
             stp     x19, x20, [sp, #0x10]
-            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
             mov     x20, x1
             ; gcrRegs +[x20]
-                     ;; size=24 bbWeight=1 PerfScore 4.50
+                      ;; size=20 bbWeight=1 PerfScore 3.50
 G_M18080_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
@@ -56,30 +56,28 @@ G_M18080_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ldr     x2, [x2, #0x30]
             blr     x2
             ; gcrRegs -[x1]
-            adrp    x21, [HIGH RELOC #0xD1FFAB1E]
-            add     x21, x21, [LOW RELOC #0xD1FFAB1E]
-            ; gcrRegs +[x21]
-            mov     w22, wzr
-            ldr     x2, [x20]
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
-            cmp     x2, x1
-            beq     G_M18080_IG06
-                       ;; size=80 bbWeight=1 PerfScore 26.50
-G_M18080_IG03:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs +[x1]
+            ldr     x2, [x20]
+            adrp    x0, [HIGH RELOC #0xD1FFAB1E]
             ; gcrRegs -[x0]
+            add     x0, x0, [LOW RELOC #0xD1FFAB1E]
+            cmp     x2, x0
+            beq     G_M18080_IG04
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
             ldrsb   wzr, [x0]
             mov     w2, #2
-            add     x1, x21, #12
+            add     x1, x1, #12
+            ; gcrRegs -[x1]
             ; byrRegs +[x1]
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; byrRegs -[x1]
             mov     x0, x20
             ; gcrRegs +[x0]
-            mov     w1, w22
+            mov     w1, wzr
             bl      System.Linq.Expressions.InvocationExpression1:GetArgument(int):System.Linq.Expressions.Expression:this
             mov     x1, x0
             ; gcrRegs +[x1]
@@ -88,27 +86,19 @@ G_M18080_IG03:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
             ldr     x2, [x2, #0x30]
             blr     x2
             ; gcrRegs -[x1]
-            add     w22, w22, #1
-            cmp     w22, #0
-            ble     G_M18080_IG03
-                       ;; size=64 bbWeight=4 PerfScore 80.00
-G_M18080_IG04:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0 x21]
             ldr     x0, [x19, #0x08]
-            ; gcrRegs +[x0]
             mov     w1, #41
             ldr     wzr, [x0]
             bl      System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this
             ; gcrRegs -[x19]
             mov     x0, x20
-                      ;; size=20 bbWeight=1 PerfScore 8.00
-G_M18080_IG05:        ; bbWeight=1, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
+                        ;; size=148 bbWeight=1 PerfScore 52.00
+G_M18080_IG03:        ; bbWeight=1, epilog, nogc, extend
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=16 bbWeight=1 PerfScore 4.00
-G_M18080_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, gcvars, byref
+                     ;; size=12 bbWeight=1 PerfScore 3.00
+G_M18080_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             mov     x0, x20
             ; gcrRegs +[x0]
@@ -117,7 +107,7 @@ G_M18080_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=100000
             brk_windows #0
                        ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 216, prolog size 16, PerfScore 123.00, instruction count 54, allocated bytes for code 216 (MethodHash=c8b5b95f) for method System.Linq.Expressions.ExpressionStringBuilder:VisitInvocation(System.Linq.Expressions.InvocationExpression):System.Linq.Expressions.Expression:this (FullOpts)
+; Total bytes of code 192, prolog size 12, PerfScore 58.50, instruction count 48, allocated bytes for code 192 (MethodHash=c8b5b95f) for method System.Linq.Expressions.ExpressionStringBuilder:VisitInvocation(System.Linq.Expressions.InvocationExpression):System.Linq.Expressions.Expression:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -128,7 +118,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 54 (0x00036) Actual length = 216 (0x0000d8)
+  Function Length   : 48 (0x00030) Actual length = 192 (0x0000c0)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -136,9 +126,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
     C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
     E4          end
     E4          end
     E4          end
  
-4 (-2.94%) : 12807.dasm - Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
@@ -8,21 +8,21 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T05] (  3,  3   )     ref  ->   x0         this class-hnd exact single-def <Internal.TypeSystem.NoMetadata.NoMetadataType>
-;  V01 arg1         [V01,T04] (  3,  4   )     int  ->  x19         single-def
+;  V01 arg1         [V01,T04] (  3,  2.25)     int  ->  x19         single-def
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <Internal.TypeSystem.Instantiation+Enumerator>
 ;* V03 loc1         [V03    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <Internal.TypeSystem.Instantiation>
 ;* V04 loc2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <Internal.TypeSystem.TypeDesc>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <Internal.TypeSystem.Instantiation+Enumerator>
 ;* V07 tmp2         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Internal.TypeSystem.TypeDesc[]>
-;* V08 tmp3         [V08,T03] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp4         [V09,T06] (  3,  4   )     ref  ->  x20         single-def "field V02._collection (fldOffset=0x0)" P-INDEP
-;  V10 tmp5         [V10,T00] (  6, 29   )     int  ->  x21         "field V02._currentIndex (fldOffset=0x8)" P-INDEP
+;* V08 tmp3         [V08,T01] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V09 tmp4         [V09,T03] (  3,  2.25)     ref  ->  x20         single-def "field V02._collection (fldOffset=0x0)" P-INDEP
+;  V10 tmp5         [V10,T00] (  6,  4.50)     int  ->  x21         "field V02._currentIndex (fldOffset=0x8)" P-INDEP
 ;  V11 tmp6         [V11,T07] (  2,  2   )     ref  ->  x20         single-def "field V03._genericParameters (fldOffset=0x0)" P-INDEP
 ;  V12 tmp7         [V12,T08] (  2,  2   )     ref  ->  x20         single-def "field V06._collection (fldOffset=0x0)" P-INDEP
 ;* V13 tmp8         [V13,T09] (  0,  0   )     int  ->  zero-ref    single-def "field V06._currentIndex (fldOffset=0x8)" P-INDEP
-;  V14 tmp9         [V14,T01] (  3, 12   )     ref  ->   x0         "argument with side effect"
-;  V15 cse0         [V15,T02] (  3, 11   )     int  ->  x22         hoist "CSE - aggressive"
+;  V14 tmp9         [V14,T02] (  3,  1.50)     ref  ->   x0         "argument with side effect"
+;  V15 cse0         [V15,T06] (  3,  2.25)     int  ->  x22         hoist "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -41,10 +41,10 @@ G_M3627_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ldr     w22, [x20, #0x08]
             b       G_M3627_IG04
                        ;; size=16 bbWeight=1 PerfScore 7.50
-G_M3627_IG03:        ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
+G_M3627_IG03:        ; bbWeight=0.25, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             cmp     w21, w22
-            bhs     G_M3627_IG10
+            bhs     G_M3627_IG09
             add     x0, x20, #16
             ; byrRegs +[x0]
             ldr     x0, [x0, w21, UXTW #3]
@@ -55,41 +55,38 @@ G_M3627_IG03:        ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, by
             ldr     x2, [x2, #0x40]
             blr     x2
             ; gcrRegs -[x0]
-            cbnz    w0, G_M3627_IG06
-                       ;; size=36 bbWeight=2 PerfScore 27.00
-G_M3627_IG04:        ; bbWeight=8, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
+            cbnz    w0, G_M3627_IG07
+                       ;; size=36 bbWeight=0.25 PerfScore 3.38
+G_M3627_IG04:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
             add     w21, w21, #1
             cmp     w22, w21
             bgt     G_M3627_IG03
-                     ;; size=12 bbWeight=8 PerfScore 16.00
-G_M3627_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=12 bbWeight=1 PerfScore 2.00
+G_M3627_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x20]
-            b       G_M3627_IG08
-                       ;; size=4 bbWeight=4 PerfScore 4.00
-G_M3627_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #1
-                       ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M3627_IG07:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
-            ret     lr
-                       ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M3627_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M3627_IG09:        ; bbWeight=0.50, epilog, nogc, extend
+G_M3627_IG06:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x30
             ret     lr
                        ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M3627_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M3627_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, #1
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M3627_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x30
+            ret     lr
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
+G_M3627_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             brk_windows #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 136, prolog size 16, PerfScore 63.00, instruction count 34, allocated bytes for code 136 (MethodHash=ce01f1d4) for method Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
+; Total bytes of code 132, prolog size 16, PerfScore 21.38, instruction count 33, allocated bytes for code 132 (MethodHash=ce01f1d4) for method Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -100,7 +97,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 34 (0x00022) Actual length = 136 (0x000088)
+  Function Length   : 33 (0x00021) Actual length = 132 (0x000084)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-2.56%) : 7179.dasm - Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
@@ -9,21 +9,21 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T05] (  3,  3   )     ref  ->   x0         this class-hnd exact single-def <Internal.TypeSystem.NoMetadata.NoMetadataType>
-;  V01 arg1         [V01,T04] (  3,  4   )     int  ->  x19         single-def
+;  V01 arg1         [V01,T04] (  3,  2.25)     int  ->  x19         single-def
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <Internal.TypeSystem.Instantiation+Enumerator>
 ;* V03 loc1         [V03    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <Internal.TypeSystem.Instantiation>
 ;* V04 loc2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <Internal.TypeSystem.TypeDesc>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <Internal.TypeSystem.Instantiation+Enumerator>
 ;* V07 tmp2         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Internal.TypeSystem.TypeDesc[]>
-;* V08 tmp3         [V08,T03] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp4         [V09,T06] (  3,  4   )     ref  ->  x20         single-def "field V02._collection (fldOffset=0x0)" P-INDEP
-;  V10 tmp5         [V10,T00] (  6, 29   )     int  ->  x21         "field V02._currentIndex (fldOffset=0x8)" P-INDEP
+;* V08 tmp3         [V08,T01] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V09 tmp4         [V09,T03] (  3,  2.25)     ref  ->  x20         single-def "field V02._collection (fldOffset=0x0)" P-INDEP
+;  V10 tmp5         [V10,T00] (  6,  4.50)     int  ->  x21         "field V02._currentIndex (fldOffset=0x8)" P-INDEP
 ;  V11 tmp6         [V11,T07] (  2,  2   )     ref  ->  x20         single-def "field V03._genericParameters (fldOffset=0x0)" P-INDEP
 ;  V12 tmp7         [V12,T08] (  2,  2   )     ref  ->  x20         single-def "field V06._collection (fldOffset=0x0)" P-INDEP
 ;* V13 tmp8         [V13,T09] (  0,  0   )     int  ->  zero-ref    single-def "field V06._currentIndex (fldOffset=0x8)" P-INDEP
-;  V14 tmp9         [V14,T01] (  3, 12   )     ref  ->   x0         "argument with side effect"
-;  V15 cse0         [V15,T02] (  3, 11   )     int  ->  x22         hoist "CSE - aggressive"
+;  V14 tmp9         [V14,T02] (  3,  1.50)     ref  ->   x0         "argument with side effect"
+;  V15 cse0         [V15,T06] (  3,  2.25)     int  ->  x22         hoist "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -42,10 +42,10 @@ G_M3627_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ldr     w22, [x20, #0x08]
             b       G_M3627_IG04
                        ;; size=16 bbWeight=1 PerfScore 7.50
-G_M3627_IG03:        ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
+G_M3627_IG03:        ; bbWeight=0.25, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             cmp     w21, w22
-            bhs     G_M3627_IG10
+            bhs     G_M3627_IG09
             add     x15, x20, #16
             ; byrRegs +[x15]
             ldr     x0, [x15, w21, UXTW #3]
@@ -61,41 +61,38 @@ G_M3627_IG03:        ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, by
             mov     w1, w19
             blr     x2
             ; gcrRegs -[x0]
-            cbnz    w0, G_M3627_IG06
-                       ;; size=56 bbWeight=2 PerfScore 38.00
-G_M3627_IG04:        ; bbWeight=8, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
+            cbnz    w0, G_M3627_IG07
+                       ;; size=56 bbWeight=0.25 PerfScore 4.75
+G_M3627_IG04:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
             add     w21, w21, #1
             cmp     w22, w21
             bgt     G_M3627_IG03
-                     ;; size=12 bbWeight=8 PerfScore 16.00
-G_M3627_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=12 bbWeight=1 PerfScore 2.00
+G_M3627_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x20]
-            b       G_M3627_IG08
-                       ;; size=4 bbWeight=4 PerfScore 4.00
-G_M3627_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #1
-                       ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M3627_IG07:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
-            ret     lr
-                       ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M3627_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M3627_IG09:        ; bbWeight=0.50, epilog, nogc, extend
+G_M3627_IG06:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x30
             ret     lr
                        ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M3627_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M3627_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, #1
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M3627_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x30
+            ret     lr
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
+G_M3627_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             brk_windows #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 156, prolog size 16, PerfScore 74.00, instruction count 39, allocated bytes for code 156 (MethodHash=ce01f1d4) for method Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
+; Total bytes of code 152, prolog size 16, PerfScore 22.75, instruction count 38, allocated bytes for code 152 (MethodHash=ce01f1d4) for method Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -106,7 +103,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 39 (0x00027) Actual length = 156 (0x00009c)
+  Function Length   : 38 (0x00026) Actual length = 152 (0x000098)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+57.14%) : 20035.dasm - System.DateTimeFormat:ParseRepeatPattern(System.ReadOnlySpan`1[ushort],int,ushort):int (FullOpts)
@@ -8,12 +8,13 @@
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[ushort]>
-;  V01 arg1         [V01,T04] (  4,  4   )     int  ->   x2         single-def
-;  V02 arg2         [V02,T02] (  3,  6   )  ushort  ->   x3         single-def
-;  V03 loc0         [V03,T00] (  6, 18   )     int  ->   x4        
+;  V01 arg1         [V01,T03] (  4,  4   )     int  ->   x2         single-def
+;  V02 arg2         [V02,T05] (  3,  2.50)  ushort  ->   x3         single-def
+;  V03 loc0         [V03,T00] ( 10, 20   )     int  ->   x4        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T03] (  2,  5   )   byref  ->   x0         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
-;  V06 tmp2         [V06,T01] (  2,  9   )     int  ->   x1         single-def "field V00._length (fldOffset=0x8)" P-INDEP
+;  V05 tmp1         [V05,T02] (  3,  5.50)   byref  ->   x0         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
+;  V06 tmp2         [V06,T01] (  3, 10   )     int  ->   x1         single-def "field V00._length (fldOffset=0x8)" P-INDEP
+;  V07 cse0         [V07,T04] (  3,  5   )     int  ->   x3         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -26,29 +27,47 @@ G_M43086_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
             add     w4, w2, #1
             b       G_M43086_IG04
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M43086_IG03:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+G_M43086_IG03:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+            add     w4, w4, #1
+            b       G_M43086_IG08
+                       ;; size=8 bbWeight=0.25 PerfScore 0.38
+G_M43086_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            cmp     w4, w1
+            bhs     G_M43086_IG10
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M43086_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            ldrh    w5, [x0, w4, UXTW #2]
+            uxth    w3, w3
+            cmp     w5, w3
+            beq     G_M43086_IG03
+                       ;; size=16 bbWeight=0.50 PerfScore 2.50
+G_M43086_IG06:        ; bbWeight=0.12, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x0]
+            b       G_M43086_IG10
+                       ;; size=4 bbWeight=0.12 PerfScore 0.12
+G_M43086_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+            ; byrRegs +[x0]
             add     w4, w4, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M43086_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+G_M43086_IG08:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             cmp     w4, w1
-            bhs     G_M43086_IG06
+            bhs     G_M43086_IG10
                      ;; size=8 bbWeight=8 PerfScore 12.00
-G_M43086_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+G_M43086_IG09:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ldrh    w5, [x0, w4, UXTW #2]
-            uxth    w6, w3
-            cmp     w5, w6
-            beq     G_M43086_IG03
-                       ;; size=16 bbWeight=4 PerfScore 20.00
-G_M43086_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            cmp     w5, w3
+            beq     G_M43086_IG07
+                       ;; size=12 bbWeight=4 PerfScore 18.00
+G_M43086_IG10:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; byrRegs -[x0]
             sub     w0, w4, w2
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M43086_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M43086_IG11:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 56, prolog size 8, PerfScore 38.50, instruction count 14, allocated bytes for code 56 (MethodHash=781b57b1) for method System.DateTimeFormat:ParseRepeatPattern(System.ReadOnlySpan`1[ushort],int,ushort):int (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 41.00, instruction count 22, allocated bytes for code 88 (MethodHash=781b57b1) for method System.DateTimeFormat:ParseRepeatPattern(System.ReadOnlySpan`1[ushort],int,ushort):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -59,7 +78,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
+  Function Length   : 22 (0x00016) Actual length = 88 (0x000058)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+48 (+57.14%) : 11752.dasm - System.Type:GetRootElementType():System.Type:this (FullOpts)
@@ -7,53 +7,71 @@
 ; partially interruptible
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  5,  5   )     ref  ->   x0         this class-hnd single-def <System.Type>
-;  V01 loc0         [V01,T00] (  7, 22   )     ref  ->  x19         class-hnd <System.Type>
+;  V00 this         [V00,T01] (  6,  6   )     ref  ->  x19         this class-hnd single-def <System.Type>
+;  V01 loc0         [V01,T00] ( 10, 25   )     ref  ->  x20         class-hnd <System.Type>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+;  V03 cse0         [V03,T02] (  3,  3   )    long  ->  x21         "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
 G_M1457_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x20]!
-            str     x19, [sp, #0x18]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-                       ;; size=12 bbWeight=1 PerfScore 2.50
-G_M1457_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x0]
             mov     x19, x0
             ; gcrRegs +[x19]
-            ldr     x1, [x0]
+                       ;; size=20 bbWeight=1 PerfScore 4.00
+G_M1457_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            mov     x20, x19
+            ; gcrRegs +[x20]
+            mov     x0, x19
+            ; gcrRegs +[x0]
+            ldr     x21, [x19]
+            ldr     x1, [x21, #0xD1FFAB1E]
+            blr     x1
+            ; gcrRegs -[x0]
+            cbz     w0, G_M1457_IG04
+            mov     x0, x19
+            ; gcrRegs +[x0]
+            ldr     x1, [x21, #0xD1FFAB1E]
+            blr     x1
+            ; gcrRegs -[x19-x20]
+            mov     x20, x0
+            ; gcrRegs +[x20]
+            ldr     x1, [x20]
             ldr     x1, [x1, #0xD1FFAB1E]
             blr     x1
             ; gcrRegs -[x0]
             cbz     w0, G_M1457_IG04
-                     ;; size=20 bbWeight=1 PerfScore 8.50
-G_M1457_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            mov     x0, x19
+                      ;; size=56 bbWeight=1 PerfScore 22.00
+G_M1457_IG03:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
+            mov     x0, x20
             ; gcrRegs +[x0]
-            ldr     x1, [x19]
+            ldr     x1, [x20]
             ldr     x1, [x1, #0xD1FFAB1E]
             blr     x1
-            ; gcrRegs -[x19]
-            mov     x19, x0
-            ; gcrRegs +[x19]
-            ldr     x1, [x19]
+            ; gcrRegs -[x20]
+            mov     x20, x0
+            ; gcrRegs +[x20]
+            ldr     x1, [x20]
             ldr     x1, [x1, #0xD1FFAB1E]
             blr     x1
             ; gcrRegs -[x0]
             cbnz    w0, G_M1457_IG03
                        ;; size=36 bbWeight=4 PerfScore 64.00
-G_M1457_IG04:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            mov     x0, x19
+G_M1457_IG04:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
+            mov     x0, x20
             ; gcrRegs +[x0]
                        ;; size=4 bbWeight=1 PerfScore 0.50
 G_M1457_IG05:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x19, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x20
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=12 bbWeight=1 PerfScore 4.00
+                      ;; size=16 bbWeight=1 PerfScore 5.00
 
-; Total bytes of code 84, prolog size 12, PerfScore 79.50, instruction count 21, allocated bytes for code 84 (MethodHash=6cd9fa4e) for method System.Type:GetRootElementType():System.Type:this (FullOpts)
+; Total bytes of code 132, prolog size 16, PerfScore 95.50, instruction count 33, allocated bytes for code 132 (MethodHash=6cd9fa4e) for method System.Type:GetRootElementType():System.Type:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -64,7 +82,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 21 (0x00015) Actual length = 84 (0x000054)
+  Function Length   : 33 (0x00021) Actual length = 132 (0x000084)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -72,10 +90,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
-    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
-    E4          end
-    E4          end
+    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
+    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
 
  
+36 (+64.29%) : 2457.dasm - System.GC:InterlockedAddMemoryPressure(byref,long):long (FullOpts)
@@ -7,44 +7,55 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T02] (  4, 18   )   byref  ->   x0         single-def
-;  V01 arg1         [V01,T03] (  3, 10   )    long  ->   x1         single-def
-;  V02 loc0         [V02,T00] (  5, 40   )    long  ->   x2        
-;  V03 loc1         [V03,T01] (  5, 27   )    long  ->   x3        
+;  V00 arg0         [V00,T02] (  6, 20   )   byref  ->   x0         single-def
+;  V01 arg1         [V01,T03] (  4, 11   )    long  ->   x1         single-def
+;  V02 loc0         [V02,T00] ( 10, 45   )    long  ->   x2        
+;  V03 loc1         [V03,T01] ( 10, 32   )    long  ->   x3        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
 
-G_M36377_IG01:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+G_M36377_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M36377_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+                       ;; size=8 bbWeight=1 PerfScore 1.50
+G_M36377_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             ; byrRegs +[x0]
             ldr     x2, [x0]
             add     x3, x2, x1
+            movn    x4, #0xD1FFAB1E LSL #48
             cmp     x3, x2
-            bge     G_M36377_IG04
-                       ;; size=16 bbWeight=8 PerfScore 40.00
-G_M36377_IG03:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
-            movn    x3, #0xD1FFAB1E LSL #48
-                       ;; size=4 bbWeight=2 PerfScore 1.00
-G_M36377_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            csel    x3, x3, x4, ge
             mov     x4, x2
             casal   x4, x3, [x0]
             cmp     x4, x2
-            bne     G_M36377_IG02
+            beq     G_M36377_IG06
+                       ;; size=36 bbWeight=1 PerfScore 10.00
+G_M36377_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            ldr     x2, [x0]
+            add     x3, x2, x1
+            cmp     x3, x2
+            bge     G_M36377_IG05
                       ;; size=16 bbWeight=8 PerfScore 40.00
-G_M36377_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M36377_IG04:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+            movn    x3, #0xD1FFAB1E LSL #48
+                       ;; size=4 bbWeight=2 PerfScore 1.00
+G_M36377_IG05:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            mov     x4, x2
+            casal   x4, x3, [x0]
+            cmp     x4, x2
+            bne     G_M36377_IG03
+                       ;; size=16 bbWeight=8 PerfScore 40.00
+G_M36377_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; byrRegs -[x0]
             mov     x0, x3
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M36377_IG06:        ; bbWeight=1, epilog, nogc, extend
+G_M36377_IG07:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 56, prolog size 8, PerfScore 95.50, instruction count 14, allocated bytes for code 56 (MethodHash=ecbb71e6) for method System.GC:InterlockedAddMemoryPressure(byref,long):long (FullOpts)
+; Total bytes of code 92, prolog size 8, PerfScore 95.00, instruction count 23, allocated bytes for code 92 (MethodHash=ecbb71e6) for method System.GC:InterlockedAddMemoryPressure(byref,long):long (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -55,7 +66,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
+  Function Length   : 23 (0x00017) Actual length = 92 (0x00005c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
  
Details
Improvements/regressions per collection
| Collection | Contexts with diffs | Improvements | Regressions | Same size | Improvements (bytes) | Regressions (bytes) | 
| benchmarks.run.windows.arm64.checked.mch | 5,626 | 25 | 5,498 | 103 | -508 | +1,647,964 | 
| benchmarks.run_pgo.windows.arm64.checked.mch | 18,896 | 85 | 18,759 | 52 | -4,708 | +6,913,256 | 
| benchmarks.run_tiered.windows.arm64.checked.mch | 2,820 | 9 | 2,807 | 4 | -156 | +896,124 | 
| coreclr_tests.run.windows.arm64.checked.mch | 31,408 | 1,522 | 29,559 | 327 | -50,512 | +7,448,444 | 
| libraries.crossgen2.windows.arm64.checked.mch | 22,674 | 235 | 22,403 | 36 | -2,976 | +5,105,580 | 
| libraries.pmi.windows.arm64.checked.mch | 26,140 | 120 | 25,927 | 93 | -1,644 | +7,379,796 | 
| libraries_tests.run.windows.arm64.Release.mch | 47,145 | 437 | 46,331 | 377 | -27,428 | +23,917,036 | 
| librariestestsnotieredcompilation.run.windows.arm64.Release.mch | 25,997 | 134 | 25,725 | 138 | -4,708 | +10,460,032 | 
| realworld.run.windows.arm64.checked.mch | 5,080 | 28 | 5,033 | 19 | -544 | +1,927,344 | 
| smoke_tests.nativeaot.windows.arm64.checked.mch | 2,315 | 11 | 2,287 | 17 | -72 | +415,312 | 
|  | 188,101 | 2,606 | 184,329 | 1,166 | -93,256 | +66,110,888 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| benchmarks.run.windows.arm64.checked.mch | 24,176 | 4 | 24,172 | 230 (0.94%) | 271 (1.11%) | 
| benchmarks.run_pgo.windows.arm64.checked.mch | 96,634 | 48,066 | 48,568 | 104 (0.11%) | 349 (0.36%) | 
| benchmarks.run_tiered.windows.arm64.checked.mch | 48,396 | 36,693 | 11,703 | 61 (0.13%) | 77 (0.16%) | 
| coreclr_tests.run.windows.arm64.checked.mch | 594,952 | 362,539 | 232,413 | 442 (0.07%) | 751 (0.13%) | 
| libraries.crossgen2.windows.arm64.checked.mch | 243,664 | 15 | 243,649 | 0 (0.00%) | 167 (0.07%) | 
| libraries.pmi.windows.arm64.checked.mch | 302,605 | 6 | 302,599 | 2,059 (0.68%) | 2,266 (0.74%) | 
| libraries_tests.run.windows.arm64.Release.mch | 624,361 | 460,799 | 163,562 | 901 (0.14%) | 1,693 (0.27%) | 
| librariestestsnotieredcompilation.run.windows.arm64.Release.mch | 314,630 | 21,559 | 293,071 | 2,183 (0.69%) | 2,407 (0.76%) | 
| realworld.run.windows.arm64.checked.mch | 32,809 | 3 | 32,806 | 370 (1.11%) | 435 (1.31%) | 
| smoke_tests.nativeaot.windows.arm64.checked.mch | 24,095 | 8 | 24,087 | 3 (0.01%) | 60 (0.25%) | 
|  | 2,306,322 | 929,692 | 1,376,630 | 6,353 (0.27%) | 8,476 (0.37%) | 
jit-analyze output
benchmarks.run.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 10657768 (overridden on cmd)
Total bytes of diff: 12305224 (overridden on cmd)
Total bytes of delta: 1647456 (15.46 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       25440 : 21309.dasm (66.22 % of base)
       15840 : 8883.dasm (45.73 % of base)
       13092 : 18236.dasm (97.35 % of base)
        8592 : 22653.dasm (79.23 % of base)
        8368 : 1346.dasm (74.79 % of base)
        8288 : 15998.dasm (77.92 % of base)
        7848 : 10175.dasm (58.69 % of base)
        7516 : 22258.dasm (36.64 % of base)
        7352 : 8152.dasm (87.40 % of base)
        7288 : 24060.dasm (80.91 % of base)
        7240 : 15628.dasm (62.31 % of base)
        7124 : 17291.dasm (86.00 % of base)
        6404 : 22714.dasm (33.28 % of base)
        6404 : 9503.dasm (82.19 % of base)
        6140 : 20097.dasm (68.13 % of base)
        6092 : 18188.dasm (79.70 % of base)
        5996 : 4200.dasm (94.16 % of base)
        5952 : 9060.dasm (57.72 % of base)
        5712 : 18489.dasm (97.81 % of base)
        5288 : 22230.dasm (87.84 % of base)
Top file improvements (bytes):
        -112 : 460.dasm (-10.65 % of base)
         -72 : 22668.dasm (-4.97 % of base)
         -68 : 2114.dasm (-16.04 % of base)
         -56 : 19523.dasm (-5.58 % of base)
         -24 : 8902.dasm (-1.39 % of base)
         -16 : 10167.dasm (-1.75 % of base)
         -16 : 22041.dasm (-5.33 % of base)
         -16 : 7281.dasm (-3.54 % of base)
         -16 : 9027.dasm (-0.89 % of base)
         -12 : 5967.dasm (-4.41 % of base)
         -12 : 5006.dasm (-2.29 % of base)
         -12 : 16995.dasm (-2.29 % of base)
         -12 : 19473.dasm (-2.27 % of base)
          -8 : 10561.dasm (-1.21 % of base)
          -8 : 15225.dasm (-0.88 % of base)
          -8 : 22081.dasm (-0.81 % of base)
          -8 : 8636.dasm (-2.13 % of base)
          -4 : 9769.dasm (-2.17 % of base)
          -4 : 100.dasm (-2.08 % of base)
          -4 : 219.dasm (-2.00 % of base)
83 total files with Code Size differences (23 improved, 60 regressed), 20 unchanged.
Top method regressions (bytes):
       25440 (66.22 % of base) : 21309.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.IndexViewModel,int) (FullOpts)
       15840 (45.73 % of base) : 8883.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.MyEventsListerItem,int) (FullOpts)
       13092 (97.35 % of base) : 18236.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        8592 (79.23 % of base) : 22653.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (FullOpts)
        8368 (74.79 % of base) : 1346.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        8288 (77.92 % of base) : 15998.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.Location,int) (FullOpts)
        7848 (58.69 % of base) : 10175.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.CollectionsOfPrimitives,int) (FullOpts)
        7516 (36.64 % of base) : 22258.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        7352 (87.40 % of base) : 8152.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (FullOpts)
        7288 (80.91 % of base) : 24060.dasm - (dynamicClass):ReadMyEventsListerItemFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        7240 (62.31 % of base) : 15628.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
        7124 (86.00 % of base) : 17291.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
        6404 (33.28 % of base) : 22714.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        6404 (82.19 % of base) : 9503.dasm - (dynamicClass):ReadActiveOrUpcomingEventFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        6140 (68.13 % of base) : 20097.dasm - Benchstone.BenchF.LLoops:Main1(int):this (FullOpts)
        6092 (79.70 % of base) : 18188.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeOneDeclaredBases(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Tuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]]:this (FullOpts)
        5996 (94.16 % of base) : 4200.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        5952 (57.72 % of base) : 9060.dasm - Jil.Deserialize.Methods:SkipWithLeadCharThunkReader(byref,int) (FullOpts)
        5712 (97.81 % of base) : 18489.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:ComputeInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+SynthesizedExplicitImplementations:this (FullOpts)
        5288 (87.84 % of base) : 22230.dasm - (dynamicClass):ReadLocationFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
Top method improvements (bytes):
        -112 (-10.65 % of base) : 460.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -72 (-4.97 % of base) : 22668.dasm - System.Runtime.Serialization.DataContracts.XmlDataContract:GenerateCreateXmlSerializableDelegate():System.Runtime.Serialization.DataContracts.CreateXmlSerializableDelegate:this (FullOpts)
         -68 (-16.04 % of base) : 2114.dasm - System.Threading.PortableThreadPool:EnsureIOCompletionPollers():this (FullOpts)
         -56 (-5.58 % of base) : 19523.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetProperties>d__63:MoveNext():ubyte:this (FullOpts)
         -24 (-1.39 % of base) : 8902.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:.cctor() (FullOpts)
         -16 (-0.89 % of base) : 9027.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:ReadNullable(System.Reflection.MemberInfo,System.Type):this (FullOpts)
         -16 (-1.75 % of base) : 10167.dasm - Jil.Serialize.InlineSerializer`1[System.__Canon]:WriteISO8601StyleDateTime():this (FullOpts)
         -16 (-3.54 % of base) : 7281.dasm - ProtoBuf.Internal.Serializers.PropertyDecorator:GetShadowSetter(System.Reflection.PropertyInfo):System.Reflection.MethodInfo (FullOpts)
         -16 (-5.33 % of base) : 22041.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:CreateInstance(System.Type,System.Type):System.Object (FullOpts)
         -12 (-2.27 % of base) : 19473.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetEvents>d__29:MoveNext():ubyte:this (FullOpts)
         -12 (-2.29 % of base) : 16995.dasm - Microsoft.CodeAnalysis.GreenNode:.ctor(ushort,Microsoft.CodeAnalysis.DiagnosticInfo[],Microsoft.CodeAnalysis.SyntaxAnnotation[],int):this (FullOpts)
         -12 (-4.41 % of base) : 5967.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -12 (-2.29 % of base) : 5006.dasm - System.Reflection.Emit.RuntimeTypeBuilder:DefineFieldCore(System.String,System.Type,System.Type[],System.Type[],int):System.Reflection.Emit.FieldBuilder:this (FullOpts)
          -8 (-0.81 % of base) : 22081.dasm - BenchmarksGame.FannkuchRedux_9:Bench(int,ubyte):int (FullOpts)
          -8 (-0.88 % of base) : 15225.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceLookupHelpers:.cctor() (FullOpts)
          -8 (-2.13 % of base) : 8636.dasm - Sigil.Impl.LinqAlternative+<_Where>d__2`1[int]:MoveNext():ubyte:this (FullOpts)
          -8 (-1.21 % of base) : 10561.dasm - System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.00 % of base) : 219.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-1.85 % of base) : 6101.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.Linq.Expressions.Compiler.BoundConstants+TypedConstant,int]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.08 % of base) : 100.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (FullOpts)
Top method regressions (percentages):
        1732 (107.98 % of base) : 22238.dasm - Benchstone.BenchF.Romber:Test():ubyte:this (FullOpts)
        1544 (100.00 % of base) : 284.dasm - System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts)
        2816 (98.60 % of base) : 7529.dasm - MicroBenchmarks.Serializers.ActiveOrUpcomingEvent:proto_8(byref,MicroBenchmarks.Serializers.ActiveOrUpcomingEvent):MicroBenchmarks.Serializers.ActiveOrUpcomingEvent (FullOpts)
        1260 (98.13 % of base) : 21240.dasm - Benchstone.BenchF.MatInv4:MinV1(float[],byref,byref,float[],float[]) (FullOpts)
        5712 (97.81 % of base) : 18489.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:ComputeInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+SynthesizedExplicitImplementations:this (FullOpts)
       13092 (97.35 % of base) : 18236.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        3308 (97.29 % of base) : 22730.dasm - MicroBenchmarks.Serializers.Location:proto_2(byref,MicroBenchmarks.Serializers.Location):MicroBenchmarks.Serializers.Location (FullOpts)
        2748 (97.03 % of base) : 5057.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteMemberBegin(System.Xml.Serialization.XmlSerializationReaderILGen+Member[]):this (FullOpts)
        2196 (96.83 % of base) : 17592.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation+ReferenceManager:SetupReferencesForFileAssembly(Microsoft.CodeAnalysis.CSharp.CSharpCompilation+ReferenceManager+AssemblyDataForFile,Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol][],byref,byref,Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol) (FullOpts)
        2496 (96.59 % of base) : 7614.dasm - MicroBenchmarks.Serializers.CampaignSummaryViewModel:proto_10(byref,MicroBenchmarks.Serializers.CampaignSummaryViewModel):MicroBenchmarks.Serializers.CampaignSummaryViewModel (FullOpts)
         564 (96.58 % of base) : 21927.dasm - System.Text.Json.Utf8JsonReader:SkipAllCommentsMultiSegment(byref):ubyte:this (FullOpts)
        1880 (96.51 % of base) : 10751.dasm - System.Tests.Perf_Array:ArrayRetrieve1D():int:this (FullOpts)
        2396 (96.30 % of base) : 16969.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:LexSyntaxTrivia(ubyte,ubyte,byref):this (FullOpts)
        1740 (96.03 % of base) : 5936.dasm - Newtonsoft.Json.Serialization.DefaultContractResolver:GetCallbackMethodsForType(System.Type,byref,byref,byref,byref,byref):this (FullOpts)
        2068 (95.74 % of base) : 23404.dasm - ProtoBuf.Internal.PrimaryTypeProvider:ProtoBuf.Serializers.ISerializer<ProtoBuf.Internal.PrimaryTypeProvider.ScaledTicks>.Read(byref,ProtoBuf.Internal.PrimaryTypeProvider+ScaledTicks):ProtoBuf.Internal.PrimaryTypeProvider+ScaledTicks:this (FullOpts)
        1324 (95.66 % of base) : 21242.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (FullOpts)
        1584 (95.65 % of base) : 22412.dasm - MicroBenchmarks.Serializers.LoginViewModel:proto_2(byref,MicroBenchmarks.Serializers.LoginViewModel):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
        2964 (95.61 % of base) : 20179.dasm - MicroBenchmarks.Serializers.MyEventsListerItem:proto_8(byref,MicroBenchmarks.Serializers.MyEventsListerItem):MicroBenchmarks.Serializers.MyEventsListerItem (FullOpts)
         772 (95.54 % of base) : 20480.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseDeclarationModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this (FullOpts)
        1156 (95.38 % of base) : 15928.dasm - System.Text.Tests.Perf_StringBuilder:Append_Strings(int):System.Text.StringBuilder:this (FullOpts)
Top method improvements (percentages):
         -68 (-16.04 % of base) : 2114.dasm - System.Threading.PortableThreadPool:EnsureIOCompletionPollers():this (FullOpts)
        -112 (-10.65 % of base) : 460.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -56 (-5.58 % of base) : 19523.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetProperties>d__63:MoveNext():ubyte:this (FullOpts)
         -16 (-5.33 % of base) : 22041.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:CreateInstance(System.Type,System.Type):System.Object (FullOpts)
         -72 (-4.97 % of base) : 22668.dasm - System.Runtime.Serialization.DataContracts.XmlDataContract:GenerateCreateXmlSerializableDelegate():System.Runtime.Serialization.DataContracts.CreateXmlSerializableDelegate:this (FullOpts)
         -12 (-4.41 % of base) : 5967.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -16 (-3.54 % of base) : 7281.dasm - ProtoBuf.Internal.Serializers.PropertyDecorator:GetShadowSetter(System.Reflection.PropertyInfo):System.Reflection.MethodInfo (FullOpts)
         -12 (-2.29 % of base) : 16995.dasm - Microsoft.CodeAnalysis.GreenNode:.ctor(ushort,Microsoft.CodeAnalysis.DiagnosticInfo[],Microsoft.CodeAnalysis.SyntaxAnnotation[],int):this (FullOpts)
         -12 (-2.29 % of base) : 5006.dasm - System.Reflection.Emit.RuntimeTypeBuilder:DefineFieldCore(System.String,System.Type,System.Type[],System.Type[],int):System.Reflection.Emit.FieldBuilder:this (FullOpts)
         -12 (-2.27 % of base) : 19473.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetEvents>d__29:MoveNext():ubyte:this (FullOpts)
          -4 (-2.17 % of base) : 9769.dasm - System.Collections.Generic.HashSet`1+Enumerator[int]:MoveNext():ubyte:this (FullOpts)
          -8 (-2.13 % of base) : 8636.dasm - Sigil.Impl.LinqAlternative+<_Where>d__2`1[int]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.13 % of base) : 3600.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.08 % of base) : 100.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.08 % of base) : 4474.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.Net.CredentialHostKey,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.00 % of base) : 219.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-1.85 % of base) : 6101.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.Linq.Expressions.Compiler.BoundConstants+TypedConstant,int]:MoveNext():ubyte:this (FullOpts)
         -16 (-1.75 % of base) : 10167.dasm - Jil.Serialize.InlineSerializer`1[System.__Canon]:WriteISO8601StyleDateTime():this (FullOpts)
         -24 (-1.39 % of base) : 8902.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:.cctor() (FullOpts)
          -8 (-1.21 % of base) : 10561.dasm - System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
  
benchmarks.run_pgo.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 46143416 (overridden on cmd)
Total bytes of diff: 53051964 (overridden on cmd)
Total bytes of delta: 6908548 (14.97 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       25440 : 72141.dasm (66.22 % of base)
       15840 : 23030.dasm (45.70 % of base)
        9608 : 84002.dasm (97.64 % of base)
        9092 : 82166.dasm (79.17 % of base)
        9040 : 82178.dasm (79.77 % of base)
        8568 : 82177.dasm (78.90 % of base)
        8288 : 47066.dasm (77.92 % of base)
        7740 : 26392.dasm (56.98 % of base)
        7516 : 80242.dasm (36.64 % of base)
        7092 : 93601.dasm (75.83 % of base)
        6740 : 45186.dasm (61.97 % of base)
        6716 : 52022.dasm (70.37 % of base)
        6588 : 52038.dasm (69.46 % of base)
        6404 : 82941.dasm (33.28 % of base)
        6116 : 52037.dasm (67.74 % of base)
        6096 : 92122.dasm (79.09 % of base)
        5832 : 25251.dasm (80.69 % of base)
        5808 : 65013.dasm (96.80 % of base)
        5420 : 80335.dasm (96.37 % of base)
        5420 : 80383.dasm (96.37 % of base)
Top file improvements (bytes):
        -236 : 96685.dasm (-2.41 % of base)
        -212 : 33135.dasm (-2.29 % of base)
        -156 : 94593.dasm (-20.63 % of base)
        -156 : 42972.dasm (-20.74 % of base)
        -152 : 43783.dasm (-20.00 % of base)
        -148 : 49264.dasm (-19.89 % of base)
        -148 : 49265.dasm (-1.55 % of base)
        -148 : 89421.dasm (-1.51 % of base)
        -148 : 93936.dasm (-1.55 % of base)
        -128 : 96592.dasm (-1.36 % of base)
        -124 : 13260.dasm (-21.09 % of base)
        -124 : 15867.dasm (-21.09 % of base)
        -124 : 28083.dasm (-21.09 % of base)
        -124 : 40460.dasm (-21.09 % of base)
        -124 : 47574.dasm (-21.09 % of base)
        -124 : 51206.dasm (-21.09 % of base)
        -124 : 13666.dasm (-21.09 % of base)
        -124 : 76247.dasm (-21.09 % of base)
        -124 : 83182.dasm (-21.09 % of base)
        -124 : 13890.dasm (-21.09 % of base)
92 total files with Code Size differences (29 improved, 63 regressed), 20 unchanged.
Top method regressions (bytes):
       25440 (66.22 % of base) : 72141.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.IndexViewModel,int) (FullOpts)
       15840 (45.70 % of base) : 23030.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.MyEventsListerItem,int) (FullOpts)
        9608 (97.64 % of base) : 84002.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
        9092 (79.17 % of base) : 82166.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1-OSR)
        9040 (79.77 % of base) : 82178.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1-OSR)
        8568 (78.90 % of base) : 82177.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1)
        8288 (77.92 % of base) : 47066.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.Location,int) (FullOpts)
        7740 (56.98 % of base) : 26392.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.CollectionsOfPrimitives,int) (FullOpts)
        7516 (36.64 % of base) : 80242.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        7092 (75.83 % of base) : 93601.dasm - System.Text.RegularExpressions.RegexParser:ScanRegex():System.Text.RegularExpressions.RegexNode:this (Tier1)
        6740 (61.97 % of base) : 45186.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
        6716 (70.37 % of base) : 52022.dasm - Benchstone.BenchF.LLoops:Main1(int):this (Tier1-OSR)
        6588 (69.46 % of base) : 52038.dasm - Benchstone.BenchF.LLoops:Main1(int):this (Tier1-OSR)
        6404 (33.28 % of base) : 82941.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        6116 (67.74 % of base) : 52037.dasm - Benchstone.BenchF.LLoops:Main1(int):this (Tier1)
        6096 (79.09 % of base) : 92122.dasm - (dynamicClass):ReadMyEventsListerItemFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        5832 (80.69 % of base) : 25251.dasm - (dynamicClass):ReadActiveOrUpcomingEventFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        5808 (96.80 % of base) : 65013.dasm - System.Collections.Generic.ArraySortHelper`1[System.__Canon]:IntroSort(System.Span`1[System.__Canon],int,System.Comparison`1[System.__Canon]) (Tier1)
        5420 (96.37 % of base) : 80335.dasm - System.Text.Json.JsonDocument:Parse(System.ReadOnlySpan`1[ubyte],System.Text.Json.JsonReaderOptions,byref,byref) (Tier1-OSR)
        5420 (96.37 % of base) : 80383.dasm - System.Text.Json.JsonDocument:Parse(System.ReadOnlySpan`1[ubyte],System.Text.Json.JsonReaderOptions,byref,byref) (Tier1-OSR)
Top method improvements (bytes):
        -236 (-2.41 % of base) : 96685.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -212 (-2.29 % of base) : 33135.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -156 (-20.63 % of base) : 94593.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-20.74 % of base) : 42972.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -152 (-20.00 % of base) : 43783.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,int):int (Tier1)
        -148 (-19.89 % of base) : 49264.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,int):int (Tier1)
        -148 (-1.55 % of base) : 49265.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -148 (-1.51 % of base) : 89421.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -148 (-1.55 % of base) : 93936.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -128 (-1.36 % of base) : 96592.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -124 (-21.09 % of base) : 13260.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 15867.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 28083.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 40460.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 47574.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 51206.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 13666.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 76247.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 83182.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 13890.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
Top method regressions (percentages):
        3180 (122.87 % of base) : 43704.dasm - System.Buffers.Text.Base64:Vector128Encode(byref,byref,ulong,int,int,ulong,ulong) (Tier1-OSR)
        3172 (122.57 % of base) : 92739.dasm - System.Buffers.Text.Base64:Vector128Encode(byref,byref,ulong,int,int,ulong,ulong) (Tier1-OSR)
        2528 (106.40 % of base) : 90657.dasm - NumericSortJagged:Run():double:this (Tier1)
        2572 (105.58 % of base) : 49304.dasm - System.Buffers.Tests.NonStandardArrayPoolTests`1[System.__Canon]:RentNoReturn():this (Tier1-OSR)
        2588 (105.55 % of base) : 46399.dasm - System.Buffers.Tests.NonStandardArrayPoolTests`1[ubyte]:RentNoReturn():this (Tier1-OSR)
        2220 (105.51 % of base) : 95062.dasm - StringSort:DoStringSortIteration(System.String[][],int,int):int (Tier1)
        1588 (103.39 % of base) : 71435.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
        1684 (102.93 % of base) : 94289.dasm - Benchstone.MDBenchI.MDPuzzle:Trial(int):ubyte:this (Tier1)
        1696 (101.92 % of base) : 34676.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength8OrLongerOrUnknown,System.Buffers.StringSearchValuesHelper+CaseInsensitiveAsciiLetters]:IndexOf(byref,int):int:this (Tier1-OSR)
        1716 (101.90 % of base) : 34673.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength4To7,System.Buffers.StringSearchValuesHelper+CaseInsensitiveAsciiLetters]:IndexOf(byref,int):int:this (Tier1-OSR)
        1196 (101.70 % of base) : 95050.dasm - StringSort:StrHeapSort(System.String[],int,int) (Tier1-OSR)
        4136 (101.17 % of base) : 92795.dasm - System.Collections.Generic.ArraySortHelper`1[System.Collections.BigStruct]:IntroSort(System.Span`1[System.Collections.BigStruct],int,System.Comparison`1[System.Collections.BigStruct]) (Tier1)
        2576 (100.78 % of base) : 51176.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1)
        4104 (100.59 % of base) : 88524.dasm - System.Collections.Generic.ArraySortHelper`1[System.Collections.BigStruct]:IntroSort(System.Span`1[System.Collections.BigStruct],int,System.Comparison`1[System.Collections.BigStruct]) (Tier1)
        1592 (100.51 % of base) : 67176.dasm - Benchstone.BenchI.Puzzle:Trial(int):ubyte:this (Tier1)
        1380 (100.29 % of base) : 42411.dasm - System.Collections.Generic.ArraySortHelper`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]:InsertionSort(System.Span`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet],System.Comparison`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]) (Tier1)
        3764 (100.21 % of base) : 31011.dasm - EMFloat:SetupCPUEmFloatArrays(EMFloat+InternalFPF[],EMFloat+InternalFPF[],EMFloat+InternalFPF[],int) (Tier1)
        2088 (100.19 % of base) : 9356.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength4To7,System.Buffers.StringSearchValuesHelper+CaseInsensitiveAsciiLetters]:IndexOf(byref,int):int:this (Tier1-OSR)
        2164 (100.00 % of base) : 13140.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseInsensitiveAsciiLetters]:IndexOf(byref,int):int:this (Tier1-OSR)
        3384 (99.88 % of base) : 96591.dasm - System.Text.RegularExpressions.Regex:RunAllMatchesWithCallback[int](System.String,System.ReadOnlySpan`1[ushort],int,byref,System.Text.RegularExpressions.MatchCallback`1[int],int,ubyte):this (Tier1-OSR)
Top method improvements (percentages):
        -124 (-21.09 % of base) : 13260.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 15867.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 28083.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 40460.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 47574.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 51206.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 13666.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 76247.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 83182.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 13890.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 46184.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 53105.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.09 % of base) : 74590.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -156 (-20.74 % of base) : 42972.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-20.63 % of base) : 94593.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -152 (-20.00 % of base) : 43783.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,int):int (Tier1)
        -148 (-19.89 % of base) : 49264.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,int):int (Tier1)
         -84 (-9.05 % of base) : 78698.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -88 (-8.94 % of base) : 25805.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -88 (-8.94 % of base) : 77301.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
  
benchmarks.run_tiered.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 15239072 (overridden on cmd)
Total bytes of diff: 16135040 (overridden on cmd)
Total bytes of delta: 895968 (5.88 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       25484 : 42697.dasm (66.45 % of base)
       15840 : 19312.dasm (45.73 % of base)
       11400 : 46125.dasm (101.93 % of base)
        8592 : 45512.dasm (79.23 % of base)
        8288 : 30580.dasm (77.92 % of base)
        7848 : 21424.dasm (58.69 % of base)
        7516 : 45121.dasm (36.64 % of base)
        7352 : 27689.dasm (87.69 % of base)
        7240 : 30289.dasm (62.31 % of base)
        6404 : 45636.dasm (33.28 % of base)
        6140 : 39554.dasm (68.13 % of base)
        6016 : 47567.dasm (78.87 % of base)
        5724 : 21190.dasm (80.39 % of base)
        5272 : 19648.dasm (36.15 % of base)
        4712 : 42032.dasm (66.55 % of base)
        4644 : 19641.dasm (57.45 % of base)
        4624 : 3491.dasm (86.46 % of base)
        4556 : 44845.dasm (85.96 % of base)
        4372 : 46736.dasm (32.02 % of base)
        4340 : 47293.dasm (41.38 % of base)
Top file improvements (bytes):
        -112 : 5406.dasm (-11.34 % of base)
         -12 : 43124.dasm (-4.41 % of base)
          -8 : 22566.dasm (-1.21 % of base)
          -4 : 38627.dasm (-2.13 % of base)
          -4 : 41517.dasm (-0.46 % of base)
          -4 : 4237.dasm (-1.96 % of base)
          -4 : 926.dasm (-2.08 % of base)
          -4 : 19321.dasm (-0.93 % of base)
          -4 : 19355.dasm (-2.13 % of base)
83 total files with Code Size differences (9 improved, 74 regressed), 4 unchanged.
Top method regressions (bytes):
       25484 (66.45 % of base) : 42697.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.IndexViewModel,int) (FullOpts)
       15840 (45.73 % of base) : 19312.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.MyEventsListerItem,int) (FullOpts)
       11400 (101.93 % of base) : 46125.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
        8592 (79.23 % of base) : 45512.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1)
        8288 (77.92 % of base) : 30580.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.Location,int) (FullOpts)
        7848 (58.69 % of base) : 21424.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.CollectionsOfPrimitives,int) (FullOpts)
        7516 (36.64 % of base) : 45121.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        7352 (87.69 % of base) : 27689.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (Tier1)
        7240 (62.31 % of base) : 30289.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
        6404 (33.28 % of base) : 45636.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        6140 (68.13 % of base) : 39554.dasm - Benchstone.BenchF.LLoops:Main1(int):this (Tier1)
        6016 (78.87 % of base) : 47567.dasm - (dynamicClass):ReadMyEventsListerItemFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        5724 (80.39 % of base) : 21190.dasm - (dynamicClass):ReadActiveOrUpcomingEventFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        5272 (36.15 % of base) : 19648.dasm - (dynamicClass):_DynamicMethod3(byref,int):MicroBenchmarks.Serializers.MyEventsListerItem (FullOpts)
        4712 (66.55 % of base) : 42032.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseExpressionContinued(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax,uint):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (Tier1)
        4644 (57.45 % of base) : 19641.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
        4624 (86.46 % of base) : 3491.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier0-FullOpts)
        4556 (85.96 % of base) : 44845.dasm - (dynamicClass):ReadLocationFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        4372 (32.02 % of base) : 46736.dasm - (dynamicClass):_DynamicMethod3(System.IO.TextReader,int):MicroBenchmarks.Serializers.MyEventsListerItem (FullOpts)
        4340 (41.38 % of base) : 47293.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.CollectionsOfPrimitives (FullOpts)
Top method improvements (bytes):
        -112 (-11.34 % of base) : 5406.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -12 (-4.41 % of base) : 43124.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -8 (-1.21 % of base) : 22566.dasm - System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-0.46 % of base) : 41517.dasm - Microsoft.CodeAnalysis.SyntaxNode+<DescendantNodesOnly>d__172:MoveNext():ubyte:this (Tier1)
          -4 (-1.96 % of base) : 4237.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-2.08 % of base) : 926.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (Tier1)
          -4 (-2.13 % of base) : 38627.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:MoveNext():ubyte:this (Tier1)
          -4 (-2.13 % of base) : 19355.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-0.93 % of base) : 19321.dasm - System.Linq.Enumerable+<OfTypeIterator>d__64`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
Top method regressions (percentages):
        1652 (110.72 % of base) : 42800.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
        1456 (106.12 % of base) : 42796.dasm - Benchstone.BenchF.MatInv4:MinV1(float[],byref,byref,float[],float[]) (Tier1-OSR)
       11400 (101.93 % of base) : 46125.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
        1544 (100.00 % of base) : 1276.dasm - System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this (Tier1)
        2836 (98.61 % of base) : 13832.dasm - MicroBenchmarks.Serializers.ActiveOrUpcomingEvent:proto_8(byref,MicroBenchmarks.Serializers.ActiveOrUpcomingEvent):MicroBenchmarks.Serializers.ActiveOrUpcomingEvent (FullOpts)
        3308 (97.29 % of base) : 45645.dasm - MicroBenchmarks.Serializers.Location:proto_2(byref,MicroBenchmarks.Serializers.Location):MicroBenchmarks.Serializers.Location (FullOpts)
        2516 (96.62 % of base) : 13853.dasm - MicroBenchmarks.Serializers.CampaignSummaryViewModel:proto_10(byref,MicroBenchmarks.Serializers.CampaignSummaryViewModel):MicroBenchmarks.Serializers.CampaignSummaryViewModel (FullOpts)
        2232 (96.04 % of base) : 41803.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:LexSyntaxTrivia(ubyte,ubyte,byref):this (Tier1)
         828 (95.83 % of base) : 41982.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseDeclarationModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this (Tier1)
        3384 (95.70 % of base) : 22430.dasm - System.Text.Json.JsonDocument:Parse(System.ReadOnlySpan`1[ubyte],System.Text.Json.JsonReaderOptions,byref,byref) (Tier1-OSR)
        1584 (95.65 % of base) : 45138.dasm - MicroBenchmarks.Serializers.LoginViewModel:proto_2(byref,MicroBenchmarks.Serializers.LoginViewModel):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
        2984 (95.64 % of base) : 40109.dasm - MicroBenchmarks.Serializers.MyEventsListerItem:proto_8(byref,MicroBenchmarks.Serializers.MyEventsListerItem):MicroBenchmarks.Serializers.MyEventsListerItem (FullOpts)
        2060 (94.67 % of base) : 29383.dasm - AssignRect:second_assignments(int[,],short[,]) (Tier1-OSR)
         820 (94.47 % of base) : 48092.dasm - SciMark2.kernel:CopyMatrix(double[][],double[][]) (Tier1)
         728 (94.30 % of base) : 44142.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
        1376 (94.25 % of base) : 40110.dasm - MicroBenchmarks.Serializers.MyEventsListerItemTask:proto_10(byref,MicroBenchmarks.Serializers.MyEventsListerItemTask):MicroBenchmarks.Serializers.MyEventsListerItemTask (FullOpts)
        1276 (94.10 % of base) : 29380.dasm - AssignRect:first_assignments(int[,],short[,]):int (Tier1-OSR)
        2284 (93.91 % of base) : 41905.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder,ubyte,ubyte,byref):this (Tier1)
         412 (93.64 % of base) : 31629.dasm - Benchstone.BenchF.InvMt:Inner(double[][],byref,byref) (Tier1-OSR)
        1292 (93.08 % of base) : 13813.dasm - MicroBenchmarks.Serializers.IndexViewModel:proto_2(byref,MicroBenchmarks.Serializers.IndexViewModel):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
Top method improvements (percentages):
        -112 (-11.34 % of base) : 5406.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -12 (-4.41 % of base) : 43124.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-2.13 % of base) : 38627.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:MoveNext():ubyte:this (Tier1)
          -4 (-2.13 % of base) : 19355.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-2.08 % of base) : 926.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (Tier1)
          -4 (-1.96 % of base) : 4237.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (Tier1)
          -8 (-1.21 % of base) : 22566.dasm - System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-0.93 % of base) : 19321.dasm - System.Linq.Enumerable+<OfTypeIterator>d__64`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-0.46 % of base) : 41517.dasm - Microsoft.CodeAnalysis.SyntaxNode+<DescendantNodesOnly>d__172:MoveNext():ubyte:this (Tier1)
  
coreclr_tests.run.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 493954596 (overridden on cmd)
Total bytes of diff: 501352528 (overridden on cmd)
Total bytes of delta: 7397932 (1.50 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
      126392 : 491318.dasm (99.73 % of base)
       26480 : 589057.dasm (98.91 % of base)
       16932 : 581782.dasm (92.06 % of base)
       13156 : 498880.dasm (97.57 % of base)
       12932 : 392761.dasm (115.75 % of base)
       12832 : 392599.dasm (86.66 % of base)
       12824 : 390124.dasm (87.07 % of base)
       12812 : 390850.dasm (114.31 % of base)
       10944 : 389467.dasm (98.74 % of base)
       10692 : 387243.dasm (72.03 % of base)
       10656 : 392405.dasm (99.07 % of base)
        9676 : 388963.dasm (99.22 % of base)
        9676 : 392225.dasm (99.22 % of base)
        9608 : 392581.dasm (88.21 % of base)
        9604 : 579762.dasm (91.08 % of base)
        9056 : 532525.dasm (90.96 % of base)
        9044 : 390074.dasm (86.20 % of base)
        8940 : 589336.dasm (100.22 % of base)
        8592 : 502725.dasm (79.17 % of base)
        8432 : 391481.dasm (68.07 % of base)
Top file improvements (bytes):
        -192 : 254748.dasm (-32.65 % of base)
        -192 : 267722.dasm (-32.65 % of base)
        -192 : 356297.dasm (-32.65 % of base)
        -192 : 385124.dasm (-32.65 % of base)
        -156 : 218877.dasm (-21.31 % of base)
        -156 : 250597.dasm (-21.31 % of base)
        -156 : 266993.dasm (-21.20 % of base)
        -156 : 295329.dasm (-21.31 % of base)
        -156 : 309577.dasm (-21.20 % of base)
        -156 : 312205.dasm (-21.20 % of base)
        -156 : 23713.dasm (-21.31 % of base)
        -156 : 258377.dasm (-21.31 % of base)
        -156 : 269925.dasm (-21.31 % of base)
        -156 : 301493.dasm (-21.31 % of base)
        -156 : 308485.dasm (-21.31 % of base)
        -156 : 314165.dasm (-21.20 % of base)
        -156 : 320561.dasm (-21.31 % of base)
        -156 : 36189.dasm (-21.20 % of base)
        -156 : 7333.dasm (-21.31 % of base)
        -156 : 224397.dasm (-21.20 % of base)
82 total files with Code Size differences (39 improved, 43 regressed), 20 unchanged.
Top method regressions (bytes):
      126392 (99.73 % of base) : 491318.dasm - Program:TestEntryPoint():int (FullOpts)
       26480 (98.91 % of base) : 589057.dasm - CseTest.Test_Main:TestEntryPoint():int (FullOpts)
       16932 (92.06 % of base) : 581782.dasm - Internal.IL.ILImporter:ImportBasicBlock(Internal.IL.ILImporter+BasicBlock):this (FullOpts)
       13156 (97.57 % of base) : 498880.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       12932 (115.75 % of base) : 392761.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugInfoTableNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (Tier1-OSR)
       12832 (86.66 % of base) : 392599.dasm - ILCompiler.DependencyAnalysis.ReadyToRunObjectWriter:EmitObjectData(ILCompiler.PEWriter.R2RPEBuilder,ILCompiler.DependencyAnalysis.ObjectNode+ObjectData,int,System.String,ILCompiler.DependencyAnalysis.ObjectNodeSection):this (Tier1)
       12824 (87.07 % of base) : 390124.dasm - ILCompiler.DependencyAnalysis.ReadyToRunObjectWriter:EmitObjectData(ILCompiler.PEWriter.R2RPEBuilder,ILCompiler.DependencyAnalysis.ObjectNode+ObjectData,int,System.String,ILCompiler.DependencyAnalysis.ObjectNodeSection):this (Tier1)
       12812 (114.31 % of base) : 390850.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugInfoTableNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (Tier1-OSR)
       10944 (98.74 % of base) : 389467.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
       10692 (72.03 % of base) : 387243.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (Tier1)
       10656 (99.07 % of base) : 392405.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
        9676 (99.22 % of base) : 388963.dasm - Internal.JitInterface.InstructionSetFlags:ExpandInstructionSetByImplicationHelper(int,Internal.JitInterface.InstructionSetFlags):Internal.JitInterface.InstructionSetFlags (Tier1)
        9676 (99.22 % of base) : 392225.dasm - Internal.JitInterface.InstructionSetFlags:ExpandInstructionSetByImplicationHelper(int,Internal.JitInterface.InstructionSetFlags):Internal.JitInterface.InstructionSetFlags (Tier1)
        9608 (88.21 % of base) : 392581.dasm - ILCompiler.DependencyAnalysis.ReadyToRunObjectWriter:EmitObjectData(ILCompiler.PEWriter.R2RPEBuilder,ILCompiler.DependencyAnalysis.ObjectNode+ObjectData,int,System.String,ILCompiler.DependencyAnalysis.ObjectNodeSection):this (Tier1-OSR)
        9604 (91.08 % of base) : 579762.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugDirectoryNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (FullOpts)
        9056 (90.96 % of base) : 532525.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        9044 (86.20 % of base) : 390074.dasm - ILCompiler.DependencyAnalysis.ReadyToRunObjectWriter:EmitObjectData(ILCompiler.PEWriter.R2RPEBuilder,ILCompiler.DependencyAnalysis.ObjectNode+ObjectData,int,System.String,ILCompiler.DependencyAnalysis.ObjectNodeSection):this (Tier1-OSR)
        8940 (100.22 % of base) : 589336.dasm - SimpleArray_01.Test:Test1() (FullOpts)
        8592 (79.17 % of base) : 502725.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (FullOpts)
        8432 (68.07 % of base) : 391481.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (Tier1)
Top method improvements (bytes):
        -192 (-32.65 % of base) : 254748.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 267722.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 356297.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 385124.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.31 % of base) : 218877.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.31 % of base) : 250597.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 266993.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.31 % of base) : 295329.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 309577.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 312205.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.31 % of base) : 23713.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.31 % of base) : 258377.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.31 % of base) : 269925.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.31 % of base) : 301493.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.31 % of base) : 308485.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 314165.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.31 % of base) : 320561.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 36189.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.31 % of base) : 7333.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -156 (-21.20 % of base) : 224397.dasm - System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
Top method regressions (percentages):
        1276 (131.28 % of base) : 526357.dasm - struct1:Process2DArray(byref) (FullOpts)
         844 (129.45 % of base) : 525671.dasm - class1:ProcessJagged2DArray(byref) (FullOpts)
        1248 (128.40 % of base) : 525670.dasm - class1:Process2DArray(byref) (FullOpts)
         908 (127.53 % of base) : 526358.dasm - struct1:ProcessJagged2DArray(byref) (FullOpts)
         676 (121.58 % of base) : 224984.dasm - Chaos.A0A0A0A0`1[System.__Canon]:RecurseA0A0A0A0(int):this (Tier1)
         512 (119.63 % of base) : 224831.dasm - Chaos.A0A0A0A0`1[System.__Canon]:RecurseA0A0A0A0(int):this (Tier1)
         496 (115.89 % of base) : 224877.dasm - Chaos.A0A0A0A0`1[System.__Canon]:RecurseA0A0A0A0(int):this (Tier1)
       12932 (115.75 % of base) : 392761.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugInfoTableNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (Tier1-OSR)
       12812 (114.31 % of base) : 390850.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugInfoTableNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (Tier1-OSR)
         472 (110.28 % of base) : 224875.dasm - Chaos.A0A0A3`1[System.__Canon]:RecurseA0A0A3(int):this (Tier1)
         472 (110.28 % of base) : 224874.dasm - Chaos.A0A3A4`1[System.__Canon]:RecurseA0A3A4(int):this (Tier1)
        1728 (109.92 % of base) : 387168.dasm - Internal.TypeSystem.InstantiatedType:InstantiateTypeArray[System.__Canon](System.__Canon[],Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation):System.__Canon[] (Tier1)
         832 (109.47 % of base) : 525979.dasm - Test_jaggedarr_basics.double1:Process2DArray(byref) (FullOpts)
         468 (109.35 % of base) : 224879.dasm - Chaos.A0A0A1:RecurseA0A0A1(int):this (Tier1)
         468 (109.35 % of base) : 224828.dasm - Chaos.A0A0A3`1[System.__Canon]:RecurseA0A0A3(int):this (Tier1)
         468 (109.35 % of base) : 224878.dasm - Chaos.A0A1A2`1[System.__Canon]:RecurseA0A1A2(int):this (Tier1)
         468 (109.35 % of base) : 224832.dasm - Chaos.A0A1A2`1[System.__Canon]:RecurseA0A1A2(int):this (Tier1)
         468 (109.35 % of base) : 224880.dasm - Chaos.A0A3:RecurseA0A3(int):this (Tier1)
         468 (109.35 % of base) : 224827.dasm - Chaos.A0A3A4`1[System.__Canon]:RecurseA0A3A4(int):this (Tier1)
         468 (109.35 % of base) : 224876.dasm - Chaos.A0A4`1[System.__Canon]:RecurseA0A4(int):this (Tier1)
Top method improvements (percentages):
         -68 (-56.67 % of base) : 540458.dasm - foo:Main():int (FullOpts)
         -92 (-41.82 % of base) : 501397.dasm - Benchstone.BenchF.BenchMk2:Bench():ubyte (FullOpts)
         -92 (-40.35 % of base) : 501399.dasm - Benchstone.BenchF.BenchMrk:Bench():ubyte (FullOpts)
        -192 (-32.65 % of base) : 254748.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 267722.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 356297.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 385124.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -124 (-21.38 % of base) : 228266.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 296118.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 356729.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 360578.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 361014.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 378293.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 383653.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 393049.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 225502.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 268237.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 308154.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 373801.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 391027.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
  
libraries.crossgen2.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 58806560 (overridden on cmd)
Total bytes of diff: 63909164 (overridden on cmd)
Total bytes of delta: 5102604 (8.68 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       56704 : 25122.dasm (72.10 % of base)
       18656 : 134264.dasm (68.11 % of base)
       12264 : 39897.dasm (97.92 % of base)
       11712 : 159977.dasm (90.76 % of base)
       11676 : 91432.dasm (75.23 % of base)
       10508 : 124833.dasm (74.76 % of base)
       10060 : 39793.dasm (94.48 % of base)
        8672 : 2225.dasm (75.28 % of base)
        8600 : 58755.dasm (97.77 % of base)
        8204 : 193654.dasm (43.21 % of base)
        6696 : 65273.dasm (88.85 % of base)
        6500 : 17703.dasm (94.53 % of base)
        6492 : 198774.dasm (69.93 % of base)
        6280 : 124766.dasm (85.23 % of base)
        5808 : 125018.dasm (81.66 % of base)
        5512 : 193707.dasm (95.96 % of base)
        5480 : 95042.dasm (79.84 % of base)
        5472 : 59072.dasm (83.82 % of base)
        5096 : 24604.dasm (30.25 % of base)
        5068 : 193981.dasm (88.23 % of base)
Top file improvements (bytes):
         -80 : 21010.dasm (-9.13 % of base)
         -48 : 132129.dasm (-0.49 % of base)
         -44 : 17270.dasm (-10.09 % of base)
         -40 : 148248.dasm (-8.40 % of base)
         -40 : 169752.dasm (-8.40 % of base)
         -36 : 218179.dasm (-5.59 % of base)
         -32 : 216695.dasm (-4.68 % of base)
         -32 : 222265.dasm (-3.45 % of base)
         -32 : 88243.dasm (-6.56 % of base)
         -28 : 178994.dasm (-5.43 % of base)
         -28 : 202117.dasm (-5.38 % of base)
         -28 : 217338.dasm (-4.86 % of base)
         -28 : 198854.dasm (-3.45 % of base)
         -28 : 239473.dasm (-5.69 % of base)
         -28 : 239477.dasm (-5.22 % of base)
         -28 : 157586.dasm (-5.43 % of base)
         -28 : 157590.dasm (-6.14 % of base)
         -28 : 159813.dasm (-5.98 % of base)
         -28 : 178886.dasm (-5.22 % of base)
         -28 : 89302.dasm (-4.27 % of base)
98 total files with Code Size differences (36 improved, 62 regressed), 20 unchanged.
Top method regressions (bytes):
       56704 (72.10 % of base) : 25122.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (FullOpts)
       18656 (68.11 % of base) : 134264.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
       12264 (97.92 % of base) : 39897.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
       11712 (90.76 % of base) : 159977.dasm - System.Management.ManagementClassGenerator:GenerateProperties():this (FullOpts)
       11676 (75.23 % of base) : 91432.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureForASingleCandidate(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.Location,int,byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.VisualBasic.Symbol):this (FullOpts)
       10508 (74.76 % of base) : 124833.dasm - System.Data.XmlTreeGen:HandleTable(System.Data.DataTable,System.Xml.XmlDocument,System.Xml.XmlElement,ubyte):System.Xml.XmlElement:this (FullOpts)
       10060 (94.48 % of base) : 39793.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
        8672 (75.28 % of base) : 2225.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        8600 (97.77 % of base) : 58755.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        8204 (43.21 % of base) : 193654.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
        6696 (88.85 % of base) : 65273.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        6500 (94.53 % of base) : 17703.dasm - System.Diagnostics.Tracing.EventPipePayloadDecoder:DecodePayload(byref,System.ReadOnlySpan`1[ubyte]):System.Object[] (FullOpts)
        6492 (69.93 % of base) : 198774.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
        6280 (85.23 % of base) : 124766.dasm - System.Data.RBTree`1[System.__Canon]:RBInsert(int,int,int,int,ubyte):int:this (FullOpts)
        5808 (81.66 % of base) : 125018.dasm - System.Data.RBTree`1[int]:RBInsert(int,int,int,int,ubyte):int:this (FullOpts)
        5512 (95.96 % of base) : 193707.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteMemberElementsIf(System.Xml.Serialization.XmlSerializationReaderCodeGen+Member[],System.Xml.Serialization.XmlSerializationReaderCodeGen+Member,System.String,System.String):this (FullOpts)
        5480 (79.84 % of base) : 95042.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberFieldSymbol:Create(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Syntax.FieldDeclarationSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol+MembersAndInitializersBuilder,byref,byref,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag) (FullOpts)
        5472 (83.82 % of base) : 59072.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeOneDeclaredBases(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Tuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]]:this (FullOpts)
        5096 (30.25 % of base) : 24604.dasm - Microsoft.FSharp.Linq.QueryModule:TransInner(int,ubyte,Microsoft.FSharp.Quotations.FSharpExpr):System.Tuple`2[Microsoft.FSharp.Linq.QueryModule+TransInnerResult,Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription] (FullOpts)
        5068 (88.23 % of base) : 193981.dasm - System.Xml.Schema.SchemaCollectionPreprocessor:PreprocessRedefine(System.Xml.Schema.XmlSchemaRedefine):this (FullOpts)
Top method improvements (bytes):
         -80 (-9.13 % of base) : 21010.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -48 (-0.49 % of base) : 132129.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
         -44 (-10.09 % of base) : 17270.dasm - System.Reflection.CustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType,ubyte):ubyte (FullOpts)
         -40 (-8.40 % of base) : 148248.dasm - Microsoft.CodeAnalysis.PEModule:FindTargetAttribute(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):Microsoft.CodeAnalysis.PEModule+AttributeInfo (FullOpts)
         -40 (-8.40 % of base) : 169752.dasm - Microsoft.CodeAnalysis.PEModule:FindTargetAttribute(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):Microsoft.CodeAnalysis.PEModule+AttributeInfo (FullOpts)
         -36 (-5.59 % of base) : 218179.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:IsProperSupersetOf(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.__Canon]):ubyte (FullOpts)
         -32 (-4.68 % of base) : 216695.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.__Canon,System.__Canon]:Contains(System.__Canon):ubyte:this (FullOpts)
         -32 (-3.45 % of base) : 222265.dasm - System.Linq.Parallel.FirstQueryOperator`1+FirstQueryOperatorEnumerator`1[System.__Canon,System.__Canon]:MoveNext(byref,byref):ubyte:this (FullOpts)
         -32 (-6.56 % of base) : 88243.dasm - System.Speech.Recognition.RecognizerBase:System.Speech.Recognition.IRecognizerInternal.GetGrammarFromId(ulong):System.Speech.Recognition.Grammar:this (FullOpts)
         -28 (-5.22 % of base) : 178886.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[System.__Canon,System.__Canon]:TryGetKey(System.__Canon,byref):ubyte:this (FullOpts)
         -28 (-3.45 % of base) : 198854.dasm - Microsoft.CSharp.RuntimeBinder.ComInterop.VariantArray:GetStructType(int):System.Type (FullOpts)
         -28 (-5.43 % of base) : 178994.dasm - Roslyn.Utilities.MultiDictionary`2+ValueSet[System.__Canon,System.__Canon]:Contains(System.__Canon,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):ubyte:this (FullOpts)
         -28 (-5.43 % of base) : 157586.dasm - Roslyn.Utilities.MultiDictionary`2+ValueSet[System.__Canon,System.__Canon]:Contains(System.__Canon,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):ubyte:this (FullOpts)
         -28 (-6.14 % of base) : 157590.dasm - Roslyn.Utilities.OneOrMany`1+<<OfType>g__iterateElements|18_0>d`1[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -28 (-4.86 % of base) : 217338.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:IsProperSupersetOf(System.Collections.Generic.IEnumerable`1[System.__Canon]):ubyte:this (FullOpts)
         -28 (-5.69 % of base) : 239473.dasm - System.Diagnostics.Eventing.Reader.EventKeyword:PrepareData():this (FullOpts)
         -28 (-5.22 % of base) : 239477.dasm - System.Diagnostics.Eventing.Reader.EventLogLink:PrepareData():this (FullOpts)
         -28 (-5.98 % of base) : 159813.dasm - System.Management.ManagementNamedValueCollection:GetContext():System.Management.IWbemContext:this (FullOpts)
         -28 (-4.27 % of base) : 89302.dasm - System.Speech.Internal.Synthesis.VoiceSynthesis:AddLexicon(System.Uri,System.String):this (FullOpts)
         -28 (-5.38 % of base) : 202117.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:ContainsProperty(System.String):ubyte:this (FullOpts)
Top method regressions (percentages):
        4808 (117.27 % of base) : 125356.dasm - System.Data.RBTree`1[System.__Canon]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
        1716 (115.95 % of base) : 240308.dasm - System.Runtime.Caching.UsageBucket:Reduce():this (FullOpts)
        4592 (115.26 % of base) : 125398.dasm - System.Data.RBTree`1[int]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
         340 (111.84 % of base) : 89613.dasm - System.Speech.Internal.SrgsCompiler.ParseElementCollection:TrimEnd(System.Speech.Internal.SrgsCompiler.Arc,System.Speech.Internal.SrgsCompiler.Backend):System.Speech.Internal.SrgsCompiler.Arc (FullOpts)
         328 (107.89 % of base) : 89612.dasm - System.Speech.Internal.SrgsCompiler.ParseElementCollection:TrimStart(System.Speech.Internal.SrgsCompiler.Arc,System.Speech.Internal.SrgsCompiler.Backend):System.Speech.Internal.SrgsCompiler.Arc (FullOpts)
         144 (105.88 % of base) : 95971.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SymbolExtensions:ContainingNonLambdaMember(Microsoft.CodeAnalysis.VisualBasic.Symbol):Microsoft.CodeAnalysis.VisualBasic.Symbol (FullOpts)
         152 (105.56 % of base) : 50303.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousIf(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (FullOpts)
         152 (105.56 % of base) : 50305.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousRegion(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (FullOpts)
         152 (105.56 % of base) : 50308.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:SkipInsignificantDirectives(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (FullOpts)
         164 (105.13 % of base) : 50304.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousIfElifElseOrRegion(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (FullOpts)
        2356 (102.61 % of base) : 94291.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSignatureComparer:DetailedParameterCompare(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.ParameterSymbol],byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.ParameterSymbol],byref,int,int):int (FullOpts)
        1240 (102.31 % of base) : 225166.dasm - System.Uri:CheckCanonical(ulong,byref,int,ushort):int:this (FullOpts)
        1412 (101.15 % of base) : 193891.dasm - System.Xml.XmlTextReaderImpl:SkipUntil(ushort,ubyte):this (FullOpts)
         168 (100.00 % of base) : 57655.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:ContainingNonLambdaMember(Microsoft.CodeAnalysis.CSharp.Symbol):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
        2988 (99.73 % of base) : 193713.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteDerivedSerializable(System.Xml.Serialization.SerializableMapping,System.Xml.Serialization.SerializableMapping,System.String,ubyte):this (FullOpts)
        2668 (99.70 % of base) : 193014.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteMemberEnd(System.Xml.Serialization.XmlSerializationReaderCodeGen+Member[],ubyte):this (FullOpts)
        2588 (99.23 % of base) : 193734.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteDerivedSerializable(System.Xml.Serialization.SerializableMapping,System.Xml.Serialization.SerializableMapping,System.String,ubyte):this (FullOpts)
        3096 (98.22 % of base) : 213221.dasm - System.DirectoryServices.Protocols.DirectoryControl:TransformControls(System.DirectoryServices.Protocols.DirectoryControl[]) (FullOpts)
       12264 (97.92 % of base) : 39897.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
        3268 (97.84 % of base) : 193027.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteMemberBegin(System.Xml.Serialization.XmlSerializationReaderILGen+Member[]):this (FullOpts)
Top method improvements (percentages):
         -20 (-12.20 % of base) : 10464.dasm - System.Reflection.Emit.RuntimeTypeBuilder:IsSubclassOf(System.Type):ubyte:this (FullOpts)
         -20 (-12.20 % of base) : 229440.dasm - System.Reflection.Emit.TypeBuilderImpl:IsSubclassOf(System.Type):ubyte:this (FullOpts)
         -20 (-10.42 % of base) : 120342.dasm - System.IO.Packaging.XmlCompatibilityReader:SkipToKnownAttribute():ubyte:this (FullOpts)
         -16 (-10.26 % of base) : 137923.dasm - System.Security.Cryptography.TripleDES:get_Key():ubyte[]:this (FullOpts)
         -44 (-10.09 % of base) : 17270.dasm - System.Reflection.CustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType,ubyte):ubyte (FullOpts)
         -80 (-9.13 % of base) : 21010.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -16 (-8.89 % of base) : 156242.dasm - Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[System.__Canon]:Any(int):ubyte:this (FullOpts)
         -16 (-8.89 % of base) : 177651.dasm - Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[System.__Canon]:Any(int):ubyte:this (FullOpts)
         -16 (-8.89 % of base) : 136865.dasm - System.Security.Cryptography.DES:get_Key():ubyte[]:this (FullOpts)
         -16 (-8.51 % of base) : 156067.dasm - Microsoft.CodeAnalysis.SyntaxList`1[System.__Canon]:All(System.Func`2[System.__Canon,ubyte]):ubyte:this (FullOpts)
         -16 (-8.51 % of base) : 177473.dasm - Microsoft.CodeAnalysis.SyntaxList`1[System.__Canon]:All(System.Func`2[System.__Canon,ubyte]):ubyte:this (FullOpts)
         -40 (-8.40 % of base) : 148248.dasm - Microsoft.CodeAnalysis.PEModule:FindTargetAttribute(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):Microsoft.CodeAnalysis.PEModule+AttributeInfo (FullOpts)
         -40 (-8.40 % of base) : 169752.dasm - Microsoft.CodeAnalysis.PEModule:FindTargetAttribute(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):Microsoft.CodeAnalysis.PEModule+AttributeInfo (FullOpts)
         -24 (-7.69 % of base) : 156511.dasm - Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]:IsSubsetOfHashSetWithSameComparer(Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]):ubyte:this (FullOpts)
         -24 (-7.69 % of base) : 177923.dasm - Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]:IsSubsetOfHashSetWithSameComparer(Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]):ubyte:this (FullOpts)
         -16 (-7.69 % of base) : 155684.dasm - Roslyn.Utilities.OneOrMany`1[System.__Canon]:All(System.Func`2[System.__Canon,ubyte]):ubyte:this (FullOpts)
         -16 (-7.69 % of base) : 145717.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
         -16 (-7.69 % of base) : 167390.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
         -24 (-7.50 % of base) : 19724.dasm - System.Collections.Generic.HashSet`1[System.__Canon]:IsSubsetOfHashSetWithSameComparer(System.Collections.Generic.HashSet`1[System.__Canon]):ubyte:this (FullOpts)
         -20 (-7.46 % of base) : 155825.dasm - Microsoft.CodeAnalysis.UnionCollection`1[System.__Canon]:Contains(System.__Canon):ubyte:this (FullOpts)
  
libraries.pmi.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 77801572 (overridden on cmd)
Total bytes of diff: 85179724 (overridden on cmd)
Total bytes of delta: 7378152 (9.48 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       21040 : 141176.dasm (71.99 % of base)
       19212 : 90459.dasm (80.64 % of base)
       17804 : 90418.dasm (96.97 % of base)
       13292 : 58840.dasm (97.56 % of base)
       11492 : 192044.dasm (102.57 % of base)
       11360 : 150266.dasm (99.61 % of base)
       10768 : 178626.dasm (77.89 % of base)
       10760 : 35798.dasm (98.46 % of base)
       10148 : 35904.dasm (92.15 % of base)
        9596 : 233889.dasm (91.04 % of base)
        9144 : 65987.dasm (90.79 % of base)
        8364 : 94643.dasm (88.60 % of base)
        8356 : 232242.dasm (99.24 % of base)
        8332 : 233484.dasm (67.81 % of base)
        7280 : 90734.dasm (72.60 % of base)
        7200 : 230041.dasm (87.08 % of base)
        6864 : 90408.dasm (87.51 % of base)
        6848 : 244228.dasm (54.44 % of base)
        6556 : 244164.dasm (90.01 % of base)
        6372 : 121414.dasm (69.17 % of base)
Top file improvements (bytes):
        -116 : 228513.dasm (-12.45 % of base)
         -68 : 174035.dasm (-11.33 % of base)
         -68 : 174075.dasm (-11.11 % of base)
         -56 : 65639.dasm (-5.58 % of base)
         -44 : 123306.dasm (-15.71 % of base)
         -36 : 145338.dasm (-1.55 % of base)
         -36 : 87286.dasm (-2.73 % of base)
         -32 : 288193.dasm (-8.08 % of base)
         -32 : 288194.dasm (-6.96 % of base)
         -28 : 240917.dasm (-5.79 % of base)
         -24 : 191870.dasm (-2.84 % of base)
         -24 : 252836.dasm (-3.57 % of base)
         -24 : 255497.dasm (-2.46 % of base)
         -20 : 123339.dasm (-8.33 % of base)
         -20 : 256171.dasm (-3.12 % of base)
         -20 : 256172.dasm (-3.05 % of base)
         -20 : 262360.dasm (-1.71 % of base)
         -20 : 174034.dasm (-3.62 % of base)
         -20 : 174074.dasm (-3.55 % of base)
         -16 : 290168.dasm (-8.51 % of base)
92 total files with Code Size differences (33 improved, 59 regressed), 20 unchanged.
Top method regressions (bytes):
       21040 (71.99 % of base) : 141176.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
       19212 (80.64 % of base) : 90459.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureForASingleCandidate(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.Location,int,byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.VisualBasic.Symbol):this (FullOpts)
       17804 (96.97 % of base) : 90418.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindFieldAndPropertyInitializers(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,System.Collections.Immutable.ImmutableArray`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.FieldOrPropertyInitializer]],Microsoft.CodeAnalysis.VisualBasic.Symbols.SynthesizedInteractiveInitializerMethod,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundInitializer] (FullOpts)
       13292 (97.56 % of base) : 58840.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       11492 (102.57 % of base) : 192044.dasm - System.Management.ManagementClassGenerator:GenerateProperties():this (FullOpts)
       11360 (99.61 % of base) : 150266.dasm - Microsoft.Build.Evaluation.Preprocessor:CloneChildrenResolvingImports(System.Xml.XmlNode,System.Xml.XmlNode):this (FullOpts)
       10768 (77.89 % of base) : 178626.dasm - System.Data.XmlTreeGen:HandleTable(System.Data.DataTable,System.Xml.XmlDocument,System.Xml.XmlElement,ubyte):System.Xml.XmlElement:this (FullOpts)
       10760 (98.46 % of base) : 35798.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
       10148 (92.15 % of base) : 35904.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
        9596 (91.04 % of base) : 233889.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugDirectoryNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (FullOpts)
        9144 (90.79 % of base) : 65987.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        8364 (88.60 % of base) : 94643.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberFieldSymbol:Create(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Syntax.FieldDeclarationSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol+MembersAndInitializersBuilder,byref,byref,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag) (FullOpts)
        8356 (99.24 % of base) : 232242.dasm - Internal.JitInterface.InstructionSetFlags:ExpandInstructionSetByImplicationHelper(int,Internal.JitInterface.InstructionSetFlags):Internal.JitInterface.InstructionSetFlags (FullOpts)
        8332 (67.81 % of base) : 233484.dasm - ILCompiler.Win32Resources.ResourceData:WriteResources(ILCompiler.DependencyAnalysis.ISymbolNode,byref,byref):this (FullOpts)
        7280 (72.60 % of base) : 90734.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:DecodeParameterList(Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,int,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.ParameterSyntax],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.VisualBasic.Binder+CheckParameterModifierDelegate,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):this (FullOpts)
        7200 (87.08 % of base) : 230041.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (FullOpts)
        6864 (87.51 % of base) : 90408.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindArrayBounds(Microsoft.CodeAnalysis.VisualBasic.Syntax.ArgumentListSyntax,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Binder+DimensionSize[],ubyte):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]:this (FullOpts)
        6848 (54.44 % of base) : 244228.dasm - R2RDump.TextDumper:DumpSectionContents(ILCompiler.Reflection.ReadyToRun.ReadyToRunSection):this (FullOpts)
        6556 (90.01 % of base) : 244164.dasm - R2RDump.Extensions:WriteTo(ILCompiler.Reflection.ReadyToRun.DebugInfo,System.IO.TextWriter,R2RDump.DumpModel) (FullOpts)
        6372 (69.17 % of base) : 121414.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
Top method improvements (bytes):
        -116 (-12.45 % of base) : 228513.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateParameterizedConstructor(System.Reflection.ConstructorInfo,System.Type,System.Type,System.Type,System.Type):System.Reflection.Emit.DynamicMethod (FullOpts)
         -68 (-11.33 % of base) : 174035.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+KeyCollection[System.__Canon,System.Nullable`1[int]]:All[System.Numerics.Vector`1[float]](System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -68 (-11.11 % of base) : 174075.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+ValueCollection[System.__Canon,System.Nullable`1[int]]:All[System.Numerics.Vector`1[float]](System.Func`3[System.Nullable`1[int],System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -56 (-5.58 % of base) : 65639.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetProperties>d__63:MoveNext():ubyte:this (FullOpts)
         -44 (-15.71 % of base) : 123306.dasm - Roslyn.Utilities.OneOrMany`1[System.__Canon]:Any[System.Numerics.Vector`1[float]](System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -36 (-2.73 % of base) : 87286.dasm - Microsoft.Diagnostics.Tracing.CLRRuntimeActivityComputer+PerThreadStartStopData+<Stackify>d__3:MoveNext():ubyte:this (FullOpts)
         -36 (-1.55 % of base) : 145338.dasm - Newtonsoft.Json.Converters.XmlNodeConverter:ReadAttributeElements(Newtonsoft.Json.JsonReader,System.Xml.XmlNamespaceManager):System.Collections.Generic.Dictionary`2[System.String,System.String]:this (FullOpts)
         -32 (-8.08 % of base) : 288193.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Contains(System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -32 (-6.96 % of base) : 288194.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:TryGetValue(System.Numerics.Vector`1[float],byref):ubyte:this (FullOpts)
         -28 (-5.79 % of base) : 240917.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext:MatchPatternContexts[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.Func`3[Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,System.Numerics.Vector`1[float],Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult]):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts)
         -24 (-3.57 % of base) : 252836.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:Overlaps(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.__Canon]):ubyte (FullOpts)
         -24 (-2.46 % of base) : 255497.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Find(System.Predicate`1[System.Numerics.Vector`1[float]]):System.Numerics.Vector`1[float]:this (FullOpts)
         -24 (-2.84 % of base) : 191870.dasm - System.Management.ManagementQueryConverter:ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type):System.Object:this (FullOpts)
         -20 (-3.62 % of base) : 174034.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+KeyCollection[System.__Canon,System.Nullable`1[int]]:All[double](System.Func`3[System.__Canon,double,ubyte],double):ubyte:this (FullOpts)
         -20 (-3.55 % of base) : 174074.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+ValueCollection[System.__Canon,System.Nullable`1[int]]:All[double](System.Func`3[System.Nullable`1[int],double,ubyte],double):ubyte:this (FullOpts)
         -20 (-8.33 % of base) : 123339.dasm - Roslyn.Utilities.OneOrMany`1[ubyte]:Any[System.Numerics.Vector`1[float]](System.Func`3[ubyte,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -20 (-3.12 % of base) : 256171.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:IsSupersetOf(System.Collections.Generic.IEnumerable`1[System.__Canon]):ubyte:this (FullOpts)
         -20 (-3.05 % of base) : 256172.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:Overlaps(System.Collections.Generic.IEnumerable`1[System.__Canon]):ubyte:this (FullOpts)
         -20 (-1.71 % of base) : 262360.dasm - System.ComponentModel.ReflectPropertyDescriptor:get_GetMethodValue():System.Reflection.MethodInfo:this (FullOpts)
         -16 (-1.18 % of base) : 30061.dasm - Microsoft.CodeAnalysis.CSharp.Binder:CheckWhatCandidatesWeHave(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbol],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,System.String,int,byref,byref,byref,byref):this (FullOpts)
Top method regressions (percentages):
        4852 (118.34 % of base) : 180750.dasm - System.Data.RBTree`1[System.__Canon]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
        1708 (116.99 % of base) : 292321.dasm - System.Runtime.Caching.UsageBucket:Reduce():this (FullOpts)
        4620 (115.96 % of base) : 180811.dasm - System.Data.RBTree`1[ubyte]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
        1600 (105.54 % of base) : 215240.dasm - System.Xml.Serialization.XmlSerializationWriterCodeGen:WriteDerivedTypes(System.Xml.Serialization.StructMapping):this (FullOpts)
        3636 (104.36 % of base) : 240458.dasm - Microsoft.Extensions.DependencyModel.DependencyContextWriter:AddRuntimeSpecificAssets(System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.DependencyModel.RuntimeFile],System.String,System.String,System.Text.Json.Utf8JsonWriter) (FullOpts)
         232 (103.57 % of base) : 263703.dasm - System.Composition.Hosting.Util.SmallSparseInitonlyArray:TryGetValue(int,byref):ubyte:this (FullOpts)
       11492 (102.57 % of base) : 192044.dasm - System.Management.ManagementClassGenerator:GenerateProperties():this (FullOpts)
        5136 (102.47 % of base) : 90612.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindRedimStatement(Microsoft.CodeAnalysis.VisualBasic.Syntax.ReDimStatementSyntax,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundStatement:this (FullOpts)
        2644 (101.23 % of base) : 118601.dasm - Microsoft.CodeAnalysis.VisualBasic.AsyncRewriter+AsyncMethodToClassRewriter:SpillArgumentListInner(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.AsyncRewriter+SpillBuilder],ubyte,byref):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]:this (FullOpts)
        1856 (100.43 % of base) : 55387.dasm - Microsoft.CodeAnalysis.CSharp.Emit.PEDeltaAssemblyBuilder:GetAnonymousDelegateMapFromMetadata(System.Reflection.Metadata.MetadataReader,Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.MetadataDecoder):System.Collections.Generic.IReadOnlyDictionary`2[Microsoft.CodeAnalysis.Emit.SynthesizedDelegateKey,Microsoft.CodeAnalysis.Emit.SynthesizedDelegateValue] (FullOpts)
        4772 (100.42 % of base) : 93466.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.ConstraintsHelper:ReportIndirectConstraintConflicts(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceTypeParameterSymbol,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterDiagnosticInfo],byref) (FullOpts)
        3244 (100.12 % of base) : 94565.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol:ProcessPartialMethodsIfAny(System.Collections.Generic.Dictionary`2[System.String,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbol]],Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):this (FullOpts)
        3152 (99.87 % of base) : 94475.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceFile:BindOptions(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.OptionStatementSyntax],Microsoft.CodeAnalysis.DiagnosticBag,byref,byref,byref,byref,System.Nullable`1[Microsoft.CodeAnalysis.Text.TextSpan]) (FullOpts)
       11360 (99.61 % of base) : 150266.dasm - Microsoft.Build.Evaluation.Preprocessor:CloneChildrenResolvingImports(System.Xml.XmlNode,System.Xml.XmlNode):this (FullOpts)
        8356 (99.24 % of base) : 232242.dasm - Internal.JitInterface.InstructionSetFlags:ExpandInstructionSetByImplicationHelper(int,Internal.JitInterface.InstructionSetFlags):Internal.JitInterface.InstructionSetFlags (FullOpts)
        4252 (99.16 % of base) : 90785.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlnsAttributes(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax],byref,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.BoundXmlAttribute],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.Collections.Generic.KeyValuePair`2[System.String,System.String]],Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):System.Collections.Generic.Dictionary`2[System.String,System.String]:this (FullOpts)
        6076 (98.96 % of base) : 232244.dasm - Internal.JitInterface.InstructionSetFlags:ExpandInstructionSetByReverseImplicationHelper(int,Internal.JitInterface.InstructionSetFlags):Internal.JitInterface.InstructionSetFlags (FullOpts)
        3032 (98.57 % of base) : 269317.dasm - System.DirectoryServices.Protocols.DirectoryControl:TransformControls(System.DirectoryServices.Protocols.DirectoryControl[]) (FullOpts)
       10760 (98.46 % of base) : 35798.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
        6040 (97.92 % of base) : 58852.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:ComputeInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+SynthesizedExplicitImplementations:this (FullOpts)
Top method improvements (percentages):
         -44 (-15.71 % of base) : 123306.dasm - Roslyn.Utilities.OneOrMany`1[System.__Canon]:Any[System.Numerics.Vector`1[float]](System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
        -116 (-12.45 % of base) : 228513.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateParameterizedConstructor(System.Reflection.ConstructorInfo,System.Type,System.Type,System.Type,System.Type):System.Reflection.Emit.DynamicMethod (FullOpts)
         -68 (-11.33 % of base) : 174035.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+KeyCollection[System.__Canon,System.Nullable`1[int]]:All[System.Numerics.Vector`1[float]](System.Func`3[System.__Canon,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -68 (-11.11 % of base) : 174075.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+ValueCollection[System.__Canon,System.Nullable`1[int]]:All[System.Numerics.Vector`1[float]](System.Func`3[System.Nullable`1[int],System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -16 (-8.51 % of base) : 290168.dasm - System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
         -20 (-8.33 % of base) : 123339.dasm - Roslyn.Utilities.OneOrMany`1[ubyte]:Any[System.Numerics.Vector`1[float]](System.Func`3[ubyte,System.Numerics.Vector`1[float],ubyte],System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -32 (-8.08 % of base) : 288193.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Contains(System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -32 (-6.96 % of base) : 288194.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:TryGetValue(System.Numerics.Vector`1[float],byref):ubyte:this (FullOpts)
         -16 (-6.90 % of base) : 187549.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Byte():System.Reflection.MethodInfo (FullOpts)
         -16 (-6.90 % of base) : 187557.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Char():System.Reflection.MethodInfo (FullOpts)
         -16 (-6.90 % of base) : 187551.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Int16():System.Reflection.MethodInfo (FullOpts)
         -16 (-6.90 % of base) : 187553.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Int32():System.Reflection.MethodInfo (FullOpts)
         -16 (-6.90 % of base) : 187555.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Int64():System.Reflection.MethodInfo (FullOpts)
         -16 (-6.90 % of base) : 187550.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_SByte():System.Reflection.MethodInfo (FullOpts)
         -16 (-6.90 % of base) : 187552.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_UInt16():System.Reflection.MethodInfo (FullOpts)
         -16 (-6.90 % of base) : 187554.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_UInt32():System.Reflection.MethodInfo (FullOpts)
         -16 (-6.90 % of base) : 187556.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_UInt64():System.Reflection.MethodInfo (FullOpts)
         -16 (-6.90 % of base) : 187540.dasm - System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
         -16 (-6.78 % of base) : 122708.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
         -16 (-6.78 % of base) : 158260.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
  
libraries_tests.run.windows.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 307088556 (overridden on cmd)
Total bytes of diff: 330978164 (overridden on cmd)
Total bytes of delta: 23889608 (7.78 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       23112 : 57839.dasm (90.38 % of base)
       22664 : 85873.dasm (90.77 % of base)
       20412 : 490973.dasm (94.57 % of base)
       19288 : 150261.dasm (83.45 % of base)
       18400 : 87439.dasm (98.69 % of base)
       18152 : 571165.dasm (95.28 % of base)
       17104 : 382658.dasm (93.79 % of base)
       16624 : 594771.dasm (99.00 % of base)
       16108 : 537084.dasm (89.47 % of base)
       15812 : 586047.dasm (85.62 % of base)
       15752 : 594778.dasm (98.33 % of base)
       15216 : 54454.dasm (90.08 % of base)
       14992 : 571273.dasm (70.10 % of base)
       14756 : 85821.dasm (87.19 % of base)
       14460 : 408085.dasm (77.48 % of base)
       14340 : 54442.dasm (73.37 % of base)
       14244 : 408246.dasm (76.42 % of base)
       14188 : 408211.dasm (75.42 % of base)
       14168 : 408122.dasm (75.44 % of base)
       13732 : 549359.dasm (86.69 % of base)
Top file improvements (bytes):
       -5076 : 68111.dasm (-31.63 % of base)
        -404 : 37352.dasm (-2.55 % of base)
        -364 : 74688.dasm (-2.30 % of base)
        -288 : 272870.dasm (-3.72 % of base)
        -288 : 272836.dasm (-3.70 % of base)
        -288 : 272844.dasm (-5.18 % of base)
        -284 : 80693.dasm (-2.99 % of base)
        -236 : 51164.dasm (-2.48 % of base)
        -192 : 186122.dasm (-32.65 % of base)
        -192 : 256025.dasm (-32.65 % of base)
        -192 : 4493.dasm (-32.65 % of base)
        -192 : 89781.dasm (-32.65 % of base)
        -192 : 90682.dasm (-32.65 % of base)
        -192 : 1036.dasm (-32.65 % of base)
        -192 : 191898.dasm (-32.65 % of base)
        -192 : 255273.dasm (-32.65 % of base)
        -192 : 315914.dasm (-32.65 % of base)
        -192 : 617439.dasm (-32.65 % of base)
        -192 : 67567.dasm (-32.65 % of base)
        -192 : 104864.dasm (-32.65 % of base)
93 total files with Code Size differences (30 improved, 63 regressed), 20 unchanged.
Top method regressions (bytes):
       23112 (90.38 % of base) : 57839.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
       22664 (90.77 % of base) : 85873.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
       20412 (94.57 % of base) : 490973.dasm - System.Xml.XmlLoader:LoadNode(ubyte):System.Xml.XmlNode:this (Tier1-OSR)
       19288 (83.45 % of base) : 150261.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
       18400 (98.69 % of base) : 87439.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers:MakeParameters[System.__Canon,System.__Canon,System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,System.__Canon,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[System.__Canon],byref,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte,ubyte,ubyte,int,System.Func`12[System.__Canon,System.__Canon,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.__Canon,ubyte,int,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,ubyte,ubyte,System.__Canon,System.__Canon],ubyte):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (Tier1)
       18152 (95.28 % of base) : 571165.dasm - Microsoft.CodeAnalysis.CSharp.Binder:TryPerformConstructorOverloadResolution(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.String,Microsoft.CodeAnalysis.Location,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref,byref,ubyte,ubyte):ubyte:this (Tier1)
       17104 (93.79 % of base) : 382658.dasm - XPathTests.Common.Utils:XPathNodesetTest(int,System.String,System.String,XPathTests.Common.XPathResult,System.Xml.XmlNamespaceManager,System.String) (Tier1)
       16624 (99.00 % of base) : 594771.dasm - Microsoft.Cci.MetadataWriter:PopulateTypeDefTableRows():this (Tier1)
       16108 (89.47 % of base) : 537084.dasm - System.Text.Json.Tests.Utf8JsonWriterTests:GetNumbersExpectedString(System.Text.Json.JsonWriterOptions,System.String,int[],uint[],long[],ulong[],float[],double[],System.Decimal[],ubyte):System.String (Tier1-OSR)
       15812 (85.62 % of base) : 586047.dasm - Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,System.__Canon]:VisitBinaryLogicalOperatorChildren(Microsoft.CodeAnalysis.CSharp.BoundExpression):this (Tier1)
       15752 (98.33 % of base) : 594778.dasm - Microsoft.Cci.MetadataWriter:PopulateTypeRefTableRows():this (Tier1)
       15216 (90.08 % of base) : 54454.dasm - Microsoft.CodeAnalysis.CSharp.Binder:TryPerformConstructorOverloadResolution(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.String,Microsoft.CodeAnalysis.Location,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref,byref,ubyte,ubyte):ubyte:this (Tier1)
       14992 (70.10 % of base) : 571273.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindAttributeCore(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundAttribute:this (Tier1)
       14756 (87.19 % of base) : 85821.dasm - Microsoft.CodeAnalysis.CSharp.Binder:TryPerformConstructorOverloadResolution(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.String,Microsoft.CodeAnalysis.Location,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref,byref,ubyte,ubyte):ubyte:this (Tier1)
       14460 (77.48 % of base) : 408085.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess1():int:this (Tier1)
       14340 (73.37 % of base) : 54442.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindAttributeCore(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundAttribute:this (Tier1)
       14244 (76.42 % of base) : 408246.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess4():int:this (Tier1)
       14188 (75.42 % of base) : 408211.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess3():int:this (Tier1)
       14168 (75.44 % of base) : 408122.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess2():int:this (Tier1)
       13732 (86.69 % of base) : 549359.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:TestingNumbers_TryGetMethods() (Tier1-OSR)
Top method improvements (bytes):
       -5076 (-31.63 % of base) : 68111.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbols(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):this (Tier1-OSR)
        -404 (-2.55 % of base) : 37352.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbols(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):this (Tier1-OSR)
        -364 (-2.30 % of base) : 74688.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbols(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):this (Tier1-OSR)
        -288 (-5.18 % of base) : 272844.dasm - System.IO.Tests.Directory_GetFileSystemEntries_str_str:SearchPatternDotIsStar():this (Tier1)
        -288 (-3.70 % of base) : 272836.dasm - System.IO.Tests.Directory_GetFileSystemEntries_str_str:SearchPatternWithLeadingStar():this (Tier1)
        -288 (-3.72 % of base) : 272870.dasm - System.IO.Tests.Directory_GetFileSystemEntries_str_str:SearchPatternWithTrailingStar():this (Tier1)
        -284 (-2.99 % of base) : 80693.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -236 (-2.48 % of base) : 51164.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -192 (-32.65 % of base) : 186122.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 256025.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 4493.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 89781.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 90682.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 1036.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 191898.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 255273.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 315914.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 617439.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 67567.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 104864.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
Top method regressions (percentages):
        5308 (174.84 % of base) : 582125.dasm - Microsoft.Cci.MetadataWriter:AddCustomAttributesToTable[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.Reflection.Metadata.EntityHandle]):this (Tier1-OSR)
        4016 (144.25 % of base) : 151501.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseTypeArgumentList(byref,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxListBuilder`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax],byref):this (Tier1)
        1948 (115.95 % of base) : 293192.dasm - System.Linq.Parallel.SortHelper`2[System.Collections.Generic.KeyValuePair`2[int,System.Collections.Generic.KeyValuePair`2[int,int]],System.Linq.Parallel.Pair`2[System.Linq.Parallel.Pair`2[int,int],int]]:QuickSort(int,int,System.Linq.Parallel.Pair`2[System.Linq.Parallel.Pair`2[int,int],int][],int[],System.Threading.CancellationToken):this (Tier1)
        6760 (110.89 % of base) : 592074.dasm - System.Collections.Generic.ArraySortHelper`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Reflection.Metadata.StringHandle]]:IntroSort(System.Span`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Reflection.Metadata.StringHandle]],int,System.Comparison`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Reflection.Metadata.StringHandle]]) (Tier1)
        2492 (110.85 % of base) : 311602.dasm - System.SpanTests.ReadOnlySpanTests:TestNoMatchValuesLargerIndexOfAny_ManyString() (Tier1-OSR)
        2480 (110.32 % of base) : 311745.dasm - System.SpanTests.ReadOnlySpanTests:TestNoMatchIndexOfAny_ManyString() (Tier1-OSR)
        2480 (110.32 % of base) : 312857.dasm - System.SpanTests.ReadOnlySpanTests:TestNoMatchLastIndexOfAny_String_ManyByte() (Tier1-OSR)
        2484 (110.30 % of base) : 313485.dasm - System.SpanTests.ReadOnlySpanTests:TestNoMatchValuesLargerLastIndexOfAny_String_ManyByte() (Tier1-OSR)
         524 (109.17 % of base) : 453811.dasm - System.Lazy`1[int]:CreateValue():int:this (Instrumented Tier1)
         524 (109.17 % of base) : 79578.dasm - System.Lazy`1[ubyte]:CreateValue():ubyte:this (Instrumented Tier1)
        6004 (109.08 % of base) : 538013.dasm - System.Text.Json.Tests.Utf8JsonWriterTests:EscapingTestWhileWritingSurrogate(System.Text.Encodings.Web.JavaScriptEncoder):this (Tier1-OSR)
        4684 (108.93 % of base) : 51595.dasm - System.Collections.Immutable.ImmutableArray:CreateRange[System.__Canon,System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (Tier1)
        4020 (107.14 % of base) : 61390.dasm - System.Collections.Generic.ArraySortHelper`1[System.ValueTuple`2[int,System.__Canon]]:IntroSort(System.Span`1[System.ValueTuple`2[int,System.__Canon]],int,System.Comparison`1[System.ValueTuple`2[int,System.__Canon]]) (Tier1)
        4016 (106.92 % of base) : 84742.dasm - System.Collections.Generic.ArraySortHelper`1[System.ValueTuple`2[int,System.__Canon]]:IntroSort(System.Span`1[System.ValueTuple`2[int,System.__Canon]],int,System.Comparison`1[System.ValueTuple`2[int,System.__Canon]]) (Tier1)
        1496 (106.86 % of base) : 292944.dasm - System.Linq.Parallel.SortHelper`2[int,System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.Tests.NotComparable]]:QuickSort(int,int,System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.Tests.NotComparable][],int[],System.Threading.CancellationToken):this (Tier1)
        3152 (106.20 % of base) : 589003.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex31374_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        3988 (104.62 % of base) : 570674.dasm - Microsoft.CodeAnalysis.CSharp.Binder:LookupSymbolsInternal(Microsoft.CodeAnalysis.CSharp.LookupResult,System.String,int,Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],int,ubyte,byref):Microsoft.CodeAnalysis.CSharp.Binder:this (Tier1)
        2744 (104.10 % of base) : 597475.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex33190_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        6296 (103.48 % of base) : 441720.dasm - System.Runtime.Serialization.ReflectionXmlFormatWriter:ReflectionWriteCollection(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (Tier1-OSR)
        4992 (103.48 % of base) : 112375.dasm - System.Dynamic.Utils.ExpressionVisitorUtils:VisitArguments(System.Linq.Expressions.ExpressionVisitor,System.Linq.Expressions.IArgumentProvider):System.Linq.Expressions.Expression[] (Tier1)
Top method improvements (percentages):
        -192 (-32.65 % of base) : 186122.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 256025.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 4493.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 89781.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 90682.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 1036.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 191898.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 255273.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 315914.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 617439.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 67567.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 104864.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 285669.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 63242.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
        -192 (-32.65 % of base) : 66079.dasm - System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier1)
       -5076 (-31.63 % of base) : 68111.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbols(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):this (Tier1-OSR)
        -124 (-21.38 % of base) : 4413.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 89753.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 97605.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
        -124 (-21.38 % of base) : 861.dasm - System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte (Tier1)
  
librariestestsnotieredcompilation.run.windows.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 169130060 (overridden on cmd)
Total bytes of diff: 179585384 (overridden on cmd)
Total bytes of delta: 10455324 (6.18 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       25804 : 113525.dasm (35.30 % of base)
       23760 : 109854.dasm (33.89 % of base)
       20780 : 59867.dasm (71.40 % of base)
       17292 : 181595.dasm (104.29 % of base)
       13316 : 209134.dasm (56.43 % of base)
       13200 : 208717.dasm (56.71 % of base)
       13164 : 7034.dasm (97.37 % of base)
       13028 : 49922.dasm (97.51 % of base)
       12620 : 44732.dasm (96.22 % of base)
       11364 : 146006.dasm (101.10 % of base)
       11344 : 54470.dasm (83.81 % of base)
       11232 : 307202.dasm (95.74 % of base)
       10484 : 92165.dasm (77.34 % of base)
       10060 : 182987.dasm (92.87 % of base)
        9972 : 56202.dasm (91.52 % of base)
        9508 : 96663.dasm (72.82 % of base)
        8992 : 6169.dasm (90.79 % of base)
        8988 : 109139.dasm (94.25 % of base)
        7780 : 112764.dasm (84.75 % of base)
        7744 : 122735.dasm (96.03 % of base)
Top file improvements (bytes):
        -500 : 70091.dasm (-6.38 % of base)
        -420 : 51147.dasm (-3.31 % of base)
        -420 : 45408.dasm (-3.31 % of base)
        -400 : 68785.dasm (-5.25 % of base)
        -128 : 241277.dasm (-3.62 % of base)
         -88 : 308430.dasm (-3.96 % of base)
         -88 : 308243.dasm (-4.07 % of base)
         -84 : 291578.dasm (-10.99 % of base)
         -84 : 308242.dasm (-4.61 % of base)
         -80 : 309058.dasm (-4.32 % of base)
         -80 : 181581.dasm (-12.99 % of base)
         -72 : 291746.dasm (-8.26 % of base)
         -64 : 301604.dasm (-7.34 % of base)
         -60 : 291747.dasm (-5.49 % of base)
         -56 : 301561.dasm (-10.85 % of base)
         -56 : 301553.dasm (-11.02 % of base)
         -56 : 301559.dasm (-10.85 % of base)
         -56 : 55549.dasm (-5.58 % of base)
         -48 : 113721.dasm (-7.84 % of base)
         -44 : 287230.dasm (-6.47 % of base)
91 total files with Code Size differences (31 improved, 60 regressed), 20 unchanged.
Top method regressions (bytes):
       25804 (35.30 % of base) : 113525.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.statements.freach.freach001.freach001.Test:MainMethod():int (FullOpts)
       23760 (33.89 % of base) : 109854.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.statements.freach.freach007.freach007.Test:MainMethod():int (FullOpts)
       20780 (71.40 % of base) : 59867.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
       17292 (104.29 % of base) : 181595.dasm - System.Xml.XmlConvertTests.ToTypeTests:TestValid(System.Object[],System.Object[],System.String,System.String[]):int:this (FullOpts)
       13316 (56.43 % of base) : 209134.dasm - (dynamicClass):ReadAllTypes2FromXml(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.XmlObjectSerializerReadContext,System.Xml.XmlDictionaryString[],System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
       13200 (56.71 % of base) : 208717.dasm - (dynamicClass):ReadAllTypesFromXml(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.XmlObjectSerializerReadContext,System.Xml.XmlDictionaryString[],System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
       13164 (97.37 % of base) : 7034.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       13028 (97.51 % of base) : 49922.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       12620 (96.22 % of base) : 44732.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       11364 (101.10 % of base) : 146006.dasm - System.Management.ManagementClassGenerator:GenerateProperties():this (FullOpts)
       11344 (83.81 % of base) : 54470.dasm - Enumeration.FirstValidator:Validate(System.String,Enumeration.FirstModel):Microsoft.Extensions.Options.ValidateOptionsResult:this (FullOpts)
       11232 (95.74 % of base) : 307202.dasm - System.Threading.Tasks.Dataflow.Tests.DebugAttributeTests:TestDebuggerDisplaysAndTypeProxies():this (FullOpts)
       10484 (77.34 % of base) : 92165.dasm - System.Data.XmlTreeGen:HandleTable(System.Data.DataTable,System.Xml.XmlDocument,System.Xml.XmlElement,ubyte):System.Xml.XmlElement:this (FullOpts)
       10060 (92.87 % of base) : 182987.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess2():int:this (FullOpts)
        9972 (91.52 % of base) : 56202.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
        9508 (72.82 % of base) : 96663.dasm - System.Data.Tests.DataTableTest2:GetChanges_ByDataRowState():this (FullOpts)
        8992 (90.79 % of base) : 6169.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        8988 (94.25 % of base) : 109139.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.basic.operate007a.operate007a.Test:Test4():ubyte (FullOpts)
        7780 (84.75 % of base) : 112764.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.basic.array010.array010.Test:MainMethod():int (FullOpts)
        7744 (96.03 % of base) : 122735.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F41B8911E2F21D4DC5E3A6E6E037C09C91843DEA626D26CDD1D82984E3611395A__GetRegex_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
Top method improvements (bytes):
        -500 (-6.38 % of base) : 70091.dasm - System.Collections.Frozen.Tests.FrozenSet_Generic_Tests`1[System.ValueTuple`2[System.Collections.Frozen.Tests.SimpleNonComparableStruct,System.Collections.Frozen.Tests.SimpleNonComparableStruct]]:ComparingWithOtherSets(int):this (FullOpts)
        -420 (-3.31 % of base) : 51147.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers:CheckParameterModifiers(Microsoft.CodeAnalysis.CSharp.Syntax.BaseParameterSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte) (FullOpts)
        -420 (-3.31 % of base) : 45408.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers:CheckParameterModifiers(Microsoft.CodeAnalysis.CSharp.Syntax.BaseParameterSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte) (FullOpts)
        -400 (-5.25 % of base) : 68785.dasm - System.Collections.Frozen.Tests.FrozenSet_Generic_Tests`1[System.__Canon]:ComparingWithOtherSets(int):this (FullOpts)
        -128 (-3.62 % of base) : 241277.dasm - System.Text.Tests.DecoderConvert2:PosTest9():this (FullOpts)
         -88 (-3.96 % of base) : 308430.dasm - System.Threading.Tasks.Dataflow.Tests.TransformBlockTests+<TestLinkToOptions>d__6:MoveNext():this (FullOpts)
         -88 (-4.07 % of base) : 308243.dasm - System.Threading.Tasks.Dataflow.Tests.TransformManyBlockTests+<TestLinkToOptions>d__6:MoveNext():this (FullOpts)
         -84 (-10.99 % of base) : 291578.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3390_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -84 (-4.61 % of base) : 308242.dasm - System.Threading.Tasks.Dataflow.Tests.BufferBlockTests+<TestLinkToOptions>d__6:MoveNext():this (FullOpts)
         -80 (-4.32 % of base) : 309058.dasm - System.Threading.Tasks.Dataflow.Tests.TransformManyBlockTests+<TestLinkToOptionsAsyncEnumerable>d__37:MoveNext():this (FullOpts)
         -80 (-12.99 % of base) : 181581.dasm - System.Xml.XmlConvertTests.EncodeDecodeTests:v3():int:this (FullOpts)
         -72 (-8.26 % of base) : 291746.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3565_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -64 (-7.34 % of base) : 301604.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex32922_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -60 (-5.49 % of base) : 291747.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3566_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -56 (-5.58 % of base) : 55549.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetProperties>d__65:MoveNext():ubyte:this (FullOpts)
         -56 (-11.02 % of base) : 301553.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex32878_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -56 (-10.85 % of base) : 301559.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex32881_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -56 (-10.85 % of base) : 301561.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex32883_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -48 (-7.84 % of base) : 113721.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.basic.operate008a.operate008a.Test:Test3a():ubyte (FullOpts)
         -44 (-6.47 % of base) : 287229.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1348_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
Top method regressions (percentages):
        4852 (118.34 % of base) : 91820.dasm - System.Data.RBTree`1[System.__Canon]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
        1708 (116.99 % of base) : 193029.dasm - System.Runtime.Caching.UsageBucket:Reduce():this (FullOpts)
        4620 (115.96 % of base) : 91779.dasm - System.Data.RBTree`1[int]:RBDeleteFixup(int,int,int,int):int:this (FullOpts)
         580 (111.54 % of base) : 99019.dasm - System.Diagnostics.Metrics.Tests.MetricsTests+<>c__DisplayClass15_0:<SerializedEventsTest>b__3():this (FullOpts)
        2724 (107.58 % of base) : 301689.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex26382_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        3168 (107.03 % of base) : 290455.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3214_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         952 (104.39 % of base) : 312429.dasm - System.Threading.Tests.BarrierTests:RunBarrierTest7a() (FullOpts)
       17292 (104.29 % of base) : 181595.dasm - System.Xml.XmlConvertTests.ToTypeTests:TestValid(System.Object[],System.Object[],System.String,System.String[]):int:this (FullOpts)
         232 (103.57 % of base) : 88592.dasm - System.Composition.Hosting.Util.SmallSparseInitonlyArray:TryGetValue(int,byref):ubyte:this (FullOpts)
         232 (103.57 % of base) : 30150.dasm - System.Composition.Hosting.Util.SmallSparseInitonlyArray:TryGetValue(int,byref):ubyte:this (FullOpts)
         232 (103.57 % of base) : 42560.dasm - System.Composition.Hosting.Util.SmallSparseInitonlyArray:TryGetValue(int,byref):ubyte:this (FullOpts)
        1396 (101.16 % of base) : 50401.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetAttributes(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Binder],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData[],Microsoft.CodeAnalysis.CSharp.BoundAttribute[],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)
       11364 (101.10 % of base) : 146006.dasm - System.Management.ManagementClassGenerator:GenerateProperties():this (FullOpts)
        3168 (100.25 % of base) : 291694.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3465_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        3632 (100.22 % of base) : 167901.dasm - System.Numerics.Tests.QuaternionTests:QuaternionFromRotationMatrixTest5():this (FullOpts)
        1640 (100.00 % of base) : 207578.dasm - DataContractSerializerTests:DCS_InvalidDataContract_Read_Invalid_Types_Throws() (FullOpts)
        2148 (99.81 % of base) : 46133.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer+InterpolatedStringScanner:ScanInterpolatedStringLiteralContents(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer+Interpolation]):this (FullOpts)
        2476 (99.20 % of base) : 207545.dasm - DataContractSerializerTests:DCS_MyPersonSurrogate_Stress() (FullOpts)
        2712 (99.12 % of base) : 291709.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3483_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        2004 (99.01 % of base) : 51694.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer+InterpolatedStringScanner:ScanInterpolatedStringLiteralContents(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer+Interpolation]):this (FullOpts)
Top method improvements (percentages):
         -80 (-12.99 % of base) : 181581.dasm - System.Xml.XmlConvertTests.EncodeDecodeTests:v3():int:this (FullOpts)
         -56 (-11.02 % of base) : 301553.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex32878_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -84 (-10.99 % of base) : 291578.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3390_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -56 (-10.85 % of base) : 301559.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex32881_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -56 (-10.85 % of base) : 301561.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex32883_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -40 (-9.17 % of base) : 225456.dasm - System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (FullOpts)
         -16 (-8.51 % of base) : 184502.dasm - System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
         -72 (-8.26 % of base) : 291746.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3565_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -32 (-8.00 % of base) : 235759.dasm - System.Security.Cryptography.RC2:set_EffectiveKeySize(int):this (FullOpts)
         -48 (-7.84 % of base) : 113721.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.basic.operate008a.operate008a.Test:Test3a():ubyte (FullOpts)
         -24 (-7.69 % of base) : 3121.dasm - System.Linq.Enumerable+WhereSelectListIterator`2[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon],System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -64 (-7.34 % of base) : 301604.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex32922_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -40 (-7.19 % of base) : 226854.dasm - System.Security.Cryptography.DES:set_Key(ubyte[]):this (FullOpts)
         -40 (-6.85 % of base) : 172157.dasm - PurchaseOrder:CreateInstance():PurchaseOrder (FullOpts)
         -20 (-6.58 % of base) : 186497.dasm - System.Reflection.Emit.Tests.TypeBuilderGetMethod+<>c:<GetMethod_TypeNotTypeBuilder_ThrowsArgumentException>b__2_0():System.Object:this (FullOpts)
         -16 (-6.56 % of base) : 196425.dasm - System.Runtime.InteropServices.Tests.PrelinkTests:Prelink_RuntimeSuppliedMethod_Success():this (FullOpts)
         -44 (-6.47 % of base) : 287229.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1348_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -44 (-6.47 % of base) : 287230.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1350_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -44 (-6.47 % of base) : 287231.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1354_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -44 (-6.47 % of base) : 287232.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1357_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
  
realworld.run.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 15374216 (overridden on cmd)
Total bytes of diff: 17301016 (overridden on cmd)
Total bytes of delta: 1926800 (12.53 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       13104 : 19612.dasm (97.44 % of base)
       10480 : 24519.dasm (97.18 % of base)
       10008 : 23433.dasm (91.35 % of base)
        9288 : 18417.dasm (91.45 % of base)
        8368 : 31219.dasm (74.79 % of base)
        7888 : 1191.dasm (96.76 % of base)
        6828 : 17193.dasm (84.80 % of base)
        6680 : 23746.dasm (77.93 % of base)
        6520 : 11733.dasm (94.49 % of base)
        6520 : 11732.dasm (87.92 % of base)
        6196 : 29932.dasm (94.05 % of base)
        6096 : 20836.dasm (87.44 % of base)
        5968 : 19498.dasm (79.19 % of base)
        5712 : 20026.dasm (97.81 % of base)
        5384 : 11933.dasm (101.05 % of base)
        5312 : 11932.dasm (99.25 % of base)
        5068 : 1278.dasm (110.27 % of base)
        4960 : 6949.dasm (79.64 % of base)
        4928 : 23231.dasm (54.63 % of base)
        4892 : 20689.dasm (87.80 % of base)
Top file improvements (bytes):
        -112 : 460.dasm (-10.65 % of base)
         -72 : 1450.dasm (-5.45 % of base)
         -68 : 14519.dasm (-16.04 % of base)
         -56 : 27802.dasm (-5.58 % of base)
         -44 : 1379.dasm (-33.33 % of base)
         -16 : 2185.dasm (-2.15 % of base)
         -16 : 33079.dasm (-6.90 % of base)
         -16 : 12593.dasm (-3.28 % of base)
         -12 : 1470.dasm (-1.32 % of base)
         -12 : 27760.dasm (-2.27 % of base)
         -12 : 29736.dasm (-0.66 % of base)
         -12 : 5152.dasm (-1.49 % of base)
         -12 : 33235.dasm (-4.41 % of base)
         -12 : 15597.dasm (-2.29 % of base)
         -12 : 20714.dasm (-1.94 % of base)
          -8 : 30096.dasm (-0.68 % of base)
          -8 : 31923.dasm (-0.80 % of base)
          -4 : 100.dasm (-2.08 % of base)
          -4 : 17294.dasm (-2.13 % of base)
          -4 : 23353.dasm (-1.96 % of base)
81 total files with Code Size differences (25 improved, 56 regressed), 19 unchanged.
Top method regressions (bytes):
       13104 (97.44 % of base) : 19612.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       10480 (97.18 % of base) : 24519.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
       10008 (91.35 % of base) : 23433.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
        9288 (91.45 % of base) : 18417.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        8368 (74.79 % of base) : 31219.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        7888 (96.76 % of base) : 1191.dasm - BepuPhysics.CollisionDetection.MeshReduction:ReduceManifolds(byref,byref,int,int,ubyte,byref,byref,byref,ulong,BepuUtilities.Memory.BufferPool) (FullOpts)
        6828 (84.80 % of base) : 17193.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
        6680 (77.93 % of base) : 23746.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindInterpolatedString(Microsoft.CodeAnalysis.CSharp.Syntax.InterpolatedStringExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
        6520 (87.92 % of base) : 11732.dasm - SixLabors.ImageSharp.Advanced.ParallelRowIterator:IterateRows[SixLabors.ImageSharp.Processing.Processors.Convolution.Convolution2PassProcessor`1+HorizontalConvolutionRowOperation[SixLabors.ImageSharp.PixelFormats.Rgba32],System.Numerics.Vector4](SixLabors.ImageSharp.Rectangle,byref,byref) (FullOpts)
        6520 (94.49 % of base) : 11733.dasm - SixLabors.ImageSharp.Advanced.ParallelRowIterator+RowOperationWrapper`2[SixLabors.ImageSharp.Processing.Processors.Convolution.Convolution2PassProcessor`1+HorizontalConvolutionRowOperation[SixLabors.ImageSharp.PixelFormats.Rgba32],System.Numerics.Vector4]:Invoke(int):this (FullOpts)
        6196 (94.05 % of base) : 29932.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        6096 (87.44 % of base) : 20836.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeTypeParameters(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol]:this (FullOpts)
        5968 (79.19 % of base) : 19498.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeOneDeclaredBases(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Tuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]]:this (FullOpts)
        5712 (97.81 % of base) : 20026.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:ComputeInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+SynthesizedExplicitImplementations:this (FullOpts)
        5384 (101.05 % of base) : 11933.dasm - SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:ProcessBorderRow(SixLabors.ImageSharp.Memory.Buffer2D`1[SixLabors.ImageSharp.PixelFormats.Rgba32],SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1+CdfTileData[SixLabors.ImageSharp.PixelFormats.Rgba32],int,int,int,int,int,int,int) (FullOpts)
        5312 (99.25 % of base) : 11932.dasm - SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:ProcessBorderColumn(SixLabors.ImageSharp.Memory.Buffer2D`1[SixLabors.ImageSharp.PixelFormats.Rgba32],SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1+CdfTileData[SixLabors.ImageSharp.PixelFormats.Rgba32],int,int,int,int,int,int,int) (FullOpts)
        5068 (110.27 % of base) : 1278.dasm - DemoBenchmarks.OneBodyConstraintBenchmarks:Contact4OneBody():BepuPhysics.BodyVelocityWide:this (FullOpts)
        4960 (79.64 % of base) : 6949.dasm - FSharp.Compiler.PostTypeCheckSemanticChecks:CheckEntityDefn$cont@2269(FSharp.Compiler.PostTypeCheckSemanticChecks+cenv,FSharp.Compiler.TypedTree+Entity,FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.Text.Range,FSharp.Compiler.TypedTree+TType,Microsoft.FSharp.Core.Unit) (FullOpts)
        4928 (54.63 % of base) : 23231.dasm - Microsoft.CodeAnalysis.CSharp.Binder:AnalyzeAnonymousFunction(Microsoft.CodeAnalysis.CSharp.Syntax.AnonymousFunctionExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.UnboundLambda:this (FullOpts)
        4892 (87.80 % of base) : 20689.dasm - Microsoft.CodeAnalysis.CSharp.ConversionsBase:AddUserDefinedConversionsToExplicitCandidateSet(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.UserDefinedConversionAnalysis],Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,ubyte,ubyte,byref):this (FullOpts)
Top method improvements (bytes):
        -112 (-10.65 % of base) : 460.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -72 (-5.45 % of base) : 1450.dasm - BepuPhysics.Constraints.TypeProcessor`3[BepuPhysics.Constraints.TwoBodyReferences,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses]:Remove(byref,int,byref,ubyte):this (FullOpts)
         -68 (-16.04 % of base) : 14519.dasm - System.Threading.PortableThreadPool:EnsureIOCompletionPollers():this (FullOpts)
         -56 (-5.58 % of base) : 27802.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetProperties>d__63:MoveNext():ubyte:this (FullOpts)
         -44 (-33.33 % of base) : 1379.dasm - BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
         -16 (-2.15 % of base) : 2185.dasm - FSharp.Compiler.DependencyManager.AssemblyResolveHandlerCoreclr:.ctor(Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.DependencyManager.AssemblyResolutionProbe]):this (FullOpts)
         -16 (-3.28 % of base) : 12593.dasm - Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe:Create(Microsoft.ML.Data.DataViewType,System.Object):Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe (FullOpts)
         -16 (-6.90 % of base) : 33079.dasm - System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
         -12 (-1.32 % of base) : 1470.dasm - BepuPhysics.Constraints.TypeProcessor`3[System.Numerics.Vector`1[int],BepuPhysics.Constraints.Contact.Contact4NonconvexOneBodyPrestepData,BepuPhysics.Constraints.Contact.Contact4NonconvexAccumulatedImpulses]:TransferConstraint(byref,int,int,BepuPhysics.Solver,BepuPhysics.Bodies,int,System.Span`1[BepuPhysics.BodyHandle],System.Span`1[int]):this (FullOpts)
         -12 (-1.49 % of base) : 5152.dasm - FSharp.Compiler.AbstractIL.ILBinaryReader:seekReadIndexedRows$cont@793[System.__Canon,FSharp.Compiler.AbstractIL.ILBinaryReader+TaggedIndex`1[FSharp.Compiler.AbstractIL.BinaryConstants+TypeOrMethodDefTag],System.__Canon](Microsoft.FSharp.Core.FSharpFunc`2[int,System.__Canon],Microsoft.FSharp.Core.FSharpFunc`2[System.__Canon,System.__Canon],int,Microsoft.FSharp.Core.FSharpFunc`2[System.__Canon,FSharp.Compiler.AbstractIL.ILBinaryReader+TaggedIndex`1[FSharp.Compiler.AbstractIL.BinaryConstants+TypeOrMethodDefTag]],Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.AbstractIL.ILBinaryReader+TaggedIndex`1[FSharp.Compiler.AbstractIL.BinaryConstants+TypeOrMethodDefTag],int],Microsoft.FSharp.Core.Unit):Microsoft.FSharp.Collections.FSharpList`1[System.__Canon] (FullOpts)
         -12 (-2.27 % of base) : 27760.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetEvents>d__29:MoveNext():ubyte:this (FullOpts)
         -12 (-2.29 % of base) : 15597.dasm - Microsoft.CodeAnalysis.GreenNode:.ctor(ushort,Microsoft.CodeAnalysis.DiagnosticInfo[],Microsoft.CodeAnalysis.SyntaxAnnotation[],int):this (FullOpts)
         -12 (-0.66 % of base) : 29736.dasm - Microsoft.PowerShell.Commands.RegistryProvider:GetRegkeyForPath(System.String,ubyte):Microsoft.PowerShell.Commands.IRegistryWrapper:this (FullOpts)
         -12 (-1.94 % of base) : 20714.dasm - Roslyn.Utilities.MultiDictionary`2+ValueSet[System.__Canon,System.__Canon]:Contains(System.__Canon,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):ubyte:this (FullOpts)
         -12 (-4.41 % of base) : 33235.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -8 (-0.68 % of base) : 30096.dasm - System.Management.Automation.LanguagePrimitives:FigureParseConversion(System.Type,System.Type):System.Management.Automation.LanguagePrimitives+PSConverter`1[System.Object] (FullOpts)
          -8 (-0.80 % of base) : 31923.dasm - System.Management.Automation.Runspaces.CommandParameter:ToCommandParameterInternal(System.Management.Automation.Runspaces.CommandParameter,ubyte):System.Management.Automation.CommandParameterInternal (FullOpts)
          -4 (-3.70 % of base) : 9552.dasm - FSharp.Compiler.NameResolution+MakeCtorGroup@243:Invoke(FSharp.Compiler.Infos+MethInfo):int:this (FullOpts)
          -4 (-2.17 % of base) : 12799.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.00 % of base) : 219.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
Top method regressions (percentages):
        2464 (128.33 % of base) : 1423.dasm - BepuPhysics.Constraints.TwoBodyTypeProcessor`7[BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.Constraints.Contact.Contact1Functions,BepuPhysics.Constraints.AccessNoPose,BepuPhysics.Constraints.AccessNoPose,BepuPhysics.Constraints.AccessNoPose,BepuPhysics.Constraints.AccessNoPose]:WarmStart[DemoBenchmarks.ShapePileBenchmark+DemoPoseIntegratorCallbacks,BepuPhysics.Constraints.BatchShouldAlwaysIntegrate,BepuPhysics.Constraints.DisallowPoseIntegration](byref,byref,BepuPhysics.Bodies,byref,float,float,int,int,int):this (FullOpts)
        5068 (110.27 % of base) : 1278.dasm - DemoBenchmarks.OneBodyConstraintBenchmarks:Contact4OneBody():BepuPhysics.BodyVelocityWide:this (FullOpts)
        3152 (108.99 % of base) : 1252.dasm - BepuPhysics.Constraints.Contact.ContactNonconvexTwoBodyFunctions`2[BepuPhysics.Constraints.Contact.Contact4NonconvexPrestepData,BepuPhysics.Constraints.Contact.Contact4NonconvexAccumulatedImpulses]:Solve(byref,byref,byref,byref,byref,byref,float,float,byref,byref,byref,byref):this (FullOpts)
        5384 (101.05 % of base) : 11933.dasm - SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:ProcessBorderRow(SixLabors.ImageSharp.Memory.Buffer2D`1[SixLabors.ImageSharp.PixelFormats.Rgba32],SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1+CdfTileData[SixLabors.ImageSharp.PixelFormats.Rgba32],int,int,int,int,int,int,int) (FullOpts)
        2876 (100.28 % of base) : 1373.dasm - BepuPhysics.Trees.Tree:GetOverlapsBetweenDifferentNodes[BepuPhysics.CollisionDetection.CollidableOverlapFinder`1+SelfOverlapHandler[DemoBenchmarks.ShapePileBenchmark+DemoNarrowPhaseCallbacks]](byref,byref,byref):this (FullOpts)
        1544 (100.00 % of base) : 284.dasm - System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts)
        2892 (99.59 % of base) : 24615.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindPropertyPatternClause(Microsoft.CodeAnalysis.CSharp.Syntax.PropertyPatternClauseSyntax,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundPropertySubpattern]:this (FullOpts)
        5312 (99.25 % of base) : 11932.dasm - SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:ProcessBorderColumn(SixLabors.ImageSharp.Memory.Buffer2D`1[SixLabors.ImageSharp.PixelFormats.Rgba32],SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1+CdfTileData[SixLabors.ImageSharp.PixelFormats.Rgba32],int,int,int,int,int,int,int) (FullOpts)
        3820 (99.07 % of base) : 1505.dasm - BepuPhysics.Trees.Tree:GetOverlapsBetweenDifferentNodes[BepuPhysics.CollisionDetection.CollidableOverlapFinder`1+IntertreeOverlapHandler[DemoBenchmarks.ShapePileBenchmark+DemoNarrowPhaseCallbacks]](byref,byref,byref,byref):this (FullOpts)
        3748 (99.05 % of base) : 11883.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.SpectralConverter`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:ConvertStride(int):this (FullOpts)
        1984 (97.83 % of base) : 23747.dasm - Microsoft.CodeAnalysis.CSharp.SwitchBinder:BuildSwitchLabels(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.SwitchLabelSyntax],Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        5712 (97.81 % of base) : 20026.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:ComputeInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+SynthesizedExplicitImplementations:this (FullOpts)
         916 (97.45 % of base) : 1407.dasm - BepuPhysics.CollisionDetection.PairCache:FlushMappingChanges():this (FullOpts)
       13104 (97.44 % of base) : 19612.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        1636 (97.38 % of base) : 1298.dasm - BepuPhysics.Constraints.Contact.ContactNonconvexOneBodyFunctions`2[BepuPhysics.Constraints.Contact.Contact4NonconvexOneBodyPrestepData,BepuPhysics.Constraints.Contact.Contact4NonconvexAccumulatedImpulses]:Solve(byref,byref,byref,float,float,byref,byref,byref):this (FullOpts)
       10480 (97.18 % of base) : 24519.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
        2860 (97.01 % of base) : 19913.dasm - Microsoft.CodeAnalysis.CSharp.ConversionsBase:<ComputeApplicableUserDefinedImplicitConversionSet>g__addCandidatesFromType|146_0(Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.UserDefinedConversionAnalysis],byref,ubyte):this (FullOpts)
        2120 (96.89 % of base) : 17691.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation+ReferenceManager:SetupReferencesForFileAssembly(Microsoft.CodeAnalysis.CSharp.CSharpCompilation+ReferenceManager+AssemblyDataForFile,Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol][],byref,byref,Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol) (FullOpts)
        7888 (96.76 % of base) : 1191.dasm - BepuPhysics.CollisionDetection.MeshReduction:ReduceManifolds(byref,byref,int,int,ubyte,byref,byref,byref,ulong,BepuUtilities.Memory.BufferPool) (FullOpts)
         228 (96.61 % of base) : 15592.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanToEndOfLine():this (FullOpts)
Top method improvements (percentages):
         -44 (-33.33 % of base) : 1379.dasm - BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
         -68 (-16.04 % of base) : 14519.dasm - System.Threading.PortableThreadPool:EnsureIOCompletionPollers():this (FullOpts)
        -112 (-10.65 % of base) : 460.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -16 (-6.90 % of base) : 33079.dasm - System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
         -56 (-5.58 % of base) : 27802.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetProperties>d__63:MoveNext():ubyte:this (FullOpts)
         -72 (-5.45 % of base) : 1450.dasm - BepuPhysics.Constraints.TypeProcessor`3[BepuPhysics.Constraints.TwoBodyReferences,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses]:Remove(byref,int,byref,ubyte):this (FullOpts)
         -12 (-4.41 % of base) : 33235.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-3.70 % of base) : 9552.dasm - FSharp.Compiler.NameResolution+MakeCtorGroup@243:Invoke(FSharp.Compiler.Infos+MethInfo):int:this (FullOpts)
         -16 (-3.28 % of base) : 12593.dasm - Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe:Create(Microsoft.ML.Data.DataViewType,System.Object):Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe (FullOpts)
         -12 (-2.29 % of base) : 15597.dasm - Microsoft.CodeAnalysis.GreenNode:.ctor(ushort,Microsoft.CodeAnalysis.DiagnosticInfo[],Microsoft.CodeAnalysis.SyntaxAnnotation[],int):this (FullOpts)
         -12 (-2.27 % of base) : 27760.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol+<Microsoft-Cci-ITypeDefinition-GetEvents>d__29:MoveNext():ubyte:this (FullOpts)
          -4 (-2.17 % of base) : 12799.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.17 % of base) : 4538.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[FSharp.Compiler.Text.Position,System.ValueTuple`3[int,int,ubyte]]:MoveNext():ubyte:this (FullOpts)
         -16 (-2.15 % of base) : 2185.dasm - FSharp.Compiler.DependencyManager.AssemblyResolveHandlerCoreclr:.ctor(Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.DependencyManager.AssemblyResolutionProbe]):this (FullOpts)
          -4 (-2.13 % of base) : 17294.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.08 % of base) : 100.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.08 % of base) : 3119.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.00 % of base) : 219.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-1.96 % of base) : 23353.dasm - System.Collections.Generic.HashSet`1+Enumerator[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]:MoveNext():ubyte:this (FullOpts)
         -12 (-1.94 % of base) : 20714.dasm - Roslyn.Utilities.MultiDictionary`2+ValueSet[System.__Canon,System.__Canon]:Contains(System.__Canon,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):ubyte:this (FullOpts)
  
smoke_tests.nativeaot.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 3929512 (overridden on cmd)
Total bytes of diff: 4344752 (overridden on cmd)
Total bytes of delta: 415240 (10.57 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
        6584 : 11365.dasm (74.89 % of base)
        4436 : 6162.dasm (87.25 % of base)
        4308 : 14887.dasm (88.06 % of base)
        4308 : 11945.dasm (88.28 % of base)
        4096 : 1130.dasm (89.59 % of base)
        4096 : 4441.dasm (89.59 % of base)
        2196 : 3451.dasm (75.72 % of base)
        2128 : 14432.dasm (74.93 % of base)
        2016 : 451.dasm (71.29 % of base)
        1896 : 6112.dasm (79.93 % of base)
        1880 : 8499.dasm (57.39 % of base)
        1844 : 5245.dasm (82.91 % of base)
        1828 : 10566.dasm (56.28 % of base)
        1828 : 4638.dasm (56.28 % of base)
        1764 : 6947.dasm (87.33 % of base)
        1752 : 1572.dasm (82.18 % of base)
        1712 : 4242.dasm (75.35 % of base)
        1712 : 1006.dasm (75.35 % of base)
        1696 : 11309.dasm (56.53 % of base)
        1680 : 6002.dasm (68.29 % of base)
Top file improvements (bytes):
         -24 : 9538.dasm (-11.11 % of base)
          -8 : 11988.dasm (-1.96 % of base)
          -8 : 11994.dasm (-1.85 % of base)
          -4 : 7808.dasm (-2.27 % of base)
          -4 : 12055.dasm (-2.33 % of base)
          -4 : 12807.dasm (-2.94 % of base)
          -4 : 13154.dasm (-2.38 % of base)
          -4 : 7179.dasm (-2.56 % of base)
          -4 : 9821.dasm (-2.27 % of base)
          -4 : 1246.dasm (-2.22 % of base)
          -4 : 4600.dasm (-2.22 % of base)
63 total files with Code Size differences (11 improved, 52 regressed), 17 unchanged.
Top method regressions (bytes):
        6584 (74.89 % of base) : 11365.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        4436 (87.25 % of base) : 6162.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        4308 (88.06 % of base) : 14887.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        4308 (88.28 % of base) : 11945.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        4096 (89.59 % of base) : 1130.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
        4096 (89.59 % of base) : 4441.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
        2196 (75.72 % of base) : 3451.dasm - System.Text.UnicodeEncoding:GetBytes(ulong,int,ulong,int,System.Text.EncoderNLS):int:this (FullOpts)
        2128 (74.93 % of base) : 14432.dasm - System.Text.UnicodeEncoding:GetBytes(ulong,int,ulong,int,System.Text.EncoderNLS):int:this (FullOpts)
        2016 (71.29 % of base) : 451.dasm - System.Text.UnicodeEncoding:GetBytes(ulong,int,ulong,int,System.Text.EncoderNLS):int:this (FullOpts)
        1896 (79.93 % of base) : 6112.dasm - System.DefaultBinder:SelectProperty(int,System.Reflection.PropertyInfo[],System.Type,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.PropertyInfo:this (FullOpts)
        1880 (57.39 % of base) : 8499.dasm - Internal.Reflection.Extensions.NonPortable.CustomAttributeInstantiator:Instantiate(System.Reflection.CustomAttributeData):System.Attribute (FullOpts)
        1844 (82.91 % of base) : 5245.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
        1828 (56.28 % of base) : 10566.dasm - System.Number:TryParseNumber[ushort](byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (FullOpts)
        1828 (56.28 % of base) : 4638.dasm - System.Number:TryParseNumber[ushort](byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (FullOpts)
        1764 (87.33 % of base) : 6947.dasm - System.Diagnostics.NtProcessManager:GetProcessInfos(System.Diagnostics.PerformanceCounterLib,int,int,System.ReadOnlySpan`1[ubyte]):System.Diagnostics.ProcessInfo[] (FullOpts)
        1752 (82.18 % of base) : 1572.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
        1712 (75.35 % of base) : 4242.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ulong,int,ulong,int,byref,byref):int (FullOpts)
        1712 (75.35 % of base) : 1006.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ulong,int,ulong,int,byref,byref):int (FullOpts)
        1696 (56.53 % of base) : 11309.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileTryExpression(System.Linq.Expressions.Expression):this (FullOpts)
        1680 (68.29 % of base) : 6002.dasm - System.Reflection.DynamicInvokeInfo:.ctor(System.Reflection.MethodBase,long):this (FullOpts)
Top method improvements (bytes):
         -24 (-11.11 % of base) : 9538.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitInvocation(System.Linq.Expressions.InvocationExpression):System.Linq.Expressions.Expression:this (FullOpts)
          -8 (-1.85 % of base) : 11994.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo+<CoreGetDeclaredSyntheticConstructors>d__186:MoveNext():ubyte:this (FullOpts)
          -8 (-1.96 % of base) : 11988.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo+<CoreGetDeclaredSyntheticMethods>d__188:MoveNext():ubyte:this (FullOpts)
          -4 (-2.94 % of base) : 12807.dasm - Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
          -4 (-2.56 % of base) : 7179.dasm - Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
          -4 (-2.38 % of base) : 13154.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.22 % of base) : 1246.dasm - System.Collections.Generic.Dictionary`2+Enumerator[long,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.22 % of base) : 4600.dasm - System.Collections.Generic.Dictionary`2+Enumerator[long,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.27 % of base) : 9821.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.27 % of base) : 7808.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.33 % of base) : 12055.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
Top method regressions (percentages):
         428 (96.40 % of base) : 11848.dasm - System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts)
         428 (96.40 % of base) : 5926.dasm - System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts)
         456 (89.76 % of base) : 1151.dasm - Internal.Runtime.CompilerHelpers.StartupCodeHelpers:RehydrateData(long,int) (FullOpts)
         456 (89.76 % of base) : 4485.dasm - Internal.Runtime.CompilerHelpers.StartupCodeHelpers:RehydrateData(long,int) (FullOpts)
        4096 (89.59 % of base) : 1130.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
        4096 (89.59 % of base) : 4441.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
        4308 (88.28 % of base) : 11945.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        4308 (88.06 % of base) : 14887.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        1764 (87.33 % of base) : 6947.dasm - System.Diagnostics.NtProcessManager:GetProcessInfos(System.Diagnostics.PerformanceCounterLib,int,int,System.ReadOnlySpan`1[ubyte]):System.Diagnostics.ProcessInfo[] (FullOpts)
        4436 (87.25 % of base) : 6162.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
         904 (85.93 % of base) : 11415.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileMemberInit(System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.MemberBinding]):this (FullOpts)
         844 (85.08 % of base) : 5617.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
         844 (85.08 % of base) : 1756.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
         584 (84.88 % of base) : 7546.dasm - System.Reflection.DynamicInvokeInfo:CheckArguments(System.Span`1[System.Object],ulong,System.Object[],System.Reflection.BinderBundle):this (FullOpts)
         560 (84.34 % of base) : 12863.dasm - System.Reflection.DynamicInvokeInfo:CheckArguments(System.Span`1[System.Object],ulong,System.Object[],System.Reflection.BinderBundle):this (FullOpts)
        1000 (83.89 % of base) : 2497.dasm - System.Globalization.CalendarData:NormalizeDatePattern(System.String):System.String (FullOpts)
        1000 (83.89 % of base) : 8094.dasm - System.Globalization.CalendarData:NormalizeDatePattern(System.String):System.String (FullOpts)
        1844 (82.91 % of base) : 5245.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
        1752 (82.18 % of base) : 1572.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
        1644 (81.39 % of base) : 6475.dasm - System.Text.StringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.Text.StringBuilder:this (FullOpts)
Top method improvements (percentages):
         -24 (-11.11 % of base) : 9538.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitInvocation(System.Linq.Expressions.InvocationExpression):System.Linq.Expressions.Expression:this (FullOpts)
          -4 (-2.94 % of base) : 12807.dasm - Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
          -4 (-2.56 % of base) : 7179.dasm - Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
          -4 (-2.38 % of base) : 13154.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.33 % of base) : 12055.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.27 % of base) : 9821.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.27 % of base) : 7808.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.22 % of base) : 1246.dasm - System.Collections.Generic.Dictionary`2+Enumerator[long,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-2.22 % of base) : 4600.dasm - System.Collections.Generic.Dictionary`2+Enumerator[long,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -8 (-1.96 % of base) : 11988.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo+<CoreGetDeclaredSyntheticMethods>d__188:MoveNext():ubyte:this (FullOpts)
          -8 (-1.85 % of base) : 11994.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo+<CoreGetDeclaredSyntheticConstructors>d__186:MoveNext():ubyte:this (FullOpts)
  
  
windows x64
Diffs are based on 2,478,673 contexts (976,915 MinOpts, 1,501,758 FullOpts).
MISSED contexts: base: 6,816 (0.27%), diff: 8,236 (0.33%)
Overall (+69,970,980 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| aspnet.run.windows.x64.checked.mch | 43,157,840 | +5,218,990 | 
| benchmarks.run.windows.x64.checked.mch | 8,527,978 | +1,457,716 | 
| benchmarks.run_pgo.windows.x64.checked.mch | 35,281,691 | +6,239,881 | 
| benchmarks.run_tiered.windows.x64.checked.mch | 12,546,330 | +791,808 | 
| coreclr_tests.run.windows.x64.checked.mch | 392,032,764 | +6,850,273 | 
| libraries.crossgen2.windows.x64.checked.mch | 39,426,266 | +4,170,815 | 
| libraries.pmi.windows.x64.checked.mch | 60,047,589 | +6,548,076 | 
| libraries_tests.run.windows.x64.Release.mch | 276,546,440 | +26,574,826 | 
| librariestestsnotieredcompilation.run.windows.x64.Release.mch | 135,656,589 | +9,498,864 | 
| realworld.run.windows.x64.checked.mch | 13,710,148 | +1,889,086 | 
| smoke_tests.nativeaot.windows.x64.checked.mch | 5,066,508 | +730,645 | 
  
FullOpts (+69,970,980 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| aspnet.run.windows.x64.checked.mch | 28,739,224 | +5,218,990 | 
| benchmarks.run.windows.x64.checked.mch | 8,527,617 | +1,457,716 | 
| benchmarks.run_pgo.windows.x64.checked.mch | 21,284,086 | +6,239,881 | 
| benchmarks.run_tiered.windows.x64.checked.mch | 3,440,481 | +791,808 | 
| coreclr_tests.run.windows.x64.checked.mch | 119,501,197 | +6,850,273 | 
| libraries.crossgen2.windows.x64.checked.mch | 39,425,077 | +4,170,815 | 
| libraries.pmi.windows.x64.checked.mch | 59,934,070 | +6,548,076 | 
| libraries_tests.run.windows.x64.Release.mch | 102,825,764 | +26,574,826 | 
| librariestestsnotieredcompilation.run.windows.x64.Release.mch | 124,850,033 | +9,498,864 | 
| realworld.run.windows.x64.checked.mch | 13,323,545 | +1,889,086 | 
| smoke_tests.nativeaot.windows.x64.checked.mch | 5,065,561 | +730,645 | 
  
Example diffs
aspnet.run.windows.x64.checked.mch
-12 (-6.00%) : 44328.dasm - Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.Mapping.NpgsqlLTreeTypeMapping:.cctor() (FullOpts)
@@ -9,20 +9,20 @@
 ; Final local variable assignments
 ;
 ;  V00 OutArgs      [V00    ] (  1,  1   )  struct (48) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V01 tmp1         [V01,T01] (  4,  7.74)     ref  ->  rax         class-hnd exact single-def "dup spill" <System.Type[]>
+;  V01 tmp1         [V01,T01] (  4, 17.20)     ref  ->  rax         class-hnd exact single-def "dup spill" <System.Type[]>
 ;* V02 tmp2         [V02,T03] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "impAppendStmt" <<unknown class>>
 ;* V03 tmp3         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <<unknown class>>
-;  V04 tmp4         [V04,T02] (  3,  6   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.Mapping.NpgsqlLTreeTypeMapping>
-;  V05 tmp5         [V05,T00] (  5, 16.48)     int  ->  rcx         "Inline stloc first use temp"
+;  V04 tmp4         [V04,T00] (  3, 33.59)     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.Mapping.NpgsqlLTreeTypeMapping>
+;* V05 tmp5         [V05,T02] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V06 tmp6         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
 ;
 ; Lcl frame size = 48
 
-G_M33296_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+G_M33296_IG01:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbx
        sub      rsp, 48
-                      ;; size=5 bbWeight=1 PerfScore 1.25
-G_M33296_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                      ;; size=5 bbWeight=1.00 PerfScore 1.25
+G_M33296_IG02:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        mov      rcx, 0xD1FFAB1E      ; System.Type[]
        mov      edx, 1
        call     CORINFO_HELP_NEWARR_1_OBJ
@@ -31,20 +31,11 @@ G_M33296_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, 0xD1FFAB1E
        ; gcrRegs +[rcx]
        mov      gword ptr [rax+0x10], rcx
-       xor      ecx, ecx
+       cmp      gword ptr [rax+0x10], 0
+       je       SHORT G_M33296_IG05
+                       ;; size=41 bbWeight=1.00 PerfScore 6.75
+G_M33296_IG03:        ; bbWeight=5.60, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
-                     ;; size=36 bbWeight=1 PerfScore 3.00
-G_M33296_IG03:        ; bbWeight=0.87, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       mov      edx, ecx
-       cmp      gword ptr [rax+8*rdx+0x10], 0
-       je       SHORT G_M33296_IG07
-                       ;; size=10 bbWeight=0.87 PerfScore 3.70
-G_M33296_IG04:        ; bbWeight=4.87, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       inc      ecx
-       cmp      ecx, 1
-       jl       SHORT G_M33296_IG03
-                       ;; size=7 bbWeight=4.87 PerfScore 7.30
-G_M33296_IG05:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
        mov      gword ptr [rsp+0x20], rax
        ; gcr arg write
        xor      rcx, rcx
@@ -82,13 +73,13 @@ G_M33296_IG05:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byr
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rdx rbx]
        nop      
-                     ;; size=106 bbWeight=1 PerfScore 14.25
-G_M33296_IG06:        ; bbWeight=1, epilog, nogc, extend
+                     ;; size=106 bbWeight=5.60 PerfScore 79.77
+G_M33296_IG04:        ; bbWeight=5.60, epilog, nogc, extend
        add      rsp, 48
        pop      rbx
        ret      
-                     ;; size=6 bbWeight=1 PerfScore 1.75
-G_M33296_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                      ;; size=6 bbWeight=5.60 PerfScore 9.80
+G_M33296_IG05:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        mov      ecx, 0x1875
        mov      rdx, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
@@ -102,7 +93,7 @@ G_M33296_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=30 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 200, prolog size 5, PerfScore 31.25, instruction count 43, allocated bytes for code 200 (MethodHash=76a17def) for method Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.Mapping.NpgsqlLTreeTypeMapping:.cctor() (FullOpts)
+; Total bytes of code 188, prolog size 5, PerfScore 97.57, instruction count 38, allocated bytes for code 188 (MethodHash=76a17def) for method Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.Mapping.NpgsqlLTreeTypeMapping:.cctor() (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
-15 (-5.84%) : 97819.dasm - System.Linq.Enumerable+WhereSelectListIterator2[System.Collections.Generic.KeyValuePair2[System.Canon,System.Canon],System.__Canon]:MoveNext():ubyte:this (FullOpts)
@@ -8,40 +8,43 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 15, 14.50)     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+WhereSelectListIterator`2[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon],System.__Canon]>
-;  V01 loc0         [V01,T11] (  3,  2.50)     int  ->  rcx        
+;  V00 this         [V00,T00] ( 15, 10   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+WhereSelectListIterator`2[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon],System.__Canon]>
+;  V01 loc0         [V01,T14] (  3,  2.50)     int  ->  rcx        
 ;* V02 loc1         [V02    ] (  0,  0   )  struct (16) zero-ref    <System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]>
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T01] (  2, 16   )    long  ->  rdx         "spilling helperCall"
+;  V04 tmp1         [V04,T02] (  2,  4   )    long  ->  rdx         "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V07 tmp4         [V07,T06] (  3,  4.50)     ref  ->  rbp         "field V02.key (fldOffset=0x0)" P-INDEP
-;  V08 tmp5         [V08,T07] (  3,  4.50)     ref  ->  r14         "field V02.value (fldOffset=0x8)" P-INDEP
-;  V09 tmp6         [V09    ] (  6, 15   )  struct (16) [rsp+0x28]  do-not-enreg[XSF] must-init addr-exposed "by-value struct argument" <System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]>
-;  V10 tmp7         [V10,T02] (  3, 12   )     ref  ->  rax         "argument with side effect"
-;  V11 tmp8         [V11,T10] (  3,  3   )     ref  ->  rax         single-def "argument with side effect"
-;  V12 cse0         [V12,T05] (  2,  5   )    long  ->  rsi         hoist "CSE - aggressive"
-;  V13 cse1         [V13,T03] (  4,  6   )   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V14 rat0         [V14,T08] (  3,  4.40)    long  ->  rcx         "Spilling to split statement for tree"
-;  V15 rat1         [V15,T09] (  3,  4   )    long  ->  rsi         "runtime lookup"
-;  V16 rat2         [V16,T04] (  3,  5.60)    long  ->  rsi         "fgMakeTemp is creating a new local variable"
+;  V07 tmp4         [V07,T08] (  3,  1.50)     ref  ->  rdi         "field V02.key (fldOffset=0x0)" P-INDEP
+;  V08 tmp5         [V08,T09] (  3,  1.50)     ref  ->  rbp         "field V02.value (fldOffset=0x8)" P-INDEP
+;  V09 tmp6         [V09    ] (  6,  6   )  struct (16) [rsp+0x20]  do-not-enreg[XSF] must-init addr-exposed "by-value struct argument" <System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]>
+;  V10 tmp7         [V10,T04] (  3,  3   )     ref  ->  rax         "argument with side effect"
+;  V11 tmp8         [V11,T13] (  3,  3   )     ref  ->  rax         single-def "argument with side effect"
+;  V12 cse0         [V12,T15] (  2,  2   )    long  ->  rsi         hoist "CSE - aggressive"
+;  V13 rat0         [V13,T10] (  3,  4.40)    long  ->  rcx         "Spilling to split statement for tree"
+;  V14 rat1         [V14,T11] (  3,  4   )    long  ->  rsi         "runtime lookup"
+;  V15 rat2         [V15,T07] (  3,  5.60)    long  ->  rsi         "fgMakeTemp is creating a new local variable"
+;* V16 rat3         [V16,T06] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V17 rat4         [V17,T12] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V18 rat5         [V18,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;* V19 rat6         [V19,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V20 rat7         [V20,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 56
 
 G_M14174_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-       push     r14
        push     rdi
        push     rsi
        push     rbp
        push     rbx
-       sub      rsp, 64
+       sub      rsp, 56
        xor      eax, eax
+       mov      qword ptr [rsp+0x20], rax
        mov      qword ptr [rsp+0x28], rax
-       mov      qword ptr [rsp+0x30], rax
-       mov      qword ptr [rsp+0x38], rcx
+       mov      qword ptr [rsp+0x30], rcx
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=30 bbWeight=1 PerfScore 8.75
+                      ;; size=28 bbWeight=1 PerfScore 7.75
 G_M14174_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      ecx, dword ptr [rbx+0x14]
        cmp      ecx, 1
@@ -55,17 +58,15 @@ G_M14174_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
 G_M14174_IG04:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rbx+0x18]
        ; gcrRegs +[rcx]
-       lea      rsi, bword ptr [rbx+0x30]
-       ; byrRegs +[rsi]
-       mov      rdx, rsi
+       lea      rdx, bword ptr [rbx+0x30]
        ; byrRegs +[rdx]
        cmp      dword ptr [rcx], ecx
        call     [System.Collections.Generic.List`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:this]
        ; gcrRegs -[rcx]
-       ; byrRegs -[rdx rsi]
+       ; byrRegs -[rdx]
        ; gcr arg pop 0
        mov      dword ptr [rbx+0x14], 2
-                      ;; size=26 bbWeight=0.50 PerfScore 4.88
+                       ;; size=23 bbWeight=0.50 PerfScore 4.75
 G_M14174_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, qword ptr [rbx]
        mov      rdx, qword ptr [rcx+0x30]
@@ -84,23 +85,18 @@ G_M14174_IG07:        ; bbWeight=0.20, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      rsi, rax
                        ;; size=18 bbWeight=0.20 PerfScore 0.30
 G_M14174_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       lea      rcx, bword ptr [rbx+0x30]
-       ; byrRegs +[rcx]
-       mov      rdi, rcx
-       ; byrRegs +[rdi]
        jmp      SHORT G_M14174_IG10
-                       ;; size=9 bbWeight=1 PerfScore 2.75
-G_M14174_IG09:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi}, byref, isz
-       ; byrRegs -[rcx]
-       mov      rbp, gword ptr [rbx+0x40]
+                        ;; size=2 bbWeight=1 PerfScore 2.00
+G_M14174_IG09:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       mov      rdi, gword ptr [rbx+0x40]
+       ; gcrRegs +[rdi]
+       mov      rbp, gword ptr [rbx+0x48]
        ; gcrRegs +[rbp]
-       mov      r14, gword ptr [rbx+0x48]
-       ; gcrRegs +[r14]
        mov      rax, gword ptr [rbx+0x20]
        ; gcrRegs +[rax]
+       mov      gword ptr [rsp+0x20], rdi
        mov      gword ptr [rsp+0x28], rbp
-       mov      gword ptr [rsp+0x30], r14
-       lea      rdx, [rsp+0x28]
+       lea      rdx, [rsp+0x20]
        mov      rcx, gword ptr [rax+0x08]
        ; gcrRegs +[rcx]
        call     [rax+0x18]<unknown method>
@@ -108,49 +104,47 @@ G_M14174_IG09:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi},
        ; gcr arg pop 0
        test     eax, eax
        jne      SHORT G_M14174_IG14
-                      ;; size=38 bbWeight=2 PerfScore 29.50
-G_M14174_IG10:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi}, byref, isz
-       ; gcrRegs -[rbp r14]
+                      ;; size=38 bbWeight=0.50 PerfScore 7.38
+G_M14174_IG10:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rbp rdi]
        mov      rdx, rsi
-       mov      rcx, rdi
+       lea      rcx, bword ptr [rbx+0x30]
        ; byrRegs +[rcx]
        call     [System.Collections.Generic.List`1+Enumerator[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:MoveNext():ubyte:this]
        ; byrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
        jne      SHORT G_M14174_IG09
-                      ;; size=16 bbWeight=4 PerfScore 19.00
-G_M14174_IG11:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       ; byrRegs -[rdi]
+                      ;; size=17 bbWeight=1 PerfScore 5.00
+G_M14174_IG11:        ; bbWeight=0.12, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        xor      rdx, rdx
        ; gcrRegs +[rdx]
        mov      gword ptr [rbx+0x08], rdx
        mov      dword ptr [rbx+0x14], -1
-                     ;; size=13 bbWeight=0.50 PerfScore 1.12
+                       ;; size=13 bbWeight=0.12 PerfScore 0.28
 G_M14174_IG12:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdx]
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M14174_IG13:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 64
+       add      rsp, 56
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
-       pop      r14
        ret      
-                     ;; size=11 bbWeight=0.50 PerfScore 1.88
-G_M14174_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=4028 {rbx rbp r14}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[rbp r14]
+                      ;; size=9 bbWeight=0.50 PerfScore 1.62
+G_M14174_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=00A8 {rbx rbp rdi}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs +[rbp rdi]
        mov      rax, gword ptr [rbx+0x28]
        ; gcrRegs +[rax]
+       mov      gword ptr [rsp+0x20], rdi
        mov      gword ptr [rsp+0x28], rbp
-       mov      gword ptr [rsp+0x30], r14
-       lea      rdx, [rsp+0x28]
+       lea      rdx, [rsp+0x20]
        mov      rcx, gword ptr [rax+0x08]
        ; gcrRegs +[rcx]
        call     [rax+0x18]<unknown method>
-       ; gcrRegs -[rcx rbp r14]
+       ; gcrRegs -[rcx rbp rdi]
        ; gcr arg pop 0
        lea      rcx, bword ptr [rbx+0x08]
        ; byrRegs +[rcx]
@@ -162,16 +156,15 @@ G_M14174_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=402
        mov      eax, 1
                        ;; size=43 bbWeight=0.50 PerfScore 5.75
 G_M14174_IG15:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 64
+       add      rsp, 56
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
-       pop      r14
        ret      
-                     ;; size=11 bbWeight=0.50 PerfScore 1.88
+                       ;; size=9 bbWeight=0.50 PerfScore 1.62
 
-; Total bytes of code 257, prolog size 27, PerfScore 91.65, instruction count 79, allocated bytes for code 257 (MethodHash=d793c8a1) for method System.Linq.Enumerable+WhereSelectListIterator`2[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon],System.__Canon]:MoveNext():ubyte:this (FullOpts)
+; Total bytes of code 242, prolog size 25, PerfScore 52.31, instruction count 73, allocated bytes for code 242 (MethodHash=d793c8a1) for method System.Linq.Enumerable+WhereSelectListIterator`2[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon],System.__Canon]:MoveNext():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -179,14 +172,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0A
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 5
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0A UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 7 * 8 + 8 = 64 = 0x40
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
-    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 6 * 8 + 8 = 56 = 0x38
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
+    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
  
-7 (-5.79%) : 77731.dasm - System.SpanHelpers:Fillint (Tier1-OSR)
@@ -10,23 +10,23 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;* V00 arg0         [V00    ] (  0,  0   )   byref  ->  zero-ref    single-def
-;* V01 arg1         [V01    ] (  0,  0   )    long  ->  zero-ref    single-def
-;* V02 arg2         [V02    ] (  0,  0   )     int  ->  zero-ref    single-def
-;* V03 loc0         [V03    ] (  0,  0   )    long  ->  zero-ref   
-;  V04 loc1         [V04,T04] (  1,  1   )     int  ->  [rsp+0xE4]  ld-addr-op tier0-frame
-;  V05 loc2         [V05,T05] (  5,218.07)  simd32  ->  [rsp+0xB8]  ld-addr-op tier0-frame <System.Numerics.Vector`1[ubyte]>
-;  V06 loc3         [V06,T01] (  4,217.07)   byref  ->  rax        
-;  V07 loc4         [V07,T03] (  2, 29.27)    long  ->  [rsp+0xA8]  tier0-frame
-;  V08 loc5         [V08,T02] (  1,100   )    long  ->  [rsp+0xA0]  tier0-frame
-;  V09 loc6         [V09,T00] (  6,502.44)    long  ->  [rsp+0x98]  tier0-frame
-;* V10 loc7         [V10    ] (  0,  0   )  simd16  ->  zero-ref    <System.Runtime.Intrinsics.Vector128`1[ubyte]>
-;* V11 loc8         [V11    ] (  0,  0   )    long  ->  zero-ref   
-;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V13 tmp1         [V13    ] (  0,  0   )    long  ->  zero-ref    "dup spill"
-;* V14 tmp2         [V14    ] (  0,  0   )  simd32  ->  zero-ref    ld-addr-op "NewObj constructor temp" <System.Numerics.Vector`1[uint]>
-;* V15 tmp3         [V15    ] (  0,  0   )  simd32  ->  zero-ref   
-;* V16 tmp4         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V00 arg0         [V00    ] (  0,   0   )   byref  ->  zero-ref    single-def
+;* V01 arg1         [V01    ] (  0,   0   )    long  ->  zero-ref    single-def
+;* V02 arg2         [V02    ] (  0,   0   )     int  ->  zero-ref    single-def
+;* V03 loc0         [V03    ] (  0,   0   )    long  ->  zero-ref   
+;  V04 loc1         [V04,T04] (  1,   1   )     int  ->  [rsp+0xE4]  ld-addr-op tier0-frame
+;  V05 loc2         [V05,T05] (  7, 418.07)  simd32  ->  [rsp+0xB8]  ld-addr-op tier0-frame <System.Numerics.Vector`1[ubyte]>
+;  V06 loc3         [V06,T01] (  6, 417.07)   byref  ->  rax        
+;  V07 loc4         [V07,T03] (  2,  29.27)    long  ->  [rsp+0xA8]  tier0-frame
+;  V08 loc5         [V08,T02] (  2, 200   )    long  ->  [rsp+0xA0]  tier0-frame
+;  V09 loc6         [V09,T00] ( 11,1002.44)    long  ->  [rsp+0x98]  tier0-frame
+;* V10 loc7         [V10    ] (  0,   0   )  simd16  ->  zero-ref    <System.Runtime.Intrinsics.Vector128`1[ubyte]>
+;* V11 loc8         [V11    ] (  0,   0   )    long  ->  zero-ref   
+;# V12 OutArgs      [V12    ] (  1,   1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+;* V13 tmp1         [V13    ] (  0,   0   )    long  ->  zero-ref    "dup spill"
+;* V14 tmp2         [V14    ] (  0,   0   )  simd32  ->  zero-ref    ld-addr-op "NewObj constructor temp" <System.Numerics.Vector`1[uint]>
+;* V15 tmp3         [V15    ] (  0,   0   )  simd32  ->  zero-ref   
+;* V16 tmp4         [V16    ] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;
 ; Lcl frame size = 0
 
@@ -43,34 +43,35 @@ G_M11887_IG02:        ; bbWeight=100, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, b
        add      rcx, 64
        mov      rdx, qword ptr [rsp+0xA0]
        cmp      rcx, rdx
-       mov      qword ptr [rsp+0xA0], rdx
-       jb       SHORT G_M11887_IG06
-                       ;; size=53 bbWeight=100 PerfScore 1250.00
-G_M11887_IG03:        ; bbWeight=14.63, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref, isz
+       jae      SHORT G_M11887_IG04
+                       ;; size=45 bbWeight=100 PerfScore 1150.00
+G_M11887_IG03:        ; bbWeight=100, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref, isz
+       vmovups  ymmword ptr [rax+rcx], ymm0
+       vmovups  ymmword ptr [rax+rcx+0x20], ymm0
+       add      rcx, 64
+       cmp      rcx, rdx
+       jb       SHORT G_M11887_IG03
+                       ;; size=20 bbWeight=100 PerfScore 550.00
+G_M11887_IG04:        ; bbWeight=14.63, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref, isz
        mov      rdx, qword ptr [rsp+0xA8]
        test     dl, 32
        jne      SHORT G_M11887_IG07
                        ;; size=13 bbWeight=14.63 PerfScore 32.93
-G_M11887_IG04:        ; bbWeight=14.63, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
+G_M11887_IG05:        ; bbWeight=14.63, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
        vmovups  ymmword ptr [rax+rdx-0x20], ymm0
                        ;; size=6 bbWeight=14.63 PerfScore 29.27
-G_M11887_IG05:        ; bbWeight=14.63, epilog, nogc, extend
+G_M11887_IG06:        ; bbWeight=14.63, epilog, nogc, extend
        vzeroupper 
        add      rsp, 296
        pop      rbp
        ret      
                        ;; size=12 bbWeight=14.63 PerfScore 40.24
-G_M11887_IG06:        ; bbWeight=50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, gcvars, byref, isz
-       mov      qword ptr [rsp+0x98], rcx
-       vmovups  ymmword ptr [rsp+0xB8], ymm0
-       jmp      SHORT G_M11887_IG02
-                       ;; size=19 bbWeight=50 PerfScore 200.00
-G_M11887_IG07:        ; bbWeight=2.44, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref, isz
+G_M11887_IG07:        ; bbWeight=2.44, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, gcvars, byref, isz
        vmovups  ymmword ptr [rax+rcx], ymm0
-       jmp      SHORT G_M11887_IG04
+       jmp      SHORT G_M11887_IG05
                         ;; size=7 bbWeight=2.44 PerfScore 9.76
 
-; Total bytes of code 121, prolog size 11, PerfScore 1862.20, instruction count 24, allocated bytes for code 121 (MethodHash=2dc3d190) for method System.SpanHelpers:Fill[int](byref,ulong,int) (Tier1-OSR)
+; Total bytes of code 114, prolog size 11, PerfScore 2112.20, instruction count 25, allocated bytes for code 114 (MethodHash=2dc3d190) for method System.SpanHelpers:Fill[int](byref,ulong,int) (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
  
+48 (+75.00%) : 56686.dasm - System.Threading.ThreadPoolWorkQueueThreadLocals:TransferLocalWork():this (Tier1)
@@ -9,11 +9,11 @@
 ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  4,  3.03)     ref  ->  rbx         this class-hnd single-def <System.Threading.ThreadPoolWorkQueueThreadLocals>
+;  V00 this         [V00,T01] (  6,  5.07)     ref  ->  rbx         this class-hnd single-def <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Object>
 ;  V02 OutArgs      [V02    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T02] (  4,  2.05)     ref  ->  rdx         class-hnd "Inline return value spill temp" <System.Object>
-;  V04 tmp2         [V04,T00] (  4,  6.13)     ref  ->  rcx         class-hnd exact "Inlining Arg" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
+;  V03 tmp1         [V03,T02] (  8,  5.10)     ref  ->  rdx         class-hnd "Inline return value spill temp" <System.Object>
+;  V04 tmp2         [V04,T00] (  8, 12.25)     ref  ->  rcx         class-hnd exact "Inlining Arg" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;
 ; Lcl frame size = 32
 
@@ -28,24 +28,34 @@ G_M18211_IG02:        ; bbWeight=1.02, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcrRegs +[rcx]
        mov      eax, dword ptr [rcx+0x14]
        cmp      eax, dword ptr [rcx+0x18]
-       jl       SHORT G_M18211_IG07
+       jl       SHORT G_M18211_IG04
                         ;; size=12 bbWeight=1.02 PerfScore 8.14
-G_M18211_IG03:        ; bbWeight=1.01, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M18211_IG03:        ; bbWeight=1.01, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
        xor      rdx, rdx
        ; gcrRegs +[rdx]
-                      ;; size=2 bbWeight=1.01 PerfScore 0.25
-G_M18211_IG04:        ; bbWeight=1.02, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M18211_IG05
+                       ;; size=4 bbWeight=1.01 PerfScore 2.26
+G_M18211_IG04:        ; bbWeight=0.01, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rdx] +[rcx]
+       call     [<unknown method>]
+       ; gcrRegs -[rcx] +[rax]
+       ; gcr arg pop 0
+       mov      rdx, rax
+       ; gcrRegs +[rdx]
+                       ;; size=9 bbWeight=0.01 PerfScore 0.04
+G_M18211_IG05:        ; bbWeight=1.02, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
        test     rdx, rdx
-       jne      SHORT G_M18211_IG06
+       jne      SHORT G_M18211_IG07
                       ;; size=5 bbWeight=1.02 PerfScore 1.27
-G_M18211_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M18211_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rdx rbx]
        add      rsp, 32
        pop      rbx
        ret      
                        ;; size=6 bbWeight=1 PerfScore 1.75
-G_M18211_IG06:        ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M18211_IG07:        ; bbWeight=1.02, gcVars=0000000000000000 {}, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rdx rbx]
        mov      rcx, gword ptr [rbx+0x10]
        ; gcrRegs +[rcx]
@@ -54,19 +64,44 @@ G_M18211_IG06:        ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=000
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx]
        ; gcr arg pop 0
-       jmp      SHORT G_M18211_IG02
+                      ;; size=18 bbWeight=1.02 PerfScore 8.39
+G_M18211_IG08:        ; bbWeight=1.02, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       mov      rcx, gword ptr [rbx+0x18]
+       ; gcrRegs +[rcx]
+       mov      eax, dword ptr [rcx+0x14]
+       cmp      eax, dword ptr [rcx+0x18]
+       jl       SHORT G_M18211_IG12
+                       ;; size=12 bbWeight=1.02 PerfScore 8.14
+G_M18211_IG09:        ; bbWeight=1.01, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rcx]
+       xor      rdx, rdx
+       ; gcrRegs +[rdx]
+                       ;; size=2 bbWeight=1.01 PerfScore 0.25
+G_M18211_IG10:        ; bbWeight=1.02, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
+       test     rdx, rdx
+       je       SHORT G_M18211_IG06
+                       ;; size=5 bbWeight=1.02 PerfScore 1.27
+G_M18211_IG11:        ; bbWeight=0.02, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
+       mov      rcx, gword ptr [rbx+0x10]
+       ; gcrRegs +[rcx]
+       mov      r8d, 1
+       cmp      dword ptr [rcx], ecx
+       call     [<unknown method>]
+       ; gcrRegs -[rcx rdx]
+       ; gcr arg pop 0
+       jmp      SHORT G_M18211_IG08
                         ;; size=20 bbWeight=0.02 PerfScore 0.18
-G_M18211_IG07:        ; bbWeight=0.01, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref, isz
+G_M18211_IG12:        ; bbWeight=0.01, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rcx]
        call     [<unknown method>]
        ; gcrRegs -[rcx] +[rax]
        ; gcr arg pop 0
        mov      rdx, rax
        ; gcrRegs +[rdx]
-       jmp      SHORT G_M18211_IG04
+       jmp      SHORT G_M18211_IG10
                       ;; size=11 bbWeight=0.01 PerfScore 0.06
 
-; Total bytes of code 64, prolog size 5, PerfScore 13.17, instruction count 21, allocated bytes for code 64 (MethodHash=29cdb8dc) for method System.Threading.ThreadPoolWorkQueueThreadLocals:TransferLocalWork():this (Tier1)
+; Total bytes of code 112, prolog size 5, PerfScore 33.27, instruction count 35, allocated bytes for code 112 (MethodHash=29cdb8dc) for method System.Threading.ThreadPoolWorkQueueThreadLocals:TransferLocalWork():this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+48 (+75.00%) : 51152.dasm - System.Threading.ThreadPoolWorkQueueThreadLocals:TransferLocalWork():this (Tier1)
@@ -9,11 +9,11 @@
 ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  4,  3.02)     ref  ->  rbx         this class-hnd single-def <System.Threading.ThreadPoolWorkQueueThreadLocals>
+;  V00 this         [V00,T01] (  6,  5.04)     ref  ->  rbx         this class-hnd single-def <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Object>
 ;  V02 OutArgs      [V02    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T02] (  4,  2.03)     ref  ->  rdx         class-hnd "Inline return value spill temp" <System.Object>
-;  V04 tmp2         [V04,T00] (  4,  6.08)     ref  ->  rcx         class-hnd exact "Inlining Arg" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
+;  V03 tmp1         [V03,T02] (  8,  5.06)     ref  ->  rdx         class-hnd "Inline return value spill temp" <System.Object>
+;  V04 tmp2         [V04,T00] (  8, 12.17)     ref  ->  rcx         class-hnd exact "Inlining Arg" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;
 ; Lcl frame size = 32
 
@@ -28,34 +28,35 @@ G_M18211_IG02:        ; bbWeight=1.01, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcrRegs +[rcx]
        mov      eax, dword ptr [rcx+0x14]
        cmp      eax, dword ptr [rcx+0x18]
-       jl       SHORT G_M18211_IG06
+       jl       SHORT G_M18211_IG04
                         ;; size=12 bbWeight=1.01 PerfScore 8.08
-G_M18211_IG03:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M18211_IG03:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
        xor      rdx, rdx
        ; gcrRegs +[rdx]
-                      ;; size=2 bbWeight=1.00 PerfScore 0.25
-G_M18211_IG04:        ; bbWeight=1.01, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
-       test     rdx, rdx
-       jne      SHORT G_M18211_IG07
-                       ;; size=5 bbWeight=1.01 PerfScore 1.26
-G_M18211_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-       ; gcrRegs -[rdx rbx]
-       add      rsp, 32
-       pop      rbx
-       ret      
-                       ;; size=6 bbWeight=1 PerfScore 1.75
-G_M18211_IG06:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; gcrRegs +[rcx rbx]
+       jmp      SHORT G_M18211_IG05
+                       ;; size=4 bbWeight=1.00 PerfScore 2.25
+G_M18211_IG04:        ; bbWeight=0.01, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rdx] +[rcx]
        call     [<unknown method>]
        ; gcrRegs -[rcx] +[rax]
        ; gcr arg pop 0
        mov      rdx, rax
        ; gcrRegs +[rdx]
-       jmp      SHORT G_M18211_IG04
-                       ;; size=11 bbWeight=0.01 PerfScore 0.06
-G_M18211_IG07:        ; bbWeight=0.01, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
+                       ;; size=9 bbWeight=0.01 PerfScore 0.03
+G_M18211_IG05:        ; bbWeight=1.01, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
+       test     rdx, rdx
+       jne      SHORT G_M18211_IG07
+                       ;; size=5 bbWeight=1.01 PerfScore 1.26
+G_M18211_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       ; gcrRegs -[rdx rbx]
+       add      rsp, 32
+       pop      rbx
+       ret      
+                       ;; size=6 bbWeight=1 PerfScore 1.75
+G_M18211_IG07:        ; bbWeight=1.01, gcVars=0000000000000000 {}, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs +[rdx rbx]
        mov      rcx, gword ptr [rbx+0x10]
        ; gcrRegs +[rcx]
        mov      r8d, 1
@@ -63,10 +64,44 @@ G_M18211_IG07:        ; bbWeight=0.01, gcrefRegs=000C {rdx rbx}, byrefRegs=0000
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx]
        ; gcr arg pop 0
-       jmp      SHORT G_M18211_IG02
+                      ;; size=18 bbWeight=1.01 PerfScore 8.34
+G_M18211_IG08:        ; bbWeight=1.01, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       mov      rcx, gword ptr [rbx+0x18]
+       ; gcrRegs +[rcx]
+       mov      eax, dword ptr [rcx+0x14]
+       cmp      eax, dword ptr [rcx+0x18]
+       jl       SHORT G_M18211_IG12
+                       ;; size=12 bbWeight=1.01 PerfScore 8.08
+G_M18211_IG09:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rcx]
+       xor      rdx, rdx
+       ; gcrRegs +[rdx]
+                       ;; size=2 bbWeight=1.00 PerfScore 0.25
+G_M18211_IG10:        ; bbWeight=1.01, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
+       test     rdx, rdx
+       je       SHORT G_M18211_IG06
+                       ;; size=5 bbWeight=1.01 PerfScore 1.26
+G_M18211_IG11:        ; bbWeight=0.01, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
+       mov      rcx, gword ptr [rbx+0x10]
+       ; gcrRegs +[rcx]
+       mov      r8d, 1
+       cmp      dword ptr [rcx], ecx
+       call     [<unknown method>]
+       ; gcrRegs -[rcx rdx]
+       ; gcr arg pop 0
+       jmp      SHORT G_M18211_IG08
                         ;; size=20 bbWeight=0.01 PerfScore 0.11
+G_M18211_IG12:        ; bbWeight=0.01, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[rcx]
+       call     [<unknown method>]
+       ; gcrRegs -[rcx] +[rax]
+       ; gcr arg pop 0
+       mov      rdx, rax
+       ; gcrRegs +[rdx]
+       jmp      SHORT G_M18211_IG10
+                       ;; size=11 bbWeight=0.01 PerfScore 0.06
 
-; Total bytes of code 64, prolog size 5, PerfScore 13.03, instruction count 21, allocated bytes for code 64 (MethodHash=29cdb8dc) for method System.Threading.ThreadPoolWorkQueueThreadLocals:TransferLocalWork():this (Tier1)
+; Total bytes of code 112, prolog size 5, PerfScore 32.99, instruction count 35, allocated bytes for code 112 (MethodHash=29cdb8dc) for method System.Threading.ThreadPoolWorkQueueThreadLocals:TransferLocalWork():this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+22 (+91.67%) : 98393.dasm - NLog.Internal.StringBuilderExt:CalculateDigitCount(uint):int (FullOpts)
@@ -9,16 +9,22 @@
 ;
 ;  V00 arg0         [V00,T02] (  3,  3   )     int  ->  rcx         single-def
 ;  V01 loc0         [V01,T01] (  4, 18   )     int  ->  rax        
-;  V02 loc1         [V02,T00] (  4, 25   )     int  ->  rcx        
+;  V02 loc1         [V02,T00] (  7, 28   )     int  ->  rcx        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
 
 G_M27886_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
                        ;; size=0 bbWeight=1 PerfScore 0.00
-G_M27886_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       xor      eax, eax
-                       ;; size=2 bbWeight=1 PerfScore 0.25
+G_M27886_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      eax, 0xD1FFAB1E
+       mov      ecx, ecx
+       imul     rcx, rax
+       shr      rcx, 35
+       mov      eax, 1
+       test     ecx, ecx
+       je       SHORT G_M27886_IG04
+                       ;; size=24 bbWeight=1 PerfScore 4.50
 G_M27886_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        mov      edx, 0xD1FFAB1E
        mov      ecx, ecx
@@ -32,7 +38,7 @@ G_M27886_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
 
-; Total bytes of code 24, prolog size 0, PerfScore 37.25, instruction count 9, allocated bytes for code 24 (MethodHash=caae9311) for method NLog.Internal.StringBuilderExt:CalculateDigitCount(uint):int (FullOpts)
+; Total bytes of code 46, prolog size 0, PerfScore 41.50, instruction count 15, allocated bytes for code 46 (MethodHash=caae9311) for method NLog.Internal.StringBuilderExt:CalculateDigitCount(uint):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
benchmarks.run.windows.x64.checked.mch
-32 (-10.63%) : 2364.dasm - System.Threading.PortableThreadPool:EnsureIOCompletionPollers():this (FullOpts)
@@ -8,32 +8,30 @@
 ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  8, 13.92)     ref  ->  [rbp+0x10]  this class-hnd EH-live single-def <System.Threading.PortableThreadPool>
-;  V01 loc0         [V01,T03] (  3,  9.92)     ref  ->  rbx         class-hnd exact single-def <<unknown class>>
-;  V02 loc1         [V02,T01] (  5, 32.68)     int  ->  rsi        
+;  V00 this         [V00,T00] (  8,  7   )     ref  ->  [rbp+0x10]  this class-hnd EH-live single-def <System.Threading.PortableThreadPool>
+;  V01 loc0         [V01,T03] (  3,  3   )     ref  ->  rbx         class-hnd exact single-def <<unknown class>>
+;* V02 loc1         [V02,T04] (  0,  0   )     int  ->  zero-ref   
 ;* V03 loc2         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T00] (  3, 47.52)     ref  ->  r14         class-hnd exact "NewObj constructor temp" <<unknown class>>
+;  V05 tmp1         [V05,T02] (  3,  6   )     ref  ->  rsi         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;  V06 tmp2         [V06,T07] (  2,  0   )     ref  ->  rdx         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V07 tmp3         [V07,T05] (  4,  8   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.Threading.LowLevelLock>
-;  V08 PSPSym       [V08,T06] (  1,  1   )    long  ->  [rbp-0x30]  do-not-enreg[V] "PSPSym"
-;  V09 cse0         [V09,T04] (  2,  8.92)    long  ->  rdi         hoist "CSE - aggressive"
+;  V07 tmp3         [V07,T01] (  4,  8   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.Threading.LowLevelLock>
+;  V08 PSPSym       [V08,T06] (  1,  1   )    long  ->  [rbp-0x20]  do-not-enreg[V] "PSPSym"
+;  V09 cse0         [V09,T05] (  2,  2   )    long  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 48
 
 G_M34740_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
-       push     r14
-       push     rdi
        push     rsi
        push     rbx
        sub      rsp, 48
-       lea      rbp, [rsp+0x50]
-       mov      qword ptr [rbp-0x30], rsp
+       lea      rbp, [rsp+0x40]
+       mov      qword ptr [rbp-0x20], rsp
        mov      gword ptr [rbp+0x10], rcx
        ; GC ptr vars +{V00}
-                      ;; size=23 bbWeight=1 PerfScore 7.75
-G_M34740_IG02:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, gcvars, byref, isz
+                       ;; size=20 bbWeight=1 PerfScore 5.75
+G_M34740_IG02:        ; bbWeight=1, gcVars=0000000000000001 {V00}, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rcx]
        mov      rbx, gword ptr [rcx+0x18]
        ; gcrRegs +[rbx]
@@ -55,7 +53,7 @@ G_M34740_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
        cmp      gword ptr [rcx+0x10], 0
-       jne      SHORT G_M34740_IG07
+       jne      SHORT G_M34740_IG05
        mov      rcx, 0xD1FFAB1E      ; <unknown class>
        ; gcrRegs -[rcx]
        mov      edx, 1
@@ -64,37 +62,25 @@ G_M34740_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcr arg pop 0
        mov      rbx, rax
        ; gcrRegs +[rbx]
-       xor      esi, esi
-       mov      rdi, 0xD1FFAB1E      ; <unknown class>
-                       ;; size=46 bbWeight=1 PerfScore 7.25
-G_M34740_IG04:        ; bbWeight=7.92, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
-       mov      rcx, rdi
+       mov      rcx, 0xD1FFAB1E      ; <unknown class>
        call     CORINFO_HELP_NEWSFAST
-       ; gcrRegs +[rax]
        ; gcr arg pop 0
-       mov      r14, rax
-       ; gcrRegs +[r14]
+       mov      rsi, rax
+       ; gcrRegs +[rsi]
        mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
        mov      rdx, qword ptr [rcx+0x48]
-       mov      rcx, r14
+       mov      rcx, rsi
        call     [<unknown method>]
        ; gcrRegs -[rax rcx]
        ; gcr arg pop 0
-       mov      ecx, esi
-       lea      rcx, bword ptr [rbx+8*rcx+0x10]
+       lea      rcx, bword ptr [rbx+0x10]
        ; byrRegs +[rcx]
-       mov      rdx, r14
+       mov      rdx, rsi
        ; gcrRegs +[rdx]
        call     CORINFO_HELP_ASSIGN_REF
-       ; gcrRegs -[rdx r14]
+       ; gcrRegs -[rdx rsi]
        ; byrRegs -[rcx]
-       inc      esi
-       test     esi, esi
-       jle      SHORT G_M34740_IG04
-                       ;; size=49 bbWeight=7.92 PerfScore 93.06
-G_M34740_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
        lea      rcx, bword ptr [rcx+0x10]
@@ -105,12 +91,12 @@ G_M34740_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rdx rbx]
        ; byrRegs -[rcx]
-       jmp      SHORT G_M34740_IG07
-                       ;; size=18 bbWeight=1 PerfScore 4.75
-G_M34740_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M34740_IG05
+                       ;; size=99 bbWeight=1 PerfScore 21.00
+G_M34740_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=0 PerfScore 0.00
-G_M34740_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M34740_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
        mov      rcx, gword ptr [rcx+0x18]
@@ -121,78 +107,68 @@ G_M34740_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcr arg pop 0
        nop      
                        ;; size=17 bbWeight=1 PerfScore 9.25
-G_M34740_IG08:        ; bbWeight=1, epilog, nogc, extend
+G_M34740_IG06:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 48
        pop      rbx
        pop      rsi
-       pop      rdi
-       pop      r14
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=1 PerfScore 3.75
-G_M34740_IG09:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                     ;; size=8 bbWeight=1 PerfScore 2.75
+G_M34740_IG07:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        ; gcrRegs +[rdx]
        push     rbp
-       push     r14
-       push     rdi
        push     rsi
        push     rbx
        sub      rsp, 48
        mov      rbp, qword ptr [rcx+0x20]
        mov      qword ptr [rsp+0x20], rbp
-       lea      rbp, [rbp+0x50]
-                       ;; size=23 bbWeight=0 PerfScore 0.00
-G_M34740_IG10:        ; bbWeight=0, gcVars=0000000000000004 {V00}, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, gcvars, byref
-       ; GC ptr vars +{V00 V02}
+       lea      rbp, [rbp+0x40]
+                       ;; size=20 bbWeight=0 PerfScore 0.00
+G_M34740_IG08:        ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, gcvars, byref
+       ; GC ptr vars +{V00}
        mov      rcx, 0xD1FFAB1E
        ; gcrRegs +[rcx]
        call     <unknown method>
        ; gcrRegs -[rcx rdx]
        ; gcr arg pop 0
-       lea      rax, G_M34740_IG06
+       lea      rax, G_M34740_IG04
                      ;; size=22 bbWeight=0 PerfScore 0.00
-G_M34740_IG11:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M34740_IG09:        ; bbWeight=0, funclet epilog, nogc, extend
        add      rsp, 48
        pop      rbx
        pop      rsi
-       pop      rdi
-       pop      r14
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=0 PerfScore 0.00
-G_M34740_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                        ;; size=8 bbWeight=0 PerfScore 0.00
+G_M34740_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        push     rbp
-       push     r14
-       push     rdi
        push     rsi
        push     rbx
        sub      rsp, 48
        mov      rbp, qword ptr [rcx+0x20]
        mov      qword ptr [rsp+0x20], rbp
-       lea      rbp, [rbp+0x50]
-                       ;; size=23 bbWeight=0 PerfScore 0.00
-G_M34740_IG13:        ; bbWeight=0, gcVars=0000000000000004 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       lea      rbp, [rbp+0x40]
+                       ;; size=20 bbWeight=0 PerfScore 0.00
+G_M34740_IG11:        ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
        mov      rcx, gword ptr [rcx+0x18]
        cmp      dword ptr [rcx], ecx
-       ; GC ptr vars -{V00 V02}
+       ; GC ptr vars -{V00}
        call     [System.Threading.LowLevelLock:Release():this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        nop      
                        ;; size=17 bbWeight=0 PerfScore 0.00
-G_M34740_IG14:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M34740_IG12:        ; bbWeight=0, funclet epilog, nogc, extend
        add      rsp, 48
        pop      rbx
        pop      rsi
-       pop      rdi
-       pop      r14
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=0 PerfScore 0.00
+                      ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 301, prolog size 23, PerfScore 138.81, instruction count 99, allocated bytes for code 301 (MethodHash=d1ba784b) for method System.Threading.PortableThreadPool:EnsureIOCompletionPollers():this (FullOpts)
+; Total bytes of code 269, prolog size 20, PerfScore 51.75, instruction count 81, allocated bytes for code 269 (MethodHash=d1ba784b) for method System.Threading.PortableThreadPool:EnsureIOCompletionPollers():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -200,51 +176,45 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0A
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x07
+  CountOfUnwindCodes: 4
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0A UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
+    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 Unwind Info:
   >> Start offset   : 0xd1ffab1e (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0A
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x07
+  CountOfUnwindCodes: 4
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0A UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
...
  
-15 (-7.61%) : 8727.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
@@ -8,32 +8,36 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] ( 13, 12   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
-;  V01 loc0         [V01,T09] (  3,  2.50)     int  ->  rcx        
-;  V02 loc1         [V02,T06] (  3,  4.50)     ref  ->  rbp         class-hnd <System.__Canon>
+;  V00 this         [V00,T00] ( 13,  9   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
+;  V01 loc0         [V01,T13] (  3,  2.50)     int  ->  rcx        
+;  V02 loc1         [V02,T08] (  3,  1.50)     ref  ->  rdi         class-hnd <System.__Canon>
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T00] (  2, 16   )    long  ->  rdx         "spilling helperCall"
+;  V04 tmp1         [V04,T02] (  2,  4   )    long  ->  rdx         "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V07 cse0         [V07,T05] (  2,  5   )    long  ->  rsi         hoist "CSE - aggressive"
-;  V08 cse1         [V08,T03] (  4,  6   )   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V09 rat0         [V09,T07] (  3,  4.40)    long  ->  rcx         "Spilling to split statement for tree"
-;  V10 rat1         [V10,T08] (  3,  4   )    long  ->  rsi         "runtime lookup"
-;  V11 rat2         [V11,T04] (  3,  5.60)    long  ->  rsi         "fgMakeTemp is creating a new local variable"
-;  V12 rat3         [V12,T02] (  3, 12   )     ref  ->  rax         "delegate invoke call"
+;  V07 cse0         [V07,T14] (  2,  2   )    long  ->  rsi         hoist "CSE - aggressive"
+;  V08 rat0         [V08,T09] (  3,  4.40)    long  ->  rcx         "Spilling to split statement for tree"
+;  V09 rat1         [V09,T10] (  3,  4   )    long  ->  rsi         "runtime lookup"
+;  V10 rat2         [V10,T07] (  3,  5.60)    long  ->  rsi         "fgMakeTemp is creating a new local variable"
+;* V11 rat3         [V11,T06] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V12 rat4         [V12,T11] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V13 rat5         [V13,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;* V14 rat6         [V14,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V15 rat7         [V15,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V16 rat8         [V16,T12] (  3,  3   )     ref  ->  rax         "delegate invoke call"
+;* V17 rat9         [V17,T04] (  0,  0   )     ref  ->  zero-ref    "delegate invoke call"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 48
 
 G_M34024_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rdi
        push     rsi
-       push     rbp
        push     rbx
-       sub      rsp, 40
-       mov      qword ptr [rsp+0x20], rcx
+       sub      rsp, 48
+       mov      qword ptr [rsp+0x28], rcx
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=16 bbWeight=1 PerfScore 5.50
+                      ;; size=15 bbWeight=1 PerfScore 4.50
 G_M34024_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      ecx, dword ptr [rbx+0x14]
        cmp      ecx, 1
@@ -42,22 +46,20 @@ G_M34024_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
 G_M34024_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        cmp      ecx, 2
        je       SHORT G_M34024_IG05
-       jmp      G_M34024_IG12
-                       ;; size=10 bbWeight=0.50 PerfScore 1.62
+       jmp      SHORT G_M34024_IG12
+                       ;; size=7 bbWeight=0.50 PerfScore 1.62
 G_M34024_IG04:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rbx+0x18]
        ; gcrRegs +[rcx]
-       lea      rsi, bword ptr [rbx+0x28]
-       ; byrRegs +[rsi]
-       mov      rdx, rsi
+       lea      rdx, bword ptr [rbx+0x28]
        ; byrRegs +[rdx]
        cmp      dword ptr [rcx], ecx
        call     [System.Collections.Generic.List`1[System.__Canon]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.__Canon]:this]
        ; gcrRegs -[rcx]
-       ; byrRegs -[rdx rsi]
+       ; byrRegs -[rdx]
        ; gcr arg pop 0
        mov      dword ptr [rbx+0x14], 2
-                      ;; size=26 bbWeight=0.50 PerfScore 4.88
+                       ;; size=23 bbWeight=0.50 PerfScore 4.75
 G_M34024_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, qword ptr [rbx]
        mov      rdx, qword ptr [rcx+0x38]
@@ -76,19 +78,14 @@ G_M34024_IG07:        ; bbWeight=0.20, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      rsi, rax
                        ;; size=18 bbWeight=0.20 PerfScore 0.30
 G_M34024_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       lea      rcx, bword ptr [rbx+0x28]
-       ; byrRegs +[rcx]
-       mov      rdi, rcx
-       ; byrRegs +[rdi]
        jmp      SHORT G_M34024_IG10
-                       ;; size=9 bbWeight=1 PerfScore 2.75
-G_M34024_IG09:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi}, byref, isz
-       ; byrRegs -[rcx]
-       mov      rbp, gword ptr [rbx+0x30]
-       ; gcrRegs +[rbp]
+                      ;; size=2 bbWeight=1 PerfScore 2.00
+G_M34024_IG09:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       mov      rdi, gword ptr [rbx+0x30]
+       ; gcrRegs +[rdi]
        mov      rax, gword ptr [rbx+0x20]
        ; gcrRegs +[rax]
-       mov      rdx, rbp
+       mov      rdx, rdi
        ; gcrRegs +[rdx]
        mov      rcx, gword ptr [rax+0x08]
        ; gcrRegs +[rcx]
@@ -97,58 +94,55 @@ G_M34024_IG09:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi},
        ; gcr arg pop 0
        test     eax, eax
        jne      SHORT G_M34024_IG14
-                      ;; size=22 bbWeight=2 PerfScore 21.00
-G_M34024_IG10:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi}, byref, isz
-       ; gcrRegs -[rbp]
+                      ;; size=22 bbWeight=0.50 PerfScore 5.25
+G_M34024_IG10:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rdi]
        mov      rdx, rsi
-       mov      rcx, rdi
+       lea      rcx, bword ptr [rbx+0x28]
        ; byrRegs +[rcx]
        call     [System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this]
        ; byrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
        jne      SHORT G_M34024_IG09
-                      ;; size=16 bbWeight=4 PerfScore 19.00
-G_M34024_IG11:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       ; byrRegs -[rdi]
+                      ;; size=17 bbWeight=1 PerfScore 5.00
+G_M34024_IG11:        ; bbWeight=0.12, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        xor      rcx, rcx
        ; gcrRegs +[rcx]
        mov      gword ptr [rbx+0x08], rcx
        mov      dword ptr [rbx+0x14], -1
-                     ;; size=13 bbWeight=0.50 PerfScore 1.12
+                       ;; size=13 bbWeight=0.12 PerfScore 0.28
 G_M34024_IG12:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M34024_IG13:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 40
+       add      rsp, 48
        pop      rbx
-       pop      rbp
        pop      rsi
        pop      rdi
        ret      
-                     ;; size=9 bbWeight=0.50 PerfScore 1.62
-G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0028 {rbx rbp}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[rbp]
+                      ;; size=8 bbWeight=0.50 PerfScore 1.38
+G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs +[rdi]
        lea      rcx, bword ptr [rbx+0x08]
        ; byrRegs +[rcx]
-       mov      rdx, rbp
+       mov      rdx, rdi
        ; gcrRegs +[rdx]
        call     CORINFO_HELP_ASSIGN_REF
-       ; gcrRegs -[rdx rbp]
+       ; gcrRegs -[rdx rdi]
        ; byrRegs -[rcx]
        mov      eax, 1
                        ;; size=17 bbWeight=0.50 PerfScore 1.00
 G_M34024_IG15:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 40
+       add      rsp, 48
        pop      rbx
-       pop      rbp
        pop      rsi
        pop      rdi
        ret      
-                     ;; size=9 bbWeight=0.50 PerfScore 1.62
+                        ;; size=8 bbWeight=0.50 PerfScore 1.38
 
-; Total bytes of code 197, prolog size 13, PerfScore 74.65, instruction count 64, allocated bytes for code 197 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
+; Total bytes of code 182, prolog size 12, PerfScore 41.68, instruction count 58, allocated bytes for code 182 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -156,13 +150,12 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x08
-  CountOfUnwindCodes: 5
+  SizeOfProlog      : 0x07
+  CountOfUnwindCodes: 4
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
+    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
+    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
  
-4 (-7.55%) : 17832.dasm - Struct.SpanWrapper:SumSpanWrapper(Struct.SpanWrapper`1[int]):int:this (FullOpts)
@@ -9,21 +9,21 @@
 ; Final local variable assignments
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <Struct.SpanWrapper>
-;  V01 arg1         [V01,T03] (  4,  8   )   byref  ->  rdx         ld-addr-op single-def
-;  V02 loc0         [V02,T04] (  4,  9   )     int  ->  rax        
+;  V01 arg1         [V01,T02] (  4,  8   )   byref  ->  rdx         ld-addr-op single-def
+;  V02 loc0         [V02,T05] (  5,  9.25)     int  ->  rax        
 ;* V03 loc1         [V03    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op <System.ReadOnlySpan`1+Enumerator[int]>
 ;* V04 loc2         [V04    ] (  0,  0   )     int  ->  zero-ref   
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1+Enumerator[int]>
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[int]>
 ;* V08 tmp3         [V08    ] (  0,  0   )     int  ->  zero-ref    "Span.get_Item index"
-;* V09 tmp4         [V09,T05] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V09 tmp4         [V09,T04] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V10 tmp5         [V10,T00] (  3, 20   )     int  ->   r8         "Inline stloc first use temp"
 ;* V11 tmp6         [V11    ] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
 ;* V12 tmp7         [V12    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
-;  V13 tmp8         [V13,T06] (  2,  3   )   byref  ->  rcx         single-def "V03.[000..008)"
-;  V14 tmp9         [V14,T02] (  3, 11   )     int  ->  rdx         single-def "V03.[008..012)"
-;  V15 tmp10        [V15,T01] (  5, 17   )     int  ->   r8         "V03.[016..020)"
+;  V13 tmp8         [V13,T06] (  3,  3.25)   byref  ->  rcx         single-def "V03.[000..008)"
+;  V14 tmp9         [V14,T03] (  3, 10   )     int  ->  rdx         single-def "V03.[008..012)"
+;  V15 tmp10        [V15,T01] (  4, 14.50)     int  ->   r8         "V03.[016..020)"
 ;  V16 tmp11        [V16,T07] (  2,  2   )   byref  ->  rcx         single-def "V06.[000..008)"
 ;  V17 tmp12        [V17,T08] (  2,  2   )     int  ->  rdx         single-def "V06.[008..012)"
 ;* V18 tmp13        [V18    ] (  0,  0   )     int  ->  zero-ref    "V06.[016..020)"
@@ -40,35 +40,39 @@ G_M19652_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0004 {rdx}, byr
        ; byrRegs +[rcx]
        mov      edx, dword ptr [rdx+0x08]
        ; byrRegs -[rdx]
-       mov      r8d, -1
        jmp      SHORT G_M19652_IG04
-                      ;; size=16 bbWeight=1 PerfScore 6.50
-G_M19652_IG03:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
-       cmp      r8d, edx
-       jae      SHORT G_M19652_IG07
+                      ;; size=10 bbWeight=1 PerfScore 6.25
+G_M19652_IG03:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       mov      eax, dword ptr [rcx]
+       jmp      SHORT G_M19652_IG07
+                       ;; size=4 bbWeight=0.25 PerfScore 1.00
+G_M19652_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       test     edx, edx
+       jle      SHORT G_M19652_IG09
+                       ;; size=4 bbWeight=1 PerfScore 1.25
+G_M19652_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       xor      r8d, r8d
+       jmp      SHORT G_M19652_IG03
+                       ;; size=5 bbWeight=0.50 PerfScore 1.12
+G_M19652_IG06:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref
        mov      r10d, r8d
        add      eax, dword ptr [rcx+4*r10]
-                       ;; size=12 bbWeight=2 PerfScore 9.00
-G_M19652_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+                      ;; size=7 bbWeight=2 PerfScore 6.50
+G_M19652_IG07:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
        inc      r8d
        cmp      r8d, edx
-       jge      SHORT G_M19652_IG06
+       jge      SHORT G_M19652_IG09
                      ;; size=8 bbWeight=8 PerfScore 12.00
-G_M19652_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
-       jmp      SHORT G_M19652_IG03
+G_M19652_IG08:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       jmp      SHORT G_M19652_IG06
                         ;; size=2 bbWeight=4 PerfScore 8.00
-G_M19652_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M19652_IG09:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; byrRegs -[rcx]
        add      rsp, 40
        ret      
                        ;; size=5 bbWeight=4 PerfScore 5.00
-G_M19652_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       call     CORINFO_HELP_RNGCHKFAIL
-       ; gcr arg pop 0
-       int3     
-                       ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 53, prolog size 4, PerfScore 40.75, instruction count 18, allocated bytes for code 53 (MethodHash=47afb33b) for method Struct.SpanWrapper:SumSpanWrapper(Struct.SpanWrapper`1[int]):int:this (FullOpts)
+; Total bytes of code 49, prolog size 4, PerfScore 41.38, instruction count 19, allocated bytes for code 49 (MethodHash=47afb33b) for method Struct.SpanWrapper:SumSpanWrapper(Struct.SpanWrapper`1[int]):int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+32 (+82.05%) : 26710.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
@@ -7,53 +7,78 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  7, 23   )     ref  ->  rcx         this class-hnd <System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]>
-;  V01 arg1         [V01,T00] (  6, 26   )     int  ->  rdx        
+;  V00 this         [V00,T02] ( 11, 25.50)     ref  ->  rcx         this class-hnd <System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]>
+;  V01 arg1         [V01,T00] ( 10, 29   )     int  ->  rdx        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T06] (  2, 16   )     int  ->  rdx         "arg temp"
-;  V04 tmp2         [V04,T04] (  2, 16   )     ref  ->  rcx         single-def "arg temp"
-;  V05 tmp3         [V05,T05] (  2, 16   )     ref  ->  rcx         single-def "arg temp"
+;  V03 tmp1         [V03,T06] (  4, 18   )     int  ->  rdx         "arg temp"
+;  V04 tmp2         [V04,T04] (  4, 18   )     ref  ->  rcx         "arg temp"
+;  V05 tmp3         [V05,T05] (  4, 18   )     ref  ->  rcx         "arg temp"
 ;  V06 cse0         [V06,T01] (  4, 28   )     int  ->   r8         "CSE - aggressive"
-;  V07 cse1         [V07,T03] (  3, 20   )     ref  ->  rax         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  4,  3.50)     int  ->   r8         "CSE - aggressive"
+;  V08 cse2         [V08,T03] (  3, 20   )     ref  ->  rax         "CSE - aggressive"
+;  V09 cse3         [V09,T08] (  3,  2.50)     ref  ->  rax         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M17963_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
                        ;; size=0 bbWeight=1 PerfScore 0.00
-G_M17963_IG02:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+G_M17963_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rcx]
        mov      rax, gword ptr [rcx+0x10]
        ; gcrRegs +[rax]
        mov      r8d, dword ptr [rax+0x20]
        cmp      edx, r8d
        jge      SHORT G_M17963_IG04
-                      ;; size=13 bbWeight=8 PerfScore 42.00
-G_M17963_IG03:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+                      ;; size=13 bbWeight=1 PerfScore 5.25
+G_M17963_IG03:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
        mov      rcx, rax
        ; gcrRegs +[rcx]
-       jmp      SHORT G_M17963_IG02
-                       ;; size=5 bbWeight=4 PerfScore 9.00
-G_M17963_IG04:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M17963_IG06
+                       ;; size=5 bbWeight=0.50 PerfScore 1.12
+G_M17963_IG04:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
        cmp      edx, r8d
-       jle      SHORT G_M17963_IG06
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M17963_IG05:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       jle      SHORT G_M17963_IG10
+                       ;; size=5 bbWeight=1 PerfScore 1.25
+G_M17963_IG05:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
        sub      edx, r8d
        dec      edx
        mov      rcx, gword ptr [rcx+0x18]
-       jmp      SHORT G_M17963_IG02
+                       ;; size=9 bbWeight=0.50 PerfScore 1.25
+G_M17963_IG06:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       mov      rax, gword ptr [rcx+0x10]
+       ; gcrRegs +[rax]
+       mov      r8d, dword ptr [rax+0x20]
+       cmp      edx, r8d
+       jge      SHORT G_M17963_IG08
+                       ;; size=13 bbWeight=8 PerfScore 42.00
+G_M17963_IG07:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rcx]
+       mov      rcx, rax
+       ; gcrRegs +[rcx]
+       jmp      SHORT G_M17963_IG06
+                       ;; size=5 bbWeight=4 PerfScore 9.00
+G_M17963_IG08:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
+       cmp      edx, r8d
+       jle      SHORT G_M17963_IG10
+                       ;; size=5 bbWeight=8 PerfScore 10.00
+G_M17963_IG09:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       sub      edx, r8d
+       dec      edx
+       mov      rcx, gword ptr [rcx+0x18]
+       jmp      SHORT G_M17963_IG06
                         ;; size=11 bbWeight=4 PerfScore 18.00
-G_M17963_IG06:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
+G_M17963_IG10:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
        lea      rax, bword ptr [rcx+0x08]
        ; byrRegs +[rax]
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M17963_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M17963_IG11:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
 
-; Total bytes of code 39, prolog size 0, PerfScore 80.50, instruction count 14, allocated bytes for code 39 (MethodHash=8272b9d4) for method System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
+; Total bytes of code 71, prolog size 0, PerfScore 89.38, instruction count 25, allocated bytes for code 71 (MethodHash=8272b9d4) for method System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:ItemRefUnchecked(int):byref:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+32 (+82.05%) : 24876.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[int]:ItemRefUnchecked(int):byref:this (FullOpts)
@@ -7,53 +7,78 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  7, 23   )     ref  ->  rcx         this class-hnd <System.Collections.Immutable.ImmutableSortedSet`1+Node[int]>
-;  V01 arg1         [V01,T00] (  6, 26   )     int  ->  rdx        
+;  V00 this         [V00,T02] ( 11, 25.50)     ref  ->  rcx         this class-hnd <System.Collections.Immutable.ImmutableSortedSet`1+Node[int]>
+;  V01 arg1         [V01,T00] ( 10, 29   )     int  ->  rdx        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T06] (  2, 16   )     int  ->  rdx         "arg temp"
-;  V04 tmp2         [V04,T04] (  2, 16   )     ref  ->  rcx         single-def "arg temp"
-;  V05 tmp3         [V05,T05] (  2, 16   )     ref  ->  rcx         single-def "arg temp"
+;  V03 tmp1         [V03,T06] (  4, 18   )     int  ->  rdx         "arg temp"
+;  V04 tmp2         [V04,T04] (  4, 18   )     ref  ->  rcx         "arg temp"
+;  V05 tmp3         [V05,T05] (  4, 18   )     ref  ->  rcx         "arg temp"
 ;  V06 cse0         [V06,T01] (  4, 28   )     int  ->   r8         "CSE - aggressive"
-;  V07 cse1         [V07,T03] (  3, 20   )     ref  ->  rax         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  4,  3.50)     int  ->   r8         "CSE - aggressive"
+;  V08 cse2         [V08,T03] (  3, 20   )     ref  ->  rax         "CSE - aggressive"
+;  V09 cse3         [V09,T08] (  3,  2.50)     ref  ->  rax         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M50558_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
                        ;; size=0 bbWeight=1 PerfScore 0.00
-G_M50558_IG02:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+G_M50558_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rcx]
        mov      rax, gword ptr [rcx+0x08]
        ; gcrRegs +[rax]
        mov      r8d, dword ptr [rax+0x1C]
        cmp      edx, r8d
        jge      SHORT G_M50558_IG04
-                      ;; size=13 bbWeight=8 PerfScore 42.00
-G_M50558_IG03:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+                      ;; size=13 bbWeight=1 PerfScore 5.25
+G_M50558_IG03:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
        mov      rcx, rax
        ; gcrRegs +[rcx]
-       jmp      SHORT G_M50558_IG02
-                       ;; size=5 bbWeight=4 PerfScore 9.00
-G_M50558_IG04:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M50558_IG06
+                       ;; size=5 bbWeight=0.50 PerfScore 1.12
+G_M50558_IG04:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
        cmp      edx, r8d
-       jle      SHORT G_M50558_IG06
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M50558_IG05:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       jle      SHORT G_M50558_IG10
+                       ;; size=5 bbWeight=1 PerfScore 1.25
+G_M50558_IG05:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
        sub      edx, r8d
        dec      edx
        mov      rcx, gword ptr [rcx+0x10]
-       jmp      SHORT G_M50558_IG02
+                       ;; size=9 bbWeight=0.50 PerfScore 1.25
+G_M50558_IG06:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       mov      rax, gword ptr [rcx+0x08]
+       ; gcrRegs +[rax]
+       mov      r8d, dword ptr [rax+0x1C]
+       cmp      edx, r8d
+       jge      SHORT G_M50558_IG08
+                       ;; size=13 bbWeight=8 PerfScore 42.00
+G_M50558_IG07:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rcx]
+       mov      rcx, rax
+       ; gcrRegs +[rcx]
+       jmp      SHORT G_M50558_IG06
+                       ;; size=5 bbWeight=4 PerfScore 9.00
+G_M50558_IG08:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
+       cmp      edx, r8d
+       jle      SHORT G_M50558_IG10
+                       ;; size=5 bbWeight=8 PerfScore 10.00
+G_M50558_IG09:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       sub      edx, r8d
+       dec      edx
+       mov      rcx, gword ptr [rcx+0x10]
+       jmp      SHORT G_M50558_IG06
                         ;; size=11 bbWeight=4 PerfScore 18.00
-G_M50558_IG06:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
+G_M50558_IG10:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
        lea      rax, bword ptr [rcx+0x18]
        ; byrRegs +[rax]
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M50558_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M50558_IG11:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
 
-; Total bytes of code 39, prolog size 0, PerfScore 80.50, instruction count 14, allocated bytes for code 39 (MethodHash=b9f63a81) for method System.Collections.Immutable.ImmutableSortedSet`1+Node[int]:ItemRefUnchecked(int):byref:this (FullOpts)
+; Total bytes of code 71, prolog size 0, PerfScore 89.38, instruction count 25, allocated bytes for code 71 (MethodHash=b9f63a81) for method System.Collections.Immutable.ImmutableSortedSet`1+Node[int]:ItemRefUnchecked(int):byref:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+34 (+125.93%) : 9512.dasm - System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
@@ -7,9 +7,9 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  5, 11   )     int  ->  rax        
-;  V01 arg1         [V01,T00] (  7, 19   )     int  ->   r8        
-;  V02 loc0         [V02,T02] (  2,  8   )     int  ->  rdx        
+;  V00 arg0         [V00,T01] (  7, 13   )     int  ->  registers  
+;  V01 arg1         [V01,T00] ( 11, 23   )     int  ->  registers  
+;  V02 loc0         [V02,T02] (  4, 10   )     int  ->  rdx        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -20,21 +20,43 @@ G_M22426_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=5 bbWeight=1 PerfScore 0.50
 G_M22426_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        test     r8d, r8d
-       je       SHORT G_M22426_IG04
-                       ;; size=5 bbWeight=1 PerfScore 1.25
-G_M22426_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M22426_IG08
        xor      edx, edx
        div      edx:eax, r8d
        mov      eax, r8d
        mov      r8d, edx
        test     r8d, r8d
-       jne      SHORT G_M22426_IG03
-                       ;; size=16 bbWeight=4 PerfScore 108.00
-G_M22426_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       je       SHORT G_M22426_IG07
+                       ;; size=21 bbWeight=1 PerfScore 28.25
+G_M22426_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       xor      edx, edx
+       div      edx:eax, r8d
+       mov      eax, edx
+       test     eax, eax
+       jne      SHORT G_M22426_IG06
+                       ;; size=11 bbWeight=4 PerfScore 107.00
+G_M22426_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      eax, r8d
+                       ;; size=3 bbWeight=1 PerfScore 0.25
+G_M22426_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
+G_M22426_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+       mov      ecx, eax
+       mov      eax, r8d
+       mov      r8d, ecx
+       jmp      SHORT G_M22426_IG03
+                       ;; size=10 bbWeight=2 PerfScore 5.50
+G_M22426_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      r8d, eax
+       jmp      SHORT G_M22426_IG04
+                       ;; size=5 bbWeight=0.50 PerfScore 1.12
+G_M22426_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      r8d, eax
+       jmp      SHORT G_M22426_IG04
+                       ;; size=5 bbWeight=0.50 PerfScore 1.12
 
-; Total bytes of code 27, prolog size 5, PerfScore 110.75, instruction count 11, allocated bytes for code 27 (MethodHash=f186a865) for method System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
+; Total bytes of code 61, prolog size 5, PerfScore 144.75, instruction count 25, allocated bytes for code 61 (MethodHash=f186a865) for method System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
benchmarks.run_pgo.windows.x64.checked.mch
-20 (-4.43%) : 29089.dasm - System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
@@ -12,35 +12,35 @@
 ;  V00 this         [V00,T00] ( 10, 10   )     ref  ->  rbx         this class-hnd single-def <System.Reflection.RuntimeParameterInfo>
 ;  V01 arg1         [V01,T06] (  3,  3   )     ref  ->  r15         class-hnd single-def <System.Signature>
 ;  V02 arg2         [V02,T01] (  4,  8   )   byref  ->  rbp         ld-addr-op single-def
-;  V03 arg3         [V03,T02] (  5,  5   )     int  ->  r14         single-def
+;  V03 arg3         [V03,T03] (  5,  5   )     int  ->  r14         single-def
 ;  V04 arg4         [V04,T17] (  1,  1   )     int  ->  [rsp+0x90]  single-def
 ;  V05 arg5         [V05,T18] (  1,  1   )     int  ->  [rsp+0x98]  single-def
-;  V06 arg6         [V06,T12] (  2,  2   )     ref  ->  r13         class-hnd single-def <System.Reflection.MemberInfo>
+;  V06 arg6         [V06,T13] (  2,  2   )     ref  ->  r13         class-hnd single-def <System.Reflection.MemberInfo>
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T03] (  3,  6   )     ref  ->  r12         class-hnd exact single-def "Single-def Box Helper" <System.Reflection.MetadataImport>
+;  V08 tmp1         [V08,T04] (  3,  6   )     ref  ->  r12         class-hnd exact single-def "Single-def Box Helper" <System.Reflection.MetadataImport>
 ;  V09 tmp2         [V09,T09] (  2,  4   )     int  ->  [rsp+0x24]  spill-single-def "impImportAndPushBox"
-;  V10 tmp3         [V10,T10] (  4,  2   )     int  ->  r10        
+;  V10 tmp3         [V10,T11] (  4,  2   )     int  ->  rax        
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V13 tmp6         [V13,T13] (  2,  2   )     int  ->  rax        
-;  V14 tmp7         [V14,T04] (  3,  6.00)     ref  ->  rax         class-hnd exact single-def "dup spill" <int[]>
+;  V13 tmp6         [V13,T14] (  2,  2   )     int  ->  rax        
+;  V14 tmp7         [V14,T02] (  3,  6.00)     ref  ->  rax         class-hnd exact single-def "dup spill" <int[]>
 ;* V15 tmp8         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V16 tmp9         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V17 tmp10        [V17,T14] (  2,  2   )   ubyte  ->  rcx         "Inline return value spill temp"
+;  V17 tmp10        [V17,T15] (  2,  2   )   ubyte  ->  rcx         "Inline return value spill temp"
 ;  V18 tmp11        [V18,T08] (  2,  4   )     ref  ->  r12         class-hnd exact single-def "Inlining Arg" <System.Reflection.MetadataImport>
 ;* V19 tmp12        [V19    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Reflection.MetadataImport>
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V21 tmp14        [V21,T11] (  3,  2.00)   ubyte  ->  r10         "Inline return value spill temp"
-;  V22 tmp15        [V22,T05] (  5,  5.00)     int  ->  rcx         "Inline stloc first use temp"
+;  V21 tmp14        [V21,T12] (  3,  2.00)   ubyte  ->  rax         "Inline return value spill temp"
+;* V22 tmp15        [V22,T05] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V23 tmp16        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V24 tmp17        [V24    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V25 tmp18        [V25    ] (  0,  0   )     ref  ->  zero-ref    "field V02.m_keepalive (fldOffset=0x0)" P-INDEP
 ;* V26 tmp19        [V26    ] (  0,  0   )    long  ->  zero-ref    "field V02.m_metadataImport2 (fldOffset=0x8)" P-INDEP
 ;* V27 tmp20        [V27    ] (  0,  0   )     ref  ->  zero-ref    "field V19.m_keepalive (fldOffset=0x0)" P-INDEP
-;  V28 tmp21        [V28,T15] (  2,  2   )    long  ->  rcx         "field V19.m_metadataImport2 (fldOffset=0x8)" P-INDEP
+;  V28 tmp21        [V28,T16] (  2,  2   )    long  ->  rcx         "field V19.m_metadataImport2 (fldOffset=0x8)" P-INDEP
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref" <System.Reflection.MetadataImport>
-;  V30 cse0         [V30,T07] (  4,  4   )     int  ->  [rsp+0x20]  spill-single-def "CSE - aggressive"
-;  V31 cse1         [V31,T16] (  2,  2.00)     int  ->   r8         hoist "CSE - moderate"
+;  V30 cse0         [V30,T10] (  2,  2.00)     int  ->  rcx         "CSE - aggressive"
+;  V31 cse1         [V31,T07] (  4,  4   )     int  ->  [rsp+0x20]  spill-single-def "CSE - aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -66,7 +66,7 @@ G_M43134_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=36 bbWeight=1 PerfScore 10.25
 G_M43134_IG02:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
        test     r13, r13
-       je       G_M43134_IG12
+       je       G_M43134_IG11
                      ;; size=9 bbWeight=1 PerfScore 1.25
 G_M43134_IG03:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
        mov      rcx, 0xD1FFAB1E      ; System.Reflection.MetadataImport
@@ -100,43 +100,36 @@ G_M43134_IG03:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020
        mov      r12d, dword ptr [rsp+0x24]
        ; gcrRegs -[r12]
        cmp      r12d, ecx
-       jne      G_M43134_IG13
+       jne      G_M43134_IG12
                         ;; size=100 bbWeight=1 PerfScore 19.25
 G_M43134_IG04:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
        ; byrRegs -[rsi rdi]
        mov      r12d, dword ptr [rsp+0x20]
        test     r12d, r12d
-       je       G_M43134_IG15
+       je       G_M43134_IG14
                        ;; size=14 bbWeight=1 PerfScore 2.25
-G_M43134_IG05:        ; bbWeight=1.00, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
+G_M43134_IG05:        ; bbWeight=1.00, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref, isz
        mov      rcx, 0xD1FFAB1E      ; int[]
        mov      edx, 1
        call     CORINFO_HELP_NEWARR_1_VC
        ; gcrRegs +[rax]
        ; gcr arg pop 0
        mov      dword ptr [rax+0x10], 0xD1FFAB1E
-       xor      ecx, ecx
-       mov      r8d, r14d
-       and      r8d, 0xD1FFAB1E
-                       ;; size=39 bbWeight=1.00 PerfScore 3.25
-G_M43134_IG06:        ; bbWeight=1.00, gcrefRegs=A009 {rax rbx r13 r15}, byrefRegs=0020 {rbp}, byref, isz
-       mov      edx, ecx
-       cmp      dword ptr [rax+4*rdx+0x10], r8d
-       je       SHORT G_M43134_IG07
-       inc      ecx
-       cmp      ecx, 1
-       jge      G_M43134_IG14
-       jmp      SHORT G_M43134_IG06
-                       ;; size=22 bbWeight=1.00 PerfScore 7.75
-G_M43134_IG07:        ; bbWeight=1.00, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
+       mov      ecx, r14d
+       and      ecx, 0xD1FFAB1E
+       cmp      dword ptr [rax+0x10], ecx
+       je       SHORT G_M43134_IG06
+       jmp      G_M43134_IG13
+                       ;; size=46 bbWeight=1.00 PerfScore 9.00
+G_M43134_IG06:        ; bbWeight=1.00, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
        ; gcrRegs -[rax]
-       mov      r10d, 1
-                       ;; size=6 bbWeight=1.00 PerfScore 0.25
+       mov      eax, 1
+                       ;; size=5 bbWeight=1.00 PerfScore 0.25
+G_M43134_IG07:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
+       test     al, al
+       je       G_M43134_IG15
+                       ;; size=8 bbWeight=1 PerfScore 1.25
 G_M43134_IG08:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
-       test     r10b, r10b
-       je       G_M43134_IG16
-                       ;; size=9 bbWeight=1 PerfScore 1.25
-G_M43134_IG09:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
        mov      esi, dword ptr [rsp+0x90]
        mov      dword ptr [rbx+0x2C], esi
        lea      rcx, bword ptr [rbx+0x18]
@@ -170,12 +163,12 @@ G_M43134_IG09:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020
        ; gcrRegs +[rcx]
        mov      gword ptr [rbx+0x08], rcx
                        ;; size=79 bbWeight=1 PerfScore 13.25
-G_M43134_IG10:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M43134_IG09:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        ; byrRegs -[rsi rdi]
        mov      gword ptr [rbx+0x20], rcx
                        ;; size=4 bbWeight=1 PerfScore 1.00
-G_M43134_IG11:        ; bbWeight=1, epilog, nogc, extend
+G_M43134_IG10:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
        pop      rbp
@@ -187,7 +180,7 @@ G_M43134_IG11:        ; bbWeight=1, epilog, nogc, extend
        pop      r15
        ret      
                        ;; size=17 bbWeight=1 PerfScore 5.25
-G_M43134_IG12:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, gcvars, byref
+G_M43134_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, gcvars, byref
        ; gcrRegs +[r13 r15]
        ; byrRegs +[rbp]
        mov      rcx, 0xD1FFAB1E
@@ -199,7 +192,7 @@ G_M43134_IG12:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=A008 {
        ; gcr arg pop 0
        jmp      G_M43134_IG03
                        ;; size=31 bbWeight=0 PerfScore 0.00
-G_M43134_IG13:        ; bbWeight=0, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
+G_M43134_IG12:        ; bbWeight=0, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
        mov      rcx, 0xD1FFAB1E
        ; gcrRegs +[rcx]
        mov      rdx, 0xD1FFAB1E
@@ -209,16 +202,16 @@ G_M43134_IG13:        ; bbWeight=0, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020
        ; gcr arg pop 0
        jmp      G_M43134_IG04
                        ;; size=31 bbWeight=0 PerfScore 0.00
+G_M43134_IG13:        ; bbWeight=0, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
+       xor      eax, eax
+       jmp      G_M43134_IG07
+                       ;; size=7 bbWeight=0 PerfScore 0.00
 G_M43134_IG14:        ; bbWeight=0, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
-       xor      r10d, r10d
-       jmp      G_M43134_IG08
-                       ;; size=8 bbWeight=0 PerfScore 0.00
+       mov      eax, 1
+       test     al, al
+       jne      G_M43134_IG08
+                       ;; size=13 bbWeight=0 PerfScore 0.00
 G_M43134_IG15:        ; bbWeight=0, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
-       mov      r10d, 1
-       test     r10b, r10b
-       jne      G_M43134_IG09
-                       ;; size=15 bbWeight=0 PerfScore 0.00
-G_M43134_IG16:        ; bbWeight=0, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
        mov      rcx, 0xD1FFAB1E
        ; gcrRegs +[rcx]
        mov      rdx, 0xD1FFAB1E
@@ -226,10 +219,10 @@ G_M43134_IG16:        ; bbWeight=0, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx]
        ; gcr arg pop 0
-       jmp      G_M43134_IG09
+       jmp      G_M43134_IG08
                        ;; size=31 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 451, prolog size 36, PerfScore 65.00, instruction count 107, allocated bytes for code 451 (MethodHash=d49d5781) for method System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
+; Total bytes of code 431, prolog size 36, PerfScore 63.00, instruction count 102, allocated bytes for code 431 (MethodHash=d49d5781) for method System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
-20 (-4.43%) : 35150.dasm - System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
@@ -12,35 +12,35 @@
 ;  V00 this         [V00,T00] ( 10, 10   )     ref  ->  rbx         this class-hnd single-def <System.Reflection.RuntimeParameterInfo>
 ;  V01 arg1         [V01,T06] (  3,  3   )     ref  ->  r15         class-hnd single-def <System.Signature>
 ;  V02 arg2         [V02,T01] (  4,  8   )   byref  ->  rbp         ld-addr-op single-def
-;  V03 arg3         [V03,T02] (  5,  5   )     int  ->  r14         single-def
+;  V03 arg3         [V03,T03] (  5,  5   )     int  ->  r14         single-def
 ;  V04 arg4         [V04,T17] (  1,  1   )     int  ->  [rsp+0x90]  single-def
 ;  V05 arg5         [V05,T18] (  1,  1   )     int  ->  [rsp+0x98]  single-def
-;  V06 arg6         [V06,T12] (  2,  2   )     ref  ->  r13         class-hnd single-def <System.Reflection.MemberInfo>
+;  V06 arg6         [V06,T13] (  2,  2   )     ref  ->  r13         class-hnd single-def <System.Reflection.MemberInfo>
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T03] (  3,  6   )     ref  ->  r12         class-hnd exact single-def "Single-def Box Helper" <System.Reflection.MetadataImport>
+;  V08 tmp1         [V08,T04] (  3,  6   )     ref  ->  r12         class-hnd exact single-def "Single-def Box Helper" <System.Reflection.MetadataImport>
 ;  V09 tmp2         [V09,T09] (  2,  4   )     int  ->  [rsp+0x24]  spill-single-def "impImportAndPushBox"
-;  V10 tmp3         [V10,T10] (  4,  2   )     int  ->  r10        
+;  V10 tmp3         [V10,T11] (  4,  2   )     int  ->  rax        
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V13 tmp6         [V13,T13] (  2,  2   )     int  ->  rax        
-;  V14 tmp7         [V14,T04] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "dup spill" <int[]>
+;  V13 tmp6         [V13,T14] (  2,  2   )     int  ->  rax        
+;  V14 tmp7         [V14,T02] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "dup spill" <int[]>
 ;* V15 tmp8         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V16 tmp9         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V17 tmp10        [V17,T14] (  2,  2   )   ubyte  ->  rcx         "Inline return value spill temp"
+;  V17 tmp10        [V17,T15] (  2,  2   )   ubyte  ->  rcx         "Inline return value spill temp"
 ;  V18 tmp11        [V18,T08] (  2,  4   )     ref  ->  r12         class-hnd exact single-def "Inlining Arg" <System.Reflection.MetadataImport>
 ;* V19 tmp12        [V19    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Reflection.MetadataImport>
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V21 tmp14        [V21,T11] (  3,  2   )   ubyte  ->  r10         "Inline return value spill temp"
-;  V22 tmp15        [V22,T05] (  5,  5   )     int  ->  rcx         "Inline stloc first use temp"
+;  V21 tmp14        [V21,T12] (  3,  2   )   ubyte  ->  rax         "Inline return value spill temp"
+;* V22 tmp15        [V22,T05] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V23 tmp16        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V24 tmp17        [V24    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V25 tmp18        [V25    ] (  0,  0   )     ref  ->  zero-ref    "field V02.m_keepalive (fldOffset=0x0)" P-INDEP
 ;* V26 tmp19        [V26    ] (  0,  0   )    long  ->  zero-ref    "field V02.m_metadataImport2 (fldOffset=0x8)" P-INDEP
 ;* V27 tmp20        [V27    ] (  0,  0   )     ref  ->  zero-ref    "field V19.m_keepalive (fldOffset=0x0)" P-INDEP
-;  V28 tmp21        [V28,T15] (  2,  2   )    long  ->  rcx         "field V19.m_metadataImport2 (fldOffset=0x8)" P-INDEP
+;  V28 tmp21        [V28,T16] (  2,  2   )    long  ->  rcx         "field V19.m_metadataImport2 (fldOffset=0x8)" P-INDEP
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref" <System.Reflection.MetadataImport>
 ;  V30 cse0         [V30,T07] (  4,  4   )     int  ->  [rsp+0x20]  spill-single-def "CSE - aggressive"
-;  V31 cse1         [V31,T16] (  2,  2   )     int  ->   r8         hoist "CSE - moderate"
+;  V31 cse1         [V31,T10] (  2,  2   )     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -66,7 +66,7 @@ G_M43134_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=36 bbWeight=1 PerfScore 10.25
 G_M43134_IG02:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
        test     r13, r13
-       je       G_M43134_IG11
+       je       G_M43134_IG10
                      ;; size=9 bbWeight=1 PerfScore 1.25
 G_M43134_IG03:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
        mov      rcx, 0xD1FFAB1E      ; System.Reflection.MetadataImport
@@ -100,41 +100,34 @@ G_M43134_IG03:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020
        mov      r12d, dword ptr [rsp+0x24]
        ; gcrRegs -[r12]
        cmp      r12d, ecx
-       jne      G_M43134_IG12
+       jne      G_M43134_IG11
                         ;; size=100 bbWeight=1 PerfScore 19.25
-G_M43134_IG04:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
+G_M43134_IG04:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref, isz
        ; byrRegs -[rsi rdi]
        mov      r12d, dword ptr [rsp+0x20]
        test     r12d, r12d
-       je       G_M43134_IG14
+       je       G_M43134_IG13
        mov      rcx, 0xD1FFAB1E      ; int[]
        mov      edx, 1
        call     CORINFO_HELP_NEWARR_1_VC
        ; gcrRegs +[rax]
        ; gcr arg pop 0
        mov      dword ptr [rax+0x10], 0xD1FFAB1E
-       xor      ecx, ecx
-       mov      r8d, r14d
-       and      r8d, 0xD1FFAB1E
-                       ;; size=53 bbWeight=1 PerfScore 5.50
-G_M43134_IG05:        ; bbWeight=1, gcrefRegs=A009 {rax rbx r13 r15}, byrefRegs=0020 {rbp}, byref, isz
-       mov      edx, ecx
-       cmp      dword ptr [rax+4*rdx+0x10], r8d
-       je       SHORT G_M43134_IG06
-       inc      ecx
-       cmp      ecx, 1
-       jge      G_M43134_IG13
-       jmp      SHORT G_M43134_IG05
-                       ;; size=22 bbWeight=1 PerfScore 7.75
-G_M43134_IG06:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
+       mov      ecx, r14d
+       and      ecx, 0xD1FFAB1E
+       cmp      dword ptr [rax+0x10], ecx
+       je       SHORT G_M43134_IG05
+       jmp      G_M43134_IG12
+                       ;; size=60 bbWeight=1 PerfScore 11.25
+G_M43134_IG05:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
        ; gcrRegs -[rax]
-       mov      r10d, 1
-                       ;; size=6 bbWeight=1 PerfScore 0.25
+       mov      eax, 1
+                       ;; size=5 bbWeight=1 PerfScore 0.25
+G_M43134_IG06:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
+       test     al, al
+       je       G_M43134_IG14
+                       ;; size=8 bbWeight=1 PerfScore 1.25
 G_M43134_IG07:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
-       test     r10b, r10b
-       je       G_M43134_IG15
-                       ;; size=9 bbWeight=1 PerfScore 1.25
-G_M43134_IG08:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
        mov      esi, dword ptr [rsp+0x90]
        mov      dword ptr [rbx+0x2C], esi
        lea      rcx, bword ptr [rbx+0x18]
@@ -168,12 +161,12 @@ G_M43134_IG08:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020
        ; gcrRegs +[rcx]
        mov      gword ptr [rbx+0x08], rcx
                        ;; size=79 bbWeight=1 PerfScore 13.25
-G_M43134_IG09:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M43134_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        ; byrRegs -[rsi rdi]
        mov      gword ptr [rbx+0x20], rcx
                        ;; size=4 bbWeight=1 PerfScore 1.00
-G_M43134_IG10:        ; bbWeight=1, epilog, nogc, extend
+G_M43134_IG09:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
        pop      rbp
@@ -185,7 +178,7 @@ G_M43134_IG10:        ; bbWeight=1, epilog, nogc, extend
        pop      r15
        ret      
                        ;; size=17 bbWeight=1 PerfScore 5.25
-G_M43134_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, gcvars, byref
+G_M43134_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, gcvars, byref
        ; gcrRegs +[r13 r15]
        ; byrRegs +[rbp]
        mov      rcx, 0xD1FFAB1E
@@ -197,7 +190,7 @@ G_M43134_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=A008 {
        ; gcr arg pop 0
        jmp      G_M43134_IG03
                        ;; size=31 bbWeight=0 PerfScore 0.00
-G_M43134_IG12:        ; bbWeight=0, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
+G_M43134_IG11:        ; bbWeight=0, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
        mov      rcx, 0xD1FFAB1E
        ; gcrRegs +[rcx]
        mov      rdx, 0xD1FFAB1E
@@ -207,16 +200,16 @@ G_M43134_IG12:        ; bbWeight=0, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020
        ; gcr arg pop 0
        jmp      G_M43134_IG04
                        ;; size=31 bbWeight=0 PerfScore 0.00
+G_M43134_IG12:        ; bbWeight=0, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
+       xor      eax, eax
+       jmp      G_M43134_IG06
+                       ;; size=7 bbWeight=0 PerfScore 0.00
 G_M43134_IG13:        ; bbWeight=0, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
-       xor      r10d, r10d
-       jmp      G_M43134_IG07
-                       ;; size=8 bbWeight=0 PerfScore 0.00
+       mov      eax, 1
+       test     al, al
+       jne      G_M43134_IG07
+                       ;; size=13 bbWeight=0 PerfScore 0.00
 G_M43134_IG14:        ; bbWeight=0, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
-       mov      r10d, 1
-       test     r10b, r10b
-       jne      G_M43134_IG08
-                       ;; size=15 bbWeight=0 PerfScore 0.00
-G_M43134_IG15:        ; bbWeight=0, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020 {rbp}, byref
        mov      rcx, 0xD1FFAB1E
        ; gcrRegs +[rcx]
        mov      rdx, 0xD1FFAB1E
@@ -224,10 +217,10 @@ G_M43134_IG15:        ; bbWeight=0, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0020
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx]
        ; gcr arg pop 0
-       jmp      G_M43134_IG08
+       jmp      G_M43134_IG07
                        ;; size=31 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 451, prolog size 36, PerfScore 65.00, instruction count 107, allocated bytes for code 451 (MethodHash=d49d5781) for method System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
+; Total bytes of code 431, prolog size 36, PerfScore 63.00, instruction count 102, allocated bytes for code 431 (MethodHash=d49d5781) for method System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
-4 (-3.54%) : 32696.dasm - System.SpanHelpers:Fillushort (Tier1-OSR)
@@ -10,22 +10,22 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;* V00 arg0         [V00    ] (  0,  0   )   byref  ->  zero-ref    single-def
-;* V01 arg1         [V01    ] (  0,  0   )    long  ->  zero-ref    single-def
-;* V02 arg2         [V02    ] (  0,  0   )  ushort  ->  zero-ref    single-def
-;* V03 loc0         [V03    ] (  0,  0   )    long  ->  zero-ref   
-;  V04 loc1         [V04,T03] (  1,  1   )  ushort  ->  [rsp+0xC4]  ld-addr-op tier0-frame
-;  V05 loc2         [V05,T04] (  5,201   )  simd32  ->  [rsp+0x98]  ld-addr-op tier0-frame <System.Numerics.Vector`1[ubyte]>
-;  V06 loc3         [V06,T01] (  4,200   )   byref  ->  rax        
-;  V07 loc4         [V07,T05] (  2,  0   )    long  ->  [rsp+0x88]  tier0-frame
-;  V08 loc5         [V08,T02] (  1,100   )    long  ->  [rsp+0x80]  tier0-frame
-;  V09 loc6         [V09,T00] (  6,500   )    long  ->  [rsp+0x78]  tier0-frame
-;* V10 loc7         [V10    ] (  0,  0   )  simd16  ->  zero-ref    <System.Runtime.Intrinsics.Vector128`1[ubyte]>
-;* V11 loc8         [V11    ] (  0,  0   )    long  ->  zero-ref   
-;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V13 tmp1         [V13    ] (  0,  0   )    long  ->  zero-ref    "dup spill"
-;* V14 tmp2         [V14    ] (  0,  0   )  simd32  ->  zero-ref    ld-addr-op "NewObj constructor temp" <System.Numerics.Vector`1[ushort]>
-;* V15 tmp3         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V00 arg0         [V00    ] (  0,   0   )   byref  ->  zero-ref    single-def
+;* V01 arg1         [V01    ] (  0,   0   )    long  ->  zero-ref    single-def
+;* V02 arg2         [V02    ] (  0,   0   )  ushort  ->  zero-ref    single-def
+;* V03 loc0         [V03    ] (  0,   0   )    long  ->  zero-ref   
+;  V04 loc1         [V04,T03] (  1,   1   )  ushort  ->  [rsp+0xC4]  ld-addr-op tier0-frame
+;  V05 loc2         [V05,T04] (  7, 401   )  simd32  ->  [rsp+0x98]  ld-addr-op tier0-frame <System.Numerics.Vector`1[ubyte]>
+;  V06 loc3         [V06,T01] (  6, 400   )   byref  ->  rax        
+;  V07 loc4         [V07,T05] (  2,   0   )    long  ->  [rsp+0x88]  tier0-frame
+;  V08 loc5         [V08,T02] (  2, 200   )    long  ->  [rsp+0x80]  tier0-frame
+;  V09 loc6         [V09,T00] ( 11,1000   )    long  ->  [rsp+0x78]  tier0-frame
+;* V10 loc7         [V10    ] (  0,   0   )  simd16  ->  zero-ref    <System.Runtime.Intrinsics.Vector128`1[ubyte]>
+;* V11 loc8         [V11    ] (  0,   0   )    long  ->  zero-ref   
+;# V12 OutArgs      [V12    ] (  1,   1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+;* V13 tmp1         [V13    ] (  0,   0   )    long  ->  zero-ref    "dup spill"
+;* V14 tmp2         [V14    ] (  0,   0   )  simd32  ->  zero-ref    ld-addr-op "NewObj constructor temp" <System.Numerics.Vector`1[ushort]>
+;* V15 tmp3         [V15    ] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;
 ; Lcl frame size = 0
 
@@ -42,31 +42,32 @@ G_M51983_IG02:        ; bbWeight=100, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, b
        add      rcx, 64
        mov      rdx, qword ptr [rsp+0x80]
        cmp      rcx, rdx
-       mov      qword ptr [rsp+0x80], rdx
-       jb       SHORT G_M51983_IG06
-                       ;; size=50 bbWeight=100 PerfScore 1250.00
-G_M51983_IG03:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref, isz
+       jae      SHORT G_M51983_IG04
+                       ;; size=42 bbWeight=100 PerfScore 1150.00
+G_M51983_IG03:        ; bbWeight=100, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref, isz
+       vmovups  ymmword ptr [rax+rcx], ymm0
+       vmovups  ymmword ptr [rax+rcx+0x20], ymm0
+       add      rcx, 64
+       cmp      rcx, rdx
+       jb       SHORT G_M51983_IG03
+                       ;; size=20 bbWeight=100 PerfScore 550.00
+G_M51983_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref, isz
        mov      rdx, qword ptr [rsp+0x88]
        test     dl, 32
-       je       SHORT G_M51983_IG04
+       je       SHORT G_M51983_IG05
        vmovups  ymmword ptr [rax+rcx], ymm0
                        ;; size=18 bbWeight=0 PerfScore 0.00
-G_M51983_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
+G_M51983_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
        vmovups  ymmword ptr [rax+rdx-0x20], ymm0
                        ;; size=6 bbWeight=0 PerfScore 0.00
-G_M51983_IG05:        ; bbWeight=0, epilog, nogc, extend
+G_M51983_IG06:        ; bbWeight=0, epilog, nogc, extend
        vzeroupper 
        add      rsp, 264
        pop      rbp
        ret      
                        ;; size=12 bbWeight=0 PerfScore 0.00
-G_M51983_IG06:        ; bbWeight=50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, gcvars, byref, isz
-       mov      qword ptr [rsp+0x78], rcx
-       vmovups  ymmword ptr [rsp+0x98], ymm0
-       jmp      SHORT G_M51983_IG02
-                       ;; size=16 bbWeight=50 PerfScore 200.00
 
-; Total bytes of code 113, prolog size 11, PerfScore 1750.00, instruction count 23, allocated bytes for code 113 (MethodHash=267434f0) for method System.SpanHelpers:Fill[ushort](byref,ulong,ushort) (Tier1-OSR)
+; Total bytes of code 109, prolog size 11, PerfScore 2000.00, instruction count 24, allocated bytes for code 109 (MethodHash=267434f0) for method System.SpanHelpers:Fill[ushort](byref,ulong,ushort) (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
  
+45 (+67.16%) : 101080.dasm - System.Threading.ThreadPoolWorkQueueThreadLocals:TransferLocalWork():this (Tier1)
@@ -9,11 +9,11 @@
 ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  4,  3   )     ref  ->  rbx         this class-hnd single-def <System.Threading.ThreadPoolWorkQueueThreadLocals>
+;  V00 this         [V00,T01] (  6,  5.00)     ref  ->  rbx         this class-hnd single-def <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Object>
 ;  V02 OutArgs      [V02    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T02] (  5,  2.00)     ref  ->  rdx         class-hnd "Inline return value spill temp" <System.Object>
-;  V04 tmp2         [V04,T00] (  4,  6.00)     ref  ->  rcx         class-hnd exact "Inlining Arg" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
+;  V03 tmp1         [V03,T02] (  8,  5.00)     ref  ->  rdx         class-hnd "Inline return value spill temp" <System.Object>
+;  V04 tmp2         [V04,T00] (  8, 12.00)     ref  ->  rcx         class-hnd exact "Inlining Arg" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;
 ; Lcl frame size = 32
 
@@ -26,32 +26,25 @@ G_M18211_IG01:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
 G_M18211_IG02:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rbx+0x18]
        ; gcrRegs +[rcx]
-       mov      eax, dword ptr [rcx+0x14]
-       cmp      eax, dword ptr [rcx+0x18]
-       jl       SHORT G_M18211_IG04
+       mov      edx, dword ptr [rcx+0x14]
+       cmp      edx, dword ptr [rcx+0x18]
+       jl       SHORT G_M18211_IG09
        xor      rdx, rdx
        ; gcrRegs +[rdx]
+                      ;; size=14 bbWeight=1.00 PerfScore 8.25
+G_M18211_IG03:        ; bbWeight=1, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rcx]
        test     rdx, rdx
        jne      SHORT G_M18211_IG05
-                      ;; size=19 bbWeight=1.00 PerfScore 9.50
-G_M18211_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-       ; gcrRegs -[rcx rdx rbx]
+                      ;; size=5 bbWeight=1 PerfScore 1.25
+G_M18211_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       ; gcrRegs -[rdx rbx]
        add      rsp, 32
        pop      rbx
        ret      
                        ;; size=6 bbWeight=1 PerfScore 1.75
-G_M18211_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; gcrRegs +[rcx rbx]
-       call     [<unknown method>]
-       ; gcrRegs -[rcx] +[rax]
-       ; gcr arg pop 0
-       mov      rdx, rax
-       ; gcrRegs +[rdx]
-       test     rdx, rdx
-       je       SHORT G_M18211_IG03
-                       ;; size=14 bbWeight=0 PerfScore 0.00
-G_M18211_IG05:        ; bbWeight=0, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
+G_M18211_IG05:        ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs +[rdx rbx]
        mov      rcx, gword ptr [rbx+0x10]
        ; gcrRegs +[rcx]
        mov      r8d, 1
@@ -59,10 +52,51 @@ G_M18211_IG05:        ; bbWeight=0, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {},
        call     [System.Threading.ThreadPoolWorkQueue:Enqueue(System.Object,ubyte):this]
        ; gcrRegs -[rcx rdx]
        ; gcr arg pop 0
-       jmp      SHORT G_M18211_IG02
+                      ;; size=18 bbWeight=1.00 PerfScore 8.25
+G_M18211_IG06:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       mov      rcx, gword ptr [rbx+0x18]
+       ; gcrRegs +[rcx]
+       mov      eax, dword ptr [rcx+0x14]
+       cmp      eax, dword ptr [rcx+0x18]
+       jl       SHORT G_M18211_IG10
+       xor      rdx, rdx
+       ; gcrRegs +[rdx]
+                       ;; size=14 bbWeight=1.00 PerfScore 8.25
+G_M18211_IG07:        ; bbWeight=1, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rcx]
+       test     rdx, rdx
+       je       SHORT G_M18211_IG04
+                       ;; size=5 bbWeight=1 PerfScore 1.25
+G_M18211_IG08:        ; bbWeight=0, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
+       mov      rcx, gword ptr [rbx+0x10]
+       ; gcrRegs +[rcx]
+       mov      r8d, 1
+       cmp      dword ptr [rcx], ecx
+       call     [System.Threading.ThreadPoolWorkQueue:Enqueue(System.Object,ubyte):this]
+       ; gcrRegs -[rcx rdx]
+       ; gcr arg pop 0
+       jmp      SHORT G_M18211_IG06
                         ;; size=20 bbWeight=0 PerfScore 0.00
+G_M18211_IG09:        ; bbWeight=0, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[rcx]
+       call     [<unknown method>]
+       ; gcrRegs -[rcx] +[rax]
+       ; gcr arg pop 0
+       mov      rdx, rax
+       ; gcrRegs +[rdx]
+       jmp      SHORT G_M18211_IG03
+                       ;; size=11 bbWeight=0 PerfScore 0.00
+G_M18211_IG10:        ; bbWeight=0, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax rdx] +[rcx]
+       call     [<unknown method>]
+       ; gcrRegs -[rcx] +[rax]
+       ; gcr arg pop 0
+       mov      rdx, rax
+       ; gcrRegs +[rdx]
+       jmp      SHORT G_M18211_IG07
+                       ;; size=11 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 67, prolog size 5, PerfScore 12.75, instruction count 22, allocated bytes for code 67 (MethodHash=29cdb8dc) for method System.Threading.ThreadPoolWorkQueueThreadLocals:TransferLocalWork():this (Tier1)
+; Total bytes of code 112, prolog size 5, PerfScore 30.50, instruction count 35, allocated bytes for code 112 (MethodHash=29cdb8dc) for method System.Threading.ThreadPoolWorkQueueThreadLocals:TransferLocalWork():this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+40 (+68.97%) : 69418.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:DropUnreachableBlocks():ubyte:this (Tier1)
@@ -9,48 +9,65 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  3,  3   )     ref  ->  rcx         this class-hnd single-def <Microsoft.CodeAnalysis.CodeGen.ILBuilder>
-;  V01 loc0         [V01,T02] (  3,  2   )   ubyte  ->  rax        
-;  V02 loc1         [V02,T01] (  6,  3.50)     ref  ->  rbx         class-hnd <<unknown class>>
+;  V01 loc0         [V01,T03] (  4,  2   )   ubyte  ->  rax        
+;  V02 loc1         [V02,T01] (  9,  4.17)     ref  ->  rbx         class-hnd <<unknown class>>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 cse0         [V04,T03] (  4,  1.50)     ref  ->  rcx         "CSE - moderate"
+;  V04 cse0         [V04,T02] (  5,  2.67)     ref  ->  rcx         "CSE - aggressive"
+;  V05 cse1         [V05,T04] (  4,  1.50)     ref  ->  rsi         "CSE - moderate"
 ;
 ; Lcl frame size = 0
 
 G_M34343_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+       push     rsi
        push     rbx
-                       ;; size=1 bbWeight=1 PerfScore 1.00
+                       ;; size=2 bbWeight=1 PerfScore 2.00
 G_M34343_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rcx]
        xor      eax, eax
        mov      rbx, gword ptr [rcx+0x20]
        ; gcrRegs +[rbx]
-       cmp      gword ptr [rbx+0x18], 0
-       jne      SHORT G_M34343_IG04
-                       ;; size=13 bbWeight=1 PerfScore 6.25
+       mov      rcx, gword ptr [rbx+0x18]
+       test     rcx, rcx
+       jne      SHORT G_M34343_IG09
+                       ;; size=15 bbWeight=1 PerfScore 5.50
 G_M34343_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rcx rbx]
        pop      rbx
+       pop      rsi
        ret      
-                     ;; size=2 bbWeight=1 PerfScore 1.50
-G_M34343_IG04:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; gcrRegs +[rbx]
-       mov      rcx, gword ptr [rbx+0x18]
+                        ;; size=3 bbWeight=1 PerfScore 2.00
+G_M34343_IG04:        ; bbWeight=0.33, gcVars=0000000000000000 {}, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rcx]
-       cmp      byte  ptr [rcx+0x37], 0
-       je       SHORT G_M34343_IG07
        mov      rbx, rcx
-                      ;; size=13 bbWeight=0.50 PerfScore 3.12
-G_M34343_IG05:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[rbx]
+                       ;; size=3 bbWeight=0.33 PerfScore 0.08
+G_M34343_IG05:        ; bbWeight=0.33, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
        cmp      gword ptr [rbx+0x18], 0
-       jne      SHORT G_M34343_IG04
+       je       SHORT G_M34343_IG03
+                       ;; size=7 bbWeight=0.33 PerfScore 1.33
+G_M34343_IG06:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       mov      rsi, gword ptr [rbx+0x18]
+       ; gcrRegs +[rsi]
+       cmp      byte  ptr [rsi+0x37], 0
+       je       SHORT G_M34343_IG11
+       mov      rbx, rsi
+                       ;; size=13 bbWeight=0.50 PerfScore 3.12
+G_M34343_IG07:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rsi]
+       cmp      gword ptr [rbx+0x18], 0
+       jne      SHORT G_M34343_IG06
                         ;; size=7 bbWeight=0.50 PerfScore 2.00
-G_M34343_IG06:        ; bbWeight=0.33, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M34343_IG08:        ; bbWeight=0.33, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx]
        jmp      SHORT G_M34343_IG03
                        ;; size=2 bbWeight=0.33 PerfScore 0.67
-G_M34343_IG07:        ; bbWeight=0, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref, isz
+G_M34343_IG09:        ; bbWeight=0.33, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rcx rbx]
+       cmp      byte  ptr [rcx+0x37], 0
+       jne      SHORT G_M34343_IG04
+                       ;; size=6 bbWeight=0.33 PerfScore 1.33
+G_M34343_IG10:        ; bbWeight=0, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdx, gword ptr [rcx+0x18]
        ; gcrRegs +[rdx]
        lea      rcx, bword ptr [rbx+0x18]
@@ -62,8 +79,20 @@ G_M34343_IG07:        ; bbWeight=0, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {},
        mov      eax, 1
        jmp      SHORT G_M34343_IG05
                        ;; size=20 bbWeight=0 PerfScore 0.00
+G_M34343_IG11:        ; bbWeight=0, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[rsi]
+       mov      rdx, gword ptr [rsi+0x18]
+       ; gcrRegs +[rdx]
+       lea      rcx, bword ptr [rbx+0x18]
+       ; byrRegs +[rcx]
+       call     CORINFO_HELP_ASSIGN_REF
+       ; gcrRegs -[rdx rsi]
+       ; byrRegs -[rcx]
+       mov      eax, 1
+       jmp      SHORT G_M34343_IG07
+                       ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 58, prolog size 1, PerfScore 14.54, instruction count 19, allocated bytes for code 58 (MethodHash=398e79d8) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder:DropUnreachableBlocks():ubyte:this (Tier1)
+; Total bytes of code 98, prolog size 2, PerfScore 18.04, instruction count 32, allocated bytes for code 98 (MethodHash=398e79d8) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder:DropUnreachableBlocks():ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -71,9 +100,10 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x01
-  CountOfUnwindCodes: 1
+  SizeOfProlog      : 0x02
+  CountOfUnwindCodes: 2
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
  
+48 (+78.69%) : 73840.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (Tier1)
@@ -10,10 +10,10 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T04] (  3,  3   )     ref  ->  rcx         class-hnd single-def <Microsoft.CodeAnalysis.SyntaxNode>
-;  V01 loc0         [V01,T00] (  6, 22.02)     ref  ->  rcx         class-hnd <Microsoft.CodeAnalysis.SyntaxNode>
+;  V01 loc0         [V01,T00] ( 10, 25.35)     ref  ->  rcx         class-hnd <Microsoft.CodeAnalysis.SyntaxNode>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T01] (  4, 15.01)  ushort  ->  rdx         "Inline return value spill temp"
-;  V04 tmp2         [V04,T02] (  3, 15.01)     int  ->  rdx         "Inline stloc first use temp"
+;  V03 tmp1         [V03,T01] (  7, 17.51)  ushort  ->  rdx         "Inline return value spill temp"
+;  V04 tmp2         [V04,T02] (  6, 17.51)     int  ->  rdx         "Inline stloc first use temp"
 ;* V05 tmp3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
 ;* V06 tmp4         [V06,T03] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;
@@ -24,46 +24,63 @@ G_M65070_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M65070_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rcx]
        test     rcx, rcx
-       je       SHORT G_M65070_IG05
+       je       SHORT G_M65070_IG06
                      ;; size=5 bbWeight=1 PerfScore 1.25
-G_M65070_IG03:        ; bbWeight=5.00, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+G_M65070_IG03:        ; bbWeight=0.83, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        mov      rax, gword ptr [rcx+0x18]
        ; gcrRegs +[rax]
        movzx    rdx, word  ptr [rax+0x0C]
        lea      eax, [rdx-0x02]
        ; gcrRegs -[rax]
+       xor      r8d, r8d
        cmp      eax, 0x1FFE
-       jbe      SHORT G_M65070_IG09
-                       ;; size=18 bbWeight=5.00 PerfScore 28.77
-G_M65070_IG04:        ; bbWeight=5.00, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       cmovbe   edx, r8d
        cmp      edx, 0x2160
-       je       SHORT G_M65070_IG07
+       je       SHORT G_M65070_IG08
        cmp      edx, 0x2161
-       je       SHORT G_M65070_IG07
+       je       SHORT G_M65070_IG08
        mov      rcx, gword ptr [rcx+0x08]
        test     rcx, rcx
-       jne      SHORT G_M65070_IG03
+       je       SHORT G_M65070_IG06
+                       ;; size=48 bbWeight=0.83 PerfScore 9.17
+G_M65070_IG04:        ; bbWeight=5.00, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       mov      rdx, gword ptr [rcx+0x18]
+       ; gcrRegs +[rdx]
+       movzx    rdx, word  ptr [rdx+0x0C]
+       ; gcrRegs -[rdx]
+       lea      eax, [rdx-0x02]
+       cmp      eax, 0x1FFE
+       jbe      SHORT G_M65070_IG10
+                       ;; size=18 bbWeight=5.00 PerfScore 28.77
+G_M65070_IG05:        ; bbWeight=5.00, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       cmp      edx, 0x2160
+       je       SHORT G_M65070_IG08
+       cmp      edx, 0x2161
+       je       SHORT G_M65070_IG08
+       mov      rcx, gword ptr [rcx+0x08]
+       test     rcx, rcx
+       jne      SHORT G_M65070_IG04
                         ;; size=25 bbWeight=5.00 PerfScore 28.77
-G_M65070_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M65070_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        xor      eax, eax
                        ;; size=2 bbWeight=1 PerfScore 0.25
-G_M65070_IG06:        ; bbWeight=1, epilog, nogc, extend
+G_M65070_IG07:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
-G_M65070_IG07:        ; bbWeight=2.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M65070_IG08:        ; bbWeight=4.80, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        mov      eax, 1
-                     ;; size=5 bbWeight=2.50 PerfScore 0.63
-G_M65070_IG08:        ; bbWeight=2.50, epilog, nogc, extend
+                      ;; size=5 bbWeight=4.80 PerfScore 1.20
+G_M65070_IG09:        ; bbWeight=4.80, epilog, nogc, extend
        ret      
-                      ;; size=1 bbWeight=2.50 PerfScore 2.50
-G_M65070_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, gcvars, byref, isz
+                      ;; size=1 bbWeight=4.80 PerfScore 4.80
+G_M65070_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rcx]
        xor      edx, edx
-       jmp      SHORT G_M65070_IG04
+       jmp      SHORT G_M65070_IG05
                      ;; size=4 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 61, prolog size 0, PerfScore 63.18, instruction count 20, allocated bytes for code 61 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (Tier1)
+; Total bytes of code 109, prolog size 0, PerfScore 75.21, instruction count 33, allocated bytes for code 109 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (Tier1)
 ; ============================================================
 
 Unwind Info:
  
  
benchmarks.run_tiered.windows.x64.checked.mch
-15 (-7.61%) : 46373.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
@@ -8,32 +8,36 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] ( 13, 12   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
-;  V01 loc0         [V01,T09] (  3,  2.50)     int  ->  rcx        
-;  V02 loc1         [V02,T06] (  3,  4.50)     ref  ->  rbp         class-hnd <System.__Canon>
+;  V00 this         [V00,T00] ( 13,  9   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+WhereListIterator`1[System.__Canon]>
+;  V01 loc0         [V01,T13] (  3,  2.50)     int  ->  rcx        
+;  V02 loc1         [V02,T08] (  3,  1.50)     ref  ->  rdi         class-hnd <System.__Canon>
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T00] (  2, 16   )    long  ->  rdx         "spilling helperCall"
+;  V04 tmp1         [V04,T02] (  2,  4   )    long  ->  rdx         "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V07 cse0         [V07,T05] (  2,  5   )    long  ->  rsi         hoist "CSE - aggressive"
-;  V08 cse1         [V08,T03] (  4,  6   )   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V09 rat0         [V09,T07] (  3,  4.40)    long  ->  rcx         "Spilling to split statement for tree"
-;  V10 rat1         [V10,T08] (  3,  4   )    long  ->  rsi         "runtime lookup"
-;  V11 rat2         [V11,T04] (  3,  5.60)    long  ->  rsi         "fgMakeTemp is creating a new local variable"
-;  V12 rat3         [V12,T02] (  3, 12   )     ref  ->  rax         "delegate invoke call"
+;  V07 cse0         [V07,T14] (  2,  2   )    long  ->  rsi         hoist "CSE - aggressive"
+;  V08 rat0         [V08,T09] (  3,  4.40)    long  ->  rcx         "Spilling to split statement for tree"
+;  V09 rat1         [V09,T10] (  3,  4   )    long  ->  rsi         "runtime lookup"
+;  V10 rat2         [V10,T07] (  3,  5.60)    long  ->  rsi         "fgMakeTemp is creating a new local variable"
+;* V11 rat3         [V11,T06] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V12 rat4         [V12,T11] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V13 rat5         [V13,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;* V14 rat6         [V14,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;* V15 rat7         [V15,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V16 rat8         [V16,T12] (  3,  3   )     ref  ->  rax         "delegate invoke call"
+;* V17 rat9         [V17,T04] (  0,  0   )     ref  ->  zero-ref    "delegate invoke call"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 48
 
 G_M34024_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rdi
        push     rsi
-       push     rbp
        push     rbx
-       sub      rsp, 40
-       mov      qword ptr [rsp+0x20], rcx
+       sub      rsp, 48
+       mov      qword ptr [rsp+0x28], rcx
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=16 bbWeight=1 PerfScore 5.50
+                      ;; size=15 bbWeight=1 PerfScore 4.50
 G_M34024_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      ecx, dword ptr [rbx+0x14]
        cmp      ecx, 1
@@ -42,22 +46,20 @@ G_M34024_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
 G_M34024_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        cmp      ecx, 2
        je       SHORT G_M34024_IG05
-       jmp      G_M34024_IG12
-                       ;; size=10 bbWeight=0.50 PerfScore 1.62
+       jmp      SHORT G_M34024_IG12
+                       ;; size=7 bbWeight=0.50 PerfScore 1.62
 G_M34024_IG04:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rbx+0x18]
        ; gcrRegs +[rcx]
-       lea      rsi, bword ptr [rbx+0x28]
-       ; byrRegs +[rsi]
-       mov      rdx, rsi
+       lea      rdx, bword ptr [rbx+0x28]
        ; byrRegs +[rdx]
        cmp      dword ptr [rcx], ecx
        call     [System.Collections.Generic.List`1[System.__Canon]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.__Canon]:this]
        ; gcrRegs -[rcx]
-       ; byrRegs -[rdx rsi]
+       ; byrRegs -[rdx]
        ; gcr arg pop 0
        mov      dword ptr [rbx+0x14], 2
-                      ;; size=26 bbWeight=0.50 PerfScore 4.88
+                       ;; size=23 bbWeight=0.50 PerfScore 4.75
 G_M34024_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, qword ptr [rbx]
        mov      rdx, qword ptr [rcx+0x38]
@@ -76,19 +78,14 @@ G_M34024_IG07:        ; bbWeight=0.20, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      rsi, rax
                        ;; size=18 bbWeight=0.20 PerfScore 0.30
 G_M34024_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       lea      rcx, bword ptr [rbx+0x28]
-       ; byrRegs +[rcx]
-       mov      rdi, rcx
-       ; byrRegs +[rdi]
        jmp      SHORT G_M34024_IG10
-                       ;; size=9 bbWeight=1 PerfScore 2.75
-G_M34024_IG09:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi}, byref, isz
-       ; byrRegs -[rcx]
-       mov      rbp, gword ptr [rbx+0x30]
-       ; gcrRegs +[rbp]
+                      ;; size=2 bbWeight=1 PerfScore 2.00
+G_M34024_IG09:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       mov      rdi, gword ptr [rbx+0x30]
+       ; gcrRegs +[rdi]
        mov      rax, gword ptr [rbx+0x20]
        ; gcrRegs +[rax]
-       mov      rdx, rbp
+       mov      rdx, rdi
        ; gcrRegs +[rdx]
        mov      rcx, gword ptr [rax+0x08]
        ; gcrRegs +[rcx]
@@ -97,58 +94,55 @@ G_M34024_IG09:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi},
        ; gcr arg pop 0
        test     eax, eax
        jne      SHORT G_M34024_IG14
-                      ;; size=22 bbWeight=2 PerfScore 21.00
-G_M34024_IG10:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi}, byref, isz
-       ; gcrRegs -[rbp]
+                      ;; size=22 bbWeight=0.50 PerfScore 5.25
+G_M34024_IG10:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rdi]
        mov      rdx, rsi
-       mov      rcx, rdi
+       lea      rcx, bword ptr [rbx+0x28]
        ; byrRegs +[rcx]
        call     [System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this]
        ; byrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
        jne      SHORT G_M34024_IG09
-                      ;; size=16 bbWeight=4 PerfScore 19.00
-G_M34024_IG11:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       ; byrRegs -[rdi]
+                      ;; size=17 bbWeight=1 PerfScore 5.00
+G_M34024_IG11:        ; bbWeight=0.12, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        xor      rcx, rcx
        ; gcrRegs +[rcx]
        mov      gword ptr [rbx+0x08], rcx
        mov      dword ptr [rbx+0x14], -1
-                     ;; size=13 bbWeight=0.50 PerfScore 1.12
+                       ;; size=13 bbWeight=0.12 PerfScore 0.28
 G_M34024_IG12:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M34024_IG13:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 40
+       add      rsp, 48
        pop      rbx
-       pop      rbp
        pop      rsi
        pop      rdi
        ret      
-                     ;; size=9 bbWeight=0.50 PerfScore 1.62
-G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0028 {rbx rbp}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[rbp]
+                      ;; size=8 bbWeight=0.50 PerfScore 1.38
+G_M34024_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs +[rdi]
        lea      rcx, bword ptr [rbx+0x08]
        ; byrRegs +[rcx]
-       mov      rdx, rbp
+       mov      rdx, rdi
        ; gcrRegs +[rdx]
        call     CORINFO_HELP_ASSIGN_REF
-       ; gcrRegs -[rdx rbp]
+       ; gcrRegs -[rdx rdi]
        ; byrRegs -[rcx]
        mov      eax, 1
                        ;; size=17 bbWeight=0.50 PerfScore 1.00
 G_M34024_IG15:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 40
+       add      rsp, 48
        pop      rbx
-       pop      rbp
        pop      rsi
        pop      rdi
        ret      
-                     ;; size=9 bbWeight=0.50 PerfScore 1.62
+                        ;; size=8 bbWeight=0.50 PerfScore 1.38
 
-; Total bytes of code 197, prolog size 13, PerfScore 74.65, instruction count 64, allocated bytes for code 197 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
+; Total bytes of code 182, prolog size 12, PerfScore 41.68, instruction count 58, allocated bytes for code 182 (MethodHash=a9f27b17) for method System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -156,13 +150,12 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x08
-  CountOfUnwindCodes: 5
+  SizeOfProlog      : 0x07
+  CountOfUnwindCodes: 4
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
+    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
+    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
  
-4 (-3.54%) : 25768.dasm - System.SpanHelpers:Fillushort (Tier1-OSR)
@@ -14,11 +14,11 @@
 ;* V02 arg2         [V02    ] (  0,  0   )  ushort  ->  zero-ref    single-def
 ;* V03 loc0         [V03    ] (  0,  0   )    long  ->  zero-ref   
 ;  V04 loc1         [V04,T04] (  1,  1   )  ushort  ->  [rsp+0xC4]  ld-addr-op tier0-frame
-;  V05 loc2         [V05,T05] (  5, 18.50)  simd32  ->  [rsp+0x98]  ld-addr-op tier0-frame <System.Numerics.Vector`1[ubyte]>
-;  V06 loc3         [V06,T01] (  4, 17.50)   byref  ->  rax        
+;  V05 loc2         [V05,T05] (  7, 20.50)  simd32  ->  [rsp+0x98]  ld-addr-op tier0-frame <System.Numerics.Vector`1[ubyte]>
+;  V06 loc3         [V06,T01] (  6, 19.50)   byref  ->  rax        
 ;  V07 loc4         [V07,T03] (  2,  2   )    long  ->  [rsp+0x88]  tier0-frame
-;  V08 loc5         [V08,T02] (  1,  8   )    long  ->  [rsp+0x80]  tier0-frame
-;  V09 loc6         [V09,T00] (  6, 40.50)    long  ->  [rsp+0x78]  tier0-frame
+;  V08 loc5         [V08,T02] (  2,  9   )    long  ->  [rsp+0x80]  tier0-frame
+;  V09 loc6         [V09,T00] ( 11, 45.50)    long  ->  [rsp+0x78]  tier0-frame
 ;* V10 loc7         [V10    ] (  0,  0   )  simd16  ->  zero-ref    <System.Runtime.Intrinsics.Vector128`1[ubyte]>
 ;* V11 loc8         [V11    ] (  0,  0   )    long  ->  zero-ref   
 ;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -28,12 +28,12 @@
 ;
 ; Lcl frame size = 0
 
-G_M51983_IG01:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+G_M51983_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        vzeroupper 
        mov      rax, bword ptr [rsp+0x90]
        ; byrRegs +[rax]
-                      ;; size=11 bbWeight=8 PerfScore 24.00
-G_M51983_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref, isz
+                      ;; size=11 bbWeight=1 PerfScore 3.00
+G_M51983_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref, isz
        mov      rcx, qword ptr [rsp+0x78]
        vmovups  ymm0, ymmword ptr [rsp+0x98]
        vmovups  ymmword ptr [rax+rcx], ymm0
@@ -41,33 +41,34 @@ G_M51983_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byr
        add      rcx, 64
        mov      rdx, qword ptr [rsp+0x80]
        cmp      rcx, rdx
-       mov      qword ptr [rsp+0x80], rdx
-       jb       SHORT G_M51983_IG07
-                       ;; size=50 bbWeight=8 PerfScore 100.00
-G_M51983_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref, isz
+       jae      SHORT G_M51983_IG04
+                       ;; size=42 bbWeight=1 PerfScore 11.50
+G_M51983_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref, isz
+       vmovups  ymmword ptr [rax+rcx], ymm0
+       vmovups  ymmword ptr [rax+rcx+0x20], ymm0
+       add      rcx, 64
+       cmp      rcx, rdx
+       jb       SHORT G_M51983_IG03
+                       ;; size=20 bbWeight=8 PerfScore 44.00
+G_M51983_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref, isz
        mov      rdx, qword ptr [rsp+0x88]
        test     dl, 32
-       je       SHORT G_M51983_IG05
+       je       SHORT G_M51983_IG06
                        ;; size=13 bbWeight=1 PerfScore 2.25
-G_M51983_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
+G_M51983_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
        vmovups  ymmword ptr [rax+rcx], ymm0
                        ;; size=5 bbWeight=0.50 PerfScore 1.00
-G_M51983_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
+G_M51983_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
        vmovups  ymmword ptr [rax+rdx-0x20], ymm0
                        ;; size=6 bbWeight=1 PerfScore 2.00
-G_M51983_IG06:        ; bbWeight=1, epilog, nogc, extend
+G_M51983_IG07:        ; bbWeight=1, epilog, nogc, extend
        vzeroupper 
        add      rsp, 264
        pop      rbp
        ret      
                        ;; size=12 bbWeight=1 PerfScore 2.75
-G_M51983_IG07:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, gcvars, byref, isz
-       mov      qword ptr [rsp+0x78], rcx
-       vmovups  ymmword ptr [rsp+0x98], ymm0
-       jmp      SHORT G_M51983_IG02
-                       ;; size=16 bbWeight=4 PerfScore 16.00
 
-; Total bytes of code 113, prolog size 11, PerfScore 148.00, instruction count 23, allocated bytes for code 113 (MethodHash=267434f0) for method System.SpanHelpers:Fill[ushort](byref,ulong,ushort) (Tier1-OSR)
+; Total bytes of code 109, prolog size 11, PerfScore 66.50, instruction count 24, allocated bytes for code 109 (MethodHash=267434f0) for method System.SpanHelpers:Fill[ushort](byref,ulong,ushort) (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
  
-2 (-1.67%) : 2729.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (Tier1)
@@ -7,12 +7,13 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 13, 28   )   byref  ->  rcx         this single-def
+;  V00 this         [V00,T00] ( 12,  8.25)   byref  ->  rcx         this single-def
 ;* V01 TypeCtx      [V01    ] (  0,  0   )    long  ->  zero-ref    single-def
-;  V02 loc0         [V02,T03] (  3,  4.50)   byref  ->  rdx        
-;  V03 loc1         [V03,T02] (  4,  8   )     int  ->  rdx        
+;  V02 loc0         [V02,T03] (  3,  1   )   byref  ->  rdx        
+;  V03 loc1         [V03,T02] (  4,  1   )     int  ->  rdx        
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T01] (  3, 12   )     ref  ->  rax         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V05 tmp1         [V05,T01] (  3,  1.50)     ref  ->  rax         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V06 cse0         [V06,T04] (  3,  2.50)     int  ->  rdx         "CSE - aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -27,38 +28,37 @@ G_M25445_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byr
        cmp      eax, dword ptr [rdx+0x44]
        jne      SHORT G_M25445_IG10
                        ;; size=11 bbWeight=1 PerfScore 8.00
-G_M25445_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+G_M25445_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
        ; gcrRegs -[rdx]
        mov      eax, dword ptr [rcx+0x10]
        mov      rdx, gword ptr [rcx]
        ; gcrRegs +[rdx]
-       cmp      eax, dword ptr [rdx+0x38]
-       jb       SHORT G_M25445_IG06
-                       ;; size=11 bbWeight=8 PerfScore 64.00
-G_M25445_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref
+       mov      edx, dword ptr [rdx+0x38]
        ; gcrRegs -[rdx]
-       mov      rax, gword ptr [rcx]
-       ; gcrRegs +[rax]
-       mov      eax, dword ptr [rax+0x38]
-       ; gcrRegs -[rax]
-       inc      eax
-       mov      dword ptr [rcx+0x10], eax
+       cmp      eax, edx
+       jb       SHORT G_M25445_IG06
+                       ;; size=13 bbWeight=1 PerfScore 7.25
+G_M25445_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref
+       inc      edx
+       mov      dword ptr [rcx+0x10], edx
        xor      rax, rax
        ; gcrRegs +[rax]
        mov      gword ptr [rcx+0x08], rax
-                        ;; size=17 bbWeight=0.50 PerfScore 3.25
+                       ;; size=11 bbWeight=0.50 PerfScore 1.25
 G_M25445_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rax]
        ; byrRegs -[rcx]
        add      rsp, 40
        ret      
                        ;; size=5 bbWeight=0.50 PerfScore 0.62
-G_M25445_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, gcvars, byref, isz
+G_M25445_IG06:        ; bbWeight=0.25, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, gcvars, byref, isz
        ; byrRegs +[rcx]
-       mov      rax, gword ptr [rcx]
+       mov      rdx, gword ptr [rcx]
+       ; gcrRegs +[rdx]
+       mov      rax, gword ptr [rdx+0x10]
        ; gcrRegs +[rax]
-       mov      rax, gword ptr [rax+0x10]
        mov      edx, dword ptr [rcx+0x10]
+       ; gcrRegs -[rdx]
        lea      r8d, [rdx+0x01]
        mov      dword ptr [rcx+0x10], r8d
        cmp      edx, dword ptr [rax+0x08]
@@ -67,8 +67,9 @@ G_M25445_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        lea      rdx, bword ptr [rax+8*rdx+0x10]
        ; byrRegs +[rdx]
        cmp      dword ptr [rdx+0x0C], -1
-       jl       SHORT G_M25445_IG03
-                       ;; size=38 bbWeight=2 PerfScore 34.00
+       jge      SHORT G_M25445_IG07
+       jmp      SHORT G_M25445_IG03
+                       ;; size=40 bbWeight=0.25 PerfScore 4.75
 G_M25445_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0006 {rcx rdx}, byref
        ; gcrRegs -[rax]
        mov      rdx, gword ptr [rdx]
@@ -94,7 +95,7 @@ G_M25445_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 120, prolog size 4, PerfScore 112.62, instruction count 37, allocated bytes for code 120 (MethodHash=60f49c9a) for method System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (Tier1)
+; Total bytes of code 118, prolog size 4, PerfScore 24.62, instruction count 37, allocated bytes for code 118 (MethodHash=60f49c9a) for method System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+42 (+75.00%) : 45416.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (Tier1)
@@ -9,10 +9,10 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T03] (  3,  3   )     ref  ->  rcx         class-hnd single-def <Microsoft.CodeAnalysis.SyntaxNode>
-;  V01 loc0         [V01,T00] (  6, 18   )     ref  ->  rcx         class-hnd <Microsoft.CodeAnalysis.SyntaxNode>
+;  V01 loc0         [V01,T00] ( 10, 22   )     ref  ->  rcx         class-hnd <Microsoft.CodeAnalysis.SyntaxNode>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T02] (  3,  6   )  ushort  ->  rax         "Inline return value spill temp"
-;  V04 tmp2         [V04,T01] (  3, 10   )     int  ->  rax         "Inline stloc first use temp"
+;  V03 tmp1         [V03,T02] (  6,  7.50)  ushort  ->  rax         "Inline return value spill temp"
+;  V04 tmp2         [V04,T01] (  6, 12.50)     int  ->  rax         "Inline stloc first use temp"
 ;* V05 tmp3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
 ;* V06 tmp4         [V06,T04] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;
@@ -23,43 +23,61 @@ G_M65070_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
 G_M65070_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rcx]
        test     rcx, rcx
-       je       SHORT G_M65070_IG06
-                       ;; size=5 bbWeight=1 PerfScore 1.25
-G_M65070_IG03:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M65070_IG08
        mov      rax, gword ptr [rcx+0x18]
        ; gcrRegs +[rax]
        movzx    rax, word  ptr [rax+0x0C]
        ; gcrRegs -[rax]
        lea      edx, [rax-0x02]
        cmp      edx, 0x1FFE
-       jbe      SHORT G_M65070_IG05
-                       ;; size=19 bbWeight=4 PerfScore 23.00
-G_M65070_IG04:        ; bbWeight=2, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       jbe      SHORT G_M65070_IG04
+                       ;; size=24 bbWeight=1 PerfScore 7.00
+G_M65070_IG03:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        cmp      eax, 0x2160
-       je       SHORT G_M65070_IG08
+       je       SHORT G_M65070_IG10
        cmp      eax, 0x2161
-       je       SHORT G_M65070_IG08
-                       ;; size=14 bbWeight=2 PerfScore 5.00
-G_M65070_IG05:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M65070_IG10
+                       ;; size=14 bbWeight=0.50 PerfScore 1.25
+G_M65070_IG04:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rcx+0x08]
        test     rcx, rcx
-       jne      SHORT G_M65070_IG03
+       je       SHORT G_M65070_IG08
+                       ;; size=9 bbWeight=1 PerfScore 3.25
+G_M65070_IG05:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       mov      rax, gword ptr [rcx+0x18]
+       ; gcrRegs +[rax]
+       movzx    rax, word  ptr [rax+0x0C]
+       ; gcrRegs -[rax]
+       lea      edx, [rax-0x02]
+       cmp      edx, 0x1FFE
+       jbe      SHORT G_M65070_IG07
+                       ;; size=19 bbWeight=4 PerfScore 23.00
+G_M65070_IG06:        ; bbWeight=2, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       cmp      eax, 0x2160
+       je       SHORT G_M65070_IG10
+       cmp      eax, 0x2161
+       je       SHORT G_M65070_IG10
+                       ;; size=14 bbWeight=2 PerfScore 5.00
+G_M65070_IG07:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       mov      rcx, gword ptr [rcx+0x08]
+       test     rcx, rcx
+       jne      SHORT G_M65070_IG05
                         ;; size=9 bbWeight=4 PerfScore 13.00
-G_M65070_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M65070_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M65070_IG07:        ; bbWeight=0.50, epilog, nogc, extend
-       ret      
-                       ;; size=1 bbWeight=0.50 PerfScore 0.50
-G_M65070_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       mov      eax, 1
-                       ;; size=5 bbWeight=0.50 PerfScore 0.12
 G_M65070_IG09:        ; bbWeight=0.50, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=0.50 PerfScore 0.50
+G_M65070_IG10:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       mov      eax, 1
+                       ;; size=5 bbWeight=0.50 PerfScore 0.12
+G_M65070_IG11:        ; bbWeight=0.50, epilog, nogc, extend
+       ret      
+                       ;; size=1 bbWeight=0.50 PerfScore 0.50
 
-; Total bytes of code 56, prolog size 0, PerfScore 43.50, instruction count 18, allocated bytes for code 56 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (Tier1)
+; Total bytes of code 98, prolog size 0, PerfScore 53.75, instruction count 30, allocated bytes for code 98 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+28 (+77.78%) : 42737.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+PackedFlags:SetIsUnmanagedCallersOnlyAttributePopulated():this (Tier1)
@@ -8,43 +8,55 @@
 ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  5, 15   )   byref  ->  rcx         this single-def
+;  V00 this         [V00,T02] (  7, 16.50)   byref  ->  rcx         this single-def
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V03 tmp2         [V03,T03] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V04 tmp3         [V04,T00] (  5, 32   )     int  ->  [rsp+0x04]  spill-single-def "Inline stloc first use temp"
-;  V05 tmp4         [V05,T01] (  3, 20   )     int  ->  rdx         "Inline stloc first use temp"
+;  V04 tmp3         [V04,T00] ( 10, 36   )     int  ->  [rsp+0x04]  "Inline stloc first use temp"
+;  V05 tmp4         [V05,T01] (  6, 22.50)     int  ->  rdx         "Inline stloc first use temp"
 ;
 ; Lcl frame size = 8
 
 G_M48426_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rax
                        ;; size=1 bbWeight=1 PerfScore 1.00
-G_M48426_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref
+G_M48426_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
        ; byrRegs +[rcx]
        cmp      byte  ptr [rcx], cl
-                      ;; size=2 bbWeight=1 PerfScore 3.00
-G_M48426_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
        mov      eax, dword ptr [rcx]
-       mov      dword ptr [rsp+0x04], eax
        mov      edx, eax
        or       edx, 0xD1FFAB1E
        cmp      edx, eax
-       je       SHORT G_M48426_IG05
-                       ;; size=18 bbWeight=8 PerfScore 38.00
-G_M48426_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       je       SHORT G_M48426_IG06
+                       ;; size=16 bbWeight=1 PerfScore 6.75
+G_M48426_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       mov      dword ptr [rsp+0x04], eax
        lock     
        cmpxchg  dword ptr [rcx], edx
        cmp      eax, dword ptr [rsp+0x04]
-       jne      SHORT G_M48426_IG03
-                       ;; size=10 bbWeight=4 PerfScore 84.00
-G_M48426_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       je       SHORT G_M48426_IG06
+                       ;; size=14 bbWeight=0.50 PerfScore 11.00
+G_M48426_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       mov      eax, dword ptr [rcx]
+       mov      edx, eax
+       or       edx, 0xD1FFAB1E
+       cmp      edx, eax
+       je       SHORT G_M48426_IG06
+                       ;; size=14 bbWeight=8 PerfScore 30.00
+G_M48426_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       mov      dword ptr [rsp+0x04], eax
+       lock     
+       cmpxchg  dword ptr [rcx], edx
+       cmp      eax, dword ptr [rsp+0x04]
+       jne      SHORT G_M48426_IG04
+                       ;; size=14 bbWeight=4 PerfScore 88.00
+G_M48426_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; byrRegs -[rcx]
        add      rsp, 8
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 36, prolog size 1, PerfScore 127.25, instruction count 14, allocated bytes for code 36 (MethodHash=9c5542d5) for method Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+PackedFlags:SetIsUnmanagedCallersOnlyAttributePopulated():this (Tier1)
+; Total bytes of code 64, prolog size 1, PerfScore 138.00, instruction count 24, allocated bytes for code 64 (MethodHash=9c5542d5) for method Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+PackedFlags:SetIsUnmanagedCallersOnlyAttributePopulated():this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+28 (+77.78%) : 42900.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+PackedFlags:SetIsUseSiteDiagnosticPopulated():this (Tier1)
@@ -8,43 +8,55 @@
 ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  5, 15   )   byref  ->  rcx         this single-def
+;  V00 this         [V00,T02] (  7, 16.50)   byref  ->  rcx         this single-def
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V03 tmp2         [V03,T03] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V04 tmp3         [V04,T00] (  5, 32   )     int  ->  [rsp+0x04]  spill-single-def "Inline stloc first use temp"
-;  V05 tmp4         [V05,T01] (  3, 20   )     int  ->  rdx         "Inline stloc first use temp"
+;  V04 tmp3         [V04,T00] ( 10, 36   )     int  ->  [rsp+0x04]  "Inline stloc first use temp"
+;  V05 tmp4         [V05,T01] (  6, 22.50)     int  ->  rdx         "Inline stloc first use temp"
 ;
 ; Lcl frame size = 8
 
 G_M11989_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rax
                        ;; size=1 bbWeight=1 PerfScore 1.00
-G_M11989_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref
+G_M11989_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
        ; byrRegs +[rcx]
        cmp      byte  ptr [rcx], cl
-                      ;; size=2 bbWeight=1 PerfScore 3.00
-G_M11989_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
        mov      eax, dword ptr [rcx]
-       mov      dword ptr [rsp+0x04], eax
        mov      edx, eax
        or       edx, 0x2000
        cmp      edx, eax
-       je       SHORT G_M11989_IG05
-                       ;; size=18 bbWeight=8 PerfScore 38.00
-G_M11989_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       je       SHORT G_M11989_IG06
+                       ;; size=16 bbWeight=1 PerfScore 6.75
+G_M11989_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       mov      dword ptr [rsp+0x04], eax
        lock     
        cmpxchg  dword ptr [rcx], edx
        cmp      eax, dword ptr [rsp+0x04]
-       jne      SHORT G_M11989_IG03
-                       ;; size=10 bbWeight=4 PerfScore 84.00
-G_M11989_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       je       SHORT G_M11989_IG06
+                       ;; size=14 bbWeight=0.50 PerfScore 11.00
+G_M11989_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       mov      eax, dword ptr [rcx]
+       mov      edx, eax
+       or       edx, 0x2000
+       cmp      edx, eax
+       je       SHORT G_M11989_IG06
+                       ;; size=14 bbWeight=8 PerfScore 30.00
+G_M11989_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       mov      dword ptr [rsp+0x04], eax
+       lock     
+       cmpxchg  dword ptr [rcx], edx
+       cmp      eax, dword ptr [rsp+0x04]
+       jne      SHORT G_M11989_IG04
+                       ;; size=14 bbWeight=4 PerfScore 88.00
+G_M11989_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; byrRegs -[rcx]
        add      rsp, 8
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 36, prolog size 1, PerfScore 127.25, instruction count 14, allocated bytes for code 36 (MethodHash=acc9d12a) for method Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+PackedFlags:SetIsUseSiteDiagnosticPopulated():this (Tier1)
+; Total bytes of code 64, prolog size 1, PerfScore 138.00, instruction count 24, allocated bytes for code 64 (MethodHash=acc9d12a) for method Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+PackedFlags:SetIsUseSiteDiagnosticPopulated():this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
  
coreclr_tests.run.windows.x64.checked.mch
-43 (-58.90%) : 242762.dasm - foo:Main():int (FullOpts)
@@ -7,52 +7,28 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T00] (  5, 14   )     int  ->  rcx        
+;* V00 loc0         [V00,T00] (  0,  0   )     int  ->  zero-ref   
 ;  V01 OutArgs      [V01    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 40
 
-G_M24869_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
+G_M24869_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        sub      rsp, 40
                        ;; size=4 bbWeight=1 PerfScore 0.25
 G_M24869_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       mov      ecx, 1
-                       ;; size=5 bbWeight=1 PerfScore 0.25
-G_M24869_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      ecx
-       cmp      ecx, 2
-       jl       SHORT G_M24869_IG03
-                       ;; size=7 bbWeight=4 PerfScore 6.00
-G_M24869_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       cmp      ecx, 2
-       je       SHORT G_M24869_IG07
-                       ;; size=5 bbWeight=1 PerfScore 1.25
-G_M24869_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       mov      rcx, 0xD1FFAB1E
-       ; gcrRegs +[rcx]
-       call     [<unknown method>]
-       ; gcrRegs -[rcx]
-       ; gcr arg pop 0
-       mov      eax, 101
-                       ;; size=21 bbWeight=0.50 PerfScore 1.75
-G_M24869_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 40
-       ret      
-                       ;; size=5 bbWeight=0.50 PerfScore 0.62
-G_M24869_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        mov      rcx, 0xD1FFAB1E
        ; gcrRegs +[rcx]
        call     [<unknown method>]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        mov      eax, 100
-                     ;; size=21 bbWeight=0.50 PerfScore 1.75
-G_M24869_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+                      ;; size=21 bbWeight=1 PerfScore 3.50
+G_M24869_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        ret      
-                     ;; size=5 bbWeight=0.50 PerfScore 0.62
+                        ;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 73, prolog size 4, PerfScore 12.50, instruction count 17, allocated bytes for code 73 (MethodHash=945a9eda) for method foo:Main():int (FullOpts)
+; Total bytes of code 30, prolog size 4, PerfScore 5.00, instruction count 6, allocated bytes for code 30 (MethodHash=945a9eda) for method foo:Main():int (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
-48 (-28.24%) : 190128.dasm - Benchstone.BenchI.BubbleSort2:Bench():ubyte (FullOpts)
@@ -7,14 +7,12 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T02] (  9, 35.92)     ref  ->  rbx         class-hnd exact single-def <int[]>
-;  V01 loc1         [V01,T00] ( 12, 65.84)     int  ->  rax        
-;  V02 loc2         [V02,T01] (  8, 43   )     int  ->  rcx        
-;* V03 loc3         [V03,T06] (  0,  0   )     int  ->  zero-ref    single-def
+;  V00 loc0         [V00,T01] ( 10, 15.92)     ref  ->  rbx         class-hnd exact single-def <int[]>
+;  V01 loc1         [V01,T00] (  5, 16.84)     int  ->  rax        
+;  V02 loc2         [V02,T03] (  3,  3   )     int  ->  rcx        
+;* V03 loc3         [V03,T04] (  0,  0   )     int  ->  zero-ref    single-def
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 cse0         [V05,T03] (  2, 16   )     int  ->  rdx         "CSE - aggressive"
-;  V06 cse1         [V06,T04] (  2, 16   )     int  ->  rdx         "CSE - aggressive"
-;  V07 cse2         [V07,T05] (  3, 11.88)     int  ->  rax         "CSE - aggressive"
+;  V05 cse0         [V05,T02] (  3, 11.88)     int  ->  rax         "CSE - aggressive"
 ;
 ; Lcl frame size = 32
 
@@ -22,7 +20,7 @@ G_M42106_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        push     rbx
        sub      rsp, 32
                        ;; size=5 bbWeight=1 PerfScore 1.25
-G_M42106_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42106_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        mov      rcx, 0xD1FFAB1E      ; int[]
        mov      edx, 6
        call     CORINFO_HELP_NEWARR_1_VC
@@ -30,67 +28,51 @@ G_M42106_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcr arg pop 0
        mov      rbx, rax
        ; gcrRegs +[rbx]
-       mov      ecx, 0x1869F
-       mov      eax, 1
-       ; gcrRegs -[rax]
-                       ;; size=33 bbWeight=1 PerfScore 2.25
-G_M42106_IG03:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      edx, eax
-       mov      r8d, ecx
-       and      r8d, 0x7FFF
-       mov      dword ptr [rbx+4*rdx+0x10], r8d
-       lea      edx, [rax+0x01]
-       lea      r8d, [rcx+0x2B67]
-       and      r8d, 0x7FFF
-       mov      dword ptr [rbx+4*rdx+0x10], r8d
-       lea      edx, [rax+0x02]
-       lea      r8d, [rcx+0x56CE]
-       and      r8d, 0x7FFF
-       mov      dword ptr [rbx+4*rdx+0x10], r8d
-       add      ecx, 0x8235
-       add      eax, 3
-       cmp      eax, 3
-       jle      SHORT G_M42106_IG03
-                       ;; size=75 bbWeight=8 PerfScore 64.00
-G_M42106_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       mov      dword ptr [rbx+0x14], 0x69F
+       mov      rcx, 0xD1FFAB1E
+       mov      qword ptr [rbx+0x18], rcx
+       mov      ecx, 0x208D4
        mov      dword ptr [rbx+0x20], ecx
        mov      dword ptr [rbx+0x24], ecx
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        call     [Benchstone.BenchI.BubbleSort2:Inner(int[])]
-       ; gcrRegs -[rcx]
+       ; gcrRegs -[rax rcx]
        ; gcr arg pop 0
-       xor      eax, eax
-                       ;; size=17 bbWeight=1 PerfScore 5.50
-G_M42106_IG05:        ; bbWeight=3.96, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       mov      eax, dword ptr [rbx+0x10]
+       cmp      eax, dword ptr [rbx+0x14]
+       jg       SHORT G_M42106_IG06
+       mov      eax, 1
+                       ;; size=77 bbWeight=1 PerfScore 15.75
+G_M42106_IG03:        ; bbWeight=3.96, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      ecx, eax
        mov      ecx, dword ptr [rbx+4*rcx+0x10]
        inc      eax
        mov      edx, eax
        cmp      ecx, dword ptr [rbx+4*rdx+0x10]
-       jg       SHORT G_M42106_IG08
+       jg       SHORT G_M42106_IG06
        cmp      eax, 4
-       jl       SHORT G_M42106_IG05
+       jl       SHORT G_M42106_IG03
                       ;; size=21 bbWeight=3.96 PerfScore 31.68
-G_M42106_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42106_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
        mov      eax, 1
                        ;; size=5 bbWeight=1 PerfScore 0.25
+G_M42106_IG05:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 32
+       pop      rbx
+       ret      
+                       ;; size=6 bbWeight=0.50 PerfScore 0.88
+G_M42106_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       xor      eax, eax
+                       ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M42106_IG07:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 32
        pop      rbx
        ret      
                        ;; size=6 bbWeight=0.50 PerfScore 0.88
-G_M42106_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       xor      eax, eax
-                       ;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M42106_IG09:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 32
-       pop      rbx
-       ret      
-                       ;; size=6 bbWeight=0.50 PerfScore 0.88
 
-; Total bytes of code 170, prolog size 5, PerfScore 106.80, instruction count 45, allocated bytes for code 170 (MethodHash=86305b85) for method Benchstone.BenchI.BubbleSort2:Bench():ubyte (FullOpts)
+; Total bytes of code 122, prolog size 5, PerfScore 50.80, instruction count 34, allocated bytes for code 122 (MethodHash=86305b85) for method Benchstone.BenchI.BubbleSort2:Bench():ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
-31 (-15.50%) : 19593.dasm - Mutual_recursion:seventhMethodFirstCallee@247(int,int,int,int,int,int,int,int,int,int,int):int (FullOpts)
@@ -7,143 +7,123 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  7, 18.50)     int  ->  rcx        
-;  V01 arg1         [V01,T01] (  3, 10   )     int  ->  rdx         single-def
-;  V02 arg2         [V02,T03] (  3,  6   )     int  ->   r8         single-def
-;  V03 arg3         [V03,T04] (  3,  6   )     int  ->   r9         single-def
-;  V04 arg4         [V04,T05] (  1,  4   )     int  ->  rax         single-def
-;  V05 arg5         [V05,T06] (  1,  4   )     int  ->  r10         single-def
-;  V06 arg6         [V06,T07] (  1,  4   )     int  ->  r11         single-def
-;  V07 arg7         [V07,T08] (  1,  4   )     int  ->  rbx         single-def
-;  V08 arg8         [V08,T09] (  1,  4   )     int  ->  rsi         single-def
-;  V09 arg9         [V09,T10] (  1,  4   )     int  ->  rdi         single-def
-;  V10 arg10        [V10,T11] (  1,  4   )     int  ->  rbp         single-def
+;  V00 arg0         [V00,T00] ( 11, 25.50)     int  ->  rcx        
+;  V01 arg1         [V01,T02] (  3,  3   )     int  ->  rdx         single-def
+;  V02 arg2         [V02,T03] (  3,  2.50)     int  ->   r8         single-def
+;  V03 arg3         [V03,T04] (  3,  2.50)     int  ->   r9         single-def
+;  V04 arg4         [V04,T05] (  1,  0.50)     int  ->  [rsp+0x28]  single-def
+;  V05 arg5         [V05,T06] (  1,  0.50)     int  ->  [rsp+0x30]  single-def
+;  V06 arg6         [V06,T07] (  1,  0.50)     int  ->  [rsp+0x38]  single-def
+;  V07 arg7         [V07,T08] (  1,  0.50)     int  ->  [rsp+0x40]  single-def
+;  V08 arg8         [V08,T09] (  1,  0.50)     int  ->  [rsp+0x48]  single-def
+;  V09 arg9         [V09,T10] (  1,  0.50)     int  ->  [rsp+0x50]  single-def
+;  V10 arg10        [V10,T11] (  1,  0.50)     int  ->  [rsp+0x58]  single-def
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V12 tmp1         [V12,T02] (  9,  9   )     int  ->  rax         "Single return block return value"
+;  V12 tmp1         [V12,T01] (  9,  9   )     int  ->  rax         "Single return block return value"
 ;
 ; Lcl frame size = 0
 
-G_M19097_IG01:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-       push     rdi
-       push     rsi
-       push     rbp
-       push     rbx
-       mov      eax, dword ptr [rsp+0x48]
-       mov      r10d, dword ptr [rsp+0x50]
-       mov      r11d, dword ptr [rsp+0x58]
-       mov      ebx, dword ptr [rsp+0x60]
-       mov      esi, dword ptr [rsp+0x68]
-       mov      edi, dword ptr [rsp+0x70]
-       mov      ebp, dword ptr [rsp+0x78]
-                       ;; size=34 bbWeight=8 PerfScore 88.00
-G_M19097_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M19097_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
+                       ;; size=0 bbWeight=1 PerfScore 0.00
+G_M19097_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        cmp      edx, 1
-       jne      SHORT G_M19097_IG04
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M19097_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jne      SHORT G_M19097_IG07
+                       ;; size=5 bbWeight=1 PerfScore 1.25
+G_M19097_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        cmp      r8d, 2
-       jne      SHORT G_M19097_IG06
+       jne      SHORT G_M19097_IG09
        cmp      r9d, 3
-       jne      SHORT G_M19097_IG08
-       cmp      eax, 4
-       jne      SHORT G_M19097_IG10
-       cmp      r10d, 5
        jne      SHORT G_M19097_IG11
-       cmp      r11d, 6
-       jne      SHORT G_M19097_IG12
-       cmp      ebx, 7
+       cmp      dword ptr [rsp+0x28], 4
        jne      SHORT G_M19097_IG13
-       cmp      esi, 8
+       cmp      dword ptr [rsp+0x30], 5
        jne      SHORT G_M19097_IG14
-       cmp      edi, 9
+       cmp      dword ptr [rsp+0x38], 6
        jne      SHORT G_M19097_IG15
-       cmp      ebp, 10
+       cmp      dword ptr [rsp+0x40], 7
        jne      SHORT G_M19097_IG16
+       cmp      dword ptr [rsp+0x48], 8
+       jne      SHORT G_M19097_IG17
+       cmp      dword ptr [rsp+0x50], 9
+       jne      SHORT G_M19097_IG18
+       cmp      dword ptr [rsp+0x58], 10
+       jne      SHORT G_M19097_IG19
        test     ecx, ecx
-       je       SHORT G_M19097_IG17
+       je       SHORT G_M19097_IG20
        test     cl, 1
-       je       SHORT G_M19097_IG19
+       je       SHORT G_M19097_IG22
+                       ;; size=70 bbWeight=0.50 PerfScore 13.00
+G_M19097_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        dec      ecx
-       jmp      SHORT G_M19097_IG02
-                       ;; size=62 bbWeight=4 PerfScore 64.00
-G_M19097_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=2 bbWeight=1 PerfScore 0.25
+G_M19097_IG05:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       test     ecx, ecx
+       je       SHORT G_M19097_IG20
+                       ;; size=4 bbWeight=8 PerfScore 10.00
+G_M19097_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       test     cl, 1
+       je       SHORT G_M19097_IG22
+       dec      ecx
+       jmp      SHORT G_M19097_IG05
+                       ;; size=9 bbWeight=4 PerfScore 14.00
+G_M19097_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      eax, -100
                        ;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M19097_IG05:        ; bbWeight=0.50, epilog, nogc, extend
-       pop      rbx
-       pop      rbp
-       pop      rsi
-       pop      rdi
+G_M19097_IG08:        ; bbWeight=0.50, epilog, nogc, extend
        ret      
-                     ;; size=5 bbWeight=0.50 PerfScore 1.50
-G_M19097_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                       ;; size=1 bbWeight=0.50 PerfScore 0.50
+G_M19097_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        mov      eax, -101
                        ;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M19097_IG07:        ; bbWeight=0.50, epilog, nogc, extend
-       pop      rbx
-       pop      rbp
-       pop      rsi
-       pop      rdi
+G_M19097_IG10:        ; bbWeight=0.50, epilog, nogc, extend
        ret      
-                     ;; size=5 bbWeight=0.50 PerfScore 1.50
-G_M19097_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                       ;; size=1 bbWeight=0.50 PerfScore 0.50
+G_M19097_IG11:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        mov      eax, -102
                        ;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M19097_IG09:        ; bbWeight=0.50, epilog, nogc, extend
-       pop      rbx
-       pop      rbp
-       pop      rsi
-       pop      rdi
+G_M19097_IG12:        ; bbWeight=0.50, epilog, nogc, extend
        ret      
-                     ;; size=5 bbWeight=0.50 PerfScore 1.50
-G_M19097_IG10:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+                      ;; size=1 bbWeight=0.50 PerfScore 0.50
+G_M19097_IG13:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        mov      eax, -103
-       jmp      SHORT G_M19097_IG18
-                       ;; size=7 bbWeight=0.50 PerfScore 1.12
-G_M19097_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       mov      eax, -104
-       jmp      SHORT G_M19097_IG18
-                       ;; size=7 bbWeight=0.50 PerfScore 1.12
-G_M19097_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       mov      eax, -105
-       jmp      SHORT G_M19097_IG18
-                       ;; size=7 bbWeight=0.50 PerfScore 1.12
-G_M19097_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       mov      eax, -106
-       jmp      SHORT G_M19097_IG18
+       jmp      SHORT G_M19097_IG21
                        ;; size=7 bbWeight=0.50 PerfScore 1.12
 G_M19097_IG14:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       mov      eax, -107
-       jmp      SHORT G_M19097_IG18
+       mov      eax, -104
+       jmp      SHORT G_M19097_IG21
                         ;; size=7 bbWeight=0.50 PerfScore 1.12
 G_M19097_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       mov      eax, -108
-       jmp      SHORT G_M19097_IG18
+       mov      eax, -105
+       jmp      SHORT G_M19097_IG21
                         ;; size=7 bbWeight=0.50 PerfScore 1.12
 G_M19097_IG16:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       mov      eax, -109
-       jmp      SHORT G_M19097_IG18
+       mov      eax, -106
+       jmp      SHORT G_M19097_IG21
                         ;; size=7 bbWeight=0.50 PerfScore 1.12
-G_M19097_IG17:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M19097_IG17:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      eax, -107
+       jmp      SHORT G_M19097_IG21
+                       ;; size=7 bbWeight=0.50 PerfScore 1.12
+G_M19097_IG18:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      eax, -108
+       jmp      SHORT G_M19097_IG21
+                       ;; size=7 bbWeight=0.50 PerfScore 1.12
+G_M19097_IG19:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      eax, -109
+       jmp      SHORT G_M19097_IG21
+                       ;; size=7 bbWeight=0.50 PerfScore 1.12
+G_M19097_IG20:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      eax, 100
                        ;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M19097_IG18:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-       pop      rbx
-       pop      rbp
-       pop      rsi
-       pop      rdi
+G_M19097_IG21:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ret      
-                        ;; size=5 bbWeight=0.50 PerfScore 1.50
-G_M19097_IG19:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-       pop      rbx
-       pop      rbp
-       pop      rsi
-       pop      rdi
+                      ;; size=1 bbWeight=0.50 PerfScore 0.50
+G_M19097_IG22:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        tail.jmp [<unknown method>]
        ; gcr arg pop 0
-                       ;; size=10 bbWeight=0.50 PerfScore 2.00
+                       ;; size=6 bbWeight=0.50 PerfScore 1.00
 
-; Total bytes of code 200, prolog size 34, PerfScore 178.38, instruction count 80, allocated bytes for code 200 (MethodHash=fd0fb566) for method Mutual_recursion:seventhMethodFirstCallee@247(int,int,int,int,int,int,int,int,int,int,int):int (FullOpts)
+; Total bytes of code 169, prolog size 0, PerfScore 49.88, instruction count 54, allocated bytes for code 169 (MethodHash=fd0fb566) for method Mutual_recursion:seventhMethodFirstCallee@247(int,int,int,int,int,int,int,int,int,int,int):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -151,12 +131,8 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x04
-  CountOfUnwindCodes: 4
+  SizeOfProlog      : 0x00
+  CountOfUnwindCodes: 0
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
-    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
-    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
  
+23 (+79.31%) : 565057.dasm - Internal.TypeSystem.ThreadSafeFlags:AddFlags(int):this (Tier1)
@@ -8,9 +8,9 @@
 ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 79440
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  4,  4.00)   byref  ->  rcx         this single-def
-;  V01 arg1         [V01,T01] (  3,  3.00)     int  ->  rdx         single-def
-;  V02 loc0         [V02,T02] (  4,  4.00)     int  ->  [rsp+0x04]  spill-single-def
+;  V00 this         [V00,T01] (  6,  6.00)   byref  ->  rcx         this single-def
+;  V01 arg1         [V01,T02] (  4,  4.00)     int  ->  rdx         single-def
+;  V02 loc0         [V02,T00] (  8,  8.00)     int  ->  [rsp+0x04] 
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 8
@@ -21,21 +21,31 @@ G_M63594_IG01:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
 G_M63594_IG02:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
        ; byrRegs +[rcx]
        mov      eax, dword ptr [rcx]
-       mov      dword ptr [rsp+0x04], eax
        mov      r8d, eax
        or       r8d, edx
+       mov      dword ptr [rsp+0x04], eax
        lock     
        cmpxchg  dword ptr [rcx], r8d
        cmp      eax, dword ptr [rsp+0x04]
-       jne      SHORT G_M63594_IG02
+       je       SHORT G_M63594_IG04
                         ;; size=23 bbWeight=1.00 PerfScore 24.51
-G_M63594_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M63594_IG03:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       mov      eax, dword ptr [rcx]
+       mov      r8d, eax
+       or       r8d, edx
+       mov      dword ptr [rsp+0x04], eax
+       lock     
+       cmpxchg  dword ptr [rcx], r8d
+       cmp      eax, dword ptr [rsp+0x04]
+       jne      SHORT G_M63594_IG03
+                       ;; size=23 bbWeight=1.00 PerfScore 24.51
+G_M63594_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; byrRegs -[rcx]
        add      rsp, 8
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 29, prolog size 1, PerfScore 26.76, instruction count 11, allocated bytes for code 29 (MethodHash=749f0795) for method Internal.TypeSystem.ThreadSafeFlags:AddFlags(int):this (Tier1)
+; Total bytes of code 52, prolog size 1, PerfScore 51.26, instruction count 19, allocated bytes for code 52 (MethodHash=749f0795) for method Internal.TypeSystem.ThreadSafeFlags:AddFlags(int):this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+23 (+79.31%) : 569477.dasm - Internal.TypeSystem.ThreadSafeFlags:AddFlags(int):this (Tier1)
@@ -8,9 +8,9 @@
 ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 77152
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  4,  4.00)   byref  ->  rcx         this single-def
-;  V01 arg1         [V01,T01] (  3,  3.00)     int  ->  rdx         single-def
-;  V02 loc0         [V02,T02] (  4,  4.00)     int  ->  [rsp+0x04]  spill-single-def
+;  V00 this         [V00,T01] (  6,  6.00)   byref  ->  rcx         this single-def
+;  V01 arg1         [V01,T02] (  4,  4.00)     int  ->  rdx         single-def
+;  V02 loc0         [V02,T00] (  8,  8.00)     int  ->  [rsp+0x04] 
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 8
@@ -21,21 +21,31 @@ G_M63594_IG01:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
 G_M63594_IG02:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
        ; byrRegs +[rcx]
        mov      eax, dword ptr [rcx]
-       mov      dword ptr [rsp+0x04], eax
        mov      r8d, eax
        or       r8d, edx
+       mov      dword ptr [rsp+0x04], eax
        lock     
        cmpxchg  dword ptr [rcx], r8d
        cmp      eax, dword ptr [rsp+0x04]
-       jne      SHORT G_M63594_IG02
+       je       SHORT G_M63594_IG04
                         ;; size=23 bbWeight=1.00 PerfScore 24.50
-G_M63594_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M63594_IG03:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       mov      eax, dword ptr [rcx]
+       mov      r8d, eax
+       or       r8d, edx
+       mov      dword ptr [rsp+0x04], eax
+       lock     
+       cmpxchg  dword ptr [rcx], r8d
+       cmp      eax, dword ptr [rsp+0x04]
+       jne      SHORT G_M63594_IG03
+                       ;; size=23 bbWeight=1.00 PerfScore 24.50
+G_M63594_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; byrRegs -[rcx]
        add      rsp, 8
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 29, prolog size 1, PerfScore 26.75, instruction count 11, allocated bytes for code 29 (MethodHash=749f0795) for method Internal.TypeSystem.ThreadSafeFlags:AddFlags(int):this (Tier1)
+; Total bytes of code 52, prolog size 1, PerfScore 51.25, instruction count 19, allocated bytes for code 52 (MethodHash=749f0795) for method Internal.TypeSystem.ThreadSafeFlags:AddFlags(int):this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+46 (+85.19%) : 241317.dasm - N.C:Process(N.C+Node,int,int):int (FullOpts)
@@ -8,13 +8,15 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T06] (  3,  3   )     ref  ->  rcx         class-hnd single-def <N.C+Node>
-;  V01 arg1         [V01,T04] (  3,  6   )     int  ->  rdx         single-def
-;  V02 arg2         [V02,T05] (  3,  6   )     int  ->   r8         single-def
-;  V03 loc0         [V03,T01] (  7, 22   )     int  ->  rax        
-;  V04 loc1         [V04,T00] ( 10, 27   )     ref  ->  rcx         class-hnd <N.C+Node>
-;  V05 loc2         [V05,T02] (  3, 12   )     int  ->  r10        
+;  V01 arg1         [V01,T04] (  4,  7   )     int  ->  rdx         single-def
+;  V02 arg2         [V02,T05] (  4,  6.50)     int  ->   r8         single-def
+;  V03 loc0         [V03,T01] ( 11, 24.50)     int  ->  rax        
+;  V04 loc1         [V04,T00] ( 15, 31.50)     ref  ->  rcx         class-hnd <N.C+Node>
+;  V05 loc2         [V05,T02] (  5, 14   )     int  ->   r9        
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 cse0         [V07,T03] (  3, 12   )     int  ->  rdx         "CSE - aggressive"
+;  V07 cse0         [V07,T08] (  4,  2   )     int  ->  rdx         "CSE - aggressive"
+;  V08 cse1         [V08,T03] (  3, 12   )     int  ->  rdx         "CSE - aggressive"
+;  V09 cse2         [V09,T07] (  3,  3   )     int  ->  r10         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -25,12 +27,20 @@ G_M46984_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
        xor      eax, eax
        test     rcx, rcx
        je       SHORT G_M46984_IG07
-                      ;; size=7 bbWeight=1 PerfScore 1.50
-G_M46984_IG03:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        mov      r10d, dword ptr [rcx+0x10]
-       cmp      r10d, edx
+       mov      r9d, r10d
+       cmp      r9d, edx
        je       SHORT G_M46984_IG05
-       add      eax, r10d
+       mov      eax, r10d
+       mov      rcx, gword ptr [rcx+0x08]
+       test     rcx, rcx
+       je       SHORT G_M46984_IG07
+                       ;; size=31 bbWeight=1 PerfScore 8.50
+G_M46984_IG03:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       mov      r9d, dword ptr [rcx+0x10]
+       cmp      r9d, edx
+       je       SHORT G_M46984_IG05
+       add      eax, r9d
        mov      rcx, gword ptr [rcx+0x08]
        test     rcx, rcx
        jne      SHORT G_M46984_IG03
@@ -39,10 +49,18 @@ G_M46984_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        ; gcrRegs -[rcx]
        jmp      SHORT G_M46984_IG07
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M46984_IG05:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
+G_M46984_IG05:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rcx]
-       shl      dword ptr [rcx+0x10], 1
-                       ;; size=3 bbWeight=0.50 PerfScore 2.00
+       mov      edx, dword ptr [rcx+0x10]
+       add      edx, edx
+       mov      dword ptr [rcx+0x10], edx
+       lea      r10d, [rdx+4*rdx]
+       add      eax, r10d
+       inc      edx
+       mov      dword ptr [rcx+0x10], edx
+       cmp      eax, r8d
+       jge      SHORT G_M46984_IG07
+                       ;; size=25 bbWeight=0.50 PerfScore 3.25
 G_M46984_IG06:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        mov      edx, dword ptr [rcx+0x10]
        lea      r10d, [rdx+4*rdx]
@@ -57,7 +75,7 @@ G_M46984_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
 
-; Total bytes of code 54, prolog size 0, PerfScore 53.50, instruction count 20, allocated bytes for code 54 (MethodHash=87fd4877) for method N.C:Process(N.C+Node,int,int):int (FullOpts)
+; Total bytes of code 100, prolog size 0, PerfScore 61.75, instruction count 36, allocated bytes for code 100 (MethodHash=87fd4877) for method N.C:Process(N.C+Node,int,int):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
libraries.crossgen2.windows.x64.checked.mch
-6 (-5.41%) : 171990.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
@@ -9,26 +9,24 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T03] (  7,  9   )     ref  ->  rbx         class-hnd <System.String>
-;  V01 loc0         [V01,T02] (  7, 11.50)     int  ->  rdi        
+;  V00 arg0         [V00,T03] (  7,  5.50)     ref  ->  rbx         class-hnd <System.String>
+;  V01 loc0         [V01,T02] (  9,  5.25)     int  ->  rdi        
 ;  V02 OutArgs      [V02    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V03 tmp1         [V03,T05] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V04 tmp2         [V04,T00] (  3, 24   )  ushort  ->  r14         "Inlining Arg"
-;  V05 cse0         [V05,T01] (  4, 14   )     int  ->  rbp         "CSE - aggressive"
-;  V06 cse1         [V06,T04] (  4,  7   )     int  ->  rsi         "CSE - aggressive"
+;* V03 tmp1         [V03,T01] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V04 tmp2         [V04,T00] (  3,  3   )  ushort  ->  rbp         "Inlining Arg"
+;  V05 cse0         [V05,T04] (  4,  3.50)     int  ->  rsi         "CSE - aggressive"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 40
 
 G_M51277_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-       push     r14
        push     rdi
        push     rsi
        push     rbp
        push     rbx
-       sub      rsp, 32
+       sub      rsp, 40
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=13 bbWeight=1 PerfScore 5.50
+                      ;; size=11 bbWeight=1 PerfScore 4.50
 G_M51277_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      esi, dword ptr [rbx+0x08]
        mov      edi, esi
@@ -38,26 +36,26 @@ G_M51277_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
 G_M51277_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M51277_IG05
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M51277_IG04:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      edi, ebp
+G_M51277_IG04:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       dec      edi
        test     edi, edi
        jle      SHORT G_M51277_IG06
-                      ;; size=6 bbWeight=2 PerfScore 3.00
-G_M51277_IG05:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       lea      ebp, [rdi-0x01]
-       cmp      ebp, esi
+                     ;; size=6 bbWeight=0.25 PerfScore 0.38
+G_M51277_IG05:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       lea      eax, [rdi-0x01]
+       cmp      eax, esi
        jae      SHORT G_M51277_IG10
-       mov      eax, ebp
-       movzx    r14, word  ptr [rbx+2*rax+0x0C]
+       lea      eax, [rdi-0x01]
+       movzx    rbp, word  ptr [rbx+2*rax+0x0C]
        call     [CORINFO_HELP_READYTORUN_NONGCSTATIC_BASE]
        ; byrRegs +[rax]
        ; gcr arg pop 0
        movzx    rcx, word  ptr [rax]
-       cmp      ecx, r14d
+       cmp      ecx, ebp
        je       SHORT G_M51277_IG04
-       cmp      r14d, 47
+       cmp      ebp, 47
        je       SHORT G_M51277_IG04
-                       ;; size=35 bbWeight=4 PerfScore 46.00
+                     ;; size=33 bbWeight=0.50 PerfScore 5.88
 G_M51277_IG06:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; byrRegs -[rax]
        cmp      esi, edi
@@ -81,14 +79,13 @@ G_M51277_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs +[rax]
                        ;; size=3 bbWeight=1 PerfScore 0.25
 G_M51277_IG09:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 32
+       add      rsp, 40
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
-       pop      r14
        ret      
-                     ;; size=11 bbWeight=1 PerfScore 3.75
+                      ;; size=9 bbWeight=1 PerfScore 3.25
 G_M51277_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax rbx]
        call     [CORINFO_HELP_RNGCHKFAIL]
@@ -96,7 +93,7 @@ G_M51277_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 111, prolog size 13, PerfScore 66.50, instruction count 44, allocated bytes for code 111 (MethodHash=ae9237b2) for method Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
+; Total bytes of code 105, prolog size 11, PerfScore 22.25, instruction count 42, allocated bytes for code 105 (MethodHash=ae9237b2) for method Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -104,14 +101,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0A
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 5
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0A UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 3 * 8 + 8 = 32 = 0x20
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
-    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
+    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
  
-6 (-5.41%) : 198378.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
@@ -9,26 +9,24 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T03] (  7,  9   )     ref  ->  rbx         class-hnd <System.String>
-;  V01 loc0         [V01,T02] (  7, 11.50)     int  ->  rdi        
+;  V00 arg0         [V00,T03] (  7,  5.50)     ref  ->  rbx         class-hnd <System.String>
+;  V01 loc0         [V01,T02] (  9,  5.25)     int  ->  rdi        
 ;  V02 OutArgs      [V02    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V03 tmp1         [V03,T05] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V04 tmp2         [V04,T00] (  3, 24   )  ushort  ->  r14         "Inlining Arg"
-;  V05 cse0         [V05,T01] (  4, 14   )     int  ->  rbp         "CSE - aggressive"
-;  V06 cse1         [V06,T04] (  4,  7   )     int  ->  rsi         "CSE - aggressive"
+;* V03 tmp1         [V03,T01] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V04 tmp2         [V04,T00] (  3,  3   )  ushort  ->  rbp         "Inlining Arg"
+;  V05 cse0         [V05,T04] (  4,  3.50)     int  ->  rsi         "CSE - aggressive"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 40
 
 G_M51277_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-       push     r14
        push     rdi
        push     rsi
        push     rbp
        push     rbx
-       sub      rsp, 32
+       sub      rsp, 40
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=13 bbWeight=1 PerfScore 5.50
+                      ;; size=11 bbWeight=1 PerfScore 4.50
 G_M51277_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      esi, dword ptr [rbx+0x08]
        mov      edi, esi
@@ -38,26 +36,26 @@ G_M51277_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
 G_M51277_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M51277_IG05
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M51277_IG04:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      edi, ebp
+G_M51277_IG04:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       dec      edi
        test     edi, edi
        jle      SHORT G_M51277_IG06
-                      ;; size=6 bbWeight=2 PerfScore 3.00
-G_M51277_IG05:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       lea      ebp, [rdi-0x01]
-       cmp      ebp, esi
+                     ;; size=6 bbWeight=0.25 PerfScore 0.38
+G_M51277_IG05:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       lea      eax, [rdi-0x01]
+       cmp      eax, esi
        jae      SHORT G_M51277_IG10
-       mov      eax, ebp
-       movzx    r14, word  ptr [rbx+2*rax+0x0C]
+       lea      eax, [rdi-0x01]
+       movzx    rbp, word  ptr [rbx+2*rax+0x0C]
        call     [CORINFO_HELP_READYTORUN_NONGCSTATIC_BASE]
        ; byrRegs +[rax]
        ; gcr arg pop 0
        movzx    rcx, word  ptr [rax]
-       cmp      ecx, r14d
+       cmp      ecx, ebp
        je       SHORT G_M51277_IG04
-       cmp      r14d, 47
+       cmp      ebp, 47
        je       SHORT G_M51277_IG04
-                       ;; size=35 bbWeight=4 PerfScore 46.00
+                     ;; size=33 bbWeight=0.50 PerfScore 5.88
 G_M51277_IG06:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; byrRegs -[rax]
        cmp      esi, edi
@@ -81,14 +79,13 @@ G_M51277_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs +[rax]
                        ;; size=3 bbWeight=1 PerfScore 0.25
 G_M51277_IG09:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 32
+       add      rsp, 40
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
-       pop      r14
        ret      
-                     ;; size=11 bbWeight=1 PerfScore 3.75
+                      ;; size=9 bbWeight=1 PerfScore 3.25
 G_M51277_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax rbx]
        call     [CORINFO_HELP_RNGCHKFAIL]
@@ -96,7 +93,7 @@ G_M51277_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 111, prolog size 13, PerfScore 66.50, instruction count 44, allocated bytes for code 111 (MethodHash=ae9237b2) for method Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
+; Total bytes of code 105, prolog size 11, PerfScore 22.25, instruction count 42, allocated bytes for code 105 (MethodHash=ae9237b2) for method Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -104,14 +101,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0A
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 5
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0A UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 3 * 8 + 8 = 32 = 0x20
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
-    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
+    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
  
-14 (-4.96%) : 183788.dasm - Roslyn.Utilities.OneOrMany1+<<OfType>g__iterateElements|18_0>d1[System.Canon,System.Canon]:MoveNext():ubyte:this (FullOpts)
@@ -8,42 +8,40 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] ( 12,  8.50)     ref  ->  rbx         this class-hnd single-def <Roslyn.Utilities.OneOrMany`1+<<OfType>g__iterateElements|18_0>d`1[System.__Canon,System.__Canon]>
-;  V01 loc0         [V01,T12] (  3,  2.50)     int  ->  rax         single-def
-;  V02 loc1         [V02,T10] (  3,  4.50)     ref  ->  r14         class-hnd <System.__Canon>
+;  V00 this         [V00,T00] ( 13,  9   )     ref  ->  rbx         this class-hnd single-def <Roslyn.Utilities.OneOrMany`1+<<OfType>g__iterateElements|18_0>d`1[System.__Canon,System.__Canon]>
+;  V01 loc0         [V01,T09] (  3,  2.50)     int  ->  rax         single-def
+;  V02 loc1         [V02,T06] (  3,  1.50)     ref  ->  rbp         class-hnd <System.__Canon>
 ;* V03 loc2         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.__Canon>
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T13] (  3,  2.25)     ref  ->  rax         single-def "CASTCLASS eval op1"
-;  V06 tmp2         [V06,T14] (  3,  2.25)    long  ->  rcx         "fgMakeTemp is creating a new local variable"
-;  V07 tmp3         [V07,T11] (  4,  3.25)     ref  ->  rdx         class-hnd "spilling QMark2" <System.__Canon>
-;  V08 tmp4         [V08,T17] (  2,  2   )    long  ->   r8         "argument with side effect"
-;  V09 tmp5         [V09,T15] (  2,  2   )   byref  ->  rdi         single-def "argument with side effect"
-;  V10 tmp6         [V10,T16] (  2,  2   )   byref  ->  rsi         single-def "argument with side effect"
-;  V11 tmp7         [V11,T01] (  2, 16   )    long  ->  rdx         "argument with side effect"
-;  V12 tmp8         [V12,T00] (  2, 16   )   byref  ->  rcx         "argument with side effect"
-;  V13 tmp9         [V13,T05] (  2,  8   )    long  ->  rdx         "argument with side effect"
-;  V14 tmp10        [V14,T04] (  2,  8   )   byref  ->  rcx         "argument with side effect"
-;  V15 tmp11        [V15,T06] (  2,  8   )    long  ->  rcx         "argument with side effect"
-;  V16 tmp12        [V16,T18] (  2,  2   )    long  ->  rcx         "argument with side effect"
-;  V17 cse0         [V17,T07] (  3,  7   )    long  ->  rsi         hoist "CSE - aggressive"
-;  V18 cse1         [V18,T09] (  4,  5   )    long  ->  r15         "CSE - aggressive"
-;  V19 cse2         [V19,T08] (  5,  5   )    long  ->  rbp         multi-def "CSE - aggressive"
-;  V20 cse3         [V20,T03] (  6,  8.50)   byref  ->  rdi         hoist multi-def "CSE - aggressive"
+;  V05 tmp1         [V05,T11] (  3,  2.25)     ref  ->  rax         single-def "CASTCLASS eval op1"
+;  V06 tmp2         [V06,T12] (  3,  2.25)    long  ->  rcx         "fgMakeTemp is creating a new local variable"
+;  V07 tmp3         [V07,T08] (  4,  3.25)     ref  ->  rdx         class-hnd "spilling QMark2" <System.__Canon>
+;  V08 tmp4         [V08,T16] (  2,  2   )    long  ->   r8         "argument with side effect"
+;  V09 tmp5         [V09,T14] (  2,  2   )   byref  ->  rdi         single-def "argument with side effect"
+;  V10 tmp6         [V10,T15] (  2,  2   )   byref  ->  rsi         single-def "argument with side effect"
+;  V11 tmp7         [V11,T02] (  2,  4   )    long  ->  rdx         "argument with side effect"
+;  V12 tmp8         [V12,T01] (  2,  4   )   byref  ->  rcx         "argument with side effect"
+;  V13 tmp9         [V13,T04] (  2,  2   )    long  ->  rdx         "argument with side effect"
+;  V14 tmp10        [V14,T03] (  2,  2   )   byref  ->  rcx         "argument with side effect"
+;  V15 tmp11        [V15,T05] (  2,  2   )    long  ->  rcx         "argument with side effect"
+;  V16 tmp12        [V16,T17] (  2,  2   )    long  ->  rcx         "argument with side effect"
+;  V17 cse0         [V17,T10] (  3,  2.50)    long  ->  rsi         hoist "CSE - aggressive"
+;  V18 cse1         [V18,T13] (  4,  2   )    long  ->  r14         "CSE - moderate"
+;  V19 cse2         [V19,T07] (  6,  4   )   byref  ->  rdi         hoist multi-def "CSE - aggressive"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 48
 
 G_M46849_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-       push     r15
        push     r14
        push     rdi
        push     rsi
        push     rbp
        push     rbx
-       sub      rsp, 40
-       mov      qword ptr [rsp+0x20], rcx
+       sub      rsp, 48
+       mov      qword ptr [rsp+0x28], rcx
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=20 bbWeight=1 PerfScore 7.50
+                      ;; size=18 bbWeight=1 PerfScore 6.50
 G_M46849_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      eax, dword ptr [rbx+0x10]
        test     eax, eax
@@ -55,23 +53,21 @@ G_M46849_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        xor      eax, eax
                        ;; size=11 bbWeight=0.50 PerfScore 0.75
 G_M46849_IG04:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 40
+       add      rsp, 48
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
        pop      r14
-       pop      r15
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 2.12
+                       ;; size=11 bbWeight=0.50 PerfScore 1.88
 G_M46849_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        mov      dword ptr [rbx+0x10], -1
        lea      rsi, bword ptr [rbx+0x18]
        ; byrRegs +[rsi]
        lea      rdi, bword ptr [rbx+0x38]
        ; byrRegs +[rdi]
-       mov      rbp, qword ptr [rbx]
-       mov      rcx, rbp
+       mov      rcx, qword ptr [rbx]
        call     [CORINFO_HELP_READYTORUN_GENERIC_HANDLE]
        ; gcr arg pop 0
        mov      r8, rax
@@ -82,18 +78,17 @@ G_M46849_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
        call     [Roslyn.Utilities.OneOrMany`1[System.__Canon]:GetEnumerator():Roslyn.Utilities.OneOrMany`1+Enumerator[System.__Canon]:this]
        ; byrRegs -[rcx rdx rsi rdi]
        ; gcr arg pop 0
-                       ;; size=42 bbWeight=0.50 PerfScore 5.50
+                       ;; size=39 bbWeight=0.50 PerfScore 5.38
 G_M46849_IG06:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        lea      rdi, bword ptr [rbx+0x38]
        ; byrRegs +[rdi]
-       mov      rbp, qword ptr [rbx]
-       mov      rcx, rbp
+       mov      rcx, qword ptr [rbx]
        call     [CORINFO_HELP_READYTORUN_GENERIC_HANDLE]
        ; gcr arg pop 0
        mov      rsi, rax
        jmp      SHORT G_M46849_IG08
-                      ;; size=21 bbWeight=1 PerfScore 8.00
-G_M46849_IG07:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi}, byref, isz
+                       ;; size=18 bbWeight=1 PerfScore 7.75
+G_M46849_IG07:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi}, byref, isz
        mov      rcx, rdi
        ; byrRegs +[rcx]
        mov      rdx, rsi
@@ -101,24 +96,24 @@ G_M46849_IG07:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi},
        ; gcrRegs +[rax]
        ; byrRegs -[rcx]
        ; gcr arg pop 0
-       mov      r14, rax
-       ; gcrRegs +[r14]
-       mov      rcx, rbp
+       mov      rbp, rax
+       ; gcrRegs +[rbp]
+       mov      rcx, qword ptr [rbx]
        call     [CORINFO_HELP_READYTORUN_GENERIC_HANDLE]
        ; gcrRegs -[rax]
        ; gcr arg pop 0
-       mov      r15, rax
-       mov      rcx, r15
-       mov      rdx, r14
+       mov      r14, rax
+       mov      rcx, r14
+       mov      rdx, rbp
        ; gcrRegs +[rdx]
        call     [CORINFO_HELP_ISINSTANCEOFANY]
        ; gcrRegs -[rdx] +[rax]
        ; gcr arg pop 0
        test     rax, rax
        jne      SHORT G_M46849_IG11
-                      ;; size=44 bbWeight=2 PerfScore 24.00
-G_M46849_IG08:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi}, byref, isz
-       ; gcrRegs -[rax r14]
+                      ;; size=44 bbWeight=0.50 PerfScore 6.88
+G_M46849_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi}, byref, isz
+       ; gcrRegs -[rax rbp]
        mov      rcx, rdi
        ; byrRegs +[rcx]
        mov      rdx, rsi
@@ -127,35 +122,34 @@ G_M46849_IG08:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi},
        ; gcr arg pop 0
        test     eax, eax
        jne      SHORT G_M46849_IG07
-                      ;; size=16 bbWeight=4 PerfScore 19.00
-G_M46849_IG09:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi}, byref
+                     ;; size=16 bbWeight=1 PerfScore 4.75
+G_M46849_IG09:        ; bbWeight=0.12, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi}, byref
        xor      eax, eax
        mov      qword ptr [rdi], rax
        mov      qword ptr [rdi+0x08], rax
        mov      qword ptr [rdi+0x10], rax
-                        ;; size=13 bbWeight=0.50 PerfScore 1.62
+                       ;; size=13 bbWeight=0.12 PerfScore 0.41
 G_M46849_IG10:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, epilog, nogc
        ; byrRegs -[rdi]
-       add      rsp, 40
+       add      rsp, 48
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
        pop      r14
-       pop      r15
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 2.12
-G_M46849_IG11:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; gcrRegs +[r14]
-       mov      rcx, r15
-       mov      rdx, r14
+                     ;; size=11 bbWeight=0.50 PerfScore 1.88
+G_M46849_IG11:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0028 {rbx rbp}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; gcrRegs +[rbp]
+       mov      rcx, r14
+       mov      rdx, rbp
        ; gcrRegs +[rdx]
        call     [CORINFO_HELP_ISINSTANCEOFANY]
-       ; gcrRegs -[rdx r14] +[rax]
+       ; gcrRegs -[rdx rbp] +[rax]
        ; gcr arg pop 0
        mov      rdx, rax
        ; gcrRegs +[rdx]
-       mov      rcx, r15
+       mov      rcx, r14
        cmp      qword ptr [rdx], rcx
        je       SHORT G_M46849_IG13
                        ;; size=23 bbWeight=0.50 PerfScore 4.00
@@ -180,21 +174,20 @@ G_M46849_IG13:        ; bbWeight=0.50, gcrefRegs=000C {rdx rbx}, byrefRegs=0000
        mov      eax, 1
                        ;; size=22 bbWeight=0.50 PerfScore 2.38
 G_M46849_IG14:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 40
+       add      rsp, 48
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
        pop      r14
-       pop      r15
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 2.12
+                       ;; size=11 bbWeight=0.50 PerfScore 1.88
 G_M46849_IG15:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        mov      dword ptr [rbx+0x10], -1
        jmp      G_M46849_IG06
                        ;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 282, prolog size 17, PerfScore 84.31, instruction count 92, allocated bytes for code 282 (MethodHash=b45148fe) for method Roslyn.Utilities.OneOrMany`1+<<OfType>g__iterateElements|18_0>d`1[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
+; Total bytes of code 268, prolog size 15, PerfScore 49.59, instruction count 86, allocated bytes for code 268 (MethodHash=b45148fe) for method Roslyn.Utilities.OneOrMany`1+<<OfType>g__iterateElements|18_0>d`1[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -202,15 +195,14 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0C
-  CountOfUnwindCodes: 7
+  SizeOfProlog      : 0x0A
+  CountOfUnwindCodes: 6
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0C UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
-    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
-    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
+    CodeOffset: 0x0A UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
+    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
+    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
  
+27 (+90.00%) : 207627.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
@@ -10,7 +10,7 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  3,  3   )     ref  ->  rcx         this class-hnd single-def <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
-;  V01 loc0         [V01,T00] (  7, 22   )     ref  ->  rax         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
+;  V01 loc0         [V01,T00] ( 12, 24.50)     ref  ->  rax         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -23,25 +23,42 @@ G_M12955_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
        ; gcrRegs +[rax]
        jmp      SHORT G_M12955_IG04
                        ;; size=6 bbWeight=1 PerfScore 4.00
-G_M12955_IG03:        ; bbWeight=2, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
+G_M12955_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
        mov      rax, gword ptr [rax+0x18]
-                        ;; size=4 bbWeight=2 PerfScore 4.00
-G_M12955_IG04:        ; bbWeight=8, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M12955_IG08
+                       ;; size=6 bbWeight=0.25 PerfScore 1.00
+G_M12955_IG04:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        test     rax, rax
-       je       SHORT G_M12955_IG06
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M12955_IG05:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M12955_IG10
+                       ;; size=5 bbWeight=1 PerfScore 1.25
+G_M12955_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        cmp      word  ptr [rax+0x34], 0
-       jne      SHORT G_M12955_IG06
+       jne      SHORT G_M12955_IG10
        cmp      gword ptr [rax+0x10], 0
        je       SHORT G_M12955_IG03
+                      ;; size=14 bbWeight=0.50 PerfScore 4.00
+G_M12955_IG06:        ; bbWeight=0.12, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M12955_IG10
+                       ;; size=2 bbWeight=0.12 PerfScore 0.25
+G_M12955_IG07:        ; bbWeight=2, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
+       mov      rax, gword ptr [rax+0x18]
+                       ;; size=4 bbWeight=2 PerfScore 4.00
+G_M12955_IG08:        ; bbWeight=8, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       test     rax, rax
+       je       SHORT G_M12955_IG10
+                       ;; size=5 bbWeight=8 PerfScore 10.00
+G_M12955_IG09:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       cmp      word  ptr [rax+0x34], 0
+       jne      SHORT G_M12955_IG10
+       cmp      gword ptr [rax+0x10], 0
+       je       SHORT G_M12955_IG07
                         ;; size=14 bbWeight=4 PerfScore 32.00
-G_M12955_IG06:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M12955_IG10:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
 
-; Total bytes of code 30, prolog size 0, PerfScore 51.00, instruction count 10, allocated bytes for code 30 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
+; Total bytes of code 57, prolog size 0, PerfScore 57.50, instruction count 19, allocated bytes for code 57 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+27 (+90.00%) : 181488.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
@@ -10,7 +10,7 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  3,  3   )     ref  ->  rcx         this class-hnd single-def <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
-;  V01 loc0         [V01,T00] (  7, 22   )     ref  ->  rax         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
+;  V01 loc0         [V01,T00] ( 12, 24.50)     ref  ->  rax         class-hnd <Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -23,25 +23,42 @@ G_M12955_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
        ; gcrRegs +[rax]
        jmp      SHORT G_M12955_IG04
                        ;; size=6 bbWeight=1 PerfScore 4.00
-G_M12955_IG03:        ; bbWeight=2, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
+G_M12955_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
        mov      rax, gword ptr [rax+0x18]
-                        ;; size=4 bbWeight=2 PerfScore 4.00
-G_M12955_IG04:        ; bbWeight=8, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M12955_IG08
+                       ;; size=6 bbWeight=0.25 PerfScore 1.00
+G_M12955_IG04:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        test     rax, rax
-       je       SHORT G_M12955_IG06
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M12955_IG05:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M12955_IG10
+                       ;; size=5 bbWeight=1 PerfScore 1.25
+G_M12955_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        cmp      word  ptr [rax+0x34], 0
-       jne      SHORT G_M12955_IG06
+       jne      SHORT G_M12955_IG10
        cmp      gword ptr [rax+0x10], 0
        je       SHORT G_M12955_IG03
+                      ;; size=14 bbWeight=0.50 PerfScore 4.00
+G_M12955_IG06:        ; bbWeight=0.12, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M12955_IG10
+                       ;; size=2 bbWeight=0.12 PerfScore 0.25
+G_M12955_IG07:        ; bbWeight=2, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
+       mov      rax, gword ptr [rax+0x18]
+                       ;; size=4 bbWeight=2 PerfScore 4.00
+G_M12955_IG08:        ; bbWeight=8, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       test     rax, rax
+       je       SHORT G_M12955_IG10
+                       ;; size=5 bbWeight=8 PerfScore 10.00
+G_M12955_IG09:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       cmp      word  ptr [rax+0x34], 0
+       jne      SHORT G_M12955_IG10
+       cmp      gword ptr [rax+0x10], 0
+       je       SHORT G_M12955_IG07
                         ;; size=14 bbWeight=4 PerfScore 32.00
-G_M12955_IG06:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M12955_IG10:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
 
-; Total bytes of code 30, prolog size 0, PerfScore 51.00, instruction count 10, allocated bytes for code 30 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
+; Total bytes of code 57, prolog size 0, PerfScore 57.50, instruction count 19, allocated bytes for code 57 (MethodHash=1deacd64) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:get_NextNontrivial():Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+34 (+125.93%) : 235343.dasm - System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
@@ -8,9 +8,9 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  5, 11   )     int  ->  rax        
-;  V01 arg1         [V01,T00] (  7, 19   )     int  ->   r8        
-;  V02 loc0         [V02,T02] (  2,  8   )     int  ->  rdx        
+;  V00 arg0         [V00,T01] (  7, 13   )     int  ->  registers  
+;  V01 arg1         [V01,T00] ( 11, 23   )     int  ->  registers  
+;  V02 loc0         [V02,T02] (  4, 10   )     int  ->  rdx        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -21,21 +21,43 @@ G_M22426_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=5 bbWeight=1 PerfScore 0.50
 G_M22426_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        test     r8d, r8d
-       je       SHORT G_M22426_IG04
-                       ;; size=5 bbWeight=1 PerfScore 1.25
-G_M22426_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M22426_IG08
        xor      edx, edx
        div      edx:eax, r8d
        mov      eax, r8d
        mov      r8d, edx
        test     r8d, r8d
-       jne      SHORT G_M22426_IG03
-                       ;; size=16 bbWeight=4 PerfScore 108.00
-G_M22426_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       je       SHORT G_M22426_IG07
+                       ;; size=21 bbWeight=1 PerfScore 28.25
+G_M22426_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       xor      edx, edx
+       div      edx:eax, r8d
+       mov      eax, edx
+       test     eax, eax
+       jne      SHORT G_M22426_IG06
+                       ;; size=11 bbWeight=4 PerfScore 107.00
+G_M22426_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      eax, r8d
+                       ;; size=3 bbWeight=1 PerfScore 0.25
+G_M22426_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
+G_M22426_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+       mov      ecx, eax
+       mov      eax, r8d
+       mov      r8d, ecx
+       jmp      SHORT G_M22426_IG03
+                       ;; size=10 bbWeight=2 PerfScore 5.50
+G_M22426_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      r8d, eax
+       jmp      SHORT G_M22426_IG04
+                       ;; size=5 bbWeight=0.50 PerfScore 1.12
+G_M22426_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      r8d, eax
+       jmp      SHORT G_M22426_IG04
+                       ;; size=5 bbWeight=0.50 PerfScore 1.12
 
-; Total bytes of code 27, prolog size 5, PerfScore 110.75, instruction count 11, allocated bytes for code 27 (MethodHash=f186a865) for method System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
+; Total bytes of code 61, prolog size 5, PerfScore 144.75, instruction count 25, allocated bytes for code 61 (MethodHash=f186a865) for method System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
libraries.pmi.windows.x64.checked.mch
-15 (-10.07%) : 149144.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
@@ -8,20 +8,16 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T03] (  7,  9   )     ref  ->  rbx         class-hnd <System.String>
-;  V01 loc0         [V01,T02] (  7, 11.50)     int  ->  rdi        
+;  V00 arg0         [V00,T03] (  7,  5.50)     ref  ->  rbx         class-hnd <System.String>
+;  V01 loc0         [V01,T02] (  9,  5.25)     int  ->  rdi        
 ;  V02 OutArgs      [V02    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V03 tmp1         [V03,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V04 tmp2         [V04,T00] (  3, 24   )  ushort  ->  r15         "Inlining Arg"
-;  V05 cse0         [V05,T01] (  4, 14   )     int  ->  r14         "CSE - aggressive"
-;  V06 cse1         [V06,T04] (  4,  7   )     int  ->  rsi         "CSE - aggressive"
-;  V07 cse2         [V07,T05] (  2,  4.50)    long  ->  rbp         hoist "CSE - aggressive"
+;* V03 tmp1         [V03,T01] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V04 tmp2         [V04,T00] (  3,  3   )  ushort  ->  rbp         "Inlining Arg"
+;  V05 cse0         [V05,T04] (  4,  3.50)     int  ->  rsi         "CSE - aggressive"
 ;
 ; Lcl frame size = 40
 
 G_M51277_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-       push     r15
-       push     r14
        push     rdi
        push     rsi
        push     rbp
@@ -29,7 +25,7 @@ G_M51277_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        sub      rsp, 40
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=15 bbWeight=1 PerfScore 6.50
+                      ;; size=11 bbWeight=1 PerfScore 4.50
 G_M51277_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      esi, dword ptr [rbx+0x08]
        mov      edi, esi
@@ -37,30 +33,30 @@ G_M51277_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        jle      SHORT G_M51277_IG07
                        ;; size=9 bbWeight=1 PerfScore 3.50
 G_M51277_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      rbp, 0xD1FFAB1E      ; static handle
        jmp      SHORT G_M51277_IG05
-                      ;; size=12 bbWeight=0.50 PerfScore 1.12
-G_M51277_IG04:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      edi, r14d
+                        ;; size=2 bbWeight=0.50 PerfScore 1.00
+G_M51277_IG04:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       dec      edi
        test     edi, edi
        jle      SHORT G_M51277_IG07
-                      ;; size=7 bbWeight=2 PerfScore 3.00
-G_M51277_IG05:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       lea      r14d, [rdi-0x01]
-       cmp      r14d, esi
+                        ;; size=6 bbWeight=0.25 PerfScore 0.38
+G_M51277_IG05:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       lea      ecx, [rdi-0x01]
+       cmp      ecx, esi
        jae      SHORT G_M51277_IG11
-       mov      ecx, r14d
-       movzx    r15, word  ptr [rbx+2*rcx+0x0C]
+       lea      ecx, [rdi-0x01]
+       movzx    rbp, word  ptr [rbx+2*rcx+0x0C]
        test     byte  ptr [(reloc)], 1      ; global ptr
        je       SHORT G_M51277_IG12
-                      ;; size=27 bbWeight=4 PerfScore 32.00
-G_M51277_IG06:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       movzx    rcx, word  ptr [rbp]
-       cmp      r15d, ecx
+                        ;; size=24 bbWeight=0.50 PerfScore 4.12
+G_M51277_IG06:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       mov      rcx, 0xD1FFAB1E      ; static handle
+       movzx    rcx, word  ptr [rcx]
+       cmp      ebp, ecx
        je       SHORT G_M51277_IG04
-       cmp      r15d, 47
+       cmp      ebp, 47
        je       SHORT G_M51277_IG04
-                        ;; size=15 bbWeight=4 PerfScore 18.00
+                     ;; size=22 bbWeight=0.50 PerfScore 2.38
 G_M51277_IG07:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        cmp      esi, edi
        je       SHORT G_M51277_IG09
@@ -87,10 +83,8 @@ G_M51277_IG10:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        pop      rsi
        pop      rdi
-       pop      r14
-       pop      r15
        ret      
-                      ;; size=13 bbWeight=1 PerfScore 4.25
+                      ;; size=9 bbWeight=1 PerfScore 3.25
 G_M51277_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax rbx]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -105,7 +99,7 @@ G_M51277_IG12:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        jmp      SHORT G_M51277_IG06
                        ;; size=22 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 149, prolog size 15, PerfScore 71.88, instruction count 50, allocated bytes for code 149 (MethodHash=ae9237b2) for method Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
+; Total bytes of code 134, prolog size 11, PerfScore 22.62, instruction count 46, allocated bytes for code 134 (MethodHash=ae9237b2) for method Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -113,15 +107,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0C
-  CountOfUnwindCodes: 7
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 5
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0C UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
-    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
-    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
+    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
+    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
  
-15 (-10.07%) : 189084.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
@@ -8,20 +8,16 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T03] (  7,  9   )     ref  ->  rbx         class-hnd <System.String>
-;  V01 loc0         [V01,T02] (  7, 11.50)     int  ->  rdi        
+;  V00 arg0         [V00,T03] (  7,  5.50)     ref  ->  rbx         class-hnd <System.String>
+;  V01 loc0         [V01,T02] (  9,  5.25)     int  ->  rdi        
 ;  V02 OutArgs      [V02    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V03 tmp1         [V03,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V04 tmp2         [V04,T00] (  3, 24   )  ushort  ->  r15         "Inlining Arg"
-;  V05 cse0         [V05,T01] (  4, 14   )     int  ->  r14         "CSE - aggressive"
-;  V06 cse1         [V06,T04] (  4,  7   )     int  ->  rsi         "CSE - aggressive"
-;  V07 cse2         [V07,T05] (  2,  4.50)    long  ->  rbp         hoist "CSE - aggressive"
+;* V03 tmp1         [V03,T01] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V04 tmp2         [V04,T00] (  3,  3   )  ushort  ->  rbp         "Inlining Arg"
+;  V05 cse0         [V05,T04] (  4,  3.50)     int  ->  rsi         "CSE - aggressive"
 ;
 ; Lcl frame size = 40
 
 G_M51277_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-       push     r15
-       push     r14
        push     rdi
        push     rsi
        push     rbp
@@ -29,7 +25,7 @@ G_M51277_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        sub      rsp, 40
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=15 bbWeight=1 PerfScore 6.50
+                      ;; size=11 bbWeight=1 PerfScore 4.50
 G_M51277_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      esi, dword ptr [rbx+0x08]
        mov      edi, esi
@@ -37,30 +33,30 @@ G_M51277_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        jle      SHORT G_M51277_IG07
                        ;; size=9 bbWeight=1 PerfScore 3.50
 G_M51277_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      rbp, 0xD1FFAB1E      ; static handle
        jmp      SHORT G_M51277_IG05
-                      ;; size=12 bbWeight=0.50 PerfScore 1.12
-G_M51277_IG04:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      edi, r14d
+                        ;; size=2 bbWeight=0.50 PerfScore 1.00
+G_M51277_IG04:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       dec      edi
        test     edi, edi
        jle      SHORT G_M51277_IG07
-                      ;; size=7 bbWeight=2 PerfScore 3.00
-G_M51277_IG05:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       lea      r14d, [rdi-0x01]
-       cmp      r14d, esi
+                        ;; size=6 bbWeight=0.25 PerfScore 0.38
+G_M51277_IG05:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       lea      ecx, [rdi-0x01]
+       cmp      ecx, esi
        jae      SHORT G_M51277_IG11
-       mov      ecx, r14d
-       movzx    r15, word  ptr [rbx+2*rcx+0x0C]
+       lea      ecx, [rdi-0x01]
+       movzx    rbp, word  ptr [rbx+2*rcx+0x0C]
        test     byte  ptr [(reloc)], 1      ; global ptr
        je       SHORT G_M51277_IG12
-                      ;; size=27 bbWeight=4 PerfScore 32.00
-G_M51277_IG06:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       movzx    rcx, word  ptr [rbp]
-       cmp      r15d, ecx
+                        ;; size=24 bbWeight=0.50 PerfScore 4.12
+G_M51277_IG06:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       mov      rcx, 0xD1FFAB1E      ; static handle
+       movzx    rcx, word  ptr [rcx]
+       cmp      ebp, ecx
        je       SHORT G_M51277_IG04
-       cmp      r15d, 47
+       cmp      ebp, 47
        je       SHORT G_M51277_IG04
-                        ;; size=15 bbWeight=4 PerfScore 18.00
+                     ;; size=22 bbWeight=0.50 PerfScore 2.38
 G_M51277_IG07:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        cmp      esi, edi
        je       SHORT G_M51277_IG09
@@ -87,10 +83,8 @@ G_M51277_IG10:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        pop      rsi
        pop      rdi
-       pop      r14
-       pop      r15
        ret      
-                      ;; size=13 bbWeight=1 PerfScore 4.25
+                      ;; size=9 bbWeight=1 PerfScore 3.25
 G_M51277_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax rbx]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -105,7 +99,7 @@ G_M51277_IG12:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        jmp      SHORT G_M51277_IG06
                        ;; size=22 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 149, prolog size 15, PerfScore 71.88, instruction count 50, allocated bytes for code 149 (MethodHash=ae9237b2) for method Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
+; Total bytes of code 134, prolog size 11, PerfScore 22.62, instruction count 46, allocated bytes for code 134 (MethodHash=ae9237b2) for method Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -113,15 +107,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0C
-  CountOfUnwindCodes: 7
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 5
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0C UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
-    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
-    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
+    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
+    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
  
-40 (-8.06%) : 205015.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary2+KeyCollection[System.__Canon,System.Nullable1[int]]:Alldouble:ubyte:this (FullOpts)
@@ -8,65 +8,70 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T07] (  4,  4   )   byref  ->  rsi         this single-def
-;  V01 TypeCtx      [V01,T05] ( 11,  8.44)    long  ->  [rbp+0x18]  EH-live single-def
-;  V02 arg1         [V02,T04] (  4, 10   )     ref  ->  rbx         class-hnd single-def <System.Func`3[System.__Canon,double,ubyte]>
-;  V03 arg2         [V03,T21] (  3,  6   )  double  ->  mm6         single-def
-;  V04 loc0         [V04    ] (  5, 15   )  struct (56) [rbp-0x60]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+KeyCollection+Enumerator[System.__Canon,System.Nullable`1[int]]>
+;  V00 this         [V00,T12] (  4,  4   )   byref  ->  rsi         this single-def
+;  V01 TypeCtx      [V01,T04] ( 11,  8.44)    long  ->  [rbp+0x18]  EH-live single-def
+;  V02 arg1         [V02,T10] (  4,  3   )     ref  ->  rbx         class-hnd single-def <System.Func`3[System.__Canon,double,ubyte]>
+;  V03 arg2         [V03,T27] (  3,  2.50)  double  ->  [rbp+0x28]  single-def
+;  V04 loc0         [V04    ] (  5,  4.50)  struct (56) [rbp-0x50]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+KeyCollection+Enumerator[System.__Canon,System.Nullable`1[int]]>
 ;* V05 loc1         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.__Canon>
-;* V06 loc2         [V06,T19] (  0,  0   )   ubyte  ->  zero-ref    do-not-enreg[Z] EH-live
+;* V06 loc2         [V06,T25] (  0,  0   )   ubyte  ->  zero-ref    do-not-enreg[Z] EH-live
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V08 tmp1         [V08    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V09 tmp2         [V09    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V10 tmp3         [V10    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V11 tmp4         [V11    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V12 tmp5         [V12,T06] (  6,  8   )    long  ->   r8         "Indirect call through function pointer"
-;  V13 tmp6         [V13,T16] (  3,  4   )    long  ->   r8         "spilling helperCall"
+;  V12 tmp5         [V12,T11] (  6,  8   )    long  ->   r8         "Indirect call through function pointer"
+;  V13 tmp6         [V13,T21] (  3,  4   )    long  ->   r8         "spilling helperCall"
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (56) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+KeyCollection+Enumerator[System.__Canon,System.Nullable`1[int]]>
 ;* V15 tmp8         [V15    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V16 tmp9         [V16,T18] (  2,  4   )  struct (56) [rbp-0x98]  do-not-enreg[HS] must-init hidden-struct-arg "spilled call-like call argument" <Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Enumerator[System.__Canon,System.Nullable`1[int]]>
-;  V17 tmp10        [V17,T00] (  2, 32   )    long  ->  rdx         "argument with side effect"
-;  V18 tmp11        [V18,T02] (  2, 16   )    long  ->  rdx         "argument with side effect"
-;  V19 tmp12        [V19,T01] (  2, 16   )     ref  ->  rdx         "argument with side effect"
-;  V20 PSPSym       [V20,T20] (  1,  1   )    long  ->  [rbp-0xA0]  do-not-enreg[V] "PSPSym"
-;  V21 cse0         [V21,T03] (  3, 13   )    long  ->  rsi         hoist "CSE - aggressive"
-;  V22 rat0         [V22,T08] (  3,  5.60)    long  ->  rcx         "spilling expr"
-;  V23 rat1         [V23,T12] (  3,  4.48)    long  ->   r8         "fgMakeTemp is creating a new local variable"
-;  V24 rat2         [V24,T17] (  3,  4   )    long  ->  rsi         "runtime lookup"
-;  V25 rat3         [V25,T09] (  3,  5.60)    long  ->  rcx         "spilling expr"
-;  V26 rat4         [V26,T13] (  3,  4.48)    long  ->  rsi         "fgMakeTemp is creating a new local variable"
-;  V27 rat5         [V27,T10] (  3,  5.60)    long  ->  rcx         "spilling expr"
-;  V28 rat6         [V28,T14] (  3,  4.48)    long  ->   r8         "fgMakeTemp is creating a new local variable"
-;  V29 rat7         [V29,T11] (  3,  5.60)    long  ->  rcx         "spilling expr"
-;  V30 rat8         [V30,T15] (  3,  4.48)    long  ->   r8         "fgMakeTemp is creating a new local variable"
+;  V16 tmp9         [V16,T23] (  2,  4   )  struct (56) [rbp-0x88]  do-not-enreg[HS] must-init hidden-struct-arg "spilled call-like call argument" <Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Enumerator[System.__Canon,System.Nullable`1[int]]>
+;  V17 tmp10        [V17,T01] (  2,  4   )    long  ->  rdx         "argument with side effect"
+;  V18 tmp11        [V18,T07] (  2,  2   )    long  ->  rdx         "argument with side effect"
+;  V19 tmp12        [V19,T06] (  2,  2   )     ref  ->  rdx         "argument with side effect"
+;  V20 PSPSym       [V20,T26] (  1,  1   )    long  ->  [rbp-0x90]  do-not-enreg[V] "PSPSym"
+;  V21 cse0         [V21,T24] (  3,  2.50)    long  ->  rsi         hoist "CSE - aggressive"
+;  V22 rat0         [V22,T13] (  3,  5.60)    long  ->  rcx         "spilling expr"
+;  V23 rat1         [V23,T17] (  3,  4.48)    long  ->   r8         "fgMakeTemp is creating a new local variable"
+;  V24 rat2         [V24,T22] (  3,  4   )    long  ->  rsi         "runtime lookup"
+;  V25 rat3         [V25,T14] (  3,  5.60)    long  ->  rcx         "spilling expr"
+;  V26 rat4         [V26,T18] (  3,  4.48)    long  ->  rsi         "fgMakeTemp is creating a new local variable"
+;* V27 rat5         [V27,T09] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V28 rat6         [V28,T05] (  0,  0   )    long  ->  zero-ref    "spilling expr"
+;* V29 rat7         [V29,T08] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;* V30 rat8         [V30,T03] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V31 rat9         [V31,T00] (  0,  0   )    long  ->  zero-ref    "spilling expr"
+;* V32 rat10        [V32,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V33 rat11        [V33,T15] (  3,  5.60)    long  ->  rcx         "spilling expr"
+;  V34 rat12        [V34,T19] (  3,  4.48)    long  ->   r8         "fgMakeTemp is creating a new local variable"
+;  V35 rat13        [V35,T16] (  3,  5.60)    long  ->  rcx         "spilling expr"
+;  V36 rat14        [V36,T20] (  3,  4.48)    long  ->   r8         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 176
+; Lcl frame size = 160
 
 G_M7021_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     rsi
        push     rbx
-       sub      rsp, 176
+       sub      rsp, 160
        vzeroupper 
-       vmovaps  xmmword ptr [rsp+0xA0], xmm6
-       lea      rbp, [rsp+0xC0]
+       lea      rbp, [rsp+0xB0]
        xor      eax, eax
-       mov      qword ptr [rbp-0x98], rax
+       mov      qword ptr [rbp-0x88], rax
        vxorps   xmm4, xmm4, xmm4
-       vmovdqu  ymmword ptr [rbp-0x90], ymm4
-       vmovdqu  ymmword ptr [rbp-0x70], ymm4
-       vmovdqu  ymmword ptr [rbp-0x50], ymm4
-       mov      qword ptr [rbp-0x30], rax
-       mov      qword ptr [rbp-0xA0], rsp
-       mov      qword ptr [rbp-0x28], rdx
-       vmovaps  xmm6, xmm3
+       vmovdqu  ymmword ptr [rbp-0x80], ymm4
+       vmovdqu  ymmword ptr [rbp-0x60], ymm4
+       vmovdqu  ymmword ptr [rbp-0x40], ymm4
+       mov      qword ptr [rbp-0x20], rax
+       mov      qword ptr [rbp-0x90], rsp
+       mov      qword ptr [rbp-0x18], rdx
+       vmovsd   qword ptr [rbp+0x28], xmm3
        mov      qword ptr [rbp+0x18], rdx
        mov      rsi, rcx
        ; byrRegs +[rsi]
        mov      rax, rdx
        mov      rbx, r8
        ; gcrRegs +[rbx]
-                      ;; size=93 bbWeight=1 PerfScore 19.33
+                     ;; size=82 bbWeight=1 PerfScore 18.08
 G_M7021_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref, isz
        mov      rcx, qword ptr [rax+0x38]
        cmp      qword ptr [rcx+0x08], 40
@@ -91,16 +96,16 @@ G_M7021_IG06:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, b
        cmp      byte  ptr [rsi], sil
        mov      rcx, rsi
        ; byrRegs +[rcx]
-       lea      rdx, [rbp-0x98]
+       lea      rdx, [rbp-0x88]
        call     [Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[System.__Canon,System.Nullable`1[int]]:GetEnumerator():Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Enumerator[System.__Canon,System.Nullable`1[int]]:this]
        ; byrRegs -[rcx rsi]
        ; gcr arg pop 0
                        ;; size=19 bbWeight=1 PerfScore 6.75
 G_M7021_IG07:        ; bbWeight=1, nogc, extend
-       vmovdqu  ymm0, ymmword ptr [rbp-0x98]
-       vmovdqu  ymmword ptr [rbp-0x60], ymm0
-       vmovdqu  ymm0, ymmword ptr [rbp-0x80]
-       vmovdqu  ymmword ptr [rbp-0x48], ymm0
+       vmovdqu  ymm0, ymmword ptr [rbp-0x88]
+       vmovdqu  ymmword ptr [rbp-0x50], ymm0
+       vmovdqu  ymm0, ymmword ptr [rbp-0x70]
+       vmovdqu  ymmword ptr [rbp-0x38], ymm0
                        ;; size=23 bbWeight=1 PerfScore 10.00
 G_M7021_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rax, qword ptr [rbp+0x18]
@@ -127,15 +132,15 @@ G_M7021_IG11:        ; bbWeight=0.36, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
 G_M7021_IG12:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M7021_IG14
                        ;; size=2 bbWeight=1 PerfScore 2.00
-G_M7021_IG13:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M7021_IG13:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdx, rsi
-       lea      rcx, [rbp-0x60]
+       lea      rcx, [rbp-0x50]
        call     [Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+KeyCollection+Enumerator[System.__Canon,System.Nullable`1[int]]:get_Current():System.__Canon:this]
        ; gcrRegs +[rax]
        ; gcr arg pop 0
        mov      rdx, rax
        ; gcrRegs +[rdx]
-       vmovaps  xmm2, xmm6
+       vmovsd   xmm2, qword ptr [rbp+0x28]
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
        call     [rbx+0x18]<unknown method>
@@ -143,15 +148,15 @@ G_M7021_IG13:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byre
        ; gcr arg pop 0
        test     eax, eax
        je       SHORT G_M7021_IG20
-                       ;; size=31 bbWeight=4 PerfScore 42.00
-G_M7021_IG14:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                       ;; size=32 bbWeight=0.50 PerfScore 6.62
+G_M7021_IG14:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdx, rsi
-       lea      rcx, [rbp-0x60]
+       lea      rcx, [rbp-0x50]
        call     [Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+KeyCollection+Enumerator[System.__Canon,System.Nullable`1[int]]:MoveNext():ubyte:this]
        ; gcr arg pop 0
        test     eax, eax
        jne      SHORT G_M7021_IG13
-                       ;; size=17 bbWeight=8 PerfScore 40.00
+                     ;; size=17 bbWeight=1 PerfScore 5.00
 G_M7021_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx]
        mov      rax, qword ptr [rbp+0x18]
@@ -175,7 +180,7 @@ G_M7021_IG18:        ; bbWeight=0.36, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
        mov      r8, rax
                        ;; size=21 bbWeight=0.36 PerfScore 0.63
 G_M7021_IG19:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       lea      rcx, [rbp-0x60]
+       lea      rcx, [rbp-0x50]
        call     r8
        ; gcr arg pop 0
        jmp      SHORT G_M7021_IG24
@@ -192,35 +197,32 @@ G_M7021_IG22:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        xor      eax, eax
                        ;; size=2 bbWeight=1 PerfScore 0.25
 G_M7021_IG23:        ; bbWeight=1, epilog, nogc, extend
-       vmovaps  xmm6, xmmword ptr [rsp+0xA0]
-       add      rsp, 176
+       add      rsp, 160
        pop      rbx
        pop      rsi
        pop      rbp
        ret      
-                     ;; size=20 bbWeight=1 PerfScore 6.75
+                      ;; size=11 bbWeight=1 PerfScore 2.75
 G_M7021_IG24:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        mov      eax, 1
                        ;; size=5 bbWeight=1 PerfScore 0.25
 G_M7021_IG25:        ; bbWeight=1, epilog, nogc, extend
-       vmovaps  xmm6, xmmword ptr [rsp+0xA0]
-       add      rsp, 176
+       add      rsp, 160
        pop      rbx
        pop      rsi
        pop      rbp
        ret      
-                     ;; size=20 bbWeight=1 PerfScore 6.75
+                      ;; size=11 bbWeight=1 PerfScore 2.75
 G_M7021_IG26:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        push     rbp
        push     rsi
        push     rbx
-       sub      rsp, 64
+       sub      rsp, 48
        vzeroupper 
-       vmovaps  xmmword ptr [rsp+0x30], xmm6
        mov      rbp, qword ptr [rcx+0x20]
        mov      qword ptr [rsp+0x20], rbp
-       lea      rbp, [rbp+0xC0]
-                       ;; size=32 bbWeight=1 PerfScore 9.75
+       lea      rbp, [rbp+0xB0]
+                       ;; size=26 bbWeight=1 PerfScore 7.75
 G_M7021_IG27:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        mov      rax, qword ptr [rbp+0x18]
        mov      rcx, qword ptr [rax+0x38]
@@ -243,21 +245,20 @@ G_M7021_IG30:        ; bbWeight=0.36, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
        mov      r8, rax
                        ;; size=21 bbWeight=0.36 PerfScore 0.63
 G_M7021_IG31:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       lea      rcx, [rbp-0x60]
+       lea      rcx, [rbp-0x50]
        call     r8
        ; gcr arg pop 0
        nop      
                        ;; size=8 bbWeight=1 PerfScore 3.75
 G_M7021_IG32:        ; bbWeight=1, funclet epilog, nogc, extend
-       vmovaps  xmm6, xmmword ptr [rsp+0x30]
-       add      rsp, 64
+       add      rsp, 48
        pop      rbx
        pop      rsi
        pop      rbp
        ret      
-                     ;; size=14 bbWeight=1 PerfScore 6.75
+                      ;; size=8 bbWeight=1 PerfScore 2.75
 
-; Total bytes of code 496, prolog size 93, PerfScore 207.73, instruction count 131, allocated bytes for code 496 (MethodHash=865de492) for method Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+KeyCollection[System.__Canon,System.Nullable`1[int]]:All[double](System.Func`3[System.__Canon,double,ubyte],double):ubyte:this (FullOpts)
+; Total bytes of code 456, prolog size 82, PerfScore 122.11, instruction count 126, allocated bytes for code 456 (MethodHash=865de492) for method Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+KeyCollection[System.__Canon,System.Nullable`1[int]]:All[double](System.Func`3[System.__Canon,double,ubyte],double):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -265,15 +266,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
...
  
+33 (+94.29%) : 33297.dasm - System.Runtime.InteropServices.ComEventsSink:Find(System.Runtime.InteropServices.ComEventsSink,byref):System.Runtime.InteropServices.ComEventsSink (FullOpts)
@@ -8,15 +8,16 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T02] (  3,  3   )     ref  ->  rcx         class-hnd single-def <System.Runtime.InteropServices.ComEventsSink>
-;  V01 arg1         [V01,T01] (  3,  6   )   byref  ->  rdx         single-def
-;  V02 loc0         [V02,T00] (  6, 18   )     ref  ->  rcx         class-hnd <System.Runtime.InteropServices.ComEventsSink>
+;  V00 arg0         [V00,T01] (  3,  3   )     ref  ->  rcx         class-hnd single-def <System.Runtime.InteropServices.ComEventsSink>
+;  V01 arg1         [V01,T02] (  3,  2.50)   byref  ->  rdx         single-def
+;  V02 loc0         [V02,T00] ( 10, 20   )     ref  ->  rcx         class-hnd <System.Runtime.InteropServices.ComEventsSink>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SF] ld-addr-op "Inlining Arg" <System.Guid>
 ;* V05 tmp2         [V05    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SF] ld-addr-op "Inlining Arg" <System.Guid>
 ;* V06 tmp3         [V06    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V07 tmp4         [V07    ] (  0,  0   )  simd16  ->  zero-ref    "V04.[000..016)"
 ;* V08 tmp5         [V08    ] (  0,  0   )  simd16  ->  zero-ref    "V05.[000..016)"
+;  V09 cse0         [V09,T03] (  3,  5   )  simd16  ->  mm1         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -28,29 +29,48 @@ G_M31099_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0004 {rdx},
        ; byrRegs +[rdx]
        jmp      SHORT G_M31099_IG04
                        ;; size=2 bbWeight=1 PerfScore 2.00
-G_M31099_IG03:        ; bbWeight=2, gcrefRegs=0002 {rcx}, byrefRegs=0004 {rdx}, byref
+G_M31099_IG03:        ; bbWeight=0.25, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       ; byrRegs -[rdx]
        mov      rcx, gword ptr [rcx+0x18]
-                     ;; size=4 bbWeight=2 PerfScore 4.00
-G_M31099_IG04:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0004 {rdx}, byref, isz
+       jmp      SHORT G_M31099_IG08
+                       ;; size=6 bbWeight=0.25 PerfScore 1.00
+G_M31099_IG04:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0004 {rdx}, byref, isz
+       ; byrRegs +[rdx]
        test     rcx, rcx
-       je       SHORT G_M31099_IG06
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M31099_IG05:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0004 {rdx}, byref, isz
+       je       SHORT G_M31099_IG10
+                       ;; size=5 bbWeight=1 PerfScore 1.25
+G_M31099_IG05:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0004 {rdx}, byref, isz
        vmovups  xmm0, xmmword ptr [rcx+0x24]
-       vpcmpeqb k1, xmm0, xmmword ptr [rdx]
+       vmovups  xmm1, xmmword ptr [rdx]
+       vpcmpeqb k1, xmm0, xmm1
        kortestw k1, k1
        jae      SHORT G_M31099_IG03
-                      ;; size=17 bbWeight=4 PerfScore 36.00
-G_M31099_IG06:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
+                       ;; size=21 bbWeight=0.50 PerfScore 5.25
+G_M31099_IG06:        ; bbWeight=0.12, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        ; byrRegs -[rdx]
+       jmp      SHORT G_M31099_IG10
+                       ;; size=2 bbWeight=0.12 PerfScore 0.25
+G_M31099_IG07:        ; bbWeight=2, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
+       mov      rcx, gword ptr [rcx+0x18]
+                       ;; size=4 bbWeight=2 PerfScore 4.00
+G_M31099_IG08:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       test     rcx, rcx
+       je       SHORT G_M31099_IG10
+                       ;; size=5 bbWeight=8 PerfScore 10.00
+G_M31099_IG09:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       vpcmpeqb k1, xmm1, xmmword ptr [rcx+0x24]
+       kortestw k1, k1
+       jae      SHORT G_M31099_IG07
+                       ;; size=16 bbWeight=4 PerfScore 20.00
+G_M31099_IG10:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
        mov      rax, rcx
        ; gcrRegs +[rax]
                        ;; size=3 bbWeight=1 PerfScore 0.25
-G_M31099_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M31099_IG11:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
 
-; Total bytes of code 35, prolog size 3, PerfScore 54.25, instruction count 11, allocated bytes for code 37 (MethodHash=eaf58684) for method System.Runtime.InteropServices.ComEventsSink:Find(System.Runtime.InteropServices.ComEventsSink,byref):System.Runtime.InteropServices.ComEventsSink (FullOpts)
+; Total bytes of code 68, prolog size 3, PerfScore 46.00, instruction count 20, allocated bytes for code 72 (MethodHash=eaf58684) for method System.Runtime.InteropServices.ComEventsSink:Find(System.Runtime.InteropServices.ComEventsSink,byref):System.Runtime.InteropServices.ComEventsSink (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+33 (+94.29%) : 147047.dasm - System.Runtime.InteropServices.ComEventsSink:Find(System.Runtime.InteropServices.ComEventsSink,byref):System.Runtime.InteropServices.ComEventsSink (FullOpts)
@@ -8,15 +8,16 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T02] (  3,  3   )     ref  ->  rcx         class-hnd single-def <System.Runtime.InteropServices.ComEventsSink>
-;  V01 arg1         [V01,T01] (  3,  6   )   byref  ->  rdx         single-def
-;  V02 loc0         [V02,T00] (  6, 18   )     ref  ->  rcx         class-hnd <System.Runtime.InteropServices.ComEventsSink>
+;  V00 arg0         [V00,T01] (  3,  3   )     ref  ->  rcx         class-hnd single-def <System.Runtime.InteropServices.ComEventsSink>
+;  V01 arg1         [V01,T02] (  3,  2.50)   byref  ->  rdx         single-def
+;  V02 loc0         [V02,T00] ( 10, 20   )     ref  ->  rcx         class-hnd <System.Runtime.InteropServices.ComEventsSink>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SF] ld-addr-op "Inlining Arg" <System.Guid>
 ;* V05 tmp2         [V05    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SF] ld-addr-op "Inlining Arg" <System.Guid>
 ;* V06 tmp3         [V06    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V07 tmp4         [V07    ] (  0,  0   )  simd16  ->  zero-ref    "V04.[000..016)"
 ;* V08 tmp5         [V08    ] (  0,  0   )  simd16  ->  zero-ref    "V05.[000..016)"
+;  V09 cse0         [V09,T03] (  3,  5   )  simd16  ->  mm1         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -28,29 +29,48 @@ G_M31099_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0004 {rdx},
        ; byrRegs +[rdx]
        jmp      SHORT G_M31099_IG04
                        ;; size=2 bbWeight=1 PerfScore 2.00
-G_M31099_IG03:        ; bbWeight=2, gcrefRegs=0002 {rcx}, byrefRegs=0004 {rdx}, byref
+G_M31099_IG03:        ; bbWeight=0.25, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       ; byrRegs -[rdx]
        mov      rcx, gword ptr [rcx+0x18]
-                     ;; size=4 bbWeight=2 PerfScore 4.00
-G_M31099_IG04:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0004 {rdx}, byref, isz
+       jmp      SHORT G_M31099_IG08
+                       ;; size=6 bbWeight=0.25 PerfScore 1.00
+G_M31099_IG04:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0004 {rdx}, byref, isz
+       ; byrRegs +[rdx]
        test     rcx, rcx
-       je       SHORT G_M31099_IG06
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M31099_IG05:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0004 {rdx}, byref, isz
+       je       SHORT G_M31099_IG10
+                       ;; size=5 bbWeight=1 PerfScore 1.25
+G_M31099_IG05:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0004 {rdx}, byref, isz
        vmovups  xmm0, xmmword ptr [rcx+0x24]
-       vpcmpeqb k1, xmm0, xmmword ptr [rdx]
+       vmovups  xmm1, xmmword ptr [rdx]
+       vpcmpeqb k1, xmm0, xmm1
        kortestw k1, k1
        jae      SHORT G_M31099_IG03
-                      ;; size=17 bbWeight=4 PerfScore 36.00
-G_M31099_IG06:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
+                       ;; size=21 bbWeight=0.50 PerfScore 5.25
+G_M31099_IG06:        ; bbWeight=0.12, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        ; byrRegs -[rdx]
+       jmp      SHORT G_M31099_IG10
+                       ;; size=2 bbWeight=0.12 PerfScore 0.25
+G_M31099_IG07:        ; bbWeight=2, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
+       mov      rcx, gword ptr [rcx+0x18]
+                       ;; size=4 bbWeight=2 PerfScore 4.00
+G_M31099_IG08:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       test     rcx, rcx
+       je       SHORT G_M31099_IG10
+                       ;; size=5 bbWeight=8 PerfScore 10.00
+G_M31099_IG09:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       vpcmpeqb k1, xmm1, xmmword ptr [rcx+0x24]
+       kortestw k1, k1
+       jae      SHORT G_M31099_IG07
+                       ;; size=16 bbWeight=4 PerfScore 20.00
+G_M31099_IG10:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
        mov      rax, rcx
        ; gcrRegs +[rax]
                        ;; size=3 bbWeight=1 PerfScore 0.25
-G_M31099_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M31099_IG11:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
 
-; Total bytes of code 35, prolog size 3, PerfScore 54.25, instruction count 11, allocated bytes for code 37 (MethodHash=eaf58684) for method System.Runtime.InteropServices.ComEventsSink:Find(System.Runtime.InteropServices.ComEventsSink,byref):System.Runtime.InteropServices.ComEventsSink (FullOpts)
+; Total bytes of code 68, prolog size 3, PerfScore 46.00, instruction count 20, allocated bytes for code 72 (MethodHash=eaf58684) for method System.Runtime.InteropServices.ComEventsSink:Find(System.Runtime.InteropServices.ComEventsSink,byref):System.Runtime.InteropServices.ComEventsSink (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+34 (+125.93%) : 297669.dasm - System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
@@ -7,9 +7,9 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  5, 11   )     int  ->  rax        
-;  V01 arg1         [V01,T00] (  7, 19   )     int  ->   r8        
-;  V02 loc0         [V02,T02] (  2,  8   )     int  ->  rdx        
+;  V00 arg0         [V00,T01] (  7, 13   )     int  ->  registers  
+;  V01 arg1         [V01,T00] ( 11, 23   )     int  ->  registers  
+;  V02 loc0         [V02,T02] (  4, 10   )     int  ->  rdx        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -20,21 +20,43 @@ G_M22426_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=5 bbWeight=1 PerfScore 0.50
 G_M22426_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        test     r8d, r8d
-       je       SHORT G_M22426_IG04
-                       ;; size=5 bbWeight=1 PerfScore 1.25
-G_M22426_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M22426_IG08
        xor      edx, edx
        div      edx:eax, r8d
        mov      eax, r8d
        mov      r8d, edx
        test     r8d, r8d
-       jne      SHORT G_M22426_IG03
-                       ;; size=16 bbWeight=4 PerfScore 108.00
-G_M22426_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       je       SHORT G_M22426_IG07
+                       ;; size=21 bbWeight=1 PerfScore 28.25
+G_M22426_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       xor      edx, edx
+       div      edx:eax, r8d
+       mov      eax, edx
+       test     eax, eax
+       jne      SHORT G_M22426_IG06
+                       ;; size=11 bbWeight=4 PerfScore 107.00
+G_M22426_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      eax, r8d
+                       ;; size=3 bbWeight=1 PerfScore 0.25
+G_M22426_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
+G_M22426_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+       mov      ecx, eax
+       mov      eax, r8d
+       mov      r8d, ecx
+       jmp      SHORT G_M22426_IG03
+                       ;; size=10 bbWeight=2 PerfScore 5.50
+G_M22426_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      r8d, eax
+       jmp      SHORT G_M22426_IG04
+                       ;; size=5 bbWeight=0.50 PerfScore 1.12
+G_M22426_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      r8d, eax
+       jmp      SHORT G_M22426_IG04
+                       ;; size=5 bbWeight=0.50 PerfScore 1.12
 
-; Total bytes of code 27, prolog size 5, PerfScore 110.75, instruction count 11, allocated bytes for code 27 (MethodHash=f186a865) for method System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
+; Total bytes of code 61, prolog size 5, PerfScore 144.75, instruction count 25, allocated bytes for code 61 (MethodHash=f186a865) for method System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
libraries_tests.run.windows.x64.Release.mch
-47 (-10.73%) : 158068.dasm - Microsoft.CodeAnalysis.SyntaxNode:GetRedElementIfNotToken(byref):Microsoft.CodeAnalysis.SyntaxNode:this (Tier1)
@@ -9,34 +9,38 @@
 ; 5 inlinees with PGO data; 13 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] ( 12,  4.15)     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.SyntaxNode>
-;  V01 arg1         [V01,T02] (  5,  3.54)   byref  ->  rsi         single-def
-;  V02 loc0         [V02,T03] (  4,  3.27)     ref  ->  rdi         class-hnd <Microsoft.CodeAnalysis.SyntaxNode>
-;  V03 loc1         [V03,T08] (  5,  1.24)     ref  ->  rbp         class-hnd single-def <Microsoft.CodeAnalysis.GreenNode>
+;  V00 this         [V00,T00] ( 11,  3.83)     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.SyntaxNode>
+;  V01 arg1         [V01,T01] (  5,  3.54)   byref  ->  rsi         single-def
+;  V02 loc0         [V02,T02] (  4,  3.27)     ref  ->  rdi         class-hnd <Microsoft.CodeAnalysis.SyntaxNode>
+;  V03 loc1         [V03,T09] (  5,  1.24)     ref  ->  rbp         class-hnd single-def <Microsoft.CodeAnalysis.GreenNode>
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V05 tmp1         [V05,T06] (  3,  1.38)     ref  ->  r15         class-hnd single-def "impAppendStmt" <Microsoft.CodeAnalysis.SyntaxNode>
 ;* V06 tmp2         [V06    ] (  0,  0   )     int  ->  zero-ref    "spilling ret_expr"
 ;  V07 tmp3         [V07,T15] (  2,  0.55)     int  ->  rax         "guarded devirt return temp"
 ;* V08 tmp4         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.AccessorDeclarationSyntax>
-;  V09 tmp5         [V09,T13] (  6,  0.81)     int  ->  rdi         "guarded devirt return temp"
-;  V10 tmp6         [V10,T18] (  2,  0.48)     ref  ->  rcx         class-hnd exact single-def "guarded devirt this exact temp" <Microsoft.CodeAnalysis.Syntax.SyntaxList+WithTwoChildren>
-;  V11 tmp7         [V11,T14] (  3,  0.69)     ref  ->  rax         "guarded devirt return temp"
+;  V09 tmp5         [V09,T13] (  6,  0.81)     int  ->  r12         "guarded devirt return temp"
+;  V10 tmp6         [V10,T20] (  2,  0.48)     ref  ->  rcx         class-hnd exact single-def "guarded devirt this exact temp" <Microsoft.CodeAnalysis.Syntax.SyntaxList+WithTwoChildren>
+;  V11 tmp7         [V11,T14] (  3,  0.69)     ref  ->  r13         "guarded devirt return temp"
 ;* V12 tmp8         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.AccessorDeclarationSyntax>
 ;  V13 tmp9         [V13,T04] (  5,  1.84)     ref  ->  rcx         class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
-;  V14 tmp10        [V14,T16] (  3,  0.55)     ref  ->  rbp         "guarded devirt return temp"
+;  V14 tmp10        [V14,T17] (  3,  0.55)     ref  ->  rbp         "guarded devirt return temp"
 ;* V15 tmp11        [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList+WithTwoChildren>
-;  V16 tmp12        [V16,T00] (  8,  6.45)     int  ->  rdi         "Inlining Arg"
+;* V16 tmp12        [V16,T03] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V17 tmp13        [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
-;  V18 tmp14        [V18,T12] (  5,  1.00)     int  ->  r12         "Inline stloc first use temp"
-;  V19 tmp15        [V19,T10] (  5,  1.24)     ref  ->  r13         class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
+;  V18 tmp14        [V18,T16] (  4,  0.66)     int  ->  r12         "Inline stloc first use temp"
+;  V19 tmp15        [V19,T08] (  4,  0.51)     ref  ->  rcx         class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
 ;* V20 tmp16        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxNode>
 ;* V21 tmp17        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V22 tmp18        [V22,T11] (  4,  1.08)     ref  ->  rax         "guarded devirt return temp"
+;  V22 tmp18        [V22,T11] (  4,  0.32)     ref  ->  rax         "guarded devirt return temp"
 ;* V23 tmp19        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ClassDeclarationSyntax>
-;  V24 tmp20        [V24,T17] (  3,  0.48)     ref  ->  r13         class-hnd single-def "Inline return value spill temp" <Microsoft.CodeAnalysis.SyntaxNode>
-;  V25 tmp21        [V25,T09] (  5,  1.24)     ref  ->  rcx         class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.SyntaxNode>
-;  V26 tmp22        [V26,T05] (  5,  1.56)     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.AccessorDeclarationSyntax>
-;  V27 cse0         [V27,T07] (  5,  1.35)    long  ->  r14         "CSE - moderate"
+;  V24 tmp20        [V24,T19] (  3,  0.48)     ref  ->  r13         class-hnd single-def "Inline return value spill temp" <Microsoft.CodeAnalysis.SyntaxNode>
+;  V25 tmp21        [V25,T10] (  3,  0.60)     ref  ->  rax         class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.SyntaxNode>
+;  V26 tmp22        [V26,T05] (  5,  1.56)     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.AccessorDeclarationSyntax>
+;  V27 cse0         [V27,T18] (  2,  0.07)    long  ->  rax         "CSE - conservative"
+;  V28 cse1         [V28,T07] (  5,  1.35)    long  ->  r14         "CSE - moderate"
+;  V29 cse2         [V29,T21] (  3,  0.30)    long  ->  rdi         "CSE - conservative"
+;  V30 cse3         [V30,T22] (  2,  0.12)     int  ->  r12         "CSE - conservative"
+;  V31 cse4         [V31,T12] (  2,  0.26)    long  ->  rdx         "CSE - conservative"
 ;
 ; Lcl frame size = 40
 
@@ -59,7 +63,7 @@ G_M43159_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
        mov      rdi, gword ptr [rsi]
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       SHORT G_M43159_IG10
+       je       SHORT G_M43159_IG05
                      ;; size=8 bbWeight=1 PerfScore 3.25
 G_M43159_IG03:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
@@ -79,50 +83,21 @@ G_M43159_IG04:        ; bbWeight=1, epilog, nogc, extend
        pop      r15
        ret      
                        ;; size=17 bbWeight=1 PerfScore 5.25
-G_M43159_IG05:        ; bbWeight=0.12, gcVars=0000000000000000 {}, gcrefRegs=A028 {rbx rbp r13 r15}, byrefRegs=0040 {rsi}, gcvars, byref
-       ; gcrRegs -[rax rdi] +[rbx rbp r13 r15]
+G_M43159_IG05:        ; bbWeight=0.27, gcVars=0000000000000000 {}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi}, gcvars, byref, isz
+       ; gcrRegs -[rax] +[rbx]
        ; byrRegs +[rsi]
-       mov      rcx, r13
-       ; gcrRegs +[rcx]
-       mov      edx, edi
-       mov      rax, qword ptr [r13]
-       mov      rax, qword ptr [rax+0x50]
-       call     [rax+0x20]<unknown method>
-       ; gcrRegs -[rcx] +[rax]
-       ; gcr arg pop 0
-                       ;; size=16 bbWeight=0.12 PerfScore 0.89
-G_M43159_IG06:        ; bbWeight=0.44, gcrefRegs=A029 {rax rbx rbp r13 r15}, byrefRegs=0040 {rsi}, byref, isz
-       test     rax, rax
-       je       SHORT G_M43159_IG08
-                       ;; size=5 bbWeight=0.44 PerfScore 0.55
-G_M43159_IG07:        ; bbWeight=0.20, gcrefRegs=A029 {rax rbx rbp r13 r15}, byrefRegs=0040 {rsi}, byref
-       add      r12d, dword ptr [rax+0x08]
-                       ;; size=4 bbWeight=0.20 PerfScore 0.60
-G_M43159_IG08:        ; bbWeight=0.68, gcrefRegs=A028 {rbx rbp r13 r15}, byrefRegs=0040 {rsi}, byref
-       ; gcrRegs -[rax]
-       test     edi, edi
-       jg       G_M43159_IG16
-                       ;; size=8 bbWeight=0.68 PerfScore 0.85
-G_M43159_IG09:        ; bbWeight=0.24, gcrefRegs=8028 {rbx rbp r15}, byrefRegs=0040 {rsi}, byref
-       ; gcrRegs -[r13]
-       mov      edi, r12d
-       add      edi, dword ptr [rbx+0x20]
-       jmp      G_M43159_IG22
-                       ;; size=11 bbWeight=0.24 PerfScore 1.27
-G_M43159_IG10:        ; bbWeight=0.27, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi}, byref, isz
-       ; gcrRegs -[rbp r15] +[rdi]
        mov      rcx, gword ptr [rbx+0x18]
        ; gcrRegs +[rcx]
        mov      rdx, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList+WithTwoChildren
        cmp      qword ptr [rcx], rdx
-       jne      SHORT G_M43159_IG12
+       jne      SHORT G_M43159_IG07
                      ;; size=19 bbWeight=0.27 PerfScore 1.70
-G_M43159_IG11:        ; bbWeight=0.17, gcrefRegs=008A {rcx rbx rdi}, byrefRegs=0040 {rsi}, byref, isz
+G_M43159_IG06:        ; bbWeight=0.17, gcrefRegs=008A {rcx rbx rdi}, byrefRegs=0040 {rsi}, byref, isz
        mov      rbp, gword ptr [rcx+0x18]
        ; gcrRegs +[rbp]
-       jmp      SHORT G_M43159_IG13
+       jmp      SHORT G_M43159_IG08
                       ;; size=6 bbWeight=0.17 PerfScore 0.69
-G_M43159_IG12:        ; bbWeight=0.10, gcrefRegs=008A {rcx rbx rdi}, byrefRegs=0040 {rsi}, byref
+G_M43159_IG07:        ; bbWeight=0.10, gcrefRegs=008A {rcx rbx rdi}, byrefRegs=0040 {rsi}, byref
        ; gcrRegs -[rbp]
        mov      edx, 1
        mov      rax, qword ptr [rcx]
@@ -133,12 +108,12 @@ G_M43159_IG12:        ; bbWeight=0.10, gcrefRegs=008A {rcx rbx rdi}, byrefRegs=0
        mov      rbp, rax
        ; gcrRegs +[rbp]
                        ;; size=18 bbWeight=0.10 PerfScore 0.76
-G_M43159_IG13:        ; bbWeight=0.27, gcrefRegs=00A8 {rbx rbp rdi}, byrefRegs=0040 {rsi}, byref, isz
+G_M43159_IG08:        ; bbWeight=0.27, gcrefRegs=00A8 {rbx rbp rdi}, byrefRegs=0040 {rsi}, byref, isz
        ; gcrRegs -[rax]
        mov      r14, qword ptr [rbp]
        mov      rcx, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.AccessorDeclarationSyntax
        cmp      r14, rcx
-       je       SHORT G_M43159_IG14
+       je       SHORT G_M43159_IG09
        mov      rcx, rbp
        ; gcrRegs +[rcx]
        mov      rax, qword ptr [r14+0x50]
@@ -146,57 +121,136 @@ G_M43159_IG13:        ; bbWeight=0.27, gcrefRegs=00A8 {rbx rbp rdi}, byrefRegs=0
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M43159_IG03
-                       ;; size=36 bbWeight=0.27 PerfScore 2.73
-G_M43159_IG14:        ; bbWeight=0.27, gcrefRegs=0028 {rbx rbp}, byrefRegs=0040 {rsi}, byref, isz
+       jne      SHORT G_M43159_IG03
+                       ;; size=32 bbWeight=0.27 PerfScore 2.73
+G_M43159_IG09:        ; bbWeight=0.27, gcrefRegs=0028 {rbx rbp}, byrefRegs=0040 {rsi}, byref
        ; gcrRegs -[rdi]
        mov      r15, gword ptr [rbx+0x08]
        ; gcrRegs +[r15]
        mov      rcx, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.Syntax.SyntaxList+WithTwoChildren
        cmp      qword ptr [rbx], rcx
-       jne      SHORT G_M43159_IG21
-                       ;; size=19 bbWeight=0.27 PerfScore 1.68
-G_M43159_IG15:        ; bbWeight=0.24, gcrefRegs=8028 {rbx rbp r15}, byrefRegs=0040 {rsi}, byref
+       jne      G_M43159_IG22
+                       ;; size=23 bbWeight=0.27 PerfScore 1.68
+G_M43159_IG10:        ; bbWeight=0.24, gcrefRegs=8028 {rbx rbp r15}, byrefRegs=0040 {rsi}, byref
        mov      rcx, rbx
        ; gcrRegs +[rcx]
-       mov      edi, 1
        mov      r13, gword ptr [rcx+0x30]
        ; gcrRegs +[r13]
        test     r13, r13
-       jne      G_M43159_IG30
+       jne      G_M43159_IG23
        xor      r12d, r12d
-       mov      r13, gword ptr [rbx+0x18]
-                       ;; size=28 bbWeight=0.24 PerfScore 1.45
-G_M43159_IG16:        ; bbWeight=0.56, gcrefRegs=A028 {rbx rbp r13 r15}, byrefRegs=0040 {rsi}, byref
-       ; gcrRegs -[rcx]
-       dec      edi
-       jne      G_M43159_IG27
-                       ;; size=8 bbWeight=0.56 PerfScore 0.70
-G_M43159_IG17:        ; bbWeight=0.37, gcrefRegs=A028 {rbx rbp r13 r15}, byrefRegs=0040 {rsi}, byref
-       mov      rcx, gword ptr [rbx+0x28]
-       ; gcrRegs +[rcx]
-                       ;; size=4 bbWeight=0.37 PerfScore 0.75
-G_M43159_IG18:        ; bbWeight=0.56, gcrefRegs=A02A {rcx rbx rbp r13 r15}, byrefRegs=0040 {rsi}, byref, isz
-       test     rcx, rcx
-       jne      SHORT G_M43159_IG28
-                       ;; size=5 bbWeight=0.56 PerfScore 0.70
-G_M43159_IG19:        ; bbWeight=0.44, gcrefRegs=A028 {rbx rbp r13 r15}, byrefRegs=0040 {rsi}, byref
-       ; gcrRegs -[rcx]
-       mov      rcx, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ClassDeclarationSyntax
-       cmp      qword ptr [r13], rcx
-       jne      G_M43159_IG05
-                       ;; size=20 bbWeight=0.44 PerfScore 1.86
-G_M43159_IG20:        ; bbWeight=0.32, gcrefRegs=A028 {rbx rbp r13 r15}, byrefRegs=0040 {rsi}, byref
-       mov      rcx, r13
-       ; gcrRegs +[rcx]
-       mov      edx, edi
+       mov      rcx, gword ptr [rbx+0x18]
+       mov      rax, gword ptr [rbx+0x28]
+       ; gcrRegs +[rax]
+       test     rax, rax
+       jne      G_M43159_IG21
+                       ;; size=36 bbWeight=0.24 PerfScore 2.17
+G_M43159_IG11:        ; bbWeight=0.13, gcrefRegs=802A {rcx rbx rbp r15}, byrefRegs=0040 {rsi}, byref, isz
+       ; gcrRegs -[rax r13]
+       mov      rdi, qword ptr [rcx]
+       mov      rdx, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ClassDeclarationSyntax
+       cmp      rdi, rdx
+       jne      SHORT G_M43159_IG18
+                       ;; size=18 bbWeight=0.13 PerfScore 0.46
+G_M43159_IG12:        ; bbWeight=0.10, gcrefRegs=802A {rcx rbx rbp r15}, byrefRegs=0040 {rsi}, byref
+       xor      edx, edx
        call     [Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ClassDeclarationSyntax:GetSlot(int):Microsoft.CodeAnalysis.GreenNode:this]
        ; gcrRegs -[rcx] +[rax]
        ; gcr arg pop 0
-       jmp      G_M43159_IG06
-                       ;; size=16 bbWeight=0.32 PerfScore 1.76
-G_M43159_IG21:        ; bbWeight=0.03, gcrefRegs=8028 {rbx rbp r15}, byrefRegs=0040 {rsi}, byref
-       ; gcrRegs -[rax r13]
+                      ;; size=8 bbWeight=0.10 PerfScore 0.31
+G_M43159_IG13:        ; bbWeight=0.13, gcrefRegs=8029 {rax rbx rbp r15}, byrefRegs=0040 {rsi}, byref, isz
+       test     rax, rax
+       je       SHORT G_M43159_IG15
+                       ;; size=5 bbWeight=0.13 PerfScore 0.17
+G_M43159_IG14:        ; bbWeight=0.06, gcrefRegs=8029 {rax rbx rbp r15}, byrefRegs=0040 {rsi}, byref
+       mov      r12d, dword ptr [rax+0x08]
+                       ;; size=4 bbWeight=0.06 PerfScore 0.12
+G_M43159_IG15:        ; bbWeight=0.24, gcrefRegs=8028 {rbx rbp r15}, byrefRegs=0040 {rsi}, byref
+       ; gcrRegs -[rax]
+       add      r12d, dword ptr [rbx+0x20]
+                       ;; size=4 bbWeight=0.24 PerfScore 0.72
+G_M43159_IG16:        ; bbWeight=0.27, gcrefRegs=8020 {rbp r15}, byrefRegs=0040 {rsi}, byref, isz
+       ; gcrRegs -[rbx]
+       mov      rcx, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.AccessorDeclarationSyntax
+       cmp      r14, rcx
+       jne      SHORT G_M43159_IG19
+                       ;; size=15 bbWeight=0.27 PerfScore 0.40
+G_M43159_IG17:        ; bbWeight=0.16, gcrefRegs=8020 {rbp r15}, byrefRegs=0040 {rsi}, byref, isz
+       mov      rcx, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Syntax.AccessorDeclarationSyntax
+       call     CORINFO_HELP_NEWSFAST
+       ; gcrRegs +[rax]
+       ; gcr arg pop 0
+       mov      r13, rax
+       ; gcrRegs +[r13]
+       mov      dword ptr [r13+0x20], r12d
+       lea      rcx, bword ptr [r13+0x18]
+       ; byrRegs +[rcx]
+       mov      rdx, rbp
+       ; gcrRegs +[rdx]
+       call     CORINFO_HELP_ASSIGN_REF
+       ; gcrRegs -[rax rdx rbp]
+       ; byrRegs -[rcx]
+       lea      rcx, bword ptr [r13+0x08]
+       ; byrRegs +[rcx]
+       mov      rdx, r15
+       ; gcrRegs +[rdx]
...
  
-23 (-8.39%) : 504869.dasm - System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (Tier1)
@@ -13,63 +13,48 @@
 ;  V02 OutArgs      [V02    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V03 tmp1         [V03,T06] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V04 tmp2         [V04,T07] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V05 tmp3         [V05,T02] (  2, 10.31)     int  ->  rdi         "Inlining Arg"
-;  V06 tmp4         [V06,T01] (  2, 10.31)     ref  ->  rbp         class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.KeySizes[]>
-;  V07 tmp5         [V07    ] (  2,  4.66)   ubyte  ->  [rsp+0x28]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V05 tmp3         [V05,T02] (  2,  4   )     int  ->  rcx         "Inlining Arg"
+;  V06 tmp4         [V06,T01] (  2,  4   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.KeySizes[]>
+;  V07 tmp5         [V07    ] (  2,  1.50)   ubyte  ->  [rsp+0x20]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V08 tmp6         [V08,T05] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp7         [V09,T00] (  5, 17.64)     int  ->  r14         "Inline stloc first use temp"
+;* V09 tmp7         [V09,T00] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T08] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V11 tmp9         [V11,T09] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V12 tmp10        [V12,T10] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V13 tmp11        [V13,T11] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;
-; Lcl frame size = 48
+; Lcl frame size = 40
 
 G_M39649_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-       push     r14
-       push     rdi
        push     rsi
-       push     rbp
        push     rbx
-       sub      rsp, 48
+       sub      rsp, 40
        mov      rsi, rcx
        ; gcrRegs +[rsi]
        mov      rbx, rdx
        ; gcrRegs +[rbx]
-                      ;; size=16 bbWeight=1 PerfScore 5.75
+                      ;; size=12 bbWeight=1 PerfScore 2.75
 G_M39649_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        test     rbx, rbx
-       je       SHORT G_M39649_IG08
-       mov      edi, dword ptr [rbx+0x08]
-       shl      edi, 3
+       je       SHORT G_M39649_IG07
+       mov      ecx, dword ptr [rbx+0x08]
+       shl      ecx, 3
        mov      rdx, 0xD1FFAB1E      ; const ptr
-       mov      rbp, gword ptr [rdx]
-       ; gcrRegs +[rbp]
-       xor      r14d, r14d
-                       ;; size=27 bbWeight=1 PerfScore 6.25
-G_M39649_IG03:        ; bbWeight=4.16, gcrefRegs=0068 {rbx rbp rsi}, byrefRegs=0000 {}, byref, isz
-       mov      edx, r14d
-       mov      rdx, gword ptr [rbp+8*rdx+0x10]
+       mov      rdx, gword ptr [rdx]
        ; gcrRegs +[rdx]
-       lea      r8, [rsp+0x28]
-       mov      ecx, edi
+       mov      rdx, gword ptr [rdx+0x10]
+       lea      r8, [rsp+0x20]
        call     [System.Security.Cryptography.KeySizeHelpers:IsLegalSize(int,System.Security.Cryptography.KeySizes,byref):ubyte]
        ; gcrRegs -[rdx]
        ; gcr arg pop 0
        test     eax, eax
-       jne      SHORT G_M39649_IG06
-                       ;; size=25 bbWeight=4.16 PerfScore 30.13
-G_M39649_IG04:        ; bbWeight=4.16, gcrefRegs=0068 {rbx rbp rsi}, byrefRegs=0000 {}, byref, isz
-       inc      r14d
-       test     r14d, r14d
-       jle      SHORT G_M39649_IG03
-                       ;; size=8 bbWeight=4.16 PerfScore 6.24
-G_M39649_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rbx rbp rsi]
-       mov      byte  ptr [rsp+0x28], 0
-       jmp      SHORT G_M39649_IG09
-                       ;; size=7 bbWeight=0.50 PerfScore 1.50
-G_M39649_IG06:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+       jne      SHORT G_M39649_IG04
+                       ;; size=43 bbWeight=1 PerfScore 12.75
+G_M39649_IG03:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rbx rsi]
+       jmp      SHORT G_M39649_IG06
+                       ;; size=2 bbWeight=1.00 PerfScore 2.00
+G_M39649_IG04:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx rsi]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
@@ -77,7 +62,7 @@ G_M39649_IG06:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
-       jne      SHORT G_M39649_IG10
+       jne      SHORT G_M39649_IG09
        mov      rcx, rsi
        ; gcrRegs +[rcx]
        mov      rdx, rbx
@@ -87,16 +72,17 @@ G_M39649_IG06:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
        ; gcr arg pop 0
        nop      
                        ;; size=26 bbWeight=1 PerfScore 8.25
-G_M39649_IG07:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 48
+G_M39649_IG05:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 40
        pop      rbx
-       pop      rbp
        pop      rsi
-       pop      rdi
-       pop      r14
        ret      
-                      ;; size=11 bbWeight=1 PerfScore 3.75
-G_M39649_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                      ;; size=7 bbWeight=1 PerfScore 2.25
+G_M39649_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+       mov      byte  ptr [rsp+0x20], 0
+       jmp      SHORT G_M39649_IG08
+                       ;; size=7 bbWeight=0.50 PerfScore 1.50
+G_M39649_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      ecx, 0x4471
        mov      rdx, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
@@ -109,7 +95,7 @@ G_M39649_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        ; gcr arg pop 0
        int3     
                        ;; size=30 bbWeight=0 PerfScore 0.00
-G_M39649_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M39649_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, 0xD1FFAB1E      ; <unknown class>
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
@@ -131,7 +117,7 @@ G_M39649_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx rbx]
        ; gcr arg pop 0
                        ;; size=44 bbWeight=0 PerfScore 0.00
-G_M39649_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M39649_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, 0xD1FFAB1E      ; <unknown class>
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
@@ -168,7 +154,7 @@ G_M39649_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=80 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 274, prolog size 10, PerfScore 61.87, instruction count 74, allocated bytes for code 274 (MethodHash=dd70651e) for method System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (Tier1)
+; Total bytes of code 251, prolog size 6, PerfScore 29.50, instruction count 63, allocated bytes for code 251 (MethodHash=dd70651e) for method System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -176,14 +162,11 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0A
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x06
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0A UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
-    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
  
-38 (-8.28%) : 632985.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex28201_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
@@ -8,95 +8,90 @@
 ; 5 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] ( 28,129.00)     ref  ->  rbx         class-hnd single-def <System.Text.RegularExpressions.RegexRunner>
-;  V01 arg1         [V01,T26] (  3,  6   )   byref  ->  rdx         single-def
+;  V00 arg0         [V00,T00] ( 28, 22.25)     ref  ->  rbx         class-hnd single-def <System.Text.RegularExpressions.RegexRunner>
+;  V01 arg1         [V01,T02] (  3,  6   )   byref  ->  rdx         single-def
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T02] (  9, 58   )     int  ->  rsi         single-def
-;  V04 loc2         [V04,T30] (  2,  2   )     int  ->  rsi         single-def
+;  V03 loc1         [V03,T01] (  9,  9   )     int  ->  rsi         single-def
+;  V04 loc2         [V04,T23] (  2,  2   )     int  ->  rsi         single-def
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V06 loc4         [V06,T00] ( 26,201   )     int  ->  rdi        
+;* V06 loc4         [V06,T03] (  0,  0   )     int  ->  zero-ref   
 ;* V07 loc5         [V07    ] (  0,  0   )     int  ->  zero-ref   
 ;* V08 loc6         [V08    ] (  0,  0   )     int  ->  zero-ref   
-;* V09 loc7         [V09,T17] (  0,  0   )     int  ->  zero-ref   
-;  V10 loc8         [V10,T08] (  4, 32   )     int  ->  rbp        
-;* V11 loc9         [V11,T27] (  0,  0   )     int  ->  zero-ref   
-;  V12 loc10        [V12,T21] (  2, 16.00)     int  ->  r14        
+;* V09 loc7         [V09,T24] (  0,  0   )     int  ->  zero-ref   
+;* V10 loc8         [V10,T25] (  0,  0   )     int  ->  zero-ref   
+;* V11 loc9         [V11,T31] (  0,  0   )     int  ->  zero-ref   
+;  V12 loc10        [V12,T26] (  2,  2.00)     int  ->  rdi        
 ;* V13 loc11        [V13    ] (  0,  0   )     int  ->  zero-ref   
 ;* V14 loc12        [V14    ] (  0,  0   )     int  ->  zero-ref   
 ;  V15 OutArgs      [V15    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V16 tmp1         [V16,T03] (  3, 48   )     ref  ->  rcx         class-hnd "impAppendStmt" <<unknown class>>
-;  V17 tmp2         [V17,T14] (  2, 32   )     int  ->   r8         "Strict ordering of exceptions for Array store"
+;  V16 tmp1         [V16,T04] (  3,  6   )     ref  ->  rcx         class-hnd "impAppendStmt" <<unknown class>>
+;  V17 tmp2         [V17,T16] (  2,  4   )     int  ->   r8         "Strict ordering of exceptions for Array store"
 ;* V18 tmp3         [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V19 tmp4         [V19    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp5         [V20    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V21 tmp6         [V21,T22] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V22 tmp7         [V22,T23] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V21 tmp6         [V21,T27] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V22 tmp7         [V22,T28] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp8         [V23    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V24 tmp9         [V24,T09] (  4, 32.00)     int  ->  rcx         "Inline stloc first use temp"
-;  V25 tmp10        [V25,T04] (  3, 48.00)     ref  ->   r9         class-hnd "impAppendStmt" <<unknown class>>
-;* V26 tmp11        [V26,T24] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V27 tmp12        [V27,T20] (  2, 18   )     int  ->  rbp         "Inlining Arg"
+;  V24 tmp9         [V24,T10] (  4,  4.00)     int  ->  rcx         "Inline stloc first use temp"
+;  V25 tmp10        [V25,T05] (  3,  6.00)     ref  ->   r9         class-hnd "impAppendStmt" <<unknown class>>
+;* V26 tmp11        [V26,T29] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V27 tmp12        [V27,T17] (  2,  4.00)     int  ->  rsi         "Inlining Arg"
 ;* V28 tmp13        [V28    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline stloc first use temp"
-;  V29 tmp14        [V29,T29] (  4,  4.00)     int  ->  rcx         single-def "Inline stloc first use temp"
-;  V30 tmp15        [V30,T28] (  3,  6.00)     ref  ->   r9         class-hnd single-def "impAppendStmt" <<unknown class>>
+;  V29 tmp14        [V29,T11] (  4,  4.00)     int  ->  rcx         single-def "Inline stloc first use temp"
+;  V30 tmp15        [V30,T06] (  3,  6.00)     ref  ->   r9         class-hnd single-def "impAppendStmt" <<unknown class>>
 ;* V31 tmp16        [V31    ] (  0,  0   )   byref  ->  zero-ref    "field V01._reference (fldOffset=0x0)" P-INDEP
 ;* V32 tmp17        [V32    ] (  0,  0   )     int  ->  zero-ref    "field V01._length (fldOffset=0x8)" P-INDEP
 ;* V33 tmp18        [V33    ] (  0,  0   )   byref  ->  zero-ref    "field V02._reference (fldOffset=0x0)" P-INDEP
-;  V34 tmp19        [V34,T25] (  3, 10   )     int  ->  rcx         single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;  V34 tmp19        [V34,T20] (  3,  3   )     int  ->  rcx         single-def "field V02._length (fldOffset=0x8)" P-INDEP
 ;* V35 tmp20        [V35    ] (  0,  0   )   byref  ->  zero-ref    "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V36 tmp21        [V36    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V37 tmp22        [V37    ] (  0,  0   )   byref  ->  zero-ref    "field V18._reference (fldOffset=0x0)" P-INDEP
 ;* V38 tmp23        [V38    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
 ;* V39 tmp24        [V39    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref" <System.ReadOnlySpan`1[ushort]>
-;  V40 tmp25        [V40,T11] (  2, 32   )     ref  ->  rcx         "arr expr"
-;  V41 tmp26        [V41,T12] (  2, 32   )     ref  ->  rcx         "arr expr"
-;  V42 tmp27        [V42,T05] (  3, 48.00)     ref  ->  rax         "arr expr"
-;  V43 tmp28        [V43,T13] (  2, 32.00)     ref  ->  rcx         "arr expr"
-;  V44 tmp29        [V44,T06] (  3, 48   )     ref  ->  rcx         "arr expr"
-;  V45 cse0         [V45,T07] (  6, 42   )     ref  ->  rdx         "CSE - aggressive"
-;  V46 cse1         [V46,T15] (  3, 24.00)     ref  ->  rcx         "CSE - moderate"
-;  V47 cse2         [V47,T16] (  3, 24   )     ref  ->  rax         "CSE - moderate"
-;  V48 cse3         [V48,T18] (  3, 24   )     int  ->  r10         "CSE - moderate"
-;  V49 cse4         [V49,T10] (  4, 32   )     int  ->   r9         "CSE - moderate"
-;  V50 cse5         [V50,T19] (  3, 24.00)     int  ->  rdx         "CSE - moderate"
+;  V40 tmp25        [V40,T13] (  2,  4   )     ref  ->  rcx         "arr expr"
+;  V41 tmp26        [V41,T14] (  2,  4   )     ref  ->  rcx         "arr expr"
+;  V42 tmp27        [V42,T07] (  3,  6.00)     ref  ->  rax         "arr expr"
+;  V43 tmp28        [V43,T15] (  2,  4.00)     ref  ->  rcx         "arr expr"
+;  V44 tmp29        [V44,T08] (  3,  6.00)     ref  ->  rcx         "arr expr"
+;  V45 cse0         [V45,T09] (  6,  5.25)     ref  ->  rdx         "CSE - moderate"
+;  V46 cse1         [V46,T18] (  3,  3.00)     ref  ->  rcx         "CSE - moderate"
+;  V47 cse2         [V47,T19] (  3,  3   )     ref  ->  rax         "CSE - moderate"
+;  V48 cse3         [V48,T21] (  3,  3   )     int  ->  r10         "CSE - moderate"
+;  V49 cse4         [V49,T30] (  6,  1.50)   byref  ->  rcx         multi-def "CSE - moderate"
+;  V50 cse5         [V50,T12] (  4,  4   )     int  ->   r9         "CSE - moderate"
+;  V51 cse6         [V51,T22] (  3,  3.00)     int  ->  rdx         "CSE - moderate"
 ;
 ; Lcl frame size = 32
 
 G_M50926_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-       push     r14
        push     rdi
        push     rsi
-       push     rbp
        push     rbx
        sub      rsp, 32
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=13 bbWeight=1 PerfScore 5.50
-G_M50926_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref
+                        ;; size=10 bbWeight=1 PerfScore 3.50
+G_M50926_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref, isz
        ; byrRegs +[rdx]
        mov      ecx, dword ptr [rdx+0x08]
        mov      esi, dword ptr [rbx+0x4C]
-       xor      edi, edi
        cmp      esi, ecx
-       ja       G_M50926_IG16
-                       ;; size=16 bbWeight=1 PerfScore 5.50
-G_M50926_IG03:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       ; byrRegs -[rdx]
+       ja       G_M50926_IG15
        sub      ecx, esi
        not      ecx
        shr      ecx, 31
        call     [<unknown method>]
+       ; byrRegs -[rdx]
        ; gcr arg pop 0
-       xor      ebp, ebp
        mov      rdx, gword ptr [rbx+0x18]
        ; gcrRegs +[rdx]
        mov      edx, dword ptr [rdx+0x08]
        ; gcrRegs -[rdx]
        add      edx, -2
-       cmp      edx, edi
-       jg       SHORT G_M50926_IG05
-                       ;; size=29 bbWeight=8 PerfScore 78.00
-G_M50926_IG04:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       test     edx, edx
+       jg       SHORT G_M50926_IG04
+                       ;; size=41 bbWeight=1 PerfScore 14.75
+G_M50926_IG03:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdx, gword ptr [rbx+0x18]
        ; gcrRegs +[rdx]
        mov      edx, dword ptr [rdx+0x08]
@@ -107,8 +102,8 @@ G_M50926_IG04:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        call     [System.Array:Resize[int](byref,int)]
        ; byrRegs -[rcx]
        ; gcr arg pop 0
-                       ;; size=19 bbWeight=2 PerfScore 15.50
-G_M50926_IG05:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=19 bbWeight=0.25 PerfScore 1.94
+G_M50926_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdx, gword ptr [rbx+0x18]
        ; gcrRegs +[rdx]
        mov      rcx, rdx
@@ -119,33 +114,27 @@ G_M50926_IG05:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      r10d, dword ptr [rbx+0x58]
        sub      r8d, r10d
        mov      r9d, dword ptr [rcx+0x08]
-       cmp      edi, r9d
-       jae      G_M50926_IG15
-       mov      r11d, edi
-       mov      dword ptr [rcx+4*r11+0x10], r8d
-       inc      edi
+       test     r9d, r9d
+       je       G_M50926_IG14
+       mov      dword ptr [rcx+0x10], r8d
        mov      rcx, rdx
-       cmp      edi, r9d
-       jae      G_M50926_IG15
-       mov      r8d, edi
-       mov      dword ptr [rcx+4*r8+0x10], ebp
-       inc      edi
+       cmp      r9d, 1
+       jbe      G_M50926_IG14
+       xor      r8d, r8d
+       mov      dword ptr [rcx+0x14], r8d
        mov      rcx, rdx
-       cmp      edi, r9d
-       jae      G_M50926_IG15
-       mov      r8d, edi
-       mov      dword ptr [rcx+4*r8+0x10], esi
-       inc      edi
-       mov      ebp, esi
-       mov      r14d, dword ptr [rax+0x08]
-       sub      r14d, r10d
+       cmp      r9d, 2
+       jbe      G_M50926_IG14
+       mov      dword ptr [rcx+0x18], esi
+       mov      edi, dword ptr [rax+0x08]
+       sub      edi, r10d
        mov      ecx, dword ptr [rdx+0x08]
        ; gcrRegs -[rcx]
        dec      ecx
-       cmp      ecx, edi
-       jg       SHORT G_M50926_IG07
-                       ;; size=107 bbWeight=8 PerfScore 202.00
-G_M50926_IG06:        ; bbWeight=2, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref
+       cmp      ecx, 3
+       jg       SHORT G_M50926_IG06
+                       ;; size=91 bbWeight=1 PerfScore 23.75
+G_M50926_IG05:        ; bbWeight=0.25, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax]
        mov      edx, dword ptr [rdx+0x08]
        ; gcrRegs -[rdx]
@@ -155,36 +144,31 @@ G_M50926_IG06:        ; bbWeight=2, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {},
        call     [System.Array:Resize[int](byref,int)]
        ; byrRegs -[rcx]
        ; gcr arg pop 0
-                       ;; size=15 bbWeight=2 PerfScore 11.50
-G_M50926_IG07:        ; bbWeight=8.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+                        ;; size=15 bbWeight=0.25 PerfScore 1.44
+G_M50926_IG06:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rbx+0x18]
        ; gcrRegs +[rcx]
        mov      rax, rcx
        ; gcrRegs +[rax]
        mov      edx, dword ptr [rax+0x08]
-       cmp      edi, edx
-       jae      G_M50926_IG15
-       mov      r8d, edi
-       mov      dword ptr [rax+4*r8+0x10], esi
-       inc      edi
-       cmp      edi, edx
-       jae      G_M50926_IG15
-       mov      eax, edi
-       ; gcrRegs -[rax]
-       mov      dword ptr [rcx+4*rax+0x10], r14d
-       inc      edi
+       cmp      edx, 3
+       jbe      G_M50926_IG14
+       mov      dword ptr [rax+0x1C], esi
+       cmp      edx, 4
+       jbe      G_M50926_IG14
+       mov      dword ptr [rcx+0x20], edi
        cmp      dword ptr [rbx+0x58], 0
        je       G_M50926_IG13
-                        ;; size=55 bbWeight=8.00 PerfScore 110.00
-G_M50926_IG08:        ; bbWeight=8.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rcx]
+                      ;; size=44 bbWeight=1.00 PerfScore 12.75
+G_M50926_IG07:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax rcx]
        mov      r9, gword ptr [rbx+0x20]
        ; gcrRegs +[r9]
        mov      ecx, dword ptr [rbx+0x58]
        dec      ecx
        mov      dword ptr [rbx+0x58], ecx
        cmp      ecx, dword ptr [r9+0x08]
-       jae      G_M50926_IG15
+       jae      G_M50926_IG14
        mov      dword ptr [r9+4*rcx+0x10], 1
        xor      r9d, r9d
        ; gcrRegs -[r9]
@@ -198,10 +182,10 @@ G_M50926_IG08:        ; bbWeight=8.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
        mov      rdx, gword ptr [rbx+0x18]
        ; gcrRegs +[rdx]
...
  
+32 (+82.05%) : 85164.dasm - System.Collections.Immutable.ImmutableList1+Node[System.ValueTuple3[int,int,System.__Canon]]:ItemRefUnchecked(int):byref:this (Tier1)
@@ -8,32 +8,34 @@
 ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 3996
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  7,  6.09)     ref  ->  rcx         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[System.ValueTuple`3[int,int,System.__Canon]]>
-;  V01 arg1         [V01,T01] (  6,  5.38)     int  ->  rdx        
+;  V00 this         [V00,T00] ( 11,  7.65)     ref  ->  rcx         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[System.ValueTuple`3[int,int,System.__Canon]]>
+;  V01 arg1         [V01,T01] ( 10,  7.08)     int  ->  rdx        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T06] (  2,  0.53)     int  ->  rdx         "arg temp"
-;  V04 tmp2         [V04,T05] (  2,  0.53)     ref  ->  rcx         single-def "arg temp"
-;  V05 tmp3         [V05,T04] (  2,  3.38)     ref  ->  rcx         single-def "arg temp"
+;  V03 tmp1         [V03,T08] (  4,  0.80)     int  ->  rdx         "arg temp"
+;  V04 tmp2         [V04,T07] (  4,  0.80)     ref  ->  rcx         "arg temp"
+;  V05 tmp3         [V05,T03] (  4,  5.09)     ref  ->  rcx         "arg temp"
 ;  V06 cse0         [V06,T02] (  4,  5.22)     int  ->   r8         "CSE - aggressive"
-;  V07 cse1         [V07,T03] (  3,  4.80)     ref  ->  rax         "CSE - aggressive"
+;  V07 cse1         [V07,T05] (  4,  2.64)     int  ->   r8         "CSE - aggressive"
+;  V08 cse2         [V08,T04] (  3,  4.80)     ref  ->  rax         "CSE - aggressive"
+;  V09 cse3         [V09,T06] (  3,  2.43)     ref  ->  rax         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M47709_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
                        ;; size=0 bbWeight=1 PerfScore 0.00
-G_M47709_IG02:        ; bbWeight=1.98, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+G_M47709_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rcx]
        mov      rax, gword ptr [rcx+0x08]
        ; gcrRegs +[rax]
        mov      r8d, dword ptr [rax+0x18]
        cmp      edx, r8d
-       jl       SHORT G_M47709_IG06
-                       ;; size=13 bbWeight=1.98 PerfScore 10.38
-G_M47709_IG03:        ; bbWeight=1.13, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       jl       SHORT G_M47709_IG11
+                       ;; size=13 bbWeight=1 PerfScore 5.25
+G_M47709_IG03:        ; bbWeight=0.57, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
        cmp      edx, r8d
-       jg       SHORT G_M47709_IG07
-                       ;; size=5 bbWeight=1.13 PerfScore 1.42
+       jg       SHORT G_M47709_IG06
+                       ;; size=5 bbWeight=0.57 PerfScore 0.72
 G_M47709_IG04:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
        lea      rax, bword ptr [rcx+0x20]
        ; byrRegs +[rax]
@@ -41,22 +43,44 @@ G_M47709_IG04:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
 G_M47709_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
-G_M47709_IG06:        ; bbWeight=0.84, gcVars=0000000000000000 {}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; gcrRegs -[rcx] +[rax]
+G_M47709_IG06:        ; bbWeight=0.07, gcVars=0000000000000000 {}, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, gcvars, byref
        ; byrRegs -[rax]
-       mov      rcx, rax
-       ; gcrRegs +[rcx]
-       jmp      SHORT G_M47709_IG02
-                       ;; size=5 bbWeight=0.84 PerfScore 1.90
-G_M47709_IG07:        ; bbWeight=0.13, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
        sub      edx, r8d
        dec      edx
        mov      rcx, gword ptr [rcx+0x10]
-       jmp      SHORT G_M47709_IG02
+                       ;; size=9 bbWeight=0.07 PerfScore 0.17
+G_M47709_IG07:        ; bbWeight=1.98, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       mov      rax, gword ptr [rcx+0x08]
+       ; gcrRegs +[rax]
+       mov      r8d, dword ptr [rax+0x18]
+       cmp      edx, r8d
+       jl       SHORT G_M47709_IG10
+                       ;; size=13 bbWeight=1.98 PerfScore 10.38
+G_M47709_IG08:        ; bbWeight=1.13, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
+       cmp      edx, r8d
+       jle      SHORT G_M47709_IG04
+                       ;; size=5 bbWeight=1.13 PerfScore 1.42
+G_M47709_IG09:        ; bbWeight=0.13, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       sub      edx, r8d
+       dec      edx
+       mov      rcx, gword ptr [rcx+0x10]
+       jmp      SHORT G_M47709_IG07
                         ;; size=11 bbWeight=0.13 PerfScore 0.60
+G_M47709_IG10:        ; bbWeight=0.84, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rcx] +[rax]
+       mov      rcx, rax
+       ; gcrRegs +[rcx]
+       jmp      SHORT G_M47709_IG07
+                       ;; size=5 bbWeight=0.84 PerfScore 1.90
+G_M47709_IG11:        ; bbWeight=0.43, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rcx]
+       mov      rcx, rax
+       ; gcrRegs +[rcx]
+       jmp      SHORT G_M47709_IG07
+                       ;; size=5 bbWeight=0.43 PerfScore 0.96
 
-; Total bytes of code 39, prolog size 0, PerfScore 15.79, instruction count 14, allocated bytes for code 39 (MethodHash=92a645a2) for method System.Collections.Immutable.ImmutableList`1+Node[System.ValueTuple`3[int,int,System.__Canon]]:ItemRefUnchecked(int):byref:this (Tier1)
+; Total bytes of code 71, prolog size 0, PerfScore 22.89, instruction count 25, allocated bytes for code 71 (MethodHash=92a645a2) for method System.Collections.Immutable.ImmutableList`1+Node[System.ValueTuple`3[int,int,System.__Canon]]:ItemRefUnchecked(int):byref:this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+37 (+92.50%) : 50239.dasm - System.Collections.Immutable.ImmutableList1+Node[System.ValueTuple3[int,int,System.__Canon]]:ItemRefUnchecked(int):byref:this (Tier1)
@@ -8,49 +8,75 @@
 ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 603
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  8,  4.90)     ref  ->  rcx         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[System.ValueTuple`3[int,int,System.__Canon]]>
-;  V01 arg1         [V01,T01] (  6,  4.30)     int  ->  rdx        
+;  V00 this         [V00,T00] ( 13,  6.36)     ref  ->  rcx         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[System.ValueTuple`3[int,int,System.__Canon]]>
+;  V01 arg1         [V01,T01] ( 10,  6.07)     int  ->  rdx        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T05] (  2,  0   )     int  ->  rdx         "arg temp"
-;  V04 tmp2         [V04,T04] (  2,  0   )     ref  ->  rcx         single-def "arg temp"
-;  V05 tmp3         [V05,T03] (  2,  1.19)     ref  ->  rcx         single-def "arg temp"
-;  V06 cse0         [V06,T02] (  4,  3.60)     int  ->   r8         "CSE - aggressive"
+;  V03 tmp1         [V03,T06] (  4,  0   )     int  ->  rdx         "arg temp"
+;  V04 tmp2         [V04,T05] (  4,  0   )     ref  ->  rcx         "arg temp"
+;  V05 tmp3         [V05,T04] (  4,  2.11)     ref  ->  rcx         "arg temp"
+;  V06 cse0         [V06,T02] (  4,  3.60)     int  ->  r10         "CSE - aggressive"
+;  V07 cse1         [V07,T03] (  4,  2.77)     int  ->   r8         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M47709_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
                        ;; size=0 bbWeight=1 PerfScore 0.00
-G_M47709_IG02:        ; bbWeight=1.30, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+G_M47709_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rcx]
        mov      rax, gword ptr [rcx+0x08]
        ; gcrRegs +[rax]
        mov      r8d, dword ptr [rax+0x18]
        cmp      edx, r8d
-       jl       SHORT G_M47709_IG05
-                       ;; size=13 bbWeight=1.30 PerfScore 6.82
-G_M47709_IG03:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       jl       SHORT G_M47709_IG09
+                       ;; size=13 bbWeight=1 PerfScore 5.25
+G_M47709_IG03:        ; bbWeight=0.77, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
        cmp      edx, r8d
-       jg       SHORT G_M47709_IG06
+       jg       SHORT G_M47709_IG10
+                       ;; size=5 bbWeight=0.77 PerfScore 0.96
+G_M47709_IG04:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
        lea      rax, bword ptr [rcx+0x20]
        ; byrRegs +[rax]
-                      ;; size=9 bbWeight=1 PerfScore 1.75
-G_M47709_IG04:        ; bbWeight=1, epilog, nogc, extend
+                     ;; size=4 bbWeight=1 PerfScore 0.50
+G_M47709_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
-G_M47709_IG05:        ; bbWeight=0.30, gcVars=0000000000000000 {}, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M47709_IG06:        ; bbWeight=1.30, gcVars=0000000000000000 {}, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; byrRegs -[rax]
+       mov      rax, gword ptr [rcx+0x08]
+       ; gcrRegs +[rax]
+       mov      r10d, dword ptr [rax+0x18]
+       cmp      edx, r10d
+       jl       SHORT G_M47709_IG08
+                       ;; size=13 bbWeight=1.30 PerfScore 6.82
+G_M47709_IG07:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
+       cmp      edx, r10d
+       jg       SHORT G_M47709_IG11
+       jmp      SHORT G_M47709_IG04
+                       ;; size=7 bbWeight=1 PerfScore 3.25
+G_M47709_IG08:        ; bbWeight=0.30, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rcx+0x08]
-       jmp      SHORT G_M47709_IG02
+       jmp      SHORT G_M47709_IG06
                       ;; size=6 bbWeight=0.30 PerfScore 1.19
-G_M47709_IG06:        ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+G_M47709_IG09:        ; bbWeight=0.23, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       mov      rcx, gword ptr [rcx+0x08]
+       jmp      SHORT G_M47709_IG06
+                       ;; size=6 bbWeight=0.23 PerfScore 0.92
+G_M47709_IG10:        ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        sub      edx, r8d
        dec      edx
        mov      rcx, gword ptr [rcx+0x10]
-       jmp      SHORT G_M47709_IG02
+       jmp      SHORT G_M47709_IG06
+                       ;; size=11 bbWeight=0 PerfScore 0.00
+G_M47709_IG11:        ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       sub      edx, r10d
+       dec      edx
+       mov      rcx, gword ptr [rcx+0x10]
+       jmp      SHORT G_M47709_IG06
                         ;; size=11 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 40, prolog size 0, PerfScore 10.76, instruction count 14, allocated bytes for code 40 (MethodHash=92a645a2) for method System.Collections.Immutable.ImmutableList`1+Node[System.ValueTuple`3[int,int,System.__Canon]]:ItemRefUnchecked(int):byref:this (Tier1)
+; Total bytes of code 77, prolog size 0, PerfScore 19.89, instruction count 27, allocated bytes for code 77 (MethodHash=92a645a2) for method System.Collections.Immutable.ImmutableList`1+Node[System.ValueTuple`3[int,int,System.__Canon]]:ItemRefUnchecked(int):byref:this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+34 (+125.93%) : 520403.dasm - System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (Tier1)
@@ -8,9 +8,9 @@
 ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 36
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  5, 25.89)     int  ->  rax        
-;  V01 arg1         [V01,T00] (  7, 48.78)     int  ->   r8        
-;  V02 loc0         [V02,T02] (  2, 22.89)     int  ->  rdx        
+;  V00 arg0         [V00,T01] (  7, 27.73)     int  ->  registers  
+;  V01 arg1         [V01,T00] ( 11, 52.46)     int  ->  registers  
+;  V02 loc0         [V02,T02] (  4, 24.73)     int  ->  rdx        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -21,21 +21,45 @@ G_M22426_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=5 bbWeight=1 PerfScore 0.50
 G_M22426_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        test     r8d, r8d
-       je       SHORT G_M22426_IG04
+       je       SHORT G_M22426_IG09
                      ;; size=5 bbWeight=1 PerfScore 1.25
-G_M22426_IG03:        ; bbWeight=11.44, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M22426_IG03:        ; bbWeight=0.92, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      edx, edx
        div      edx:eax, r8d
        mov      eax, r8d
        mov      r8d, edx
        test     r8d, r8d
-       jne      SHORT G_M22426_IG03
-                       ;; size=16 bbWeight=11.44 PerfScore 309.00
-G_M22426_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       je       SHORT G_M22426_IG08
+                       ;; size=16 bbWeight=0.92 PerfScore 24.83
+G_M22426_IG04:        ; bbWeight=11.44, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       xor      edx, edx
+       div      edx:eax, r8d
+       mov      eax, edx
+       test     eax, eax
+       jne      SHORT G_M22426_IG07
+                       ;; size=11 bbWeight=11.44 PerfScore 306.14
+G_M22426_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      eax, r8d
+                       ;; size=3 bbWeight=1 PerfScore 0.25
+G_M22426_IG06:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
+G_M22426_IG07:        ; bbWeight=5.72, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+       mov      ecx, eax
+       mov      eax, r8d
+       mov      r8d, ecx
+       jmp      SHORT G_M22426_IG04
+                       ;; size=10 bbWeight=5.72 PerfScore 15.74
+G_M22426_IG08:        ; bbWeight=0.46, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      r8d, eax
+       jmp      SHORT G_M22426_IG05
+                       ;; size=5 bbWeight=0.46 PerfScore 1.03
+G_M22426_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      r8d, eax
+       jmp      SHORT G_M22426_IG05
+                       ;; size=5 bbWeight=0.50 PerfScore 1.12
 
-; Total bytes of code 27, prolog size 5, PerfScore 311.75, instruction count 11, allocated bytes for code 27 (MethodHash=f186a865) for method System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (Tier1)
+; Total bytes of code 61, prolog size 5, PerfScore 351.86, instruction count 25, allocated bytes for code 61 (MethodHash=f186a865) for method System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (Tier1)
 ; ============================================================
 
 Unwind Info:
  
  
librariestestsnotieredcompilation.run.windows.x64.Release.mch
-42 (-12.32%) : 283494.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex11_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
@@ -8,74 +8,71 @@
 ; 1 inlinees with PGO data; 3 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] ( 21, 79.50)     ref  ->  rbx         class-hnd single-def <System.Text.RegularExpressions.RegexRunner>
-;  V01 arg1         [V01,T16] (  3,  6   )   byref  ->  rdx         single-def
+;  V00 arg0         [V00,T00] ( 21, 18.25)     ref  ->  rbx         class-hnd single-def <System.Text.RegularExpressions.RegexRunner>
+;  V01 arg1         [V01,T13] (  3,  6   )   byref  ->  rdx         single-def
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T04] (  7, 28   )     int  ->  rsi         single-def
-;  V04 loc2         [V04,T21] (  2,  2   )     int  ->  rsi         single-def
+;  V03 loc1         [V03,T02] (  7,  7   )     int  ->  rsi         single-def
+;  V04 loc2         [V04,T22] (  2,  2   )     int  ->  rsi         single-def
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
-;  V06 loc4         [V06,T00] ( 14,105   )     int  ->  rdi        
+;* V06 loc4         [V06,T01] (  0,  0   )     int  ->  zero-ref   
 ;* V07 loc5         [V07    ] (  0,  0   )     int  ->  zero-ref   
-;  V08 loc6         [V08,T11] (  4, 25   )     int  ->  rbp        
-;  V09 loc7         [V09,T13] (  4, 18   )     int  ->  r14        
+;* V08 loc6         [V08,T09] (  0,  0   )     int  ->  zero-ref   
+;* V09 loc7         [V09,T10] (  0,  0   )     int  ->  zero-ref   
 ;* V10 loc8         [V10    ] (  0,  0   )     int  ->  zero-ref   
 ;* V11 loc9         [V11    ] (  0,  0   )     int  ->  zero-ref   
 ;  V12 OutArgs      [V12    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V13 tmp1         [V13,T02] (  3, 48   )     ref  ->  rax         class-hnd "impAppendStmt" <<unknown class>>
-;  V14 tmp2         [V14,T10] (  2, 32   )     int  ->  rdx         "Strict ordering of exceptions for Array store"
+;  V13 tmp1         [V13,T03] (  3,  6   )     ref  ->  rax         class-hnd "impAppendStmt" <<unknown class>>
+;  V14 tmp2         [V14,T07] (  2,  4   )     int  ->  rdx         "Strict ordering of exceptions for Array store"
 ;* V15 tmp3         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp4         [V16    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V17 tmp5         [V17    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V18 tmp6         [V18    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V19 tmp7         [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V20 tmp8         [V20,T14] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V21 tmp9         [V21,T15] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V20 tmp8         [V20,T11] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V21 tmp9         [V21,T12] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V22 tmp10        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V23 tmp11        [V23,T06] (  4, 32   )     int  ->  rcx         "Inline stloc first use temp"
-;  V24 tmp12        [V24,T03] (  3, 48   )     ref  ->   r9         class-hnd "impAppendStmt" <<unknown class>>
-;* V25 tmp13        [V25,T22] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V26 tmp14        [V26,T18] (  2,  4   )     int  ->  r14         "Inlining Arg"
+;  V23 tmp11        [V23,T08] (  4,  4   )     int  ->  rcx         "Inline stloc first use temp"
+;  V24 tmp12        [V24,T04] (  3,  6   )     ref  ->   r9         class-hnd "impAppendStmt" <<unknown class>>
+;* V25 tmp13        [V25,T23] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V26 tmp14        [V26,T15] (  2,  4   )     int  ->  rsi         "Inlining Arg"
 ;* V27 tmp15        [V27    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline stloc first use temp"
-;  V28 tmp16        [V28,T19] (  4,  4   )     int  ->  rcx         single-def "Inline stloc first use temp"
-;  V29 tmp17        [V29,T17] (  3,  6   )     ref  ->   r9         class-hnd single-def "impAppendStmt" <<unknown class>>
+;  V28 tmp16        [V28,T17] (  4,  4   )     int  ->  rcx         single-def "Inline stloc first use temp"
+;  V29 tmp17        [V29,T14] (  3,  6   )     ref  ->   r9         class-hnd single-def "impAppendStmt" <<unknown class>>
 ;* V30 tmp18        [V30    ] (  0,  0   )   byref  ->  zero-ref    "field V01._reference (fldOffset=0x0)" P-INDEP
 ;* V31 tmp19        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V01._length (fldOffset=0x8)" P-INDEP
 ;* V32 tmp20        [V32    ] (  0,  0   )   byref  ->  zero-ref    "field V02._reference (fldOffset=0x0)" P-INDEP
-;  V33 tmp21        [V33,T20] (  3,  3   )     int  ->  rcx         single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;  V33 tmp21        [V33,T19] (  3,  3   )     int  ->  rcx         single-def "field V02._length (fldOffset=0x8)" P-INDEP
 ;* V34 tmp22        [V34    ] (  0,  0   )   byref  ->  zero-ref    "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V35 tmp23        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V36 tmp24        [V36    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V37 tmp25        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V38 tmp26        [V38    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref" <System.ReadOnlySpan`1[ushort]>
-;  V39 tmp27        [V39,T08] (  2, 32   )     ref  ->  rax         "arr expr"
-;  V40 tmp28        [V40,T09] (  2, 32   )     ref  ->  rcx         "arr expr"
-;  V41 cse0         [V41,T05] (  4, 32   )     ref  ->  rcx         "CSE - aggressive"
-;  V42 cse1         [V42,T12] (  3, 24   )     int  ->   r8         "CSE - moderate"
-;  V43 cse2         [V43,T07] (  4, 32   )     int  ->  r10         "CSE - aggressive"
-;  V44 cse3         [V44,T23] (  3,  1.50)     ref  ->  rdx         "CSE - moderate"
+;  V39 tmp27        [V39,T05] (  2,  4   )     ref  ->  rax         "arr expr"
+;  V40 tmp28        [V40,T06] (  2,  4   )     ref  ->  rcx         "arr expr"
+;  V41 cse0         [V41,T16] (  4,  4   )     ref  ->  rcx         "CSE - moderate"
+;  V42 cse1         [V42,T20] (  3,  3   )     int  ->   r8         "CSE - moderate"
+;  V43 cse2         [V43,T21] (  2,  0.50)   byref  ->  rcx         "CSE - moderate"
+;  V44 cse3         [V44,T18] (  4,  4   )     int  ->  r10         "CSE - moderate"
+;  V45 cse4         [V45,T24] (  3,  1.50)     ref  ->  rdx         "CSE - moderate"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 40
 
 G_M26775_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-       push     r14
-       push     rdi
        push     rsi
-       push     rbp
        push     rbx
-       sub      rsp, 32
+       sub      rsp, 40
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=13 bbWeight=1 PerfScore 5.50
+                      ;; size=9 bbWeight=1 PerfScore 2.50
 G_M26775_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref, isz
        ; byrRegs +[rdx]
        mov      ecx, dword ptr [rdx+0x08]
        mov      esi, dword ptr [rbx+0x4C]
-       xor      edi, edi
        cmp      esi, ecx
-       ja       G_M26775_IG15
+       ja       G_M26775_IG13
        sub      ecx, esi
        jns      SHORT G_M26775_IG04
-                      ;; size=20 bbWeight=1 PerfScore 6.75
+                      ;; size=18 bbWeight=1 PerfScore 6.50
 G_M26775_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdx]
        mov      rdx, 0xD1FFAB1E
@@ -86,20 +83,16 @@ G_M26775_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcrRegs -[rcx rdx]
        ; gcr arg pop 0
                        ;; size=19 bbWeight=0.50 PerfScore 1.75
-G_M26775_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       xor      ebp, ebp
-       xor      r14d, r14d
-                       ;; size=5 bbWeight=1 PerfScore 0.50
-G_M26775_IG05:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M26775_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdx, gword ptr [rbx+0x18]
        ; gcrRegs +[rdx]
        mov      edx, dword ptr [rdx+0x08]
        ; gcrRegs -[rdx]
        add      edx, -2
-       cmp      edx, edi
-       jg       SHORT G_M26775_IG07
-                       ;; size=14 bbWeight=8 PerfScore 44.00
-G_M26775_IG06:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       test     edx, edx
+       jg       SHORT G_M26775_IG06
+                       ;; size=14 bbWeight=1 PerfScore 5.50
+G_M26775_IG05:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdx, gword ptr [rbx+0x18]
        ; gcrRegs +[rdx]
        mov      edx, dword ptr [rdx+0x08]
@@ -110,8 +103,8 @@ G_M26775_IG06:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        call     [System.Array:Resize[int](byref,int)]
        ; byrRegs -[rcx]
        ; gcr arg pop 0
-                       ;; size=19 bbWeight=2 PerfScore 15.50
-G_M26775_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=19 bbWeight=0.25 PerfScore 1.94
+G_M26775_IG06:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rbx+0x18]
        ; gcrRegs +[rcx]
        mov      rax, rcx
@@ -123,44 +116,36 @@ G_M26775_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      r8d, dword ptr [rbx+0x58]
        sub      edx, r8d
        mov      r10d, dword ptr [rax+0x08]
-       cmp      edi, r10d
-       jae      G_M26775_IG14
-       mov      r9d, edi
-       mov      dword ptr [rax+4*r9+0x10], edx
-       inc      edi
+       test     r10d, r10d
+       je       G_M26775_IG12
+       mov      dword ptr [rax+0x10], edx
        mov      rax, rcx
-       cmp      edi, r10d
-       jae      G_M26775_IG14
-       mov      edx, edi
-       mov      dword ptr [rax+4*rdx+0x10], r14d
-       inc      edi
-       cmp      edi, r10d
-       jae      G_M26775_IG14
-       mov      eax, edi
-       ; gcrRegs -[rax]
-       mov      dword ptr [rcx+4*rax+0x10], esi
-       inc      edi
-       mov      r14d, esi
-       inc      ebp
+       cmp      r10d, 1
+       jbe      G_M26775_IG12
+       xor      edx, edx
+       mov      dword ptr [rax+0x14], edx
+       cmp      r10d, 2
+       jbe      G_M26775_IG12
+       mov      dword ptr [rcx+0x18], esi
        test     r8d, r8d
-       jne      SHORT G_M26775_IG09
-                       ;; size=92 bbWeight=8 PerfScore 166.00
-G_M26775_IG08:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rcx]
+       jne      SHORT G_M26775_IG08
+                       ;; size=73 bbWeight=1 PerfScore 19.00
+G_M26775_IG07:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rax rcx]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        call     [System.Text.RegularExpressions.RegexRunner:DoubleCrawl():this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-                       ;; size=9 bbWeight=2 PerfScore 6.50
-G_M26775_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=9 bbWeight=0.25 PerfScore 0.81
+G_M26775_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      r9, gword ptr [rbx+0x20]
        ; gcrRegs +[r9]
        mov      ecx, dword ptr [rbx+0x58]
        dec      ecx
        mov      dword ptr [rbx+0x58], ecx
        cmp      ecx, dword ptr [r9+0x08]
-       jae      SHORT G_M26775_IG14
+       jae      SHORT G_M26775_IG12
        mov      dword ptr [r9+4*rcx+0x10], 1
        xor      r9d, r9d
        ; gcrRegs -[r9]
@@ -172,36 +157,32 @@ G_M26775_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        call     [<unknown method>]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       test     ebp, ebp
-       jle      G_M26775_IG05
-                       ;; size=58 bbWeight=8 PerfScore 162.00
-G_M26775_IG10:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      dword ptr [rbx+0x4C], esi
        cmp      dword ptr [rbx+0x58], 0
-       jne      SHORT G_M26775_IG12
-                       ;; size=9 bbWeight=1 PerfScore 5.00
-G_M26775_IG11:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       jne      SHORT G_M26775_IG10
+                       ;; size=59 bbWeight=1 PerfScore 24.00
+G_M26775_IG09:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        call     [System.Text.RegularExpressions.RegexRunner:DoubleCrawl():this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=9 bbWeight=0.50 PerfScore 1.62
-G_M26775_IG12:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M26775_IG10:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      r9, gword ptr [rbx+0x20]
        ; gcrRegs +[r9]
        mov      ecx, dword ptr [rbx+0x58]
        dec      ecx
        mov      dword ptr [rbx+0x58], ecx
        cmp      ecx, dword ptr [r9+0x08]
-       jae      SHORT G_M26775_IG14
+       jae      SHORT G_M26775_IG12
        xor      r8d, r8d
        mov      dword ptr [r9+4*rcx+0x10], r8d
        xor      r9d, r9d
        ; gcrRegs -[r9]
        mov      rcx, gword ptr [rbx+0x28]
        ; gcrRegs +[rcx]
-       mov      r8d, r14d
+       mov      r8d, esi
        xor      edx, edx
        cmp      dword ptr [rcx], ecx
        call     [<unknown method>]
@@ -209,26 +190,23 @@ G_M26775_IG12:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        mov      eax, 1
...
  
-42 (-12.07%) : 283497.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex14_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
@@ -8,76 +8,73 @@
 ; 1 inlinees with PGO data; 4 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] ( 22, 80.50)     ref  ->  rbx         class-hnd single-def <System.Text.RegularExpressions.RegexRunner>
-;  V01 arg1         [V01,T16] (  3,  6   )   byref  ->  rdx         single-def
+;  V00 arg0         [V00,T00] ( 22, 19.25)     ref  ->  rbx         class-hnd single-def <System.Text.RegularExpressions.RegexRunner>
+;  V01 arg1         [V01,T13] (  3,  6   )   byref  ->  rdx         single-def
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T04] (  7, 28   )     int  ->  rsi         single-def
-;  V04 loc2         [V04,T21] (  2,  2   )     int  ->  rsi         single-def
+;  V03 loc1         [V03,T02] (  7,  7   )     int  ->  rsi         single-def
+;  V04 loc2         [V04,T22] (  2,  2   )     int  ->  rsi         single-def
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V06 loc4         [V06,T00] ( 14,105   )     int  ->  rdi        
+;* V06 loc4         [V06,T01] (  0,  0   )     int  ->  zero-ref   
 ;* V07 loc5         [V07    ] (  0,  0   )     int  ->  zero-ref   
 ;* V08 loc6         [V08    ] (  0,  0   )     int  ->  zero-ref   
 ;* V09 loc7         [V09    ] (  0,  0   )     int  ->  zero-ref   
-;  V10 loc8         [V10,T12] (  4, 25   )     int  ->  rbp        
-;  V11 loc9         [V11,T14] (  4, 18   )     int  ->  r14        
+;* V10 loc8         [V10,T10] (  0,  0   )     int  ->  zero-ref   
+;* V11 loc9         [V11,T11] (  0,  0   )     int  ->  zero-ref   
 ;* V12 loc10        [V12    ] (  0,  0   )     int  ->  zero-ref   
 ;* V13 loc11        [V13    ] (  0,  0   )     int  ->  zero-ref   
 ;  V14 OutArgs      [V14    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V15 tmp1         [V15,T02] (  3, 48   )     ref  ->  rax         class-hnd "impAppendStmt" <<unknown class>>
-;  V16 tmp2         [V16,T10] (  2, 32   )     int  ->  rdx         "Strict ordering of exceptions for Array store"
+;  V15 tmp1         [V15,T03] (  3,  6   )     ref  ->  rax         class-hnd "impAppendStmt" <<unknown class>>
+;  V16 tmp2         [V16,T07] (  2,  4   )     int  ->  rdx         "Strict ordering of exceptions for Array store"
 ;* V17 tmp3         [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V18 tmp4         [V18    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V19 tmp5         [V19    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp6         [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V21 tmp7         [V21    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V22 tmp8         [V22,T15] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V23 tmp9         [V23,T11] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V22 tmp8         [V22,T12] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V23 tmp9         [V23,T08] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V24 tmp10        [V24    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V25 tmp11        [V25,T06] (  4, 32   )     int  ->  rcx         "Inline stloc first use temp"
-;  V26 tmp12        [V26,T03] (  3, 48   )     ref  ->   r9         class-hnd "impAppendStmt" <<unknown class>>
-;* V27 tmp13        [V27,T22] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V28 tmp14        [V28,T19] (  2,  4   )     int  ->  r14         "Inlining Arg"
+;  V25 tmp11        [V25,T09] (  4,  4   )     int  ->  rcx         "Inline stloc first use temp"
+;  V26 tmp12        [V26,T04] (  3,  6   )     ref  ->   r9         class-hnd "impAppendStmt" <<unknown class>>
+;* V27 tmp13        [V27,T23] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V28 tmp14        [V28,T18] (  2,  4   )     int  ->  rsi         "Inlining Arg"
 ;* V29 tmp15        [V29    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline stloc first use temp"
-;  V30 tmp16        [V30,T18] (  4,  4   )     int  ->  rcx         single-def "Inline stloc first use temp"
-;  V31 tmp17        [V31,T17] (  3,  6   )     ref  ->   r9         class-hnd single-def "impAppendStmt" <<unknown class>>
+;  V30 tmp16        [V30,T16] (  4,  4   )     int  ->  rcx         single-def "Inline stloc first use temp"
+;  V31 tmp17        [V31,T14] (  3,  6   )     ref  ->   r9         class-hnd single-def "impAppendStmt" <<unknown class>>
 ;* V32 tmp18        [V32    ] (  0,  0   )   byref  ->  zero-ref    "field V01._reference (fldOffset=0x0)" P-INDEP
 ;* V33 tmp19        [V33    ] (  0,  0   )     int  ->  zero-ref    "field V01._length (fldOffset=0x8)" P-INDEP
 ;* V34 tmp20        [V34    ] (  0,  0   )   byref  ->  zero-ref    "field V02._reference (fldOffset=0x0)" P-INDEP
-;  V35 tmp21        [V35,T20] (  3,  3   )     int  ->  rcx         single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;  V35 tmp21        [V35,T19] (  3,  3   )     int  ->  rcx         single-def "field V02._length (fldOffset=0x8)" P-INDEP
 ;* V36 tmp22        [V36    ] (  0,  0   )   byref  ->  zero-ref    "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V37 tmp23        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V38 tmp24        [V38    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V39 tmp25        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
 ;* V40 tmp26        [V40    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref" <System.ReadOnlySpan`1[ushort]>
-;  V41 tmp27        [V41,T08] (  2, 32   )     ref  ->  rax         "arr expr"
-;  V42 tmp28        [V42,T09] (  2, 32   )     ref  ->  rcx         "arr expr"
-;  V43 cse0         [V43,T05] (  4, 32   )     ref  ->  rcx         "CSE - aggressive"
-;  V44 cse1         [V44,T13] (  3, 24   )     int  ->   r8         "CSE - moderate"
-;  V45 cse2         [V45,T07] (  4, 32   )     int  ->  r10         "CSE - aggressive"
-;  V46 cse3         [V46,T23] (  3,  1.50)     ref  ->  rdx         "CSE - moderate"
+;  V41 tmp27        [V41,T05] (  2,  4   )     ref  ->  rax         "arr expr"
+;  V42 tmp28        [V42,T06] (  2,  4   )     ref  ->  rcx         "arr expr"
+;  V43 cse0         [V43,T15] (  4,  4   )     ref  ->  rcx         "CSE - moderate"
+;  V44 cse1         [V44,T20] (  3,  3   )     int  ->   r8         "CSE - moderate"
+;  V45 cse2         [V45,T21] (  2,  0.50)   byref  ->  rcx         "CSE - moderate"
+;  V46 cse3         [V46,T17] (  4,  4   )     int  ->  r10         "CSE - moderate"
+;  V47 cse4         [V47,T24] (  3,  1.50)     ref  ->  rdx         "CSE - moderate"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 40
 
 G_M27986_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-       push     r14
-       push     rdi
        push     rsi
-       push     rbp
        push     rbx
-       sub      rsp, 32
+       sub      rsp, 40
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=13 bbWeight=1 PerfScore 5.50
+                      ;; size=9 bbWeight=1 PerfScore 2.50
 G_M27986_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref, isz
        ; byrRegs +[rdx]
        mov      ecx, dword ptr [rdx+0x08]
        mov      esi, dword ptr [rbx+0x4C]
-       xor      edi, edi
        cmp      esi, ecx
-       ja       G_M27986_IG15
+       ja       G_M27986_IG13
        sub      ecx, esi
        jns      SHORT G_M27986_IG04
-                      ;; size=20 bbWeight=1 PerfScore 6.75
+                      ;; size=18 bbWeight=1 PerfScore 6.50
 G_M27986_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdx]
        mov      rdx, 0xD1FFAB1E
@@ -88,24 +85,20 @@ G_M27986_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcrRegs -[rcx rdx]
        ; gcr arg pop 0
                        ;; size=19 bbWeight=0.50 PerfScore 1.75
-G_M27986_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M27986_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdx, gword ptr [rbx+0x20]
        ; gcrRegs +[rdx]
        mov      edx, dword ptr [rdx+0x08]
        ; gcrRegs -[rdx]
-       xor      ebp, ebp
-       xor      r14d, r14d
-                       ;; size=12 bbWeight=1 PerfScore 4.50
-G_M27986_IG05:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdx, gword ptr [rbx+0x18]
        ; gcrRegs +[rdx]
        mov      edx, dword ptr [rdx+0x08]
        ; gcrRegs -[rdx]
        add      edx, -2
-       cmp      edx, edi
-       jg       SHORT G_M27986_IG07
-                       ;; size=14 bbWeight=8 PerfScore 44.00
-G_M27986_IG06:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       test     edx, edx
+       jg       SHORT G_M27986_IG06
+                       ;; size=21 bbWeight=1 PerfScore 9.50
+G_M27986_IG05:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdx, gword ptr [rbx+0x18]
        ; gcrRegs +[rdx]
        mov      edx, dword ptr [rdx+0x08]
@@ -116,8 +109,8 @@ G_M27986_IG06:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        call     [System.Array:Resize[int](byref,int)]
        ; byrRegs -[rcx]
        ; gcr arg pop 0
-                       ;; size=19 bbWeight=2 PerfScore 15.50
-G_M27986_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=19 bbWeight=0.25 PerfScore 1.94
+G_M27986_IG06:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rbx+0x18]
        ; gcrRegs +[rcx]
        mov      rax, rcx
@@ -129,44 +122,36 @@ G_M27986_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      r8d, dword ptr [rbx+0x58]
        sub      edx, r8d
        mov      r10d, dword ptr [rax+0x08]
-       cmp      edi, r10d
-       jae      G_M27986_IG14
-       mov      r9d, edi
-       mov      dword ptr [rax+4*r9+0x10], edx
-       inc      edi
+       test     r10d, r10d
+       je       G_M27986_IG12
+       mov      dword ptr [rax+0x10], edx
        mov      rax, rcx
-       cmp      edi, r10d
-       jae      G_M27986_IG14
-       mov      edx, edi
-       mov      dword ptr [rax+4*rdx+0x10], r14d
-       inc      edi
-       cmp      edi, r10d
-       jae      G_M27986_IG14
-       mov      eax, edi
-       ; gcrRegs -[rax]
-       mov      dword ptr [rcx+4*rax+0x10], esi
-       inc      edi
-       mov      r14d, esi
-       inc      ebp
+       cmp      r10d, 1
+       jbe      G_M27986_IG12
+       xor      edx, edx
+       mov      dword ptr [rax+0x14], edx
+       cmp      r10d, 2
+       jbe      G_M27986_IG12
+       mov      dword ptr [rcx+0x18], esi
        test     r8d, r8d
-       jne      SHORT G_M27986_IG09
-                       ;; size=92 bbWeight=8 PerfScore 166.00
-G_M27986_IG08:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rcx]
+       jne      SHORT G_M27986_IG08
+                       ;; size=73 bbWeight=1 PerfScore 19.00
+G_M27986_IG07:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rax rcx]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        call     [System.Text.RegularExpressions.RegexRunner:DoubleCrawl():this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-                       ;; size=9 bbWeight=2 PerfScore 6.50
-G_M27986_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=9 bbWeight=0.25 PerfScore 0.81
+G_M27986_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      r9, gword ptr [rbx+0x20]
        ; gcrRegs +[r9]
        mov      ecx, dword ptr [rbx+0x58]
        dec      ecx
        mov      dword ptr [rbx+0x58], ecx
        cmp      ecx, dword ptr [r9+0x08]
-       jae      SHORT G_M27986_IG14
+       jae      SHORT G_M27986_IG12
        mov      dword ptr [r9+4*rcx+0x10], 1
        xor      r9d, r9d
        ; gcrRegs -[r9]
@@ -178,36 +163,32 @@ G_M27986_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        call     [<unknown method>]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       test     ebp, ebp
-       jle      G_M27986_IG05
-                       ;; size=58 bbWeight=8 PerfScore 162.00
-G_M27986_IG10:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      dword ptr [rbx+0x4C], esi
        cmp      dword ptr [rbx+0x58], 0
-       jne      SHORT G_M27986_IG12
-                       ;; size=9 bbWeight=1 PerfScore 5.00
-G_M27986_IG11:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       jne      SHORT G_M27986_IG10
+                       ;; size=59 bbWeight=1 PerfScore 24.00
+G_M27986_IG09:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        call     [System.Text.RegularExpressions.RegexRunner:DoubleCrawl():this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=9 bbWeight=0.50 PerfScore 1.62
-G_M27986_IG12:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M27986_IG10:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      r9, gword ptr [rbx+0x20]
        ; gcrRegs +[r9]
        mov      ecx, dword ptr [rbx+0x58]
        dec      ecx
        mov      dword ptr [rbx+0x58], ecx
        cmp      ecx, dword ptr [r9+0x08]
-       jae      SHORT G_M27986_IG14
+       jae      SHORT G_M27986_IG12
        xor      r8d, r8d
        mov      dword ptr [r9+4*rcx+0x10], r8d
        xor      r9d, r9d
        ; gcrRegs -[r9]
        mov      rcx, gword ptr [rbx+0x28]
        ; gcrRegs +[rcx]
-       mov      r8d, r14d
+       mov      r8d, esi
...
  
-42 (-12.07%) : 283499.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex16_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
@@ -8,76 +8,73 @@
 ; 1 inlinees with PGO data; 4 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] ( 22, 80.50)     ref  ->  rbx         class-hnd single-def <System.Text.RegularExpressions.RegexRunner>
-;  V01 arg1         [V01,T16] (  3,  6   )   byref  ->  rdx         single-def
+;  V00 arg0         [V00,T00] ( 22, 19.25)     ref  ->  rbx         class-hnd single-def <System.Text.RegularExpressions.RegexRunner>
+;  V01 arg1         [V01,T13] (  3,  6   )   byref  ->  rdx         single-def
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T04] (  7, 28   )     int  ->  rsi         single-def
-;  V04 loc2         [V04,T21] (  2,  2   )     int  ->  rsi         single-def
+;  V03 loc1         [V03,T02] (  7,  7   )     int  ->  rsi         single-def
+;  V04 loc2         [V04,T22] (  2,  2   )     int  ->  rsi         single-def
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V06 loc4         [V06,T00] ( 14,105   )     int  ->  rdi        
+;* V06 loc4         [V06,T01] (  0,  0   )     int  ->  zero-ref   
 ;* V07 loc5         [V07    ] (  0,  0   )     int  ->  zero-ref   
 ;* V08 loc6         [V08    ] (  0,  0   )     int  ->  zero-ref   
 ;* V09 loc7         [V09    ] (  0,  0   )     int  ->  zero-ref   
-;  V10 loc8         [V10,T12] (  4, 25   )     int  ->  rbp        
-;  V11 loc9         [V11,T14] (  4, 18   )     int  ->  r14        
+;* V10 loc8         [V10,T10] (  0,  0   )     int  ->  zero-ref   
+;* V11 loc9         [V11,T11] (  0,  0   )     int  ->  zero-ref   
 ;* V12 loc10        [V12    ] (  0,  0   )     int  ->  zero-ref   
 ;* V13 loc11        [V13    ] (  0,  0   )     int  ->  zero-ref   
 ;  V14 OutArgs      [V14    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V15 tmp1         [V15,T02] (  3, 48   )     ref  ->  rax         class-hnd "impAppendStmt" <<unknown class>>
-;  V16 tmp2         [V16,T10] (  2, 32   )     int  ->  rdx         "Strict ordering of exceptions for Array store"
+;  V15 tmp1         [V15,T03] (  3,  6   )     ref  ->  rax         class-hnd "impAppendStmt" <<unknown class>>
+;  V16 tmp2         [V16,T07] (  2,  4   )     int  ->  rdx         "Strict ordering of exceptions for Array store"
 ;* V17 tmp3         [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V18 tmp4         [V18    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V19 tmp5         [V19    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp6         [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V21 tmp7         [V21    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V22 tmp8         [V22,T15] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V23 tmp9         [V23,T11] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V22 tmp8         [V22,T12] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V23 tmp9         [V23,T08] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V24 tmp10        [V24    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V25 tmp11        [V25,T06] (  4, 32   )     int  ->  rcx         "Inline stloc first use temp"
-;  V26 tmp12        [V26,T03] (  3, 48   )     ref  ->   r9         class-hnd "impAppendStmt" <<unknown class>>
-;* V27 tmp13        [V27,T22] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V28 tmp14        [V28,T19] (  2,  4   )     int  ->  r14         "Inlining Arg"
+;  V25 tmp11        [V25,T09] (  4,  4   )     int  ->  rcx         "Inline stloc first use temp"
+;  V26 tmp12        [V26,T04] (  3,  6   )     ref  ->   r9         class-hnd "impAppendStmt" <<unknown class>>
+;* V27 tmp13        [V27,T23] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V28 tmp14        [V28,T18] (  2,  4   )     int  ->  rsi         "Inlining Arg"
 ;* V29 tmp15        [V29    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline stloc first use temp"
-;  V30 tmp16        [V30,T18] (  4,  4   )     int  ->  rcx         single-def "Inline stloc first use temp"
-;  V31 tmp17        [V31,T17] (  3,  6   )     ref  ->   r9         class-hnd single-def "impAppendStmt" <<unknown class>>
+;  V30 tmp16        [V30,T16] (  4,  4   )     int  ->  rcx         single-def "Inline stloc first use temp"
+;  V31 tmp17        [V31,T14] (  3,  6   )     ref  ->   r9         class-hnd single-def "impAppendStmt" <<unknown class>>
 ;* V32 tmp18        [V32    ] (  0,  0   )   byref  ->  zero-ref    "field V01._reference (fldOffset=0x0)" P-INDEP
 ;* V33 tmp19        [V33    ] (  0,  0   )     int  ->  zero-ref    "field V01._length (fldOffset=0x8)" P-INDEP
 ;* V34 tmp20        [V34    ] (  0,  0   )   byref  ->  zero-ref    "field V02._reference (fldOffset=0x0)" P-INDEP
-;  V35 tmp21        [V35,T20] (  3,  3   )     int  ->  rcx         single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;  V35 tmp21        [V35,T19] (  3,  3   )     int  ->  rcx         single-def "field V02._length (fldOffset=0x8)" P-INDEP
 ;* V36 tmp22        [V36    ] (  0,  0   )   byref  ->  zero-ref    "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V37 tmp23        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V38 tmp24        [V38    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V39 tmp25        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
 ;* V40 tmp26        [V40    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref" <System.ReadOnlySpan`1[ushort]>
-;  V41 tmp27        [V41,T08] (  2, 32   )     ref  ->  rax         "arr expr"
-;  V42 tmp28        [V42,T09] (  2, 32   )     ref  ->  rcx         "arr expr"
-;  V43 cse0         [V43,T05] (  4, 32   )     ref  ->  rcx         "CSE - aggressive"
-;  V44 cse1         [V44,T13] (  3, 24   )     int  ->   r8         "CSE - moderate"
-;  V45 cse2         [V45,T07] (  4, 32   )     int  ->  r10         "CSE - aggressive"
-;  V46 cse3         [V46,T23] (  3,  1.50)     ref  ->  rdx         "CSE - moderate"
+;  V41 tmp27        [V41,T05] (  2,  4   )     ref  ->  rax         "arr expr"
+;  V42 tmp28        [V42,T06] (  2,  4   )     ref  ->  rcx         "arr expr"
+;  V43 cse0         [V43,T15] (  4,  4   )     ref  ->  rcx         "CSE - moderate"
+;  V44 cse1         [V44,T20] (  3,  3   )     int  ->   r8         "CSE - moderate"
+;  V45 cse2         [V45,T21] (  2,  0.50)   byref  ->  rcx         "CSE - moderate"
+;  V46 cse3         [V46,T17] (  4,  4   )     int  ->  r10         "CSE - moderate"
+;  V47 cse4         [V47,T24] (  3,  1.50)     ref  ->  rdx         "CSE - moderate"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 40
 
 G_M41168_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-       push     r14
-       push     rdi
        push     rsi
-       push     rbp
        push     rbx
-       sub      rsp, 32
+       sub      rsp, 40
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=13 bbWeight=1 PerfScore 5.50
+                      ;; size=9 bbWeight=1 PerfScore 2.50
 G_M41168_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref, isz
        ; byrRegs +[rdx]
        mov      ecx, dword ptr [rdx+0x08]
        mov      esi, dword ptr [rbx+0x4C]
-       xor      edi, edi
        cmp      esi, ecx
-       ja       G_M41168_IG15
+       ja       G_M41168_IG13
        sub      ecx, esi
        jns      SHORT G_M41168_IG04
-                      ;; size=20 bbWeight=1 PerfScore 6.75
+                      ;; size=18 bbWeight=1 PerfScore 6.50
 G_M41168_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdx]
        mov      rdx, 0xD1FFAB1E
@@ -88,24 +85,20 @@ G_M41168_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcrRegs -[rcx rdx]
        ; gcr arg pop 0
                        ;; size=19 bbWeight=0.50 PerfScore 1.75
-G_M41168_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M41168_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdx, gword ptr [rbx+0x20]
        ; gcrRegs +[rdx]
        mov      edx, dword ptr [rdx+0x08]
        ; gcrRegs -[rdx]
-       xor      ebp, ebp
-       xor      r14d, r14d
-                       ;; size=12 bbWeight=1 PerfScore 4.50
-G_M41168_IG05:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdx, gword ptr [rbx+0x18]
        ; gcrRegs +[rdx]
        mov      edx, dword ptr [rdx+0x08]
        ; gcrRegs -[rdx]
        add      edx, -2
-       cmp      edx, edi
-       jg       SHORT G_M41168_IG07
-                       ;; size=14 bbWeight=8 PerfScore 44.00
-G_M41168_IG06:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       test     edx, edx
+       jg       SHORT G_M41168_IG06
+                       ;; size=21 bbWeight=1 PerfScore 9.50
+G_M41168_IG05:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdx, gword ptr [rbx+0x18]
        ; gcrRegs +[rdx]
        mov      edx, dword ptr [rdx+0x08]
@@ -116,8 +109,8 @@ G_M41168_IG06:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        call     [System.Array:Resize[int](byref,int)]
        ; byrRegs -[rcx]
        ; gcr arg pop 0
-                       ;; size=19 bbWeight=2 PerfScore 15.50
-G_M41168_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=19 bbWeight=0.25 PerfScore 1.94
+G_M41168_IG06:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rbx+0x18]
        ; gcrRegs +[rcx]
        mov      rax, rcx
@@ -129,44 +122,36 @@ G_M41168_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      r8d, dword ptr [rbx+0x58]
        sub      edx, r8d
        mov      r10d, dword ptr [rax+0x08]
-       cmp      edi, r10d
-       jae      G_M41168_IG14
-       mov      r9d, edi
-       mov      dword ptr [rax+4*r9+0x10], edx
-       inc      edi
+       test     r10d, r10d
+       je       G_M41168_IG12
+       mov      dword ptr [rax+0x10], edx
        mov      rax, rcx
-       cmp      edi, r10d
-       jae      G_M41168_IG14
-       mov      edx, edi
-       mov      dword ptr [rax+4*rdx+0x10], r14d
-       inc      edi
-       cmp      edi, r10d
-       jae      G_M41168_IG14
-       mov      eax, edi
-       ; gcrRegs -[rax]
-       mov      dword ptr [rcx+4*rax+0x10], esi
-       inc      edi
-       mov      r14d, esi
-       inc      ebp
+       cmp      r10d, 1
+       jbe      G_M41168_IG12
+       xor      edx, edx
+       mov      dword ptr [rax+0x14], edx
+       cmp      r10d, 2
+       jbe      G_M41168_IG12
+       mov      dword ptr [rcx+0x18], esi
        test     r8d, r8d
-       jne      SHORT G_M41168_IG09
-                       ;; size=92 bbWeight=8 PerfScore 166.00
-G_M41168_IG08:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rcx]
+       jne      SHORT G_M41168_IG08
+                       ;; size=73 bbWeight=1 PerfScore 19.00
+G_M41168_IG07:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rax rcx]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        call     [System.Text.RegularExpressions.RegexRunner:DoubleCrawl():this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-                       ;; size=9 bbWeight=2 PerfScore 6.50
-G_M41168_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=9 bbWeight=0.25 PerfScore 0.81
+G_M41168_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      r9, gword ptr [rbx+0x20]
        ; gcrRegs +[r9]
        mov      ecx, dword ptr [rbx+0x58]
        dec      ecx
        mov      dword ptr [rbx+0x58], ecx
        cmp      ecx, dword ptr [r9+0x08]
-       jae      SHORT G_M41168_IG14
+       jae      SHORT G_M41168_IG12
        mov      dword ptr [r9+4*rcx+0x10], 1
        xor      r9d, r9d
        ; gcrRegs -[r9]
@@ -178,36 +163,32 @@ G_M41168_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        call     [<unknown method>]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       test     ebp, ebp
-       jle      G_M41168_IG05
-                       ;; size=58 bbWeight=8 PerfScore 162.00
-G_M41168_IG10:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      dword ptr [rbx+0x4C], esi
        cmp      dword ptr [rbx+0x58], 0
-       jne      SHORT G_M41168_IG12
-                       ;; size=9 bbWeight=1 PerfScore 5.00
-G_M41168_IG11:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       jne      SHORT G_M41168_IG10
+                       ;; size=59 bbWeight=1 PerfScore 24.00
+G_M41168_IG09:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        call     [System.Text.RegularExpressions.RegexRunner:DoubleCrawl():this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=9 bbWeight=0.50 PerfScore 1.62
-G_M41168_IG12:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M41168_IG10:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      r9, gword ptr [rbx+0x20]
        ; gcrRegs +[r9]
        mov      ecx, dword ptr [rbx+0x58]
        dec      ecx
        mov      dword ptr [rbx+0x58], ecx
        cmp      ecx, dword ptr [r9+0x08]
-       jae      SHORT G_M41168_IG14
+       jae      SHORT G_M41168_IG12
        xor      r8d, r8d
        mov      dword ptr [r9+4*rcx+0x10], r8d
        xor      r9d, r9d
        ; gcrRegs -[r9]
        mov      rcx, gword ptr [rbx+0x28]
        ; gcrRegs +[rcx]
-       mov      r8d, r14d
+       mov      r8d, esi
...
  
+39 (+82.98%) : 150502.dasm - System.SpanHelpers:LastIndexOfAnyInRangeSystem.TimeSpan:int (FullOpts)
@@ -8,12 +8,12 @@
 ; 2 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T03] (  3,  6   )   byref  ->  rcx         single-def
+;  V00 arg0         [V00,T04] (  4,  7   )   byref  ->  rcx         single-def
 ;* V01 arg1         [V01    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.TimeSpan>
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.TimeSpan>
-;  V03 arg3         [V03,T07] (  3,  3   )     int  ->   r9         single-def
-;  V04 loc0         [V04,T00] (  7, 18.50)     int  ->  rax        
-;  V05 loc1         [V05,T04] (  2,  8   )   byref  ->  r10        
+;  V03 arg3         [V03,T08] (  3,  3   )     int  ->   r9         single-def
+;  V04 loc0         [V04,T00] ( 11, 22.50)     int  ->  rax        
+;  V05 loc1         [V05,T02] (  5, 10.50)   byref  ->  r10        
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.TimeSpan>
 ;* V08 tmp2         [V08    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.TimeSpan>
@@ -23,13 +23,13 @@
 ;* V12 tmp6         [V12    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.TimeSpan>
 ;* V13 tmp7         [V13,T10] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V14 tmp8         [V14    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V15 tmp9         [V15,T05] (  3,  5.78)    long  ->  rdx         single-def "field V01._ticks (fldOffset=0x0)" P-INDEP
-;  V16 tmp10        [V16,T06] (  2,  3   )    long  ->   r8         single-def "field V02._ticks (fldOffset=0x0)" P-INDEP
-;  V17 tmp11        [V17,T02] (  3,  8.78)    long  ->   r9         "field V07._ticks (fldOffset=0x0)" P-INDEP
+;  V15 tmp9         [V15,T05] (  5,  6.98)    long  ->  rdx         single-def "field V01._ticks (fldOffset=0x0)" P-INDEP
+;  V16 tmp10        [V16,T06] (  4,  4.28)    long  ->   r8         single-def "field V02._ticks (fldOffset=0x0)" P-INDEP
+;  V17 tmp11        [V17,T01] (  6, 10.98)    long  ->   r9         "field V07._ticks (fldOffset=0x0)" P-INDEP
 ;* V18 tmp12        [V18    ] (  0,  0   )    long  ->  zero-ref    "field V08._ticks (fldOffset=0x0)" P-INDEP
-;  V19 tmp13        [V19,T08] (  2,  4   )    long  ->  r10         "field V11._ticks (fldOffset=0x0)" P-INDEP
+;  V19 tmp13        [V19,T07] (  5,  5.78)    long  ->  r11         "field V11._ticks (fldOffset=0x0)" P-INDEP
 ;* V20 tmp14        [V20    ] (  0,  0   )    long  ->  zero-ref    "field V12._ticks (fldOffset=0x0)" P-INDEP
-;  V21 cse0         [V21,T01] (  3, 10   )    long  ->  r10         "CSE - aggressive"
+;  V21 cse0         [V21,T03] (  3, 10   )    long  ->  r11         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -39,42 +39,71 @@ G_M42504_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byr
        ; byrRegs +[rcx]
        lea      eax, [r9-0x01]
        test     eax, eax
-       jl       SHORT G_M42504_IG07
-                       ;; size=8 bbWeight=1 PerfScore 1.75
-G_M42504_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       jl       SHORT G_M42504_IG12
        movsxd   r10, eax
        lea      r10, bword ptr [rcx+8*r10]
        ; byrRegs +[r10]
-       mov      r10, qword ptr [r10]
+       mov      r9, qword ptr [r10]
+       cmp      rdx, r9
+       jl       SHORT G_M42504_IG04
+                       ;; size=23 bbWeight=1 PerfScore 5.75
+G_M42504_IG03:        ; bbWeight=0.20, gcrefRegs=0000 {}, byrefRegs=0402 {rcx r10}, byref, isz
+       cmp      rdx, r9
+       jg       SHORT G_M42504_IG05
+                       ;; size=5 bbWeight=0.20 PerfScore 0.25
+G_M42504_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0402 {rcx r10}, byref, isz
+       mov      r11, qword ptr [r10]
+       cmp      r8, r11
+       jge      SHORT G_M42504_IG14
+                       ;; size=8 bbWeight=0.50 PerfScore 1.62
+G_M42504_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
        ; byrRegs -[r10]
-       mov      r9, r10
-       cmp      rdx, r9
-       jl       SHORT G_M42504_IG05
-                       ;; size=18 bbWeight=4 PerfScore 17.00
-G_M42504_IG04:        ; bbWeight=0.78, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
-       cmp      rdx, r9
-       jg       SHORT G_M42504_IG06
-                       ;; size=5 bbWeight=0.78 PerfScore 0.98
-G_M42504_IG05:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
-       cmp      r8, r10
-       jge      SHORT G_M42504_IG09
-                       ;; size=5 bbWeight=2 PerfScore 2.50
-G_M42504_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
        dec      eax
-       jns      SHORT G_M42504_IG03
+       js       SHORT G_M42504_IG12
+                       ;; size=4 bbWeight=1 PerfScore 1.25
+G_M42504_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       movsxd   r10, eax
+       lea      r10, bword ptr [rcx+8*r10]
+       ; byrRegs +[r10]
+       mov      r11, qword ptr [r10]
+       mov      r9, r11
+       cmp      rdx, r9
+       jl       SHORT G_M42504_IG08
+                       ;; size=18 bbWeight=4 PerfScore 17.00
+G_M42504_IG07:        ; bbWeight=0.78, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       ; byrRegs -[r10]
+       cmp      rdx, r9
+       jg       SHORT G_M42504_IG11
+                       ;; size=5 bbWeight=0.78 PerfScore 0.98
+G_M42504_IG08:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       cmp      r8, r11
+       jl       SHORT G_M42504_IG11
+                       ;; size=5 bbWeight=2 PerfScore 2.50
+G_M42504_IG09:        ; bbWeight=0.78, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       ; byrRegs -[rcx]
+       cmp      r8, r11
+       jle      SHORT G_M42504_IG14
+                       ;; size=5 bbWeight=0.78 PerfScore 0.98
+G_M42504_IG10:        ; bbWeight=0.70, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M42504_IG14
+                       ;; size=2 bbWeight=0.70 PerfScore 1.39
+G_M42504_IG11:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       ; byrRegs +[rcx]
+       dec      eax
+       jns      SHORT G_M42504_IG06
                         ;; size=4 bbWeight=4 PerfScore 5.00
-G_M42504_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M42504_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; byrRegs -[rcx]
        mov      eax, -1
                        ;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M42504_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+G_M42504_IG13:        ; bbWeight=0.50, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=0.50 PerfScore 0.50
-G_M42504_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M42504_IG14:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ret      
                        ;; size=1 bbWeight=0.50 PerfScore 0.50
 
-; Total bytes of code 47, prolog size 0, PerfScore 28.36, instruction count 18, allocated bytes for code 47 (MethodHash=ee8759f7) for method System.SpanHelpers:LastIndexOfAnyInRange[System.TimeSpan](byref,System.TimeSpan,System.TimeSpan,int):int (FullOpts)
+; Total bytes of code 86, prolog size 0, PerfScore 37.85, instruction count 33, allocated bytes for code 86 (MethodHash=ee8759f7) for method System.SpanHelpers:LastIndexOfAnyInRange[System.TimeSpan](byref,System.TimeSpan,System.TimeSpan,int):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+45 (+91.84%) : 150499.dasm - System.SpanHelpers:IndexOfAnyInRangeSystem.TimeSpan:int (FullOpts)
@@ -8,12 +8,12 @@
 ; 2 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T04] (  3,  6   )   byref  ->  rcx         single-def
+;  V00 arg0         [V00,T05] (  4,  7   )   byref  ->  rcx         single-def
 ;* V01 arg1         [V01    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.TimeSpan>
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.TimeSpan>
-;  V03 arg3         [V03,T02] (  4,  7   )     int  ->   r9         single-def
-;  V04 loc0         [V04,T00] (  6, 17.50)     int  ->  rax        
-;  V05 loc1         [V05,T05] (  2,  8   )   byref  ->  r10        
+;  V03 arg3         [V03,T03] (  5,  8   )     int  ->   r9         single-def
+;  V04 loc0         [V04,T00] (  7, 18.50)     int  ->  rax        
+;  V05 loc1         [V05,T02] (  5, 10.50)   byref  ->  r10        
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.TimeSpan>
 ;* V08 tmp2         [V08    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.TimeSpan>
@@ -23,59 +23,91 @@
 ;* V12 tmp6         [V12    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.TimeSpan>
 ;* V13 tmp7         [V13,T10] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V14 tmp8         [V14    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V15 tmp9         [V15,T06] (  3,  5.78)    long  ->  rdx         single-def "field V01._ticks (fldOffset=0x0)" P-INDEP
-;  V16 tmp10        [V16,T07] (  2,  3   )    long  ->   r8         single-def "field V02._ticks (fldOffset=0x0)" P-INDEP
-;  V17 tmp11        [V17,T03] (  3,  8.78)    long  ->  r11         "field V07._ticks (fldOffset=0x0)" P-INDEP
+;  V15 tmp9         [V15,T06] (  5,  6.98)    long  ->  rdx         single-def "field V01._ticks (fldOffset=0x0)" P-INDEP
+;  V16 tmp10        [V16,T07] (  4,  4.28)    long  ->   r8         single-def "field V02._ticks (fldOffset=0x0)" P-INDEP
+;  V17 tmp11        [V17,T01] (  6, 10.98)    long  ->  r11         "field V07._ticks (fldOffset=0x0)" P-INDEP
 ;* V18 tmp12        [V18    ] (  0,  0   )    long  ->  zero-ref    "field V08._ticks (fldOffset=0x0)" P-INDEP
-;  V19 tmp13        [V19,T08] (  2,  4   )    long  ->  r10         "field V11._ticks (fldOffset=0x0)" P-INDEP
+;  V19 tmp13        [V19,T08] (  5,  5.78)    long  ->  rbx         "field V11._ticks (fldOffset=0x0)" P-INDEP
 ;* V20 tmp14        [V20    ] (  0,  0   )    long  ->  zero-ref    "field V12._ticks (fldOffset=0x0)" P-INDEP
-;  V21 cse0         [V21,T01] (  3, 10   )    long  ->  r10         "CSE - aggressive"
+;  V21 cse0         [V21,T04] (  3, 10   )    long  ->  rbx         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M35202_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-                       ;; size=0 bbWeight=1 PerfScore 0.00
+       push     rbx
+                       ;; size=1 bbWeight=1 PerfScore 1.00
 G_M35202_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
        ; byrRegs +[rcx]
        xor      eax, eax
        test     r9d, r9d
-       jle      SHORT G_M35202_IG07
-                       ;; size=7 bbWeight=1 PerfScore 1.50
-G_M35202_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       jle      SHORT G_M35202_IG12
+       mov      r10, rcx
+       ; byrRegs +[r10]
+       mov      r11, qword ptr [r10]
+       cmp      rdx, r11
+       jl       SHORT G_M35202_IG04
+                       ;; size=18 bbWeight=1 PerfScore 5.00
+G_M35202_IG03:        ; bbWeight=0.20, gcrefRegs=0000 {}, byrefRegs=0402 {rcx r10}, byref, isz
+       cmp      rdx, r11
+       jg       SHORT G_M35202_IG05
+                       ;; size=5 bbWeight=0.20 PerfScore 0.25
+G_M35202_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0402 {rcx r10}, byref, isz
+       mov      rbx, qword ptr [r10]
+       cmp      r8, rbx
+       jge      SHORT G_M35202_IG14
+                       ;; size=8 bbWeight=0.50 PerfScore 1.62
+G_M35202_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       ; byrRegs -[r10]
+       mov      eax, 1
+       cmp      r9d, 1
+       jle      SHORT G_M35202_IG12
+                       ;; size=11 bbWeight=1 PerfScore 1.50
+G_M35202_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
        movsxd   r10, eax
        lea      r10, bword ptr [rcx+8*r10]
        ; byrRegs +[r10]
-       mov      r10, qword ptr [r10]
-       ; byrRegs -[r10]
-       mov      r11, r10
+       mov      rbx, qword ptr [r10]
+       mov      r11, rbx
        cmp      rdx, r11
-       jl       SHORT G_M35202_IG05
+       jl       SHORT G_M35202_IG08
                      ;; size=18 bbWeight=4 PerfScore 17.00
-G_M35202_IG04:        ; bbWeight=0.78, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+G_M35202_IG07:        ; bbWeight=0.78, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       ; byrRegs -[r10]
        cmp      rdx, r11
-       jg       SHORT G_M35202_IG06
+       jg       SHORT G_M35202_IG11
                       ;; size=5 bbWeight=0.78 PerfScore 0.98
-G_M35202_IG05:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
-       cmp      r8, r10
-       jge      SHORT G_M35202_IG09
+G_M35202_IG08:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       cmp      r8, rbx
+       jl       SHORT G_M35202_IG11
                         ;; size=5 bbWeight=2 PerfScore 2.50
-G_M35202_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+G_M35202_IG09:        ; bbWeight=0.78, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       ; byrRegs -[rcx]
+       cmp      r8, rbx
+       jle      SHORT G_M35202_IG14
+                       ;; size=5 bbWeight=0.78 PerfScore 0.98
+G_M35202_IG10:        ; bbWeight=0.70, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M35202_IG14
+                       ;; size=2 bbWeight=0.70 PerfScore 1.39
+G_M35202_IG11:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       ; byrRegs +[rcx]
        inc      eax
        cmp      eax, r9d
-       jl       SHORT G_M35202_IG03
+       jl       SHORT G_M35202_IG06
                      ;; size=7 bbWeight=4 PerfScore 6.00
-G_M35202_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M35202_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; byrRegs -[rcx]
        mov      eax, -1
                        ;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M35202_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+G_M35202_IG13:        ; bbWeight=0.50, epilog, nogc, extend
+       pop      rbx
        ret      
-                      ;; size=1 bbWeight=0.50 PerfScore 0.50
-G_M35202_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+                     ;; size=2 bbWeight=0.50 PerfScore 0.75
+G_M35202_IG14:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       pop      rbx
        ret      
-                      ;; size=1 bbWeight=0.50 PerfScore 0.50
+                        ;; size=2 bbWeight=0.50 PerfScore 0.75
 
-; Total bytes of code 49, prolog size 0, PerfScore 29.11, instruction count 19, allocated bytes for code 49 (MethodHash=d886767d) for method System.SpanHelpers:IndexOfAnyInRange[System.TimeSpan](byref,System.TimeSpan,System.TimeSpan,int):int (FullOpts)
+; Total bytes of code 94, prolog size 1, PerfScore 39.85, instruction count 37, allocated bytes for code 94 (MethodHash=d886767d) for method System.SpanHelpers:IndexOfAnyInRange[System.TimeSpan](byref,System.TimeSpan,System.TimeSpan,int):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -83,8 +115,9 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x00
-  CountOfUnwindCodes: 0
+  SizeOfProlog      : 0x01
+  CountOfUnwindCodes: 1
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
+    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
  
+34 (+125.93%) : 203892.dasm - System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
@@ -7,9 +7,9 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  5, 11   )     int  ->  rax        
-;  V01 arg1         [V01,T00] (  7, 19   )     int  ->   r8        
-;  V02 loc0         [V02,T02] (  2,  8   )     int  ->  rdx        
+;  V00 arg0         [V00,T01] (  7, 13   )     int  ->  registers  
+;  V01 arg1         [V01,T00] ( 11, 23   )     int  ->  registers  
+;  V02 loc0         [V02,T02] (  4, 10   )     int  ->  rdx        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -20,21 +20,43 @@ G_M22426_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=5 bbWeight=1 PerfScore 0.50
 G_M22426_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        test     r8d, r8d
-       je       SHORT G_M22426_IG04
-                       ;; size=5 bbWeight=1 PerfScore 1.25
-G_M22426_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M22426_IG08
        xor      edx, edx
        div      edx:eax, r8d
        mov      eax, r8d
        mov      r8d, edx
        test     r8d, r8d
-       jne      SHORT G_M22426_IG03
-                       ;; size=16 bbWeight=4 PerfScore 108.00
-G_M22426_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       je       SHORT G_M22426_IG07
+                       ;; size=21 bbWeight=1 PerfScore 28.25
+G_M22426_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       xor      edx, edx
+       div      edx:eax, r8d
+       mov      eax, edx
+       test     eax, eax
+       jne      SHORT G_M22426_IG06
+                       ;; size=11 bbWeight=4 PerfScore 107.00
+G_M22426_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      eax, r8d
+                       ;; size=3 bbWeight=1 PerfScore 0.25
+G_M22426_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
+G_M22426_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+       mov      ecx, eax
+       mov      eax, r8d
+       mov      r8d, ecx
+       jmp      SHORT G_M22426_IG03
+                       ;; size=10 bbWeight=2 PerfScore 5.50
+G_M22426_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      r8d, eax
+       jmp      SHORT G_M22426_IG04
+                       ;; size=5 bbWeight=0.50 PerfScore 1.12
+G_M22426_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      r8d, eax
+       jmp      SHORT G_M22426_IG04
+                       ;; size=5 bbWeight=0.50 PerfScore 1.12
 
-; Total bytes of code 27, prolog size 5, PerfScore 110.75, instruction count 11, allocated bytes for code 27 (MethodHash=f186a865) for method System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
+; Total bytes of code 61, prolog size 5, PerfScore 144.75, instruction count 25, allocated bytes for code 61 (MethodHash=f186a865) for method System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
realworld.run.windows.x64.checked.mch
-34 (-31.78%) : 1334.dasm - BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
@@ -8,25 +8,23 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T04] (  4,  4   )   byref  ->  rcx         single-def
-;  V01 arg1         [V01,T05] (  4,  4   )   byref  ->  rdx         single-def
-;  V02 arg2         [V02,T06] (  4,  4   )   byref  ->   r8         single-def
-;* V03 loc0         [V03,T10] (  0,  0   )     int  ->  zero-ref   
-;  V04 loc1         [V04,T07] (  2,  5   )   byref  ->   r8         single-def
-;  V05 loc2         [V05,T08] (  2,  5   )   byref  ->  rdx         single-def
-;  V06 loc3         [V06,T00] (  5, 17   )     int  ->  rax        
-;  V07 loc4         [V07,T01] (  4, 16   )   byref  ->   r9        
-;  V08 loc5         [V08,T03] (  3, 12   )   byref  ->  r11        
+;  V00 arg0         [V00,T00] (  4,  4   )   byref  ->  rcx         single-def
+;  V01 arg1         [V01,T01] (  4,  4   )   byref  ->  rdx         single-def
+;  V02 arg2         [V02,T02] (  4,  4   )   byref  ->   r8         single-def
+;* V03 loc0         [V03,T09] (  0,  0   )     int  ->  zero-ref   
+;  V04 loc1         [V04,T05] (  2,  2   )   byref  ->   r8         single-def
+;  V05 loc2         [V05,T06] (  2,  2   )   byref  ->  rdx         single-def
+;* V06 loc3         [V06,T08] (  0,  0   )     int  ->  zero-ref   
+;  V07 loc4         [V07,T03] (  4,  4   )   byref  ->  rcx        
+;  V08 loc5         [V08,T04] (  3,  3   )   byref  ->   r8        
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 cse0         [V10,T09] (  2,  5   )   byref  ->  rcx         hoist "CSE - aggressive"
-;  V11 cse1         [V11,T02] (  4, 16   )    long  ->  r10         "CSE - aggressive"
+;  V10 cse0         [V10,T07] (  2,  2   )   byref  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M31235_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-       push     rbx
        vzeroupper 
-                        ;; size=4 bbWeight=1 PerfScore 2.00
+                       ;; size=3 bbWeight=1 PerfScore 1.00
 G_M31235_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0106 {rcx rdx r8}, byref
        ; byrRegs +[rcx rdx r8]
        xor      eax, eax
@@ -35,39 +33,22 @@ G_M31235_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0106 {rcx rdx r
        vmovdqu  ymmword ptr [r8], ymm0
        vmovdqu  ymmword ptr [r8+0x18], ymm0
        add      rdx, 4
-                       ;; size=24 bbWeight=1 PerfScore 5.83
-G_M31235_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0106 {rcx rdx r8}, byref
        cmp      byte  ptr [rcx], cl
        add      rcx, 28
-                      ;; size=6 bbWeight=1 PerfScore 3.25
-G_M31235_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0106 {rcx rdx r8}, byref, isz
-       movsxd   r10, eax
-       lea      r9, [r10+4*r10]
-       lea      r9, bword ptr [rcx+4*r9]
-       ; byrRegs +[r9]
-       mov      r11, r10
-       shl      r11, 4
-       add      r11, r8
-       ; byrRegs +[r11]
-       mov      ebx, dword ptr [r9+0x10]
-       mov      dword ptr [rdx+4*r10], ebx
-       vmovsd   xmm0, qword ptr [r9]
-       vinsertps xmm0, xmm0, dword ptr [r9+0x08], 40
-       vmovsd   qword ptr [r11], xmm0
-       vextractps dword ptr [r11+0x08], xmm0, 2
-       vmovss   xmm0, dword ptr [r9+0x0C]
-       vmovss   dword ptr [r11+0x0C], xmm0
-       inc      eax
-       test     eax, eax
-       jle      SHORT G_M31235_IG04
-                       ;; size=71 bbWeight=4 PerfScore 103.00
-G_M31235_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-       ; byrRegs -[rcx rdx r8-r9 r11]
-       pop      rbx
+       mov      eax, dword ptr [rcx+0x10]
+       mov      dword ptr [rdx], eax
+       vmovsd   xmm0, qword ptr [rcx]
+       vinsertps xmm0, xmm0, dword ptr [rcx+0x08], 40
+       vmovsd   qword ptr [r8], xmm0
+       vextractps dword ptr [r8+0x08], xmm0, 2
+       vmovss   xmm0, dword ptr [rcx+0x0C]
+       vmovss   dword ptr [r8+0x0C], xmm0
+                       ;; size=69 bbWeight=1 PerfScore 31.08
+G_M31235_IG03:        ; bbWeight=1, epilog, nogc, extend
        ret      
-                     ;; size=2 bbWeight=1 PerfScore 1.50
+                       ;; size=1 bbWeight=1 PerfScore 1.00
 
-; Total bytes of code 107, prolog size 4, PerfScore 115.58, instruction count 29, allocated bytes for code 107 (MethodHash=076885fc) for method BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
+; Total bytes of code 73, prolog size 3, PerfScore 33.08, instruction count 18, allocated bytes for code 73 (MethodHash=076885fc) for method BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -75,9 +56,8 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x01
-  CountOfUnwindCodes: 1
+  SizeOfProlog      : 0x00
+  CountOfUnwindCodes: 0
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
  
-16 (-11.35%) : 11240.dasm - FSharp.Compiler.TypedTreePickle+p_tcaug@1979-16:Invoke(Microsoft.FSharp.Core.Unit,FSharp.Compiler.TypedTreePickle+WriterState):Microsoft.FSharp.Core.Unit:this (FullOpts)
@@ -10,74 +10,59 @@
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <FSharp.Compiler.TypedTreePickle+p_tcaug@1979-16>
 ;* V01 arg1         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <Microsoft.FSharp.Core.Unit>
-;  V02 arg2         [V02,T05] (  3, 10   )     ref  ->  rbx         class-hnd single-def <FSharp.Compiler.TypedTreePickle+WriterState>
+;  V02 arg2         [V02,T03] (  3,  3   )     ref  ->   r8         class-hnd single-def <FSharp.Compiler.TypedTreePickle+WriterState>
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T03] (  4, 25   )     int  ->  rsi         "Inline stloc first use temp"
+;* V04 tmp1         [V04,T05] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V05 tmp2         [V05,T06] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V06 tmp3         [V06,T00] (  7,112   )     ref  ->  rdi         class-hnd exact "Inlining Arg" <FSharp.Compiler.IO.ByteBuffer>
-;  V07 tmp4         [V07,T04] (  3, 24   )     int  ->  rbp         "Inline stloc first use temp"
+;  V06 tmp3         [V06,T00] (  7, 14   )     ref  ->  rbx         class-hnd exact "Inlining Arg" <FSharp.Compiler.IO.ByteBuffer>
+;  V07 tmp4         [V07,T04] (  3,  3   )     int  ->  rsi         "Inline stloc first use temp"
 ;  V08 tmp5         [V08,T07] (  3,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <<unknown class>>
-;  V09 tmp6         [V09,T01] (  3, 48   )     ref  ->  rax         "arr expr"
-;  V10 tmp7         [V10,T02] (  3, 48   )     int  ->  rcx         "index expr"
+;  V09 tmp6         [V09,T01] (  3,  6   )     ref  ->  rax         "arr expr"
+;  V10 tmp7         [V10,T02] (  3,  6   )     int  ->  rcx         "index expr"
 ;  V11 tmp8         [V11,T08] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;
 ; Lcl frame size = 40
 
 G_M15044_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-       push     rdi
        push     rsi
-       push     rbp
        push     rbx
        sub      rsp, 40
-       mov      rbx, r8
+                     ;; size=6 bbWeight=1 PerfScore 2.25
+G_M15044_IG02:        ; bbWeight=1, gcrefRegs=0100 {r8}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[r8]
+       mov      rbx, gword ptr [r8+0x08]
        ; gcrRegs +[rbx]
-                      ;; size=11 bbWeight=1 PerfScore 4.50
-G_M15044_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       xor      esi, esi
-                       ;; size=2 bbWeight=1 PerfScore 0.25
-G_M15044_IG03:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      rdi, gword ptr [rbx+0x08]
-       ; gcrRegs +[rdi]
-       cmp      byte  ptr [rdi+0x15], 0
-       jne      SHORT G_M15044_IG07
-       mov      ebp, dword ptr [rdi+0x10]
-       inc      ebp
-       mov      rcx, rdi
-       ; gcrRegs +[rcx]
-       mov      edx, ebp
-       call     [<unknown method>]
-       ; gcrRegs -[rcx]
-       ; gcr arg pop 0
-       mov      rax, gword ptr [rdi+0x08]
-       ; gcrRegs +[rax]
-       mov      ecx, dword ptr [rdi+0x10]
-       cmp      ecx, dword ptr [rax+0x08]
-       jae      SHORT G_M15044_IG06
-       mov      byte  ptr [rax+rcx+0x10], 0
-       mov      dword ptr [rdi+0x10], ebp
+       cmp      byte  ptr [rbx+0x15], 0
+       jne      SHORT G_M15044_IG05
+       mov      esi, dword ptr [rbx+0x10]
        inc      esi
-       cmp      esi, 1
-       jne      SHORT G_M15044_IG03
-                       ;; size=53 bbWeight=8 PerfScore 186.00
-G_M15044_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rax rbx rdi]
-       xor      rax, rax
+       mov      rcx, rbx
+       ; gcrRegs +[rcx]
+       mov      edx, esi
+       call     [<unknown method>]
+       ; gcrRegs -[rcx r8]
+       ; gcr arg pop 0
+       mov      rax, gword ptr [rbx+0x08]
        ; gcrRegs +[rax]
-                     ;; size=2 bbWeight=1 PerfScore 0.25
-G_M15044_IG05:        ; bbWeight=1, epilog, nogc, extend
+       mov      ecx, dword ptr [rbx+0x10]
+       cmp      ecx, dword ptr [rax+0x08]
+       jae      SHORT G_M15044_IG04
+       mov      byte  ptr [rax+rcx+0x10], 0
+       mov      dword ptr [rbx+0x10], esi
+       xor      rax, rax
+                       ;; size=48 bbWeight=1 PerfScore 22.00
+G_M15044_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
-       pop      rbp
        pop      rsi
-       pop      rdi
        ret      
-                     ;; size=9 bbWeight=1 PerfScore 3.25
-G_M15044_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs -[rax]
+                      ;; size=7 bbWeight=1 PerfScore 2.25
+G_M15044_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs -[rax rbx]
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M15044_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M15044_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, 0xD1FFAB1E      ; <unknown class>
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
@@ -103,7 +88,7 @@ G_M15044_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=59 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 141, prolog size 8, PerfScore 194.25, instruction count 44, allocated bytes for code 141 (MethodHash=4234c53b) for method FSharp.Compiler.TypedTreePickle+p_tcaug@1979-16:Invoke(Microsoft.FSharp.Core.Unit,FSharp.Compiler.TypedTreePickle+WriterState):Microsoft.FSharp.Core.Unit:this (FullOpts)
+; Total bytes of code 125, prolog size 6, PerfScore 26.50, instruction count 35, allocated bytes for code 125 (MethodHash=4234c53b) for method FSharp.Compiler.TypedTreePickle+p_tcaug@1979-16:Invoke(Microsoft.FSharp.Core.Unit,FSharp.Compiler.TypedTreePickle+WriterState):Microsoft.FSharp.Core.Unit:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -111,13 +96,11 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x08
-  CountOfUnwindCodes: 5
+  SizeOfProlog      : 0x06
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
-    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
-    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
+    CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
  
-32 (-10.63%) : 17656.dasm - System.Threading.PortableThreadPool:EnsureIOCompletionPollers():this (FullOpts)
@@ -8,32 +8,30 @@
 ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  8, 13.92)     ref  ->  [rbp+0x10]  this class-hnd EH-live single-def <System.Threading.PortableThreadPool>
-;  V01 loc0         [V01,T03] (  3,  9.92)     ref  ->  rbx         class-hnd exact single-def <<unknown class>>
-;  V02 loc1         [V02,T01] (  5, 32.68)     int  ->  rsi        
+;  V00 this         [V00,T00] (  8,  7   )     ref  ->  [rbp+0x10]  this class-hnd EH-live single-def <System.Threading.PortableThreadPool>
+;  V01 loc0         [V01,T03] (  3,  3   )     ref  ->  rbx         class-hnd exact single-def <<unknown class>>
+;* V02 loc1         [V02,T04] (  0,  0   )     int  ->  zero-ref   
 ;* V03 loc2         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T00] (  3, 47.52)     ref  ->  r14         class-hnd exact "NewObj constructor temp" <<unknown class>>
+;  V05 tmp1         [V05,T02] (  3,  6   )     ref  ->  rsi         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;  V06 tmp2         [V06,T07] (  2,  0   )     ref  ->  rdx         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V07 tmp3         [V07,T05] (  4,  8   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.Threading.LowLevelLock>
-;  V08 PSPSym       [V08,T06] (  1,  1   )    long  ->  [rbp-0x30]  do-not-enreg[V] "PSPSym"
-;  V09 cse0         [V09,T04] (  2,  8.92)    long  ->  rdi         hoist "CSE - aggressive"
+;  V07 tmp3         [V07,T01] (  4,  8   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.Threading.LowLevelLock>
+;  V08 PSPSym       [V08,T06] (  1,  1   )    long  ->  [rbp-0x20]  do-not-enreg[V] "PSPSym"
+;  V09 cse0         [V09,T05] (  2,  2   )    long  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 48
 
 G_M34740_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
-       push     r14
-       push     rdi
        push     rsi
        push     rbx
        sub      rsp, 48
-       lea      rbp, [rsp+0x50]
-       mov      qword ptr [rbp-0x30], rsp
+       lea      rbp, [rsp+0x40]
+       mov      qword ptr [rbp-0x20], rsp
        mov      gword ptr [rbp+0x10], rcx
        ; GC ptr vars +{V00}
-                      ;; size=23 bbWeight=1 PerfScore 7.75
-G_M34740_IG02:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, gcvars, byref, isz
+                       ;; size=20 bbWeight=1 PerfScore 5.75
+G_M34740_IG02:        ; bbWeight=1, gcVars=0000000000000001 {V00}, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rcx]
        mov      rbx, gword ptr [rcx+0x18]
        ; gcrRegs +[rbx]
@@ -55,7 +53,7 @@ G_M34740_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
        cmp      gword ptr [rcx+0x10], 0
-       jne      SHORT G_M34740_IG07
+       jne      SHORT G_M34740_IG05
        mov      rcx, 0xD1FFAB1E      ; <unknown class>
        ; gcrRegs -[rcx]
        mov      edx, 1
@@ -64,37 +62,25 @@ G_M34740_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcr arg pop 0
        mov      rbx, rax
        ; gcrRegs +[rbx]
-       xor      esi, esi
-       mov      rdi, 0xD1FFAB1E      ; <unknown class>
-                       ;; size=46 bbWeight=1 PerfScore 7.25
-G_M34740_IG04:        ; bbWeight=7.92, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
-       mov      rcx, rdi
+       mov      rcx, 0xD1FFAB1E      ; <unknown class>
        call     CORINFO_HELP_NEWSFAST
-       ; gcrRegs +[rax]
        ; gcr arg pop 0
-       mov      r14, rax
-       ; gcrRegs +[r14]
+       mov      rsi, rax
+       ; gcrRegs +[rsi]
        mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
        mov      rdx, qword ptr [rcx+0x48]
-       mov      rcx, r14
+       mov      rcx, rsi
        call     [<unknown method>]
        ; gcrRegs -[rax rcx]
        ; gcr arg pop 0
-       mov      ecx, esi
-       lea      rcx, bword ptr [rbx+8*rcx+0x10]
+       lea      rcx, bword ptr [rbx+0x10]
        ; byrRegs +[rcx]
-       mov      rdx, r14
+       mov      rdx, rsi
        ; gcrRegs +[rdx]
        call     CORINFO_HELP_ASSIGN_REF
-       ; gcrRegs -[rdx r14]
+       ; gcrRegs -[rdx rsi]
        ; byrRegs -[rcx]
-       inc      esi
-       test     esi, esi
-       jle      SHORT G_M34740_IG04
-                       ;; size=49 bbWeight=7.92 PerfScore 93.06
-G_M34740_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
        lea      rcx, bword ptr [rcx+0x10]
@@ -105,12 +91,12 @@ G_M34740_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rdx rbx]
        ; byrRegs -[rcx]
-       jmp      SHORT G_M34740_IG07
-                       ;; size=18 bbWeight=1 PerfScore 4.75
-G_M34740_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M34740_IG05
+                       ;; size=99 bbWeight=1 PerfScore 21.00
+G_M34740_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=0 PerfScore 0.00
-G_M34740_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M34740_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
        mov      rcx, gword ptr [rcx+0x18]
@@ -121,78 +107,68 @@ G_M34740_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcr arg pop 0
        nop      
                        ;; size=17 bbWeight=1 PerfScore 9.25
-G_M34740_IG08:        ; bbWeight=1, epilog, nogc, extend
+G_M34740_IG06:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 48
        pop      rbx
        pop      rsi
-       pop      rdi
-       pop      r14
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=1 PerfScore 3.75
-G_M34740_IG09:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                     ;; size=8 bbWeight=1 PerfScore 2.75
+G_M34740_IG07:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        ; gcrRegs +[rdx]
        push     rbp
-       push     r14
-       push     rdi
        push     rsi
        push     rbx
        sub      rsp, 48
        mov      rbp, qword ptr [rcx+0x20]
        mov      qword ptr [rsp+0x20], rbp
-       lea      rbp, [rbp+0x50]
-                       ;; size=23 bbWeight=0 PerfScore 0.00
-G_M34740_IG10:        ; bbWeight=0, gcVars=0000000000000004 {V00}, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, gcvars, byref
-       ; GC ptr vars +{V00 V02}
+       lea      rbp, [rbp+0x40]
+                       ;; size=20 bbWeight=0 PerfScore 0.00
+G_M34740_IG08:        ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, gcvars, byref
+       ; GC ptr vars +{V00}
        mov      rcx, 0xD1FFAB1E
        ; gcrRegs +[rcx]
        call     <unknown method>
        ; gcrRegs -[rcx rdx]
        ; gcr arg pop 0
-       lea      rax, G_M34740_IG06
+       lea      rax, G_M34740_IG04
                      ;; size=22 bbWeight=0 PerfScore 0.00
-G_M34740_IG11:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M34740_IG09:        ; bbWeight=0, funclet epilog, nogc, extend
        add      rsp, 48
        pop      rbx
        pop      rsi
-       pop      rdi
-       pop      r14
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=0 PerfScore 0.00
-G_M34740_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                        ;; size=8 bbWeight=0 PerfScore 0.00
+G_M34740_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        push     rbp
-       push     r14
-       push     rdi
        push     rsi
        push     rbx
        sub      rsp, 48
        mov      rbp, qword ptr [rcx+0x20]
        mov      qword ptr [rsp+0x20], rbp
-       lea      rbp, [rbp+0x50]
-                       ;; size=23 bbWeight=0 PerfScore 0.00
-G_M34740_IG13:        ; bbWeight=0, gcVars=0000000000000004 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       lea      rbp, [rbp+0x40]
+                       ;; size=20 bbWeight=0 PerfScore 0.00
+G_M34740_IG11:        ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
        mov      rcx, gword ptr [rcx+0x18]
        cmp      dword ptr [rcx], ecx
-       ; GC ptr vars -{V00 V02}
+       ; GC ptr vars -{V00}
        call     [System.Threading.LowLevelLock:Release():this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        nop      
                        ;; size=17 bbWeight=0 PerfScore 0.00
-G_M34740_IG14:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M34740_IG12:        ; bbWeight=0, funclet epilog, nogc, extend
        add      rsp, 48
        pop      rbx
        pop      rsi
-       pop      rdi
-       pop      r14
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=0 PerfScore 0.00
+                      ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 301, prolog size 23, PerfScore 138.81, instruction count 99, allocated bytes for code 301 (MethodHash=d1ba784b) for method System.Threading.PortableThreadPool:EnsureIOCompletionPollers():this (FullOpts)
+; Total bytes of code 269, prolog size 20, PerfScore 51.75, instruction count 81, allocated bytes for code 269 (MethodHash=d1ba784b) for method System.Threading.PortableThreadPool:EnsureIOCompletionPollers():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -200,51 +176,45 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0A
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x07
+  CountOfUnwindCodes: 4
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0A UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
+    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 Unwind Info:
   >> Start offset   : 0xd1ffab1e (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0A
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x07
+  CountOfUnwindCodes: 4
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0A UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
...
  
+33 (+78.57%) : 20108.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousIf(Roslyn.Utilities.ConsList1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList1Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive
@@ -9,11 +9,12 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T01] (  3,  3   )     ref  ->  rcx         class-hnd single-def <Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]>
-;  V01 loc0         [V01,T00] (  7, 20   )     ref  ->  rcx         class-hnd <Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]>
+;  V01 loc0         [V01,T00] ( 12, 22.25)     ref  ->  rcx         class-hnd <Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]>
 ;* V02 loc1         [V02    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <<unknown class>>
-;  V05 tmp2         [V05,T02] (  2,  4   )     ref  ->  rax         "field V02._node (fldOffset=0x0)" P-INDEP
+;  V05 tmp2         [V05,T03] (  4,  4.50)     ref  ->  rdx         "field V02._node (fldOffset=0x0)" P-INDEP
+;  V06 cse0         [V06,T02] (  3,  5   )     ref  ->  rax         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -23,32 +24,58 @@ G_M49395_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
        ; gcrRegs +[rcx]
        jmp      SHORT G_M49395_IG04
                        ;; size=2 bbWeight=1 PerfScore 2.00
-G_M49395_IG03:        ; bbWeight=2, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
-       mov      rax, gword ptr [rcx+0x10]
+G_M49395_IG03:        ; bbWeight=0.25, gcrefRegs=0003 {rax rcx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rax]
-       cmp      word  ptr [rax+0x0C], 0x2164
-       je       SHORT G_M49395_IG06
+       mov      rdx, gword ptr [rcx+0x10]
+       ; gcrRegs +[rdx]
+       cmp      word  ptr [rdx+0x0C], 0x2164
+       je       SHORT G_M49395_IG10
+       mov      rcx, gword ptr [rcx+0x08]
+       jmp      SHORT G_M49395_IG08
+                       ;; size=18 bbWeight=0.25 PerfScore 2.50
+G_M49395_IG04:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax rdx]
+       test     rcx, rcx
+       je       SHORT G_M49395_IG10
+                       ;; size=5 bbWeight=1 PerfScore 1.25
+G_M49395_IG05:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       mov      rax, 0xD1FFAB1E      ; const ptr
+       mov      rax, gword ptr [rax]
+       ; gcrRegs +[rax]
+       cmp      rcx, rax
+       jne      SHORT G_M49395_IG03
+                       ;; size=18 bbWeight=0.50 PerfScore 1.75
+G_M49395_IG06:        ; bbWeight=0.06, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
+       jmp      SHORT G_M49395_IG10
+                       ;; size=2 bbWeight=0.06 PerfScore 0.12
+G_M49395_IG07:        ; bbWeight=2, gcrefRegs=0003 {rax rcx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[rax]
+       mov      rdx, gword ptr [rcx+0x10]
+       ; gcrRegs +[rdx]
+       cmp      word  ptr [rdx+0x0C], 0x2164
+       je       SHORT G_M49395_IG10
        mov      rcx, gword ptr [rcx+0x08]
                        ;; size=16 bbWeight=2 PerfScore 16.00
-G_M49395_IG04:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
+G_M49395_IG08:        ; bbWeight=8, gcrefRegs=0003 {rax rcx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rdx]
        test     rcx, rcx
-       je       SHORT G_M49395_IG06
+       je       SHORT G_M49395_IG10
                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M49395_IG05:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
-       mov      rax, 0xD1FFAB1E      ; const ptr
-       cmp      rcx, gword ptr [rax]
-       jne      SHORT G_M49395_IG03
-                       ;; size=15 bbWeight=4 PerfScore 17.00
-G_M49395_IG06:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
+G_M49395_IG09:        ; bbWeight=4, gcrefRegs=0003 {rax rcx}, byrefRegs=0000 {}, byref, isz
+       cmp      rcx, rax
+       jne      SHORT G_M49395_IG07
+                       ;; size=5 bbWeight=4 PerfScore 5.00
+G_M49395_IG10:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rax]
        mov      rax, rcx
        ; gcrRegs +[rax]
                        ;; size=3 bbWeight=1 PerfScore 0.25
-G_M49395_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M49395_IG11:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
 
-; Total bytes of code 42, prolog size 0, PerfScore 46.25, instruction count 12, allocated bytes for code 42 (MethodHash=07ef3f0c) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousIf(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (FullOpts)
+; Total bytes of code 75, prolog size 0, PerfScore 39.88, instruction count 23, allocated bytes for code 75 (MethodHash=07ef3f0c) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:GetPreviousIf(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive]):Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive] (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+17 (+80.95%) : 20586.dasm - Microsoft.CodeAnalysis.RealParser:CountSignificantBits(ubyte):uint (FullOpts)
@@ -7,9 +7,10 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  6, 15   )   ubyte  ->  rcx        
-;  V01 loc0         [V01,T01] (  4, 10   )     int  ->  rax        
+;  V00 arg0         [V00,T00] (  8, 17   )   ubyte  ->  rcx        
+;  V01 loc0         [V01,T01] (  5, 11   )     int  ->  rax        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+;  V03 cse0         [V03,T02] (  3,  3   )     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -17,9 +18,15 @@ G_M8822_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=0 bbWeight=1 PerfScore 0.00
 G_M8822_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      eax, eax
+       movzx    rcx, cl
+       test     ecx, ecx
+       je       SHORT G_M8822_IG04
+       sar      ecx, 1
+       movzx    rcx, cl
+       mov      eax, 1
        test     cl, cl
        je       SHORT G_M8822_IG04
-                       ;; size=6 bbWeight=1 PerfScore 1.50
+                       ;; size=23 bbWeight=1 PerfScore 4.00
 G_M8822_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        movzx    rcx, cl
        sar      ecx, 1
@@ -32,7 +39,7 @@ G_M8822_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
 
-; Total bytes of code 21, prolog size 0, PerfScore 12.50, instruction count 10, allocated bytes for code 21 (MethodHash=c66add89) for method Microsoft.CodeAnalysis.RealParser:CountSignificantBits(ubyte):uint (FullOpts)
+; Total bytes of code 38, prolog size 0, PerfScore 15.00, instruction count 16, allocated bytes for code 38 (MethodHash=c66add89) for method Microsoft.CodeAnalysis.RealParser:CountSignificantBits(ubyte):uint (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+32 (+82.05%) : 27598.dasm - System.Collections.Immutable.ImmutableList1+Node[System.Collections.Generic.KeyValuePair2[System.Canon,System.Canon]]:ItemRefUnchecked(int):byref:this (FullOpts)
@@ -7,53 +7,78 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  7, 23   )     ref  ->  rcx         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
-;  V01 arg1         [V01,T00] (  6, 26   )     int  ->  rdx        
+;  V00 this         [V00,T02] ( 11, 25.50)     ref  ->  rcx         this class-hnd <System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
+;  V01 arg1         [V01,T00] ( 10, 29   )     int  ->  rdx        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T06] (  2, 16   )     int  ->  rdx         "arg temp"
-;  V04 tmp2         [V04,T04] (  2, 16   )     ref  ->  rcx         single-def "arg temp"
-;  V05 tmp3         [V05,T05] (  2, 16   )     ref  ->  rcx         single-def "arg temp"
+;  V03 tmp1         [V03,T06] (  4, 18   )     int  ->  rdx         "arg temp"
+;  V04 tmp2         [V04,T04] (  4, 18   )     ref  ->  rcx         "arg temp"
+;  V05 tmp3         [V05,T05] (  4, 18   )     ref  ->  rcx         "arg temp"
 ;  V06 cse0         [V06,T01] (  4, 28   )     int  ->   r8         "CSE - aggressive"
-;  V07 cse1         [V07,T03] (  3, 20   )     ref  ->  rax         "CSE - aggressive"
+;  V07 cse1         [V07,T07] (  4,  3.50)     int  ->   r8         "CSE - aggressive"
+;  V08 cse2         [V08,T03] (  3, 20   )     ref  ->  rax         "CSE - aggressive"
+;  V09 cse3         [V09,T08] (  3,  2.50)     ref  ->  rax         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M15847_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
                        ;; size=0 bbWeight=1 PerfScore 0.00
-G_M15847_IG02:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+G_M15847_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rcx]
        mov      rax, gword ptr [rcx+0x08]
        ; gcrRegs +[rax]
        mov      r8d, dword ptr [rax+0x18]
        cmp      edx, r8d
        jge      SHORT G_M15847_IG04
-                      ;; size=13 bbWeight=8 PerfScore 42.00
-G_M15847_IG03:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+                      ;; size=13 bbWeight=1 PerfScore 5.25
+G_M15847_IG03:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
        mov      rcx, rax
        ; gcrRegs +[rcx]
-       jmp      SHORT G_M15847_IG02
-                       ;; size=5 bbWeight=4 PerfScore 9.00
-G_M15847_IG04:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M15847_IG06
+                       ;; size=5 bbWeight=0.50 PerfScore 1.12
+G_M15847_IG04:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
        cmp      edx, r8d
-       jle      SHORT G_M15847_IG06
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M15847_IG05:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       jle      SHORT G_M15847_IG10
+                       ;; size=5 bbWeight=1 PerfScore 1.25
+G_M15847_IG05:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
        sub      edx, r8d
        dec      edx
        mov      rcx, gword ptr [rcx+0x10]
-       jmp      SHORT G_M15847_IG02
+                       ;; size=9 bbWeight=0.50 PerfScore 1.25
+G_M15847_IG06:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       mov      rax, gword ptr [rcx+0x08]
+       ; gcrRegs +[rax]
+       mov      r8d, dword ptr [rax+0x18]
+       cmp      edx, r8d
+       jge      SHORT G_M15847_IG08
+                       ;; size=13 bbWeight=8 PerfScore 42.00
+G_M15847_IG07:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rcx]
+       mov      rcx, rax
+       ; gcrRegs +[rcx]
+       jmp      SHORT G_M15847_IG06
+                       ;; size=5 bbWeight=4 PerfScore 9.00
+G_M15847_IG08:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
+       cmp      edx, r8d
+       jle      SHORT G_M15847_IG10
+                       ;; size=5 bbWeight=8 PerfScore 10.00
+G_M15847_IG09:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       sub      edx, r8d
+       dec      edx
+       mov      rcx, gword ptr [rcx+0x10]
+       jmp      SHORT G_M15847_IG06
                         ;; size=11 bbWeight=4 PerfScore 18.00
-G_M15847_IG06:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
+G_M15847_IG10:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
        lea      rax, bword ptr [rcx+0x20]
        ; byrRegs +[rax]
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M15847_IG07:        ; bbWeight=1, epilog, nogc, extend
+G_M15847_IG11:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
 
-; Total bytes of code 39, prolog size 0, PerfScore 80.50, instruction count 14, allocated bytes for code 39 (MethodHash=df1ac218) for method System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:ItemRefUnchecked(int):byref:this (FullOpts)
+; Total bytes of code 71, prolog size 0, PerfScore 89.38, instruction count 25, allocated bytes for code 71 (MethodHash=df1ac218) for method System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:ItemRefUnchecked(int):byref:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
smoke_tests.nativeaot.windows.x64.checked.mch
-12 (-7.41%) : 9610.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitInvocation(System.Linq.Expressions.InvocationExpression):System.Linq.Expressions.Expression:this (FullOpts)
@@ -7,34 +7,33 @@
 ; partially interruptible
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  9, 18   )     ref  ->  rbx         this class-hnd exact single-def <System.Linq.Expressions.ExpressionStringBuilder>
-;  V01 arg1         [V01,T03] (  7,  9   )     ref  ->  rsi         class-hnd single-def <System.Linq.Expressions.InvocationExpression>
-;  V02 loc0         [V02,T06] (  2,  5   )     ref  ->  rdi         class-hnd exact single-def <System.String>
-;  V03 loc1         [V03,T02] (  5, 17   )     int  ->  rbp        
-;* V04 loc2         [V04,T07] (  0,  0   )     int  ->  zero-ref   
+;  V00 this         [V00,T00] (  9,  9   )     ref  ->  rbx         this class-hnd exact single-def <System.Linq.Expressions.ExpressionStringBuilder>
+;  V01 arg1         [V01,T01] (  7,  6   )     ref  ->  rsi         class-hnd single-def <System.Linq.Expressions.InvocationExpression>
+;  V02 loc0         [V02,T04] (  2,  2   )     ref  ->  rdx         class-hnd exact single-def <System.String>
+;* V03 loc1         [V03,T07] (  0,  0   )     int  ->  zero-ref   
+;* V04 loc2         [V04,T08] (  0,  0   )     int  ->  zero-ref   
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )     int  ->  zero-ref    "guarded devirt return temp"
 ;* V07 tmp2         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Linq.Expressions.InvocationExpression>
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Linq.Expressions.InvocationExpression1>
-;  V09 tmp4         [V09,T04] (  2,  8   )     ref  ->  rdx         "guarded devirt return temp"
+;  V09 tmp4         [V09,T05] (  2,  2   )     ref  ->  rdx         "guarded devirt return temp"
 ;* V10 tmp5         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Linq.Expressions.InvocationExpression>
 ;* V11 tmp6         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Linq.Expressions.InvocationExpression1>
-;  V12 tmp7         [V12,T05] (  3,  6   )     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
-;  V13 tmp8         [V13,T00] (  3, 24   )     ref  ->  rcx         class-hnd exact "Inlining Arg" <System.Text.StringBuilder>
+;  V12 tmp7         [V12,T02] (  3,  6   )     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
+;  V13 tmp8         [V13,T03] (  3,  6   )     ref  ->  rcx         class-hnd exact "Inlining Arg" <System.Text.StringBuilder>
+;  V14 cse0         [V14,T06] (  2,  2   )   byref  ->  rdx         "CSE - aggressive"
 ;
 ; Lcl frame size = 40
 
 G_M18080_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-       push     rdi
        push     rsi
-       push     rbp
        push     rbx
        sub      rsp, 40
        mov      rbx, rcx
        ; gcrRegs +[rbx]
        mov      rsi, rdx
        ; gcrRegs +[rsi]
-                      ;; size=14 bbWeight=1 PerfScore 4.75
+                      ;; size=12 bbWeight=1 PerfScore 2.75
 G_M18080_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
@@ -57,28 +56,25 @@ G_M18080_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
        call     [rax+0x30]<unknown method>
        ; gcrRegs -[rcx rdx] +[rax]
        ; gcr arg pop 0
-       lea      rdi, gword ptr [(reloc)]
-       ; gcrRegs +[rdi]
-       xor      ebp, ebp
+       lea      rdx, gword ptr [(reloc)]
+       ; gcrRegs +[rdx]
        lea      r8, [(reloc)]
        cmp      qword ptr [rsi], r8
-       je       SHORT G_M18080_IG06
-                       ;; size=62 bbWeight=1 PerfScore 19.50
-G_M18080_IG03:        ; bbWeight=4, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
+       je       SHORT G_M18080_IG04
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
        cmp      byte  ptr [rcx], cl
        mov      r8d, 2
-       lea      rdx, bword ptr [rdi+0x0C]
+       add      rdx, 12
+       ; gcrRegs -[rdx]
        ; byrRegs +[rdx]
        call     <unknown method>
-       ; gcrRegs -[rcx]
+       ; gcrRegs -[rax rcx]
        ; byrRegs -[rdx]
        ; gcr arg pop 0
        mov      rcx, rsi
        ; gcrRegs +[rcx]
-       mov      edx, ebp
+       xor      edx, edx
        call     System.Linq.Expressions.InvocationExpression1:GetArgument(int):System.Linq.Expressions.Expression:this
        ; gcrRegs -[rcx] +[rax]
        ; gcr arg pop 0
@@ -91,30 +87,22 @@ G_M18080_IG03:        ; bbWeight=4, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000
        call     [rax+0x30]<unknown method>
        ; gcrRegs -[rcx rdx] +[rax]
        ; gcr arg pop 0
-       inc      ebp
-       test     ebp, ebp
-       jle      SHORT G_M18080_IG03
-                       ;; size=49 bbWeight=4 PerfScore 61.00
-G_M18080_IG04:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rax rdi]
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
        mov      edx, 41
        cmp      dword ptr [rcx], ecx
        call     System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this
-       ; gcrRegs -[rcx rbx] +[rax]
+       ; gcrRegs -[rcx rbx]
        ; gcr arg pop 0
        mov      rax, rsi
-                     ;; size=19 bbWeight=1 PerfScore 6.50
-G_M18080_IG05:        ; bbWeight=1, epilog, nogc, extend
+                     ;; size=122 bbWeight=1 PerfScore 39.25
+G_M18080_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
-       pop      rbp
        pop      rsi
-       pop      rdi
        ret      
-                     ;; size=9 bbWeight=1 PerfScore 3.25
-G_M18080_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, gcvars, byref
+                       ;; size=7 bbWeight=1 PerfScore 2.25
+G_M18080_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        mov      rcx, rsi
        ; gcrRegs +[rcx]
@@ -124,7 +112,7 @@ G_M18080_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {
        int3     
                        ;; size=9 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 162, prolog size 8, PerfScore 95.00, instruction count 51, allocated bytes for code 162 (MethodHash=c8b5b95f) for method System.Linq.Expressions.ExpressionStringBuilder:VisitInvocation(System.Linq.Expressions.InvocationExpression):System.Linq.Expressions.Expression:this (FullOpts)
+; Total bytes of code 150, prolog size 6, PerfScore 44.25, instruction count 43, allocated bytes for code 150 (MethodHash=c8b5b95f) for method System.Linq.Expressions.ExpressionStringBuilder:VisitInvocation(System.Linq.Expressions.InvocationExpression):System.Linq.Expressions.Expression:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -132,13 +120,11 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x08
-  CountOfUnwindCodes: 5
+  SizeOfProlog      : 0x06
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
-    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
-    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
+    CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
  
-2 (-2.33%) : 12638.dasm - Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
@@ -8,21 +8,21 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T05] (  3,  3   )     ref  ->  rcx         this class-hnd exact single-def <Internal.TypeSystem.NoMetadata.NoMetadataType>
-;  V01 arg1         [V01,T04] (  3,  4   )     int  ->  rbx         single-def
+;  V01 arg1         [V01,T04] (  3,  2.25)     int  ->  rbx         single-def
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <Internal.TypeSystem.Instantiation+Enumerator>
 ;* V03 loc1         [V03    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <Internal.TypeSystem.Instantiation>
 ;* V04 loc2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <Internal.TypeSystem.TypeDesc>
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <Internal.TypeSystem.Instantiation+Enumerator>
 ;* V07 tmp2         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Internal.TypeSystem.TypeDesc[]>
-;* V08 tmp3         [V08,T03] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp4         [V09,T06] (  3,  4   )     ref  ->  rsi         single-def "field V02._collection (fldOffset=0x0)" P-INDEP
-;  V10 tmp5         [V10,T00] (  6, 29   )     int  ->  rdi         "field V02._currentIndex (fldOffset=0x8)" P-INDEP
+;* V08 tmp3         [V08,T01] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V09 tmp4         [V09,T03] (  3,  2.25)     ref  ->  rsi         single-def "field V02._collection (fldOffset=0x0)" P-INDEP
+;  V10 tmp5         [V10,T00] (  6,  4.50)     int  ->  rdi         "field V02._currentIndex (fldOffset=0x8)" P-INDEP
 ;  V11 tmp6         [V11,T07] (  2,  2   )     ref  ->  rsi         single-def "field V03._genericParameters (fldOffset=0x0)" P-INDEP
 ;  V12 tmp7         [V12,T08] (  2,  2   )     ref  ->  rsi         single-def "field V06._collection (fldOffset=0x0)" P-INDEP
 ;* V13 tmp8         [V13,T09] (  0,  0   )     int  ->  zero-ref    single-def "field V06._currentIndex (fldOffset=0x8)" P-INDEP
-;  V14 tmp9         [V14,T01] (  3, 12   )     ref  ->  rcx         "argument with side effect"
-;  V15 cse0         [V15,T02] (  3, 11   )     int  ->  rbp         hoist "CSE - aggressive"
+;  V14 tmp9         [V14,T02] (  3,  1.50)     ref  ->  rcx         "argument with side effect"
+;  V15 cse0         [V15,T06] (  3,  2.25)     int  ->  rbp         hoist "CSE - aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -42,10 +42,10 @@ G_M3627_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byre
        mov      ebp, dword ptr [rsi+0x08]
        jmp      SHORT G_M3627_IG04
                        ;; size=14 bbWeight=1 PerfScore 6.25
-G_M3627_IG03:        ; bbWeight=2, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
+G_M3627_IG03:        ; bbWeight=0.25, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
        cmp      edi, ebp
-       jae      SHORT G_M3627_IG10
+       jae      SHORT G_M3627_IG09
        mov      ecx, edi
        mov      rcx, gword ptr [rsi+8*rcx+0x10]
        ; gcrRegs +[rcx]
@@ -55,32 +55,18 @@ G_M3627_IG03:        ; bbWeight=2, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byre
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
-       jne      SHORT G_M3627_IG06
-                       ;; size=23 bbWeight=2 PerfScore 20.00
-G_M3627_IG04:        ; bbWeight=8, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
+       jne      SHORT G_M3627_IG07
+                       ;; size=23 bbWeight=0.25 PerfScore 2.50
+G_M3627_IG04:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
        inc      edi
        cmp      ebp, edi
        jg       SHORT G_M3627_IG03
-                       ;; size=6 bbWeight=8 PerfScore 12.00
-G_M3627_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+                      ;; size=6 bbWeight=1 PerfScore 1.50
+G_M3627_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rsi]
-       jmp      SHORT G_M3627_IG08
-                       ;; size=2 bbWeight=4 PerfScore 8.00
-G_M3627_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       mov      eax, 1
-                       ;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M3627_IG07:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 40
-       pop      rbx
-       pop      rbp
-       pop      rsi
-       pop      rdi
-       ret      
-                       ;; size=9 bbWeight=0.50 PerfScore 1.62
-G_M3627_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M3627_IG09:        ; bbWeight=0.50, epilog, nogc, extend
+G_M3627_IG06:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
        pop      rbp
@@ -88,13 +74,24 @@ G_M3627_IG09:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rdi
        ret      
                        ;; size=9 bbWeight=0.50 PerfScore 1.62
-G_M3627_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M3627_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       mov      eax, 1
+                       ;; size=5 bbWeight=0.50 PerfScore 0.12
+G_M3627_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 40
+       pop      rbx
+       pop      rbp
+       pop      rsi
+       pop      rdi
+       ret      
+                       ;; size=9 bbWeight=0.50 PerfScore 1.62
+G_M3627_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 86, prolog size 8, PerfScore 54.25, instruction count 39, allocated bytes for code 86 (MethodHash=ce01f1d4) for method Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
+; Total bytes of code 84, prolog size 8, PerfScore 18.25, instruction count 38, allocated bytes for code 84 (MethodHash=ce01f1d4) for method Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
-2 (-2.15%) : 7294.dasm - Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
@@ -9,21 +9,21 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T05] (  3,  3   )     ref  ->  rcx         this class-hnd exact single-def <Internal.TypeSystem.NoMetadata.NoMetadataType>
-;  V01 arg1         [V01,T04] (  3,  4   )     int  ->  rbx         single-def
+;  V01 arg1         [V01,T04] (  3,  2.25)     int  ->  rbx         single-def
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <Internal.TypeSystem.Instantiation+Enumerator>
 ;* V03 loc1         [V03    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <Internal.TypeSystem.Instantiation>
 ;* V04 loc2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <Internal.TypeSystem.TypeDesc>
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <Internal.TypeSystem.Instantiation+Enumerator>
 ;* V07 tmp2         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Internal.TypeSystem.TypeDesc[]>
-;* V08 tmp3         [V08,T03] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp4         [V09,T06] (  3,  4   )     ref  ->  rsi         single-def "field V02._collection (fldOffset=0x0)" P-INDEP
-;  V10 tmp5         [V10,T00] (  6, 29   )     int  ->  rdi         "field V02._currentIndex (fldOffset=0x8)" P-INDEP
+;* V08 tmp3         [V08,T01] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V09 tmp4         [V09,T03] (  3,  2.25)     ref  ->  rsi         single-def "field V02._collection (fldOffset=0x0)" P-INDEP
+;  V10 tmp5         [V10,T00] (  6,  4.50)     int  ->  rdi         "field V02._currentIndex (fldOffset=0x8)" P-INDEP
 ;  V11 tmp6         [V11,T07] (  2,  2   )     ref  ->  rsi         single-def "field V03._genericParameters (fldOffset=0x0)" P-INDEP
 ;  V12 tmp7         [V12,T08] (  2,  2   )     ref  ->  rsi         single-def "field V06._collection (fldOffset=0x0)" P-INDEP
 ;* V13 tmp8         [V13,T09] (  0,  0   )     int  ->  zero-ref    single-def "field V06._currentIndex (fldOffset=0x8)" P-INDEP
-;  V14 tmp9         [V14,T01] (  3, 12   )     ref  ->  rcx         "argument with side effect"
-;  V15 cse0         [V15,T02] (  3, 11   )     int  ->  rbp         hoist "CSE - aggressive"
+;  V14 tmp9         [V14,T02] (  3,  1.50)     ref  ->  rcx         "argument with side effect"
+;  V15 cse0         [V15,T06] (  3,  2.25)     int  ->  rbp         hoist "CSE - aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -43,10 +43,10 @@ G_M3627_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byre
        mov      ebp, dword ptr [rsi+0x08]
        jmp      SHORT G_M3627_IG04
                        ;; size=14 bbWeight=1 PerfScore 6.25
-G_M3627_IG03:        ; bbWeight=2, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
+G_M3627_IG03:        ; bbWeight=0.25, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
        cmp      edi, ebp
-       jae      SHORT G_M3627_IG10
+       jae      SHORT G_M3627_IG09
        mov      ecx, edi
        mov      rcx, gword ptr [rsi+8*rcx+0x10]
        ; gcrRegs +[rcx]
@@ -57,32 +57,18 @@ G_M3627_IG03:        ; bbWeight=2, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byre
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
-       jne      SHORT G_M3627_IG06
-                       ;; size=30 bbWeight=2 PerfScore 24.00
-G_M3627_IG04:        ; bbWeight=8, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
+       jne      SHORT G_M3627_IG07
+                       ;; size=30 bbWeight=0.25 PerfScore 3.00
+G_M3627_IG04:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
        inc      edi
        cmp      ebp, edi
        jg       SHORT G_M3627_IG03
-                       ;; size=6 bbWeight=8 PerfScore 12.00
-G_M3627_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+                      ;; size=6 bbWeight=1 PerfScore 1.50
+G_M3627_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rsi]
-       jmp      SHORT G_M3627_IG08
-                       ;; size=2 bbWeight=4 PerfScore 8.00
-G_M3627_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       mov      eax, 1
-                       ;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M3627_IG07:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 40
-       pop      rbx
-       pop      rbp
-       pop      rsi
-       pop      rdi
-       ret      
-                       ;; size=9 bbWeight=0.50 PerfScore 1.62
-G_M3627_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M3627_IG09:        ; bbWeight=0.50, epilog, nogc, extend
+G_M3627_IG06:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
        pop      rbp
@@ -90,13 +76,24 @@ G_M3627_IG09:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rdi
        ret      
                        ;; size=9 bbWeight=0.50 PerfScore 1.62
-G_M3627_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M3627_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       mov      eax, 1
+                       ;; size=5 bbWeight=0.50 PerfScore 0.12
+G_M3627_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 40
+       pop      rbx
+       pop      rbp
+       pop      rsi
+       pop      rdi
+       ret      
+                       ;; size=9 bbWeight=0.50 PerfScore 1.62
+G_M3627_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 93, prolog size 8, PerfScore 58.25, instruction count 40, allocated bytes for code 93 (MethodHash=ce01f1d4) for method Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
+; Total bytes of code 91, prolog size 8, PerfScore 18.75, instruction count 39, allocated bytes for code 91 (MethodHash=ce01f1d4) for method Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+37 (+82.22%) : 28438.dasm - System.Buffers.Text.FormattingHelpers:CountDecimalTrailingZeros(uint,byref):int (FullOpts)
@@ -7,10 +7,10 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  7, 16   )     int  ->  rcx        
+;  V00 arg0         [V00,T00] ( 10, 19   )     int  ->  rcx        
 ;  V01 arg1         [V01,T03] (  3,  3   )   byref  ->  rdx         single-def
-;  V02 loc0         [V02,T02] (  4, 10   )     int  ->  rax        
-;  V03 loc1         [V03,T01] (  3, 12   )     int  ->   r8        
+;  V02 loc0         [V02,T02] (  5, 11   )     int  ->  rax        
+;  V03 loc1         [V03,T01] (  6, 15   )     int  ->   r8        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
@@ -22,7 +22,17 @@ G_M41044_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0004 {rdx}, byr
        xor      eax, eax
        test     ecx, ecx
        je       SHORT G_M41044_IG04
-                      ;; size=6 bbWeight=1 PerfScore 1.50
+       mov      r8d, 0xD1FFAB1E
+       mov      r10d, ecx
+       imul     r8, r10
+       shr      r8, 35
+       lea      r10d, [r8+4*r8]
+       add      r10d, r10d
+       cmp      ecx, r10d
+       jne      SHORT G_M41044_IG04
+       mov      ecx, r8d
+       mov      eax, 1
+                       ;; size=43 bbWeight=1 PerfScore 7.00
 G_M41044_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0004 {rdx}, byref, isz
        mov      r8d, 0xD1FFAB1E
        mov      r10d, ecx
@@ -43,7 +53,7 @@ G_M41044_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
 
-; Total bytes of code 45, prolog size 0, PerfScore 33.50, instruction count 16, allocated bytes for code 45 (MethodHash=2a9f5fab) for method System.Buffers.Text.FormattingHelpers:CountDecimalTrailingZeros(uint,byref):int (FullOpts)
+; Total bytes of code 82, prolog size 0, PerfScore 39.00, instruction count 26, allocated bytes for code 82 (MethodHash=2a9f5fab) for method System.Buffers.Text.FormattingHelpers:CountDecimalTrailingZeros(uint,byref):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+39 (+84.78%) : 2462.dasm - System.GC:InterlockedAddMemoryPressure(byref,long):long (FullOpts)
@@ -7,44 +7,56 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T02] (  4, 18   )   byref  ->  rcx         single-def
-;  V01 arg1         [V01,T03] (  3, 10   )    long  ->  rdx         single-def
-;  V02 loc0         [V02,T00] (  5, 40   )    long  ->  [rsp+0x00]  spill-single-def
-;  V03 loc1         [V03,T01] (  5, 27   )    long  ->   r8        
+;  V00 arg0         [V00,T02] (  6, 20   )   byref  ->  rcx         single-def
+;  V01 arg1         [V01,T03] (  4, 11   )    long  ->  rdx         single-def
+;  V02 loc0         [V02,T00] ( 10, 45   )    long  ->  [rsp+0x00] 
+;  V03 loc1         [V03,T01] ( 10, 32   )    long  ->   r8        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 8
 
-G_M36377_IG01:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+G_M36377_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rax
-                      ;; size=1 bbWeight=8 PerfScore 8.00
-G_M36377_IG02:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+                      ;; size=1 bbWeight=1 PerfScore 1.00
+G_M36377_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
        ; byrRegs +[rcx]
        mov      rax, qword ptr [rcx]
-       mov      qword ptr [rsp], rax
        lea      r8, [rax+rdx]
+       mov      r10, 0xD1FFAB1E
        cmp      r8, rax
-       jge      SHORT G_M36377_IG04
-                       ;; size=16 bbWeight=8 PerfScore 38.00
-G_M36377_IG03:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref
-       mov      r8, 0xD1FFAB1E
-                       ;; size=10 bbWeight=2 PerfScore 0.50
-G_M36377_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       cmovl    r8, r10
+       mov      qword ptr [rsp], rax
        lock     
        cmpxchg  qword ptr [rcx], r8
        cmp      rax, qword ptr [rsp]
-       jne      SHORT G_M36377_IG02
-                       ;; size=11 bbWeight=8 PerfScore 168.00
-G_M36377_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       je       SHORT G_M36377_IG06
+                       ;; size=39 bbWeight=1 PerfScore 25.25
+G_M36377_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       mov      rax, qword ptr [rcx]
+       lea      r8, [rax+rdx]
+       cmp      r8, rax
+       jge      SHORT G_M36377_IG05
+                       ;; size=12 bbWeight=8 PerfScore 30.00
+G_M36377_IG04:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref
+       mov      r8, 0xD1FFAB1E
+                       ;; size=10 bbWeight=2 PerfScore 0.50
+G_M36377_IG05:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+       mov      qword ptr [rsp], rax
+       lock     
+       cmpxchg  qword ptr [rcx], r8
+       cmp      rax, qword ptr [rsp]
+       jne      SHORT G_M36377_IG03
+                       ;; size=15 bbWeight=8 PerfScore 176.00
+G_M36377_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; byrRegs -[rcx]
        mov      rax, r8
                        ;; size=3 bbWeight=1 PerfScore 0.25
-G_M36377_IG06:        ; bbWeight=1, epilog, nogc, extend
+G_M36377_IG07:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 8
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 46, prolog size 1, PerfScore 216.00, instruction count 14, allocated bytes for code 46 (MethodHash=ecbb71e6) for method System.GC:InterlockedAddMemoryPressure(byref,long):long (FullOpts)
+; Total bytes of code 85, prolog size 1, PerfScore 234.25, instruction count 24, allocated bytes for code 85 (MethodHash=ecbb71e6) for method System.GC:InterlockedAddMemoryPressure(byref,long):long (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+21 (+95.45%) : 12278.dasm - System.Collections.Hashtable+SyncHashtable:get_SyncRoot():System.Object:this (FullOpts)
@@ -7,10 +7,10 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  4, 12   )     ref  ->  rcx         this class-hnd exact <System.Collections.Hashtable+SyncHashtable>
+;  V00 this         [V00,T01] (  6, 14   )     ref  ->  rcx         this class-hnd exact <System.Collections.Hashtable+SyncHashtable>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )     ref  ->  zero-ref    single-def "guarded devirt return temp"
-;  V03 tmp2         [V03,T00] (  4, 38   )     ref  ->  rax         single-def "guarded devirt arg temp"
+;  V03 tmp2         [V03,T00] (  8, 46   )     ref  ->  rax         "guarded devirt arg temp"
 ;* V04 tmp3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <System.Collections.Hashtable>
 ;* V05 tmp4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Hashtable+SyncHashtable>
 ;
@@ -18,26 +18,40 @@
 
 G_M30653_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
                        ;; size=0 bbWeight=1 PerfScore 0.00
-G_M30653_IG02:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+G_M30653_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rcx]
        mov      rax, gword ptr [rcx+0x40]
        ; gcrRegs +[rax]
        lea      rcx, [(reloc)]
        ; gcrRegs -[rcx]
        cmp      qword ptr [rax], rcx
-       je       SHORT G_M30653_IG04
-                       ;; size=16 bbWeight=8 PerfScore 52.00
-G_M30653_IG03:        ; bbWeight=2, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M30653_IG05
        mov      rcx, rax
        ; gcrRegs +[rcx]
-       jmp      SHORT G_M30653_IG02
-                       ;; size=5 bbWeight=2 PerfScore 4.50
-G_M30653_IG04:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
+                     ;; size=19 bbWeight=1 PerfScore 6.75
+G_M30653_IG03:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
+       mov      rax, gword ptr [rcx+0x40]
+       ; gcrRegs +[rax]
+       lea      rcx, [(reloc)]
        ; gcrRegs -[rcx]
+       cmp      qword ptr [rax], rcx
+       je       SHORT G_M30653_IG05
+                       ;; size=16 bbWeight=8 PerfScore 52.00
+G_M30653_IG04:        ; bbWeight=2, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+       mov      rcx, rax
+       ; gcrRegs +[rcx]
+       jmp      SHORT G_M30653_IG03
+                       ;; size=5 bbWeight=2 PerfScore 4.50
+G_M30653_IG05:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rcx]
+       cmp      byte  ptr [rax], al
+                       ;; size=2 bbWeight=1 PerfScore 3.00
+G_M30653_IG06:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
 
-; Total bytes of code 22, prolog size 0, PerfScore 57.50, instruction count 7, allocated bytes for code 22 (MethodHash=e1238842) for method System.Collections.Hashtable+SyncHashtable:get_SyncRoot():System.Object:this (FullOpts)
+; Total bytes of code 43, prolog size 0, PerfScore 67.25, instruction count 13, allocated bytes for code 43 (MethodHash=e1238842) for method System.Collections.Hashtable+SyncHashtable:get_SyncRoot():System.Object:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
  
Details
Improvements/regressions per collection
| Collection | Contexts with diffs | Improvements | Regressions | Same size | Improvements (bytes) | Regressions (bytes) | 
| aspnet.run.windows.x64.checked.mch | 14,507 | 78 | 14,392 | 37 | -1,459 | +5,220,449 | 
| benchmarks.run.windows.x64.checked.mch | 5,652 | 26 | 5,614 | 12 | -834 | +1,458,550 | 
| benchmarks.run_pgo.windows.x64.checked.mch | 18,471 | 34 | 18,412 | 25 | -1,488 | +6,241,369 | 
| benchmarks.run_tiered.windows.x64.checked.mch | 2,859 | 11 | 2,845 | 3 | -529 | +792,337 | 
| coreclr_tests.run.windows.x64.checked.mch | 32,803 | 1,576 | 31,164 | 63 | -36,693 | +6,886,966 | 
| libraries.crossgen2.windows.x64.checked.mch | 22,835 | 45 | 22,769 | 21 | -489 | +4,171,304 | 
| libraries.pmi.windows.x64.checked.mch | 26,354 | 131 | 26,163 | 60 | -1,470 | +6,549,546 | 
| libraries_tests.run.windows.x64.Release.mch | 54,940 | 537 | 54,311 | 92 | -18,852 | +26,593,678 | 
| librariestestsnotieredcompilation.run.windows.x64.Release.mch | 26,278 | 155 | 26,092 | 31 | -9,528 | +9,508,392 | 
| realworld.run.windows.x64.checked.mch | 5,422 | 33 | 5,380 | 9 | -855 | +1,889,941 | 
| smoke_tests.nativeaot.windows.x64.checked.mch | 3,802 | 16 | 3,779 | 7 | -44 | +730,689 | 
|  | 213,923 | 2,642 | 210,921 | 360 | -72,241 | +70,043,221 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| aspnet.run.windows.x64.checked.mch | 113,609 | 48,175 | 65,434 | 0 (0.00%) | 99 (0.09%) | 
| benchmarks.run.windows.x64.checked.mch | 27,836 | 4 | 27,832 | 234 (0.83%) | 250 (0.89%) | 
| benchmarks.run_pgo.windows.x64.checked.mch | 101,137 | 49,789 | 51,348 | 129 (0.13%) | 581 (0.57%) | 
| benchmarks.run_tiered.windows.x64.checked.mch | 54,299 | 36,842 | 17,457 | 76 (0.14%) | 86 (0.16%) | 
| coreclr_tests.run.windows.x64.checked.mch | 573,348 | 340,982 | 232,366 | 446 (0.08%) | 641 (0.11%) | 
| libraries.crossgen2.windows.x64.checked.mch | 243,393 | 15 | 243,378 | 0 (0.00%) | 32 (0.01%) | 
| libraries.pmi.windows.x64.checked.mch | 306,228 | 6 | 306,222 | 2,206 (0.72%) | 2,270 (0.74%) | 
| libraries_tests.run.windows.x64.Release.mch | 671,770 | 479,203 | 192,567 | 1,126 (0.17%) | 1,517 (0.23%) | 
| librariestestsnotieredcompilation.run.windows.x64.Release.mch | 318,216 | 21,885 | 296,331 | 2,194 (0.68%) | 2,295 (0.72%) | 
| realworld.run.windows.x64.checked.mch | 36,472 | 3 | 36,469 | 402 (1.09%) | 418 (1.13%) | 
| smoke_tests.nativeaot.windows.x64.checked.mch | 32,365 | 11 | 32,354 | 3 (0.01%) | 47 (0.15%) | 
|  | 2,478,673 | 976,915 | 1,501,758 | 6,816 (0.27%) | 8,236 (0.33%) | 
jit-analyze output
aspnet.run.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 43157840 (overridden on cmd)
Total bytes of diff: 48376830 (overridden on cmd)
Total bytes of delta: 5218990 (12.09 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       12013 : 69729.dasm (108.70 % of base)
       11242 : 109209.dasm (75.53 % of base)
       11232 : 110743.dasm (75.46 % of base)
       10328 : 76306.dasm (91.31 % of base)
       10074 : 68362.dasm (92.32 % of base)
       10074 : 90543.dasm (92.32 % of base)
       10066 : 76355.dasm (110.25 % of base)
        9689 : 53681.dasm (98.30 % of base)
        9689 : 60678.dasm (98.30 % of base)
        9689 : 15138.dasm (98.30 % of base)
        9689 : 40640.dasm (98.30 % of base)
        9689 : 111686.dasm (98.30 % of base)
        9689 : 12944.dasm (98.30 % of base)
        9689 : 27078.dasm (98.30 % of base)
        9689 : 67605.dasm (98.30 % of base)
        9689 : 9794.dasm (98.30 % of base)
        9689 : 9284.dasm (98.30 % of base)
        9689 : 93607.dasm (98.30 % of base)
        9544 : 107082.dasm (74.26 % of base)
        9508 : 92350.dasm (74.58 % of base)
Top file improvements (bytes):
        -108 : 42056.dasm (-11.53 % of base)
         -67 : 70757.dasm (-1.57 % of base)
         -62 : 79461.dasm (-1.16 % of base)
         -62 : 90806.dasm (-1.16 % of base)
         -59 : 99928.dasm (-1.32 % of base)
         -57 : 39139.dasm (-2.46 % of base)
         -56 : 58523.dasm (-2.53 % of base)
         -54 : 85472.dasm (-0.66 % of base)
         -52 : 63693.dasm (-2.32 % of base)
         -50 : 39560.dasm (-2.24 % of base)
         -48 : 53982.dasm (-2.14 % of base)
         -45 : 20792.dasm (-1.99 % of base)
         -41 : 16515.dasm (-1.77 % of base)
         -40 : 44478.dasm (-1.87 % of base)
         -35 : 111009.dasm (-5.16 % of base)
         -32 : 110880.dasm (-2.83 % of base)
         -32 : 90857.dasm (-0.40 % of base)
         -31 : 112427.dasm (-2.68 % of base)
         -30 : 44321.dasm (-2.33 % of base)
         -29 : 82408.dasm (-0.36 % of base)
92 total files with Code Size differences (31 improved, 61 regressed), 20 unchanged.
Top method regressions (bytes):
       12013 (108.70 % of base) : 69729.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
       11242 (75.53 % of base) : 109209.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
       11232 (75.46 % of base) : 110743.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
       10328 (91.31 % of base) : 76306.dasm - System.Text.RegularExpressions.RegexParser:ScanRegex():System.Text.RegularExpressions.RegexNode:this (Tier1-OSR)
       10074 (92.32 % of base) : 68362.dasm - Newtonsoft.Json.Serialization.DefaultContractResolver:GetSerializableMembers(System.Type):System.Collections.Generic.List`1[System.Reflection.MemberInfo]:this (Tier1-OSR)
       10074 (92.32 % of base) : 90543.dasm - Newtonsoft.Json.Serialization.DefaultContractResolver:GetSerializableMembers(System.Type):System.Collections.Generic.List`1[System.Reflection.MemberInfo]:this (Tier1-OSR)
       10066 (110.25 % of base) : 76355.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
        9689 (98.30 % of base) : 53681.dasm - System.Diagnostics.Tracing.EventSource:DefineEventPipeEvents():this (Tier1-OSR)
        9689 (98.30 % of base) : 60678.dasm - System.Diagnostics.Tracing.EventSource:DefineEventPipeEvents():this (Tier1-OSR)
        9689 (98.30 % of base) : 15138.dasm - System.Diagnostics.Tracing.EventSource:DefineEventPipeEvents():this (Tier1-OSR)
        9689 (98.30 % of base) : 40640.dasm - System.Diagnostics.Tracing.EventSource:DefineEventPipeEvents():this (Tier1-OSR)
        9689 (98.30 % of base) : 111686.dasm - System.Diagnostics.Tracing.EventSource:DefineEventPipeEvents():this (Tier1-OSR)
        9689 (98.30 % of base) : 12944.dasm - System.Diagnostics.Tracing.EventSource:DefineEventPipeEvents():this (Tier1-OSR)
        9689 (98.30 % of base) : 27078.dasm - System.Diagnostics.Tracing.EventSource:DefineEventPipeEvents():this (Tier1-OSR)
        9689 (98.30 % of base) : 67605.dasm - System.Diagnostics.Tracing.EventSource:DefineEventPipeEvents():this (Tier1-OSR)
        9689 (98.30 % of base) : 9794.dasm - System.Diagnostics.Tracing.EventSource:DefineEventPipeEvents():this (Tier1-OSR)
        9689 (98.30 % of base) : 9284.dasm - System.Diagnostics.Tracing.EventSource:DefineEventPipeEvents():this (Tier1-OSR)
        9689 (98.30 % of base) : 93607.dasm - System.Diagnostics.Tracing.EventSource:DefineEventPipeEvents():this (Tier1-OSR)
        9544 (74.26 % of base) : 107082.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
        9508 (74.58 % of base) : 92350.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
Top method improvements (bytes):
        -108 (-11.53 % of base) : 42056.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Instrumented Tier1)
         -67 (-1.57 % of base) : 70757.dasm - YesSql.Session+<FlushAsync>d__35:MoveNext():this (Tier0-FullOpts)
         -62 (-1.16 % of base) : 79461.dasm - OrchardCore.ContentManagement.Display.ContentItemDisplayCoordinator+<BuildDisplayAsync>d__7:MoveNext():this (Tier1-OSR)
         -62 (-1.16 % of base) : 90806.dasm - OrchardCore.ContentManagement.Display.ContentItemDisplayCoordinator+<BuildDisplayAsync>d__7:MoveNext():this (Tier1-OSR)
         -59 (-1.32 % of base) : 99928.dasm - YesSql.Session+<FlushAsync>d__35:MoveNext():this (FullOpts)
         -57 (-2.46 % of base) : 39139.dasm - Benchmarks.Middleware.JsonMiddleware:Invoke(Microsoft.AspNetCore.Http.HttpContext):System.Threading.Tasks.Task:this (Tier1)
         -56 (-2.53 % of base) : 58523.dasm - Benchmarks.Middleware.JsonMiddleware:Invoke(Microsoft.AspNetCore.Http.HttpContext):System.Threading.Tasks.Task:this (Tier1)
         -54 (-0.66 % of base) : 85472.dasm - OrchardCore.ContentManagement.Display.ContentItemDisplayCoordinator+<BuildDisplayAsync>d__7:MoveNext():this (Tier1-OSR)
         -52 (-2.32 % of base) : 63693.dasm - Benchmarks.Middleware.JsonMiddleware:Invoke(Microsoft.AspNetCore.Http.HttpContext):System.Threading.Tasks.Task:this (Tier1)
         -50 (-2.24 % of base) : 39560.dasm - Benchmarks.Middleware.JsonMiddleware:Invoke(Microsoft.AspNetCore.Http.HttpContext):System.Threading.Tasks.Task:this (Tier1)
         -48 (-2.14 % of base) : 53982.dasm - Benchmarks.Middleware.JsonMiddleware:Invoke(Microsoft.AspNetCore.Http.HttpContext):System.Threading.Tasks.Task:this (Tier1)
         -45 (-1.99 % of base) : 20792.dasm - Benchmarks.Middleware.JsonMiddleware:Invoke(Microsoft.AspNetCore.Http.HttpContext):System.Threading.Tasks.Task:this (Tier1)
         -41 (-1.77 % of base) : 16515.dasm - Dapper.SqlMapper:LoadReaderValueOrBranchToDBNullLabel(System.Reflection.Emit.ILGenerator,int,byref,System.Reflection.Emit.LocalBuilder,System.Type,System.Type,byref) (FullOpts)
         -40 (-1.87 % of base) : 44478.dasm - Microsoft.EntityFrameworkCore.Metadata.Internal.InternalModelBuilder:Entity(byref,int,System.Nullable`1[ubyte]):Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder:this (FullOpts)
         -35 (-5.16 % of base) : 111009.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1)
         -32 (-0.40 % of base) : 90857.dasm - OrchardCore.ContentManagement.Display.ContentItemDisplayCoordinator+<BuildDisplayAsync>d__7:MoveNext():this (Tier1-OSR)
         -32 (-2.83 % of base) : 110880.dasm - System.Collections.Hashtable:Insert(System.Object,System.Object,ubyte):this (Tier1)
         -31 (-2.68 % of base) : 112427.dasm - System.Collections.Hashtable:Insert(System.Object,System.Object,ubyte):this (Tier1)
         -30 (-2.33 % of base) : 44321.dasm - Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer:.cctor() (FullOpts)
         -29 (-0.36 % of base) : 82408.dasm - OrchardCore.ContentManagement.Display.ContentItemDisplayCoordinator+<BuildDisplayAsync>d__7:MoveNext():this (Tier1-OSR)
Top method regressions (percentages):
        2385 (145.69 % of base) : 29256.dasm - System.Data.RBTree`1[System.__Canon]:RBInsert(int,int,int,int,ubyte):int:this (Tier1-OSR)
        2244 (133.33 % of base) : 90844.dasm - Parlot.Fluent.ZeroOrMany`1[System.__Canon]:Parse(Parlot.Fluent.ParseContext,byref):ubyte:this (Tier1-OSR)
        2243 (132.10 % of base) : 81725.dasm - Parlot.Fluent.ZeroOrMany`1[System.__Canon]:Parse(Parlot.Fluent.ParseContext,byref):ubyte:this (Tier1-OSR)
         209 (124.40 % of base) : 110501.dasm - Newtonsoft.Json.JsonTextReader:EatWhitespace():this (Tier1)
         209 (124.40 % of base) : 87909.dasm - Newtonsoft.Json.JsonTextReader:EatWhitespace():this (Tier1)
         209 (124.40 % of base) : 106670.dasm - Newtonsoft.Json.JsonTextReader:EatWhitespace():this (Tier1)
         209 (124.40 % of base) : 111330.dasm - Newtonsoft.Json.JsonTextReader:EatWhitespace():this (Tier1)
         209 (124.40 % of base) : 112828.dasm - Newtonsoft.Json.JsonTextReader:EatWhitespace():this (Tier1)
         209 (124.40 % of base) : 91956.dasm - Newtonsoft.Json.JsonTextReader:EatWhitespace():this (Tier1)
         672 (112.75 % of base) : 97989.dasm - NLog.Layouts.LayoutParser:ParseLayoutParameterValue(NLog.Internal.SimpleStringReader,System.Text.StringBuilder,System.Func`2[int,ubyte]):ubyte (FullOpts)
        9017 (111.21 % of base) : 73083.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
        3761 (110.91 % of base) : 38748.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
        4305 (110.70 % of base) : 40080.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
        1256 (110.66 % of base) : 66539.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1-OSR)
        1256 (110.66 % of base) : 90486.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1-OSR)
        3107 (110.65 % of base) : 113633.dasm - System.Text.StringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.Text.StringBuilder:this (Tier1)
        6372 (110.59 % of base) : 70738.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (Tier1-OSR)
        6372 (110.59 % of base) : 90620.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (Tier1-OSR)
        3519 (110.31 % of base) : 106128.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
       10066 (110.25 % of base) : 76355.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
Top method improvements (percentages):
        -108 (-11.53 % of base) : 42056.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Instrumented Tier1)
         -12 (-6.00 % of base) : 44328.dasm - Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.Mapping.NpgsqlLTreeTypeMapping:.cctor() (FullOpts)
         -15 (-5.84 % of base) : 97819.dasm - System.Linq.Enumerable+WhereSelectListIterator`2[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon],System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -7 (-5.79 % of base) : 77731.dasm - System.SpanHelpers:Fill[int](byref,ulong,int) (Tier1-OSR)
         -35 (-5.16 % of base) : 111009.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1)
         -12 (-5.11 % of base) : 16134.dasm - Dapper.SqlMapper+<>c:<.cctor>b__90_1(System.Type):System.Reflection.MethodInfo:this (FullOpts)
         -20 (-4.56 % of base) : 44278.dasm - Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.Mapping.NpgsqlInetTypeMapping:.cctor() (FullOpts)
         -28 (-4.37 % of base) : 110081.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1)
         -26 (-4.02 % of base) : 112535.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1)
          -4 (-3.54 % of base) : 11140.dasm - System.SpanHelpers:Fill[ushort](byref,ulong,ushort) (Tier1-OSR)
         -32 (-2.83 % of base) : 110880.dasm - System.Collections.Hashtable:Insert(System.Object,System.Object,ubyte):this (Tier1)
         -15 (-2.69 % of base) : 91605.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -31 (-2.68 % of base) : 112427.dasm - System.Collections.Hashtable:Insert(System.Object,System.Object,ubyte):this (Tier1)
         -56 (-2.53 % of base) : 58523.dasm - Benchmarks.Middleware.JsonMiddleware:Invoke(Microsoft.AspNetCore.Http.HttpContext):System.Threading.Tasks.Task:this (Tier1)
         -57 (-2.46 % of base) : 39139.dasm - Benchmarks.Middleware.JsonMiddleware:Invoke(Microsoft.AspNetCore.Http.HttpContext):System.Threading.Tasks.Task:this (Tier1)
         -30 (-2.33 % of base) : 44321.dasm - Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer:.cctor() (FullOpts)
         -52 (-2.32 % of base) : 63693.dasm - Benchmarks.Middleware.JsonMiddleware:Invoke(Microsoft.AspNetCore.Http.HttpContext):System.Threading.Tasks.Task:this (Tier1)
         -50 (-2.24 % of base) : 39560.dasm - Benchmarks.Middleware.JsonMiddleware:Invoke(Microsoft.AspNetCore.Http.HttpContext):System.Threading.Tasks.Task:this (Tier1)
         -14 (-2.15 % of base) : 106308.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1)
         -14 (-2.15 % of base) : 91305.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1)
  
benchmarks.run.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 8527978 (overridden on cmd)
Total bytes of diff: 9985694 (overridden on cmd)
Total bytes of delta: 1457716 (17.09 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       21708 : 7926.dasm (64.93 % of base)
       13639 : 20499.dasm (107.69 % of base)
       13114 : 8581.dasm (43.02 % of base)
        8505 : 25268.dasm (82.48 % of base)
        7375 : 2198.dasm (91.33 % of base)
        7324 : 5461.dasm (69.37 % of base)
        6843 : 14935.dasm (57.22 % of base)
        6569 : 19556.dasm (85.99 % of base)
        6383 : 17602.dasm (74.75 % of base)
        6348 : 22334.dasm (76.25 % of base)
        6121 : 885.dasm (83.01 % of base)
        6009 : 20757.dasm (98.86 % of base)
        5615 : 17418.dasm (65.90 % of base)
        5611 : 20451.dasm (73.90 % of base)
        5504 : 15006.dasm (74.95 % of base)
        5494 : 27837.dasm (76.68 % of base)
        5394 : 8096.dasm (31.12 % of base)
        5212 : 1373.dasm (91.94 % of base)
        4771 : 25279.dasm (58.70 % of base)
        4645 : 25800.dasm (80.18 % of base)
Top file improvements (bytes):
        -333 : 8157.dasm (-3.87 % of base)
        -152 : 404.dasm (-17.00 % of base)
         -53 : 4965.dasm (-5.69 % of base)
         -51 : 24450.dasm (-6.20 % of base)
         -42 : 19616.dasm (-4.90 % of base)
         -32 : 2364.dasm (-10.63 % of base)
         -27 : 15292.dasm (-1.06 % of base)
         -15 : 5023.dasm (-1.26 % of base)
         -15 : 8727.dasm (-7.61 % of base)
         -14 : 6544.dasm (-0.92 % of base)
         -12 : 14928.dasm (-1.80 % of base)
         -12 : 526.dasm (-1.27 % of base)
         -12 : 24840.dasm (-5.04 % of base)
         -12 : 26001.dasm (-1.05 % of base)
         -11 : 6123.dasm (-3.32 % of base)
         -10 : 7942.dasm (-0.65 % of base)
          -8 : 27884.dasm (-0.60 % of base)
          -4 : 19775.dasm (-0.80 % of base)
          -4 : 17832.dasm (-7.55 % of base)
          -3 : 10633.dasm (-0.51 % of base)
85 total files with Code Size differences (26 improved, 59 regressed), 12 unchanged.
Top method regressions (bytes):
       21708 (64.93 % of base) : 7926.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.IndexViewModel,int) (FullOpts)
       13639 (107.69 % of base) : 20499.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       13114 (43.02 % of base) : 8581.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.MyEventsListerItem,int) (FullOpts)
        8505 (82.48 % of base) : 25268.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (FullOpts)
        7375 (91.33 % of base) : 2198.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (FullOpts)
        7324 (69.37 % of base) : 5461.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        6843 (57.22 % of base) : 14935.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.CollectionsOfPrimitives,int) (FullOpts)
        6569 (85.99 % of base) : 19556.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
        6383 (74.75 % of base) : 17602.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.Location,int) (FullOpts)
        6348 (76.25 % of base) : 22334.dasm - Benchstone.BenchF.LLoops:Main1(int):this (FullOpts)
        6121 (83.01 % of base) : 885.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
        6009 (98.86 % of base) : 20757.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:ComputeInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+SynthesizedExplicitImplementations:this (FullOpts)
        5615 (65.90 % of base) : 17418.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
        5611 (73.90 % of base) : 20451.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeOneDeclaredBases(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Tuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]]:this (FullOpts)
        5504 (74.95 % of base) : 15006.dasm - System.Text.Json.Document.Tests.Perf_DocumentParse:ReadJson400KB(System.Text.Json.JsonElement) (FullOpts)
        5494 (76.68 % of base) : 27837.dasm - (dynamicClass):ReadMyEventsListerItemFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        5394 (31.12 % of base) : 8096.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        5212 (91.94 % of base) : 1373.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        4771 (58.70 % of base) : 25279.dasm - Jil.Deserialize.Methods:SkipWithLeadCharThunkReader(byref,int) (FullOpts)
        4645 (80.18 % of base) : 25800.dasm - (dynamicClass):ReadActiveOrUpcomingEventFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
Top method improvements (bytes):
        -333 (-3.87 % of base) : 8157.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
        -152 (-17.00 % of base) : 404.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -53 (-5.69 % of base) : 4965.dasm - System.Runtime.Serialization.DataContracts.XmlDataContract:GenerateCreateXmlSerializableDelegate():System.Runtime.Serialization.DataContracts.CreateXmlSerializableDelegate:this (FullOpts)
         -51 (-6.20 % of base) : 24450.dasm - BenchmarksGame.FannkuchRedux_5:Bench(int,ubyte):int (FullOpts)
         -42 (-4.90 % of base) : 19616.dasm - Microsoft.CodeAnalysis.CSharp.DeclarationTreeBuilder:GetNonTypeMemberNames(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.MemberDeclarationSyntax],byref,ubyte,ubyte):System.Runtime.CompilerServices.StrongBox`1[Microsoft.CodeAnalysis.Collections.ImmutableSegmentedHashSet`1[System.String]]:this (FullOpts)
         -32 (-10.63 % of base) : 2364.dasm - System.Threading.PortableThreadPool:EnsureIOCompletionPollers():this (FullOpts)
         -27 (-1.06 % of base) : 15292.dasm - MessagePack.Formatters.ListFormatter`1[System.__Canon]:Serialize(byref,int,System.Collections.Generic.List`1[System.__Canon],MessagePack.IFormatterResolver):int:this (FullOpts)
         -15 (-7.61 % of base) : 8727.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -15 (-1.26 % of base) : 5023.dasm - System.Text.Json.Nodes.JsonObject:InitializeDictionary():System.Text.Json.JsonPropertyDictionary`1[System.Text.Json.Nodes.JsonNode]:this (FullOpts)
         -14 (-0.92 % of base) : 6544.dasm - System.Net.Http.HttpWindowsProxy:GetMultiProxy(System.Uri):System.Net.Http.MultiProxy:this (FullOpts)
         -12 (-1.05 % of base) : 26001.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:ReadNullable(System.Reflection.MemberInfo,System.Type):this (FullOpts)
         -12 (-1.80 % of base) : 14928.dasm - Jil.Serialize.InlineSerializer`1[System.__Canon]:WriteISO8601StyleDateTime():this (FullOpts)
         -12 (-1.27 % of base) : 526.dasm - System.Collections.Hashtable:Insert(System.Object,System.Object,ubyte):this (FullOpts)
         -12 (-5.04 % of base) : 24840.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:CreateInstance(System.Type,System.Type):System.Object (FullOpts)
         -11 (-3.32 % of base) : 6123.dasm - ProtoBuf.Internal.Serializers.PropertyDecorator:GetShadowSetter(System.Reflection.PropertyInfo):System.Reflection.MethodInfo (FullOpts)
         -10 (-0.65 % of base) : 7942.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:.cctor() (FullOpts)
          -8 (-0.60 % of base) : 27884.dasm - BenchmarksGame.ReverseComplement_6:Grouper() (FullOpts)
          -4 (-0.80 % of base) : 19775.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (FullOpts)
          -4 (-7.55 % of base) : 17832.dasm - Struct.SpanWrapper:SumSpanWrapper(Struct.SpanWrapper`1[int]):int:this (FullOpts)
          -3 (-0.51 % of base) : 10633.dasm - System.String:SplitInternal(System.ReadOnlySpan`1[ushort],int,int):System.String[]:this (FullOpts)
Top method regressions (percentages):
         345 (173.37 % of base) : 18562.dasm - Benchstone.MDBenchI.MDArray2:VerifyCopy(int[,,],int[,,]):ubyte (FullOpts)
         103 (156.06 % of base) : 21438.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:RewriteSpecialBlocks():this (FullOpts)
          34 (125.93 % of base) : 9512.dasm - System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
         151 (122.76 % of base) : 16528.dasm - AssignRect:CopyToAssign(int[,],int[,]) (FullOpts)
         213 (118.33 % of base) : 5002.dasm - System.Xml.XmlBaseReader+NamespaceManager:ExitScope():this (FullOpts)
         238 (111.21 % of base) : 22798.dasm - Microsoft.CodeAnalysis.SyntaxNode+ChildSyntaxListEnumeratorStack:TryGetNextAsNodeInSpan(byref):Microsoft.CodeAnalysis.SyntaxNode:this (FullOpts)
        3157 (110.81 % of base) : 15767.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>FAB93D28E879A1C012F40790EA668F818AB3858873713FA53950E20F52E058952__EnsureArrayIndexRegex_5+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
         188 (109.94 % of base) : 16632.dasm - System.Runtime.Serialization.Json.XmlJsonReader:ComputeNumericalTextLength(ubyte[],int,int):int (FullOpts)
       13639 (107.69 % of base) : 20499.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        1092 (107.37 % of base) : 272.dasm - System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts)
        1863 (106.64 % of base) : 24615.dasm - Benchstone.BenchF.Romber:Test():ubyte:this (FullOpts)
         385 (106.35 % of base) : 18560.dasm - Benchstone.MDBenchI.MDArray2:Bench(int):ubyte (FullOpts)
         137 (106.20 % of base) : 18561.dasm - Benchstone.MDBenchI.MDArray2:Initialize(int[,,]) (FullOpts)
         405 (106.02 % of base) : 23606.dasm - System.Text.Json.Utf8JsonReader:SkipAllCommentsMultiSegment(byref):ubyte:this (FullOpts)
         855 (105.95 % of base) : 16659.dasm - System.Runtime.Serialization.Json.JsonReaderDelegator+DateTimeArrayJsonHelperWithString:ReadArray(System.Xml.XmlDictionaryReader,System.String,System.String,System.DateTime[],int,int):int:this (FullOpts)
         414 (105.61 % of base) : 2142.dasm - System.Text.RegularExpressions.RegexParser:ScanBlank():this (FullOpts)
         438 (105.04 % of base) : 3256.dasm - Newtonsoft.Json.JsonTextReader:EatWhitespace():this (FullOpts)
        1133 (104.62 % of base) : 26096.dasm - MicroBenchmarks.Serializers.MyEventsListerItemTask:proto_10(byref,MicroBenchmarks.Serializers.MyEventsListerItemTask):MicroBenchmarks.Serializers.MyEventsListerItemTask (FullOpts)
        2572 (104.30 % of base) : 15755.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        2079 (104.05 % of base) : 5452.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
Top method improvements (percentages):
        -152 (-17.00 % of base) : 404.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -32 (-10.63 % of base) : 2364.dasm - System.Threading.PortableThreadPool:EnsureIOCompletionPollers():this (FullOpts)
         -15 (-7.61 % of base) : 8727.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-7.55 % of base) : 17832.dasm - Struct.SpanWrapper:SumSpanWrapper(Struct.SpanWrapper`1[int]):int:this (FullOpts)
         -51 (-6.20 % of base) : 24450.dasm - BenchmarksGame.FannkuchRedux_5:Bench(int,ubyte):int (FullOpts)
         -53 (-5.69 % of base) : 4965.dasm - System.Runtime.Serialization.DataContracts.XmlDataContract:GenerateCreateXmlSerializableDelegate():System.Runtime.Serialization.DataContracts.CreateXmlSerializableDelegate:this (FullOpts)
         -12 (-5.04 % of base) : 24840.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:CreateInstance(System.Type,System.Type):System.Object (FullOpts)
         -42 (-4.90 % of base) : 19616.dasm - Microsoft.CodeAnalysis.CSharp.DeclarationTreeBuilder:GetNonTypeMemberNames(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.MemberDeclarationSyntax],byref,ubyte,ubyte):System.Runtime.CompilerServices.StrongBox`1[Microsoft.CodeAnalysis.Collections.ImmutableSegmentedHashSet`1[System.String]]:this (FullOpts)
        -333 (-3.87 % of base) : 8157.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
         -11 (-3.32 % of base) : 6123.dasm - ProtoBuf.Internal.Serializers.PropertyDecorator:GetShadowSetter(System.Reflection.PropertyInfo):System.Reflection.MethodInfo (FullOpts)
         -12 (-1.80 % of base) : 14928.dasm - Jil.Serialize.InlineSerializer`1[System.__Canon]:WriteISO8601StyleDateTime():this (FullOpts)
          -2 (-1.77 % of base) : 9095.dasm - System.Collections.Generic.HashSet`1+Enumerator[int]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.67 % of base) : 101.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.67 % of base) : 1649.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[long,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.67 % of base) : 1889.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.46 % of base) : 207.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -12 (-1.27 % of base) : 526.dasm - System.Collections.Hashtable:Insert(System.Object,System.Object,ubyte):this (FullOpts)
         -15 (-1.26 % of base) : 5023.dasm - System.Text.Json.Nodes.JsonObject:InitializeDictionary():System.Text.Json.JsonPropertyDictionary`1[System.Text.Json.Nodes.JsonNode]:this (FullOpts)
          -2 (-1.20 % of base) : 4607.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.Linq.Expressions.Compiler.BoundConstants+TypedConstant,int]:MoveNext():ubyte:this (FullOpts)
         -27 (-1.06 % of base) : 15292.dasm - MessagePack.Formatters.ListFormatter`1[System.__Canon]:Serialize(byref,int,System.Collections.Generic.List`1[System.__Canon],MessagePack.IFormatterResolver):int:this (FullOpts)
  
benchmarks.run_pgo.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 35281691 (overridden on cmd)
Total bytes of diff: 41521572 (overridden on cmd)
Total bytes of delta: 6239881 (17.69 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       21708 : 5731.dasm (64.93 % of base)
       13114 : 25286.dasm (43.02 % of base)
        8952 : 86632.dasm (78.31 % of base)
        8909 : 86620.dasm (77.90 % of base)
        8437 : 86631.dasm (81.23 % of base)
        7969 : 89518.dasm (100.75 % of base)
        7933 : 86068.dasm (113.23 % of base)
        6843 : 37565.dasm (57.22 % of base)
        6701 : 70130.dasm (71.20 % of base)
        6614 : 70146.dasm (70.15 % of base)
        6383 : 50132.dasm (74.75 % of base)
        6280 : 70145.dasm (74.76 % of base)
        6214 : 2225.dasm (83.47 % of base)
        5925 : 96098.dasm (81.70 % of base)
        5922 : 43473.dasm (81.60 % of base)
        5915 : 40975.dasm (81.70 % of base)
        5894 : 98060.dasm (81.82 % of base)
        5801 : 94971.dasm (82.12 % of base)
        5594 : 49084.dasm (65.50 % of base)
        5394 : 6127.dasm (31.12 % of base)
Top file improvements (bytes):
        -295 : 29324.dasm (-19.43 % of base)
        -295 : 29879.dasm (-19.45 % of base)
        -144 : 101384.dasm (-8.49 % of base)
        -144 : 101358.dasm (-8.49 % of base)
        -119 : 50949.dasm (-14.95 % of base)
        -118 : 92859.dasm (-6.96 % of base)
        -118 : 95860.dasm (-6.96 % of base)
        -111 : 60930.dasm (-12.69 % of base)
         -20 : 29089.dasm (-4.43 % of base)
         -20 : 35150.dasm (-4.43 % of base)
         -19 : 38391.dasm (-1.26 % of base)
         -18 : 41073.dasm (-0.24 % of base)
         -10 : 68802.dasm (-2.65 % of base)
          -9 : 58796.dasm (-2.67 % of base)
          -9 : 72745.dasm (-2.67 % of base)
          -6 : 73799.dasm (-1.22 % of base)
          -5 : 36575.dasm (-0.33 % of base)
          -5 : 74832.dasm (-1.49 % of base)
          -4 : 32696.dasm (-3.54 % of base)
          -2 : 44233.dasm (-0.29 % of base)
84 total files with Code Size differences (21 improved, 63 regressed), 20 unchanged.
Top method regressions (bytes):
       21708 (64.93 % of base) : 5731.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.IndexViewModel,int) (FullOpts)
       13114 (43.02 % of base) : 25286.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.MyEventsListerItem,int) (FullOpts)
        8952 (78.31 % of base) : 86632.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1-OSR)
        8909 (77.90 % of base) : 86620.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1-OSR)
        8437 (81.23 % of base) : 86631.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1)
        7969 (100.75 % of base) : 89518.dasm - System.Collections.Generic.ArraySortHelper`1[System.__Canon]:IntroSort(System.Span`1[System.__Canon],int,System.Comparison`1[System.__Canon]) (Tier1)
        7933 (113.23 % of base) : 86068.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
        6843 (57.22 % of base) : 37565.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.CollectionsOfPrimitives,int) (FullOpts)
        6701 (71.20 % of base) : 70130.dasm - Benchstone.BenchF.LLoops:Main1(int):this (Tier1-OSR)
        6614 (70.15 % of base) : 70146.dasm - Benchstone.BenchF.LLoops:Main1(int):this (Tier1-OSR)
        6383 (74.75 % of base) : 50132.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.Location,int) (FullOpts)
        6280 (74.76 % of base) : 70145.dasm - Benchstone.BenchF.LLoops:Main1(int):this (Tier1)
        6214 (83.47 % of base) : 2225.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier0-FullOpts)
        5925 (81.70 % of base) : 96098.dasm - System.Text.RegularExpressions.RegexParser:ScanRegex():System.Text.RegularExpressions.RegexNode:this (Tier1)
        5922 (81.60 % of base) : 43473.dasm - System.Text.RegularExpressions.RegexParser:ScanRegex():System.Text.RegularExpressions.RegexNode:this (Tier1)
        5915 (81.70 % of base) : 40975.dasm - System.Text.RegularExpressions.RegexParser:ScanRegex():System.Text.RegularExpressions.RegexNode:this (Tier1)
        5894 (81.82 % of base) : 98060.dasm - System.Text.RegularExpressions.RegexParser:ScanRegex():System.Text.RegularExpressions.RegexNode:this (Tier1)
        5801 (82.12 % of base) : 94971.dasm - System.Text.RegularExpressions.RegexParser:ScanRegex():System.Text.RegularExpressions.RegexNode:this (Tier1)
        5594 (65.50 % of base) : 49084.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
        5394 (31.12 % of base) : 6127.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
Top method improvements (bytes):
        -295 (-19.43 % of base) : 29324.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        -295 (-19.45 % of base) : 29879.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        -144 (-8.49 % of base) : 101384.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        -144 (-8.49 % of base) : 101358.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        -119 (-14.95 % of base) : 50949.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -118 (-6.96 % of base) : 92859.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        -118 (-6.96 % of base) : 95860.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        -111 (-12.69 % of base) : 60930.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -20 (-4.43 % of base) : 29089.dasm - System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
         -20 (-4.43 % of base) : 35150.dasm - System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
         -19 (-1.26 % of base) : 38391.dasm - System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
         -18 (-0.24 % of base) : 41073.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
         -10 (-2.65 % of base) : 68802.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax:get_Modifiers():Microsoft.CodeAnalysis.SyntaxTokenList:this (Tier1)
          -9 (-2.67 % of base) : 58796.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          -9 (-2.67 % of base) : 72745.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          -6 (-1.22 % of base) : 73799.dasm - Microsoft.CodeAnalysis.ChildSyntaxList+Enumerator:TryMoveNextAndGetCurrentAsNode():Microsoft.CodeAnalysis.SyntaxNode:this (Tier1)
          -5 (-1.49 % of base) : 74832.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1)
          -5 (-0.33 % of base) : 36575.dasm - System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -4 (-3.54 % of base) : 32696.dasm - System.SpanHelpers:Fill[ushort](byref,ulong,ushort) (Tier1-OSR)
          -2 (-0.29 % of base) : 44233.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1-OSR)
Top method regressions (percentages):
         267 (145.11 % of base) : 69421.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:ComputeOffsets():this (Tier1)
        2233 (142.05 % of base) : 74107.dasm - CscBench:DataflowBench():ubyte (Tier1-OSR)
        2079 (135.44 % of base) : 29067.dasm - System.Collections.Generic.ArraySortHelper`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]:InsertionSort(System.Span`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet],System.Comparison`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]) (Tier1)
        1343 (134.57 % of base) : 51235.dasm - Benchstone.BenchI.NDhrystone:Proc0() (Tier1-OSR)
        4788 (133.26 % of base) : 91380.dasm - BenchmarksGame.pidigits:Run(ubyte):this (Tier1-OSR)
        1719 (131.52 % of base) : 45941.dasm - AssignRect:first_assignments(int[,],short[,]):int (Tier1)
        4059 (128.45 % of base) : 82347.dasm - System.Collections.Generic.ArraySortHelper`1[System.Collections.IntStruct]:IntroSort(System.Span`1[System.Collections.IntStruct],int,System.Comparison`1[System.Collections.IntStruct]) (Tier1)
        4052 (127.94 % of base) : 77046.dasm - System.Collections.Generic.ArraySortHelper`1[System.Collections.IntStruct]:IntroSort(System.Span`1[System.Collections.IntStruct],int,System.Comparison`1[System.Collections.IntStruct]) (Tier1)
        1340 (127.13 % of base) : 99739.dasm - Benchstone.MDBenchI.MDNDhrystone:Proc0() (Tier1-OSR)
        3284 (123.00 % of base) : 83891.dasm - System.IO.Tests.Perf_Directory:SetupEnumerateFiles():this (Tier1-OSR)
        2311 (122.99 % of base) : 73927.dasm - Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass:DeclareVariables(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.LocalSymbol]):this (Tier1)
        1575 (122.85 % of base) : 99971.dasm - Benchstone.MDBenchI.MDPuzzle:Trial(int):ubyte:this (Tier1)
         151 (122.76 % of base) : 45950.dasm - AssignRect:CopyToAssign(int[,],int[,]) (Tier1)
         295 (119.92 % of base) : 68061.dasm - Microsoft.CodeAnalysis.GreenNode:GetLastTerminal():Microsoft.CodeAnalysis.GreenNode:this (Tier1)
        5094 (118.96 % of base) : 97100.dasm - System.Collections.Generic.ArraySortHelper`1[System.Collections.BigStruct]:IntroSort(System.Span`1[System.Collections.BigStruct],int,System.Comparison`1[System.Collections.BigStruct]) (Tier1)
        5093 (118.91 % of base) : 99786.dasm - System.Collections.Generic.ArraySortHelper`1[System.Collections.BigStruct]:IntroSort(System.Span`1[System.Collections.BigStruct],int,System.Comparison`1[System.Collections.BigStruct]) (Tier1)
         227 (118.23 % of base) : 73182.dasm - Microsoft.CodeAnalysis.GreenNode:GetFirstTerminal():Microsoft.CodeAnalysis.GreenNode:this (Tier1)
         230 (115.58 % of base) : 68048.dasm - Microsoft.CodeAnalysis.GreenNode:GetFirstTerminal():Microsoft.CodeAnalysis.GreenNode:this (Tier1)
        1948 (115.20 % of base) : 38466.dasm - System.Collections.Generic.ArraySortHelper`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]:InsertionSort(System.Span`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet],System.Comparison`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]) (Tier1)
        1602 (114.02 % of base) : 86195.dasm - System.Text.Json.Tests.Perf_Strings:Setup():this (Tier1-OSR)
Top method improvements (percentages):
        -295 (-19.45 % of base) : 29879.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        -295 (-19.43 % of base) : 29324.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        -119 (-14.95 % of base) : 50949.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -111 (-12.69 % of base) : 60930.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -144 (-8.49 % of base) : 101384.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        -144 (-8.49 % of base) : 101358.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        -118 (-6.96 % of base) : 92859.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
        -118 (-6.96 % of base) : 95860.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1-OSR)
         -20 (-4.43 % of base) : 29089.dasm - System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
         -20 (-4.43 % of base) : 35150.dasm - System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this (Tier1)
          -4 (-3.54 % of base) : 32696.dasm - System.SpanHelpers:Fill[ushort](byref,ulong,ushort) (Tier1-OSR)
          -9 (-2.67 % of base) : 58796.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          -9 (-2.67 % of base) : 72745.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
         -10 (-2.65 % of base) : 68802.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax:get_Modifiers():Microsoft.CodeAnalysis.SyntaxTokenList:this (Tier1)
          -5 (-1.49 % of base) : 74832.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1)
         -19 (-1.26 % of base) : 38391.dasm - System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -6 (-1.22 % of base) : 73799.dasm - Microsoft.CodeAnalysis.ChildSyntaxList+Enumerator:TryMoveNextAndGetCurrentAsNode():Microsoft.CodeAnalysis.SyntaxNode:this (Tier1)
          -5 (-0.33 % of base) : 36575.dasm - System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -2 (-0.29 % of base) : 44233.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1-OSR)
          -2 (-0.29 % of base) : 99130.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1-OSR)
  
benchmarks.run_tiered.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 12546330 (overridden on cmd)
Total bytes of diff: 13338138 (overridden on cmd)
Total bytes of delta: 791808 (6.31 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       21708 : 12665.dasm (64.93 % of base)
       13114 : 19479.dasm (43.02 % of base)
        9233 : 49865.dasm (106.72 % of base)
        8505 : 49991.dasm (82.48 % of base)
        7375 : 26453.dasm (91.65 % of base)
        6843 : 27870.dasm (57.22 % of base)
        6383 : 33218.dasm (74.75 % of base)
        6348 : 35280.dasm (76.25 % of base)
        6121 : 2036.dasm (83.01 % of base)
        5615 : 31995.dasm (65.90 % of base)
        5394 : 12909.dasm (31.12 % of base)
        4664 : 54376.dasm (77.39 % of base)
        4634 : 49843.dasm (28.46 % of base)
        4290 : 50723.dasm (78.83 % of base)
        3746 : 20822.dasm (74.68 % of base)
        3701 : 45739.dasm (68.59 % of base)
        3606 : 27485.dasm (92.08 % of base)
        3523 : 51122.dasm (34.51 % of base)
        3519 : 49700.dasm (86.36 % of base)
        3443 : 51120.dasm (61.02 % of base)
Top file improvements (bytes):
        -333 : 20840.dasm (-3.87 % of base)
        -149 : 2620.dasm (-17.55 % of base)
         -15 : 46373.dasm (-7.61 % of base)
         -12 : 21821.dasm (-1.27 % of base)
          -4 : 25768.dasm (-3.54 % of base)
          -4 : 36827.dasm (-0.71 % of base)
          -4 : 39276.dasm (-0.80 % of base)
          -2 : 2729.dasm (-1.67 % of base)
          -2 : 3121.dasm (-1.36 % of base)
          -2 : 26425.dasm (-1.67 % of base)
          -2 : 40543.dasm (-1.57 % of base)
82 total files with Code Size differences (11 improved, 71 regressed), 3 unchanged.
Top method regressions (bytes):
       21708 (64.93 % of base) : 12665.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.IndexViewModel,int) (FullOpts)
       13114 (43.02 % of base) : 19479.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.MyEventsListerItem,int) (FullOpts)
        9233 (106.72 % of base) : 49865.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
        8505 (82.48 % of base) : 49991.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (Tier1)
        7375 (91.65 % of base) : 26453.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (Tier1)
        6843 (57.22 % of base) : 27870.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.CollectionsOfPrimitives,int) (FullOpts)
        6383 (74.75 % of base) : 33218.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.Location,int) (FullOpts)
        6348 (76.25 % of base) : 35280.dasm - Benchstone.BenchF.LLoops:Main1(int):this (Tier1)
        6121 (83.01 % of base) : 2036.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier0-FullOpts)
        5615 (65.90 % of base) : 31995.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
        5394 (31.12 % of base) : 12909.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        4664 (77.39 % of base) : 54376.dasm - (dynamicClass):ReadMyEventsListerItemFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        4634 (28.46 % of base) : 49843.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
        4290 (78.83 % of base) : 50723.dasm - (dynamicClass):ReadActiveOrUpcomingEventFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        3746 (74.68 % of base) : 20822.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1)
        3701 (68.59 % of base) : 45739.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseExpressionContinued(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax,uint):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (Tier1)
        3606 (92.08 % of base) : 27485.dasm - (dynamicClass):ReadLocationFromXml(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.XmlObjectSerializerReadContext,System.Xml.XmlDictionaryString[],System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        3523 (34.51 % of base) : 51122.dasm - (dynamicClass):_DynamicMethod3(byref,int):MicroBenchmarks.Serializers.MyEventsListerItem (FullOpts)
        3519 (86.36 % of base) : 49700.dasm - (dynamicClass):ReadLocationFromJson(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
        3443 (61.02 % of base) : 51120.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
Top method improvements (bytes):
        -333 (-3.87 % of base) : 20840.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
        -149 (-17.55 % of base) : 2620.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -15 (-7.61 % of base) : 46373.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
         -12 (-1.27 % of base) : 21821.dasm - System.Collections.Hashtable:Insert(System.Object,System.Object,ubyte):this (Tier1)
          -4 (-0.80 % of base) : 39276.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1)
          -4 (-0.71 % of base) : 36827.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          -4 (-3.54 % of base) : 25768.dasm - System.SpanHelpers:Fill[ushort](byref,ulong,ushort) (Tier1-OSR)
          -2 (-1.36 % of base) : 3121.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (Tier1)
          -2 (-1.67 % of base) : 2729.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (Tier1)
          -2 (-1.57 % of base) : 40543.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:MoveNext():ubyte:this (Tier1)
          -2 (-1.67 % of base) : 26425.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
Top method regressions (percentages):
        1346 (123.83 % of base) : 33331.dasm - Algorithms.VectorDoubleRenderer:RenderSingleThreadedWithADT(float,float,float,float,float):this (Tier1-OSR)
         151 (122.76 % of base) : 30172.dasm - AssignRect:CopyToAssign(int[,],int[,]) (Tier1)
        1506 (122.54 % of base) : 31413.dasm - Algorithms.VectorFloatRenderer:RenderSingleThreadedWithADT(float,float,float,float,float):this (Tier1-OSR)
        1440 (117.17 % of base) : 30135.dasm - Algorithms.VectorFloatRenderer:RenderSingleThreadedNoADT(float,float,float,float,float):this (Tier1-OSR)
        1271 (113.38 % of base) : 32781.dasm - Algorithms.VectorDoubleRenderer:RenderSingleThreadedNoADT(float,float,float,float,float):this (Tier1-OSR)
         238 (111.21 % of base) : 45376.dasm - Microsoft.CodeAnalysis.SyntaxNode+ChildSyntaxListEnumeratorStack:TryGetNextAsNodeInSpan(byref):Microsoft.CodeAnalysis.SyntaxNode:this (Tier1)
        1092 (107.37 % of base) : 2975.dasm - System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this (Tier1)
        9233 (106.72 % of base) : 49865.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
         414 (105.61 % of base) : 21748.dasm - System.Text.RegularExpressions.RegexParser:ScanBlank():this (Tier1)
        1146 (104.37 % of base) : 51650.dasm - MicroBenchmarks.Serializers.MyEventsListerItemTask:proto_10(byref,MicroBenchmarks.Serializers.MyEventsListerItemTask):MicroBenchmarks.Serializers.MyEventsListerItemTask (FullOpts)
        2572 (104.30 % of base) : 29816.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        1199 (103.45 % of base) : 47626.dasm - System.Text.Encoding:GetCharsWithFallback(System.ReadOnlySpan`1[ubyte],int,System.Span`1[ushort],int,System.Text.DecoderNLS,ubyte):int:this (Tier1)
        1843 (102.85 % of base) : 48867.dasm - Benchstone.BenchF.Romber:Test():ubyte:this (Tier1-OSR)
        2376 (102.77 % of base) : 13514.dasm - MicroBenchmarks.Serializers.Location:proto_2(byref,MicroBenchmarks.Serializers.Location):MicroBenchmarks.Serializers.Location (FullOpts)
        1562 (102.63 % of base) : 46298.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
        1498 (102.53 % of base) : 30169.dasm - AssignRect:first_assignments(int[,],short[,]):int (Tier1)
        2143 (102.00 % of base) : 34940.dasm - MicroBenchmarks.Serializers.ActiveOrUpcomingEvent:proto_8(byref,MicroBenchmarks.Serializers.ActiveOrUpcomingEvent):MicroBenchmarks.Serializers.ActiveOrUpcomingEvent (FullOpts)
        1801 (101.92 % of base) : 34957.dasm - MicroBenchmarks.Serializers.CampaignSummaryViewModel:proto_10(byref,MicroBenchmarks.Serializers.CampaignSummaryViewModel):MicroBenchmarks.Serializers.CampaignSummaryViewModel (FullOpts)
        1729 (101.65 % of base) : 50545.dasm - Benchstone.MDBenchF.MDRomber:Test():ubyte:this (Tier1-OSR)
         139 (101.46 % of base) : 30176.dasm - AssignRect:LoadAssign(int[,]) (Tier1)
Top method improvements (percentages):
        -149 (-17.55 % of base) : 2620.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
         -15 (-7.61 % of base) : 46373.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1)
        -333 (-3.87 % of base) : 20840.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
          -4 (-3.54 % of base) : 25768.dasm - System.SpanHelpers:Fill[ushort](byref,ulong,ushort) (Tier1-OSR)
          -2 (-1.67 % of base) : 2729.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (Tier1)
          -2 (-1.67 % of base) : 26425.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (Tier1)
          -2 (-1.57 % of base) : 40543.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:MoveNext():ubyte:this (Tier1)
          -2 (-1.36 % of base) : 3121.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (Tier1)
         -12 (-1.27 % of base) : 21821.dasm - System.Collections.Hashtable:Insert(System.Object,System.Object,ubyte):this (Tier1)
          -4 (-0.80 % of base) : 39276.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1)
          -4 (-0.71 % of base) : 36827.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
  
coreclr_tests.run.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 392032764 (overridden on cmd)
Total bytes of diff: 398883037 (overridden on cmd)
Total bytes of delta: 6850273 (1.75 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
      147785 : 178506.dasm (99.83 % of base)
       18561 : 297831.dasm (99.06 % of base)
       13846 : 187753.dasm (107.18 % of base)
       13831 : 284268.dasm (97.32 % of base)
       12933 : 567595.dasm (99.98 % of base)
       12835 : 298150.dasm (99.42 % of base)
       11808 : 571042.dasm (109.43 % of base)
       11709 : 569004.dasm (107.13 % of base)
       11624 : 570844.dasm (100.94 % of base)
       11597 : 570615.dasm (105.37 % of base)
       11593 : 568261.dasm (100.74 % of base)
       10426 : 565390.dasm (75.06 % of base)
        8969 : 233594.dasm (90.61 % of base)
        8914 : 282116.dasm (83.64 % of base)
        8507 : 191449.dasm (82.36 % of base)
        8371 : 569504.dasm (71.12 % of base)
        8348 : 167900.dasm (76.82 % of base)
        7063 : 435767.dasm (86.51 % of base)
        7051 : 494443.dasm (87.21 % of base)
        7051 : 396700.dasm (87.21 % of base)
Top file improvements (bytes):
        -329 : 191703.dasm (-3.82 % of base)
        -233 : 143699.dasm (-11.46 % of base)
        -233 : 143763.dasm (-11.46 % of base)
        -227 : 159546.dasm (-14.04 % of base)
        -217 : 159681.dasm (-13.53 % of base)
        -212 : 159561.dasm (-13.58 % of base)
        -212 : 159576.dasm (-13.58 % of base)
        -202 : 159696.dasm (-13.06 % of base)
        -202 : 159711.dasm (-13.06 % of base)
        -137 : 190107.dasm (-42.95 % of base)
        -124 : 159963.dasm (-7.72 % of base)
        -116 : 190109.dasm (-36.36 % of base)
         -94 : 81465.dasm (-13.78 % of base)
         -93 : 228113.dasm (-14.35 % of base)
         -88 : 121993.dasm (-6.39 % of base)
         -88 : 122007.dasm (-6.39 % of base)
         -88 : 122035.dasm (-6.34 % of base)
         -88 : 122021.dasm (-6.34 % of base)
         -87 : 162375.dasm (-5.97 % of base)
         -87 : 162345.dasm (-6.01 % of base)
90 total files with Code Size differences (30 improved, 60 regressed), 20 unchanged.
Top method regressions (bytes):
      147785 (99.83 % of base) : 178506.dasm - Program:TestEntryPoint():int (FullOpts)
       18561 (99.06 % of base) : 297831.dasm - CseTest.Test_Main:TestEntryPoint():int (FullOpts)
       13846 (107.18 % of base) : 187753.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       13831 (97.32 % of base) : 284268.dasm - Internal.IL.ILImporter:ImportBasicBlock(Internal.IL.ILImporter+BasicBlock):this (FullOpts)
       12933 (99.98 % of base) : 567595.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
       12835 (99.42 % of base) : 298150.dasm - SimpleArray_01.Test:Test1() (FullOpts)
       11808 (109.43 % of base) : 571042.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugInfoTableNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (Tier1-OSR)
       11709 (107.13 % of base) : 569004.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugInfoTableNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (Tier1-OSR)
       11624 (100.94 % of base) : 570844.dasm - ILCompiler.DependencyAnalysis.ReadyToRunObjectWriter:EmitObjectData(ILCompiler.PEWriter.R2RPEBuilder,ILCompiler.DependencyAnalysis.ObjectNode+ObjectData,int,System.String,ILCompiler.DependencyAnalysis.ObjectNodeSection):this (Tier1)
       11597 (105.37 % of base) : 570615.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
       11593 (100.74 % of base) : 568261.dasm - ILCompiler.DependencyAnalysis.ReadyToRunObjectWriter:EmitObjectData(ILCompiler.PEWriter.R2RPEBuilder,ILCompiler.DependencyAnalysis.ObjectNode+ObjectData,int,System.String,ILCompiler.DependencyAnalysis.ObjectNodeSection):this (Tier1)
       10426 (75.06 % of base) : 565390.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (Tier1)
        8969 (90.61 % of base) : 233594.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        8914 (83.64 % of base) : 282116.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugDirectoryNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (FullOpts)
        8507 (82.36 % of base) : 191449.dasm - Benchstone.MDBenchF.MDLLoops:Main1(int):this (FullOpts)
        8371 (71.12 % of base) : 569504.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (Tier1)
        8348 (76.82 % of base) : 167900.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
        7063 (86.51 % of base) : 435767.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier1)
        7051 (87.21 % of base) : 494443.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier1)
        7051 (87.21 % of base) : 396700.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier1)
Top method improvements (bytes):
        -329 (-3.82 % of base) : 191703.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
        -233 (-11.46 % of base) : 143699.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector128.AlternatingTernaryOpTest__MultiplyAddSubtractDouble:ValidateResult(double[],double[],double[],double[],System.String):this (FullOpts)
        -233 (-11.46 % of base) : 143763.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector128.AlternatingTernaryOpTest__MultiplySubtractAddDouble:ValidateResult(double[],double[],double[],double[],System.String):this (FullOpts)
        -227 (-14.04 % of base) : 159546.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackHighDouble:ValidateResult(double[],double[],double[],System.String):this (FullOpts)
        -217 (-13.53 % of base) : 159681.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackLowDouble:ValidateResult(double[],double[],double[],System.String):this (FullOpts)
        -212 (-13.58 % of base) : 159561.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackHighInt64:ValidateResult(long[],long[],long[],System.String):this (FullOpts)
        -212 (-13.58 % of base) : 159576.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackHighUInt64:ValidateResult(ulong[],ulong[],ulong[],System.String):this (FullOpts)
        -202 (-13.06 % of base) : 159696.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackLowInt64:ValidateResult(long[],long[],long[],System.String):this (FullOpts)
        -202 (-13.06 % of base) : 159711.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackLowUInt64:ValidateResult(ulong[],ulong[],ulong[],System.String):this (FullOpts)
        -137 (-42.95 % of base) : 190107.dasm - Benchstone.BenchF.BenchMk2:Bench():ubyte (FullOpts)
        -124 (-7.72 % of base) : 159963.dasm - JIT.HardwareIntrinsics.X86._Sse3.AlternatingBinaryOpTest__AddSubtractDouble:ValidateResult(double[],double[],double[],System.String):this (FullOpts)
        -116 (-36.36 % of base) : 190109.dasm - Benchstone.BenchF.BenchMrk:Bench():ubyte (FullOpts)
         -94 (-13.78 % of base) : 81465.dasm - JIT.HardwareIntrinsics.General._Vector64_1.VectorGetAndWithElement__GetAndWithElementDouble0:ValidateWithResult(double[],double[],double,System.String):this (FullOpts)
         -93 (-14.35 % of base) : 228113.dasm - Test_sin3double.Z:Main():int (FullOpts)
         -88 (-6.39 % of base) : 121993.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.ImmBinaryOpTest__AlignRight64Int641:ValidateResult(long[],long[],long[],System.String):this (FullOpts)
         -88 (-6.39 % of base) : 122007.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.ImmBinaryOpTest__AlignRight64Int643:ValidateResult(long[],long[],long[],System.String):this (FullOpts)
         -88 (-6.34 % of base) : 122021.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.ImmBinaryOpTest__AlignRight64UInt641:ValidateResult(ulong[],ulong[],ulong[],System.String):this (FullOpts)
         -88 (-6.34 % of base) : 122035.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.ImmBinaryOpTest__AlignRight64UInt643:ValidateResult(ulong[],ulong[],ulong[],System.String):this (FullOpts)
         -87 (-6.01 % of base) : 162345.dasm - JIT.HardwareIntrinsics.X86._Ssse3.ImmBinaryOpTest__AlignRightInt648:ValidateResult(long[],long[],long[],System.String):this (FullOpts)
         -87 (-5.97 % of base) : 162375.dasm - JIT.HardwareIntrinsics.X86._Ssse3.ImmBinaryOpTest__AlignRightUInt648:ValidateResult(ulong[],ulong[],ulong[],System.String):this (FullOpts)
Top method regressions (percentages):
         489 (182.46 % of base) : 426053.dasm - Chaos.A0A0A0A0`1[System.__Canon]:RecurseA0A0A0A0(int):this (Tier1)
         489 (182.46 % of base) : 426789.dasm - Chaos.A0A0A0A0`1[System.__Canon]:RecurseA0A0A0A0(int):this (Tier1)
         361 (180.50 % of base) : 426652.dasm - Chaos.A0A0A0A0`1[System.__Canon]:RecurseA0A0A0A0(int):this (Tier1)
         345 (173.37 % of base) : 191429.dasm - Benchstone.MDBenchI.MDArray2:VerifyCopy(int[,,],int[,,]):ubyte (FullOpts)
         103 (156.06 % of base) : 188699.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:RewriteSpecialBlocks():this (FullOpts)
         210 (143.84 % of base) : 233532.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanToEndOfLine():this (FullOpts)
         272 (140.93 % of base) : 227037.dasm - Test_jaggedarr_basics.double1:Init3DMatrix(double[,,],double[][]) (FullOpts)
         271 (140.41 % of base) : 226784.dasm - Test_doublearr_basics.double1:Init3DMatrix(double[,,],double[][]) (FullOpts)
         272 (136.00 % of base) : 226729.dasm - class1:Init3DMatrix(double[,,],double[][]) (FullOpts)
         272 (136.00 % of base) : 227046.dasm - Test_jaggedarr_InnerProd.doublemm:Init3DMatrix(double[,,],double[][]) (FullOpts)
        1183 (134.28 % of base) : 227418.dasm - struct1:Process2DArray(byref) (FullOpts)
         256 (133.33 % of base) : 227420.dasm - struct1:Init3DMatrix(double[,,],double[][]) (FullOpts)
         256 (133.33 % of base) : 226793.dasm - Test_doublearr_InnerProd.doublemm:Init3DMatrix(double[,,],double[][]) (FullOpts)
        1224 (131.90 % of base) : 570097.dasm - System.Collections.Generic.Dictionary`2[Internal.TypeSystem.Instantiation,System.__Canon]:FindValue(Internal.TypeSystem.Instantiation):byref:this (Tier1)
        1719 (131.52 % of base) : 439481.dasm - AssignRect:first_assignments(int[,],short[,]):int (Tier1)
        1312 (127.50 % of base) : 570096.dasm - System.Collections.Generic.Dictionary`2[Internal.TypeSystem.Instantiation,System.__Canon]:TryGetValue(Internal.TypeSystem.Instantiation,byref):ubyte:this (Tier1)
        1180 (126.07 % of base) : 566448.dasm - System.Collections.Generic.Dictionary`2[Internal.TypeSystem.Instantiation,System.__Canon]:FindValue(Internal.TypeSystem.Instantiation):byref:this (Tier1)
        2105 (125.67 % of base) : 301732.dasm - ILCompiler.PEWriter.MapFileBuilder:WriteSections(System.IO.StreamWriter):this (FullOpts)
        1298 (125.41 % of base) : 566447.dasm - System.Collections.Generic.Dictionary`2[Internal.TypeSystem.Instantiation,System.__Canon]:TryGetValue(Internal.TypeSystem.Instantiation,byref):ubyte:this (Tier1)
         102 (122.89 % of base) : 25730.dasm - ValueNumberingUnorderedComparisonsOfConstants:TestSingleComparisonsEvaluatingToFalse() (FullOpts)
Top method improvements (percentages):
         -43 (-58.90 % of base) : 242762.dasm - foo:Main():int (FullOpts)
        -137 (-42.95 % of base) : 190107.dasm - Benchstone.BenchF.BenchMk2:Bench():ubyte (FullOpts)
        -116 (-36.36 % of base) : 190109.dasm - Benchstone.BenchF.BenchMrk:Bench():ubyte (FullOpts)
         -48 (-28.24 % of base) : 190128.dasm - Benchstone.BenchI.BubbleSort2:Bench():ubyte (FullOpts)
         -66 (-20.00 % of base) : 19605.dasm - Mutual_recursion:seventhMethodFirstCalleeFastTailCallReversed@331(int,int,int,int,int,int,int,int,int,int,int):int (FullOpts)
         -66 (-20.00 % of base) : 19606.dasm - Mutual_recursion:seventhMethodSecondCalleeFastTailCallReversed@349(int,int,int,int,int,int,int,int,int,int,int):int (FullOpts)
         -31 (-15.50 % of base) : 19593.dasm - Mutual_recursion:seventhMethodFirstCallee@247(int,int,int,int,int,int,int,int,int,int,int):int (FullOpts)
         -27 (-15.25 % of base) : 244413.dasm - X:Test() (FullOpts)
         -41 (-14.64 % of base) : 19600.dasm - Mutual_recursion:seventhMethodFirstCalleeFastTailCall@284(int,int,int,int,int,int,int,int,int,int,int):int (FullOpts)
         -41 (-14.64 % of base) : 19601.dasm - Mutual_recursion:seventhMethodSecondCalleeFastTailCall@302(int,int,int,int,int,int,int,int,int,int,int):int (FullOpts)
         -93 (-14.35 % of base) : 228113.dasm - Test_sin3double.Z:Main():int (FullOpts)
        -227 (-14.04 % of base) : 159546.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackHighDouble:ValidateResult(double[],double[],double[],System.String):this (FullOpts)
         -94 (-13.78 % of base) : 81465.dasm - JIT.HardwareIntrinsics.General._Vector64_1.VectorGetAndWithElement__GetAndWithElementDouble0:ValidateWithResult(double[],double[],double,System.String):this (FullOpts)
        -212 (-13.58 % of base) : 159561.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackHighInt64:ValidateResult(long[],long[],long[],System.String):this (FullOpts)
        -212 (-13.58 % of base) : 159576.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackHighUInt64:ValidateResult(ulong[],ulong[],ulong[],System.String):this (FullOpts)
        -217 (-13.53 % of base) : 159681.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackLowDouble:ValidateResult(double[],double[],double[],System.String):this (FullOpts)
         -22 (-13.25 % of base) : 299833.dasm - T:Main():int (FullOpts)
         -22 (-13.25 % of base) : 555186.dasm - T:Main():int (Tier0-FullOpts)
        -202 (-13.06 % of base) : 159696.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackLowInt64:ValidateResult(long[],long[],long[],System.String):this (FullOpts)
        -202 (-13.06 % of base) : 159711.dasm - JIT.HardwareIntrinsics.X86._Sse2.SimpleBinaryOpTest__UnpackLowUInt64:ValidateResult(ulong[],ulong[],ulong[],System.String):this (FullOpts)
  
libraries.crossgen2.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 39426266 (overridden on cmd)
Total bytes of diff: 43597081 (overridden on cmd)
Total bytes of delta: 4170815 (10.58 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       47575 : 1481.dasm (73.58 % of base)
       17195 : 159536.dasm (66.32 % of base)
       12320 : 67768.dasm (102.54 % of base)
       10721 : 67664.dasm (94.74 % of base)
        9510 : 110347.dasm (77.22 % of base)
        9375 : 36630.dasm (78.76 % of base)
        8859 : 186171.dasm (81.83 % of base)
        7244 : 10988.dasm (73.06 % of base)
        7199 : 163342.dasm (76.94 % of base)
        7010 : 86452.dasm (96.16 % of base)
        6272 : 107563.dasm (47.01 % of base)
        5982 : 92968.dasm (89.90 % of base)
        5366 : 139395.dasm (82.52 % of base)
        5027 : 113941.dasm (79.49 % of base)
        4860 : 36563.dasm (83.20 % of base)
        4830 : 36817.dasm (82.32 % of base)
        4727 : 86769.dasm (83.41 % of base)
        4551 : 107616.dasm (103.20 % of base)
        4459 : 26369.dasm (99.11 % of base)
        4373 : 963.dasm (37.91 % of base)
Top file improvements (bytes):
        -142 : 215634.dasm (-1.90 % of base)
        -120 : 29655.dasm (-16.37 % of base)
         -64 : 62141.dasm (-6.30 % of base)
         -21 : 195674.dasm (-1.82 % of base)
         -17 : 237405.dasm (-2.60 % of base)
         -14 : 183788.dasm (-4.96 % of base)
         -12 : 106172.dasm (-4.78 % of base)
          -9 : 223629.dasm (-1.89 % of base)
          -6 : 168749.dasm (-1.75 % of base)
          -6 : 171990.dasm (-5.41 % of base)
          -6 : 156165.dasm (-1.75 % of base)
          -6 : 198378.dasm (-5.41 % of base)
          -5 : 150585.dasm (-1.37 % of base)
          -4 : 241058.dasm (-1.25 % of base)
          -3 : 186008.dasm (-0.90 % of base)
          -2 : 147941.dasm (-1.32 % of base)
          -2 : 22567.dasm (-1.64 % of base)
          -2 : 22857.dasm (-1.33 % of base)
          -2 : 31365.dasm (-1.64 % of base)
          -2 : 31860.dasm (-1.75 % of base)
86 total files with Code Size differences (25 improved, 61 regressed), 20 unchanged.
Top method regressions (bytes):
       47575 (73.58 % of base) : 1481.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (FullOpts)
       17195 (66.32 % of base) : 159536.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
       12320 (102.54 % of base) : 67768.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
       10721 (94.74 % of base) : 67664.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
        9510 (77.22 % of base) : 110347.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureForASingleCandidate(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.Location,int,byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.VisualBasic.Symbol):this (FullOpts)
        9375 (78.76 % of base) : 36630.dasm - System.Data.XmlTreeGen:HandleTable(System.Data.DataTable,System.Xml.XmlDocument,System.Xml.XmlElement,ubyte):System.Xml.XmlElement:this (FullOpts)
        8859 (81.83 % of base) : 186171.dasm - System.Management.ManagementClassGenerator:GenerateProperties():this (FullOpts)
        7244 (73.06 % of base) : 10988.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        7199 (76.94 % of base) : 163342.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
        7010 (96.16 % of base) : 86452.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        6272 (47.01 % of base) : 107563.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
        5982 (89.90 % of base) : 92968.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        5366 (82.52 % of base) : 139395.dasm - System.Data.OleDb.OleDbCommandBuilder:DeriveParametersFromStoredProcedure(System.Data.OleDb.OleDbConnection,System.Data.OleDb.OleDbCommand):System.Data.OleDb.OleDbParameter[] (FullOpts)
        5027 (79.49 % of base) : 113941.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberFieldSymbol:Create(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Syntax.FieldDeclarationSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol+MembersAndInitializersBuilder,byref,byref,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag) (FullOpts)
        4860 (83.20 % of base) : 36563.dasm - System.Data.RBTree`1[System.__Canon]:RBInsert(int,int,int,int,ubyte):int:this (FullOpts)
        4830 (82.32 % of base) : 36817.dasm - System.Data.RBTree`1[int]:RBInsert(int,int,int,int,ubyte):int:this (FullOpts)
        4727 (83.41 % of base) : 86769.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeOneDeclaredBases(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Tuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]]:this (FullOpts)
        4551 (103.20 % of base) : 107616.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteMemberElementsIf(System.Xml.Serialization.XmlSerializationReaderCodeGen+Member[],System.Xml.Serialization.XmlSerializationReaderCodeGen+Member,System.String,System.String):this (FullOpts)
        4459 (99.11 % of base) : 26369.dasm - System.Diagnostics.Tracing.EventPipePayloadDecoder:DecodePayload(byref,System.ReadOnlySpan`1[ubyte]):System.Object[] (FullOpts)
        4373 (37.91 % of base) : 963.dasm - Microsoft.FSharp.Linq.QueryModule:TransInner(int,ubyte,Microsoft.FSharp.Quotations.FSharpExpr):System.Tuple`2[Microsoft.FSharp.Linq.QueryModule+TransInnerResult,Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription] (FullOpts)
Top method improvements (bytes):
        -142 (-1.90 % of base) : 215634.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
        -120 (-16.37 % of base) : 29655.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -64 (-6.30 % of base) : 62141.dasm - Microsoft.CodeAnalysis.CSharp.Binder:CheckWhatCandidatesWeHave(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbol],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,System.String,int,byref,byref,byref,byref):this (FullOpts)
         -21 (-1.82 % of base) : 195674.dasm - Newtonsoft.Json.Converters.XmlNodeConverter:ReadAttributeElements(Newtonsoft.Json.JsonReader,System.Xml.XmlNamespaceManager):System.Collections.Generic.Dictionary`2[System.String,System.String]:this (FullOpts)
         -17 (-2.60 % of base) : 237405.dasm - System.IO.Compression.Zip64ExtraField:GetJustZip64Block(System.IO.Stream,ubyte,ubyte,ubyte,ubyte):System.IO.Compression.Zip64ExtraField (FullOpts)
         -14 (-4.96 % of base) : 183788.dasm - Roslyn.Utilities.OneOrMany`1+<<OfType>g__iterateElements|18_0>d`1[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -12 (-4.78 % of base) : 106172.dasm - System.Xml.ValidateNames:ParseNCName(System.String,int):int (FullOpts)
          -9 (-1.89 % of base) : 223629.dasm - Xunit.Assert:Distinct[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]) (FullOpts)
          -6 (-5.41 % of base) : 171990.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
          -6 (-5.41 % of base) : 198378.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
          -6 (-1.75 % of base) : 168749.dasm - System.Configuration.XmlUtil:.ctor(System.IO.Stream,System.String,ubyte,System.Configuration.ConfigurationSchemaErrors):this (FullOpts)
          -6 (-1.75 % of base) : 156165.dasm - System.Configuration.XmlUtil:.ctor(System.IO.Stream,System.String,ubyte,System.Configuration.ConfigurationSchemaErrors):this (FullOpts)
          -5 (-1.37 % of base) : 150585.dasm - System.Security.Cryptography.X509Certificates.X509SubjectAlternativeNameExtension+<EnumerateDnsNames>d__6:MoveNext():ubyte:this (FullOpts)
          -4 (-1.25 % of base) : 241058.dasm - System.Linq.Enumerable+<OfTypeIterator>d__64`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -3 (-0.90 % of base) : 186008.dasm - System.Management.ManagementNamedValueCollection:GetContext():System.Management.IWbemContext:this (FullOpts)
          -2 (-2.15 % of base) : 137604.dasm - Internal.TypeSystem.InstantiatedType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
          -2 (-1.32 % of base) : 147941.dasm - Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+ValueCollection+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.64 % of base) : 31365.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,ubyte]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.33 % of base) : 22857.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.75 % of base) : 31860.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[int,ubyte]:MoveNext():ubyte:this (FullOpts)
Top method regressions (percentages):
          34 (125.93 % of base) : 235343.dasm - System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
        1547 (122.39 % of base) : 236523.dasm - System.Runtime.Caching.UsageBucket:Reduce():this (FullOpts)
        2146 (122.07 % of base) : 107643.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteDerivedSerializable(System.Xml.Serialization.SerializableMapping,System.Xml.Serialization.SerializableMapping,System.String,ubyte):this (FullOpts)
         188 (120.51 % of base) : 36987.dasm - System.Data.Common.DbCommandBuilder+ParameterNames:EliminateConflictingNames():this (FullOpts)
         215 (117.49 % of base) : 145761.dasm - System.Xml.XmlBaseReader+NamespaceManager:ExitScope():this (FullOpts)
        2484 (116.29 % of base) : 123515.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Parser:ParseFromControlVars():Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CollectionRangeVariableSyntax]:this (FullOpts)
         143 (113.49 % of base) : 38630.dasm - Microsoft.Diagnostics.Tracing.Utilities.FastStream:ReadAsciiStringUpToTrue(System.Text.StringBuilder,System.Func`2[ubyte,ubyte]):this (FullOpts)
         564 (113.48 % of base) : 62543.dasm - Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder:<ExpressionOfTypeMatchesPatternTypeForLearningFromSuccessfulTypeTest>g__isRuntimeSimilar|42_0(Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):ubyte (FullOpts)
         347 (111.58 % of base) : 179472.dasm - Microsoft.CodeAnalysis.Collections.SmallConcurrentSetOfInts:Add(Microsoft.CodeAnalysis.Collections.SmallConcurrentSetOfInts,int):ubyte (FullOpts)
         347 (111.58 % of base) : 205612.dasm - Microsoft.CodeAnalysis.Collections.SmallConcurrentSetOfInts:Add(Microsoft.CodeAnalysis.Collections.SmallConcurrentSetOfInts,int):ubyte (FullOpts)
         824 (111.35 % of base) : 177307.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerExecutor:ExecuteCompilationStartActions(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.CompilationStartAnalyzerAction],Microsoft.CodeAnalysis.Diagnostics.HostCompilationStartAnalysisScope,System.Threading.CancellationToken):this (FullOpts)
         824 (111.35 % of base) : 203497.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerExecutor:ExecuteCompilationStartActions(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.CompilationStartAnalyzerAction],Microsoft.CodeAnalysis.Diagnostics.HostCompilationStartAnalysisScope,System.Threading.CancellationToken):this (FullOpts)
        1935 (110.32 % of base) : 134716.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation+ReferenceManager:SetupReferencesForFileAssembly(Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation+ReferenceManager+AssemblyDataForFile,Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation,Microsoft.CodeAnalysis.VisualBasic.Symbols.AssemblySymbol][],int,byref,Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceAssemblySymbol) (FullOpts)
        1604 (109.94 % of base) : 228408.dasm - System.Security.Principal.WindowsIdentity:AddTokenClaims(System.Collections.Generic.List`1[System.Security.Claims.Claim],int,System.String):this (FullOpts)
         188 (109.30 % of base) : 145710.dasm - System.Runtime.Serialization.Json.XmlJsonReader:ComputeNumericalTextLength(ubyte[],int,int):int (FullOpts)
         208 (107.22 % of base) : 180717.dasm - Microsoft.CodeAnalysis.SyntaxNode+ChildSyntaxListEnumeratorStack:TryGetNextAsNodeInSpan(byref):Microsoft.CodeAnalysis.SyntaxNode:this (FullOpts)
         208 (107.22 % of base) : 206851.dasm - Microsoft.CodeAnalysis.SyntaxNode+ChildSyntaxListEnumeratorStack:TryGetNextAsNodeInSpan(byref):Microsoft.CodeAnalysis.SyntaxNode:this (FullOpts)
        1081 (107.14 % of base) : 90558.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation+ReferenceManager:SetupReferencesForFileAssembly(Microsoft.CodeAnalysis.CSharp.CSharpCompilation+ReferenceManager+AssemblyDataForFile,Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol][],byref,byref,Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol) (FullOpts)
        2051 (106.55 % of base) : 31192.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
        1042 (106.33 % of base) : 165249.dasm - ILCompiler.Reflection.ReadyToRun.x86.GcInfo:GetTransitionsNoEbp(ubyte[],byref):this (FullOpts)
Top method improvements (percentages):
        -120 (-16.37 % of base) : 29655.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -64 (-6.30 % of base) : 62141.dasm - Microsoft.CodeAnalysis.CSharp.Binder:CheckWhatCandidatesWeHave(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbol],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,System.String,int,byref,byref,byref,byref):this (FullOpts)
          -6 (-5.41 % of base) : 171990.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
          -6 (-5.41 % of base) : 198378.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
         -14 (-4.96 % of base) : 183788.dasm - Roslyn.Utilities.OneOrMany`1+<<OfType>g__iterateElements|18_0>d`1[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -12 (-4.78 % of base) : 106172.dasm - System.Xml.ValidateNames:ParseNCName(System.String,int):int (FullOpts)
         -17 (-2.60 % of base) : 237405.dasm - System.IO.Compression.Zip64ExtraField:GetJustZip64Block(System.IO.Stream,ubyte,ubyte,ubyte,ubyte):System.IO.Compression.Zip64ExtraField (FullOpts)
          -2 (-2.15 % of base) : 137604.dasm - Internal.TypeSystem.InstantiatedType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
        -142 (-1.90 % of base) : 215634.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
          -9 (-1.89 % of base) : 223629.dasm - Xunit.Assert:Distinct[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]) (FullOpts)
         -21 (-1.82 % of base) : 195674.dasm - Newtonsoft.Json.Converters.XmlNodeConverter:ReadAttributeElements(Newtonsoft.Json.JsonReader,System.Xml.XmlNamespaceManager):System.Collections.Generic.Dictionary`2[System.String,System.String]:this (FullOpts)
          -2 (-1.75 % of base) : 31860.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[int,ubyte]:MoveNext():ubyte:this (FullOpts)
          -6 (-1.75 % of base) : 168749.dasm - System.Configuration.XmlUtil:.ctor(System.IO.Stream,System.String,ubyte,System.Configuration.ConfigurationSchemaErrors):this (FullOpts)
          -6 (-1.75 % of base) : 156165.dasm - System.Configuration.XmlUtil:.ctor(System.IO.Stream,System.String,ubyte,System.Configuration.ConfigurationSchemaErrors):this (FullOpts)
          -2 (-1.72 % of base) : 31865.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[int,ubyte]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.64 % of base) : 31365.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,ubyte]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.64 % of base) : 22875.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.64 % of base) : 22567.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.63 % of base) : 22891.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -5 (-1.37 % of base) : 150585.dasm - System.Security.Cryptography.X509Certificates.X509SubjectAlternativeNameExtension+<EnumerateDnsNames>d__6:MoveNext():ubyte:this (FullOpts)
  
libraries.pmi.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 60047589 (overridden on cmd)
Total bytes of diff: 66595665 (overridden on cmd)
Total bytes of delta: 6548076 (10.90 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       19832 : 101368.dasm (111.00 % of base)
       19600 : 167748.dasm (68.83 % of base)
       19289 : 101409.dasm (83.92 % of base)
       13804 : 89835.dasm (107.54 % of base)
       11663 : 66984.dasm (94.61 % of base)
       11606 : 227557.dasm (101.16 % of base)
       11491 : 67090.dasm (102.72 % of base)
       10487 : 17540.dasm (84.77 % of base)
       10228 : 179806.dasm (104.23 % of base)
        9450 : 254025.dasm (88.65 % of base)
        9319 : 105578.dasm (93.87 % of base)
        8912 : 96983.dasm (90.72 % of base)
        8348 : 147857.dasm (76.82 % of base)
        7375 : 250178.dasm (91.33 % of base)
        7232 : 101358.dasm (91.50 % of base)
        7157 : 101684.dasm (75.34 % of base)
        6605 : 253620.dasm (64.69 % of base)
        6374 : 62318.dasm (96.10 % of base)
        6191 : 90123.dasm (93.32 % of base)
        6177 : 89847.dasm (100.72 % of base)
Top file improvements (bytes):
        -329 : 120.dasm (-3.82 % of base)
         -84 : 61283.dasm (-6.45 % of base)
         -58 : 248657.dasm (-7.32 % of base)
         -42 : 66145.dasm (-4.90 % of base)
         -40 : 205015.dasm (-8.06 % of base)
         -40 : 205055.dasm (-7.86 % of base)
         -25 : 209537.dasm (-3.18 % of base)
         -25 : 227383.dasm (-3.61 % of base)
         -20 : 278667.dasm (-3.03 % of base)
         -19 : 265890.dasm (-0.77 % of base)
         -19 : 169767.dasm (-3.06 % of base)
         -18 : 210226.dasm (-3.06 % of base)
         -18 : 143468.dasm (-0.46 % of base)
         -17 : 238773.dasm (-2.09 % of base)
         -17 : 188742.dasm (-2.09 % of base)
         -17 : 269051.dasm (-4.12 % of base)
         -15 : 286180.dasm (-7.61 % of base)
         -15 : 286215.dasm (-7.39 % of base)
         -15 : 149144.dasm (-10.07 % of base)
         -15 : 189084.dasm (-10.07 % of base)
93 total files with Code Size differences (32 improved, 61 regressed), 20 unchanged.
Top method regressions (bytes):
       19832 (111.00 % of base) : 101368.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindFieldAndPropertyInitializers(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,System.Collections.Immutable.ImmutableArray`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.FieldOrPropertyInitializer]],Microsoft.CodeAnalysis.VisualBasic.Symbols.SynthesizedInteractiveInitializerMethod,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundInitializer] (FullOpts)
       19600 (68.83 % of base) : 167748.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
       19289 (83.92 % of base) : 101409.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureForASingleCandidate(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.Location,int,byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.VisualBasic.Symbol):this (FullOpts)
       13804 (107.54 % of base) : 89835.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       11663 (94.61 % of base) : 66984.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
       11606 (101.16 % of base) : 227557.dasm - System.Management.ManagementClassGenerator:GenerateProperties():this (FullOpts)
       11491 (102.72 % of base) : 67090.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
       10487 (84.77 % of base) : 17540.dasm - System.Data.XmlTreeGen:HandleTable(System.Data.DataTable,System.Xml.XmlDocument,System.Xml.XmlElement,ubyte):System.Xml.XmlElement:this (FullOpts)
       10228 (104.23 % of base) : 179806.dasm - Microsoft.Build.Evaluation.Preprocessor:CloneChildrenResolvingImports(System.Xml.XmlNode,System.Xml.XmlNode):this (FullOpts)
        9450 (88.65 % of base) : 254025.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.DebugDirectoryNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (FullOpts)
        9319 (93.87 % of base) : 105578.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberFieldSymbol:Create(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Syntax.FieldDeclarationSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol+MembersAndInitializersBuilder,byref,byref,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag) (FullOpts)
        8912 (90.72 % of base) : 96983.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        8348 (76.82 % of base) : 147857.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
        7375 (91.33 % of base) : 250178.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (FullOpts)
        7232 (91.50 % of base) : 101358.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindArrayBounds(Microsoft.CodeAnalysis.VisualBasic.Syntax.ArgumentListSyntax,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Binder+DimensionSize[],ubyte):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]:this (FullOpts)
        7157 (75.34 % of base) : 101684.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:DecodeParameterList(Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,int,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.ParameterSyntax],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.VisualBasic.Binder+CheckParameterModifierDelegate,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):this (FullOpts)
        6605 (64.69 % of base) : 253620.dasm - ILCompiler.Win32Resources.ResourceData:WriteResources(ILCompiler.DependencyAnalysis.ISymbolNode,byref,byref):this (FullOpts)
        6374 (96.10 % of base) : 62318.dasm - Microsoft.CodeAnalysis.CSharp.ConversionsBase:AddUserDefinedConversionsToExplicitCandidateSet(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.UserDefinedConversionAnalysis],Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,ubyte,ubyte,byref):this (FullOpts)
        6191 (93.32 % of base) : 90123.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeTypeParameters(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol]:this (FullOpts)
        6177 (100.72 % of base) : 89847.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:ComputeInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+SynthesizedExplicitImplementations:this (FullOpts)
Top method improvements (bytes):
        -329 (-3.82 % of base) : 120.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
         -84 (-6.45 % of base) : 61283.dasm - Microsoft.CodeAnalysis.CSharp.Binder:CheckWhatCandidatesWeHave(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbol],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,System.String,int,byref,byref,byref,byref):this (FullOpts)
         -58 (-7.32 % of base) : 248657.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateParameterizedConstructor(System.Reflection.ConstructorInfo,System.Type,System.Type,System.Type,System.Type):System.Reflection.Emit.DynamicMethod (FullOpts)
         -42 (-4.90 % of base) : 66145.dasm - Microsoft.CodeAnalysis.CSharp.DeclarationTreeBuilder:GetNonTypeMemberNames(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.MemberDeclarationSyntax],byref,ubyte,ubyte):System.Runtime.CompilerServices.StrongBox`1[Microsoft.CodeAnalysis.Collections.ImmutableSegmentedHashSet`1[System.String]]:this (FullOpts)
         -40 (-8.06 % of base) : 205015.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+KeyCollection[System.__Canon,System.Nullable`1[int]]:All[double](System.Func`3[System.__Canon,double,ubyte],double):ubyte:this (FullOpts)
         -40 (-7.86 % of base) : 205055.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+ValueCollection[System.__Canon,System.Nullable`1[int]]:All[double](System.Func`3[System.Nullable`1[int],double,ubyte],double):ubyte:this (FullOpts)
         -25 (-3.18 % of base) : 209537.dasm - System.Collections.Immutable.ImmutableList`1+Node[double]:Find(System.Predicate`1[double]):double:this (FullOpts)
         -25 (-3.61 % of base) : 227383.dasm - System.Management.ManagementQueryConverter:ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type):System.Object:this (FullOpts)
         -20 (-3.03 % of base) : 278667.dasm - System.IO.Compression.Zip64ExtraField:GetJustZip64Block(System.IO.Stream,ubyte,ubyte,ubyte,ubyte):System.IO.Compression.Zip64ExtraField (FullOpts)
         -19 (-0.77 % of base) : 265890.dasm - ILCompiler.Diagnostics.PdbWriter:WriteFileChecksums():this (FullOpts)
         -19 (-3.06 % of base) : 169767.dasm - Newtonsoft.Json.Utilities.ConvertUtils:CreateCastConverter(Newtonsoft.Json.Utilities.StructMultiKey`2[System.Type,System.Type]):System.Func`2[System.Object,System.Object] (FullOpts)
         -18 (-3.06 % of base) : 210226.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:IsProperSupersetOf(System.Collections.Generic.IEnumerable`1[System.__Canon]):ubyte:this (FullOpts)
         -18 (-0.46 % of base) : 143468.dasm - System.Xml.Xsl.Runtime.XsltMethods:.cctor() (FullOpts)
         -17 (-4.12 % of base) : 269051.dasm - System.CodeDom.Compiler.CompilerInfo:CreateProvider(System.Collections.Generic.IDictionary`2[System.String,System.String]):System.CodeDom.Compiler.CodeDomProvider:this (FullOpts)
         -17 (-2.09 % of base) : 238773.dasm - System.Reflection.TypeLoading.Ecma.EcmaDefinitionType+<SpecializeEvents>d__2:MoveNext():ubyte:this (FullOpts)
         -17 (-2.09 % of base) : 188742.dasm - System.Reflection.TypeLoading.Ecma.EcmaDefinitionType+<SpecializeEvents>d__2:MoveNext():ubyte:this (FullOpts)
         -15 (-10.07 % of base) : 149144.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
         -15 (-10.07 % of base) : 189084.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
         -15 (-7.61 % of base) : 286180.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -15 (-7.39 % of base) : 286215.dasm - System.Linq.Enumerable+WhereSelectListIterator`2[System.__Canon,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts)
Top method regressions (percentages):
         103 (156.06 % of base) : 162332.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:RewriteSpecialBlocks():this (FullOpts)
         103 (156.06 % of base) : 202193.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:RewriteSpecialBlocks():this (FullOpts)
         210 (143.84 % of base) : 79726.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanToEndOfLine():this (FullOpts)
        3490 (130.61 % of base) : 146915.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>FAB93D28E879A1C012F40790EA668F818AB3858873713FA53950E20F52E058952__EnsureArrayIndexRegex_5+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
        4838 (128.57 % of base) : 262470.dasm - Microsoft.Extensions.DependencyModel.DependencyContextWriter:AddRuntimeSpecificAssets(System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.DependencyModel.RuntimeFile],System.String,System.String,System.Text.Json.Utf8JsonWriter) (FullOpts)
         860 (127.98 % of base) : 146236.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteDerivedTypes(System.Xml.Serialization.StructMapping,ubyte,System.String):this (FullOpts)
          34 (125.93 % of base) : 297669.dasm - System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
        2105 (125.67 % of base) : 253494.dasm - ILCompiler.PEWriter.MapFileBuilder:WriteSections(System.IO.StreamWriter):this (FullOpts)
         189 (124.34 % of base) : 37249.dasm - Microsoft.Diagnostics.Tracing.Utilities.FastStream:ReadAsciiStringUpToTrue(System.Text.StringBuilder,System.Func`2[ubyte,ubyte]):this (FullOpts)
        2212 (124.34 % of base) : 231020.dasm - System.Net.Http.Headers.HttpHeaders:ToString():System.String:this (FullOpts)
        1529 (121.83 % of base) : 297082.dasm - System.Runtime.Caching.UsageBucket:Reduce():this (FullOpts)
         188 (121.29 % of base) : 22096.dasm - System.Data.Common.DbCommandBuilder+ParameterNames:EliminateConflictingNames():this (FullOpts)
         183 (120.39 % of base) : 37991.dasm - Microsoft.Diagnostics.Tracing.StackSources.ParallelLinuxPerfScriptStackSource:FindValidStartOn(Microsoft.Diagnostics.Tracing.Utilities.FastStream):this (FullOpts)
        1456 (118.76 % of base) : 59639.dasm - System.Reflection.Metadata.Ecma335.NamespaceCache:LinkChildToParentNamespace(System.Collections.Generic.Dictionary`2[System.String,System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder],System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder,byref):this (FullOpts)
         213 (118.33 % of base) : 236808.dasm - System.Xml.XmlBaseReader+NamespaceManager:ExitScope():this (FullOpts)
        1649 (115.15 % of base) : 109007.dasm - Microsoft.CodeAnalysis.VisualBasic.MethodCompiler:CreateSyntheticWithEventOverridesIfNeeded(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.HandledEvent],byref,byref,Microsoft.CodeAnalysis.VisualBasic.TypeCompilationState,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.SynthesizedSubmissionFields):this (FullOpts)
        2703 (114.05 % of base) : 93674.dasm - Microsoft.CodeAnalysis.CSharp.CodeGen.CodeGenerator:<EmitLengthBasedStringSwitchJumpTable>g__emitCharDispatches|282_1(Microsoft.CodeAnalysis.CSharp.LengthBasedStringSwitchData,Microsoft.CodeAnalysis.CodeGen.LocalOrParameter,Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,Microsoft.CodeAnalysis.SyntaxNode,byref):this (FullOpts)
         182 (113.75 % of base) : 179724.dasm - Microsoft.Build.Evaluation.Scanner:SkipSimpleStringChars():this (FullOpts)
         951 (113.21 % of base) : 279544.dasm - System.Security.IdentityHelper:ToBase32StringSuitableForDirName(ubyte[]):System.String (FullOpts)
         951 (113.21 % of base) : 215102.dasm - System.Security.IdentityHelper:ToBase32StringSuitableForDirName(ubyte[]):System.String (FullOpts)
Top method improvements (percentages):
         -15 (-10.07 % of base) : 149144.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
         -15 (-10.07 % of base) : 189084.dasm - Roslyn.Utilities.PathUtilities:TrimTrailingSeparators(System.String):System.String (FullOpts)
         -40 (-8.06 % of base) : 205015.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+KeyCollection[System.__Canon,System.Nullable`1[int]]:All[double](System.Func`3[System.__Canon,double,ubyte],double):ubyte:this (FullOpts)
         -40 (-7.86 % of base) : 205055.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+ValueCollection[System.__Canon,System.Nullable`1[int]]:All[double](System.Func`3[System.Nullable`1[int],double,ubyte],double):ubyte:this (FullOpts)
         -15 (-7.61 % of base) : 286180.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -15 (-7.39 % of base) : 286215.dasm - System.Linq.Enumerable+WhereSelectListIterator`2[System.__Canon,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts)
         -12 (-7.36 % of base) : 97786.dasm - System.Reflection.DispatchProxyGenerator:GetGenericMethodMethodInfo():System.Reflection.MethodInfo (FullOpts)
         -58 (-7.32 % of base) : 248657.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateParameterizedConstructor(System.Reflection.ConstructorInfo,System.Type,System.Type,System.Type,System.Type):System.Reflection.Emit.DynamicMethod (FullOpts)
         -84 (-6.45 % of base) : 61283.dasm - Microsoft.CodeAnalysis.CSharp.Binder:CheckWhatCandidatesWeHave(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbol],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,System.String,int,byref,byref,byref,byref):this (FullOpts)
         -12 (-5.71 % of base) : 223075.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Byte():System.Reflection.MethodInfo (FullOpts)
         -12 (-5.71 % of base) : 223083.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Char():System.Reflection.MethodInfo (FullOpts)
         -12 (-5.71 % of base) : 223077.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Int16():System.Reflection.MethodInfo (FullOpts)
         -12 (-5.71 % of base) : 223079.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Int32():System.Reflection.MethodInfo (FullOpts)
         -12 (-5.71 % of base) : 223081.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_Int64():System.Reflection.MethodInfo (FullOpts)
         -12 (-5.71 % of base) : 223076.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_SByte():System.Reflection.MethodInfo (FullOpts)
         -12 (-5.71 % of base) : 223078.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_UInt16():System.Reflection.MethodInfo (FullOpts)
         -12 (-5.71 % of base) : 223080.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_UInt32():System.Reflection.MethodInfo (FullOpts)
         -12 (-5.71 % of base) : 223082.dasm - System.Linq.Expressions.CachedReflectionInfo:get_Decimal_op_Implicit_UInt64():System.Reflection.MethodInfo (FullOpts)
         -12 (-5.71 % of base) : 223066.dasm - System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
          -9 (-5.33 % of base) : 183430.dasm - Microsoft.Build.Shared.FileUtilities:GetDirectoryNameOfFullPath(System.String):System.String (FullOpts)
  
libraries_tests.run.windows.x64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 276546440 (overridden on cmd)
Total bytes of diff: 303121266 (overridden on cmd)
Total bytes of delta: 26574826 (9.61 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       24103 : 63174.dasm (101.20 % of base)
       19643 : 58976.dasm (90.78 % of base)
       19565 : 471212.dasm (93.22 % of base)
       19077 : 525799.dasm (91.92 % of base)
       18229 : 65613.dasm (99.80 % of base)
       18197 : 90443.dasm (90.71 % of base)
       17834 : 159745.dasm (79.84 % of base)
       17791 : 589084.dasm (90.84 % of base)
       17582 : 54084.dasm (95.10 % of base)
       16997 : 610858.dasm (79.36 % of base)
       16511 : 612821.dasm (86.23 % of base)
       16347 : 210263.dasm (77.69 % of base)
       15848 : 610856.dasm (74.98 % of base)
       15824 : 618188.dasm (79.83 % of base)
       15668 : 54081.dasm (77.84 % of base)
       15138 : 618256.dasm (73.70 % of base)
       15098 : 66267.dasm (78.97 % of base)
       14886 : 89749.dasm (88.21 % of base)
       14405 : 89988.dasm (87.61 % of base)
       14401 : 586622.dasm (81.22 % of base)
Top file improvements (bytes):
       -1226 : 387148.dasm (-30.57 % of base)
       -1187 : 386599.dasm (-27.84 % of base)
        -413 : 411360.dasm (-5.05 % of base)
        -216 : 316030.dasm (-21.36 % of base)
        -211 : 522964.dasm (-2.26 % of base)
        -199 : 300768.dasm (-4.06 % of base)
        -199 : 301106.dasm (-2.89 % of base)
        -199 : 300751.dasm (-2.90 % of base)
        -194 : 614897.dasm (-4.10 % of base)
        -170 : 242909.dasm (-18.48 % of base)
        -168 : 257629.dasm (-18.30 % of base)
        -167 : 251143.dasm (-17.36 % of base)
        -166 : 371481.dasm (-17.31 % of base)
        -161 : 228117.dasm (-16.95 % of base)
        -161 : 247896.dasm (-17.04 % of base)
        -161 : 254069.dasm (-16.97 % of base)
        -161 : 355021.dasm (-17.04 % of base)
        -161 : 376278.dasm (-16.97 % of base)
        -161 : 392408.dasm (-17.02 % of base)
        -161 : 41973.dasm (-16.97 % of base)
90 total files with Code Size differences (29 improved, 61 regressed), 20 unchanged.
Top method regressions (bytes):
       24103 (101.20 % of base) : 63174.dasm - Microsoft.CodeAnalysis.CSharp.Binder:MakeDeconstructionConversion(Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Binder+DeconstructionVariable],byref):ubyte:this (Tier1)
       19643 (90.78 % of base) : 58976.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
       19565 (93.22 % of base) : 471212.dasm - System.Runtime.Serialization.ReflectionXmlFormatWriter:ReflectionWriteCollection(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (Tier1-OSR)
       19077 (91.92 % of base) : 525799.dasm - System.Xml.XmlLoader:LoadNode(ubyte):System.Xml.XmlNode:this (Tier1-OSR)
       18229 (99.80 % of base) : 65613.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeTypeParameters(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol]:this (Tier1)
       18197 (90.71 % of base) : 90443.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers:MakeParameters[System.__Canon,System.__Canon,System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,System.__Canon,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[System.__Canon],byref,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte,ubyte,ubyte,int,System.Func`12[System.__Canon,System.__Canon,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.__Canon,ubyte,int,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,ubyte,ubyte,System.__Canon,System.__Canon],ubyte):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (Tier1)
       17834 (79.84 % of base) : 159745.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
       17791 (90.84 % of base) : 589084.dasm - System.Text.Json.Tests.Utf8JsonWriterTests:GetNumbersExpectedString(System.Text.Json.JsonWriterOptions,System.String,int[],uint[],long[],ulong[],float[],double[],System.Decimal[],ubyte):System.String (Tier1-OSR)
       17582 (95.10 % of base) : 54084.dasm - Microsoft.CodeAnalysis.CSharp.Binder:TryPerformConstructorOverloadResolution(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.String,Microsoft.CodeAnalysis.Location,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref,byref,ubyte,ubyte):ubyte:this (Tier1)
       16997 (79.36 % of base) : 610858.dasm - Microsoft.CodeAnalysis.CSharp.Binder:TryPerformConstructorOverloadResolution(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.String,Microsoft.CodeAnalysis.Location,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref,byref,ubyte,ubyte):ubyte:this (Tier1)
       16511 (86.23 % of base) : 612821.dasm - Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,System.__Canon]:VisitBinaryLogicalOperatorChildren(Microsoft.CodeAnalysis.CSharp.BoundExpression):this (Tier1)
       16347 (77.69 % of base) : 210263.dasm - System.Runtime.Serialization.Formatters.Binary.ObjectWriter:WriteArray(System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo,System.Runtime.Serialization.Formatters.Binary.NameInfo,System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo):this (Tier1)
       15848 (74.98 % of base) : 610856.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindAttributeCore(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundAttribute:this (Tier1)
       15824 (79.83 % of base) : 618188.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindClassCreationExpression(Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.CSharp.Syntax.InitializerExpressionSyntax,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
       15668 (77.84 % of base) : 54081.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindAttributeCore(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundAttribute:this (Tier1)
       15138 (73.70 % of base) : 618256.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindConstructorInitializerCore(Microsoft.CodeAnalysis.CSharp.Syntax.ArgumentListSyntax,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
       15098 (78.97 % of base) : 66267.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindClassCreationExpression(Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.CSharp.Syntax.InitializerExpressionSyntax,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
       14886 (88.21 % of base) : 89749.dasm - Microsoft.CodeAnalysis.CSharp.Binder:TryPerformConstructorOverloadResolution(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.String,Microsoft.CodeAnalysis.Location,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref,byref,ubyte,ubyte):ubyte:this (Tier1)
       14405 (87.61 % of base) : 89988.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
       14401 (81.22 % of base) : 586622.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:TestingNumbers_TryGetMethods() (Tier1-OSR)
Top method improvements (bytes):
       -1226 (-30.57 % of base) : 387148.dasm - System.Numerics.Tensors.TensorPrimitives:<InvokeSpanSpanIntoSpan>g__VectorizedSmall8|220_6[ulong,System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[ulong]](byref,byref,byref,ulong) (Tier1)
       -1187 (-27.84 % of base) : 386599.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanSpanIntoSpan[ulong,System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[ulong]](System.ReadOnlySpan`1[ulong],System.ReadOnlySpan`1[ulong],System.Span`1[ulong]) (Tier1)
        -413 (-5.05 % of base) : 411360.dasm - System.Xml.XPath.XPathNavigator:CompareSiblings(System.Xml.XPath.XPathNavigator,System.Xml.XPath.XPathNavigator):int (Tier1)
        -216 (-21.36 % of base) : 316030.dasm - Xunit.Assert:Equal(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte,ubyte,ubyte) (Tier1-OSR)
        -211 (-2.26 % of base) : 522964.dasm - System.Security.Cryptography.EcDsa.Tests.ECDsaTests:SignVerify_InteroperableSameKeys_RoundTripsUnlessTampered(System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName):this (Tier1)
        -199 (-4.06 % of base) : 300768.dasm - System.IO.Tests.Directory_GetFileSystemEntries_str_str:SearchPatternDotIsStar():this (Tier1)
        -199 (-2.89 % of base) : 301106.dasm - System.IO.Tests.Directory_GetFileSystemEntries_str_str:SearchPatternWithLeadingStar():this (Tier1)
        -199 (-2.90 % of base) : 300751.dasm - System.IO.Tests.Directory_GetFileSystemEntries_str_str:SearchPatternWithTrailingStar():this (Tier1)
        -194 (-4.10 % of base) : 614897.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitWhileStatement(Microsoft.CodeAnalysis.CSharp.BoundWhileStatement):Microsoft.CodeAnalysis.CSharp.BoundNode:this (Tier1)
        -170 (-18.48 % of base) : 242909.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -168 (-18.30 % of base) : 257629.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -167 (-17.36 % of base) : 251143.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -166 (-17.31 % of base) : 371481.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -161 (-16.95 % of base) : 228117.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -161 (-17.04 % of base) : 247896.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -161 (-16.97 % of base) : 254069.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -161 (-17.04 % of base) : 355021.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -161 (-16.97 % of base) : 376278.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -161 (-17.02 % of base) : 392408.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -161 (-16.97 % of base) : 41973.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
Top method regressions (percentages):
        2724 (178.62 % of base) : 612930.dasm - Microsoft.CodeAnalysis.CSharp.BoundTreeRewriter:DoVisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):System.Collections.Immutable.ImmutableArray`1[System.__Canon]:this (Tier1)
        1517 (154.32 % of base) : 162580.dasm - Microsoft.CodeAnalysis.CSharp.BoundTreeRewriter:DoVisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):System.Collections.Immutable.ImmutableArray`1[System.__Canon]:this (Tier1)
        3628 (151.99 % of base) : 161500.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseTypeArgumentList(byref,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxListBuilder`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax],byref):this (Tier1)
         274 (141.97 % of base) : 162809.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:ComputeOffsets():this (Tier1)
         265 (131.84 % of base) : 606992.dasm - Microsoft.CodeAnalysis.GreenNode:GetLastTerminal():Microsoft.CodeAnalysis.GreenNode:this (Tier1)
        6548 (131.14 % of base) : 55239.dasm - System.Collections.Generic.ArraySortHelper`1[System.ValueTuple`2[int,System.__Canon]]:IntroSort(System.Span`1[System.ValueTuple`2[int,System.__Canon]],int,System.Comparison`1[System.ValueTuple`2[int,System.__Canon]]) (Tier1)
        6548 (131.14 % of base) : 88221.dasm - System.Collections.Generic.ArraySortHelper`1[System.ValueTuple`2[int,System.__Canon]]:IntroSort(System.Span`1[System.ValueTuple`2[int,System.__Canon]],int,System.Comparison`1[System.ValueTuple`2[int,System.__Canon]]) (Tier1)
         402 (130.94 % of base) : 609459.dasm - Microsoft.CodeAnalysis.Collections.SmallConcurrentSetOfInts:Add(Microsoft.CodeAnalysis.Collections.SmallConcurrentSetOfInts,int):ubyte (Tier1)
         223 (129.65 % of base) : 372418.dasm - System.Net.HttpValidationHelpers:IsInvalidMethodOrHeaderString(System.String):ubyte (Tier1)
         244 (128.42 % of base) : 52093.dasm - Microsoft.CodeAnalysis.GreenNode:GetFirstTerminal():Microsoft.CodeAnalysis.GreenNode:this (Tier1)
        3587 (128.11 % of base) : 186189.dasm - System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests:AddManyItems_ThenTakeOnSameThread_ItemsOutputInExpectedOrder():this (Tier1-OSR)
        9217 (127.68 % of base) : 53296.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation:GetRuntimeMember(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbol],byref,Microsoft.CodeAnalysis.RuntimeMembers.SignatureComparer`5[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.FieldSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.PropertySymbol,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol):Microsoft.CodeAnalysis.CSharp.Symbol (Tier1)
        2277 (127.49 % of base) : 640555.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex32006_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        2080 (126.91 % of base) : 533982.dasm - System.Net.MultiArrayBuffer:FreeBlocks(uint,uint):this (Tier1)
          34 (125.93 % of base) : 520403.dasm - System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (Tier1)
        2266 (125.68 % of base) : 349171.dasm - System.Net.Http.Headers.HttpHeaders:ToString():System.String:this (Tier0-FullOpts)
        1713 (125.49 % of base) : 66464.dasm - Microsoft.CodeAnalysis.CSharp.Conversions:GetDelegateOrFunctionPointerArguments(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.CSharp.CSharpCompilation) (Tier1)
       10588 (124.92 % of base) : 620267.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:CandidateOperators(ubyte,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.BinaryOperatorSignature],Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.BinaryOperatorAnalysisResult],byref):ubyte:this (Tier1)
        2144 (124.51 % of base) : 292393.dasm - System.Net.MultiArrayBuffer:FreeBlocks(uint,uint):this (Tier1)
        2212 (124.34 % of base) : 353037.dasm - System.Net.Http.Headers.HttpHeaders:ToString():System.String:this (Tier0-FullOpts)
Top method improvements (percentages):
       -1226 (-30.57 % of base) : 387148.dasm - System.Numerics.Tensors.TensorPrimitives:<InvokeSpanSpanIntoSpan>g__VectorizedSmall8|220_6[ulong,System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[ulong]](byref,byref,byref,ulong) (Tier1)
       -1187 (-27.84 % of base) : 386599.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanSpanIntoSpan[ulong,System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[ulong]](System.ReadOnlySpan`1[ulong],System.ReadOnlySpan`1[ulong],System.Span`1[ulong]) (Tier1)
        -216 (-21.36 % of base) : 316030.dasm - Xunit.Assert:Equal(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte,ubyte,ubyte) (Tier1-OSR)
        -124 (-19.97 % of base) : 618720.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindDeclaratorArguments(Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclaratorSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression]:this (Tier1)
        -170 (-18.48 % of base) : 242909.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -168 (-18.30 % of base) : 257629.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -167 (-17.36 % of base) : 251143.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -166 (-17.31 % of base) : 371481.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -161 (-17.04 % of base) : 247896.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -161 (-17.04 % of base) : 355021.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -161 (-17.02 % of base) : 392408.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -161 (-17.02 % of base) : 383991.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -161 (-16.97 % of base) : 254069.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -161 (-16.97 % of base) : 376278.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -161 (-16.97 % of base) : 41973.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -161 (-16.97 % of base) : 340524.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -161 (-16.97 % of base) : 476000.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -161 (-16.97 % of base) : 534320.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -161 (-16.97 % of base) : 106783.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
        -161 (-16.95 % of base) : 228117.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (Tier1)
  
librariestestsnotieredcompilation.run.windows.x64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 135656589 (overridden on cmd)
Total bytes of diff: 145155453 (overridden on cmd)
Total bytes of delta: 9498864 (7.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       24869 : 117856.dasm (36.50 % of base)
       24645 : 110192.dasm (37.05 % of base)
       19332 : 60205.dasm (67.78 % of base)
       14913 : 183329.dasm (97.55 % of base)
       13846 : 7494.dasm (107.18 % of base)
       13740 : 50198.dasm (107.08 % of base)
       12904 : 45002.dasm (106.75 % of base)
       12589 : 210999.dasm (63.32 % of base)
       12296 : 210583.dasm (63.21 % of base)
       11840 : 310578.dasm (103.30 % of base)
       11558 : 149405.dasm (101.39 % of base)
       11464 : 56512.dasm (102.34 % of base)
       10115 : 94812.dasm (84.47 % of base)
        9500 : 108506.dasm (97.80 % of base)
        8968 : 6443.dasm (90.60 % of base)
        8891 : 99589.dasm (81.84 % of base)
        8593 : 54799.dasm (81.12 % of base)
        8385 : 54979.dasm (82.87 % of base)
        8348 : 25121.dasm (76.82 % of base)
        8343 : 184709.dasm (109.89 % of base)
Top file improvements (bytes):
       -1618 : 45690.dasm (-11.85 % of base)
       -1618 : 51422.dasm (-11.85 % of base)
       -1280 : 72212.dasm (-16.63 % of base)
       -1102 : 70126.dasm (-15.46 % of base)
        -329 : 3680.dasm (-3.82 % of base)
        -195 : 243408.dasm (-5.69 % of base)
        -147 : 152794.dasm (-6.82 % of base)
        -138 : 117050.dasm (-8.98 % of base)
         -93 : 293766.dasm (-14.72 % of base)
         -88 : 199700.dasm (-8.81 % of base)
         -88 : 199799.dasm (-8.81 % of base)
         -88 : 199673.dasm (-8.81 % of base)
         -88 : 311717.dasm (-6.15 % of base)
         -87 : 293877.dasm (-12.55 % of base)
         -85 : 312529.dasm (-5.84 % of base)
         -85 : 293878.dasm (-9.67 % of base)
         -83 : 119233.dasm (-1.49 % of base)
         -81 : 311820.dasm (-4.48 % of base)
         -81 : 311638.dasm (-4.71 % of base)
         -76 : 232398.dasm (-3.59 % of base)
90 total files with Code Size differences (29 improved, 61 regressed), 20 unchanged.
Top method regressions (bytes):
       24869 (36.50 % of base) : 117856.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.statements.freach.freach007.freach007.Test:MainMethod():int (FullOpts)
       24645 (37.05 % of base) : 110192.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.statements.freach.freach001.freach001.Test:MainMethod():int (FullOpts)
       19332 (67.78 % of base) : 60205.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
       14913 (97.55 % of base) : 183329.dasm - System.Xml.XmlConvertTests.ToTypeTests:TestValid(System.Object[],System.Object[],System.String,System.String[]):int:this (FullOpts)
       13846 (107.18 % of base) : 7494.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       13740 (107.08 % of base) : 50198.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       12904 (106.75 % of base) : 45002.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       12589 (63.32 % of base) : 210999.dasm - (dynamicClass):ReadAllTypes2FromXml(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.XmlObjectSerializerReadContext,System.Xml.XmlDictionaryString[],System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
       12296 (63.21 % of base) : 210583.dasm - (dynamicClass):ReadAllTypesFromXml(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.XmlObjectSerializerReadContext,System.Xml.XmlDictionaryString[],System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
       11840 (103.30 % of base) : 310578.dasm - System.Threading.Tasks.Dataflow.Tests.DebugAttributeTests:TestDebuggerDisplaysAndTypeProxies():this (FullOpts)
       11558 (101.39 % of base) : 149405.dasm - System.Management.ManagementClassGenerator:GenerateProperties():this (FullOpts)
       11464 (102.34 % of base) : 56512.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
       10115 (84.47 % of base) : 94812.dasm - System.Data.XmlTreeGen:HandleTable(System.Data.DataTable,System.Xml.XmlDocument,System.Xml.XmlElement,ubyte):System.Xml.XmlElement:this (FullOpts)
        9500 (97.80 % of base) : 108506.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.basic.operate007a.operate007a.Test:Test4():ubyte (FullOpts)
        8968 (90.60 % of base) : 6443.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        8891 (81.84 % of base) : 99589.dasm - System.Data.Tests.DataTableTest2:GetChanges_ByDataRowState():this (FullOpts)
        8593 (81.12 % of base) : 54799.dasm - Enumeration.FirstValidator:Validate(System.String,Enumeration.FirstModel):Microsoft.Extensions.Options.ValidateOptionsResult:this (FullOpts)
        8385 (82.87 % of base) : 54979.dasm - Microsoft.Extensions.Options.Generators.Parser:GetMemberInfo(Microsoft.CodeAnalysis.ISymbol,ubyte,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.ITypeSymbol):Microsoft.Extensions.Options.Generators.ValidatedMember:this (FullOpts)
        8348 (76.82 % of base) : 25121.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
        8343 (109.89 % of base) : 184709.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess2():int:this (FullOpts)
Top method improvements (bytes):
       -1618 (-11.85 % of base) : 45690.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers:CheckParameterModifiers(Microsoft.CodeAnalysis.CSharp.Syntax.BaseParameterSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte) (FullOpts)
       -1618 (-11.85 % of base) : 51422.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers:CheckParameterModifiers(Microsoft.CodeAnalysis.CSharp.Syntax.BaseParameterSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte) (FullOpts)
       -1280 (-16.63 % of base) : 72212.dasm - System.Collections.Frozen.Tests.FrozenSet_Generic_Tests`1[int]:ComparingWithOtherSets(int):this (FullOpts)
       -1102 (-15.46 % of base) : 70126.dasm - System.Collections.Frozen.Tests.FrozenSet_Generic_Tests`1[System.__Canon]:ComparingWithOtherSets(int):this (FullOpts)
        -329 (-3.82 % of base) : 3680.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
        -195 (-5.69 % of base) : 243408.dasm - System.Text.Tests.DecoderConvert2:PosTest9():this (FullOpts)
        -147 (-6.82 % of base) : 152794.dasm - System.SpanTests.SpanTests:TestMatchLastIndexOfAny_Byte_ManyByte() (FullOpts)
        -138 (-8.98 % of base) : 117050.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.basic.operate008a.operate008a.Test:Test4a():ubyte (FullOpts)
         -93 (-14.72 % of base) : 293766.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3164_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -88 (-8.81 % of base) : 199673.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector512Tests:ExpDoubleTest(double,double,double):this (FullOpts)
         -88 (-8.81 % of base) : 199700.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector512Tests:Log2DoubleTest(double,double,double):this (FullOpts)
         -88 (-8.81 % of base) : 199799.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector512Tests:LogDoubleTest(double,double,double):this (FullOpts)
         -88 (-6.15 % of base) : 311717.dasm - System.Threading.Tasks.Dataflow.Tests.BufferBlockTests+<TestLinkToOptions>d__6:MoveNext():this (FullOpts)
         -87 (-12.55 % of base) : 293877.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3347_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -85 (-9.67 % of base) : 293878.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3348_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -85 (-5.84 % of base) : 312529.dasm - System.Threading.Tasks.Dataflow.Tests.TransformManyBlockTests+<TestLinkToOptionsAsyncEnumerable>d__37:MoveNext():this (FullOpts)
         -83 (-1.49 % of base) : 119233.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.context.property.regproperty.genclass.genclass012.genclass012.Test:MainMethod():int (FullOpts)
         -81 (-4.48 % of base) : 311820.dasm - System.Threading.Tasks.Dataflow.Tests.TransformBlockTests+<TestLinkToOptions>d__6:MoveNext():this (FullOpts)
         -81 (-4.71 % of base) : 311638.dasm - System.Threading.Tasks.Dataflow.Tests.TransformManyBlockTests+<TestLinkToOptions>d__6:MoveNext():this (FullOpts)
         -76 (-3.59 % of base) : 232398.dasm - System.Security.Cryptography.EcDsa.Tests.ECDsaTests:SignVerify_InteroperableSameKeys_RoundTripsUnlessTampered(System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName):this (FullOpts)
Top method regressions (percentages):
         103 (156.06 % of base) : 55568.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:RewriteSpecialBlocks():this (FullOpts)
         103 (156.06 % of base) : 53378.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:RewriteSpecialBlocks():this (FullOpts)
         103 (156.06 % of base) : 47053.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:RewriteSpecialBlocks():this (FullOpts)
         792 (153.49 % of base) : 101664.dasm - System.Diagnostics.Metrics.Tests.MetricsTests+<>c__DisplayClass15_0:<SerializedEventsTest>b__3():this (FullOpts)
         210 (143.84 % of base) : 49213.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanToEndOfLine():this (FullOpts)
         210 (143.84 % of base) : 46219.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanToEndOfLine():this (FullOpts)
         210 (143.84 % of base) : 10921.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanToEndOfLine():this (FullOpts)
         993 (139.47 % of base) : 183968.dasm - System.Xml.XmlWriterApiTests.TCIndent:indent_29(System.Xml.XmlWriterApiTests.XmlWriterUtils):this (FullOpts)
        3519 (136.24 % of base) : 71726.dasm - System.Collections.Frozen.Tests.FrozenDictionary_Generic_Tests`2[ushort,ushort]:EmptySource_ProducedFrozenDictionaryEmpty():this (FullOpts)
        1224 (128.17 % of base) : 190138.dasm - System.Reflection.Metadata.Tests.HandleTests:HandleKindHidesSpecialStringAndNamespaces():this (FullOpts)
         860 (127.98 % of base) : 63435.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteDerivedTypes(System.Xml.Serialization.StructMapping,ubyte,System.String):this (FullOpts)
         902 (126.33 % of base) : 82084.dasm - System.ComponentModel.DataAnnotations.Tests.AssociatedMetadataTypeTypeDescriptionProviderTests:GetTypeDescriptorGetAttributes_NoAssociatedMetadataTypeWithoutMetadataTypeAttribute_ReturnsExpected():this (FullOpts)
        2305 (125.96 % of base) : 290902.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3737_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          34 (125.93 % of base) : 203892.dasm - System.Numerics.BigIntegerCalculator:Gcd(uint,uint):uint (FullOpts)
        2266 (125.68 % of base) : 154634.dasm - System.Net.Http.Headers.HttpHeaders:ToString():System.String:this (FullOpts)
        1456 (124.87 % of base) : 191292.dasm - System.Reflection.Metadata.Ecma335.NamespaceCache:LinkChildToParentNamespace(System.Collections.Generic.Dictionary`2[System.String,System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder],System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder,byref):this (FullOpts)
         728 (124.87 % of base) : 84927.dasm - Tests.Integration.CompositionContainerAttributedModelCycleTests:AssertCycle(System.Type[]) (FullOpts)
        2212 (124.34 % of base) : 156868.dasm - System.Net.Http.Headers.HttpHeaders:ToString():System.String:this (FullOpts)
        1013 (123.99 % of base) : 101260.dasm - System.Diagnostics.Tests.TagListTests:TestSearchOperations():this (FullOpts)
         775 (123.80 % of base) : 31074.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.ConfigurationBindingGenerator+Emitter:<EmitBindMethods_ConfigurationBinder>g__EmitMethods|14_0(SourceGenerators.ImmutableEquatableArray`1[Microsoft.Extensions.Configuration.Binder.SourceGeneration.TypedInterceptorInvocationInfo],System.String,System.String,ubyte):this (FullOpts)
Top method improvements (percentages):
       -1280 (-16.63 % of base) : 72212.dasm - System.Collections.Frozen.Tests.FrozenSet_Generic_Tests`1[int]:ComparingWithOtherSets(int):this (FullOpts)
       -1102 (-15.46 % of base) : 70126.dasm - System.Collections.Frozen.Tests.FrozenSet_Generic_Tests`1[System.__Canon]:ComparingWithOtherSets(int):this (FullOpts)
         -93 (-14.72 % of base) : 293766.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3164_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -87 (-12.55 % of base) : 293877.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3347_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -42 (-12.32 % of base) : 283494.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex11_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -42 (-12.07 % of base) : 283497.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex14_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -42 (-12.07 % of base) : 283499.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex16_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
       -1618 (-11.85 % of base) : 45690.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers:CheckParameterModifiers(Microsoft.CodeAnalysis.CSharp.Syntax.BaseParameterSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte) (FullOpts)
       -1618 (-11.85 % of base) : 51422.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers:CheckParameterModifiers(Microsoft.CodeAnalysis.CSharp.Syntax.BaseParameterSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte) (FullOpts)
         -44 (-11.06 % of base) : 183315.dasm - System.Xml.XmlConvertTests.EncodeDecodeTests:v3():int:this (FullOpts)
         -27 (-10.47 % of base) : 226608.dasm - System.Security.Cryptography.TripleDES:set_Key(ubyte[]):this (FullOpts)
         -85 (-9.67 % of base) : 293878.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3348_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -58 (-9.56 % of base) : 283537.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex55_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        -138 (-8.98 % of base) : 117050.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.basic.operate008a.operate008a.Test:Test4a():ubyte (FullOpts)
         -88 (-8.81 % of base) : 199673.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector512Tests:ExpDoubleTest(double,double,double):this (FullOpts)
         -88 (-8.81 % of base) : 199700.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector512Tests:Log2DoubleTest(double,double,double):this (FullOpts)
         -88 (-8.81 % of base) : 199799.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector512Tests:LogDoubleTest(double,double,double):this (FullOpts)
         -38 (-8.30 % of base) : 289974.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1114_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -38 (-8.30 % of base) : 289985.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1116_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -38 (-8.30 % of base) : 290007.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1120_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
  
realworld.run.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 13710148 (overridden on cmd)
Total bytes of diff: 15599234 (overridden on cmd)
Total bytes of delta: 1889086 (13.78 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
       13639 : 23160.dasm (107.69 % of base)
       11488 : 28048.dasm (94.57 % of base)
       11364 : 26871.dasm (102.42 % of base)
        9161 : 22070.dasm (91.05 % of base)
        7596 : 1466.dasm (95.50 % of base)
        7385 : 14099.dasm (91.22 % of base)
        7324 : 34750.dasm (69.37 % of base)
        6881 : 27373.dasm (83.77 % of base)
        6676 : 16592.dasm (82.42 % of base)
        6611 : 23827.dasm (94.94 % of base)
        6413 : 20823.dasm (85.75 % of base)
        6251 : 24444.dasm (95.83 % of base)
        6182 : 8567.dasm (77.97 % of base)
        6158 : 15467.dasm (132.46 % of base)
        6121 : 812.dasm (83.01 % of base)
        6009 : 23557.dasm (98.86 % of base)
        5646 : 33606.dasm (92.59 % of base)
        5500 : 23099.dasm (73.37 % of base)
        5294 : 10561.dasm (79.98 % of base)
        5190 : 15667.dasm (103.82 % of base)
Top file improvements (bytes):
        -335 : 32717.dasm (-3.87 % of base)
        -152 : 446.dasm (-17.00 % of base)
         -53 : 2190.dasm (-4.33 % of base)
         -42 : 20904.dasm (-4.90 % of base)
         -34 : 1334.dasm (-31.78 % of base)
         -32 : 17656.dasm (-10.63 % of base)
         -18 : 11212.dasm (-0.70 % of base)
         -18 : 11301.dasm (-0.73 % of base)
         -16 : 11240.dasm (-11.35 % of base)
         -15 : 35973.dasm (-1.77 % of base)
         -15 : 36759.dasm (-7.61 % of base)
         -14 : 17398.dasm (-0.92 % of base)
         -13 : 33380.dasm (-0.90 % of base)
         -12 : 1694.dasm (-1.27 % of base)
         -12 : 2203.dasm (-1.87 % of base)
         -12 : 35204.dasm (-5.71 % of base)
         -12 : 16256.dasm (-2.99 % of base)
          -6 : 15240.dasm (-0.39 % of base)
          -6 : 24010.dasm (-1.17 % of base)
          -6 : 36872.dasm (-0.81 % of base)
87 total files with Code Size differences (27 improved, 60 regressed), 9 unchanged.
Top method regressions (bytes):
       13639 (107.69 % of base) : 23160.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
       11488 (94.57 % of base) : 28048.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
       11364 (102.42 % of base) : 26871.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
        9161 (91.05 % of base) : 22070.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
        7596 (95.50 % of base) : 1466.dasm - BepuPhysics.CollisionDetection.MeshReduction:ReduceManifolds(byref,byref,int,int,ubyte,byref,byref,byref,ulong,BepuUtilities.Memory.BufferPool) (FullOpts)
        7385 (91.22 % of base) : 14099.dasm - FSharp.Compiler.CheckFormatStrings:parseLoop@185(FSharp.Compiler.Text.Range,FSharp.Compiler.TcGlobals+TcGlobals,ubyte,ubyte,Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.NameResolution+FormatStringCheckContext],FSharp.Compiler.TypedTree+TType,FSharp.Compiler.TypedTree+TType,int,System.Collections.Generic.List`1[System.Tuple`2[FSharp.Compiler.Text.Range,int]],System.Text.StringBuilder,System.Collections.Generic.List`1[FSharp.Compiler.TypedTree+TType],Microsoft.FSharp.Core.FSharpRef`1[int],Microsoft.FSharp.Core.FSharpRef`1[System.String],Microsoft.FSharp.Collections.FSharpList`1[System.Tuple`2[Microsoft.FSharp.Core.FSharpOption`1[int],FSharp.Compiler.TypedTree+TType]],int,int,int,Microsoft.FSharp.Collections.FSharpList`1[System.Tuple`3[int,int,FSharp.Compiler.Text.Range]]):Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+TType] (FullOpts)
        7324 (69.37 % of base) : 34750.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        6881 (83.77 % of base) : 27373.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindInterpolatedString(Microsoft.CodeAnalysis.CSharp.Syntax.InterpolatedStringExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
        6676 (82.42 % of base) : 16592.dasm - Microsoft.ML.Trainers.SdcaMulticlassTrainerBase`1[System.__Canon]:TrainWithoutLock(Microsoft.ML.Runtime.IProgressChannelProvider,Microsoft.ML.Trainers.FloatLabelCursor+Factory,System.Random,Microsoft.ML.Trainers.SdcaTrainerBase`3+IdToIdxLookup[System.__Canon,System.__Canon,System.__Canon],int,Microsoft.ML.Trainers.SdcaTrainerBase`3+DualsTableBase[System.__Canon,System.__Canon,System.__Canon],float[],float[],float,Microsoft.ML.Data.VBuffer`1[float][],float[],Microsoft.ML.Data.VBuffer`1[float][],float[],float[]):this (FullOpts)
        6611 (94.94 % of base) : 23827.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeTypeParameters(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol]:this (FullOpts)
        6413 (85.75 % of base) : 20823.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
        6251 (95.83 % of base) : 24444.dasm - Microsoft.CodeAnalysis.CSharp.ConversionsBase:AddUserDefinedConversionsToExplicitCandidateSet(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.UserDefinedConversionAnalysis],Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,ubyte,ubyte,byref):this (FullOpts)
        6182 (77.97 % of base) : 8567.dasm - FSharp.Compiler.CheckExpressions:TcLinearExprs(Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.ConstraintSolver+OverallTy,Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.CheckExpressions+TcEnv,Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.Syntax.SynExpr,System.Tuple`2[FSharp.Compiler.TypedTree+Expr,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv]]]]],FSharp.Compiler.CheckExpressions+TcFileState,FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.ConstraintSolver+OverallTy,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,ubyte,FSharp.Compiler.Syntax.SynExpr,Microsoft.FSharp.Core.FSharpFunc`2[System.Tuple`2[FSharp.Compiler.TypedTree+Expr,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv],System.Tuple`2[FSharp.Compiler.TypedTree+Expr,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv]]):System.Tuple`2[FSharp.Compiler.TypedTree+Expr,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv] (FullOpts)
        6158 (132.46 % of base) : 15467.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.JpegComponentPostProcessor:CopyBlocksToColorBuffer(int):this (FullOpts)
        6121 (83.01 % of base) : 812.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
        6009 (98.86 % of base) : 23557.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:ComputeInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+SynthesizedExplicitImplementations:this (FullOpts)
        5646 (92.59 % of base) : 33606.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        5500 (73.37 % of base) : 23099.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeOneDeclaredBases(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Tuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]]:this (FullOpts)
        5294 (79.98 % of base) : 10561.dasm - FSharp.Compiler.MethodOverrides+DispatchSlotChecking:CheckDispatchSlotsAreImplemented(FSharp.Compiler.TypedTreeOps+DisplayEnv,FSharp.Compiler.InfoReader+InfoReader,FSharp.Compiler.Text.Range,FSharp.Compiler.NameResolution+NameResolutionEnv,FSharp.Compiler.NameResolution+TcResultsSink,ubyte,FSharp.Compiler.TypedTree+TType,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.MethodOverrides+RequiredSlot],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.MethodOverrides+OverrideInfo],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.MethodOverrides+OverrideInfo]):ubyte (FullOpts)
        5190 (103.82 % of base) : 15667.dasm - SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:ProcessBorderColumn(SixLabors.ImageSharp.Memory.Buffer2D`1[SixLabors.ImageSharp.PixelFormats.Rgba32],SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1+CdfTileData[SixLabors.ImageSharp.PixelFormats.Rgba32],int,int,int,int,int,int,int) (FullOpts)
Top method improvements (bytes):
        -335 (-3.87 % of base) : 32717.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
        -152 (-17.00 % of base) : 446.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -53 (-4.33 % of base) : 2190.dasm - System.Reflection.MethodBaseInvoker:InvokeWithOneArg(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this (FullOpts)
         -42 (-4.90 % of base) : 20904.dasm - Microsoft.CodeAnalysis.CSharp.DeclarationTreeBuilder:GetNonTypeMemberNames(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.MemberDeclarationSyntax],byref,ubyte,ubyte):System.Runtime.CompilerServices.StrongBox`1[Microsoft.CodeAnalysis.Collections.ImmutableSegmentedHashSet`1[System.String]]:this (FullOpts)
         -34 (-31.78 % of base) : 1334.dasm - BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
         -32 (-10.63 % of base) : 17656.dasm - System.Threading.PortableThreadPool:EnsureIOCompletionPollers():this (FullOpts)
         -18 (-0.70 % of base) : 11212.dasm - FSharp.Compiler.TypedTreePickle:p_entity_spec_data(FSharp.Compiler.TypedTree+Entity,FSharp.Compiler.TypedTreePickle+WriterState) (FullOpts)
         -18 (-0.73 % of base) : 11301.dasm - FSharp.Compiler.TypedTreePickle:p_ValData(FSharp.Compiler.TypedTree+Val,FSharp.Compiler.TypedTreePickle+WriterState) (FullOpts)
         -16 (-11.35 % of base) : 11240.dasm - FSharp.Compiler.TypedTreePickle+p_tcaug@1979-16:Invoke(Microsoft.FSharp.Core.Unit,FSharp.Compiler.TypedTreePickle+WriterState):Microsoft.FSharp.Core.Unit:this (FullOpts)
         -15 (-7.61 % of base) : 36759.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -15 (-1.77 % of base) : 35973.dasm - System.Management.Automation.Runspaces.CommandParameter:ToCommandParameterInternal(System.Management.Automation.Runspaces.CommandParameter,ubyte):System.Management.Automation.CommandParameterInternal (FullOpts)
         -14 (-0.92 % of base) : 17398.dasm - System.Net.Http.HttpWindowsProxy:GetMultiProxy(System.Uri):System.Net.Http.MultiProxy:this (FullOpts)
         -13 (-0.90 % of base) : 33380.dasm - Microsoft.PowerShell.Commands.RegistryProvider:GetRegkeyForPath(System.String,ubyte):Microsoft.PowerShell.Commands.IRegistryWrapper:this (FullOpts)
         -12 (-1.87 % of base) : 2203.dasm - FSharp.Compiler.DependencyManager.AssemblyResolveHandlerCoreclr:.ctor(Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.DependencyManager.AssemblyResolutionProbe]):this (FullOpts)
         -12 (-2.99 % of base) : 16256.dasm - Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe:Create(Microsoft.ML.Data.DataViewType,System.Object):Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe (FullOpts)
         -12 (-1.27 % of base) : 1694.dasm - System.Collections.Hashtable:Insert(System.Object,System.Object,ubyte):this (FullOpts)
         -12 (-5.71 % of base) : 35204.dasm - System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
          -6 (-1.17 % of base) : 24010.dasm - Roslyn.Utilities.MultiDictionary`2+ValueSet[System.__Canon,System.__Canon]:Contains(System.__Canon,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):ubyte:this (FullOpts)
          -6 (-0.39 % of base) : 15240.dasm - SixLabors.ImageSharp.Compression.Zlib.DeflaterEngine:DeflateSlow(ubyte,ubyte):ubyte:this (FullOpts)
          -6 (-0.81 % of base) : 36872.dasm - System.Management.Automation.ComInterop.VariantArray:GetStructType(int):System.Type (FullOpts)
Top method regressions (percentages):
         103 (156.06 % of base) : 29886.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:RewriteSpecialBlocks():this (FullOpts)
         210 (143.84 % of base) : 19247.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanToEndOfLine():this (FullOpts)
        6158 (132.46 % of base) : 15467.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.JpegComponentPostProcessor:CopyBlocksToColorBuffer(int):this (FullOpts)
        1194 (117.06 % of base) : 1002.dasm - BepuPhysics.Trees.Tree:Sweep[BepuPhysics.Collidables.ShapeTreeSweepLeafTester`1[BepuPhysics.CollisionDetection.CollisionTasks.ChildOverlapsCollection]](int,byref,byref,byref,ulong,ulong,byref):this (FullOpts)
         629 (116.48 % of base) : 1129.dasm - BepuPhysics.Trees.Tree:RayCast[BepuPhysics.Collidables.BigCompound+LeafTester`1[DemoBenchmarks.ShapeRayBenchmarksDeep+HitHandler]](int,ulong,ulong,ulong,byref):this (FullOpts)
        4487 (113.85 % of base) : 1518.dasm - BepuPhysics.Trees.Tree:GetOverlapsBetweenDifferentNodes[BepuPhysics.CollisionDetection.CollidableOverlapFinder`1+IntertreeOverlapHandler[DemoBenchmarks.ShapePileBenchmark+DemoNarrowPhaseCallbacks]](byref,byref,byref,byref):this (FullOpts)
        2039 (112.22 % of base) : 27001.dasm - Microsoft.CodeAnalysis.CSharp.SwitchBinder:BuildSwitchLabels(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.SwitchLabelSyntax],Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        4753 (108.99 % of base) : 29399.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         437 (108.98 % of base) : 24577.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceEnumConstantSymbol:ForceComplete(Microsoft.CodeAnalysis.SourceLocation,System.Threading.CancellationToken):this (FullOpts)
         949 (108.58 % of base) : 18826.dasm - Microsoft.ML.Transforms.LpNormNormalizingTransformer+Mapper:GetOutputColumnsCore():Microsoft.ML.DataViewSchema+DetachedColumn[]:this (FullOpts)
         355 (108.23 % of base) : 23405.dasm - Microsoft.CodeAnalysis.Collections.SmallConcurrentSetOfInts:Add(Microsoft.CodeAnalysis.Collections.SmallConcurrentSetOfInts,int):ubyte (FullOpts)
       13639 (107.69 % of base) : 23160.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         935 (107.47 % of base) : 1497.dasm - BepuPhysics.Constraints.TypeProcessor`3[System.Numerics.Vector`1[int],BepuPhysics.Constraints.Contact.Contact4OneBodyPrestepData,BepuPhysics.Constraints.Contact.Contact4AccumulatedImpulses]:GatherActiveConstraints(BepuPhysics.Bodies,BepuPhysics.Solver,byref,int,int,byref):this (FullOpts)
        1092 (107.37 % of base) : 271.dasm - System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts)
         591 (107.07 % of base) : 28206.dasm - Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder:<ExpressionOfTypeMatchesPatternTypeForLearningFromSuccessfulTypeTest>g__isRuntimeSimilar|42_0(Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):ubyte (FullOpts)
        3048 (107.06 % of base) : 26383.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindRegularCSharpFieldInitializers(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,System.Collections.Immutable.ImmutableArray`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.FieldOrPropertyInitializer]],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.BoundInitializer],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref) (FullOpts)
         448 (106.92 % of base) : 12148.dasm - FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores:writeFakeUnionCtorsToSink@3987(FSharp.Compiler.CheckExpressions+TcFileState,FSharp.Compiler.TypedTree+EntityRef,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+TType],FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.AccessibilityLogic+AccessorDomain,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+UnionCase]) (FullOpts)
        1169 (106.37 % of base) : 25843.dasm - Microsoft.CodeAnalysis.CSharp.Conversions:GetDelegateOrFunctionPointerArguments(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.CSharp.CSharpCompilation) (FullOpts)
        3140 (106.26 % of base) : 1368.dasm - BepuPhysics.CollisionDetection.FreshnessChecker:CheckFreshnessInRegion(int,int,int):this (FullOpts)
        3229 (105.97 % of base) : 15669.dasm - SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:ProcessCornerTile(SixLabors.ImageSharp.Memory.Buffer2D`1[SixLabors.ImageSharp.PixelFormats.Rgba32],SixLabors.ImageSharp.Processing.Processors.Normalization.AdaptiveHistogramEqualizationProcessor`1+CdfTileData[SixLabors.ImageSharp.PixelFormats.Rgba32],int,int,int,int,int,int,int) (FullOpts)
Top method improvements (percentages):
         -34 (-31.78 % of base) : 1334.dasm - BepuPhysics.CollisionDetection.ContactConstraintAccessor`6[BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1PrestepData,BepuPhysics.Constraints.Contact.Contact1AccumulatedImpulses,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.ConstraintCache1]:CopyContactData(byref,byref,byref) (FullOpts)
        -152 (-17.00 % of base) : 446.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
         -16 (-11.35 % of base) : 11240.dasm - FSharp.Compiler.TypedTreePickle+p_tcaug@1979-16:Invoke(Microsoft.FSharp.Core.Unit,FSharp.Compiler.TypedTreePickle+WriterState):Microsoft.FSharp.Core.Unit:this (FullOpts)
         -32 (-10.63 % of base) : 17656.dasm - System.Threading.PortableThreadPool:EnsureIOCompletionPollers():this (FullOpts)
         -15 (-7.61 % of base) : 36759.dasm - System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -12 (-5.71 % of base) : 35204.dasm - System.Linq.Expressions.CachedReflectionInfo:get_MethodBase_GetMethodFromHandle_RuntimeMethodHandle():System.Reflection.MethodInfo (FullOpts)
         -42 (-4.90 % of base) : 20904.dasm - Microsoft.CodeAnalysis.CSharp.DeclarationTreeBuilder:GetNonTypeMemberNames(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.MemberDeclarationSyntax],byref,ubyte,ubyte):System.Runtime.CompilerServices.StrongBox`1[Microsoft.CodeAnalysis.Collections.ImmutableSegmentedHashSet`1[System.String]]:this (FullOpts)
         -53 (-4.33 % of base) : 2190.dasm - System.Reflection.MethodBaseInvoker:InvokeWithOneArg(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this (FullOpts)
        -335 (-3.87 % of base) : 32717.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
         -12 (-2.99 % of base) : 16256.dasm - Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe:Create(Microsoft.ML.Data.DataViewType,System.Object):Microsoft.ML.Data.DataViewUtils+Splitter+OutPipe (FullOpts)
         -12 (-1.87 % of base) : 2203.dasm - FSharp.Compiler.DependencyManager.AssemblyResolveHandlerCoreclr:.ctor(Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.DependencyManager.AssemblyResolutionProbe]):this (FullOpts)
         -15 (-1.77 % of base) : 35973.dasm - System.Management.Automation.Runspaces.CommandParameter:ToCommandParameterInternal(System.Management.Automation.Runspaces.CommandParameter,ubyte):System.Management.Automation.CommandParameterInternal (FullOpts)
          -2 (-1.67 % of base) : 16454.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.67 % of base) : 101.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.67 % of base) : 20925.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.65 % of base) : 3138.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.59 % of base) : 4561.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[FSharp.Compiler.Text.Position,System.ValueTuple`3[int,int,ubyte]]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.46 % of base) : 207.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.41 % of base) : 26469.dasm - System.Collections.Generic.HashSet`1+Enumerator[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]:MoveNext():ubyte:this (FullOpts)
         -12 (-1.27 % of base) : 1694.dasm - System.Collections.Hashtable:Insert(System.Object,System.Object,ubyte):this (FullOpts)
  
smoke_tests.nativeaot.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 5066508 (overridden on cmd)
Total bytes of diff: 5797153 (overridden on cmd)
Total bytes of delta: 730645 (14.42 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
        6130 : 18950.dasm (81.62 % of base)
        6106 : 1116.dasm (81.27 % of base)
        6106 : 4481.dasm (81.27 % of base)
        6105 : 16193.dasm (81.21 % of base)
        6105 : 21627.dasm (81.21 % of base)
        5959 : 11377.dasm (68.28 % of base)
        4827 : 6161.dasm (87.02 % of base)
        4780 : 14914.dasm (87.16 % of base)
        4780 : 11930.dasm (87.21 % of base)
        2430 : 10589.dasm (59.22 % of base)
        2430 : 4663.dasm (59.22 % of base)
        2325 : 14470.dasm (84.33 % of base)
        2302 : 7136.dasm (95.64 % of base)
        2282 : 3451.dasm (82.00 % of base)
        2175 : 15692.dasm (77.16 % of base)
        2175 : 18370.dasm (77.16 % of base)
        2175 : 471.dasm (77.16 % of base)
        2175 : 21061.dasm (77.16 % of base)
        2159 : 16631.dasm (92.50 % of base)
        2159 : 1580.dasm (92.58 % of base)
Top file improvements (bytes):
         -12 : 9610.dasm (-7.41 % of base)
          -4 : 6211.dasm (-0.84 % of base)
          -4 : 6205.dasm (-0.86 % of base)
          -2 : 12087.dasm (-1.68 % of base)
          -2 : 12638.dasm (-2.33 % of base)
          -2 : 13218.dasm (-1.68 % of base)
          -2 : 4613.dasm (-1.45 % of base)
          -2 : 7294.dasm (-2.15 % of base)
          -2 : 7859.dasm (-1.68 % of base)
          -2 : 1249.dasm (-1.45 % of base)
          -2 : 9832.dasm (-1.68 % of base)
          -2 : 16923.dasm (-1.37 % of base)
          -2 : 19488.dasm (-1.37 % of base)
          -2 : 22220.dasm (-1.37 % of base)
          -1 : 11067.dasm (-0.49 % of base)
          -1 : 5741.dasm (-0.45 % of base)
74 total files with Code Size differences (16 improved, 58 regressed), 7 unchanged.
Top method regressions (bytes):
        6130 (81.62 % of base) : 18950.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
        6106 (81.27 % of base) : 1116.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
        6106 (81.27 % of base) : 4481.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
        6105 (81.21 % of base) : 16193.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
        6105 (81.21 % of base) : 21627.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
        5959 (68.28 % of base) : 11377.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        4827 (87.02 % of base) : 6161.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        4780 (87.16 % of base) : 14914.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        4780 (87.21 % of base) : 11930.dasm - System.DateTimeFormat:FormatCustomized[ushort](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        2430 (59.22 % of base) : 10589.dasm - System.Number:TryParseNumber[ushort](byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (FullOpts)
        2430 (59.22 % of base) : 4663.dasm - System.Number:TryParseNumber[ushort](byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (FullOpts)
        2325 (84.33 % of base) : 14470.dasm - System.Text.UnicodeEncoding:GetBytes(ulong,int,ulong,int,System.Text.EncoderNLS):int:this (FullOpts)
        2302 (95.64 % of base) : 7136.dasm - System.Diagnostics.NtProcessManager:GetProcessInfos(System.Diagnostics.PerformanceCounterLib,int,int,System.ReadOnlySpan`1[ubyte]):System.Diagnostics.ProcessInfo[] (FullOpts)
        2282 (82.00 % of base) : 3451.dasm - System.Text.UnicodeEncoding:GetBytes(ulong,int,ulong,int,System.Text.EncoderNLS):int:this (FullOpts)
        2175 (77.16 % of base) : 15692.dasm - System.Text.UnicodeEncoding:GetBytes(ulong,int,ulong,int,System.Text.EncoderNLS):int:this (FullOpts)
        2175 (77.16 % of base) : 18370.dasm - System.Text.UnicodeEncoding:GetBytes(ulong,int,ulong,int,System.Text.EncoderNLS):int:this (FullOpts)
        2175 (77.16 % of base) : 471.dasm - System.Text.UnicodeEncoding:GetBytes(ulong,int,ulong,int,System.Text.EncoderNLS):int:this (FullOpts)
        2175 (77.16 % of base) : 21061.dasm - System.Text.UnicodeEncoding:GetBytes(ulong,int,ulong,int,System.Text.EncoderNLS):int:this (FullOpts)
        2159 (92.50 % of base) : 16631.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
        2159 (92.58 % of base) : 1580.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
Top method improvements (bytes):
         -12 (-7.41 % of base) : 9610.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitInvocation(System.Linq.Expressions.InvocationExpression):System.Linq.Expressions.Expression:this (FullOpts)
          -4 (-0.84 % of base) : 6211.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo+<CoreGetDeclaredSyntheticConstructors>d__186:MoveNext():ubyte:this (FullOpts)
          -4 (-0.86 % of base) : 6205.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo+<CoreGetDeclaredSyntheticMethods>d__188:MoveNext():ubyte:this (FullOpts)
          -2 (-2.33 % of base) : 12638.dasm - Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
          -2 (-2.15 % of base) : 7294.dasm - Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
          -2 (-1.68 % of base) : 13218.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.45 % of base) : 4613.dasm - System.Collections.Generic.Dictionary`2+Enumerator[long,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.45 % of base) : 1249.dasm - System.Collections.Generic.Dictionary`2+Enumerator[long,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.37 % of base) : 16923.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.37 % of base) : 19488.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.37 % of base) : 22220.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.68 % of base) : 9832.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.68 % of base) : 7859.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.68 % of base) : 12087.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -1 (-0.49 % of base) : 11067.dasm - Internal.TypeSystem.InstantiatedMethod:IsCanonicalMethod(int):ubyte:this (FullOpts)
          -1 (-0.45 % of base) : 5741.dasm - Internal.TypeSystem.InstantiatedMethod:IsCanonicalMethod(int):ubyte:this (FullOpts)
Top method regressions (percentages):
          85 (98.84 % of base) : 6742.dasm - System.Random+XoshiroImpl:Next():int:this (FullOpts)
          85 (98.84 % of base) : 2012.dasm - System.Random+XoshiroImpl:Next():int:this (FullOpts)
          85 (98.84 % of base) : 17081.dasm - System.Random+XoshiroImpl:Next():int:this (FullOpts)
          85 (98.84 % of base) : 19788.dasm - System.Random+XoshiroImpl:Next():int:this (FullOpts)
          85 (98.84 % of base) : 22399.dasm - System.Random+XoshiroImpl:Next():int:this (FullOpts)
        1117 (98.41 % of base) : 21035.dasm - System.Text.Encoding:GetCharsWithFallback(System.ReadOnlySpan`1[ubyte],int,System.Span`1[ushort],int,System.Text.DecoderNLS,ubyte):int:this (FullOpts)
        1117 (98.41 % of base) : 15547.dasm - System.Text.Encoding:GetCharsWithFallback(System.ReadOnlySpan`1[ubyte],int,System.Span`1[ushort],int,System.Text.DecoderNLS,ubyte):int:this (FullOpts)
        1114 (98.24 % of base) : 18319.dasm - System.Text.Encoding:GetCharsWithFallback(System.ReadOnlySpan`1[ubyte],int,System.Span`1[ushort],int,System.Text.DecoderNLS,ubyte):int:this (FullOpts)
        1127 (97.83 % of base) : 3313.dasm - System.Text.Encoding:GetCharsWithFallback(System.ReadOnlySpan`1[ubyte],int,System.Span`1[ushort],int,System.Text.DecoderNLS,ubyte):int:this (FullOpts)
        1119 (97.73 % of base) : 424.dasm - System.Text.Encoding:GetCharsWithFallback(System.ReadOnlySpan`1[ubyte],int,System.Span`1[ushort],int,System.Text.DecoderNLS,ubyte):int:this (FullOpts)
        2302 (95.64 % of base) : 7136.dasm - System.Diagnostics.NtProcessManager:GetProcessInfos(System.Diagnostics.PerformanceCounterLib,int,int,System.ReadOnlySpan`1[ubyte]):System.Diagnostics.ProcessInfo[] (FullOpts)
          21 (95.45 % of base) : 12278.dasm - System.Collections.Hashtable+SyncHashtable:get_SyncRoot():System.Object:this (FullOpts)
         405 (93.75 % of base) : 16213.dasm - Internal.Runtime.CompilerHelpers.StartupCodeHelpers:RehydrateData(long,int) (FullOpts)
         405 (93.75 % of base) : 4502.dasm - Internal.Runtime.CompilerHelpers.StartupCodeHelpers:RehydrateData(long,int) (FullOpts)
         405 (93.75 % of base) : 1137.dasm - Internal.Runtime.CompilerHelpers.StartupCodeHelpers:RehydrateData(long,int) (FullOpts)
         405 (93.75 % of base) : 18969.dasm - Internal.Runtime.CompilerHelpers.StartupCodeHelpers:RehydrateData(long,int) (FullOpts)
         405 (93.75 % of base) : 21598.dasm - Internal.Runtime.CompilerHelpers.StartupCodeHelpers:RehydrateData(long,int) (FullOpts)
          99 (93.40 % of base) : 25457.dasm - System.Sha1ForNonSecretPurposes:Append(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
        2159 (92.58 % of base) : 1580.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
        2159 (92.50 % of base) : 16631.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
Top method improvements (percentages):
         -12 (-7.41 % of base) : 9610.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitInvocation(System.Linq.Expressions.InvocationExpression):System.Linq.Expressions.Expression:this (FullOpts)
          -2 (-2.33 % of base) : 12638.dasm - Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
          -2 (-2.15 % of base) : 7294.dasm - Internal.TypeSystem.NoMetadata.NoMetadataType:IsCanonicalSubtype(int):ubyte:this (FullOpts)
          -2 (-1.68 % of base) : 13218.dasm - System.Collections.Generic.Dictionary`2+Enumerator[int,int]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.68 % of base) : 9832.dasm - System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.68 % of base) : 7859.dasm - System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[int,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.68 % of base) : 12087.dasm - System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.45 % of base) : 4613.dasm - System.Collections.Generic.Dictionary`2+Enumerator[long,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.45 % of base) : 1249.dasm - System.Collections.Generic.Dictionary`2+Enumerator[long,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.37 % of base) : 16923.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.37 % of base) : 19488.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -2 (-1.37 % of base) : 22220.dasm - System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-0.86 % of base) : 6205.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo+<CoreGetDeclaredSyntheticMethods>d__188:MoveNext():ubyte:this (FullOpts)
          -4 (-0.84 % of base) : 6211.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo+<CoreGetDeclaredSyntheticConstructors>d__186:MoveNext():ubyte:this (FullOpts)
          -1 (-0.49 % of base) : 11067.dasm - Internal.TypeSystem.InstantiatedMethod:IsCanonicalMethod(int):ubyte:this (FullOpts)
          -1 (-0.45 % of base) : 5741.dasm - Internal.TypeSystem.InstantiatedMethod:IsCanonicalMethod(int):ubyte:this (FullOpts)