Assembly Diffs
linux arm64
Diffs are based on 2,248,727 contexts (1,002,810 MinOpts, 1,245,917 FullOpts).
Overall (-5,316 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.linux.arm64.checked.mch | 16,182,720 | +96 | 
| benchmarks.run_pgo.linux.arm64.checked.mch | 78,138,268 | +920 | 
| benchmarks.run_tiered.linux.arm64.checked.mch | 22,091,624 | -564 | 
| coreclr_tests.run.linux.arm64.checked.mch | 509,422,008 | +180 | 
| libraries.crossgen2.linux.arm64.checked.mch | 312,864 | +0 | 
| libraries.pmi.linux.arm64.checked.mch | 76,257,772 | -324 | 
| libraries_tests.run.linux.arm64.Release.mch | 389,802,068 | -4,524 | 
| librariestestsnotieredcompilation.run.linux.arm64.Release.mch | 164,994,892 | -968 | 
| realworld.run.linux.arm64.checked.mch | 15,915,068 | -132 | 
  
FullOpts (-5,316 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.linux.arm64.checked.mch | 15,840,924 | +96 | 
| benchmarks.run_pgo.linux.arm64.checked.mch | 54,463,108 | +920 | 
| benchmarks.run_tiered.linux.arm64.checked.mch | 4,800,044 | -564 | 
| coreclr_tests.run.linux.arm64.checked.mch | 160,830,940 | +180 | 
| libraries.crossgen2.linux.arm64.checked.mch | 312,864 | +0 | 
| libraries.pmi.linux.arm64.checked.mch | 76,137,788 | -324 | 
| libraries_tests.run.linux.arm64.Release.mch | 173,566,040 | -4,524 | 
| librariestestsnotieredcompilation.run.linux.arm64.Release.mch | 151,497,592 | -968 | 
| realworld.run.linux.arm64.checked.mch | 15,334,144 | -132 | 
  
Example diffs
benchmarks.run.linux.arm64.checked.mch
-4 (-1.56%) : 16462.dasm - Struct.GSeq:FilterSkipMapSum():int:this (FullOpts)
@@ -26,7 +26,7 @@
 ;* V15 tmp7         [V15    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <Struct.Plus15Mapper>
 ;* V16 tmp8         [V16    ] (  0,  0   )  struct (40) zero-ref    do-not-enreg[SF] ld-addr-op "Inlining Arg" <Struct.MapEnumerator`4[int,int,Struct.SkipEnumerator`2[int,Struct.FilterEnumerator`3[int,Struct.ArrayEnumerator`1[int],Struct.FilterIsOdd]],Struct.Plus15Mapper]>
 ;* V17 tmp9         [V17    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <Struct.FoldPlus>
-;  V18 tmp10        [V18,T07] (  4, 12   )     int  ->   x3         "Inlining Arg"
+;  V18 tmp10        [V18,T07] (  4, 12   )     int  ->   x0         "Inlining Arg"
 ;* V19 tmp11        [V19    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp12        [V20    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp13        [V21,T08] (  2,  8   )   ubyte  ->   x6         "Inline return value spill temp"
@@ -34,16 +34,16 @@
 ;* V23 tmp15        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V24 tmp16        [V24,T09] (  3,  8   )   ubyte  ->   x6         "Inline return value spill temp"
 ;* V25 tmp17        [V25    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V26 tmp18        [V26,T12] (  2,  2   )     ref  ->   x0         single-def "field V01._array (fldOffset=0x0)" P-INDEP
+;  V26 tmp18        [V26,T12] (  2,  2   )     ref  ->   x1         single-def "field V01._array (fldOffset=0x0)" P-INDEP
 ;* V27 tmp19        [V27    ] (  0,  0   )     int  ->  zero-ref    single-def "field V01._count (fldOffset=0x8)" P-INDEP
 ;* V28 tmp20        [V28    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V09._array (fldOffset=0x0)" P-INDEP
 ;* V29 tmp21        [V29    ] (  0,  0   )     int  ->  zero-ref    single-def "field V09._count (fldOffset=0x8)" P-INDEP
 ;* V30 tmp22        [V30    ] (  0,  0   )     int  ->  zero-ref    single-def "V03.[000..004)"
 ;* V31 tmp23        [V31    ] (  0,  0   )     ref  ->  zero-ref    single-def "V03.[008..016)"
 ;* V32 tmp24        [V32    ] (  0,  0   )     int  ->  zero-ref    single-def "V03.[016..020)"
-;  V33 tmp25        [V33,T06] (  4, 13   )     int  ->   x1         "V16.[000..004)"
-;  V34 tmp26        [V34,T05] (  4, 14   )     ref  ->   x0         single-def "V16.[008..016)"
-;  V35 tmp27        [V35,T00] ( 20,187.16)     int  ->   x2         "V16.[016..020)"
+;  V33 tmp25        [V33,T06] (  4, 13   )     int  ->   x2         "V16.[000..004)"
+;  V34 tmp26        [V34,T05] (  4, 14   )     ref  ->   x1         single-def "V16.[008..016)"
+;  V35 tmp27        [V35,T00] ( 20,187.16)     int  ->   x3         "V16.[016..020)"
 ;* V36 tmp28        [V36    ] (  0,  0   )     ref  ->  zero-ref    single-def "V02.[000..008)"
 ;* V37 tmp29        [V37    ] (  0,  0   )     int  ->  zero-ref    single-def "V02.[008..012)"
 ;* V38 tmp30        [V38    ] (  0,  0   )     int  ->  zero-ref    single-def "V04.[000..004)"
@@ -67,115 +67,114 @@ G_M1723_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M1723_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0]
-            ldr     x0, [x0, #0x08]
-            mov     w1, #5
-            movn    w2, #0
-            mov     w3, wzr
-            add     x4, x0, #16
+            ldr     x1, [x0, #0x08]
+            ; gcrRegs +[x1]
+            mov     w2, #5
+            movn    w3, #0
+            mov     w0, wzr
+            ; gcrRegs -[x0]
+            add     x4, x1, #16
             ; byrRegs +[x4]
             b       G_M1723_IG09
                        ;; size=24 bbWeight=1 PerfScore 6.00
-G_M1723_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            cmp     w2, w5
-            bhs     G_M1723_IG20
-            ldr     w5, [x4, w2, UXTW #2]
-            add     w3, w5, w3
-            add     w3, w3, #15
+G_M1723_IG03:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            cmp     w3, w5
+            bhs     G_M1723_IG19
+            ldr     w5, [x4, w3, UXTW #2]
+            add     w0, w5, w0
+            add     w0, w0, #15
             b       G_M1723_IG09
                        ;; size=24 bbWeight=2 PerfScore 13.00
-G_M1723_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref
-            ldr     w5, [x0, #0x08]
+G_M1723_IG04:        ; bbWeight=8, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref
+            ldr     w5, [x1, #0x08]
             b       G_M1723_IG06
                        ;; size=8 bbWeight=8 PerfScore 32.00
-G_M1723_IG05:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            ldr     w6, [x4, w2, UXTW #2]
+G_M1723_IG05:        ; bbWeight=8, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            ldr     w6, [x4, w3, UXTW #2]
             and     w7, w6, #1
             cmp     w6, #0
             cneg    w6, w7, lt
             cmp     w6, #1
             beq     G_M1723_IG08
                        ;; size=24 bbWeight=8 PerfScore 48.00
-G_M1723_IG06:        ; bbWeight=32, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            add     w2, w2, #1
-            cmp     w5, w2
+G_M1723_IG06:        ; bbWeight=32, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            add     w3, w3, #1
+            cmp     w5, w3
             bhi     G_M1723_IG05
                        ;; size=12 bbWeight=32 PerfScore 64.00
 G_M1723_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0]
+            ; gcrRegs -[x1]
             ; byrRegs -[x4]
             b       G_M1723_IG18
                        ;; size=4 bbWeight=2 PerfScore 2.00
-G_M1723_IG08:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref
-            ; gcrRegs +[x0]
+G_M1723_IG08:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref
+            ; gcrRegs +[x1]
             ; byrRegs +[x4]
-            sub     w1, w1, #1
+            sub     w2, w2, #1
                      ;; size=4 bbWeight=2 PerfScore 1.00
-G_M1723_IG09:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            cmp     w1, #0
+G_M1723_IG09:        ; bbWeight=8, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            cmp     w2, #0
             bgt     G_M1723_IG04
                        ;; size=8 bbWeight=8 PerfScore 12.00
-G_M1723_IG10:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            add     w2, w2, #1
-            ldr     w5, [x0, #0x08]
-            cmp     w5, w2
+G_M1723_IG10:        ; bbWeight=4, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            add     w3, w3, #1
+            ldr     w5, [x1, #0x08]
+            cmp     w5, w3
             bls     G_M1723_IG15
                        ;; size=16 bbWeight=4 PerfScore 20.00
-G_M1723_IG11:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            tbnz    w2, #31, G_M1723_IG14
+G_M1723_IG11:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            tbnz    w3, #31, G_M1723_IG14
                       ;; size=4 bbWeight=2 PerfScore 2.00
-G_M1723_IG12:        ; bbWeight=15.84, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            ldr     w6, [x4, w2, UXTW #2]
+G_M1723_IG12:        ; bbWeight=15.84, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            ldr     w6, [x4, w3, UXTW #2]
             and     w7, w6, #1
             cmp     w6, #0
             cneg    w6, w7, lt
             cmp     w6, #1
             beq     G_M1723_IG16
-            add     w2, w2, #1
-            cmp     w5, w2
+            add     w3, w3, #1
+            cmp     w5, w3
             bhi     G_M1723_IG12
                        ;; size=36 bbWeight=15.84 PerfScore 126.72
-G_M1723_IG13:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref
+G_M1723_IG13:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref
             b       G_M1723_IG15
                        ;; size=4 bbWeight=2 PerfScore 2.00
-G_M1723_IG14:        ; bbWeight=0.16, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            cmp     w2, w5
-            bhs     G_M1723_IG20
-            ldr     w6, [x4, w2, UXTW #2]
+G_M1723_IG14:        ; bbWeight=0.16, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            cmp     w3, w5
+            bhs     G_M1723_IG19
+            ldr     w6, [x4, w3, UXTW #2]
             and     w7, w6, #1
             cmp     w6, #0
             cneg    w6, w7, lt
             cmp     w6, #1
             beq     G_M1723_IG16
-            add     w2, w2, #1
-            cmp     w5, w2
+            add     w3, w3, #1
+            cmp     w5, w3
             bhi     G_M1723_IG14
                        ;; size=44 bbWeight=0.16 PerfScore 1.52
-G_M1723_IG15:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref
+G_M1723_IG15:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref
             mov     w6, wzr
             b       G_M1723_IG17
                        ;; size=8 bbWeight=2 PerfScore 3.00
-G_M1723_IG16:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref
+G_M1723_IG16:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref
             mov     w6, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M1723_IG17:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
+G_M1723_IG17:        ; bbWeight=4, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
             cbnz    w6, G_M1723_IG03
                        ;; size=4 bbWeight=4 PerfScore 4.00
-G_M1723_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0]
+G_M1723_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ; gcrRegs -[x1]
             ; byrRegs -[x4]
-            mov     w0, w3
-                       ;; size=4 bbWeight=1 PerfScore 0.50
-G_M1723_IG19:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M1723_IG20:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M1723_IG19:        ; 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 256, prolog size 8, PerfScore 342.24, instruction count 64, allocated bytes for code 256 (MethodHash=ee60f944) for method Struct.GSeq:FilterSkipMapSum():int:this (FullOpts)
+; Total bytes of code 252, prolog size 8, PerfScore 341.74, instruction count 63, allocated bytes for code 252 (MethodHash=ee60f944) for method Struct.GSeq:FilterSkipMapSum():int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -186,7 +185,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 64 (0x00040) Actual length = 256 (0x000100)
+  Function Length   : 63 (0x0003f) Actual length = 252 (0x0000fc)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-24 (-1.10%) : 5432.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan1[ushort],System.ReadOnlySpan1[ushort],ubyte,ubyte):ubyte (FullOpts)
@@ -30,8 +30,8 @@
 ;* V19 loc15        [V19    ] (  0,   0   )   ubyte  ->  zero-ref   
 ;* V20 loc16        [V20    ] (  0,   0   )  struct (16) zero-ref    <System.Span`1[int]>
 ;  V21 loc17        [V21,T28] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
-;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x13        
-;  V23 loc19        [V23,T01] (  7,1344   )     int  ->   x1        
+;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x14        
+;  V23 loc19        [V23,T01] (  7,1344   )     int  ->  x13        
 ;  V24 loc20        [V24,T02] (  3, 832   )     int  ->   x0        
 ;# V25 OutArgs      [V25    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V26 tmp1         [V26    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
@@ -40,15 +40,15 @@
 ;  V29 tmp4         [V29,T12] (  4, 256   )     int  ->   x7         "impSpillLclRefs"
 ;  V30 tmp5         [V30,T13] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V31 tmp6         [V31,T15] (  2, 256   )     int  ->  x10         "dup spill"
-;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x0         "impSpillLclRefs"
+;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V33 tmp8         [V33,T49] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
 ;* V34 tmp9         [V34    ] (  0,   0   )     int  ->  zero-ref    ptr
 ;  V35 tmp10        [V35,T37] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V36 tmp11        [V36,T38] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
 ;  V37 tmp12        [V37,T34] (  5,  80   )     int  ->  x13         "dup spill"
 ;  V38 tmp13        [V38,T39] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
-;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x1         "impSpillLclRefs"
-;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x1         "impSpillLclRefs"
+;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
+;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V41 tmp16        [V41,T30] (  3,  96   )     int  ->   x1        
 ;  V42 tmp17        [V42,T52] (  4,  16   )     int  ->  x25         "impSpillLclRefs"
 ;* V43 tmp18        [V43    ] (  0,   0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
@@ -310,10 +310,10 @@ G_M9731_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     x23, [fp, #-0x78]  // [V01 arg1]
             ; byrRegs +[x23]
             ldr     w24, [fp, #-0x70]  // [V01 arg1+0x08]
-            cbz     w22, G_M9731_IG68
+            cbz     w22, G_M9731_IG69
                         ;; size=20 bbWeight=1 PerfScore 9.00
 G_M9731_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref, isz
-            cbz     w24, G_M9731_IG68
+            cbz     w24, G_M9731_IG69
             ldrh    w0, [x21]
             cmp     w0, #42
             bne     G_M9731_IG08
@@ -393,7 +393,7 @@ G_M9731_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2A00000 {x21
 G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23 x25}, byref, isz
             ; byrRegs -[x21]
             cmp     w24, w26
-            blt     G_M9731_IG68
+            blt     G_M9731_IG69
             mov     x0, x23
             ; byrRegs +[x0]
             sxtw    w1, w24
@@ -410,7 +410,7 @@ G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23
             blr     x5
             ; byrRegs -[x0 x2 x23 x25]
             ; gcr arg pop 0
-            b       G_M9731_IG63
+            b       G_M9731_IG64
                         ;; size=60 bbWeight=0.50 PerfScore 5.75
 G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref
             ; byrRegs +[x21 x23]
@@ -437,7 +437,7 @@ G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21
             add     w1, w25, #1
             sxtw    w27, w1
             cmp     w25, w24
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldrh    w1, [x23, w25, UXTW #2]
             sxtw    w25, w1
             b       G_M9731_IG12
@@ -445,7 +445,7 @@ G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21
 G_M9731_IG11:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
             sub     w6, w26, #1
             cmp     w6, w4
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldr     w1, [x3, w6, UXTW #2]
             cmp     w1, w5
             beq     G_M9731_IG21
@@ -469,7 +469,7 @@ G_M9731_IG13:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x2
             str     w0, [fp, #-0x80]   // [V06 loc2]
             str     w4, [fp, #-0xC8]   // [V182 tmp157]
             cmp     w1, w4
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             str     x3, [fp, #-0xD8] // [V181 tmp156]
             ; GC ptr vars +{V181}
             ldr     w1, [x3, w1, UXTW #2]
@@ -477,14 +477,14 @@ G_M9731_IG13:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x2
             add     w1, w1, w1,  LSR #31
             asr     w10, w1, #1
             cmp     w10, w22
-            bge     G_M9731_IG51
+            bge     G_M9731_IG52
                        ;; size=48 bbWeight=16 PerfScore 192.00
 G_M9731_IG14:        ; bbWeight=64, gcVars=00000000000000000000000000000200 {V181}, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, gcvars, byref, isz
             ; byrRegs -[x3]
             lsl     w11, w10, #1
             str     w11, [fp, #-0x94]  // [V16 loc12]
             cmp     w10, w22
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             str     w10, [fp, #-0x7C]  // [V05 loc1]
             ldrh    w13, [x21, w10, UXTW #2]
             str     w13, [fp, #-0x8C]  // [V11 loc7]
@@ -513,7 +513,7 @@ G_M9731_IG15:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             str     w4, [fp, #-0xCC]   // [V244 tmp219]
             ldr     w5, [fp, #-0xC4]   // [V180 tmp155]
             cmp     w5, w4
-            bhi     G_M9731_IG71
+            bhi     G_M9731_IG72
             mov     w2, w5
             lsl     x2, x2, #2
             mov     x0, x3
@@ -548,7 +548,7 @@ G_M9731_IG15:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             str     w4, [fp, #-0xD0]   // [V248 tmp223]
             ldr     w5, [fp, #-0xC8]   // [V182 tmp157]
             cmp     w5, w4
-            bhi     G_M9731_IG71
+            bhi     G_M9731_IG72
             mov     w2, w5
             lsl     x2, x2, #2
             mov     x0, x3
@@ -579,29 +579,29 @@ G_M9731_IG16:        ; bbWeight=64, gcVars=00000000000000000000000000000200 {V18
             ; GC ptr vars -{V247}
             ldr     w13, [fp, #-0x8C]  // [V11 loc7]
             cmp     w13, #42
-            beq     G_M9731_IG28
+            beq     G_M9731_IG30
                        ;; size=12 bbWeight=64 PerfScore 224.00
 G_M9731_IG17:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             tst     w19, #255
             beq     G_M9731_IG26
             cmp     w13, #60
             bne     G_M9731_IG26
-            mov     w13, wzr
+            mov     w14, wzr
             cbnz    w6, G_M9731_IG24
             cmp     w25, #46
             bne     G_M9731_IG23
-            sxtw    w1, w27
-            cmp     w1, w24
+            sxtw    w13, w27
+            cmp     w13, w24
             bge     G_M9731_IG23
                        ;; size=44 bbWeight=32 PerfScore 256.00
 G_M9731_IG18:        ; bbWeight=256, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            cmp     w1, w24
-            bhs     G_M9731_IG70
-            ldrh    w0, [x23, w1, UXTW #2]
-            cmp     w0, #46
+            cmp     w13, w24
+            bhs     G_M9731_IG71
+            ldrh    w1, [x23, w13, UXTW #2]
+            cmp     w1, #46
             beq     G_M9731_IG22
-            add     w1, w1, #1
-            cmp     w1, w24
+            add     w13, w13, #1
+            cmp     w13, w24
             blt     G_M9731_IG18
                        ;; size=32 bbWeight=256 PerfScore 2048.00
 G_M9731_IG19:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
@@ -612,18 +612,18 @@ G_M9731_IG20:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, g
             ; GC ptr vars -{V181}
             str     x3, [fp, #-0xD8]   // [V181 tmp156]
             ; GC ptr vars +{V181}
-            b       G_M9731_IG61
+            b       G_M9731_IG62
                       ;; size=8 bbWeight=2 PerfScore 4.00
 G_M9731_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref
             ; byrRegs -[x21 x23 x28]
             ; GC ptr vars -{V181}
             ldr     w5, [fp, #-0x90]   // [V15 loc11]
-            b       G_M9731_IG62
+            b       G_M9731_IG63
                       ;; size=8 bbWeight=1 PerfScore 3.00
 G_M9731_IG22:        ; bbWeight=32, gcVars=00000000000000000000000000000200 {V181}, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, gcvars, byref
             ; byrRegs -[x3] +[x21 x23 x28]
             ; GC ptr vars +{V09 V181}
-            mov     w13, #1
+            mov     w14, #1
                         ;; size=4 bbWeight=32 PerfScore 16.00
 G_M9731_IG23:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
             cmp     w25, #46
@@ -634,174 +634,170 @@ G_M9731_IG24:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             mov     w1, #1
                        ;; size=4 bbWeight=32 PerfScore 16.00
 G_M9731_IG25:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            orr     w1, w1, w13
-            cbz     w1, G_M9731_IG29
-            b       G_M9731_IG28
+            orr     w1, w1, w14
+            cbz     w1, G_M9731_IG31
+            b       G_M9731_IG30
                        ;; size=12 bbWeight=32 PerfScore 80.00
 G_M9731_IG26:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w11, [fp, #-0x94]  // [V16 loc12]
             add     w11, w11, #2
             tst     w19, #255
-            beq     G_M9731_IG37
+            beq     G_M9731_IG38
             cmp     w13, #62
-            bne     G_M9731_IG27
-            cbnz    w6, G_M9731_IG30
+            bne     G_M9731_IG28
+            cbnz    w6, G_M9731_IG32
             cmp     w25, #46
-            beq     G_M9731_IG30
-            b       G_M9731_IG34
-                       ;; size=40 bbWeight=32 PerfScore 288.00
-G_M9731_IG27:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            cmp     w13, #34
-            bne     G_M9731_IG37
-            cbnz    w6, G_M9731_IG30
-            b       G_M9731_IG35
-                       ;; size=16 bbWeight=32 PerfScore 112.00
+            beq     G_M9731_IG32
+                       ;; size=36 bbWeight=32 PerfScore 256.00
+G_M9731_IG27:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
+            b       G_M9731_IG36
+                       ;; size=4 bbWeight=8 PerfScore 8.00
 G_M9731_IG28:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
+            cmp     w13, #34
+            bne     G_M9731_IG38
+            cbnz    w6, G_M9731_IG32
+                       ;; size=12 bbWeight=32 PerfScore 80.00
+G_M9731_IG29:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
+            b       G_M9731_IG37
+                       ;; size=4 bbWeight=8 PerfScore 8.00
+G_M9731_IG30:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w7, [fp, #-0x84]    // [V07 loc3]
             add     w13, w7, #1
             cmp     w7, w2
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldr     w11, [fp, #-0x94]    // [V16 loc12]
             str     w11, [x28, w7, UXTW #2]
             str     w13, [fp, #-0x84]  // [V07 loc3]
             str     w11, [fp, #-0x94]  // [V16 loc12]
                        ;; size=32 bbWeight=32 PerfScore 288.00
-G_M9731_IG29:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
+G_M9731_IG31:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w7, [fp, #-0x84]   // [V07 loc3]
             sxtw    w1, w7
             add     w7, w1, #1
             cmp     w1, w2
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldr     w11, [fp, #-0x94]    // [V16 loc12]
...
  
-4 (-0.81%) : 9165.dasm - Utf8Json.JsonReader:ReadInt64():long:this (FullOpts)
@@ -9,9 +9,9 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T05] ( 13, 16.50)   byref  ->  x19         this single-def
-;  V01 loc0         [V01,T13] (  4,  3   )     int  ->   x0         ld-addr-op
+;  V01 loc0         [V01,T13] (  4,  3   )     int  ->   x6         ld-addr-op
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T17] (  2,  2   )    long  ->   x3         single-def
+;  V03 tmp1         [V03,T17] (  2,  2   )    long  ->   x0         single-def
 ;  V04 tmp2         [V04,T00] ( 10, 26.50)     int  ->   x1         "Inline stloc first use temp"
 ;* V05 tmp3         [V05    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;  V06 tmp4         [V06,T08] (  6, 10   )    long  ->   x3         "Inline stloc first use temp"
@@ -157,10 +157,10 @@ G_M7930_IG15:        ; bbWeight=3.96, gcrefRegs=0000 {}, byrefRegs=80001 {x0 x19
             cmp     w5, w6
             bgt     G_M7930_IG13
                        ;; size=32 bbWeight=3.96 PerfScore 37.62
-G_M7930_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref
+G_M7930_IG16:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref
             ; byrRegs -[x0]
             b       G_M7930_IG20
-                     ;; size=4 bbWeight=1 PerfScore 1.00
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M7930_IG17:        ; bbWeight=0.04, gcrefRegs=0000 {}, byrefRegs=80001 {x0 x19}, byref, isz
             ; byrRegs +[x0]
             cmp     w6, w5
@@ -186,23 +186,22 @@ G_M7930_IG19:        ; bbWeight=0.04, gcrefRegs=0000 {}, byrefRegs=80001 {x0 x19
                        ;; size=32 bbWeight=0.04 PerfScore 0.38
 G_M7930_IG20:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
             ; byrRegs -[x0]
-            subs    w0, w5, w1
+            subs    w6, w5, w1
             bvs     G_M7930_IG24
             b       G_M7930_IG22
                        ;; size=12 bbWeight=0.50 PerfScore 1.25
 G_M7930_IG21:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
-            subs    w0, w6, w1
+            subs    w6, w6, w1
             bvs     G_M7930_IG24
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M7930_IG22:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
-            sxtw    x1, w4
-            mul     x3, x3, x1
-            cbz     w0, G_M7930_IG26
-            adds    w0, w2, w0
+            sxtw    x0, w4
+            mul     x0, x3, x0
+            cbz     w6, G_M7930_IG26
+            adds    w1, w2, w6
             bvs     G_M7930_IG24
-            str     w0, [x19, #0x08]
-            mov     x0, x3
-                       ;; size=28 bbWeight=1 PerfScore 6.50
+            str     w1, [x19, #0x08]
+                       ;; size=24 bbWeight=1 PerfScore 6.00
 G_M7930_IG23:        ; bbWeight=1, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
@@ -294,7 +293,7 @@ RWD00   dd  G_M7930_IG07 - G_M7930_IG02
            dd  G_M7930_IG04 - G_M7930_IG02
 
 
-; Total bytes of code 496, prolog size 16, PerfScore 238.31, instruction count 124, allocated bytes for code 496 (MethodHash=bd94e105) for method Utf8Json.JsonReader:ReadInt64():long:this (FullOpts)
+; Total bytes of code 492, prolog size 16, PerfScore 237.31, instruction count 123, allocated bytes for code 492 (MethodHash=bd94e105) for method Utf8Json.JsonReader:ReadInt64():long:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -305,7 +304,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 124 (0x0007c) Actual length = 496 (0x0001f0)
+  Function Length   : 123 (0x0007b) Actual length = 492 (0x0001ec)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+4 (+2.33%) : 15268.dasm - System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
@@ -47,7 +47,7 @@ G_M26551_IG03:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
 G_M26551_IG04:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             sub     w0, w0, #15
             cmp     w0, #1
-            bls     G_M26551_IG05
+            bls     G_M26551_IG08
             mov     x0, x19
             ; gcrRegs +[x0]
             ldr     x1, [x20, #0x88]
@@ -57,18 +57,9 @@ G_M26551_IG04:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             cbnz    w0, G_M26551_IG03
                        ;; size=32 bbWeight=4 PerfScore 42.00
 G_M26551_IG05:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            mov     x0, x19
-            ; gcrRegs +[x0]
-            ldr     x1, [x21, #0x28]
-                       ;; size=8 bbWeight=0.50 PerfScore 1.75
-G_M26551_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
-            br      x1
-                       ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M26551_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0]
+            b       G_M26551_IG08
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
+G_M26551_IG06:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             mov     x0, x19
             ; gcrRegs +[x0]
             ldr     x1, [x20, #0x88]
@@ -79,20 +70,32 @@ G_M26551_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=800
             ; gcrRegs +[x0]
             ldr     x1, [x21, #0x28]
                        ;; size=24 bbWeight=0.50 PerfScore 5.50
-G_M26551_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+G_M26551_IG07:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x30
             br      x1
                        ;; size=16 bbWeight=0.50 PerfScore 2.00
-RWD00      dd  G_M26551_IG05 - G_M26551_IG02
-           dd  G_M26551_IG07 - G_M26551_IG02
-           dd  G_M26551_IG05 - G_M26551_IG02
-           dd  G_M26551_IG05 - G_M26551_IG02
-           dd  G_M26551_IG05 - G_M26551_IG02
+G_M26551_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0]
+            mov     x0, x19
+            ; gcrRegs +[x0]
+            ldr     x1, [x21, #0x28]
+                       ;; size=8 bbWeight=0.50 PerfScore 1.75
+G_M26551_IG09:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x30
+            br      x1
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
+RWD00      dd  G_M26551_IG08 - G_M26551_IG02
+           dd  G_M26551_IG06 - G_M26551_IG02
+           dd  G_M26551_IG08 - G_M26551_IG02
+           dd  G_M26551_IG08 - G_M26551_IG02
+           dd  G_M26551_IG08 - G_M26551_IG02
 
 
-; Total bytes of code 172, prolog size 16, PerfScore 163.25, instruction count 43, allocated bytes for code 172 (MethodHash=17d09848) for method System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
+; Total bytes of code 176, prolog size 16, PerfScore 163.75, instruction count 44, allocated bytes for code 176 (MethodHash=17d09848) for method System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -103,7 +106,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 43 (0x0002b) Actual length = 172 (0x0000ac)
+  Function Length   : 44 (0x0002c) Actual length = 176 (0x0000b0)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+12 (+3.16%) : 26830.dasm - Benchstone.BenchI.XposMatrix:Test():ubyte:this (FullOpts)
@@ -10,136 +10,137 @@
 ;  V00 this         [V00,T06] (  3,  3   )     ref  ->   x0         this class-hnd single-def <Benchstone.BenchI.XposMatrix>
 ;  V01 loc0         [V01,T07] (  7,  4.58)     ref  ->   x0         class-hnd single-def <int[][]>
 ;* V02 loc1         [V02,T11] (  0,  0   )     int  ->  zero-ref    single-def
-;  V03 loc2         [V03,T03] ( 12, 19.04)     int  ->   x1        
-;  V04 loc3         [V04,T00] ( 16, 68.32)     int  ->   x3        
+;  V03 loc2         [V03,T03] ( 12, 19.04)     int  ->  x19        
+;  V04 loc3         [V04,T00] ( 16, 68.32)     int  ->   x1        
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06,T01] (  8, 64.64)     ref  ->  registers   "arr expr"
 ;  V07 tmp2         [V07,T05] (  3,  6   )     ref  ->   x1         single-def "arr expr"
 ;  V08 tmp3         [V08,T10] (  3,  3   )     ref  ->   x0         single-def "arr expr"
-;  V09 cse0         [V09,T12] (  2,  0.20)     ref  ->   x4         hoist "CSE - conservative"
-;  V10 cse1         [V10,T02] (  6, 21.80)     ref  ->   x5         hoist multi-def "CSE - aggressive"
-;  V11 cse2         [V11,T09] (  4,  4.00)    long  ->   x4         hoist multi-def "CSE - aggressive"
-;  V12 cse3         [V12,T13] (  2,  0.08)    long  ->   x4         hoist "CSE - conservative"
-;  V13 cse4         [V13,T08] (  7,  4.58)   byref  ->  x19         hoist multi-def "CSE - aggressive"
-;  V14 cse5         [V14,T04] (  6,  7.04)     int  ->   x2         hoist multi-def "CSE - aggressive"
+;  V09 cse0         [V09,T12] (  2,  0.20)     ref  ->   x2         hoist "CSE - conservative"
+;  V10 cse1         [V10,T02] (  6, 21.80)     ref  ->   x3         hoist multi-def "CSE - aggressive"
+;  V11 cse2         [V11,T09] (  4,  4.00)    long  ->   x2         hoist multi-def "CSE - aggressive"
+;  V12 cse3         [V12,T13] (  2,  0.08)    long  ->   x2         hoist "CSE - conservative"
+;  V13 cse4         [V13,T08] (  7,  4.58)   byref  ->  x21         hoist multi-def "CSE - aggressive"
+;  V14 cse5         [V14,T04] (  6,  7.04)     int  ->  x20         hoist multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
 G_M49643_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
+                      ;; size=16 bbWeight=1 PerfScore 3.50
 G_M49643_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x0, [x0, #0x08]
-            mov     w1, #1
+            mov     w19, #1
             cbz     x0, G_M49643_IG11
-            ldr     w2, [x0, #0x08]
-            cmp     w2, #100
+            ldr     w20, [x0, #0x08]
+            cmp     w20, #100
             ble     G_M49643_IG11
-            add     x19, x0, #16
-            ; byrRegs +[x19]
+            add     x21, x0, #16
+            ; byrRegs +[x21]
                        ;; size=28 bbWeight=1 PerfScore 9.50
-G_M49643_IG03:        ; bbWeight=3.96, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref, isz
-            mov     w3, #1
-            cmp     w2, w1
+G_M49643_IG03:        ; bbWeight=3.96, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref, isz
+            mov     w1, #1
+            cmp     w20, w19
             bls     G_M49643_IG07
                        ;; size=12 bbWeight=3.96 PerfScore 7.92
-G_M49643_IG04:        ; bbWeight=1.98, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref, isz
-            ubfiz   x4, x1, #3, #32
-            ldr     x5, [x19, x4]
-            ; gcrRegs +[x5]
-            cbz     x5, G_M49643_IG07
-            ldr     w4, [x5, #0x08]
-            cmp     w4, #100
+G_M49643_IG04:        ; bbWeight=1.98, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref, isz
+            ubfiz   x2, x19, #3, #32
+            ldr     x3, [x21, x2]
+            ; gcrRegs +[x3]
+            cbz     x3, G_M49643_IG07
+            ldr     w2, [x3, #0x08]
+            cmp     w2, #100
             ble     G_M49643_IG07
                        ;; size=24 bbWeight=1.98 PerfScore 18.81
-G_M49643_IG05:        ; bbWeight=15.68, gcrefRegs=0021 {x0 x5}, byrefRegs=80000 {x19}, byref, isz
-            mov     x4, x5
-            ; gcrRegs +[x4]
-            add     x4, x4, #16
-            ; gcrRegs -[x4]
-            ; byrRegs +[x4]
-            mov     w6, #1
-            str     w6, [x4, w3, UXTW #2]
-            add     w3, w3, #1
-            cmp     w3, #100
-            ble     G_M49643_IG05
-                       ;; size=28 bbWeight=15.68 PerfScore 70.57
-G_M49643_IG06:        ; bbWeight=1.98, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref
-            ; gcrRegs -[x5]
-            ; byrRegs -[x4]
-            b       G_M49643_IG09
-                       ;; size=4 bbWeight=1.98 PerfScore 1.98
-G_M49643_IG07:        ; bbWeight=0.02, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref
-            ubfiz   x4, x1, #3, #32
-            ldr     x5, [x19, x4]
-            ; gcrRegs +[x5]
-                       ;; size=8 bbWeight=0.02 PerfScore 0.08
-G_M49643_IG08:        ; bbWeight=0.16, gcrefRegs=0021 {x0 x5}, byrefRegs=80000 {x19}, byref, isz
-            mov     x4, x5
-            ; gcrRegs +[x4]
-            ldr     w6, [x4, #0x08]
-            cmp     w3, w6
-            bhs     G_M49643_IG19
-            add     x4, x4, #16
-            ; gcrRegs -[x4]
-            ; byrRegs +[x4]
-            mov     w6, #1
-            str     w6, [x4, w3, UXTW #2]
-            add     w3, w3, #1
-            cmp     w3, #100
-            ble     G_M49643_IG08
-                       ;; size=40 bbWeight=0.16 PerfScore 1.43
-G_M49643_IG09:        ; bbWeight=3.96, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref, isz
-            ; gcrRegs -[x5]
-            ; byrRegs -[x4]
+G_M49643_IG05:        ; bbWeight=15.68, gcrefRegs=0009 {x0 x3}, byrefRegs=200000 {x21}, byref, isz
+            mov     x2, x3
+            ; gcrRegs +[x2]
+            add     x2, x2, #16
+            ; gcrRegs -[x2]
+            ; byrRegs +[x2]
+            mov     w4, #1
+            str     w4, [x2, w1, UXTW #2]
             add     w1, w1, #1
             cmp     w1, #100
+            ble     G_M49643_IG05
+                       ;; size=28 bbWeight=15.68 PerfScore 70.57
+G_M49643_IG06:        ; bbWeight=3.96, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref
+            ; gcrRegs -[x3]
+            ; byrRegs -[x2]
+            b       G_M49643_IG09
+                       ;; size=4 bbWeight=3.96 PerfScore 3.96
+G_M49643_IG07:        ; bbWeight=0.02, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref
+            ubfiz   x2, x19, #3, #32
+            ldr     x3, [x21, x2]
+            ; gcrRegs +[x3]
+                       ;; size=8 bbWeight=0.02 PerfScore 0.08
+G_M49643_IG08:        ; bbWeight=0.16, gcrefRegs=0009 {x0 x3}, byrefRegs=200000 {x21}, byref, isz
+            mov     x2, x3
+            ; gcrRegs +[x2]
+            ldr     w4, [x2, #0x08]
+            cmp     w1, w4
+            bhs     G_M49643_IG19
+            add     x2, x2, #16
+            ; gcrRegs -[x2]
+            ; byrRegs +[x2]
+            mov     w4, #1
+            str     w4, [x2, w1, UXTW #2]
+            add     w1, w1, #1
+            cmp     w1, #100
+            ble     G_M49643_IG08
+                       ;; size=40 bbWeight=0.16 PerfScore 1.43
+G_M49643_IG09:        ; bbWeight=3.96, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref, isz
+            ; gcrRegs -[x3]
+            ; byrRegs -[x2]
+            add     w19, w19, #1
+            cmp     w19, #100
             ble     G_M49643_IG03
                        ;; size=12 bbWeight=3.96 PerfScore 7.92
-G_M49643_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref
+G_M49643_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref
             b       G_M49643_IG14
                        ;; size=4 bbWeight=1 PerfScore 1.00
 G_M49643_IG11:        ; bbWeight=0.04, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ; byrRegs -[x19]
-            mov     w3, #1
-            ldr     w2, [x0, #0x08]
-            add     x19, x0, #16
-            ; byrRegs +[x19]
-            ubfiz   x4, x1, #3, #32
-            cmp     w1, w2
+            ; byrRegs -[x21]
+            mov     w1, #1
+            ldr     w20, [x0, #0x08]
+            add     x21, x0, #16
+            ; byrRegs +[x21]
+            ubfiz   x2, x19, #3, #32
+            cmp     w19, w20
             bhs     G_M49643_IG19
-            ldr     x4, [x19, x4]
-            ; gcrRegs +[x4]
+            ldr     x2, [x21, x2]
+            ; gcrRegs +[x2]
                         ;; size=28 bbWeight=0.04 PerfScore 0.38
-G_M49643_IG12:        ; bbWeight=0.16, gcrefRegs=0011 {x0 x4}, byrefRegs=80000 {x19}, byref, isz
-            mov     x5, x4
-            ; gcrRegs +[x5]
-            ldr     w6, [x5, #0x08]
-            cmp     w3, w6
+G_M49643_IG12:        ; bbWeight=0.16, gcrefRegs=0005 {x0 x2}, byrefRegs=200000 {x21}, byref, isz
+            mov     x3, x2
+            ; gcrRegs +[x3]
+            ldr     w4, [x3, #0x08]
+            cmp     w1, w4
             bhs     G_M49643_IG19
-            add     x5, x5, #16
-            ; gcrRegs -[x5]
-            ; byrRegs +[x5]
-            mov     w6, #1
-            str     w6, [x5, w3, UXTW #2]
-            add     w3, w3, #1
-            cmp     w3, #100
-            ble     G_M49643_IG12
-                       ;; size=40 bbWeight=0.16 PerfScore 1.44
-G_M49643_IG13:        ; bbWeight=0.04, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref, isz
-            ; gcrRegs -[x4]
-            ; byrRegs -[x5]
+            add     x3, x3, #16
+            ; gcrRegs -[x3]
+            ; byrRegs +[x3]
+            mov     w4, #1
+            str     w4, [x3, w1, UXTW #2]
             add     w1, w1, #1
             cmp     w1, #100
+            ble     G_M49643_IG12
+                       ;; size=40 bbWeight=0.16 PerfScore 1.44
+G_M49643_IG13:        ; bbWeight=0.04, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref, isz
+            ; gcrRegs -[x2]
+            ; byrRegs -[x3]
+            add     w19, w19, #1
+            cmp     w19, #100
             ble     G_M49643_IG11
                        ;; size=12 bbWeight=0.04 PerfScore 0.08
-G_M49643_IG14:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref, isz
-            cmp     w2, #100
+G_M49643_IG14:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref, isz
+            cmp     w20, #100
             bls     G_M49643_IG19
-            ldr     x1, [x19, #0xD1FFAB1E]
+            ldr     x1, [x21, #0xD1FFAB1E]
             ; gcrRegs +[x1]
             ldr     w2, [x1, #0x08]
             cmp     w2, #100
@@ -151,17 +152,18 @@ G_M49643_IG14:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19},
                        ;; size=36 bbWeight=1 PerfScore 13.50
 G_M49643_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
-            ; byrRegs -[x19]
+            ; byrRegs -[x21]
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M49643_IG16:        ; bbWeight=0.50, 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=0.50 PerfScore 2.00
...
  
+8 (+3.64%) : 5621.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:AddUniqueStatus(System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],byref) (FullOpts)
@@ -10,104 +10,105 @@
 ;
 ;  V00 arg0         [V00,T02] (  9,  9.50)     ref  ->   x0         class-hnd single-def <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus]>
 ;  V01 arg1         [V01,T05] (  4,  3.50)   byref  ->   x1         single-def
-;  V02 loc0         [V02,T06] (  2,  5   )     int  ->  x14        
-;  V03 loc1         [V03,T00] (  7, 25   )     int  ->  x15        
+;  V02 loc0         [V02,T06] (  2,  5   )     int  ->   x3        
+;  V03 loc1         [V03,T00] (  7, 25   )     int  ->   x4        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Security.Cryptography.X509Certificates.X509ChainStatus>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T10] (  3,  1.50)     ref  ->  x14         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V07 tmp2         [V07,T09] (  4,  2   )     int  ->  x12         "Inline stloc first use temp"
+;  V06 tmp1         [V06,T10] (  3,  1.50)     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V07 tmp2         [V07,T09] (  4,  2   )     int  ->   x5         "Inline stloc first use temp"
 ;* V08 tmp3         [V08    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainStatus>
 ;* V09 tmp4         [V09    ] (  0,  0   )     ref  ->  zero-ref    "field V04._statusInformation (fldOffset=0x0)" P-INDEP
-;  V10 tmp5         [V10,T04] (  2,  8   )     int  ->  xip0         "field V04.<Status>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V11 tmp6         [V11,T11] (  3,  1.50)     ref  ->   x1         single-def "field V08._statusInformation (fldOffset=0x0)" P-INDEP
+;  V10 tmp5         [V10,T04] (  2,  8   )     int  ->   x6         "field V04.<Status>k__BackingField (fldOffset=0x8)" P-INDEP
+;  V11 tmp6         [V11,T11] (  3,  1.50)     ref  ->  x15         single-def "field V08._statusInformation (fldOffset=0x0)" P-INDEP
 ;  V12 tmp7         [V12,T12] (  3,  1.50)     int  ->   x2         "field V08.<Status>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V13 tmp8         [V13,T01] (  3, 24   )     ref  ->  xip0         "arr expr"
+;  V13 tmp8         [V13,T01] (  3, 24   )     ref  ->   x6         "arr expr"
 ;  V14 tmp9         [V14,T07] (  3,  3   )   byref  ->   x0         single-def "BlockOp address local"
-;  V15 cse0         [V15,T03] (  5, 10.50)     int  ->  x12         "CSE - aggressive"
+;  V15 cse0         [V15,T03] (  5, 10.50)     int  ->   x5         "CSE - aggressive"
 ;  V16 cse1         [V16,T08] (  3,  2.50)     int  ->   x2         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M44081_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
+                       ;; size=12 bbWeight=1 PerfScore 2.50
 G_M44081_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0002 {x1}, byref, isz
             ; gcrRegs +[x0]
             ; byrRegs +[x1]
             ldr     w2, [x1, #0x08]
-            sxtw    w14, w2
-            mov     w15, wzr
-            ldr     w12, [x0, #0x10]
-            cmp     w12, #0
+            sxtw    w3, w2
+            mov     w4, wzr
+            ldr     w5, [x0, #0x10]
+            cmp     w5, #0
             ble     G_M44081_IG04
                        ;; size=24 bbWeight=1 PerfScore 8.50
 G_M44081_IG03:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0002 {x1}, byref, isz
-            cmp     w15, w12
+            cmp     w4, w5
             bhs     G_M44081_IG08
-            ldr     xip0, [x0, #0x08]
-            ; gcrRegs +[xip0]
-            ldr     w3, [xip0, #0x08]
-            cmp     w15, w3
+            ldr     x6, [x0, #0x08]
+            ; gcrRegs +[x6]
+            ldr     w7, [x6, #0x08]
+            cmp     w4, w7
             bhs     G_M44081_IG07
-            ubfiz   x3, x15, #4, #32
-            add     x3, x3, #16
-            add     xip0, xip0, x3
-            ; gcrRegs -[xip0]
-            ; byrRegs +[xip0]
-            ldr     wip0, [xip0, #0x08]
-            ; byrRegs -[xip0]
-            cmp     wip0, w14
+            ubfiz   x7, x4, #4, #32
+            add     x7, x7, #16
+            add     x6, x6, x7
+            ; gcrRegs -[x6]
+            ; byrRegs +[x6]
+            ldr     w6, [x6, #0x08]
+            ; byrRegs -[x6]
+            cmp     w6, w3
             beq     G_M44081_IG05
-            add     w15, w15, #1
-            cmp     w15, w12
+            add     w4, w4, #1
+            cmp     w4, w5
             blt     G_M44081_IG03
                        ;; size=60 bbWeight=4 PerfScore 70.00
 G_M44081_IG04:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0002 {x1}, byref, isz
-            ldr     x1, [x1]
-            ; gcrRegs +[x1]
+            ldr     x15, [x1]
+            ; gcrRegs +[x15]
+            ldr     w1, [x0, #0x14]
             ; byrRegs -[x1]
-            ldr     w14, [x0, #0x14]
-            add     w14, w14, #1
-            str     w14, [x0, #0x14]
-            ldr     x14, [x0, #0x08]
-            ; gcrRegs +[x14]
-            ldr     w15, [x14, #0x08]
-            cmp     w15, w12
+            add     w1, w1, #1
+            str     w1, [x0, #0x14]
+            ldr     x19, [x0, #0x08]
+            ; gcrRegs +[x19]
+            ldr     w1, [x19, #0x08]
+            cmp     w1, w5
             bls     G_M44081_IG06
-            add     w15, w12, #1
-            str     w15, [x0, #0x10]
-            ubfiz   x15, x12, #4, #32
-            add     x15, x15, #16
-            add     x0, x14, x15
+            add     w14, w5, #1
+            str     w14, [x0, #0x10]
+            ubfiz   x14, x5, #4, #32
+            add     x14, x14, #16
+            add     x0, x19, x14
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
             mov     x14, x0
-            ; gcrRegs -[x14]
             ; byrRegs +[x14]
-            mov     x15, x1
-            ; gcrRegs +[x15]
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
-            ; gcrRegs -[x1 x15]
+            ; gcrRegs -[x15 x19]
             ; byrRegs -[x14]
             str     w2, [x0, #0x08]
-                      ;; size=68 bbWeight=0.50 PerfScore 10.75
+                      ;; size=64 bbWeight=0.50 PerfScore 10.50
 G_M44081_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; byrRegs -[x0]
-            ldp     fp, lr, [sp], #0x10
+            ldr     x19, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M44081_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs +[x0-x1]
+                       ;; size=12 bbWeight=1 PerfScore 4.00
+G_M44081_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=8001 {x0 x15}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs +[x0 x15]
+            mov     x1, x15
+            ; gcrRegs +[x1]
             movz    x3, #0xD1FFAB1E      // code for <unknown method>
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-            ; gcrRegs -[x0-x1]
+            ; gcrRegs -[x0-x1 x15]
             ; gcr arg pop 0
             b       G_M44081_IG05
-                        ;; size=24 bbWeight=0.50 PerfScore 3.25
+                       ;; size=28 bbWeight=0.50 PerfScore 3.50
 G_M44081_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
@@ -122,18 +123,18 @@ G_M44081_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 220, prolog size 8, PerfScore 96.00, instruction count 55, allocated bytes for code 220 (MethodHash=fdfd53ce) for method System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:AddUniqueStatus(System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],byref) (FullOpts)
+; Total bytes of code 228, prolog size 12, PerfScore 99.00, instruction count 57, allocated bytes for code 228 (MethodHash=fdfd53ce) for method System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:AddUniqueStatus(System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],byref) (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   : 55 (0x00037) Actual length = 220 (0x0000dc)
+  Function Length   : 57 (0x00039) Actual length = 228 (0x0000e4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -141,7 +142,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
 
  
  
benchmarks.run_pgo.linux.arm64.checked.mch
-24 (-7.41%) : 122826.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalListInOrder(System.Canon[]):this (Tier1)
@@ -10,13 +10,13 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  5,  4   )     ref  ->  x20         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T03] (  9, 31.47)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T03] (  8, 36.87)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
 ;  V02 loc0         [V02,T08] (  3,  2.08)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V03 loc1         [V03,T09] (  4,  1.34)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V04 loc2         [V04,T07] (  5,  2.49)     int  ->  x22        
-;  V05 loc3         [V05,T02] (  6, 39.44)     ref  ->  x23         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T01] (  9, 50.99)     int  ->  x24        
-;  V07 loc5         [V07,T00] (  5, 55.86)     ref  ->   x0         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T02] (  6, 44.85)     ref  ->  x23         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T00] (  6, 56.40)     int  ->  x24        
+;  V07 loc5         [V07,T01] (  5, 55.86)     ref  ->   x0         class-hnd <System.__Canon>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T05] (  2, 22.52)     int  ->   x0         "guarded devirt return temp"
 ;* V10 tmp2         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
@@ -40,7 +40,7 @@ G_M50755_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M50755_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x21, [x20, #0x08]
             ; gcrRegs +[x21]
-            cbnz    x21, G_M50755_IG07
+            cbnz    x21, G_M50755_IG05
                        ;; size=8 bbWeight=1 PerfScore 4.00
 G_M50755_IG03:        ; bbWeight=0.93, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
@@ -59,39 +59,28 @@ G_M50755_IG04:        ; bbWeight=0.93, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0.93 PerfScore 4.62
-G_M50755_IG05:        ; bbWeight=10.81, gcVars=0000000000000000 {}, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x19-x21 x23]
-            ldr     x1, [x23, #0x50]
-            ldr     x0, [x0, #0x50]
-            ; gcrRegs -[x0]
-            cmp     x1, x0
-            bne     G_M50755_IG14
-                       ;; size=16 bbWeight=10.81 PerfScore 81.09
-G_M50755_IG06:        ; bbWeight=86.50, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
-            b       G_M50755_IG15
-                       ;; size=4 bbWeight=86.50 PerfScore 86.50
-G_M50755_IG07:        ; bbWeight=0.07, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x23]
+G_M50755_IG05:        ; bbWeight=0.07, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x19-x21]
             mov     w22, wzr
             ldr     w0, [x21, #0x08]
             cmp     w0, #0
-            ble     G_M50755_IG17
+            ble     G_M50755_IG15
                        ;; size=16 bbWeight=0.07 PerfScore 0.37
-G_M50755_IG08:        ; bbWeight=0.57, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG06:        ; bbWeight=0.57, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     x0, x21, #16
             ; byrRegs +[x0]
             ldr     x23, [x0, w22, UXTW #3]
             ; gcrRegs +[x23]
-            cbz     x23, G_M50755_IG17
+            cbz     x23, G_M50755_IG15
                        ;; size=12 bbWeight=0.57 PerfScore 2.59
-G_M50755_IG09:        ; bbWeight=0.54, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG07:        ; bbWeight=0.54, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0]
             mov     w24, wzr
             ldr     w0, [x19, #0x08]
             cmp     w0, #0
-            ble     G_M50755_IG16
+            ble     G_M50755_IG14
                        ;; size=16 bbWeight=0.54 PerfScore 2.69
-G_M50755_IG10:        ; bbWeight=11.26, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG08:        ; bbWeight=11.26, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     x0, x19, #16
             ; byrRegs +[x0]
             ldr     x0, [x0, w24, UXTW #3]
@@ -102,9 +91,9 @@ G_M50755_IG10:        ; bbWeight=11.26, gcrefRegs=B80000 {x19 x20 x21 x23}, byre
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            bne     G_M50755_IG13
+            bne     G_M50755_IG10
                        ;; size=32 bbWeight=11.26 PerfScore 106.99
-G_M50755_IG11:        ; bbWeight=10.81, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG09:        ; bbWeight=10.81, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             mov     x1, x23
             ; gcrRegs +[x1]
             ldr     x1, [x1]
@@ -113,13 +102,15 @@ G_M50755_IG11:        ; bbWeight=10.81, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, b
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            beq     G_M50755_IG05
-                       ;; size=28 bbWeight=10.81 PerfScore 70.28
-G_M50755_IG12:        ; bbWeight=2.70, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bne     G_M50755_IG11
+            ldr     x1, [x23, #0x50]
+            ldr     x0, [x0, #0x50]
             ; gcrRegs -[x0]
-            b       G_M50755_IG19
-                       ;; size=4 bbWeight=2.70 PerfScore 2.70
-G_M50755_IG13:        ; bbWeight=11.26, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+            cmp     x1, x0
+            bne     G_M50755_IG11
+            b       G_M50755_IG13
+                       ;; size=48 bbWeight=10.81 PerfScore 162.18
+G_M50755_IG10:        ; bbWeight=11.26, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             mov     x1, x23
             ; gcrRegs +[x1]
@@ -129,16 +120,20 @@ G_M50755_IG13:        ; bbWeight=11.26, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, b
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M50755_IG15
+            cbnz    w0, G_M50755_IG13
                       ;; size=24 bbWeight=11.26 PerfScore 129.52
-G_M50755_IG14:        ; bbWeight=11.26, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG11:        ; bbWeight=11.26, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
             ldr     w1, [x19, #0x08]
             cmp     w1, w24
-            ble     G_M50755_IG16
-            b       G_M50755_IG10
-                       ;; size=20 bbWeight=11.26 PerfScore 67.58
-G_M50755_IG15:        ; bbWeight=5.41, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bgt     G_M50755_IG08
+                       ;; size=16 bbWeight=11.26 PerfScore 56.31
+G_M50755_IG12:        ; bbWeight=0.61, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x23]
+            b       G_M50755_IG14
+                       ;; size=4 bbWeight=0.61 PerfScore 0.61
+G_M50755_IG13:        ; bbWeight=10.81, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x23]
             sxtw    x1, w24
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -147,14 +142,14 @@ G_M50755_IG15:        ; bbWeight=5.41, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2 x23]
             ; gcr arg pop 0
-                      ;; size=16 bbWeight=5.41 PerfScore 13.52
-G_M50755_IG16:        ; bbWeight=0.61, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+                     ;; size=16 bbWeight=10.81 PerfScore 27.03
+G_M50755_IG14:        ; bbWeight=0.61, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     w22, w22, #1
             ldr     w14, [x21, #0x08]
             cmp     w14, w22
-            bgt     G_M50755_IG08
+            bgt     G_M50755_IG06
                      ;; size=16 bbWeight=0.61 PerfScore 3.06
-G_M50755_IG17:        ; bbWeight=0.07, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M50755_IG15:        ; bbWeight=0.07, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             add     x14, x20, #8
             ; byrRegs +[x14]
@@ -164,23 +159,15 @@ G_M50755_IG17:        ; bbWeight=0.07, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ; gcrRegs -[x15 x19-x20]
             ; byrRegs -[x14]
                        ;; size=12 bbWeight=0.07 PerfScore 0.15
-G_M50755_IG18:        ; bbWeight=0.07, epilog, nogc, extend
+G_M50755_IG16:        ; bbWeight=0.07, 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=0.07 PerfScore 0.38
-G_M50755_IG19:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x19-x21 x23]
-            add     w24, w24, #1
-            ldr     w0, [x19, #0x08]
-            cmp     w0, w24
-            bgt     G_M50755_IG10
-            b       G_M50755_IG16
-                       ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 324, prolog size 28, PerfScore 583.38, instruction count 81, allocated bytes for code 324 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
+; Total bytes of code 300, prolog size 28, PerfScore 507.86, instruction count 75, allocated bytes for code 300 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -191,7 +178,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 81 (0x00051) Actual length = 324 (0x000144)
+  Function Length   : 75 (0x0004b) Actual length = 300 (0x00012c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-24 (-7.41%) : 132283.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalListInOrder(System.Canon[]):this (Tier1)
@@ -10,13 +10,13 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  5,  4   )     ref  ->  x20         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T03] (  9, 18.93)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T03] (  8, 21.95)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
 ;  V02 loc0         [V02,T07] (  3,  2.04)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V03 loc1         [V03,T09] (  4,  0.75)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V04 loc2         [V04,T08] (  5,  1.39)     int  ->  x22        
-;  V05 loc3         [V05,T02] (  6, 22.07)     ref  ->  x23         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T01] (  9, 28.53)     int  ->  x24        
-;  V07 loc5         [V07,T00] (  5, 31.25)     ref  ->   x0         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T02] (  6, 25.09)     ref  ->  x23         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T00] (  6, 31.55)     int  ->  x24        
+;  V07 loc5         [V07,T01] (  5, 31.25)     ref  ->   x0         class-hnd <System.__Canon>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T05] (  2, 12.60)     int  ->   x0         "guarded devirt return temp"
 ;* V10 tmp2         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
@@ -40,7 +40,7 @@ G_M50755_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M50755_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x21, [x20, #0x08]
             ; gcrRegs +[x21]
-            cbnz    x21, G_M50755_IG07
+            cbnz    x21, G_M50755_IG05
                        ;; size=8 bbWeight=1 PerfScore 4.00
 G_M50755_IG03:        ; bbWeight=0.96, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
@@ -59,39 +59,28 @@ G_M50755_IG04:        ; bbWeight=0.96, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0.96 PerfScore 4.79
-G_M50755_IG05:        ; bbWeight=6.05, gcVars=0000000000000000 {}, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x19-x21 x23]
-            ldr     x1, [x23, #0x50]
-            ldr     x0, [x0, #0x50]
-            ; gcrRegs -[x0]
-            cmp     x1, x0
-            bne     G_M50755_IG14
-                       ;; size=16 bbWeight=6.05 PerfScore 45.37
-G_M50755_IG06:        ; bbWeight=48.39, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
-            b       G_M50755_IG15
-                       ;; size=4 bbWeight=48.39 PerfScore 48.39
-G_M50755_IG07:        ; bbWeight=0.04, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x23]
+G_M50755_IG05:        ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x19-x21]
             mov     w22, wzr
             ldr     w0, [x21, #0x08]
             cmp     w0, #0
-            ble     G_M50755_IG17
+            ble     G_M50755_IG15
                        ;; size=16 bbWeight=0.04 PerfScore 0.21
-G_M50755_IG08:        ; bbWeight=0.32, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG06:        ; bbWeight=0.32, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     x0, x21, #16
             ; byrRegs +[x0]
             ldr     x23, [x0, w22, UXTW #3]
             ; gcrRegs +[x23]
-            cbz     x23, G_M50755_IG17
+            cbz     x23, G_M50755_IG15
                        ;; size=12 bbWeight=0.32 PerfScore 1.45
-G_M50755_IG09:        ; bbWeight=0.30, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG07:        ; bbWeight=0.30, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0]
             mov     w24, wzr
             ldr     w0, [x19, #0x08]
             cmp     w0, #0
-            ble     G_M50755_IG16
+            ble     G_M50755_IG14
                        ;; size=16 bbWeight=0.30 PerfScore 1.50
-G_M50755_IG10:        ; bbWeight=6.30, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG08:        ; bbWeight=6.30, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     x0, x19, #16
             ; byrRegs +[x0]
             ldr     x0, [x0, w24, UXTW #3]
@@ -102,9 +91,9 @@ G_M50755_IG10:        ; bbWeight=6.30, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            bne     G_M50755_IG13
+            bne     G_M50755_IG10
                        ;; size=32 bbWeight=6.30 PerfScore 59.86
-G_M50755_IG11:        ; bbWeight=6.05, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG09:        ; bbWeight=6.05, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             mov     x1, x23
             ; gcrRegs +[x1]
             ldr     x1, [x1]
@@ -113,13 +102,15 @@ G_M50755_IG11:        ; bbWeight=6.05, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, by
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            beq     G_M50755_IG05
-                       ;; size=28 bbWeight=6.05 PerfScore 39.32
-G_M50755_IG12:        ; bbWeight=1.51, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bne     G_M50755_IG11
+            ldr     x1, [x23, #0x50]
+            ldr     x0, [x0, #0x50]
             ; gcrRegs -[x0]
-            b       G_M50755_IG19
-                       ;; size=4 bbWeight=1.51 PerfScore 1.51
-G_M50755_IG13:        ; bbWeight=6.30, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+            cmp     x1, x0
+            bne     G_M50755_IG11
+            b       G_M50755_IG13
+                       ;; size=48 bbWeight=6.05 PerfScore 90.73
+G_M50755_IG10:        ; bbWeight=6.30, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             mov     x1, x23
             ; gcrRegs +[x1]
@@ -129,16 +120,20 @@ G_M50755_IG13:        ; bbWeight=6.30, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, by
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M50755_IG15
+            cbnz    w0, G_M50755_IG13
                       ;; size=24 bbWeight=6.30 PerfScore 72.46
-G_M50755_IG14:        ; bbWeight=6.30, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG11:        ; bbWeight=6.30, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
             ldr     w1, [x19, #0x08]
             cmp     w1, w24
-            ble     G_M50755_IG16
-            b       G_M50755_IG10
-                       ;; size=20 bbWeight=6.30 PerfScore 37.80
-G_M50755_IG15:        ; bbWeight=3.02, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bgt     G_M50755_IG08
+                       ;; size=16 bbWeight=6.30 PerfScore 31.50
+G_M50755_IG12:        ; bbWeight=0.34, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x23]
+            b       G_M50755_IG14
+                       ;; size=4 bbWeight=0.34 PerfScore 0.34
+G_M50755_IG13:        ; bbWeight=6.05, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x23]
             sxtw    x1, w24
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -147,14 +142,14 @@ G_M50755_IG15:        ; bbWeight=3.02, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2 x23]
             ; gcr arg pop 0
-                      ;; size=16 bbWeight=3.02 PerfScore 7.56
-G_M50755_IG16:        ; bbWeight=0.34, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+                     ;; size=16 bbWeight=6.05 PerfScore 15.12
+G_M50755_IG14:        ; bbWeight=0.34, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     w22, w22, #1
             ldr     w14, [x21, #0x08]
             cmp     w14, w22
-            bgt     G_M50755_IG08
+            bgt     G_M50755_IG06
                      ;; size=16 bbWeight=0.34 PerfScore 1.71
-G_M50755_IG17:        ; bbWeight=0.04, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M50755_IG15:        ; bbWeight=0.04, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             add     x14, x20, #8
             ; byrRegs +[x14]
@@ -164,23 +159,15 @@ G_M50755_IG17:        ; bbWeight=0.04, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ; gcrRegs -[x15 x19-x20]
             ; byrRegs -[x14]
                        ;; size=12 bbWeight=0.04 PerfScore 0.08
-G_M50755_IG18:        ; bbWeight=0.04, epilog, nogc, extend
+G_M50755_IG16:        ; bbWeight=0.04, 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=0.04 PerfScore 0.21
-G_M50755_IG19:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x19-x21 x23]
-            add     w24, w24, #1
-            ldr     w0, [x19, #0x08]
-            cmp     w0, w24
-            bgt     G_M50755_IG10
-            b       G_M50755_IG16
-                       ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 324, prolog size 28, PerfScore 333.64, instruction count 81, allocated bytes for code 324 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
+; Total bytes of code 300, prolog size 28, PerfScore 291.39, instruction count 75, allocated bytes for code 300 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -191,7 +178,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 81 (0x00051) Actual length = 324 (0x000144)
+  Function Length   : 75 (0x0004b) Actual length = 300 (0x00012c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-20 (-7.25%) : 106221.dasm - System.Collections.PerfFrozenDictionaryString:TryGetValueTrueDictionary():ubyte:this (Tier1-OSR)
@@ -11,16 +11,16 @@
 ; Final local variable assignments
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <System.Collections.Perf_FrozenDictionary_String>
-;  V01 loc0         [V01,T02] (  9,199.98)   ubyte  ->  x20        
+;  V01 loc0         [V01,T02] (  7,199.98)   ubyte  ->  x20        
 ;  V02 loc1         [V02,T06] (  4,101.00)     ref  ->  x21         class-hnd <<unknown class>>
 ;  V03 loc2         [V03,T09] (  3,  0.02)     ref  ->   x2         class-hnd exact <<unknown class>>
-;  V04 loc3         [V04,T00] ( 17,400.98)     int  ->  x19        
+;  V04 loc3         [V04,T00] ( 14,400.98)     int  ->  x19        
 ;  V05 loc4         [V05,T08] (  1,  1   )     ref  ->  [fp+0x60]  ld-addr-op class-hnd tier0-frame <<unknown class>>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T03] (  8,199.98)   ubyte  ->   x2         "Inline return value spill temp"
+;  V07 tmp1         [V07,T03] (  7,199.98)   ubyte  ->   x2         "Inline return value spill temp"
 ;  V08 tmp2         [V08,T01] (  4,399.96)     ref  ->   x1         class-hnd exact "Inlining Arg" <<unknown class>>
 ;  V09 tmp3         [V09,T04] (  4,199.98)   byref  ->   x0         "Inline stloc first use temp"
-;  V10 cse0         [V10,T05] (  7,101.01)     int  ->  x22         "CSE - aggressive"
+;  V10 cse0         [V10,T05] (  6,101.01)     int  ->  x22         "CSE - aggressive"
 ;  V11 cse1         [V11,T07] (  4,100.00)   byref  ->  x23         hoist multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 8
@@ -39,10 +39,10 @@ G_M16914_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
 G_M16914_IG02:        ; bbWeight=0.01, gcrefRegs=200004 {x2 x21}, byrefRegs=0000 {}, byref, isz
             ldr     w22, [x2, #0x08]
             cmp     w22, w19
-            ble     G_M16914_IG11
+            ble     G_M16914_IG13
                      ;; size=12 bbWeight=0.01 PerfScore 0.04
 G_M16914_IG03:        ; bbWeight=0.01, gcrefRegs=200004 {x2 x21}, byrefRegs=0000 {}, byref, isz
-            tbnz    w19, #31, G_M16914_IG06
+            tbnz    w19, #31, G_M16914_IG08
                       ;; size=4 bbWeight=0.01 PerfScore 0.01
 G_M16914_IG04:        ; bbWeight=0.01, gcrefRegs=200004 {x2 x21}, byrefRegs=0000 {}, byref
             add     x23, x2, #16
@@ -62,26 +62,31 @@ G_M16914_IG05:        ; bbWeight=98.99, gcrefRegs=200000 {x21}, byrefRegs=800000
             blr     x2
             ; gcrRegs -[x0-x1]
             ; byrRegs +[x0]
-            cbnz    x0, G_M16914_IG09
+            cbnz    x0, G_M16914_IG11
             mov     w2, wzr
-            eor     w0, w20, w2
+                        ;; size=36 bbWeight=98.99 PerfScore 1039.40
+G_M16914_IG06:        ; bbWeight=98.99, gcrefRegs=200000 {x21}, byrefRegs=800000 {x23}, byref, isz
             ; byrRegs -[x0]
+            eor     w0, w20, w2
             uxtb    w20, w0
             add     w19, w19, #1
             cmp     w22, w19
-            ble     G_M16914_IG11
-            b       G_M16914_IG05
-                       ;; size=60 bbWeight=98.99 PerfScore 1435.36
-G_M16914_IG06:        ; bbWeight=0.00, gcrefRegs=200004 {x2 x21}, byrefRegs=0000 {}, byref
-            ; gcrRegs +[x2]
+            bgt     G_M16914_IG05
+                       ;; size=20 bbWeight=98.99 PerfScore 296.97
+G_M16914_IG07:        ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x21]
             ; byrRegs -[x23]
+            b       G_M16914_IG13
+                       ;; size=4 bbWeight=0.00 PerfScore 0.00
+G_M16914_IG08:        ; bbWeight=0.00, gcrefRegs=200004 {x2 x21}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x2 x21]
             add     x23, x2, #16
             ; byrRegs +[x23]
                        ;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M16914_IG07:        ; bbWeight=1.00, gcrefRegs=200000 {x21}, byrefRegs=800000 {x23}, byref, isz
+G_M16914_IG09:        ; bbWeight=1.00, gcrefRegs=200000 {x21}, byrefRegs=800000 {x23}, byref, isz
             ; gcrRegs -[x2]
             cmp     w19, w22
-            bhs     G_M16914_IG08
+            bhs     G_M16914_IG10
             ldr     x1, [x23, w19, UXTW #3]
             ; gcrRegs +[x1]
             ldrsb   wzr, [x21]
@@ -94,45 +99,40 @@ G_M16914_IG07:        ; bbWeight=1.00, gcrefRegs=200000 {x21}, byrefRegs=800000
             blr     x2
             ; gcrRegs -[x0-x1]
             ; byrRegs +[x0]
-            cbnz    x0, G_M16914_IG10
+            cbnz    x0, G_M16914_IG12
             mov     w2, wzr
             eor     w2, w20, w2
             uxtb    w20, w2
             add     w19, w19, #1
             cmp     w22, w19
-            ble     G_M16914_IG11
-            b       G_M16914_IG07
+            ble     G_M16914_IG13
+            b       G_M16914_IG09
                       ;; size=72 bbWeight=1.00 PerfScore 19.00
-G_M16914_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M16914_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             ; byrRegs -[x0 x23]
             bl      CORINFO_HELP_RNGCHKFAIL
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M16914_IG09:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=800000 {x23}, byref, isz
+G_M16914_IG11:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=800000 {x23}, byref
             ; gcrRegs +[x21]
             ; byrRegs +[x23]
             mov     w2, #1
-            eor     w2, w20, w2
-            uxtb    w20, w2
-            add     w19, w19, #1
-            cmp     w22, w19
-            bgt     G_M16914_IG05
-            b       G_M16914_IG11
-                       ;; size=28 bbWeight=0 PerfScore 0.00
-G_M16914_IG10:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=800000 {x23}, byref, isz
+            b       G_M16914_IG06
+                       ;; size=8 bbWeight=0 PerfScore 0.00
+G_M16914_IG12:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=800000 {x23}, byref, isz
             mov     w2, #1
             eor     w0, w20, w2
             uxtb    w20, w0
             add     w19, w19, #1
             cmp     w22, w19
-            bgt     G_M16914_IG07
+            bgt     G_M16914_IG09
                      ;; size=24 bbWeight=0 PerfScore 0.00
-G_M16914_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M16914_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             ; byrRegs -[x23]
             mov     w0, w20
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M16914_IG12:        ; bbWeight=0, epilog, nogc, extend
+G_M16914_IG14:        ; bbWeight=0, epilog, nogc, extend
             ldr     x23, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
@@ -141,7 +141,7 @@ G_M16914_IG12:        ; bbWeight=0, epilog, nogc, extend
             ret     lr
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 276, prolog size 20, PerfScore 1454.56, instruction count 69, allocated bytes for code 276 (MethodHash=0a16bded) for method System.Collections.Perf_FrozenDictionary_String:TryGetValue_True_Dictionary():ubyte:this (Tier1-OSR)
+; Total bytes of code 256, prolog size 20, PerfScore 1355.57, instruction count 64, allocated bytes for code 256 (MethodHash=0a16bded) for method System.Collections.Perf_FrozenDictionary_String:TryGetValue_True_Dictionary():ubyte:this (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -152,7 +152,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 69 (0x00045) Actual length = 276 (0x000114)
+  Function Length   : 64 (0x00040) Actual length = 256 (0x000100)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+28 (+16.67%) : 64879.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
@@ -14,120 +14,123 @@
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  4,  8   )     ref  ->   x3         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]>
-;  V05 tmp3         [V05,T04] (  5,  5   )     ref  ->   x4         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T03] (  6,  6.00)     int  ->  x14         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->  x15         "Inline stloc first use temp"
+;  V05 tmp3         [V05,T04] (  5,  5   )     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V06 tmp4         [V06,T03] (  6,  6.00)     int  ->   x5         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->   x6         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V09 tmp7         [V09,T11] (  3,  2.00)     int  ->   x7         "Inline stloc first use temp"
+;  V09 tmp7         [V09,T11] (  3,  2.00)     int  ->   x6         "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T05] (  3,  3   )     ref  ->   x1         single-def "field V01.<Context>k__BackingField (fldOffset=0x0)" P-INDEP
 ;  V11 tmp9         [V11,T06] (  3,  3   )     int  ->   x2         single-def "field V01.<Events>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V12 tmp10        [V12,T02] (  3,  6   )   byref  ->   x3         single-def "BlockOp address local"
-;  V13 cse0         [V13,T07] (  4,  4   )    long  ->   x6         "CSE - aggressive"
-;  V14 cse1         [V14,T09] (  3,  3.00)   byref  ->   x5         hoist "CSE - aggressive"
-;  V15 cse2         [V15,T13] (  2,  2   )     int  ->  x12         "CSE - aggressive"
-;  V16 cse3         [V16,T10] (  3,  3.00)     int  ->   x7         "CSE - aggressive"
+;  V12 tmp10        [V12,T02] (  3,  6   )   byref  ->   x0         single-def "BlockOp address local"
+;  V13 cse0         [V13,T07] (  4,  4   )    long  ->  x20         "CSE - aggressive"
+;  V14 cse1         [V14,T09] (  3,  3.00)   byref  ->   x4         hoist "CSE - aggressive"
+;  V15 cse2         [V15,T13] (  2,  2   )     int  ->   x7         "CSE - aggressive"
+;  V16 cse3         [V16,T10] (  3,  3.00)     int  ->  x21         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M38319_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-                       ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M38319_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0-x1]
-            add     x14, x0, #16
-            ; byrRegs +[x14]
-            ldapr   x3, [x14]
-            ; gcrRegs +[x3]
-            ldr     x4, [x3, #0x08]
-            ; gcrRegs +[x4]
-            add     x5, x3, #0xD1FFAB1E
-            ; byrRegs +[x5]
-                       ;; size=16 bbWeight=1 PerfScore 7.00
-G_M38319_IG03:        ; bbWeight=1, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0020 {x5}, byref, isz
-            ; byrRegs -[x14]
-            ldapr   w14, [x5]
-            ldr     w15, [x3, #0x18]
-            and     w15, w14, w15
-            ldr     w12, [x4, #0x08]
-            cmp     w15, w12
-            bhs     G_M38319_IG10
-            mov     w12, #24
-            mov     xip0, #16
-            umaddl  x6, w15, w12, xip0
-            add     x15, x4, x6
-            ; byrRegs +[x15]
-            ldapr   w15, [x15]
-            ; byrRegs -[x15]
-            sub     w7, w15, w14
-            cbnz    w7, G_M38319_IG07
-                       ;; size=52 bbWeight=1 PerfScore 22.00
-G_M38319_IG04:        ; bbWeight=1.00, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0020 {x5}, byref, isz
-            add     w7, w14, #1
-            mov     w15, w14
-            casal   w15, w7, [x5]
-            cmp     w15, w14
-            bne     G_M38319_IG03
-                       ;; size=20 bbWeight=1.00 PerfScore 5.50
-G_M38319_IG05:        ; bbWeight=1, gcrefRegs=0012 {x1 x4}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0 x3]
-            ; byrRegs -[x5]
-            add     x3, x4, x6
+            add     x3, x0, #16
             ; byrRegs +[x3]
-            add     x14, x3, #8
+            ldapr   x3, [x3]
+            ; gcrRegs +[x3]
+            ; byrRegs -[x3]
+            ldr     x19, [x3, #0x08]
+            ; gcrRegs +[x19]
+            add     x4, x3, #0xD1FFAB1E
+            ; byrRegs +[x4]
+                       ;; size=16 bbWeight=1 PerfScore 7.00
+G_M38319_IG03:        ; bbWeight=1, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            ldapr   w5, [x4]
+            ldr     w6, [x3, #0x18]
+            and     w6, w5, w6
+            ldr     w7, [x19, #0x08]
+            cmp     w6, w7
+            bhs     G_M38319_IG10
+            mov     w7, #24
+            mov     x8, #16
+            umaddl  x20, w6, w7, x8
+            add     x6, x19, x20
+            ; byrRegs +[x6]
+            ldapr   w6, [x6]
+            ; byrRegs -[x6]
+            sub     w6, w6, w5
+            cbnz    w6, G_M38319_IG05
+                       ;; size=52 bbWeight=1 PerfScore 22.00
+G_M38319_IG04:        ; bbWeight=1.00, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            add     w21, w5, #1
+            mov     w6, w5
+            casal   w6, w21, [x4]
+            cmp     w6, w5
+            bne     G_M38319_IG03
+            b       G_M38319_IG08
+                       ;; size=24 bbWeight=1.00 PerfScore 6.50
+G_M38319_IG05:        ; bbWeight=0.00, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            tbz     w6, #31, G_M38319_IG03
+                       ;; size=4 bbWeight=0.00 PerfScore 0.00
+G_M38319_IG06:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x3 x19]
+            ; byrRegs -[x4]
+            movz    x3, #0xD1FFAB1E      // code for <unknown method>
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     x3, [x3]
+                       ;; size=16 bbWeight=1 PerfScore 4.50
+G_M38319_IG07:        ; bbWeight=1, 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=1 PerfScore 5.00
+G_M38319_IG08:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0] +[x19]
+            add     x0, x19, x20
+            ; byrRegs +[x0]
+            add     x14, x0, #8
             ; byrRegs +[x14]
             mov     x15, x1
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             ; gcrRegs -[x1 x15]
             ; byrRegs -[x14]
-            str     w2, [x3, #0x10]
-            add     x4, x4, x6
-            ; gcrRegs -[x4]
-            ; byrRegs +[x4]
-            stlr    w7, [x4]
+            str     w2, [x0, #0x10]
+            add     x0, x19, x20
+            stlr    w21, [x0]
                       ;; size=28 bbWeight=1 PerfScore 5.00
-G_M38319_IG06:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=1 PerfScore 2.00
-G_M38319_IG07:        ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0020 {x5}, gcvars, byref, isz
-            ; gcrRegs +[x0-x1 x3-x4]
-            ; byrRegs -[x3-x4] +[x5]
-            tbz     w7, #31, G_M38319_IG03
-                       ;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M38319_IG08:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x3-x4]
-            ; byrRegs -[x5]
-            movz    x3, #0xD1FFAB1E      // code for <unknown method>
-            movk    x3, #0xD1FFAB1E LSL #16
-            movk    x3, #0xD1FFAB1E LSL #32
-            ldr     x3, [x3]
-                       ;; size=16 bbWeight=1 PerfScore 4.50
 G_M38319_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            br      x3
-            ; gcr arg pop 0
-                       ;; size=8 bbWeight=1 PerfScore 2.00
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
+            ret     lr
+                       ;; size=16 bbWeight=1 PerfScore 5.00
 G_M38319_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0-x1]
+            ; gcrRegs -[x19]
+            ; byrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 168, prolog size 8, PerfScore 49.50, instruction count 42, allocated bytes for code 168 (MethodHash=f2866a50) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
+; Total bytes of code 196, prolog size 16, PerfScore 58.50, instruction count 49, allocated bytes for code 196 (MethodHash=f2866a50) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 42 (0x0002a) Actual length = 168 (0x0000a8)
+  Function Length   : 49 (0x00031) Actual length = 196 (0x0000c4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -138,7 +141,9 @@ 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 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
 
  
+28 (+16.67%) : 97203.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
@@ -14,120 +14,123 @@
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  4,  8   )     ref  ->   x3         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]>
-;  V05 tmp3         [V05,T04] (  5,  5.00)     ref  ->   x4         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T03] (  6,  6.00)     int  ->  x14         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->  x15         "Inline stloc first use temp"
+;  V05 tmp3         [V05,T04] (  5,  5.00)     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V06 tmp4         [V06,T03] (  6,  6.00)     int  ->   x5         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->   x6         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V09 tmp7         [V09,T11] (  3,  2.00)     int  ->   x7         "Inline stloc first use temp"
+;  V09 tmp7         [V09,T11] (  3,  2.00)     int  ->   x6         "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T05] (  3,  3.00)     ref  ->   x1         single-def "field V01.<Context>k__BackingField (fldOffset=0x0)" P-INDEP
 ;  V11 tmp9         [V11,T06] (  3,  3.00)     int  ->   x2         single-def "field V01.<Events>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V12 tmp10        [V12,T02] (  3,  6.00)   byref  ->   x3         single-def "BlockOp address local"
-;  V13 cse0         [V13,T07] (  4,  4.00)    long  ->   x6         "CSE - aggressive"
-;  V14 cse1         [V14,T09] (  3,  3.00)   byref  ->   x5         hoist "CSE - aggressive"
-;  V15 cse2         [V15,T13] (  2,  2   )     int  ->  x12         "CSE - aggressive"
-;  V16 cse3         [V16,T10] (  3,  3.00)     int  ->   x7         "CSE - aggressive"
+;  V12 tmp10        [V12,T02] (  3,  6.00)   byref  ->   x0         single-def "BlockOp address local"
+;  V13 cse0         [V13,T07] (  4,  4.00)    long  ->  x20         "CSE - aggressive"
+;  V14 cse1         [V14,T09] (  3,  3.00)   byref  ->   x4         hoist "CSE - aggressive"
+;  V15 cse2         [V15,T13] (  2,  2   )     int  ->   x7         "CSE - aggressive"
+;  V16 cse3         [V16,T10] (  3,  3.00)     int  ->  x21         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M38319_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-                       ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M38319_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0-x1]
-            add     x14, x0, #16
-            ; byrRegs +[x14]
-            ldapr   x3, [x14]
-            ; gcrRegs +[x3]
-            ldr     x4, [x3, #0x08]
-            ; gcrRegs +[x4]
-            add     x5, x3, #0xD1FFAB1E
-            ; byrRegs +[x5]
-                       ;; size=16 bbWeight=1 PerfScore 7.00
-G_M38319_IG03:        ; bbWeight=1, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0020 {x5}, byref, isz
-            ; byrRegs -[x14]
-            ldapr   w14, [x5]
-            ldr     w15, [x3, #0x18]
-            and     w15, w14, w15
-            ldr     w12, [x4, #0x08]
-            cmp     w15, w12
-            bhs     G_M38319_IG10
-            mov     w12, #24
-            mov     xip0, #16
-            umaddl  x6, w15, w12, xip0
-            add     x15, x4, x6
-            ; byrRegs +[x15]
-            ldapr   w15, [x15]
-            ; byrRegs -[x15]
-            sub     w7, w15, w14
-            cbnz    w7, G_M38319_IG07
-                       ;; size=52 bbWeight=1 PerfScore 22.00
-G_M38319_IG04:        ; bbWeight=1.00, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0020 {x5}, byref, isz
-            add     w7, w14, #1
-            mov     w15, w14
-            casal   w15, w7, [x5]
-            cmp     w15, w14
-            bne     G_M38319_IG03
-                       ;; size=20 bbWeight=1.00 PerfScore 5.50
-G_M38319_IG05:        ; bbWeight=1.00, gcrefRegs=0012 {x1 x4}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0 x3]
-            ; byrRegs -[x5]
-            add     x3, x4, x6
+            add     x3, x0, #16
             ; byrRegs +[x3]
-            add     x14, x3, #8
+            ldapr   x3, [x3]
+            ; gcrRegs +[x3]
+            ; byrRegs -[x3]
+            ldr     x19, [x3, #0x08]
+            ; gcrRegs +[x19]
+            add     x4, x3, #0xD1FFAB1E
+            ; byrRegs +[x4]
+                       ;; size=16 bbWeight=1 PerfScore 7.00
+G_M38319_IG03:        ; bbWeight=1, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            ldapr   w5, [x4]
+            ldr     w6, [x3, #0x18]
+            and     w6, w5, w6
+            ldr     w7, [x19, #0x08]
+            cmp     w6, w7
+            bhs     G_M38319_IG10
+            mov     w7, #24
+            mov     x8, #16
+            umaddl  x20, w6, w7, x8
+            add     x6, x19, x20
+            ; byrRegs +[x6]
+            ldapr   w6, [x6]
+            ; byrRegs -[x6]
+            sub     w6, w6, w5
+            cbnz    w6, G_M38319_IG05
+                       ;; size=52 bbWeight=1 PerfScore 22.00
+G_M38319_IG04:        ; bbWeight=1.00, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            add     w21, w5, #1
+            mov     w6, w5
+            casal   w6, w21, [x4]
+            cmp     w6, w5
+            bne     G_M38319_IG03
+            b       G_M38319_IG08
+                       ;; size=24 bbWeight=1.00 PerfScore 6.50
+G_M38319_IG05:        ; bbWeight=0.00, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            tbz     w6, #31, G_M38319_IG03
+                       ;; size=4 bbWeight=0.00 PerfScore 0.00
+G_M38319_IG06:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x3 x19]
+            ; byrRegs -[x4]
+            movz    x3, #0xD1FFAB1E      // code for <unknown method>
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     x3, [x3]
+                       ;; size=16 bbWeight=1 PerfScore 4.50
+G_M38319_IG07:        ; bbWeight=1, 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=1 PerfScore 5.00
+G_M38319_IG08:        ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0] +[x19]
+            add     x0, x19, x20
+            ; byrRegs +[x0]
+            add     x14, x0, #8
             ; byrRegs +[x14]
             mov     x15, x1
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             ; gcrRegs -[x1 x15]
             ; byrRegs -[x14]
-            str     w2, [x3, #0x10]
-            add     x4, x4, x6
-            ; gcrRegs -[x4]
-            ; byrRegs +[x4]
-            stlr    w7, [x4]
+            str     w2, [x0, #0x10]
+            add     x0, x19, x20
+            stlr    w21, [x0]
                       ;; size=28 bbWeight=1.00 PerfScore 5.00
-G_M38319_IG06:        ; bbWeight=1.00, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M38319_IG09:        ; bbWeight=1.00, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=8 bbWeight=1.00 PerfScore 2.00
-G_M38319_IG07:        ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0020 {x5}, gcvars, byref, isz
-            ; gcrRegs +[x0-x1 x3-x4]
-            ; byrRegs -[x3-x4] +[x5]
-            tbz     w7, #31, G_M38319_IG03
-                       ;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M38319_IG08:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x3-x4]
-            ; byrRegs -[x5]
-            movz    x3, #0xD1FFAB1E      // code for <unknown method>
-            movk    x3, #0xD1FFAB1E LSL #16
-            movk    x3, #0xD1FFAB1E LSL #32
-            ldr     x3, [x3]
-                       ;; size=16 bbWeight=1 PerfScore 4.50
-G_M38319_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            br      x3
-            ; gcr arg pop 0
-                       ;; size=8 bbWeight=1 PerfScore 2.00
+                       ;; size=16 bbWeight=1.00 PerfScore 5.00
 G_M38319_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0-x1]
+            ; gcrRegs -[x19]
+            ; byrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 168, prolog size 8, PerfScore 49.50, instruction count 42, allocated bytes for code 168 (MethodHash=f2866a50) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
+; Total bytes of code 196, prolog size 16, PerfScore 58.50, instruction count 49, allocated bytes for code 196 (MethodHash=f2866a50) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 42 (0x0002a) Actual length = 168 (0x0000a8)
+  Function Length   : 49 (0x00031) Actual length = 196 (0x0000c4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -138,7 +141,9 @@ 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 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
 
  
+32 (+19.05%) : 53296.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
@@ -9,125 +9,132 @@
 ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  4,  4   )     ref  ->   x0         this class-hnd single-def <System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]>
+;  V00 this         [V00,T02] (  4,  4.00)     ref  ->   x0         this class-hnd single-def <System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.Net.Sockets.SocketAsyncEngine+SocketIOEvent>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  4,  8   )     ref  ->   x3         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]>
-;  V05 tmp3         [V05,T04] (  5,  5   )     ref  ->   x4         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T03] (  6,  6.00)     int  ->  x14         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->  x15         "Inline stloc first use temp"
+;  V05 tmp3         [V05,T04] (  5,  5   )     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V06 tmp4         [V06,T03] (  6,  6.00)     int  ->   x5         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->   x6         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V09 tmp7         [V09,T11] (  3,  2.00)     int  ->   x7         "Inline stloc first use temp"
-;  V10 tmp8         [V10,T05] (  3,  3   )     ref  ->   x1         single-def "field V01.<Context>k__BackingField (fldOffset=0x0)" P-INDEP
-;  V11 tmp9         [V11,T06] (  3,  3   )     int  ->   x2         single-def "field V01.<Events>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V12 tmp10        [V12,T02] (  3,  6   )   byref  ->   x3         single-def "BlockOp address local"
-;  V13 cse0         [V13,T07] (  4,  4   )    long  ->   x6         "CSE - aggressive"
-;  V14 cse1         [V14,T09] (  3,  3.00)   byref  ->   x5         hoist "CSE - aggressive"
-;  V15 cse2         [V15,T13] (  2,  2   )     int  ->  x12         "CSE - aggressive"
-;  V16 cse3         [V16,T10] (  3,  3.00)     int  ->   x7         "CSE - aggressive"
+;  V09 tmp7         [V09,T11] (  3,  2.00)     int  ->   x6         "Inline stloc first use temp"
+;  V10 tmp8         [V10,T05] (  3,  3.00)     ref  ->   x1         single-def "field V01.<Context>k__BackingField (fldOffset=0x0)" P-INDEP
+;  V11 tmp9         [V11,T06] (  3,  3.00)     int  ->   x2         single-def "field V01.<Events>k__BackingField (fldOffset=0x8)" P-INDEP
+;  V12 tmp10        [V12,T01] (  3,  6   )   byref  ->   x0         single-def "BlockOp address local"
+;  V13 cse0         [V13,T07] (  4,  4   )    long  ->  x20         "CSE - aggressive"
+;  V14 cse1         [V14,T09] (  3,  3.00)   byref  ->   x4         hoist "CSE - aggressive"
+;  V15 cse2         [V15,T13] (  2,  2   )     int  ->   x7         "CSE - aggressive"
+;  V16 cse3         [V16,T10] (  3,  3.00)     int  ->  x21         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M38319_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-                       ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M38319_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0-x1]
-            add     x14, x0, #16
-            ; byrRegs +[x14]
-            ldapr   x3, [x14]
-            ; gcrRegs +[x3]
-            ldr     x4, [x3, #0x08]
-            ; gcrRegs +[x4]
-            add     x5, x3, #0xD1FFAB1E
-            ; byrRegs +[x5]
-                       ;; size=16 bbWeight=1 PerfScore 7.00
-G_M38319_IG03:        ; bbWeight=1, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0020 {x5}, byref, isz
-            ; byrRegs -[x14]
-            ldapr   w14, [x5]
-            ldr     w15, [x3, #0x18]
-            and     w15, w14, w15
-            ldr     w12, [x4, #0x08]
-            cmp     w15, w12
-            bhs     G_M38319_IG10
-            mov     w12, #24
-            mov     xip0, #16
-            umaddl  x6, w15, w12, xip0
-            add     x15, x4, x6
-            ; byrRegs +[x15]
-            ldapr   w15, [x15]
-            ; byrRegs -[x15]
-            sub     w7, w15, w14
-            cbnz    w7, G_M38319_IG07
-                       ;; size=52 bbWeight=1 PerfScore 22.00
-G_M38319_IG04:        ; bbWeight=1.00, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0020 {x5}, byref, isz
-            add     w7, w14, #1
-            mov     w15, w14
-            casal   w15, w7, [x5]
-            cmp     w15, w14
-            bne     G_M38319_IG03
-                       ;; size=20 bbWeight=1.00 PerfScore 5.50
-G_M38319_IG05:        ; bbWeight=1, gcrefRegs=0012 {x1 x4}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0 x3]
-            ; byrRegs -[x5]
-            add     x3, x4, x6
+            add     x3, x0, #16
             ; byrRegs +[x3]
-            add     x14, x3, #8
+            ldapr   x3, [x3]
+            ; gcrRegs +[x3]
+            ; byrRegs -[x3]
+            ldr     x19, [x3, #0x08]
+            ; gcrRegs +[x19]
+            add     x4, x3, #0xD1FFAB1E
+            ; byrRegs +[x4]
+                       ;; size=16 bbWeight=1 PerfScore 7.00
+G_M38319_IG03:        ; bbWeight=1, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            ldapr   w5, [x4]
+            ldr     w6, [x3, #0x18]
+            and     w6, w5, w6
+            ldr     w7, [x19, #0x08]
+            cmp     w6, w7
+            bhs     G_M38319_IG11
+            mov     w7, #24
+            mov     x8, #16
+            umaddl  x20, w6, w7, x8
+            add     x6, x19, x20
+            ; byrRegs +[x6]
+            ldapr   w6, [x6]
+            ; byrRegs -[x6]
+            sub     w6, w6, w5
+            cbnz    w6, G_M38319_IG05
+                       ;; size=52 bbWeight=1 PerfScore 22.00
+G_M38319_IG04:        ; bbWeight=1.00, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            add     w21, w5, #1
+            mov     w6, w5
+            casal   w6, w21, [x4]
+            cmp     w6, w5
+            bne     G_M38319_IG03
+            b       G_M38319_IG07
+                       ;; size=24 bbWeight=1.00 PerfScore 6.50
+G_M38319_IG05:        ; bbWeight=0.00, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            tbz     w6, #31, G_M38319_IG03
+                       ;; size=4 bbWeight=0.00 PerfScore 0.00
+G_M38319_IG06:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x3 x19]
+            ; byrRegs -[x4]
+            b       G_M38319_IG09
+                       ;; size=4 bbWeight=1 PerfScore 1.00
+G_M38319_IG07:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0] +[x19]
+            add     x0, x19, x20
+            ; byrRegs +[x0]
+            add     x14, x0, #8
             ; byrRegs +[x14]
             mov     x15, x1
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             ; gcrRegs -[x1 x15]
             ; byrRegs -[x14]
-            str     w2, [x3, #0x10]
-            add     x4, x4, x6
-            ; gcrRegs -[x4]
-            ; byrRegs +[x4]
-            stlr    w7, [x4]
+            str     w2, [x0, #0x10]
+            add     x0, x19, x20
+            stlr    w21, [x0]
                       ;; size=28 bbWeight=1 PerfScore 5.00
-G_M38319_IG06:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M38319_IG08:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M38319_IG07:        ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0020 {x5}, gcvars, byref, isz
-            ; gcrRegs +[x0-x1 x3-x4]
-            ; byrRegs -[x3-x4] +[x5]
-            tbz     w7, #31, G_M38319_IG03
-                       ;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M38319_IG08:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x3-x4]
-            ; byrRegs -[x5]
+                      ;; size=16 bbWeight=1 PerfScore 5.00
+G_M38319_IG09:        ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x19] +[x0-x1]
+            ; byrRegs -[x0]
             movz    x3, #0xD1FFAB1E      // code for <unknown method>
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
-                     ;; size=16 bbWeight=1 PerfScore 4.50
-G_M38319_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+                      ;; size=16 bbWeight=1.00 PerfScore 4.50
+G_M38319_IG10:        ; bbWeight=1.00, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             br      x3
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=1 PerfScore 2.00
-G_M38319_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                      ;; size=16 bbWeight=1.00 PerfScore 5.00
+G_M38319_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0-x1]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 168, prolog size 8, PerfScore 49.50, instruction count 42, allocated bytes for code 168 (MethodHash=f2866a50) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
+; Total bytes of code 200, prolog size 16, PerfScore 59.50, instruction count 50, allocated bytes for code 200 (MethodHash=f2866a50) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 42 (0x0002a) Actual length = 168 (0x0000a8)
+  Function Length   : 50 (0x00032) Actual length = 200 (0x0000c8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -138,7 +145,9 @@ 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 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
 
  
  
benchmarks.run_tiered.linux.arm64.checked.mch
-24 (-1.10%) : 11391.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan1[ushort],System.ReadOnlySpan1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
@@ -30,8 +30,8 @@
 ;* V19 loc15        [V19    ] (  0,   0   )   ubyte  ->  zero-ref   
 ;* V20 loc16        [V20    ] (  0,   0   )  struct (16) zero-ref    <System.Span`1[int]>
 ;  V21 loc17        [V21,T28] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
-;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x13        
-;  V23 loc19        [V23,T01] (  7,1344   )     int  ->   x1        
+;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x14        
+;  V23 loc19        [V23,T01] (  7,1344   )     int  ->  x13        
 ;  V24 loc20        [V24,T02] (  3, 832   )     int  ->   x0        
 ;# V25 OutArgs      [V25    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V26 tmp1         [V26    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
@@ -40,15 +40,15 @@
 ;  V29 tmp4         [V29,T12] (  4, 256   )     int  ->   x7         "impSpillLclRefs"
 ;  V30 tmp5         [V30,T13] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V31 tmp6         [V31,T15] (  2, 256   )     int  ->  x10         "dup spill"
-;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x0         "impSpillLclRefs"
+;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V33 tmp8         [V33,T49] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
 ;* V34 tmp9         [V34    ] (  0,   0   )     int  ->  zero-ref    ptr
 ;  V35 tmp10        [V35,T37] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V36 tmp11        [V36,T38] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
 ;  V37 tmp12        [V37,T34] (  5,  80   )     int  ->  x13         "dup spill"
 ;  V38 tmp13        [V38,T39] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
-;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x1         "impSpillLclRefs"
-;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x1         "impSpillLclRefs"
+;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
+;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V41 tmp16        [V41,T30] (  3,  96   )     int  ->   x1        
 ;  V42 tmp17        [V42,T52] (  4,  16   )     int  ->  x25         "impSpillLclRefs"
 ;* V43 tmp18        [V43    ] (  0,   0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
@@ -310,10 +310,10 @@ G_M9731_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     x23, [fp, #-0x78]  // [V01 arg1]
             ; byrRegs +[x23]
             ldr     w24, [fp, #-0x70]  // [V01 arg1+0x08]
-            cbz     w22, G_M9731_IG68
+            cbz     w22, G_M9731_IG69
                         ;; size=20 bbWeight=1 PerfScore 9.00
 G_M9731_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref, isz
-            cbz     w24, G_M9731_IG68
+            cbz     w24, G_M9731_IG69
             ldrh    w0, [x21]
             cmp     w0, #42
             bne     G_M9731_IG08
@@ -393,7 +393,7 @@ G_M9731_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2A00000 {x21
 G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23 x25}, byref, isz
             ; byrRegs -[x21]
             cmp     w24, w26
-            blt     G_M9731_IG68
+            blt     G_M9731_IG69
             mov     x0, x23
             ; byrRegs +[x0]
             sxtw    w1, w24
@@ -410,7 +410,7 @@ G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23
             blr     x5
             ; byrRegs -[x0 x2 x23 x25]
             ; gcr arg pop 0
-            b       G_M9731_IG63
+            b       G_M9731_IG64
                         ;; size=60 bbWeight=0.50 PerfScore 5.75
 G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref
             ; byrRegs +[x21 x23]
@@ -437,7 +437,7 @@ G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21
             add     w1, w25, #1
             sxtw    w27, w1
             cmp     w25, w24
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldrh    w1, [x23, w25, UXTW #2]
             sxtw    w25, w1
             b       G_M9731_IG12
@@ -445,7 +445,7 @@ G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21
 G_M9731_IG11:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
             sub     w6, w26, #1
             cmp     w6, w4
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldr     w1, [x3, w6, UXTW #2]
             cmp     w1, w5
             beq     G_M9731_IG21
@@ -469,7 +469,7 @@ G_M9731_IG13:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x2
             str     w0, [fp, #-0x80]   // [V06 loc2]
             str     w4, [fp, #-0xC8]   // [V182 tmp157]
             cmp     w1, w4
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             str     x3, [fp, #-0xD8] // [V181 tmp156]
             ; GC ptr vars +{V181}
             ldr     w1, [x3, w1, UXTW #2]
@@ -477,14 +477,14 @@ G_M9731_IG13:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x2
             add     w1, w1, w1,  LSR #31
             asr     w10, w1, #1
             cmp     w10, w22
-            bge     G_M9731_IG51
+            bge     G_M9731_IG52
                        ;; size=48 bbWeight=16 PerfScore 192.00
 G_M9731_IG14:        ; bbWeight=64, gcVars=00000000000000000000000000000200 {V181}, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, gcvars, byref, isz
             ; byrRegs -[x3]
             lsl     w11, w10, #1
             str     w11, [fp, #-0x94]  // [V16 loc12]
             cmp     w10, w22
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             str     w10, [fp, #-0x7C]  // [V05 loc1]
             ldrh    w13, [x21, w10, UXTW #2]
             str     w13, [fp, #-0x8C]  // [V11 loc7]
@@ -513,7 +513,7 @@ G_M9731_IG15:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             str     w4, [fp, #-0xCC]   // [V244 tmp219]
             ldr     w5, [fp, #-0xC4]   // [V180 tmp155]
             cmp     w5, w4
-            bhi     G_M9731_IG71
+            bhi     G_M9731_IG72
             mov     w2, w5
             lsl     x2, x2, #2
             mov     x0, x3
@@ -548,7 +548,7 @@ G_M9731_IG15:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             str     w4, [fp, #-0xD0]   // [V248 tmp223]
             ldr     w5, [fp, #-0xC8]   // [V182 tmp157]
             cmp     w5, w4
-            bhi     G_M9731_IG71
+            bhi     G_M9731_IG72
             mov     w2, w5
             lsl     x2, x2, #2
             mov     x0, x3
@@ -579,29 +579,29 @@ G_M9731_IG16:        ; bbWeight=64, gcVars=00000000000000000000000000000200 {V18
             ; GC ptr vars -{V247}
             ldr     w13, [fp, #-0x8C]  // [V11 loc7]
             cmp     w13, #42
-            beq     G_M9731_IG28
+            beq     G_M9731_IG30
                        ;; size=12 bbWeight=64 PerfScore 224.00
 G_M9731_IG17:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             tst     w19, #255
             beq     G_M9731_IG26
             cmp     w13, #60
             bne     G_M9731_IG26
-            mov     w13, wzr
+            mov     w14, wzr
             cbnz    w6, G_M9731_IG24
             cmp     w25, #46
             bne     G_M9731_IG23
-            sxtw    w1, w27
-            cmp     w1, w24
+            sxtw    w13, w27
+            cmp     w13, w24
             bge     G_M9731_IG23
                        ;; size=44 bbWeight=32 PerfScore 256.00
 G_M9731_IG18:        ; bbWeight=256, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            cmp     w1, w24
-            bhs     G_M9731_IG70
-            ldrh    w0, [x23, w1, UXTW #2]
-            cmp     w0, #46
+            cmp     w13, w24
+            bhs     G_M9731_IG71
+            ldrh    w1, [x23, w13, UXTW #2]
+            cmp     w1, #46
             beq     G_M9731_IG22
-            add     w1, w1, #1
-            cmp     w1, w24
+            add     w13, w13, #1
+            cmp     w13, w24
             blt     G_M9731_IG18
                        ;; size=32 bbWeight=256 PerfScore 2048.00
 G_M9731_IG19:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
@@ -612,18 +612,18 @@ G_M9731_IG20:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, g
             ; GC ptr vars -{V181}
             str     x3, [fp, #-0xD8]   // [V181 tmp156]
             ; GC ptr vars +{V181}
-            b       G_M9731_IG61
+            b       G_M9731_IG62
                       ;; size=8 bbWeight=2 PerfScore 4.00
 G_M9731_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref
             ; byrRegs -[x21 x23 x28]
             ; GC ptr vars -{V181}
             ldr     w5, [fp, #-0x90]   // [V15 loc11]
-            b       G_M9731_IG62
+            b       G_M9731_IG63
                       ;; size=8 bbWeight=1 PerfScore 3.00
 G_M9731_IG22:        ; bbWeight=32, gcVars=00000000000000000000000000000200 {V181}, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, gcvars, byref
             ; byrRegs -[x3] +[x21 x23 x28]
             ; GC ptr vars +{V09 V181}
-            mov     w13, #1
+            mov     w14, #1
                         ;; size=4 bbWeight=32 PerfScore 16.00
 G_M9731_IG23:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
             cmp     w25, #46
@@ -634,174 +634,170 @@ G_M9731_IG24:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             mov     w1, #1
                        ;; size=4 bbWeight=32 PerfScore 16.00
 G_M9731_IG25:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            orr     w1, w1, w13
-            cbz     w1, G_M9731_IG29
-            b       G_M9731_IG28
+            orr     w1, w1, w14
+            cbz     w1, G_M9731_IG31
+            b       G_M9731_IG30
                        ;; size=12 bbWeight=32 PerfScore 80.00
 G_M9731_IG26:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w11, [fp, #-0x94]  // [V16 loc12]
             add     w11, w11, #2
             tst     w19, #255
-            beq     G_M9731_IG37
+            beq     G_M9731_IG38
             cmp     w13, #62
-            bne     G_M9731_IG27
-            cbnz    w6, G_M9731_IG30
+            bne     G_M9731_IG28
+            cbnz    w6, G_M9731_IG32
             cmp     w25, #46
-            beq     G_M9731_IG30
-            b       G_M9731_IG34
-                       ;; size=40 bbWeight=32 PerfScore 288.00
-G_M9731_IG27:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            cmp     w13, #34
-            bne     G_M9731_IG37
-            cbnz    w6, G_M9731_IG30
-            b       G_M9731_IG35
-                       ;; size=16 bbWeight=32 PerfScore 112.00
+            beq     G_M9731_IG32
+                       ;; size=36 bbWeight=32 PerfScore 256.00
+G_M9731_IG27:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
+            b       G_M9731_IG36
+                       ;; size=4 bbWeight=8 PerfScore 8.00
 G_M9731_IG28:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
+            cmp     w13, #34
+            bne     G_M9731_IG38
+            cbnz    w6, G_M9731_IG32
+                       ;; size=12 bbWeight=32 PerfScore 80.00
+G_M9731_IG29:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
+            b       G_M9731_IG37
+                       ;; size=4 bbWeight=8 PerfScore 8.00
+G_M9731_IG30:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w7, [fp, #-0x84]    // [V07 loc3]
             add     w13, w7, #1
             cmp     w7, w2
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldr     w11, [fp, #-0x94]    // [V16 loc12]
             str     w11, [x28, w7, UXTW #2]
             str     w13, [fp, #-0x84]  // [V07 loc3]
             str     w11, [fp, #-0x94]  // [V16 loc12]
                        ;; size=32 bbWeight=32 PerfScore 288.00
-G_M9731_IG29:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
+G_M9731_IG31:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w7, [fp, #-0x84]   // [V07 loc3]
             sxtw    w1, w7
             add     w7, w1, #1
             cmp     w1, w2
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldr     w11, [fp, #-0x94]    // [V16 loc12]
...
  
-4 (-0.41%) : 38937.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
@@ -67,7 +67,7 @@
 ;  V56 cse0         [V56,T16] (  3, 12   )    long  ->   x8         "CSE - aggressive"
 ;  V57 cse1         [V57,T09] (  2, 16   )     int  ->   x3         "CSE - aggressive"
 ;  V58 cse2         [V58,T17] (  3, 12   )    long  ->   x1         "CSE - aggressive"
-;  V59 cse3         [V59,T18] (  3, 10   )    long  ->   x3         "CSE - aggressive"
+;  V59 cse3         [V59,T18] (  3, 10   )    long  ->   x0         "CSE - aggressive"
 ;  V60 rat0         [V60,T28] (  3, 96   )  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 168
@@ -287,23 +287,22 @@ G_M52237_IG17:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
 G_M52237_IG18:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x20]
             ldr     x1, [x20]
-            movz    x3, #0xD1FFAB1E
-            movk    x3, #0xD1FFAB1E LSL #16
-            movk    x3, #0xD1FFAB1E LSL #32
-            cmp     x1, x3
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            cmp     x1, x0
             beq     G_M52237_IG20
                        ;; size=24 bbWeight=4 PerfScore 24.00
 G_M52237_IG19:        ; bbWeight=2, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             mov     x1, x20
             ; gcrRegs +[x1]
-            mov     x0, x3
             bl      CORINFO_HELP_UNBOX
             ; gcrRegs -[x1]
             ; gcr arg pop 0
-                      ;; size=12 bbWeight=2 PerfScore 4.00
+                      ;; size=8 bbWeight=2 PerfScore 3.00
 G_M52237_IG20:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
-            ldrb    w1, [x20, #0x08]
-            str     w1, [fp, #0x7C]    // [V09 loc5]
+            ldrb    w0, [x20, #0x08]
+            str     w0, [fp, #0x7C]    // [V09 loc5]
                        ;; size=8 bbWeight=4 PerfScore 16.00
 G_M52237_IG21:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x19-x20]
@@ -474,7 +473,7 @@ RWD00   dq  0070004F00730049h, 006E006F00690074h
 RWD16      dq  006900740070004Fh, 006C0061006E006Fh
 
 
-; Total bytes of code 976, prolog size 60, PerfScore 1437.50, instruction count 244, allocated bytes for code 976 (MethodHash=9e6933f2) for method Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
+; Total bytes of code 972, prolog size 60, PerfScore 1436.50, instruction count 243, allocated bytes for code 972 (MethodHash=9e6933f2) for method Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -485,7 +484,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 198 (0x000c6) Actual length = 792 (0x000318)
+  Function Length   : 197 (0x000c5) Actual length = 788 (0x000314)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-0.33%) : 55050.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
@@ -468,16 +468,15 @@ G_M40395_IG34:        ; bbWeight=0.50, gcrefRegs=80001 {x0 x19}, byrefRegs=0000
             ldr     x2, [x0, #0x08]
             ; gcrRegs +[x2]
             cbnz    x2, G_M40395_IG10
-            ldr     x0, [fp, #0x10] // [V00 this]
             ldr     x2, [x0, #0x10]
             cbz     x2, G_M40395_IG10
             add     w21, w1, #1
             b       G_M40395_IG11
-                        ;; size=28 bbWeight=0.50 PerfScore 5.75
+                       ;; size=24 bbWeight=0.50 PerfScore 4.75
 G_M40395_IG35:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0 x2]
-            ldrb    w1, [fp, #0x18]    // [V03 loc2]
-            cbz     w1, G_M40395_IG37
+            ldrb    w0, [fp, #0x18] // [V03 loc2]
+            cbz     w0, G_M40395_IG37
                       ;; size=8 bbWeight=1 PerfScore 3.00
 G_M40395_IG36:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ldr     x0, [fp, #0x10]    // [V00 this]
@@ -542,7 +541,7 @@ G_M40395_IG42:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1224, prolog size 40, PerfScore 539.75, instruction count 306, allocated bytes for code 1224 (MethodHash=a3f86234) for method System.Threading.TimerQueue:FireNextTimers():this (Tier1)
+; Total bytes of code 1220, prolog size 40, PerfScore 538.75, instruction count 305, allocated bytes for code 1220 (MethodHash=a3f86234) for method System.Threading.TimerQueue:FireNextTimers():this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -553,7 +552,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 287 (0x0011f) Actual length = 1148 (0x00047c)
+  Function Length   : 286 (0x0011e) Actual length = 1144 (0x000478)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+4 (+1.08%) : 41550.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
@@ -56,16 +56,22 @@ G_M4144_IG02:        ; bbWeight=0.01, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {},
             ldr     w9, [x1, #0x10]
             b       G_M4144_IG12
                        ;; size=24 bbWeight=0.01 PerfScore 0.11
-G_M4144_IG03:        ; bbWeight=2, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG03:        ; bbWeight=1, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
+            ldr     w10, [x1, #0x1C]
+            add     w4, w10, w9
+            sub     w4, w4, #1
+            b       G_M4144_IG09
+                       ;; size=16 bbWeight=1 PerfScore 5.00
+G_M4144_IG04:        ; bbWeight=2, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
             sxtw    w5, w10
             cmp     w4, w5
-            bge     G_M4144_IG07
+            bge     G_M4144_IG08
                      ;; size=12 bbWeight=2 PerfScore 4.00
-G_M4144_IG04:        ; bbWeight=8, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG05:        ; bbWeight=8, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
             sub     w0, w0, #1
-            cbnz    w0, G_M4144_IG03
+            cbnz    w0, G_M4144_IG04
                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M4144_IG05:        ; bbWeight=1, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
+G_M4144_IG06:        ; bbWeight=1, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
             mov     x0, x1
             ; gcrRegs +[x0]
             mov     x1, x2
@@ -78,25 +84,23 @@ G_M4144_IG05:        ; bbWeight=1, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, by
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
                        ;; size=28 bbWeight=1 PerfScore 6.50
-G_M4144_IG06:        ; bbWeight=1, epilog, nogc, extend
+G_M4144_IG07:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             add     sp, sp, #80
             ret     lr
                        ;; size=12 bbWeight=1 PerfScore 2.50
-G_M4144_IG07:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M4144_IG08:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x1-x2]
             ldr     w11, [x1, #0x20]
             cmp     w3, w11
             bge     G_M4144_IG10
                        ;; size=12 bbWeight=2 PerfScore 9.00
-G_M4144_IG08:        ; bbWeight=8, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG09:        ; bbWeight=8, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
             add     w5, w5, #1
             cmp     w4, w5
-            bge     G_M4144_IG07
-                       ;; size=12 bbWeight=8 PerfScore 16.00
-G_M4144_IG09:        ; bbWeight=1, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
-            b       G_M4144_IG04
-                       ;; size=4 bbWeight=1 PerfScore 1.00
+            bge     G_M4144_IG08
+            b       G_M4144_IG05
+                       ;; size=16 bbWeight=8 PerfScore 24.00
 G_M4144_IG10:        ; bbWeight=1, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
             mov     w4, w11
                        ;; size=4 bbWeight=1 PerfScore 0.50
@@ -163,11 +167,8 @@ G_M4144_IG15:        ; bbWeight=8, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, by
             bge     G_M4144_IG11
                        ;; size=24 bbWeight=8 PerfScore 48.00
 G_M4144_IG16:        ; bbWeight=1, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
-            ldr     w10, [x1, #0x1C]
-            add     w4, w10, w9
-            sub     w4, w4, #1
-            b       G_M4144_IG08
-                       ;; size=16 bbWeight=1 PerfScore 5.00
+            b       G_M4144_IG03
+                       ;; size=4 bbWeight=1 PerfScore 1.00
 G_M4144_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x1-x2]
             bl      CORINFO_HELP_RNGCHKFAIL
@@ -175,7 +176,7 @@ G_M4144_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 372, prolog size 24, PerfScore 1039.72, instruction count 93, allocated bytes for code 372 (MethodHash=aa90efcf) for method Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
+; Total bytes of code 376, prolog size 24, PerfScore 1047.72, instruction count 94, allocated bytes for code 376 (MethodHash=aa90efcf) for method Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -186,7 +187,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 93 (0x0005d) Actual length = 372 (0x000174)
+  Function Length   : 94 (0x0005e) Actual length = 376 (0x000178)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+12 (+1.23%) : 27882.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (Tier1)
@@ -28,9 +28,9 @@
 ;* V17 tmp7         [V17    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V18 tmp8         [V18    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]>
 ;* V19 tmp9         [V19    ] (  0,  0   )  struct ( 8) zero-ref    <System.Nullable`1[ubyte]>
-;  V20 tmp10        [V20,T37] (  2,  0   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Net.Security.SafeFreeCredentials>
-;  V21 tmp11        [V21,T38] (  2,  0   )     ref  ->   x1         class-hnd "impAppendStmt" <System.Net.Security.SafeDeleteSslContext>
-;  V22 tmp12        [V22,T39] (  2,  0   )     ref  ->   x2         class-hnd exact "impAppendStmt" <System.Net.Security.SslAuthenticationOptions>
+;  V20 tmp10        [V20,T37] (  2,  0   )     ref  ->   x1         class-hnd "impAppendStmt" <System.Net.Security.SafeFreeCredentials>
+;  V21 tmp11        [V21,T38] (  2,  0   )     ref  ->   x2         class-hnd "impAppendStmt" <System.Net.Security.SafeDeleteSslContext>
+;  V22 tmp12        [V22,T39] (  2,  0   )     ref  ->   x5         class-hnd exact "impAppendStmt" <System.Net.Security.SslAuthenticationOptions>
 ;* V23 tmp13        [V23    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;* V24 tmp14        [V24    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
 ;* V25 tmp15        [V25    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
@@ -250,13 +250,13 @@ G_M15651_IG14:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, b
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M15651_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0 x21]
-            ldr     x21, [fp, #0x20]  // [V00 this]
-            ; gcrRegs +[x21]
-            ldp     x0, x1, [x21, #0x48]
-            ; gcrRegs +[x0-x1]
-            ldr     x2, [x21, #0x38]
-            ; gcrRegs +[x2]
-            ldr     x3, [x21, #0xB8]
+            ldr     x0, [fp, #0x20]  // [V00 this]
+            ; gcrRegs +[x0]
+            ldp     x1, x2, [x0, #0x48]
+            ; gcrRegs +[x1-x2]
+            ldr     x5, [x0, #0x38]
+            ; gcrRegs +[x5]
+            ldr     x3, [x0, #0xB8]
             ; gcrRegs +[x3]
             cbnz    x3, G_M15651_IG16
             mov     x3, xzr
@@ -265,21 +265,26 @@ G_M15651_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mov     w4, wzr
             b       G_M15651_IG17
                        ;; size=32 bbWeight=0 PerfScore 0.00
-G_M15651_IG16:        ; bbWeight=0, gcrefRegs=20000F {x0 x1 x2 x3 x21}, byrefRegs=0000 {}, byref
-            ; gcrRegs +[x3]
+G_M15651_IG16:        ; bbWeight=0, gcrefRegs=002E {x1 x2 x3 x5}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0] +[x3]
             ; byrRegs -[x3]
             add     x4, x3, #16
             ; byrRegs +[x4]
             ldr     w3, [x3, #0x08]
             ; gcrRegs -[x3]
-            sxtw    w5, w3
+            sxtw    w6, w3
             mov     x3, x4
             ; byrRegs +[x3]
-            mov     w4, w5
+            mov     w4, w6
             ; byrRegs -[x4]
                        ;; size=20 bbWeight=0 PerfScore 0.00
-G_M15651_IG17:        ; bbWeight=0, gcrefRegs=200007 {x0 x1 x2 x21}, byrefRegs=0008 {x3}, byref
+G_M15651_IG17:        ; bbWeight=0, gcrefRegs=0026 {x1 x2 x5}, byrefRegs=0008 {x3}, byref
+            mov     x0, x1
+            ; gcrRegs +[x0]
+            mov     x1, x2
+            mov     x2, x5
             movz    x5, #0xD1FFAB1E      // code for System.Net.Security.SslStreamPal:SelectApplicationProtocol(System.Net.Security.SafeFreeCredentials,System.Net.Security.SafeDeleteSslContext,System.Net.Security.SslAuthenticationOptions,System.ReadOnlySpan`1[ubyte]):System.Net.SecurityStatusPal
+            ; gcrRegs -[x5]
             movk    x5, #0xD1FFAB1E LSL #16
             movk    x5, #0xD1FFAB1E LSL #32
             ldr     x5, [x5]
@@ -289,9 +294,9 @@ G_M15651_IG17:        ; bbWeight=0, gcrefRegs=200007 {x0 x1 x2 x21}, byrefRegs=0
             ; gcr arg pop 0
             str     x0, [fp, #0x40]    // [V06 loc3+0x10]
             str     w1, [fp, #0x48]    // [V06 loc3+0x18]
-                        ;; size=28 bbWeight=0 PerfScore 0.00
+                      ;; size=40 bbWeight=0 PerfScore 0.00
 G_M15651_IG18:        ; bbWeight=4, gcrefRegs=0008 {x3}, byrefRegs=80000 {x19}, byref, isz
-            ; gcrRegs -[x0 x21] +[x3]
+            ; gcrRegs -[x0] +[x3]
             ; byrRegs +[x19]
             ldr     x0, [x3, #0x08]
             ; gcrRegs +[x0]
@@ -516,7 +521,7 @@ G_M15651_IG27:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=20 bbWeight=1 PerfScore 12.00
 
-; Total bytes of code 972, prolog size 56, PerfScore 967.50, instruction count 243, allocated bytes for code 972 (MethodHash=4b4ec2dc) for method System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (Tier1)
+; Total bytes of code 984, prolog size 56, PerfScore 967.50, instruction count 246, allocated bytes for code 984 (MethodHash=4b4ec2dc) for method System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -527,7 +532,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 191 (0x000bf) Actual length = 764 (0x0002fc)
+  Function Length   : 194 (0x000c2) Actual length = 776 (0x000308)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+16 (+2.07%) : 49320.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
@@ -10,307 +10,307 @@
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <BenchmarksGame.FannkuchRedux_2>
 ;  V01 arg1         [V01,T15] ( 13, 66   )     int  ->   x1         single-def
-;  V02 loc0         [V02,T10] ( 17, 96.05)     ref  ->   x0         class-hnd exact <int[]>
+;  V02 loc0         [V02,T10] ( 17, 96.05)     ref  ->   x2         class-hnd exact <int[]>
 ;  V03 loc1         [V03,T34] (  5,  3.05)     ref  ->   x7         class-hnd exact <int[]>
-;  V04 loc2         [V04,T25] (  6, 20.73)     ref  ->   x5         class-hnd exact <int[]>
-;  V05 loc3         [V05,T24] (  4, 21   )     int  ->   x4        
+;  V04 loc2         [V04,T25] (  6, 20.73)     ref  ->   x6         class-hnd exact <int[]>
+;  V05 loc3         [V05,T24] (  4, 21   )     int  ->   x5        
 ;  V06 loc4         [V06,T38] (  3,  2.50)     int  ->  x20        
 ;  V07 loc5         [V07,T35] (  3,  3   )     int  ->  x19        
-;  V08 loc6         [V08,T16] (  2, 64   )     int  ->   x2        
+;  V08 loc6         [V08,T16] (  2, 64   )     int  ->   x3        
 ;* V09 loc7         [V09    ] (  0,  0   )     int  ->  zero-ref   
-;  V10 loc8         [V10,T21] (  9, 38   )     int  ->   x3        
-;  V11 loc9         [V11,T31] (  6, 11.50)     int  ->   x6        
-;  V12 loc10        [V12,T27] ( 13, 18.58)     int  ->   x6        
-;  V13 loc11        [V13,T26] (  3, 20   )     int  ->  x11        
-;  V14 loc12        [V14,T11] (  6, 82   )     int  ->  x14        
-;  V15 loc13        [V15,T12] (  6, 82   )     int  ->   x3        
-;  V16 loc14        [V16,T22] (  2, 32   )     int  ->  x15        
-;  V17 loc15        [V17,T33] (  2,  8   )     int  ->   x4        
-;  V18 loc16        [V18,T14] (  6, 80   )     int  ->   x6        
-;  V19 loc17        [V19,T00] ( 23,376.88)     int  ->  x13        
-;  V20 loc18        [V20,T07] (  5,132   )     int  ->   x6        
-;  V21 loc19        [V21,T01] ( 16,289.27)     int  ->   x3        
+;  V10 loc8         [V10,T21] (  9, 38   )     int  ->   x4        
+;  V11 loc9         [V11,T31] (  6, 11.50)     int  ->   x0        
+;  V12 loc10        [V12,T27] ( 13, 18.58)     int  ->   x0        
+;  V13 loc11        [V13,T26] (  3, 20   )     int  ->   x8        
+;  V14 loc12        [V14,T11] (  6, 82   )     int  ->   x9        
+;  V15 loc13        [V15,T12] (  6, 82   )     int  ->   x4        
+;  V16 loc14        [V16,T22] (  2, 32   )     int  ->  x13        
+;  V17 loc15        [V17,T33] (  2,  8   )     int  ->   x5        
+;  V18 loc16        [V18,T14] (  6, 80   )     int  ->  x25        
+;  V19 loc17        [V19,T00] ( 23,376.88)     int  ->  x26        
+;  V20 loc18        [V20,T07] (  5,132   )     int  ->   x4        
+;  V21 loc19        [V21,T01] ( 16,289.27)     int  ->   x0        
 ;# V22 OutArgs      [V22    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V23 tmp1         [V23,T23] (  2, 32   )     int  ->   x4         "Strict ordering of exceptions for Array store"
-;  V24 tmp2         [V24,T02] (  6,256.00)     int  ->  x12         "Strict ordering of exceptions for Array store"
+;  V23 tmp1         [V23,T23] (  2, 32   )     int  ->   x5         "Strict ordering of exceptions for Array store"
+;  V24 tmp2         [V24,T02] (  6,256.00)     int  ->   x8         "Strict ordering of exceptions for Array store"
 ;  V25 tmp3         [V25,T32] (  4,  8   )     ref  ->   x0         class-hnd exact single-def "dup spill" <int[]>
-;  V26 tmp4         [V26,T29] (  2, 16   )     int  ->  x11         "Strict ordering of exceptions for Array store"
-;  V27 tmp5         [V27,T28] (  4, 16   )     int  ->  x14         "Strict ordering of exceptions for Array store"
-;  V28 tmp6         [V28,T17] (  2, 64   )     int  ->  x21         "Strict ordering of exceptions for Array store"
-;  V29 cse0         [V29,T05] (  3,158.40)    long  ->   x3         "CSE - aggressive"
-;  V30 cse1         [V30,T18] (  3, 48   )    long  ->  x12         "CSE - aggressive"
-;  V31 cse2         [V31,T19] (  3, 48   )    long  ->  xip0         "CSE - aggressive"
-;  V32 cse3         [V32,T30] (  3, 11.88)    long  ->  x11         "CSE - moderate"
-;  V33 cse4         [V33,T40] (  3,  0.12)    long  ->  x11         "CSE - conservative"
-;  V34 cse5         [V34,T06] ( 17,139.27)     int  ->  x11         multi-def "CSE - aggressive"
-;  V35 cse6         [V35,T04] ( 11,164.01)   byref  ->   x9         hoist "CSE - aggressive"
-;  V36 cse7         [V36,T03] (  4,250.91)     int  ->  x14         "CSE - aggressive"
-;  V37 cse8         [V37,T09] (  6,100.01)   byref  ->   x8         hoist "CSE - aggressive"
-;  V38 cse9         [V38,T13] (  9, 80.01)   byref  ->  x10         hoist "CSE - aggressive"
-;  V39 cse10        [V39,T20] (  8, 43.08)     int  ->  x13         hoist multi-def "CSE - aggressive"
-;  V40 cse11        [V40,T08] (  4,126.72)     int  ->  x13         "CSE - aggressive"
-;  V41 cse12        [V41,T36] (  4,  2.56)     int  ->  x14         "CSE - moderate"
-;  V42 cse13        [V42,T37] (  4,  2.53)     int  ->  x14         "CSE - moderate"
-;  V43 cse14        [V43,T39] (  4,  1.28)     int  ->  x13         "CSE - moderate"
+;  V26 tmp4         [V26,T29] (  2, 16   )     int  ->   x4         "Strict ordering of exceptions for Array store"
+;  V27 tmp5         [V27,T28] (  4, 16   )     int  ->   x9         "Strict ordering of exceptions for Array store"
+;  V28 tmp6         [V28,T17] (  2, 64   )     int  ->  x12         "Strict ordering of exceptions for Array store"
+;  V29 cse0         [V29,T05] (  3,158.40)    long  ->   x0         "CSE - aggressive"
+;  V30 cse1         [V30,T18] (  3, 48   )    long  ->  x11         "CSE - aggressive"
+;  V31 cse2         [V31,T19] (  3, 48   )    long  ->  x14         "CSE - aggressive"
+;  V32 cse3         [V32,T30] (  3, 11.88)    long  ->   x8         "CSE - moderate"
+;  V33 cse4         [V33,T40] (  3,  0.12)    long  ->   x8         "CSE - conservative"
+;  V34 cse5         [V34,T06] ( 17,139.27)     int  ->  x24         multi-def "CSE - aggressive"
+;  V35 cse6         [V35,T04] ( 11,164.01)   byref  ->  x22         hoist "CSE - aggressive"
+;  V36 cse7         [V36,T03] (  4,250.91)     int  ->   x4         "CSE - aggressive"
+;  V37 cse8         [V37,T09] (  6,100.01)   byref  ->  x21         hoist "CSE - aggressive"
+;  V38 cse9         [V38,T13] (  9, 80.01)   byref  ->  x23         hoist "CSE - aggressive"
+;  V39 cse10        [V39,T20] (  8, 43.08)     int  ->  registers   hoist multi-def "CSE - aggressive"
+;  V40 cse11        [V40,T08] (  4,126.72)     int  ->  x26         "CSE - aggressive"
+;  V41 cse12        [V41,T36] (  4,  2.56)     int  ->   x4         "CSE - moderate"
+;  V42 cse13        [V42,T37] (  4,  2.53)     int  ->   x4         "CSE - moderate"
+;  V43 cse14        [V43,T39] (  4,  1.28)     int  ->  x26         "CSE - moderate"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M61974_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x50]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
+            stp     x23, x24, [sp, #0x30]
+            stp     x25, x26, [sp, #0x40]
             mov     fp, sp
-            ldr     w1, [fp, #0xD4]
-            ldp     x7, x0, [fp, #0xC0]
-            ; gcrRegs +[x0 x7]
-            ldr     x5, [fp, #0xB8]
-            ; gcrRegs +[x5]
-            ldp     w20, w4, [fp, #0xB0]
-            ldp     w2, w19, [fp, #0xA8]
-            ldr     w3, [fp, #0xA0]
-            ldr     w6, [fp, #0x98]
-                       ;; size=44 bbWeight=0.01 PerfScore 0.18
-G_M61974_IG02:        ; bbWeight=0.01, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0000 {}, byref
-            add     x8, x5, #16
-            ; byrRegs +[x8]
-            add     x9, x0, #16
-            ; byrRegs +[x9]
-            add     x10, x7, #16
-            ; byrRegs +[x10]
-            b       G_M61974_IG23
+            ldr     w1, [fp, #0xF4]
+            ldp     x7, x2, [fp, #0xE0]
+            ; gcrRegs +[x2 x7]
+            ldr     x6, [fp, #0xD8]
+            ; gcrRegs +[x6]
+            ldp     w20, w5, [fp, #0xD0]
+            ldp     w3, w19, [fp, #0xC8]
+            ldr     w4, [fp, #0xC0]
+            ldr     w0, [fp, #0xB8]
+                       ;; size=52 bbWeight=0.01 PerfScore 0.20
+G_M61974_IG02:        ; bbWeight=0.01, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=0000 {}, byref
+            add     x21, x6, #16
+            ; byrRegs +[x21]
+            add     x22, x2, #16
+            ; byrRegs +[x22]
+            add     x23, x7, #16
+            ; byrRegs +[x23]
+            b       G_M61974_IG22
                       ;; size=16 bbWeight=0.01 PerfScore 0.03
-G_M61974_IG03:        ; bbWeight=2, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            ldr     w3, [x0, #0x10]
-            cbnz    w3, G_M61974_IG22
+G_M61974_IG03:        ; bbWeight=2, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            ldr     w4, [x2, #0x10]
+            cbnz    w4, G_M61974_IG21
                       ;; size=8 bbWeight=2 PerfScore 8.00
-G_M61974_IG04:        ; bbWeight=8, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            cmp     w4, #1
+G_M61974_IG04:        ; bbWeight=8, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            cmp     w5, #1
             bne     G_M61974_IG06
                        ;; size=8 bbWeight=8 PerfScore 12.00
-G_M61974_IG05:        ; bbWeight=4, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            ldr     w11, [x0, #0x08]
-            cmp     w11, #1
-            bls     G_M61974_IG37
-            ldp     w11, w4, [x0, #0x10]
-            stp     w4, w11, [x0, #0x10]
-            movn    w4, #0
+G_M61974_IG05:        ; bbWeight=4, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            ldr     w24, [x2, #0x08]
+            cmp     w24, #1
+            bls     G_M61974_IG36
+            ldp     w4, w5, [x2, #0x10]
+            stp     w5, w4, [x2, #0x10]
+            movn    w5, #0
             b       G_M61974_IG03
                        ;; size=28 bbWeight=4 PerfScore 40.00
-G_M61974_IG06:        ; bbWeight=8, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            ldr     w11, [x0, #0x08]
-            cmp     w11, #1
-            bls     G_M61974_IG37
-            ldr     w6, [x0, #0x14]
-            cmp     w11, #2
-            bls     G_M61974_IG37
-            ldr     w4, [x0, #0x18]
-            stp     w4, w6, [x0, #0x14]
-            mov     w4, #1
-            mov     w13, #2
+G_M61974_IG06:        ; bbWeight=8, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            ldr     w24, [x2, #0x08]
+            cmp     w24, #1
+            bls     G_M61974_IG36
+            ldr     w25, [x2, #0x14]
+            cmp     w24, #2
+            bls     G_M61974_IG36
+            ldr     w5, [x2, #0x18]
+            stp     w5, w25, [x2, #0x14]
+            mov     w5, #1
+            mov     w26, #2
             cmp     w1, #2
             ble     G_M61974_IG03
-            cbz     x5, G_M61974_IG15
+            cbz     x6, G_M61974_IG15
             tbnz    w1, #31, G_M61974_IG15
-            ldr     w6, [x5, #0x08]
-            cmp     w6, w1
+            ldr     w4, [x6, #0x08]
+            cmp     w4, w1
             blt     G_M61974_IG15
                        ;; size=68 bbWeight=8 PerfScore 176.00
-G_M61974_IG07:        ; bbWeight=63.36, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            ubfiz   x3, x13, #2, #32
-            ldr     w6, [x8, x3]
-            cbnz    w6, G_M61974_IG21
-            cmp     w13, w2
-            beq     G_M61974_IG35
+G_M61974_IG07:        ; bbWeight=63.36, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            ubfiz   x0, x26, #2, #32
+            ldr     w4, [x21, x0]
+            cbnz    w4, G_M61974_IG20
+            cmp     w26, w3
+            beq     G_M61974_IG34
                       ;; size=20 bbWeight=63.36 PerfScore 411.84
-G_M61974_IG08:        ; bbWeight=31.68, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            str     w13, [x8, x3]
-            ldr     w6, [x0, #0x10]
-            mov     w3, wzr
-            tbnz    w13, #31, G_M61974_IG13
+G_M61974_IG08:        ; bbWeight=31.68, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            str     w26, [x21, x0]
+            ldr     w25, [x2, #0x10]
+            mov     w0, wzr
+            tbnz    w26, #31, G_M61974_IG13
                         ;; size=16 bbWeight=31.68 PerfScore 174.24
-G_M61974_IG09:        ; bbWeight=7.92, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            cmp     w11, w13
+G_M61974_IG09:        ; bbWeight=7.92, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            cmp     w24, w26
             ble     G_M61974_IG12
                        ;; size=8 bbWeight=7.92 PerfScore 11.88
-G_M61974_IG10:        ; bbWeight=62.73, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            add     w14, w3, #1
-            cmp     w14, w11
-            bhs     G_M61974_IG37
-            ldr     w12, [x9, w14, UXTW #2]
-            str     w12, [x9, w3, UXTW #2]
-            sxtw    w3, w14
-            cmp     w3, w13
+G_M61974_IG10:        ; bbWeight=62.73, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            add     w4, w0, #1
+            cmp     w4, w24
+            bhs     G_M61974_IG36
+            ldr     w8, [x22, w4, UXTW #2]
+            str     w8, [x22, w0, UXTW #2]
+            sxtw    w0, w4
+            cmp     w0, w26
             ble     G_M61974_IG10
                        ;; size=32 bbWeight=62.73 PerfScore 501.81
-G_M61974_IG11:        ; bbWeight=7.92, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref
+G_M61974_IG11:        ; bbWeight=31.68, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref
             b       G_M61974_IG13
-                        ;; size=4 bbWeight=7.92 PerfScore 7.92
-G_M61974_IG12:        ; bbWeight=0.63, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            add     w14, w3, #1
-            cmp     w14, w11
...
  
  
coreclr_tests.run.linux.arm64.checked.mch
-16 (-7.02%) : 468977.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
@@ -11,10 +11,10 @@
 ;
 ;  V00 arg0         [V00,T04] (  9,500.49)     ref  ->   x0         class-hnd single-def <int[,]>
 ;* V01 arg1         [V01    ] (  0,  0   )   byref  ->  zero-ref    single-def
-;  V02 loc0         [V02,T17] (  6,100.52)     int  ->   x3        
+;  V02 loc0         [V02,T17] (  5,100.52)     int  ->   x3        
 ;  V03 loc1         [V03,T11] (  2,199.00)     int  ->  x10        
 ;  V04 loc2         [V04,T12] (  2,199.00)     int  ->  x11        
-;  V05 loc3         [V05,T20] (  8, 99.54)     int  ->   x4        
+;  V05 loc3         [V05,T20] (  5, 99.54)     int  ->   x4        
 ;  V06 loc4         [V06,T16] (  6,101.02)     int  ->   x2        
 ;  V07 loc5         [V07,T05] (  6,399.00)     int  ->   x1        
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -95,13 +95,12 @@ G_M57584_IG07:        ; bbWeight=99.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {},
 G_M57584_IG08:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w2, w2, #1
             cmp     w2, w3
-            bgt     G_M57584_IG11
-            b       G_M57584_IG04
-                       ;; size=16 bbWeight=0.50 PerfScore 1.50
+            ble     G_M57584_IG04
+                       ;; size=12 bbWeight=0.50 PerfScore 1.00
 G_M57584_IG09:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w4, w4, #1
             cmp     w4, w3
-            bgt     G_M57584_IG12
+            bgt     G_M57584_IG11
             b       G_M57584_IG03
                        ;; size=16 bbWeight=0.01 PerfScore 0.03
 G_M57584_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -109,20 +108,13 @@ G_M57584_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M57584_IG11:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x0]
-            add     w4, w4, #1
-            cmp     w4, w3
-            ble     G_M57584_IG03
-                       ;; size=12 bbWeight=0 PerfScore 0.00
-G_M57584_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ; gcrRegs -[x0]
+G_M57584_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x10
             add     sp, sp, #64
             ret     lr
                        ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 228, prolog size 24, PerfScore 3200.03, instruction count 57, allocated bytes for code 228 (MethodHash=862a1f0f) for method Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
+; Total bytes of code 212, prolog size 24, PerfScore 3199.53, instruction count 53, allocated bytes for code 212 (MethodHash=862a1f0f) for method Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -133,7 +125,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)
  
-16 (-6.90%) : 468973.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
@@ -11,10 +11,10 @@
 ;
 ;  V00 arg0         [V00,T03] (  9,500.49)     ref  ->   x0         class-hnd single-def <int[,]>
 ;* V01 arg1         [V01    ] (  0,  0   )   byref  ->  zero-ref    single-def
-;  V02 loc0         [V02,T17] (  6,100.52)     int  ->   x3        
+;  V02 loc0         [V02,T17] (  5,100.52)     int  ->   x3        
 ;  V03 loc1         [V03,T11] (  2,199.00)     int  ->   x8        
 ;  V04 loc2         [V04,T12] (  2,199.00)     int  ->  x13        
-;  V05 loc3         [V05,T20] (  8,  0.54)     int  ->   x4        
+;  V05 loc3         [V05,T20] (  5,  0.54)     int  ->   x4        
 ;  V06 loc4         [V06,T16] (  6,101.02)     int  ->   x2        
 ;  V07 loc5         [V07,T05] (  6,399.00)     int  ->   x1        
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -96,13 +96,12 @@ G_M3571_IG07:        ; bbWeight=99.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
 G_M3571_IG08:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w2, w2, #1
             cmp     w2, w3
-            bgt     G_M3571_IG11
-            b       G_M3571_IG04
-                       ;; size=16 bbWeight=0.50 PerfScore 1.51
+            ble     G_M3571_IG04
+                       ;; size=12 bbWeight=0.50 PerfScore 1.00
 G_M3571_IG09:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w4, w4, #1
             cmp     w4, w3
-            bgt     G_M3571_IG12
+            bgt     G_M3571_IG11
             b       G_M3571_IG03
                        ;; size=16 bbWeight=0.01 PerfScore 0.03
 G_M3571_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -110,20 +109,13 @@ G_M3571_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M3571_IG11:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x0]
-            add     w4, w4, #1
-            cmp     w4, w3
-            ble     G_M3571_IG03
-                       ;; size=12 bbWeight=0 PerfScore 0.00
-G_M3571_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ; gcrRegs -[x0]
+G_M3571_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x10
             add     sp, sp, #64
             ret     lr
                        ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 232, prolog size 24, PerfScore 3200.23, instruction count 58, allocated bytes for code 232 (MethodHash=50acf20c) for method Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
+; Total bytes of code 216, prolog size 24, PerfScore 3199.73, instruction count 54, allocated bytes for code 216 (MethodHash=50acf20c) for method Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -134,7 +126,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)
  
-20 (-6.17%) : 445165.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalListInOrder(System.Canon[]):this (Tier1)
@@ -10,13 +10,13 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T07] (  5,  4   )     ref  ->  x20         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T02] (  9,118.33)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T01] (  8,140.67)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
 ;  V02 loc0         [V02,T08] (  3,  2.33)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V03 loc1         [V03,T06] (  4,  8.67)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V04 loc2         [V04,T05] (  5, 16.33)     int  ->  x22        
-;  V05 loc3         [V05,T03] (  6,119.67)     ref  ->  x23         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T00] (  9,204.67)     int  ->  x24        
-;  V07 loc5         [V07,T01] (  5,134.00)     ref  ->   x0         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T02] (  6,142.00)     ref  ->  x23         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T00] (  6,227   )     int  ->  x24        
+;  V07 loc5         [V07,T03] (  5,134.00)     ref  ->   x0         class-hnd <System.__Canon>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T09] (  2,  0   )     int  ->   x0         "guarded devirt return temp"
 ;* V10 tmp2         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
@@ -40,7 +40,7 @@ G_M50755_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M50755_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x21, [x20, #0x08]
             ; gcrRegs +[x21]
-            cbnz    x21, G_M50755_IG07
+            cbnz    x21, G_M50755_IG05
                        ;; size=8 bbWeight=1 PerfScore 4.00
 G_M50755_IG03:        ; bbWeight=0.67, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
@@ -59,25 +59,14 @@ G_M50755_IG04:        ; bbWeight=0.67, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0.67 PerfScore 3.33
-G_M50755_IG05:        ; bbWeight=44.67, gcVars=0000000000000000 {}, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x19-x21 x23]
-            ldr     x1, [x23, #0x50]
-            ldr     x0, [x0, #0x50]
-            ; gcrRegs -[x0]
-            cmp     x1, x0
-            bne     G_M50755_IG13
-                       ;; size=16 bbWeight=44.67 PerfScore 335.00
-G_M50755_IG06:        ; bbWeight=357.33, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
-            b       G_M50755_IG14
-                       ;; size=4 bbWeight=357.33 PerfScore 357.33
-G_M50755_IG07:        ; bbWeight=0.33, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x23]
+G_M50755_IG05:        ; bbWeight=0.33, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x19-x21]
             mov     w22, wzr
             ldr     w1, [x21, #0x08]
             cmp     w1, #0
-            bgt     G_M50755_IG10
+            bgt     G_M50755_IG08
                        ;; size=16 bbWeight=0.33 PerfScore 1.67
-G_M50755_IG08:        ; bbWeight=0.33, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M50755_IG06:        ; bbWeight=0.33, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             add     x14, x20, #8
             ; byrRegs +[x14]
@@ -87,29 +76,29 @@ G_M50755_IG08:        ; bbWeight=0.33, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ; gcrRegs -[x15 x19-x20]
             ; byrRegs -[x14]
                        ;; size=12 bbWeight=0.33 PerfScore 0.67
-G_M50755_IG09:        ; bbWeight=0.33, epilog, nogc, extend
+G_M50755_IG07:        ; bbWeight=0.33, 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=0.33 PerfScore 1.67
-G_M50755_IG10:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M50755_IG08:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x19-x21]
             add     x1, x21, #16
             ; byrRegs +[x1]
             ldr     x23, [x1, w22, UXTW #3]
             ; gcrRegs +[x23]
-            cbz     x23, G_M50755_IG08
+            cbz     x23, G_M50755_IG06
                        ;; size=12 bbWeight=4 PerfScore 18.00
-G_M50755_IG11:        ; bbWeight=3.67, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG09:        ; bbWeight=3.67, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x1]
             mov     w24, wzr
             ldr     w1, [x19, #0x08]
             cmp     w1, #0
-            ble     G_M50755_IG15
+            ble     G_M50755_IG14
                        ;; size=16 bbWeight=3.67 PerfScore 18.33
-G_M50755_IG12:        ; bbWeight=44.67, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG10:        ; bbWeight=44.67, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     x1, x19, #16
             ; byrRegs +[x1]
             ldr     x0, [x1, w24, UXTW #3]
@@ -120,7 +109,7 @@ G_M50755_IG12:        ; bbWeight=44.67, gcrefRegs=B80000 {x19 x20 x21 x23}, byre
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            bne     G_M50755_IG17
+            bne     G_M50755_IG16
             mov     x1, x23
             ; gcrRegs +[x1]
             ldr     x1, [x1]
@@ -129,17 +118,25 @@ G_M50755_IG12:        ; bbWeight=44.67, gcrefRegs=B80000 {x19 x20 x21 x23}, byre
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            beq     G_M50755_IG05
-                       ;; size=60 bbWeight=44.67 PerfScore 714.67
-G_M50755_IG13:        ; bbWeight=44.67, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+            bne     G_M50755_IG11
+            ldr     x1, [x23, #0x50]
+            ldr     x0, [x0, #0x50]
             ; gcrRegs -[x0]
+            cmp     x1, x0
+            beq     G_M50755_IG13
+                       ;; size=76 bbWeight=44.67 PerfScore 1049.67
+G_M50755_IG11:        ; bbWeight=44.67, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
-            ldr     w0, [x19, #0x08]
-            cmp     w0, w24
-            ble     G_M50755_IG15
-            b       G_M50755_IG12
-                       ;; size=20 bbWeight=44.67 PerfScore 268.00
-G_M50755_IG14:        ; bbWeight=22.33, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            ldr     w1, [x19, #0x08]
+            cmp     w1, w24
+            bgt     G_M50755_IG10
+                       ;; size=16 bbWeight=44.67 PerfScore 223.33
+G_M50755_IG12:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x23]
+            b       G_M50755_IG14
+                       ;; size=4 bbWeight=4 PerfScore 4.00
+G_M50755_IG13:        ; bbWeight=44.67, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x23]
             sxtw    x1, w24
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -148,18 +145,18 @@ G_M50755_IG14:        ; bbWeight=22.33, gcrefRegs=B80000 {x19 x20 x21 x23}, byre
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2 x23]
             ; gcr arg pop 0
-                      ;; size=16 bbWeight=22.33 PerfScore 55.83
-G_M50755_IG15:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+                        ;; size=16 bbWeight=44.67 PerfScore 111.67
+G_M50755_IG14:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     w22, w22, #1
             ldr     w14, [x21, #0x08]
             cmp     w14, w22
-            bgt     G_M50755_IG10
+            bgt     G_M50755_IG08
                      ;; size=16 bbWeight=4 PerfScore 20.00
-G_M50755_IG16:        ; bbWeight=0.33, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M50755_IG15:        ; bbWeight=0.33, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
-            b       G_M50755_IG08
+            b       G_M50755_IG06
                        ;; size=4 bbWeight=0.33 PerfScore 0.33
-G_M50755_IG17:        ; bbWeight=0, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG16:        ; bbWeight=0, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0 x21 x23]
             mov     x1, x23
             ; gcrRegs +[x1]
@@ -169,15 +166,11 @@ G_M50755_IG17:        ; bbWeight=0, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byref
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M50755_IG14
-            add     w24, w24, #1
-            ldr     w0, [x19, #0x08]
-            cmp     w0, w24
-            bgt     G_M50755_IG12
-            b       G_M50755_IG15
-                       ;; size=44 bbWeight=0 PerfScore 0.00
+            cbnz    w0, G_M50755_IG13
+            b       G_M50755_IG11
+                       ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 324, prolog size 28, PerfScore 1805.67, instruction count 81, allocated bytes for code 324 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
+; Total bytes of code 304, prolog size 28, PerfScore 1463.50, instruction count 76, allocated bytes for code 304 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -188,7 +181,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 81 (0x00051) Actual length = 324 (0x000144)
+  Function Length   : 76 (0x0004c) Actual length = 304 (0x000130)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+28 (+16.67%) : 454266.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
@@ -14,120 +14,123 @@
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  4,  8   )     ref  ->   x3         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]>
-;  V05 tmp3         [V05,T06] (  5,  5.00)     ref  ->   x4         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T03] (  6,  6.00)     int  ->  x14         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->  x15         "Inline stloc first use temp"
+;  V05 tmp3         [V05,T06] (  5,  5.00)     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V06 tmp4         [V06,T03] (  6,  6.00)     int  ->   x5         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->   x6         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V09 tmp7         [V09,T11] (  3,  2.00)     int  ->   x7         "Inline stloc first use temp"
+;  V09 tmp7         [V09,T11] (  3,  2.00)     int  ->   x6         "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T04] (  3,  3.00)     ref  ->   x1         single-def "field V01.<Context>k__BackingField (fldOffset=0x0)" P-INDEP
 ;  V11 tmp9         [V11,T05] (  3,  3.00)     int  ->   x2         single-def "field V01.<Events>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V12 tmp10        [V12,T02] (  3,  6.00)   byref  ->   x3         single-def "BlockOp address local"
-;  V13 cse0         [V13,T07] (  4,  4.00)    long  ->   x6         "CSE - aggressive"
-;  V14 cse1         [V14,T09] (  3,  3.00)   byref  ->   x5         hoist "CSE - aggressive"
-;  V15 cse2         [V15,T12] (  2,  2   )     int  ->  x12         "CSE - aggressive"
-;  V16 cse3         [V16,T10] (  3,  3.00)     int  ->   x7         "CSE - aggressive"
+;  V12 tmp10        [V12,T02] (  3,  6.00)   byref  ->   x0         single-def "BlockOp address local"
+;  V13 cse0         [V13,T07] (  4,  4.00)    long  ->  x20         "CSE - aggressive"
+;  V14 cse1         [V14,T09] (  3,  3.00)   byref  ->   x4         hoist "CSE - aggressive"
+;  V15 cse2         [V15,T12] (  2,  2   )     int  ->   x7         "CSE - aggressive"
+;  V16 cse3         [V16,T10] (  3,  3.00)     int  ->  x21         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M38319_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-                       ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M38319_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0-x1]
-            add     x14, x0, #16
-            ; byrRegs +[x14]
-            ldapr   x3, [x14]
-            ; gcrRegs +[x3]
-            ldr     x4, [x3, #0x08]
-            ; gcrRegs +[x4]
-            add     x5, x3, #0xD1FFAB1E
-            ; byrRegs +[x5]
-                       ;; size=16 bbWeight=1 PerfScore 7.00
-G_M38319_IG03:        ; bbWeight=1, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0020 {x5}, byref, isz
-            ; byrRegs -[x14]
-            ldapr   w14, [x5]
-            ldr     w15, [x3, #0x18]
-            and     w15, w14, w15
-            ldr     w12, [x4, #0x08]
-            cmp     w15, w12
-            bhs     G_M38319_IG10
-            mov     w12, #24
-            mov     xip0, #16
-            umaddl  x6, w15, w12, xip0
-            add     x15, x4, x6
-            ; byrRegs +[x15]
-            ldapr   w15, [x15]
-            ; byrRegs -[x15]
-            sub     w7, w15, w14
-            cbnz    w7, G_M38319_IG07
-                       ;; size=52 bbWeight=1 PerfScore 22.00
-G_M38319_IG04:        ; bbWeight=1.00, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0020 {x5}, byref, isz
-            add     w7, w14, #1
-            mov     w15, w14
-            casal   w15, w7, [x5]
-            cmp     w15, w14
-            bne     G_M38319_IG03
-                       ;; size=20 bbWeight=1.00 PerfScore 5.50
-G_M38319_IG05:        ; bbWeight=1.00, gcrefRegs=0012 {x1 x4}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0 x3]
-            ; byrRegs -[x5]
-            add     x3, x4, x6
+            add     x3, x0, #16
             ; byrRegs +[x3]
-            add     x14, x3, #8
+            ldapr   x3, [x3]
+            ; gcrRegs +[x3]
+            ; byrRegs -[x3]
+            ldr     x19, [x3, #0x08]
+            ; gcrRegs +[x19]
+            add     x4, x3, #0xD1FFAB1E
+            ; byrRegs +[x4]
+                       ;; size=16 bbWeight=1 PerfScore 7.00
+G_M38319_IG03:        ; bbWeight=1, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            ldapr   w5, [x4]
+            ldr     w6, [x3, #0x18]
+            and     w6, w5, w6
+            ldr     w7, [x19, #0x08]
+            cmp     w6, w7
+            bhs     G_M38319_IG10
+            mov     w7, #24
+            mov     x8, #16
+            umaddl  x20, w6, w7, x8
+            add     x6, x19, x20
+            ; byrRegs +[x6]
+            ldapr   w6, [x6]
+            ; byrRegs -[x6]
+            sub     w6, w6, w5
+            cbnz    w6, G_M38319_IG05
+                       ;; size=52 bbWeight=1 PerfScore 22.00
+G_M38319_IG04:        ; bbWeight=1.00, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            add     w21, w5, #1
+            mov     w6, w5
+            casal   w6, w21, [x4]
+            cmp     w6, w5
+            bne     G_M38319_IG03
+            b       G_M38319_IG08
+                       ;; size=24 bbWeight=1.00 PerfScore 6.49
+G_M38319_IG05:        ; bbWeight=0.00, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            tbz     w6, #31, G_M38319_IG03
+                       ;; size=4 bbWeight=0.00 PerfScore 0.00
+G_M38319_IG06:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x3 x19]
+            ; byrRegs -[x4]
+            movz    x3, #0xD1FFAB1E      // code for <unknown method>
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     x3, [x3]
+                       ;; size=16 bbWeight=1 PerfScore 4.50
+G_M38319_IG07:        ; bbWeight=1, 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=1 PerfScore 5.00
+G_M38319_IG08:        ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0] +[x19]
+            add     x0, x19, x20
+            ; byrRegs +[x0]
+            add     x14, x0, #8
             ; byrRegs +[x14]
             mov     x15, x1
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             ; gcrRegs -[x1 x15]
             ; byrRegs -[x14]
-            str     w2, [x3, #0x10]
-            add     x4, x4, x6
-            ; gcrRegs -[x4]
-            ; byrRegs +[x4]
-            stlr    w7, [x4]
+            str     w2, [x0, #0x10]
+            add     x0, x19, x20
+            stlr    w21, [x0]
                       ;; size=28 bbWeight=1.00 PerfScore 5.00
-G_M38319_IG06:        ; bbWeight=1.00, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M38319_IG09:        ; bbWeight=1.00, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=8 bbWeight=1.00 PerfScore 2.00
-G_M38319_IG07:        ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0020 {x5}, gcvars, byref, isz
-            ; gcrRegs +[x0-x1 x3-x4]
-            ; byrRegs -[x3-x4] +[x5]
-            tbz     w7, #31, G_M38319_IG03
-                       ;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M38319_IG08:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x3-x4]
-            ; byrRegs -[x5]
-            movz    x3, #0xD1FFAB1E      // code for <unknown method>
-            movk    x3, #0xD1FFAB1E LSL #16
-            movk    x3, #0xD1FFAB1E LSL #32
-            ldr     x3, [x3]
-                       ;; size=16 bbWeight=1 PerfScore 4.50
-G_M38319_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            br      x3
-            ; gcr arg pop 0
-                       ;; size=8 bbWeight=1 PerfScore 2.00
+                       ;; size=16 bbWeight=1.00 PerfScore 5.00
 G_M38319_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0-x1]
+            ; gcrRegs -[x19]
+            ; byrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 168, prolog size 8, PerfScore 49.49, instruction count 42, allocated bytes for code 168 (MethodHash=f2866a50) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
+; Total bytes of code 196, prolog size 16, PerfScore 58.49, instruction count 49, allocated bytes for code 196 (MethodHash=f2866a50) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 42 (0x0002a) Actual length = 168 (0x0000a8)
+  Function Length   : 49 (0x00031) Actual length = 196 (0x0000c4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -138,7 +141,9 @@ 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 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
 
  
+28 (+16.67%) : 525980.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
@@ -14,120 +14,123 @@
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  4,  8   )     ref  ->   x3         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]>
-;  V05 tmp3         [V05,T04] (  5,  5.00)     ref  ->   x4         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T03] (  6,  6.00)     int  ->  x14         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->  x15         "Inline stloc first use temp"
+;  V05 tmp3         [V05,T04] (  5,  5.00)     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V06 tmp4         [V06,T03] (  6,  6.00)     int  ->   x5         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->   x6         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V09 tmp7         [V09,T11] (  3,  2.00)     int  ->   x7         "Inline stloc first use temp"
+;  V09 tmp7         [V09,T11] (  3,  2.00)     int  ->   x6         "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T05] (  3,  3.00)     ref  ->   x1         single-def "field V01.<Context>k__BackingField (fldOffset=0x0)" P-INDEP
 ;  V11 tmp9         [V11,T06] (  3,  3.00)     int  ->   x2         single-def "field V01.<Events>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V12 tmp10        [V12,T02] (  3,  6.00)   byref  ->   x3         single-def "BlockOp address local"
-;  V13 cse0         [V13,T07] (  4,  4.00)    long  ->   x6         "CSE - aggressive"
-;  V14 cse1         [V14,T09] (  3,  3.00)   byref  ->   x5         hoist "CSE - aggressive"
-;  V15 cse2         [V15,T13] (  2,  2   )     int  ->  x12         "CSE - aggressive"
-;  V16 cse3         [V16,T10] (  3,  3.00)     int  ->   x7         "CSE - aggressive"
+;  V12 tmp10        [V12,T02] (  3,  6.00)   byref  ->   x0         single-def "BlockOp address local"
+;  V13 cse0         [V13,T07] (  4,  4.00)    long  ->  x20         "CSE - aggressive"
+;  V14 cse1         [V14,T09] (  3,  3.00)   byref  ->   x4         hoist "CSE - aggressive"
+;  V15 cse2         [V15,T13] (  2,  2   )     int  ->   x7         "CSE - aggressive"
+;  V16 cse3         [V16,T10] (  3,  3.00)     int  ->  x21         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M38319_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-                       ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M38319_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0-x1]
-            add     x14, x0, #16
-            ; byrRegs +[x14]
-            ldapr   x3, [x14]
-            ; gcrRegs +[x3]
-            ldr     x4, [x3, #0x08]
-            ; gcrRegs +[x4]
-            add     x5, x3, #0xD1FFAB1E
-            ; byrRegs +[x5]
-                       ;; size=16 bbWeight=1 PerfScore 7.00
-G_M38319_IG03:        ; bbWeight=1, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0020 {x5}, byref, isz
-            ; byrRegs -[x14]
-            ldapr   w14, [x5]
-            ldr     w15, [x3, #0x18]
-            and     w15, w14, w15
-            ldr     w12, [x4, #0x08]
-            cmp     w15, w12
-            bhs     G_M38319_IG10
-            mov     w12, #24
-            mov     xip0, #16
-            umaddl  x6, w15, w12, xip0
-            add     x15, x4, x6
-            ; byrRegs +[x15]
-            ldapr   w15, [x15]
-            ; byrRegs -[x15]
-            sub     w7, w15, w14
-            cbnz    w7, G_M38319_IG07
-                       ;; size=52 bbWeight=1 PerfScore 22.00
-G_M38319_IG04:        ; bbWeight=1.00, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0020 {x5}, byref, isz
-            add     w7, w14, #1
-            mov     w15, w14
-            casal   w15, w7, [x5]
-            cmp     w15, w14
-            bne     G_M38319_IG03
-                       ;; size=20 bbWeight=1.00 PerfScore 5.50
-G_M38319_IG05:        ; bbWeight=1.00, gcrefRegs=0012 {x1 x4}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0 x3]
-            ; byrRegs -[x5]
-            add     x3, x4, x6
+            add     x3, x0, #16
             ; byrRegs +[x3]
-            add     x14, x3, #8
+            ldapr   x3, [x3]
+            ; gcrRegs +[x3]
+            ; byrRegs -[x3]
+            ldr     x19, [x3, #0x08]
+            ; gcrRegs +[x19]
+            add     x4, x3, #0xD1FFAB1E
+            ; byrRegs +[x4]
+                       ;; size=16 bbWeight=1 PerfScore 7.00
+G_M38319_IG03:        ; bbWeight=1, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            ldapr   w5, [x4]
+            ldr     w6, [x3, #0x18]
+            and     w6, w5, w6
+            ldr     w7, [x19, #0x08]
+            cmp     w6, w7
+            bhs     G_M38319_IG10
+            mov     w7, #24
+            mov     x8, #16
+            umaddl  x20, w6, w7, x8
+            add     x6, x19, x20
+            ; byrRegs +[x6]
+            ldapr   w6, [x6]
+            ; byrRegs -[x6]
+            sub     w6, w6, w5
+            cbnz    w6, G_M38319_IG05
+                       ;; size=52 bbWeight=1 PerfScore 22.00
+G_M38319_IG04:        ; bbWeight=1.00, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            add     w21, w5, #1
+            mov     w6, w5
+            casal   w6, w21, [x4]
+            cmp     w6, w5
+            bne     G_M38319_IG03
+            b       G_M38319_IG08
+                       ;; size=24 bbWeight=1.00 PerfScore 6.50
+G_M38319_IG05:        ; bbWeight=0.00, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            tbz     w6, #31, G_M38319_IG03
+                       ;; size=4 bbWeight=0.00 PerfScore 0.00
+G_M38319_IG06:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x3 x19]
+            ; byrRegs -[x4]
+            movz    x3, #0xD1FFAB1E      // code for <unknown method>
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     x3, [x3]
+                       ;; size=16 bbWeight=1 PerfScore 4.50
+G_M38319_IG07:        ; bbWeight=1, 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=1 PerfScore 5.00
+G_M38319_IG08:        ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0] +[x19]
+            add     x0, x19, x20
+            ; byrRegs +[x0]
+            add     x14, x0, #8
             ; byrRegs +[x14]
             mov     x15, x1
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             ; gcrRegs -[x1 x15]
             ; byrRegs -[x14]
-            str     w2, [x3, #0x10]
-            add     x4, x4, x6
-            ; gcrRegs -[x4]
-            ; byrRegs +[x4]
-            stlr    w7, [x4]
+            str     w2, [x0, #0x10]
+            add     x0, x19, x20
+            stlr    w21, [x0]
                       ;; size=28 bbWeight=1.00 PerfScore 5.00
-G_M38319_IG06:        ; bbWeight=1.00, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M38319_IG09:        ; bbWeight=1.00, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=8 bbWeight=1.00 PerfScore 2.00
-G_M38319_IG07:        ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0020 {x5}, gcvars, byref, isz
-            ; gcrRegs +[x0-x1 x3-x4]
-            ; byrRegs -[x3-x4] +[x5]
-            tbz     w7, #31, G_M38319_IG03
-                       ;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M38319_IG08:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x3-x4]
-            ; byrRegs -[x5]
-            movz    x3, #0xD1FFAB1E      // code for <unknown method>
-            movk    x3, #0xD1FFAB1E LSL #16
-            movk    x3, #0xD1FFAB1E LSL #32
-            ldr     x3, [x3]
-                       ;; size=16 bbWeight=1 PerfScore 4.50
-G_M38319_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            br      x3
-            ; gcr arg pop 0
-                       ;; size=8 bbWeight=1 PerfScore 2.00
+                       ;; size=16 bbWeight=1.00 PerfScore 5.00
 G_M38319_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0-x1]
+            ; gcrRegs -[x19]
+            ; byrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 168, prolog size 8, PerfScore 49.50, instruction count 42, allocated bytes for code 168 (MethodHash=f2866a50) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
+; Total bytes of code 196, prolog size 16, PerfScore 58.50, instruction count 49, allocated bytes for code 196 (MethodHash=f2866a50) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 42 (0x0002a) Actual length = 168 (0x0000a8)
+  Function Length   : 49 (0x00031) Actual length = 196 (0x0000c4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -138,7 +141,9 @@ 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 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
 
  
+28 (+16.67%) : 585736.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
@@ -14,120 +14,123 @@
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  4,  8   )     ref  ->   x3         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]>
-;  V05 tmp3         [V05,T06] (  5,  4.99)     ref  ->   x4         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T02] (  6,  5.98)     int  ->  x14         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->  x15         "Inline stloc first use temp"
+;  V05 tmp3         [V05,T06] (  5,  4.99)     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V06 tmp4         [V06,T02] (  6,  5.98)     int  ->   x5         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->   x6         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V09 tmp7         [V09,T11] (  3,  2.01)     int  ->   x7         "Inline stloc first use temp"
+;  V09 tmp7         [V09,T11] (  3,  2.01)     int  ->   x6         "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T04] (  3,  3.00)     ref  ->   x1         single-def "field V01.<Context>k__BackingField (fldOffset=0x0)" P-INDEP
 ;  V11 tmp9         [V11,T05] (  3,  3.00)     int  ->   x2         single-def "field V01.<Events>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V12 tmp10        [V12,T03] (  3,  5.98)   byref  ->   x3         single-def "BlockOp address local"
-;  V13 cse0         [V13,T07] (  4,  3.99)    long  ->   x6         "CSE - aggressive"
-;  V14 cse1         [V14,T09] (  3,  2.99)   byref  ->   x5         hoist "CSE - aggressive"
-;  V15 cse2         [V15,T12] (  2,  2   )     int  ->  x12         "CSE - aggressive"
-;  V16 cse3         [V16,T10] (  3,  2.98)     int  ->   x7         "CSE - aggressive"
+;  V12 tmp10        [V12,T03] (  3,  5.98)   byref  ->   x0         single-def "BlockOp address local"
+;  V13 cse0         [V13,T07] (  4,  3.99)    long  ->  x20         "CSE - aggressive"
+;  V14 cse1         [V14,T09] (  3,  2.99)   byref  ->   x4         hoist "CSE - aggressive"
+;  V15 cse2         [V15,T12] (  2,  2   )     int  ->   x7         "CSE - aggressive"
+;  V16 cse3         [V16,T10] (  3,  2.98)     int  ->  x21         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M38319_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-                       ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M38319_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0-x1]
-            add     x14, x0, #16
-            ; byrRegs +[x14]
-            ldapr   x3, [x14]
-            ; gcrRegs +[x3]
-            ldr     x4, [x3, #0x08]
-            ; gcrRegs +[x4]
-            add     x5, x3, #0xD1FFAB1E
-            ; byrRegs +[x5]
-                       ;; size=16 bbWeight=1 PerfScore 7.00
-G_M38319_IG03:        ; bbWeight=1, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0020 {x5}, byref, isz
-            ; byrRegs -[x14]
-            ldapr   w14, [x5]
-            ldr     w15, [x3, #0x18]
-            and     w15, w14, w15
-            ldr     w12, [x4, #0x08]
-            cmp     w15, w12
-            bhs     G_M38319_IG10
-            mov     w12, #24
-            mov     xip0, #16
-            umaddl  x6, w15, w12, xip0
-            add     x15, x4, x6
-            ; byrRegs +[x15]
-            ldapr   w15, [x15]
-            ; byrRegs -[x15]
-            sub     w7, w15, w14
-            cbnz    w7, G_M38319_IG07
-                       ;; size=52 bbWeight=1 PerfScore 22.00
-G_M38319_IG04:        ; bbWeight=0.99, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0020 {x5}, byref, isz
-            add     w7, w14, #1
-            mov     w15, w14
-            casal   w15, w7, [x5]
-            cmp     w15, w14
-            bne     G_M38319_IG03
-                       ;; size=20 bbWeight=0.99 PerfScore 5.47
-G_M38319_IG05:        ; bbWeight=1.00, gcrefRegs=0012 {x1 x4}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0 x3]
-            ; byrRegs -[x5]
-            add     x3, x4, x6
+            add     x3, x0, #16
             ; byrRegs +[x3]
-            add     x14, x3, #8
+            ldapr   x3, [x3]
+            ; gcrRegs +[x3]
+            ; byrRegs -[x3]
+            ldr     x19, [x3, #0x08]
+            ; gcrRegs +[x19]
+            add     x4, x3, #0xD1FFAB1E
+            ; byrRegs +[x4]
+                       ;; size=16 bbWeight=1 PerfScore 7.00
+G_M38319_IG03:        ; bbWeight=1, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            ldapr   w5, [x4]
+            ldr     w6, [x3, #0x18]
+            and     w6, w5, w6
+            ldr     w7, [x19, #0x08]
+            cmp     w6, w7
+            bhs     G_M38319_IG10
+            mov     w7, #24
+            mov     x8, #16
+            umaddl  x20, w6, w7, x8
+            add     x6, x19, x20
+            ; byrRegs +[x6]
+            ldapr   w6, [x6]
+            ; byrRegs -[x6]
+            sub     w6, w6, w5
+            cbnz    w6, G_M38319_IG05
+                       ;; size=52 bbWeight=1 PerfScore 22.00
+G_M38319_IG04:        ; bbWeight=0.99, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            add     w21, w5, #1
+            mov     w6, w5
+            casal   w6, w21, [x4]
+            cmp     w6, w5
+            bne     G_M38319_IG03
+            b       G_M38319_IG08
+                       ;; size=24 bbWeight=0.99 PerfScore 6.46
+G_M38319_IG05:        ; bbWeight=0.01, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            tbz     w6, #31, G_M38319_IG03
+                       ;; size=4 bbWeight=0.01 PerfScore 0.01
+G_M38319_IG06:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x3 x19]
+            ; byrRegs -[x4]
+            movz    x3, #0xD1FFAB1E      // code for <unknown method>
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     x3, [x3]
+                       ;; size=16 bbWeight=1 PerfScore 4.50
+G_M38319_IG07:        ; bbWeight=1, 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=1 PerfScore 5.00
+G_M38319_IG08:        ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0] +[x19]
+            add     x0, x19, x20
+            ; byrRegs +[x0]
+            add     x14, x0, #8
             ; byrRegs +[x14]
             mov     x15, x1
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             ; gcrRegs -[x1 x15]
             ; byrRegs -[x14]
-            str     w2, [x3, #0x10]
-            add     x4, x4, x6
-            ; gcrRegs -[x4]
-            ; byrRegs +[x4]
-            stlr    w7, [x4]
+            str     w2, [x0, #0x10]
+            add     x0, x19, x20
+            stlr    w21, [x0]
                       ;; size=28 bbWeight=1.00 PerfScore 4.98
-G_M38319_IG06:        ; bbWeight=1.00, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M38319_IG09:        ; bbWeight=1.00, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=8 bbWeight=1.00 PerfScore 1.99
-G_M38319_IG07:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0020 {x5}, gcvars, byref, isz
-            ; gcrRegs +[x0-x1 x3-x4]
-            ; byrRegs -[x3-x4] +[x5]
-            tbz     w7, #31, G_M38319_IG03
-                       ;; size=4 bbWeight=0.01 PerfScore 0.01
-G_M38319_IG08:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x3-x4]
-            ; byrRegs -[x5]
-            movz    x3, #0xD1FFAB1E      // code for <unknown method>
-            movk    x3, #0xD1FFAB1E LSL #16
-            movk    x3, #0xD1FFAB1E LSL #32
-            ldr     x3, [x3]
-                       ;; size=16 bbWeight=1 PerfScore 4.50
-G_M38319_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            br      x3
-            ; gcr arg pop 0
-                       ;; size=8 bbWeight=1 PerfScore 2.00
+                       ;; size=16 bbWeight=1.00 PerfScore 4.98
 G_M38319_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0-x1]
+            ; gcrRegs -[x19]
+            ; byrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 168, prolog size 8, PerfScore 49.44, instruction count 42, allocated bytes for code 168 (MethodHash=f2866a50) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
+; Total bytes of code 196, prolog size 16, PerfScore 58.43, instruction count 49, allocated bytes for code 196 (MethodHash=f2866a50) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 42 (0x0002a) Actual length = 168 (0x0000a8)
+  Function Length   : 49 (0x00031) Actual length = 196 (0x0000c4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -138,7 +141,9 @@ 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 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
 
  
  
libraries.crossgen2.linux.arm64.checked.mch
-4 (-0.19%) : 569.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
@@ -17,11 +17,11 @@
 ;  V05 loc0         [V05,T01] ( 39, 73.12)     int  ->  x24        
 ;  V06 loc1         [V06,T03] (  6, 67.36)     int  ->  [fp+0x6C] 
 ;  V07 loc2         [V07,T46] (  6,  4.08)     ref  ->  x23         class-hnd exact single-def <System.Type[]>
-;  V08 loc3         [V08,T41] (  7,  7.54)     ref  ->  x21         class-hnd single-def <System.Reflection.MethodBase[]>
+;  V08 loc3         [V08,T41] (  7,  7.54)     ref  ->  x22         class-hnd single-def <System.Reflection.MethodBase[]>
 ;  V09 loc4         [V09,T32] ( 10, 12   )     int  ->  registers  
-;  V10 loc5         [V10,T33] (  9, 11.50)     int  ->  x20        
-;  V11 loc6         [V11,T44] (  6,  5   )   ubyte  ->  x26        
-;  V12 loc7         [V12,T36] (  9,  9.58)     ref  ->  x27         class-hnd exact single-def <int[]>
+;  V10 loc5         [V10,T33] (  9, 11.50)     int  ->  x27        
+;  V11 loc6         [V11,T44] (  6,  5   )   ubyte  ->  x20        
+;  V12 loc7         [V12,T36] (  9,  9.58)     ref  ->  x26         class-hnd exact single-def <int[]>
 ;  V13 loc8         [V13,T48] (  3,  1   )     ref  ->   x0         class-hnd single-def <System.Reflection.MethodBase>
 ;  V14 loc9         [V14,T23] (  3, 23.84)     ref  ->  x27         class-hnd <System.Reflection.ParameterInfo[]>
 ;  V15 loc10        [V15,T07] (  5, 47.52)     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Type>
@@ -35,7 +35,7 @@
 ;  V23 tmp4         [V23,T52] (  3,  0   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V24 tmp5         [V24,T54] (  2,  0   )     ref  ->  x19         class-hnd single-def "finalizable newobj spill" <<unknown class>>
 ;* V25 tmp6         [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "non-inline candidate call" <System.Type>
-;  V26 tmp7         [V26,T29] (  4, 16   )     int  ->  x22         "impSpillLclRefs"
+;  V26 tmp7         [V26,T29] (  4, 16   )     int  ->  x21         "impSpillLclRefs"
 ;  V27 tmp8         [V27,T39] (  2,  8   )     ref  ->  x15         class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.MethodBase>
 ;* V28 tmp9         [V28,T47] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V29 tmp10        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
@@ -67,10 +67,10 @@
 ;* V55 cse4         [V55,T49] (  0,  0   )    long  ->  zero-ref    "CSE - conservative"
 ;  V56 cse5         [V56,T50] (  5,  0.18)    long  ->  x28         "CSE - conservative"
 ;  V57 cse6         [V57,T11] ( 15, 35.92)     int  ->  x25         multi-def "CSE - aggressive"
-;  V58 cse7         [V58,T19] ( 13, 29.46)   byref  ->  x28         hoist multi-def "CSE - moderate"
+;  V58 cse7         [V58,T19] ( 13, 29.46)   byref  ->  x23         hoist multi-def "CSE - moderate"
 ;  V59 cse8         [V59,T06] ( 11, 50.64)   byref  ->  [fp+0x18]  hoist multi-def "CSE - aggressive"
 ;  V60 cse9         [V60,T09] (  3, 47.52)   byref  ->  [fp+0x10]  spill-single-def multi-def "CSE - aggressive"
-;  V61 cse10        [V61,T31] ( 10, 13.54)     int  ->  x23         "CSE - moderate"
+;  V61 cse10        [V61,T31] ( 10, 13.54)     int  ->  x28         "CSE - moderate"
 ;  V62 cse11        [V62,T37] (  6,  8   )     int  ->  x22         "CSE - moderate"
 ;  V63 cse12        [V63,T45] (  4,  4.54)   byref  ->   x0         hoist multi-def "CSE - conservative"
 ;  V64 cse13        [V64,T43] (  4,  5.04)   byref  ->  x25         hoist multi-def "CSE - moderate"
@@ -301,20 +301,20 @@ G_M46704_IG12:        ; bbWeight=1, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=00
             blr     x1
             ; gcrRegs -[x21 x23]
             ; gcr arg pop 0
-            mov     x21, x0
-            ; gcrRegs +[x21]
-            mov     w22, wzr
+            mov     x22, x0
+            ; gcrRegs +[x22]
+            mov     w21, wzr
             mov     w24, wzr
-            ldr     w23, [x21, #0x08]
-            cmp     w23, #0
+            ldr     w28, [x22, #0x08]
+            cmp     w28, #0
             ble     G_M46704_IG28
                        ;; size=60 bbWeight=1 PerfScore 17.00
-G_M46704_IG13:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG13:        ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
-            add     x28, x21, #16
-            ; byrRegs +[x28]
+            add     x23, x22, #16
+            ; byrRegs +[x23]
             ubfiz   x26, x24, #3, #32
-            ldr     x0, [x28, x26]
+            ldr     x0, [x23, x26]
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
@@ -329,12 +329,12 @@ G_M46704_IG13:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
             cmp     w0, w25
             bne     G_M46704_IG27
                        ;; size=48 bbWeight=4 PerfScore 70.00
-G_M46704_IG14:        ; bbWeight=2, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG14:        ; bbWeight=2, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
             mov     w1, wzr
             cmp     w25, #0
             ble     G_M46704_IG17
                        ;; size=12 bbWeight=2 PerfScore 4.00
-G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
             add     x2, x27, #16
             ; byrRegs +[x2]
             str     x2, [fp, #0x10]    // [V60 cse9]
@@ -386,7 +386,7 @@ G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=8380000 {x19 x20 x21 x27}, byr
             ; gcr arg pop 0
             cbz     w0, G_M46704_IG18
                        ;; size=120 bbWeight=15.84 PerfScore 657.36
-G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref
+G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref
             ldr     x0, [fp, #0x28]  // [V36 tmp17]
             ; gcrRegs +[x0]
             ldr     x11, [fp, #0x48]   // [V66 cse15]
@@ -407,13 +407,13 @@ G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byre
             ; gcr arg pop 0
             b       G_M46704_IG19
                        ;; size=48 bbWeight=7.92 PerfScore 154.44
-G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, gcvars, byref
+G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, gcvars, byref
             ; gcrRegs -[x27]
             ; GC ptr vars -{V15 V59}
             str     w1, [fp, #0x6C]    // [V06 loc1]
             b       G_M46704_IG26
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M46704_IG18:        ; bbWeight=7.92, gcVars=00000000000000E1 {V15 V35 V36 V59}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+G_M46704_IG18:        ; bbWeight=7.92, gcVars=00000000000000E1 {V15 V35 V36 V59}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs +[x27]
             ; GC ptr vars +{V00 V05 V06 V07 V15 V35 V36 V59}
             ldr     x0, [fp, #0x28]    // [V36 tmp17]
@@ -430,12 +430,12 @@ G_M46704_IG18:        ; bbWeight=7.92, gcVars=00000000000000E1 {V15 V35 V36 V59}
             beq     G_M46704_IG24
             b       G_M46704_IG20
                        ;; size=36 bbWeight=7.92 PerfScore 122.76
-G_M46704_IG19:        ; bbWeight=7.92, gcVars=00000000000000C0 {V15 V59}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+G_M46704_IG19:        ; bbWeight=7.92, gcVars=00000000000000C0 {V15 V59}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs -[x0-x1]
             ; GC ptr vars -{V35}
             cbnz    w0, G_M46704_IG24
                        ;; size=4 bbWeight=7.92 PerfScore 7.92
-G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // const ptr
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x1]
@@ -474,7 +474,7 @@ G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byre
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
             cbz     w0, G_M46704_IG21
-            ldr     x0, [x28, x26]
+            ldr     x0, [x23, x26]
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
@@ -503,7 +503,7 @@ G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byre
             ; GC ptr vars +{V16}
             cbz     x1, G_M46704_IG26
                        ;; size=172 bbWeight=7.92 PerfScore 463.32
-G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000090 {V15 V16}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000090 {V15 V16}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs -[x0-x1]
             ldr     x0, [fp, #0x40]    // [V15 loc10]
             ; gcrRegs +[x0]
@@ -583,11 +583,11 @@ G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000090 {V15 V16}, gcrefR
             ; gcr arg pop 0
             cbnz    w0, G_M46704_IG24
                        ;; size=216 bbWeight=7.92 PerfScore 621.72
-G_M46704_IG22:        ; bbWeight=8, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, byref
+G_M46704_IG22:        ; bbWeight=2, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, byref
             ; gcrRegs -[x27]
             b       G_M46704_IG26
-                        ;; size=4 bbWeight=8 PerfScore 8.00
-G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000090 {V15 V16}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+                      ;; size=4 bbWeight=2 PerfScore 2.00
+G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000090 {V15 V16}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs +[x27]
             ; GC ptr vars +{V07 V15 V16}
             ldp     x1, x0, [fp, #0x38]    // [V16 loc11], [V15 loc10]
@@ -601,48 +601,47 @@ G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000090 {V15 V16}, gcrefR
             ; gcr arg pop 0
             cbz     w0, G_M46704_IG26
                        ;; size=24 bbWeight=7.92 PerfScore 71.28
-G_M46704_IG24:        ; bbWeight=15.84, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
-            ldr     w14, [fp, #0x6C]   // [V06 loc1]
-            add     w14, w14, #1
-            cmp     w25, w14
-            mov     w1, w14
+G_M46704_IG24:        ; bbWeight=15.84, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
+            ldr     w1, [fp, #0x6C]    // [V06 loc1]
+            add     w1, w1, #1
+            cmp     w25, w1
             bgt     G_M46704_IG15
-                     ;; size=20 bbWeight=15.84 PerfScore 71.28
-G_M46704_IG25:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, byref
+                      ;; size=16 bbWeight=15.84 PerfScore 63.36
+G_M46704_IG25:        ; bbWeight=2, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, byref
             ; gcrRegs -[x27]
             str     w1, [fp, #0x6C]    // [V06 loc1]
                        ;; size=4 bbWeight=2 PerfScore 2.00
-G_M46704_IG26:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG26:        ; bbWeight=2, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, byref, isz
             ldr     w1, [fp, #0x6C]    // [V06 loc1]
             cmp     w25, w1
             bne     G_M46704_IG27
-            add     w14, w22, #1
+            add     w14, w21, #1
             sxtw    w27, w14
-            ldr     x15, [x28, x26]
+            ldr     x15, [x23, x26]
             ; gcrRegs +[x15]
-            cmp     w22, w23
+            cmp     w21, w28
             bhs     G_M46704_IG49
-            add     x14, x28, x22,  LSL #3
+            add     x14, x23, x21,  LSL #3
             ; byrRegs +[x14]
             adrp    x12, [HIGH RELOC #0xD1FFAB1E]      // CORINFO_HELP_CHECKED_ASSIGN_REF
             add     x12, x12, [LOW RELOC #0xD1FFAB1E]
             ldr     x12, [x12]
             blr     x12
             ; gcrRegs -[x15]
-            ; byrRegs -[x14 x28]
-            mov     w22, w27
+            ; byrRegs -[x14 x23]
+            mov     w21, w27
                        ;; size=56 bbWeight=2 PerfScore 31.00
-G_M46704_IG27:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG27:        ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
-            cmp     w23, w24
+            cmp     w28, w24
             bgt     G_M46704_IG13
                        ;; size=12 bbWeight=4 PerfScore 8.00
-G_M46704_IG28:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG28:        ; bbWeight=1, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x20]
-            cbnz    w22, G_M46704_IG31
+            cbnz    w21, G_M46704_IG31
                       ;; size=4 bbWeight=1 PerfScore 1.00
 G_M46704_IG29:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x19 x21]
+            ; gcrRegs -[x19 x22]
             mov     x0, xzr
             ; gcrRegs +[x0]
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
@@ -655,13 +654,13 @@ G_M46704_IG30:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0xC0
             ret     lr
                        ;; size=28 bbWeight=0.50 PerfScore 3.50
-G_M46704_IG31:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs -[x0] +[x19 x21]
-            cmp     w22, #1
+G_M46704_IG31:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs -[x0] +[x19 x22]
+            cmp     w21, #1
             bne     G_M46704_IG33
-            cmp     w23, #0
+            cmp     w28, #0
             bls     G_M46704_IG49
-            ldr     x0, [x21, #0x10]
+            ldr     x0, [x22, #0x10]
             ; gcrRegs +[x0]
                        ;; size=20 bbWeight=0.50 PerfScore 3.00
 G_M46704_IG32:        ; bbWeight=0.50, epilog, nogc, extend
@@ -673,10 +672,10 @@ G_M46704_IG32:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0xC0
             ret     lr
                        ;; size=28 bbWeight=0.50 PerfScore 3.50
-G_M46704_IG33:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG33:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
+            mov     w27, wzr
...
  
-4 (-0.19%) : 273.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
@@ -17,11 +17,11 @@
 ;  V05 loc0         [V05,T01] ( 39, 73.12)     int  ->  x24        
 ;  V06 loc1         [V06,T03] (  6, 67.36)     int  ->  [fp+0x6C] 
 ;  V07 loc2         [V07,T46] (  6,  4.08)     ref  ->  x23         class-hnd exact single-def <System.Type[]>
-;  V08 loc3         [V08,T41] (  7,  7.54)     ref  ->  x21         class-hnd single-def <System.Reflection.MethodBase[]>
+;  V08 loc3         [V08,T41] (  7,  7.54)     ref  ->  x22         class-hnd single-def <System.Reflection.MethodBase[]>
 ;  V09 loc4         [V09,T32] ( 10, 12   )     int  ->  registers  
-;  V10 loc5         [V10,T33] (  9, 11.50)     int  ->  x20        
-;  V11 loc6         [V11,T44] (  6,  5   )   ubyte  ->  x26        
-;  V12 loc7         [V12,T36] (  9,  9.58)     ref  ->  x27         class-hnd exact single-def <int[]>
+;  V10 loc5         [V10,T33] (  9, 11.50)     int  ->  x27        
+;  V11 loc6         [V11,T44] (  6,  5   )   ubyte  ->  x20        
+;  V12 loc7         [V12,T36] (  9,  9.58)     ref  ->  x26         class-hnd exact single-def <int[]>
 ;  V13 loc8         [V13,T23] (  3, 23.84)     ref  ->  x27         class-hnd <System.Reflection.ParameterInfo[]>
 ;  V14 loc9         [V14,T07] (  5, 47.52)     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Type>
 ;  V15 loc10        [V15,T04] (  8, 63.36)     ref  ->  [fp+0x38]  class-hnd <System.Type>
@@ -34,7 +34,7 @@
 ;  V22 tmp4         [V22,T51] (  3,  0   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V23 tmp5         [V23,T54] (  2,  0   )     ref  ->  x19         class-hnd single-def "finalizable newobj spill" <<unknown class>>
 ;* V24 tmp6         [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "non-inline candidate call" <System.Type>
-;  V25 tmp7         [V25,T29] (  4, 16   )     int  ->  x22         "impSpillLclRefs"
+;  V25 tmp7         [V25,T29] (  4, 16   )     int  ->  x21         "impSpillLclRefs"
 ;  V26 tmp8         [V26,T39] (  2,  8   )     ref  ->  x15         class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.MethodBase>
 ;  V27 tmp9         [V27,T52] (  3,  0   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V28 tmp10        [V28,T55] (  2,  0   )     ref  ->  x19         class-hnd single-def "finalizable newobj spill" <<unknown class>>
@@ -68,10 +68,10 @@
 ;* V56 cse4         [V56,T48] (  0,  0   )    long  ->  zero-ref    "CSE - conservative"
 ;  V57 cse5         [V57,T49] (  5,  0.18)    long  ->  x28         "CSE - conservative"
 ;  V58 cse6         [V58,T11] ( 15, 35.92)     int  ->  x25         multi-def "CSE - aggressive"
-;  V59 cse7         [V59,T19] ( 13, 29.46)   byref  ->  x28         hoist multi-def "CSE - moderate"
+;  V59 cse7         [V59,T19] ( 13, 29.46)   byref  ->  x23         hoist multi-def "CSE - moderate"
 ;  V60 cse8         [V60,T06] ( 11, 50.64)   byref  ->  [fp+0x18]  hoist multi-def "CSE - aggressive"
 ;  V61 cse9         [V61,T09] (  3, 47.52)   byref  ->  [fp+0x10]  spill-single-def multi-def "CSE - aggressive"
-;  V62 cse10        [V62,T31] ( 10, 13.54)     int  ->  x23         "CSE - moderate"
+;  V62 cse10        [V62,T31] ( 10, 13.54)     int  ->  x28         "CSE - moderate"
 ;  V63 cse11        [V63,T37] (  6,  8   )     int  ->  x22         "CSE - moderate"
 ;  V64 cse12        [V64,T45] (  4,  4.54)   byref  ->   x0         hoist multi-def "CSE - conservative"
 ;  V65 cse13        [V65,T43] (  4,  5.04)   byref  ->  x25         hoist multi-def "CSE - moderate"
@@ -302,20 +302,20 @@ G_M46704_IG12:        ; bbWeight=1, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=00
             blr     x1
             ; gcrRegs -[x21 x23]
             ; gcr arg pop 0
-            mov     x21, x0
-            ; gcrRegs +[x21]
-            mov     w22, wzr
+            mov     x22, x0
+            ; gcrRegs +[x22]
+            mov     w21, wzr
             mov     w24, wzr
-            ldr     w23, [x21, #0x08]
-            cmp     w23, #0
+            ldr     w28, [x22, #0x08]
+            cmp     w28, #0
             ble     G_M46704_IG28
                        ;; size=60 bbWeight=1 PerfScore 17.00
-G_M46704_IG13:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG13:        ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
-            add     x28, x21, #16
-            ; byrRegs +[x28]
+            add     x23, x22, #16
+            ; byrRegs +[x23]
             ubfiz   x26, x24, #3, #32
-            ldr     x0, [x28, x26]
+            ldr     x0, [x23, x26]
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
@@ -330,12 +330,12 @@ G_M46704_IG13:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
             cmp     w0, w25
             bne     G_M46704_IG27
                        ;; size=48 bbWeight=4 PerfScore 70.00
-G_M46704_IG14:        ; bbWeight=2, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG14:        ; bbWeight=2, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
             mov     w1, wzr
             cmp     w25, #0
             ble     G_M46704_IG17
                        ;; size=12 bbWeight=2 PerfScore 4.00
-G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
             add     x2, x27, #16
             ; byrRegs +[x2]
             str     x2, [fp, #0x10]    // [V61 cse9]
@@ -387,7 +387,7 @@ G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=8380000 {x19 x20 x21 x27}, byr
             ; gcr arg pop 0
             cbz     w0, G_M46704_IG18
                        ;; size=120 bbWeight=15.84 PerfScore 657.36
-G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref
+G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref
             ldr     x0, [fp, #0x28]  // [V37 tmp19]
             ; gcrRegs +[x0]
             ldr     x11, [fp, #0x48]   // [V67 cse15]
@@ -408,13 +408,13 @@ G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byre
             ; gcr arg pop 0
             b       G_M46704_IG19
                        ;; size=48 bbWeight=7.92 PerfScore 154.44
-G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, gcvars, byref
+G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, gcvars, byref
             ; gcrRegs -[x27]
             ; GC ptr vars -{V14 V60}
             str     w1, [fp, #0x6C]    // [V06 loc1]
             b       G_M46704_IG26
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M46704_IG18:        ; bbWeight=7.92, gcVars=00000000000000E1 {V14 V36 V37 V60}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+G_M46704_IG18:        ; bbWeight=7.92, gcVars=00000000000000E1 {V14 V36 V37 V60}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs +[x27]
             ; GC ptr vars +{V00 V05 V06 V07 V14 V36 V37 V60}
             ldr     x0, [fp, #0x28]    // [V37 tmp19]
@@ -431,12 +431,12 @@ G_M46704_IG18:        ; bbWeight=7.92, gcVars=00000000000000E1 {V14 V36 V37 V60}
             beq     G_M46704_IG24
             b       G_M46704_IG20
                        ;; size=36 bbWeight=7.92 PerfScore 122.76
-G_M46704_IG19:        ; bbWeight=7.92, gcVars=00000000000000C0 {V14 V60}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+G_M46704_IG19:        ; bbWeight=7.92, gcVars=00000000000000C0 {V14 V60}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs -[x0-x1]
             ; GC ptr vars -{V36}
             cbnz    w0, G_M46704_IG24
                        ;; size=4 bbWeight=7.92 PerfScore 7.92
-G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // const ptr
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x1]
@@ -475,7 +475,7 @@ G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byre
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
             cbz     w0, G_M46704_IG21
-            ldr     x0, [x28, x26]
+            ldr     x0, [x23, x26]
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
@@ -504,7 +504,7 @@ G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byre
             ; GC ptr vars +{V15}
             cbz     x1, G_M46704_IG26
                        ;; size=172 bbWeight=7.92 PerfScore 463.32
-G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000090 {V14 V15}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000090 {V14 V15}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs -[x0-x1]
             ldr     x0, [fp, #0x40]    // [V14 loc9]
             ; gcrRegs +[x0]
@@ -584,11 +584,11 @@ G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000090 {V14 V15}, gcrefR
             ; gcr arg pop 0
             cbnz    w0, G_M46704_IG24
                        ;; size=216 bbWeight=7.92 PerfScore 621.72
-G_M46704_IG22:        ; bbWeight=8, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, byref
+G_M46704_IG22:        ; bbWeight=2, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, byref
             ; gcrRegs -[x27]
             b       G_M46704_IG26
-                        ;; size=4 bbWeight=8 PerfScore 8.00
-G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000090 {V14 V15}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+                      ;; size=4 bbWeight=2 PerfScore 2.00
+G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000090 {V14 V15}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs +[x27]
             ; GC ptr vars +{V07 V14 V15}
             ldp     x1, x0, [fp, #0x38]    // [V15 loc10], [V14 loc9]
@@ -602,48 +602,47 @@ G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000090 {V14 V15}, gcrefR
             ; gcr arg pop 0
             cbz     w0, G_M46704_IG26
                        ;; size=24 bbWeight=7.92 PerfScore 71.28
-G_M46704_IG24:        ; bbWeight=15.84, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
-            ldr     w14, [fp, #0x6C]   // [V06 loc1]
-            add     w14, w14, #1
-            cmp     w25, w14
-            mov     w1, w14
+G_M46704_IG24:        ; bbWeight=15.84, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
+            ldr     w1, [fp, #0x6C]    // [V06 loc1]
+            add     w1, w1, #1
+            cmp     w25, w1
             bgt     G_M46704_IG15
-                     ;; size=20 bbWeight=15.84 PerfScore 71.28
-G_M46704_IG25:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, byref
+                      ;; size=16 bbWeight=15.84 PerfScore 63.36
+G_M46704_IG25:        ; bbWeight=2, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, byref
             ; gcrRegs -[x27]
             str     w1, [fp, #0x6C]    // [V06 loc1]
                        ;; size=4 bbWeight=2 PerfScore 2.00
-G_M46704_IG26:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG26:        ; bbWeight=2, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, byref, isz
             ldr     w1, [fp, #0x6C]    // [V06 loc1]
             cmp     w25, w1
             bne     G_M46704_IG27
-            add     w14, w22, #1
+            add     w14, w21, #1
             sxtw    w27, w14
-            ldr     x15, [x28, x26]
+            ldr     x15, [x23, x26]
             ; gcrRegs +[x15]
-            cmp     w22, w23
+            cmp     w21, w28
             bhs     G_M46704_IG49
-            add     x14, x28, x22,  LSL #3
+            add     x14, x23, x21,  LSL #3
             ; byrRegs +[x14]
             adrp    x12, [HIGH RELOC #0xD1FFAB1E]      // CORINFO_HELP_CHECKED_ASSIGN_REF
             add     x12, x12, [LOW RELOC #0xD1FFAB1E]
             ldr     x12, [x12]
             blr     x12
             ; gcrRegs -[x15]
-            ; byrRegs -[x14 x28]
-            mov     w22, w27
+            ; byrRegs -[x14 x23]
+            mov     w21, w27
                        ;; size=56 bbWeight=2 PerfScore 31.00
-G_M46704_IG27:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG27:        ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
-            cmp     w23, w24
+            cmp     w28, w24
             bgt     G_M46704_IG13
                        ;; size=12 bbWeight=4 PerfScore 8.00
-G_M46704_IG28:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG28:        ; bbWeight=1, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x20]
-            cbnz    w22, G_M46704_IG31
+            cbnz    w21, G_M46704_IG31
                       ;; size=4 bbWeight=1 PerfScore 1.00
 G_M46704_IG29:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x19 x21]
+            ; gcrRegs -[x19 x22]
             mov     x0, xzr
             ; gcrRegs +[x0]
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
@@ -656,13 +655,13 @@ G_M46704_IG30:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0xC0
             ret     lr
                        ;; size=28 bbWeight=0.50 PerfScore 3.50
-G_M46704_IG31:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs -[x0] +[x19 x21]
-            cmp     w22, #1
+G_M46704_IG31:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs -[x0] +[x19 x22]
+            cmp     w21, #1
             bne     G_M46704_IG33
-            cmp     w23, #0
+            cmp     w28, #0
             bls     G_M46704_IG49
-            ldr     x0, [x21, #0x10]
+            ldr     x0, [x22, #0x10]
             ; gcrRegs +[x0]
                        ;; size=20 bbWeight=0.50 PerfScore 3.00
 G_M46704_IG32:        ; bbWeight=0.50, epilog, nogc, extend
@@ -674,10 +673,10 @@ G_M46704_IG32:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0xC0
             ret     lr
                        ;; size=28 bbWeight=0.50 PerfScore 3.50
-G_M46704_IG33:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG33:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
+            mov     w27, wzr
...
  
+0 (0.00%) : 1066.dasm - System.CommandLine.Helpers:AppendExpandedPaths(System.Collections.Generic.Dictionary`2[System.String,System.String],System.String,ubyte) (FullOpts)
@@ -21,8 +21,8 @@
 ;  V09 loc6         [V09,T02] (  3, 10   )     ref  ->  x22         class-hnd <System.String>
 ;  V10 loc7         [V10    ] (  2,  4   )     ref  ->  [fp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String>
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V12 tmp1         [V12,T18] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.CommandLine.CommandLineException>
-;  V13 tmp2         [V13,T19] (  3,  0   )     ref  ->  x20         class-hnd exact "NewObj constructor temp" <System.CommandLine.CommandLineException>
+;  V12 tmp1         [V12,T18] (  3,  0   )     ref  ->  x28         class-hnd exact single-def "NewObj constructor temp" <System.CommandLine.CommandLineException>
+;  V13 tmp2         [V13,T19] (  3,  0   )     ref  ->  x19         class-hnd exact "NewObj constructor temp" <System.CommandLine.CommandLineException>
 ;* V14 tmp3         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.String>
 ;* V15 tmp4         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.String>
 ;  V16 tmp5         [V16,T14] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
@@ -196,10 +196,10 @@ G_M40753_IG09:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ; gcr arg pop 0
             cbnz    w0, G_M40753_IG07
                        ;; size=24 bbWeight=4 PerfScore 32.00
-G_M40753_IG10:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
+G_M40753_IG10:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
             b       G_M40753_IG13
-                        ;; size=4 bbWeight=0.50 PerfScore 0.50
+                        ;; size=4 bbWeight=1 PerfScore 1.00
 G_M40753_IG11:        ; bbWeight=0, gcrefRegs=10000000 {x28}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x20] +[x28]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -208,8 +208,8 @@ G_M40753_IG11:        ; bbWeight=0, gcrefRegs=10000000 {x28}, byrefRegs=0000 {},
             blr     x0
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            mov     x20, x0
-            ; gcrRegs +[x20]
+            mov     x19, x0
+            ; gcrRegs +[x19]
             adrp    x2, [HIGH RELOC #0xD1FFAB1E]      // const ptr
             add     x2, x2, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x2]
@@ -233,20 +233,20 @@ G_M40753_IG11:        ; bbWeight=0, gcrefRegs=10000000 {x28}, byrefRegs=0000 {},
             ; gcr arg pop 0
             mov     x1, x0
             ; gcrRegs +[x1]
-            mov     x0, x20
+            mov     x0, x19
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            mov     x0, x20
+            mov     x0, x19
             ; gcrRegs +[x0]
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x1]
             blr     x1
-            ; gcrRegs -[x0 x20]
+            ; gcrRegs -[x0 x19]
             ; gcr arg pop 0
                        ;; size=120 bbWeight=0 PerfScore 0.00
 G_M40753_IG12:        ; bbWeight=2, gcrefRegs=10580000 {x19 x20 x22 x28}, byrefRegs=0000 {}, byref
@@ -318,8 +318,8 @@ G_M40753_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=100000
             blr     x0
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            mov     x19, x0
-            ; gcrRegs +[x19]
+            mov     x28, x0
+            ; gcrRegs +[x28]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // const ptr
             ; gcrRegs -[x0]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
@@ -336,20 +336,20 @@ G_M40753_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=100000
             ; gcr arg pop 0
             mov     x1, x0
             ; gcrRegs +[x1]
-            mov     x0, x19
+            mov     x0, x28
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            mov     x0, x19
+            mov     x0, x28
             ; gcrRegs +[x0]
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x1]
             blr     x1
-            ; gcrRegs -[x0 x19]
+            ; gcrRegs -[x0 x28]
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=104 bbWeight=0 PerfScore 0.00
@@ -386,7 +386,7 @@ G_M40753_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 860, prolog size 52, PerfScore 242.75, instruction count 215, allocated bytes for code 860 (MethodHash=e8c560ce) for method System.CommandLine.Helpers:AppendExpandedPaths(System.Collections.Generic.Dictionary`2[System.String,System.String],System.String,ubyte) (FullOpts)
+; Total bytes of code 860, prolog size 52, PerfScore 243.25, instruction count 215, allocated bytes for code 860 (MethodHash=e8c560ce) for method System.CommandLine.Helpers:AppendExpandedPaths(System.Collections.Generic.Dictionary`2[System.String,System.String],System.String,ubyte) (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+8 (+0.22%) : 881.dasm - System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte
@@ -654,11 +654,13 @@ G_M1714_IG29:        ; bbWeight=15.84, gcrefRegs=1780000 {x19 x20 x21 x22 x24},
             cmp     w4, w3
             bgt     G_M1714_IG31
                        ;; size=68 bbWeight=15.84 PerfScore 308.88
-G_M1714_IG30:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, gcvars, byref
+G_M1714_IG30:        ; bbWeight=8, gcVars=00000000000000000000000000000000 {}, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x24]
             ; GC ptr vars -{V17 V18 V19}
+            mov     w24, w2
+            mov     w2, w24
             b       G_M1714_IG36
-                      ;; size=4 bbWeight=2 PerfScore 2.00
+                       ;; size=12 bbWeight=8 PerfScore 16.00
 G_M1714_IG31:        ; bbWeight=7.92, gcVars=000000000000000000000000000C0000 {V17 V18}, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars +{V17 V18 V19}
             ldr     x2, [fp, #0x30]    // [V18 loc16]
@@ -1599,7 +1601,7 @@ G_M1714_IG76:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 3592, prolog size 48, PerfScore 2463.16, instruction count 898, allocated bytes for code 3592 (MethodHash=3a03f94d) for method System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte[] (FullOpts)
+; Total bytes of code 3600, prolog size 48, PerfScore 2477.16, instruction count 900, allocated bytes for code 3600 (MethodHash=3a03f94d) for method System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte[] (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -1610,7 +1612,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 876 (0x0036c) Actual length = 3504 (0x000db0)
+  Function Length   : 878 (0x0036e) Actual length = 3512 (0x000db8)
   ---- 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
-4 (-3.57%) : 60433.dasm - Microsoft.CodeAnalysis.CSharp.ObjectDisplay:ContainsNewLine(System.String):ubyte (FullOpts)
@@ -13,8 +13,8 @@
 ;  V02 loc1         [V02,T01] (  5, 17   )     int  ->   x1        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V05 tmp2         [V05,T00] (  6, 44   )  ushort  ->   x0         "Inlining Arg"
-;  V06 cse0         [V06,T04] (  2,  5   )   byref  ->   x3         hoist "CSE - aggressive"
+;  V05 tmp2         [V05,T00] (  6, 44   )  ushort  ->   x3         "Inlining Arg"
+;  V06 cse0         [V06,T04] (  2,  5   )   byref  ->   x0         hoist "CSE - aggressive"
 ;  V07 cse1         [V07,T02] (  3,  6   )     int  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
@@ -28,51 +28,48 @@ G_M7834_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             mov     w1, wzr
             ldr     w2, [x0, #0x08]
             cmp     w2, #0
-            ble     G_M7834_IG09
-            add     x3, x0, #12
-            ; byrRegs +[x3]
-                       ;; size=20 bbWeight=1 PerfScore 5.50
-G_M7834_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref, isz
+            ble     G_M7834_IG06
+            add     x0, x0, #12
             ; gcrRegs -[x0]
-            ldrh    w0, [x3, w1, UXTW #2]
+            ; byrRegs +[x0]
+                       ;; size=20 bbWeight=1 PerfScore 5.50
+G_M7834_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            ldrh    w3, [x0, w1, UXTW #2]
             mov     w4, #133
             mov     w5, #0xD1FFAB1E
-            cmp     w0, #13
-            ccmp    w0, #10, z, ne
-            ccmp    w0, w4, z, ne
-            ccmp    w0, w5, z, ne
-            beq     G_M7834_IG07
+            cmp     w3, #13
+            ccmp    w3, #10, z, ne
+            ccmp    w3, w4, z, ne
+            ccmp    w3, w5, z, ne
+            beq     G_M7834_IG08
                        ;; size=32 bbWeight=4 PerfScore 28.00
-G_M7834_IG04:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref, isz
+G_M7834_IG04:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             mov     w4, #0xD1FFAB1E
-            cmp     w0, w4
-            beq     G_M7834_IG07
+            cmp     w3, w4
+            beq     G_M7834_IG08
                        ;; size=12 bbWeight=2 PerfScore 4.00
-G_M7834_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref, isz
+G_M7834_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             add     w1, w1, #1
             cmp     w2, w1
             bgt     G_M7834_IG03
                        ;; size=12 bbWeight=4 PerfScore 8.00
 G_M7834_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x3]
-            b       G_M7834_IG09
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M7834_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #1
-                       ;; size=4 bbWeight=2 PerfScore 1.00
-G_M7834_IG08:        ; bbWeight=2, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=2 PerfScore 4.00
-G_M7834_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            ; byrRegs -[x0]
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M7834_IG10:        ; bbWeight=0.50, epilog, nogc, extend
+G_M7834_IG07:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     fp, lr, [sp], #0x10
+            ret     lr
+                       ;; size=8 bbWeight=0.50 PerfScore 1.00
+G_M7834_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, #1
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M7834_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
 
-; Total bytes of code 112, prolog size 8, PerfScore 53.75, instruction count 28, allocated bytes for code 112 (MethodHash=c046e165) for method Microsoft.CodeAnalysis.CSharp.ObjectDisplay:ContainsNewLine(System.String):ubyte (FullOpts)
+; Total bytes of code 108, prolog size 8, PerfScore 49.50, instruction count 27, allocated bytes for code 108 (MethodHash=c046e165) for method Microsoft.CodeAnalysis.CSharp.ObjectDisplay:ContainsNewLine(System.String):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -83,7 +80,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
+  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-3.57%) : 56419.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
@@ -25,7 +25,7 @@ G_M65070_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ; gcrRegs +[x0]
             mov     x19, x0
             ; gcrRegs +[x19]
-            cbz     x19, G_M65070_IG09
+            cbz     x19, G_M65070_IG06
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M65070_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -39,12 +39,12 @@ G_M65070_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs -[x0]
             mov     w1, #0xD1FFAB1E
             cmp     w0, w1
-            beq     G_M65070_IG07
+            beq     G_M65070_IG08
                        ;; size=36 bbWeight=4 PerfScore 32.00
 G_M65070_IG04:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     w1, #0xD1FFAB1E
             cmp     w0, w1
-            beq     G_M65070_IG07
+            beq     G_M65070_IG08
                        ;; size=12 bbWeight=2 PerfScore 4.00
 G_M65070_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x19, #0x08]
@@ -52,26 +52,23 @@ G_M65070_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
                        ;; size=8 bbWeight=4 PerfScore 16.00
 G_M65070_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
-            b       G_M65070_IG09
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M65070_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #1
-                       ;; size=4 bbWeight=2 PerfScore 1.00
-G_M65070_IG08:        ; bbWeight=2, epilog, nogc, extend
+            mov     w0, wzr
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M65070_IG07:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
-                       ;; size=12 bbWeight=2 PerfScore 8.00
-G_M65070_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            mov     w0, wzr
+                      ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M65070_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, #1
                      ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M65070_IG10:        ; bbWeight=0.50, epilog, nogc, extend
+G_M65070_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 112, prolog size 12, PerfScore 67.75, instruction count 28, allocated bytes for code 112 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
+; Total bytes of code 108, prolog size 12, PerfScore 60.50, instruction count 27, allocated bytes for code 108 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -82,7 +79,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
+  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-28 (-3.37%) : 195557.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>cDisplayClass11_0[ubyte]:gexecuteExecutableCodeActions|2():this (FullOpts)
@@ -22,20 +22,20 @@
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.DeclarationInfo[]>
 ;* V12 tmp5         [V12    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IOperation]>
 ;* V13 tmp6         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ubyte]>
-;  V14 tmp7         [V14,T03] (  4, 12.50)     int  ->   x4         "Inline stloc first use temp"
+;  V14 tmp7         [V14,T03] (  4, 12.50)     int  ->   x3         "Inline stloc first use temp"
 ;  V15 tmp8         [V15,T06] (  5,  5.50)     ref  ->  x19         "field V01.array (fldOffset=0x0)" P-INDEP
 ;  V16 tmp9         [V16,T08] (  2,  4.50)     ref  ->   x1         single-def "field V03._array (fldOffset=0x0)" P-INDEP
-;  V17 tmp10        [V17,T02] (  4, 12.50)     int  ->   x5         "field V03._index (fldOffset=0x8)" P-INDEP
-;  V18 tmp11        [V18,T04] (  3, 10   )     ref  ->   x6         "field V04.<DeclaredNode>k__BackingField (fldOffset=0x0)" P-INDEP
+;  V17 tmp10        [V17,T02] (  4, 12.50)     int  ->   x4         "field V03._index (fldOffset=0x8)" P-INDEP
+;  V18 tmp11        [V18,T04] (  3, 10   )     ref  ->   x5         "field V04.<DeclaredNode>k__BackingField (fldOffset=0x0)" P-INDEP
 ;* V19 tmp12        [V19    ] (  0,  0   )     ref  ->  zero-ref    "field V04.<DeclaredSymbol>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V20 tmp13        [V20,T05] (  2,  6   )     ref  ->   x4         "field V04.<ExecutableCodeBlocks>k__BackingField (fldOffset=0x10)" P-INDEP
+;  V20 tmp13        [V20,T05] (  2,  6   )     ref  ->   x3         "field V04.<ExecutableCodeBlocks>k__BackingField (fldOffset=0x10)" P-INDEP
 ;  V21 tmp14        [V21,T11] (  5,  2   )     ref  ->  [fp+0x18]  do-not-enreg[H] EH-live "field V05.array (fldOffset=0x0)" P-INDEP
-;  V22 tmp15        [V22,T10] (  5,  2.50)     ref  ->  x20         "field V06.array (fldOffset=0x0)" P-INDEP
+;  V22 tmp15        [V22,T10] (  5,  2.50)     ref  ->  x21         "field V06.array (fldOffset=0x0)" P-INDEP
 ;  V23 tmp16        [V23,T12] (  3,  1.50)     ref  ->   x1         single-def "field V09.array (fldOffset=0x0)" P-INDEP
 ;  V24 tmp17        [V24,T13] (  2,  1   )     ref  ->   x1         single-def "field V10._array (fldOffset=0x0)" P-INDEP
 ;* V25 tmp18        [V25,T15] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x8)" P-INDEP
 ;* V26 tmp19        [V26    ] (  0,  0   )     ref  ->  zero-ref    "field V12.array (fldOffset=0x0)" P-INDEP
-;  V27 tmp20        [V27,T00] (  3, 24   )   byref  ->   x4         "BlockOp address local"
+;  V27 tmp20        [V27,T00] (  3, 24   )   byref  ->   x3         "BlockOp address local"
 ;  V28 PSPSym       [V28,T14] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
 ;  V29 cse0         [V29,T07] (  3,  5   )     int  ->   x2         "CSE - aggressive"
 ;
@@ -103,96 +103,95 @@ G_M3645_IG05:        ; bbWeight=0.50, gcVars=0000000000000002 {V00}, gcrefRegs=0
             ldr     wzr, [x0]
             blr     x1
             ; gcr arg pop 0
-            mov     x3, x0
-            ; gcrRegs +[x3]
-            str     x3, [fp, #0x20]    // [V02 loc1]
+            str     x0, [fp, #0x20]  // [V02 loc1]
             ; GC ptr vars +{V02}
-                     ;; size=108 bbWeight=0.50 PerfScore 14.00
-G_M3645_IG06:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=80008 {x3 x19}, byrefRegs=0000 {}, gcvars, byref, isz
+                     ;; size=104 bbWeight=0.50 PerfScore 13.75
+G_M3645_IG06:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [fp, #0x28]  // [V00 this]
-            ; gcrRegs +[x0]
-            ldr     x1, [x0, #0x68]
+            ldr     x20, [fp, #0x28]  // [V00 this]
+            ; gcrRegs +[x20]
+            ldr     x1, [x20, #0x68]
             ; gcrRegs +[x1]
             ldr     w2, [x1, #0x08]
+            mov     w3, wzr
             mov     w4, wzr
-            mov     w5, wzr
             cmp     w2, #0
             ble     G_M3645_IG11
                        ;; size=28 bbWeight=0.50 PerfScore 5.25
-G_M3645_IG07:        ; bbWeight=4, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0000 {}, byref, isz
-            mov     w6, #24
-            mov     x7, #16
-            umaddl  x4, w4, w6, x7
-            add     x4, x1, x4
-            ; byrRegs +[x4]
-            ldr     x6, [x4]
+G_M3645_IG07:        ; bbWeight=4, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=0000 {}, byref, isz
+            mov     w5, #24
+            mov     x6, #16
+            umaddl  x3, w3, w5, x6
+            add     x3, x1, x3
+            ; byrRegs +[x3]
+            ldr     x5, [x3]
+            ; gcrRegs +[x5]
+            ldr     x3, [x3, #0x10]
+            ; gcrRegs +[x3]
+            ; byrRegs -[x3]
+            ldr     x6, [x20, #0x50]
             ; gcrRegs +[x6]
-            ldr     x4, [x4, #0x10]
-            ; gcrRegs +[x4]
-            ; byrRegs -[x4]
-            ldr     x7, [x0, #0x50]
-            ; gcrRegs +[x7]
-            cmp     x6, x7
+            cmp     x5, x6
             beq     G_M3645_IG09
                        ;; size=36 bbWeight=4 PerfScore 68.00
-G_M3645_IG08:        ; bbWeight=2, gcrefRegs=8005B {x0 x1 x3 x4 x6 x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x7]
-            ldr     x7, [x0, #0x48]
-            ; gcrRegs +[x7]
-            cmp     x6, x7
+G_M3645_IG08:        ; bbWeight=2, gcrefRegs=18002A {x1 x3 x5 x19 x20}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x6]
+            ldr     x6, [x20, #0x48]
+            ; gcrRegs +[x6]
+            cmp     x5, x6
             bne     G_M3645_IG10
                        ;; size=12 bbWeight=2 PerfScore 9.00
-G_M3645_IG09:        ; bbWeight=2, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x6-x7 x19]
-            mov     x19, x4
+G_M3645_IG09:        ; bbWeight=2, gcrefRegs=10000A {x1 x3 x20}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x5-x6 x19]
+            mov     x19, x3
             ; gcrRegs +[x19]
-            ldr     w4, [x19, #0x08]
-            ; gcrRegs -[x4]
-            cbnz    w4, G_M3645_IG12
+            ldr     w3, [x19, #0x08]
+            ; gcrRegs -[x3]
+            cbnz    w3, G_M3645_IG12
                        ;; size=12 bbWeight=2 PerfScore 9.00
-G_M3645_IG10:        ; bbWeight=4, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0000 {}, byref, isz
-            add     w4, w5, #1
-            sxtw    w5, w4
-            cmp     w2, w5
+G_M3645_IG10:        ; bbWeight=4, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=0000 {}, byref, isz
+            add     w3, w4, #1
+            sxtw    w4, w3
+            cmp     w2, w4
             bgt     G_M3645_IG07
                        ;; size=16 bbWeight=4 PerfScore 10.00
-G_M3645_IG11:        ; bbWeight=0.50, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0000 {}, byref
+G_M3645_IG11:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x1]
+            mov     x0, x20
+            ; gcrRegs +[x0]
             mov     x1, x19
             ; gcrRegs +[x1]
-            mov     x2, x3
+            ldr     x2, [fp, #0x20]   // [V02 loc1]
             ; gcrRegs +[x2]
-            movz    x4, #0xD1FFAB1E      // code for <unknown method>
-            movk    x4, #0xD1FFAB1E LSL #16
-            movk    x4, #0xD1FFAB1E LSL #32
-            ldr     x4, [x4]
+            movz    x3, #0xD1FFAB1E      // code for <unknown method>
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     x3, [x3]
             ; GC ptr vars -{V00}
-            blr     x4
-            ; gcrRegs -[x0-x3 x19]
+            blr     x3
+            ; gcrRegs -[x0-x2 x19-x20]
             ; gcr arg pop 0
             b       G_M3645_IG17
-                     ;; size=32 bbWeight=0.50 PerfScore 3.75
-G_M3645_IG12:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x3 x19]
+                       ;; size=36 bbWeight=0.50 PerfScore 4.75
+G_M3645_IG12:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x19-x20]
             ; GC ptr vars +{V00}
-            ldrb    w1, [x0, #0x42]
-            ldrb    w2, [x0, #0x44]
+            ldrb    w1, [x20, #0x42]
+            ldrb    w2, [x20, #0x44]
             orr     w1, w1, w2
             cbz     w1, G_M3645_IG13
-            ldr     x0, [x0, #0x08]
-            ldr     x20, [fp, #0x28]   // [V00 this]
-            ; gcrRegs +[x20]
+            ldr     x0, [x20, #0x08]
+            ; gcrRegs +[x0]
             ldr     x1, [x20, #0x18]
             ; gcrRegs +[x1]
-            mov     x2, x3
+            ldr     x2, [fp, #0x20]   // [V02 loc1]
             ; gcrRegs +[x2]
-            movz    x4, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ubyte]:<ExecuteDeclaringReferenceActions>g__addExecutableCodeBlockAnalyzerActions|11_8(Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+GroupedAnalyzerActions[ubyte],Microsoft.CodeAnalysis.Diagnostics.AnalysisScope,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+ExecutableCodeBlockAnalyzerActions[ubyte]])
-            movk    x4, #0xD1FFAB1E LSL #16
-            movk    x4, #0xD1FFAB1E LSL #32
-            ldr     x4, [x4]
-            blr     x4
-            ; gcrRegs -[x0-x3]
+            movz    x3, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ubyte]:<ExecuteDeclaringReferenceActions>g__addExecutableCodeBlockAnalyzerActions|11_8(Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+GroupedAnalyzerActions[ubyte],Microsoft.CodeAnalysis.Diagnostics.AnalysisScope,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+ExecutableCodeBlockAnalyzerActions[ubyte]])
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     x3, [x3]
+            blr     x3
+            ; gcrRegs -[x0-x2]
             ; gcr arg pop 0
             ldp     x0, x1, [x20, #0x10]
             ; gcrRegs +[x0-x1]
@@ -205,32 +204,28 @@ G_M3645_IG12:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRe
             blr     x3
             ; gcrRegs -[x0-x2]
             ; gcr arg pop 0
-            mov     x0, x20
-            ; gcrRegs +[x0]
-            ldr     x3, [fp, #0x20]    // [V02 loc1]
-            ; gcrRegs +[x3]
-                       ;; size=88 bbWeight=0.50 PerfScore 17.75
-G_M3645_IG13:        ; bbWeight=0.50, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x20]
-            ldrb    w2, [x0, #0x43]
-            ldrb    w1, [x0, #0x44]
+                      ;; size=76 bbWeight=0.50 PerfScore 16.25
+G_M3645_IG13:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
+            ldrb    w2, [x20, #0x43]
+            ldrb    w1, [x20, #0x44]
             orr     w2, w2, w1
             cbz     w2, G_M3645_IG11
-            ldr     x2, [x0, #0x70]
+            ldr     x2, [x20, #0x70]
             ; gcrRegs +[x2]
-            ldr     x1, [x0, #0x28]
+            ldr     x1, [x20, #0x28]
             ; gcrRegs +[x1]
             mov     x0, x19
-            movz    x4, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ubyte]:GetOperationBlocksToAnalyze(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxNode],Microsoft.CodeAnalysis.SemanticModel,System.Threading.CancellationToken):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IOperation]
-            movk    x4, #0xD1FFAB1E LSL #16
-            movk    x4, #0xD1FFAB1E LSL #32
-            ldr     x4, [x4]
-            blr     x4
-            ; gcrRegs -[x1-x3]
+            ; gcrRegs +[x0]
+            movz    x3, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ubyte]:GetOperationBlocksToAnalyze(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxNode],Microsoft.CodeAnalysis.SemanticModel,System.Threading.CancellationToken):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IOperation]
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     x3, [x3]
+            blr     x3
+            ; gcrRegs -[x1-x2]
             ; gcr arg pop 0
             str     x0, [fp, #0x18]    // [V21 tmp14]
             ; GC ptr vars +{V21}
-            ldr     x0, [fp, #0x28]  // [V00 this]
+            mov     x0, x20
             ldr     x1, [fp, #0x18]   // [V21 tmp14]
             ; gcrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
@@ -240,22 +235,22 @@ G_M3645_IG13:        ; bbWeight=0.50, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=000
             blr     x2
             ; gcrRegs -[x1]
             ; gcr arg pop 0
-            mov     x20, x0
-            ; gcrRegs +[x20]
-            ldr     w2, [x20, #0x08]
-            ldp     x3, x0, [fp, #0x20]    // [V02 loc1], [V00 this]
-            ; gcrRegs +[x3]
+            mov     x21, x0
+            ; gcrRegs +[x21]
+            ldr     w2, [x21, #0x08]
             cbz     w2, G_M3645_IG11
-                     ;; size=96 bbWeight=0.50 PerfScore 18.75
-G_M3645_IG14:        ; bbWeight=0.50, gcrefRegs=180009 {x0 x3 x19 x20}, byrefRegs=0000 {}, byref, isz
-            ldrb    w2, [x0, #0x43]
+                      ;; size=92 bbWeight=0.50 PerfScore 16.50
+G_M3645_IG14:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x0]
+            ldrb    w2, [x20, #0x43]
...
  
+16 (+4.40%) : 209962.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
@@ -11,82 +11,83 @@
 ;  V00 arg0         [V00,T07] (  7, 12   )     ref  ->   x0         class-hnd single-def <System.String>
 ;  V01 arg1         [V01,T00] ( 33, 83.50)     int  ->   x1        
 ;  V02 arg2         [V02,T10] (  5,  3.50)   byref  ->   x2         single-def
-;  V03 loc0         [V03,T16] (  3,  2   )     int  ->   x4        
-;  V04 loc1         [V04,T17] (  2,  1   )     int  ->   x6        
+;  V03 loc0         [V03,T16] (  3,  2   )     int  ->   x3        
+;  V04 loc1         [V04,T17] (  2,  1   )     int  ->   x4        
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V07 tmp2         [V07,T03] (  3, 24   )  ushort  ->   x4         "Inlining Arg"
+;  V07 tmp2         [V07,T03] (  3, 24   )  ushort  ->   x3         "Inlining Arg"
 ;* V08 tmp3         [V08,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp4         [V09,T04] (  3, 24   )  ushort  ->   x6         "Inlining Arg"
+;  V09 tmp4         [V09,T04] (  3, 24   )  ushort  ->   x4         "Inlining Arg"
 ;* V10 tmp5         [V10,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V11 tmp6         [V11,T15] (  3,  3   )  ushort  ->   x7         "Inlining Arg"
+;  V11 tmp6         [V11,T15] (  3,  3   )  ushort  ->   x5         "Inlining Arg"
 ;* V12 tmp7         [V12,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V13 tmp8         [V13,T05] (  3, 24   )  ushort  ->   x7         "Inlining Arg"
+;  V13 tmp8         [V13,T05] (  3, 24   )  ushort  ->   x5         "Inlining Arg"
 ;* V14 tmp9         [V14,T14] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V15 tmp10        [V15,T06] (  3, 24   )  ushort  ->   x8         "Inlining Arg"
-;  V16 cse0         [V16,T09] (  3, 12   )     int  ->   x7         "CSE - aggressive"
+;  V15 tmp10        [V15,T06] (  3, 24   )  ushort  ->   x6         "Inlining Arg"
+;  V16 cse0         [V16,T09] (  3, 12   )     int  ->   x5         "CSE - aggressive"
 ;  V17 cse1         [V17,T08] (  5, 13   )     int  ->  registers   multi-def "CSE - aggressive"
-;  V18 cse2         [V18,T01] ( 13, 46.50)     int  ->   x3         hoist "CSE - aggressive"
-;  V19 cse3         [V19,T02] (  9, 25.50)   byref  ->  registers   multi-def "CSE - aggressive"
+;  V18 cse2         [V18,T01] ( 13, 46.50)     int  ->  x19         hoist "CSE - aggressive"
+;  V19 cse3         [V19,T02] (  9, 25.50)   byref  ->  x20         multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M63854_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-                      ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=12 bbWeight=1 PerfScore 2.50
 G_M63854_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
             ; gcrRegs +[x0]
             ; byrRegs +[x2]
-            ldr     w3, [x0, #0x08]
+            ldr     w19, [x0, #0x08]
             b       G_M63854_IG04
                        ;; size=8 bbWeight=1 PerfScore 4.00
 G_M63854_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
 G_M63854_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w3, w1
+            cmp     w19, w1
             ble     G_M63854_IG06
                        ;; size=8 bbWeight=8 PerfScore 12.00
 G_M63854_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x4, x0, #12
-            ; byrRegs +[x4]
-            ldrh    w4, [x4, w1, UXTW #2]
-            ; byrRegs -[x4]
-            cmp     w4, #32
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w3, [x20, w1, UXTW #2]
+            cmp     w3, #32
             beq     G_M63854_IG03
-            cmp     w4, #9
+            cmp     w3, #9
             beq     G_M63854_IG03
                        ;; size=32 bbWeight=4 PerfScore 32.00
 G_M63854_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
-            sxtw    w4, w1
+            ; byrRegs -[x20]
+            sxtw    w3, w1
             b       G_M63854_IG08
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M63854_IG07:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
 G_M63854_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w3, w1
+            cmp     w19, w1
             ble     G_M63854_IG10
                        ;; size=8 bbWeight=8 PerfScore 12.00
 G_M63854_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x5, x0, #12
-            ; byrRegs +[x5]
-            ldrh    w6, [x5, w1, UXTW #2]
-            cmp     w6, #61
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w4, [x20, w1, UXTW #2]
+            cmp     w4, #61
             beq     G_M63854_IG10
-            cmp     w6, #32
+            cmp     w4, #32
             beq     G_M63854_IG10
-            cmp     w6, #9
+            cmp     w4, #9
             bne     G_M63854_IG07
                        ;; size=40 bbWeight=4 PerfScore 38.00
 G_M63854_IG10:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            ; byrRegs -[x5]
-            cmp     w3, w1
+            ; byrRegs -[x20]
+            cmp     w19, w1
             bne     G_M63854_IG13
                        ;; size=8 bbWeight=4 PerfScore 6.00
 G_M63854_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, byref
@@ -95,80 +96,82 @@ G_M63854_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, b
             mov     x0, xzr
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M63854_IG12:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=0.50 PerfScore 1.00
+                        ;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M63854_IG13:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, gcvars, byref, isz
             ; gcrRegs +[x0]
-            sub     w6, w1, w4
-            cmp     w1, w3
+            sub     w4, w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x5, x0, #12
-            ; byrRegs +[x5]
-            ldrh    w7, [x5, w1, UXTW #2]
-            cmp     w7, #32
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w5, [x20, w1, UXTW #2]
+            cmp     w5, #32
             beq     G_M63854_IG15
-            cmp     w7, #9
+            cmp     w5, #9
             bne     G_M63854_IG20
             b       G_M63854_IG15
                        ;; size=40 bbWeight=0.50 PerfScore 4.75
-G_M63854_IG14:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref
+G_M63854_IG14:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M63854_IG15:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref, isz
-            cmp     w3, w1
+G_M63854_IG15:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             ble     G_M63854_IG16
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w7, [x5, w1, UXTW #2]
-            cmp     w7, #32
+            ldrh    w5, [x20, w1, UXTW #2]
+            cmp     w5, #32
             beq     G_M63854_IG14
-            cmp     w7, #9
+            cmp     w5, #9
             beq     G_M63854_IG14
                        ;; size=36 bbWeight=4 PerfScore 36.00
-G_M63854_IG16:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref, isz
-            cmp     w3, w1
+G_M63854_IG16:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             beq     G_M63854_IG17
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w7, [x5, w1, UXTW #2]
-            cmp     w7, #61
+            ldrh    w5, [x20, w1, UXTW #2]
+            cmp     w5, #61
             beq     G_M63854_IG20
                        ;; size=28 bbWeight=0.50 PerfScore 3.75
 G_M63854_IG17:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, byref
             ; gcrRegs -[x0]
-            ; byrRegs -[x5]
+            ; byrRegs -[x20]
             str     w1, [x2]
             mov     x0, xzr
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M63854_IG18:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M63854_IG19:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, gcvars, byref
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
+G_M63854_IG19:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, gcvars, byref
             ; gcrRegs +[x0]
-            ; byrRegs +[x5]
+            ; byrRegs +[x20]
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref, isz
-            cmp     w3, w1
+G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             ble     G_M63854_IG21
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w7, [x5, w1, UXTW #2]
-            sxtw    w8, w7
-            cmp     w8, #32
+            ldrh    w5, [x20, w1, UXTW #2]
+            sxtw    w6, w5
+            cmp     w6, #32
             beq     G_M63854_IG19
-            cmp     w8, #9
+            cmp     w6, #9
             beq     G_M63854_IG19
-            cmp     w7, #61
+            cmp     w5, #61
             beq     G_M63854_IG19
                        ;; size=48 bbWeight=4 PerfScore 44.00
 G_M63854_IG21:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
-            ; byrRegs -[x5]
+            ; byrRegs -[x20]
             str     w1, [x2]
-            mov     w1, w4
-            mov     w2, w6
+            mov     w1, w3
+            mov     w2, w4
             ; byrRegs -[x2]
             movz    x3, #0xD1FFAB1E      // code for System.String:Substring(int,int):System.String:this
             movk    x3, #0xD1FFAB1E LSL #16
@@ -176,10 +179,11 @@ G_M63854_IG21:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2},
             ldr     x3, [x3]
                        ;; size=28 bbWeight=0.50 PerfScore 3.25
 G_M63854_IG22:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             br      x3
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=0.50 PerfScore 1.00
+                        ;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M63854_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
...
  
+28 (+4.90%) : 159664.dasm - Microsoft.Build.Shared.FileUtilities:PathsEqual(System.String,System.String):ubyte (FullOpts)
@@ -9,30 +9,32 @@
 ;
 ;  V00 arg0         [V00,T13] (  9,  5.08)     ref  ->   x0         class-hnd single-def <System.String>
 ;  V01 arg1         [V01,T12] ( 10,  5.08)     ref  ->   x1         class-hnd single-def <System.String>
-;  V02 loc0         [V02,T05] ( 15, 16.50)     int  ->   x2        
-;  V03 loc1         [V03,T09] (  9, 10.50)     int  ->   x5        
-;  V04 loc2         [V04,T03] ( 10, 16.54)     int  ->   x6        
-;  V05 loc3         [V05,T06] (  6, 12   )  ushort  ->   x8        
-;  V06 loc4         [V06,T04] ( 10, 16.54)     int  ->   x6        
-;  V07 loc5         [V07,T07] (  6, 12   )  ushort  ->   x8        
-;  V08 loc6         [V08,T02] ( 13, 17.58)     int  ->   x5        
+;  V02 loc0         [V02,T05] ( 15, 16.50)     int  ->  x20        
+;  V03 loc1         [V03,T09] (  9, 10.50)     int  ->  x22        
+;  V04 loc2         [V04,T03] ( 10, 16.54)     int  ->   x3        
+;  V05 loc3         [V05,T06] (  6, 12   )  ushort  ->   x4        
+;  V06 loc4         [V06,T04] ( 10, 16.54)     int  ->   x3        
+;  V07 loc5         [V07,T07] (  6, 12   )  ushort  ->   x4        
+;  V08 loc6         [V08,T02] ( 13, 17.58)     int  ->   x2        
 ;  V09 loc7         [V09,T00] ( 16, 26   )     int  ->   x6        
-;  V10 loc8         [V10,T01] ( 16, 26   )     int  ->  registers  
+;  V10 loc8         [V10,T01] ( 16, 26   )     int  ->   x5        
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V12 tmp1         [V12    ] (  0,  0   )     int  ->  zero-ref    "Single return block return value"
-;  V13 cse0         [V13,T08] (  3, 11.88)    long  ->   x4         "CSE - aggressive"
-;  V14 cse1         [V14,T16] (  3,  0.12)    long  ->   x8         "CSE - conservative"
-;  V15 cse2         [V15,T10] (  8,  9.08)   byref  ->   x7         hoist multi-def "CSE - aggressive"
+;  V13 cse0         [V13,T08] (  3, 11.88)    long  ->   x5         "CSE - aggressive"
+;  V14 cse1         [V14,T16] (  3,  0.12)    long  ->   x5         "CSE - conservative"
+;  V15 cse2         [V15,T10] (  8,  9.08)   byref  ->  registers   hoist multi-def "CSE - aggressive"
 ;  V16 cse3         [V16,T11] (  8,  9.08)   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V17 cse4         [V17,T14] (  6,  2.08)     int  ->   x3         "CSE - aggressive"
-;  V18 cse5         [V18,T15] (  6,  2.08)     int  ->   x4         "CSE - aggressive"
+;  V17 cse4         [V17,T14] (  6,  2.08)     int  ->  x19         "CSE - aggressive"
+;  V18 cse5         [V18,T15] (  6,  2.08)     int  ->  x21         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M43039_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
-                      ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M43039_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0-x1]
             cbnz    x0, G_M43039_IG04
@@ -45,174 +47,176 @@ G_M43039_IG03:        ; bbWeight=0.50, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, b
 G_M43039_IG04:        ; bbWeight=0.50, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             cbz     x1, G_M43039_IG36
-            ldr     w3, [x0, #0x08]
-            sub     w2, w3, #1
-            ldr     w4, [x1, #0x08]
-            sub     w5, w4, #1
-            sxtw    w6, w2
-            tbnz    w2, #31, G_M43039_IG08
-            cmp     w3, w2
+            ldr     w19, [x0, #0x08]
+            sub     w20, w19, #1
+            ldr     w21, [x1, #0x08]
+            sub     w22, w21, #1
+            sxtw    w3, w20
+            tbnz    w20, #31, G_M43039_IG08
+            cmp     w19, w20
             ble     G_M43039_IG07
-            add     x7, x0, #12
-            ; byrRegs +[x7]
+            add     x2, x0, #12
+            ; byrRegs +[x2]
                         ;; size=40 bbWeight=0.50 PerfScore 5.75
-G_M43039_IG05:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0080 {x7}, byref, isz
-            ldrh    w8, [x7, w6, UXTW #2]
-            mov     w9, #92
-            cmp     w8, #47
-            ccmp    w8, w9, z, ne
+G_M43039_IG05:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0004 {x2}, byref, isz
+            ldrh    w4, [x2, w3, UXTW #2]
+            mov     w5, #92
+            cmp     w4, #47
+            ccmp    w4, w5, z, ne
             bne     G_M43039_IG08
-            sub     w2, w2, #1
-            sub     w6, w6, #1
-            tbz     w6, #31, G_M43039_IG05
+            sub     w20, w20, #1
+            sub     w3, w3, #1
+            tbz     w3, #31, G_M43039_IG05
                      ;; size=32 bbWeight=3.96 PerfScore 29.70
 G_M43039_IG06:        ; bbWeight=0.50, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x7]
+            ; byrRegs -[x2]
             b       G_M43039_IG08
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M43039_IG07:        ; bbWeight=0.04, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
-            cmp     w6, w3
+            cmp     w3, w19
             bhs     G_M43039_IG38
-            add     x7, x0, #12
-            ; byrRegs +[x7]
-            ldrh    w8, [x7, w6, UXTW #2]
-            mov     w7, #92
-            ; byrRegs -[x7]
-            cmp     w8, #47
-            ccmp    w8, w7, z, ne
+            add     x2, x0, #12
+            ; byrRegs +[x2]
+            ldrh    w4, [x2, w3, UXTW #2]
+            mov     w2, #92
+            ; byrRegs -[x2]
+            cmp     w4, #47
+            ccmp    w4, w2, z, ne
             bne     G_M43039_IG08
-            sub     w2, w2, #1
-            sub     w6, w6, #1
-            tbz     w6, #31, G_M43039_IG07
+            sub     w20, w20, #1
+            sub     w3, w3, #1
+            tbz     w3, #31, G_M43039_IG07
                      ;; size=44 bbWeight=0.04 PerfScore 0.38
 G_M43039_IG08:        ; bbWeight=0.50, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
-            sxtw    w6, w5
-            tbnz    w5, #31, G_M43039_IG12
-            cmp     w4, w5
+            sxtw    w3, w22
+            tbnz    w22, #31, G_M43039_IG12
+            cmp     w21, w22
             ble     G_M43039_IG11
-            add     x7, x1, #12
-            ; byrRegs +[x7]
+            add     x2, x1, #12
+            ; byrRegs +[x2]
                         ;; size=20 bbWeight=0.50 PerfScore 1.75
-G_M43039_IG09:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0080 {x7}, byref, isz
-            ldrh    w8, [x7, w6, UXTW #2]
-            mov     w9, #92
-            cmp     w8, #47
-            ccmp    w8, w9, z, ne
+G_M43039_IG09:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0004 {x2}, byref, isz
+            ldrh    w4, [x2, w3, UXTW #2]
+            mov     w5, #92
+            cmp     w4, #47
+            ccmp    w4, w5, z, ne
             bne     G_M43039_IG12
-            sub     w5, w5, #1
-            sub     w6, w6, #1
-            tbz     w6, #31, G_M43039_IG09
+            sub     w22, w22, #1
+            sub     w3, w3, #1
+            tbz     w3, #31, G_M43039_IG09
                      ;; size=32 bbWeight=3.96 PerfScore 29.70
 G_M43039_IG10:        ; bbWeight=0.50, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x7]
+            ; byrRegs -[x2]
             b       G_M43039_IG12
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M43039_IG11:        ; bbWeight=0.04, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
-            cmp     w6, w4
+            cmp     w3, w21
             bhs     G_M43039_IG38
-            add     x7, x1, #12
-            ; byrRegs +[x7]
-            ldrh    w8, [x7, w6, UXTW #2]
-            mov     w7, #92
-            ; byrRegs -[x7]
-            cmp     w8, #47
-            ccmp    w8, w7, z, ne
+            add     x2, x1, #12
+            ; byrRegs +[x2]
+            ldrh    w4, [x2, w3, UXTW #2]
+            mov     w2, #92
+            ; byrRegs -[x2]
+            cmp     w4, #47
+            ccmp    w4, w2, z, ne
             bne     G_M43039_IG12
-            sub     w5, w5, #1
-            sub     w6, w6, #1
-            tbz     w6, #31, G_M43039_IG11
+            sub     w22, w22, #1
+            sub     w3, w3, #1
+            tbz     w3, #31, G_M43039_IG11
                      ;; size=44 bbWeight=0.04 PerfScore 0.38
 G_M43039_IG12:        ; bbWeight=0.50, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
-            cmp     w2, w5
+            cmp     w20, w22
             bne     G_M43039_IG36
-            mov     w5, wzr
-            tbnz    w2, #31, G_M43039_IG32
-            cmp     w3, w2
-            ccmp    w4, w2, nzc, gt
+            mov     w2, wzr
+            tbnz    w20, #31, G_M43039_IG32
+            cmp     w19, w20
+            ccmp    w21, w20, nzc, gt
             ble     G_M43039_IG23
-            add     x7, x0, #12
-            ; byrRegs +[x7]
-            add     x3, x1, #12
+            add     x3, x0, #12
             ; byrRegs +[x3]
+            add     x4, x1, #12
+            ; byrRegs +[x4]
                         ;; size=36 bbWeight=0.50 PerfScore 3.00
-G_M43039_IG13:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref, isz
-            ubfiz   x4, x5, #1, #32
-            ldrh    w6, [x7, x4]
-            ldrh    w4, [x3, x4]
-            orr     w8, w6, w4
-            cmp     w8, #127
+G_M43039_IG13:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0018 {x3 x4}, byref, isz
+            ubfiz   x5, x2, #1, #32
+            ldrh    w6, [x3, x5]
+            ldrh    w5, [x4, x5]
+            orr     w7, w6, w5
+            cmp     w7, #127
             bhi     G_M43039_IG34
-            sub     w8, w6, #97
-            cmp     w8, #25
+            sub     w7, w6, #97
+            cmp     w7, #25
             bhi     G_M43039_IG15
                        ;; size=36 bbWeight=3.96 PerfScore 43.56
-G_M43039_IG14:        ; bbWeight=1.98, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref
+G_M43039_IG14:        ; bbWeight=1.98, gcrefRegs=0003 {x0 x1}, byrefRegs=0018 {x3 x4}, byref
             sub     w6, w6, #32
                        ;; size=4 bbWeight=1.98 PerfScore 0.99
-G_M43039_IG15:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref, isz
-            sub     w8, w4, #97
-            cmp     w8, #25
+G_M43039_IG15:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0018 {x3 x4}, byref, isz
+            sub     w7, w5, #97
+            cmp     w7, #25
             bhi     G_M43039_IG17
                        ;; size=12 bbWeight=3.96 PerfScore 7.92
-G_M43039_IG16:        ; bbWeight=1.98, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref
-            sub     w4, w4, #32
+G_M43039_IG16:        ; bbWeight=1.98, gcrefRegs=0003 {x0 x1}, byrefRegs=0018 {x3 x4}, byref
+            sub     w5, w5, #32
                         ;; size=4 bbWeight=1.98 PerfScore 0.99
-G_M43039_IG17:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref, isz
+G_M43039_IG17:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0018 {x3 x4}, byref, isz
             cmp     w6, #92
             bne     G_M43039_IG19
                        ;; size=8 bbWeight=3.96 PerfScore 5.94
-G_M43039_IG18:        ; bbWeight=1.98, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref
+G_M43039_IG18:        ; bbWeight=1.98, gcrefRegs=0003 {x0 x1}, byrefRegs=0018 {x3 x4}, byref
             mov     w6, #47
                        ;; size=4 bbWeight=1.98 PerfScore 0.99
-G_M43039_IG19:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref, isz
...
  
+24 (+5.71%) : 173410.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
@@ -11,34 +11,35 @@
 ;  V00 this         [V00,T10] (  8,  5   )     ref  ->  x19         this class-hnd single-def <System.Xml.Xsl.Runtime.XmlStringSortKey>
 ;  V01 arg1         [V01,T11] (  4,  3.50)     ref  ->   x1         class-hnd single-def <System.Object>
 ;  V02 loc0         [V02,T13] (  7,  4.25)     ref  ->  x20         class-hnd exact <System.Xml.Xsl.Runtime.XmlStringSortKey>
-;  V03 loc1         [V03,T00] (  7, 24.50)     int  ->   x3        
+;  V03 loc1         [V03,T00] (  7, 24.50)     int  ->   x1        
 ;  V04 loc2         [V04,T12] (  3,  5   )     int  ->   x0        
 ;  V05 loc3         [V05,T14] (  6,  3   )     int  ->   x0        
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Xml.Xsl.Runtime.XmlStringSortKey>
 ;  V08 tmp2         [V08,T17] (  3,  1.50)     int  ->   x0        
 ;  V09 tmp3         [V09,T18] (  2,  1   )     int  ->   x0         "Inline return value spill temp"
-;  V10 tmp4         [V10,T01] (  3, 24   )     ref  ->   x4         "arr expr"
-;  V11 tmp5         [V11,T02] (  3, 24   )     ref  ->   x6         "arr expr"
+;  V10 tmp4         [V10,T01] (  3, 24   )     ref  ->   x2         "arr expr"
+;  V11 tmp5         [V11,T02] (  3, 24   )     ref  ->   x4         "arr expr"
 ;* V12 tmp6         [V12,T08] (  0,  0   )     ref  ->  zero-ref    "arr expr"
 ;* V13 tmp7         [V13,T09] (  0,  0   )     ref  ->  zero-ref    "arr expr"
-;  V14 cse0         [V14,T03] (  3, 12   )     int  ->   x4         "CSE - aggressive"
-;  V15 cse1         [V15,T04] (  3, 12   )     int  ->   x5         "CSE - aggressive"
-;  V16 cse2         [V16,T06] (  6,  6.50)     ref  ->   x1         "CSE - aggressive"
-;  V17 cse3         [V17,T07] (  6,  6.50)     ref  ->   x2         "CSE - aggressive"
+;  V14 cse0         [V14,T03] (  3, 12   )     int  ->   x2         "CSE - aggressive"
+;  V15 cse1         [V15,T04] (  3, 12   )     int  ->   x3         "CSE - aggressive"
+;  V16 cse2         [V16,T06] (  6,  6.50)     ref  ->  x21         "CSE - aggressive"
+;  V17 cse3         [V17,T07] (  6,  6.50)     ref  ->  x22         "CSE - aggressive"
 ;  V18 cse4         [V18,T16] (  3,  1.50)     ref  ->   x0         "CSE - moderate"
 ;  V19 cse5         [V19,T15] (  4,  2   )     ref  ->   x0         "CSE - moderate"
-;  V20 cse6         [V20,T05] (  3, 12   )    long  ->   x5         "CSE - aggressive"
+;  V20 cse6         [V20,T05] (  3, 12   )    long  ->   x3         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M15280_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x20]!
+            stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
-                     ;; size=16 bbWeight=1 PerfScore 3.00
+                      ;; size=20 bbWeight=1 PerfScore 4.00
 G_M15280_IG02:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x1]
             mov     x20, x1
@@ -63,11 +64,12 @@ G_M15280_IG04:        ; bbWeight=0.50, gcrefRegs=80002 {x1 x19}, byrefRegs=0000
             ldr     x2, [x2]
                        ;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M15280_IG05:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             br      x2
             ; gcr arg pop 0
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0-x1] +[x20]
             ldr     x0, [x19, #0x18]
@@ -85,60 +87,60 @@ G_M15280_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             b       G_M15280_IG15
                        ;; size=36 bbWeight=0.50 PerfScore 6.75
 G_M15280_IG07:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ldr     x1, [x19, #0x20]
-            ; gcrRegs +[x1]
-            ldr     w0, [x1, #0x08]
-            ldr     x2, [x20, #0x20]
-            ; gcrRegs +[x2]
-            ldr     w3, [x2, #0x08]
-            cmp     w0, w3
+            ldr     x21, [x19, #0x20]
+            ; gcrRegs +[x21]
+            ldr     w0, [x21, #0x08]
+            ldr     x22, [x20, #0x20]
+            ; gcrRegs +[x22]
+            ldr     w1, [x22, #0x08]
+            cmp     w0, w1
             blt     G_M15280_IG08
-            ldr     w0, [x2, #0x08]
+            ldr     w0, [x22, #0x08]
             b       G_M15280_IG09
                        ;; size=32 bbWeight=0.50 PerfScore 8.75
-G_M15280_IG08:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref
-            ldr     w0, [x1, #0x08]
+G_M15280_IG08:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref
+            ldr     w0, [x21, #0x08]
                        ;; size=4 bbWeight=0.50 PerfScore 1.50
-G_M15280_IG09:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref, isz
-            mov     w3, wzr
+G_M15280_IG09:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            mov     w1, wzr
             cmp     w0, #0
             ble     G_M15280_IG14
                        ;; size=12 bbWeight=0.50 PerfScore 1.00
-G_M15280_IG10:        ; bbWeight=4, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref, isz
-            mov     x4, x1
+G_M15280_IG10:        ; bbWeight=4, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            mov     x2, x21
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x08]
+            cmp     w1, w3
+            bhs     G_M15280_IG24
+            add     x2, x2, #16
+            ; gcrRegs -[x2]
+            ; byrRegs +[x2]
+            mov     w3, w1
+            ldrb    w2, [x2, x3]
+            ; byrRegs -[x2]
+            mov     x4, x22
             ; gcrRegs +[x4]
             ldr     w5, [x4, #0x08]
-            cmp     w3, w5
+            cmp     w1, w5
             bhs     G_M15280_IG24
             add     x4, x4, #16
             ; gcrRegs -[x4]
             ; byrRegs +[x4]
-            mov     w5, w3
-            ldrb    w4, [x4, x5]
-            ; byrRegs -[x4]
-            mov     x6, x2
-            ; gcrRegs +[x6]
-            ldr     w7, [x6, #0x08]
-            cmp     w3, w7
-            bhs     G_M15280_IG24
-            add     x6, x6, #16
-            ; gcrRegs -[x6]
-            ; byrRegs +[x6]
-            ldrb    w5, [x6, x5]
-            cmp     w4, w5
+            ldrb    w3, [x4, x3]
+            cmp     w2, w3
             blt     G_M15280_IG12
-            cmp     w4, w5
+            cmp     w2, w3
             bgt     G_M15280_IG13
-            add     w3, w3, #1
-            cmp     w3, w0
+            add     w1, w1, #1
+            cmp     w1, w0
             blt     G_M15280_IG10
                        ;; size=80 bbWeight=4 PerfScore 90.00
-G_M15280_IG11:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x6]
+G_M15280_IG11:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x4]
             b       G_M15280_IG14
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M15280_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x1-x2 x20]
+            ; gcrRegs -[x20-x22]
             movn    w0, #0
             b       G_M15280_IG20
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
@@ -146,21 +148,20 @@ G_M15280_IG13:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             mov     w0, #1
             b       G_M15280_IG20
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M15280_IG14:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x1-x2 x20]
-            ldr     w0, [x1, #0x08]
-            ldr     w3, [x2, #0x08]
-            cmp     w0, w3
+G_M15280_IG14:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs +[x20-x22]
+            ldr     w0, [x21, #0x08]
+            ldr     w1, [x22, #0x08]
+            cmp     w0, w1
             blt     G_M15280_IG12
-            ldr     w0, [x1, #0x08]
-            ldr     w1, [x2, #0x08]
-            ; gcrRegs -[x1]
+            ldr     w0, [x21, #0x08]
+            ldr     w1, [x22, #0x08]
             cmp     w0, w1
             bgt     G_M15280_IG13
             b       G_M15280_IG16
                        ;; size=36 bbWeight=0.50 PerfScore 8.00
 G_M15280_IG15:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x2]
+            ; gcrRegs -[x21-x22]
             cbnz    w0, G_M15280_IG20
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M15280_IG16:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
@@ -174,11 +175,12 @@ G_M15280_IG16:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ldr     x2, [x2, #0x20]
                        ;; size=24 bbWeight=0.50 PerfScore 8.00
 G_M15280_IG17:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             br      x2
             ; gcr arg pop 0
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG18:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0-x1]
             ldr     w0, [x19, #0x10]
@@ -189,36 +191,39 @@ G_M15280_IG18:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             csel    w0, w2, w3, lt
                        ;; size=24 bbWeight=0.50 PerfScore 4.00
 G_M15280_IG19:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG20:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x20]
             ldrb    w1, [x19, #0x14]
             cbnz    w1, G_M15280_IG22
                        ;; size=8 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG21:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG22:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x19]
             neg     w0, w0
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M15280_IG23:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG24:        ; 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 420, prolog size 16, PerfScore 148.75, instruction count 105, allocated bytes for code 420 (MethodHash=95cfc44f) for method System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
+; Total bytes of code 444, prolog size 20, PerfScore 152.25, instruction count 111, allocated bytes for code 444 (MethodHash=95cfc44f) for method System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -229,7 +234,7 @@ Unwind Info:
   E bit             : 0
...
  
  
libraries_tests.run.linux.arm64.Release.mch
-24 (-7.69%) : 304470.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalListInOrder(System.Canon[]):this (Tier1)
@@ -10,13 +10,13 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  5,  4   )     ref  ->  x20         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T00] (  9,  5.35)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T00] (  8,  5.78)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
 ;  V02 loc0         [V02,T06] (  3,  2.06)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V03 loc1         [V03,T10] (  4,  0.36)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V04 loc2         [V04,T09] (  5,  0.59)     int  ->  x22        
-;  V05 loc3         [V05,T04] (  6,  3.25)     ref  ->  x23         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T03] (  9,  4.19)     int  ->  x24        
-;  V07 loc5         [V07,T02] (  5,  4.53)     ref  ->   x0         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T04] (  6,  3.68)     ref  ->  x23         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T02] (  6,  4.61)     int  ->  x24        
+;  V07 loc5         [V07,T03] (  5,  4.53)     ref  ->   x0         class-hnd <System.__Canon>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T08] (  2,  1.84)     int  ->   x0         "guarded devirt return temp"
 ;* V10 tmp2         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
@@ -41,7 +41,7 @@ G_M50755_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M50755_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x21, [x20, #0x08]
             ; gcrRegs +[x21]
-            cbnz    x21, G_M50755_IG07
+            cbnz    x21, G_M50755_IG05
                        ;; size=8 bbWeight=1 PerfScore 4.00
 G_M50755_IG03:        ; bbWeight=0.94, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
@@ -60,39 +60,28 @@ G_M50755_IG04:        ; bbWeight=0.94, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0.94 PerfScore 4.70
-G_M50755_IG05:        ; bbWeight=0.85, gcVars=0000000000000000 {}, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x19-x21 x23]
-            ldr     x1, [x23, #0x50]
-            ldr     x0, [x0, #0x50]
-            ; gcrRegs -[x0]
-            cmp     x1, x0
-            bne     G_M50755_IG14
-                       ;; size=16 bbWeight=0.85 PerfScore 6.41
-G_M50755_IG06:        ; bbWeight=6.83, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
-            b       G_M50755_IG15
-                       ;; size=4 bbWeight=6.83 PerfScore 6.83
-G_M50755_IG07:        ; bbWeight=0.06, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x23]
+G_M50755_IG05:        ; bbWeight=0.06, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x19-x21]
             mov     w22, wzr
             ldr     w0, [x21, #0x08]
             cmp     w0, #0
-            ble     G_M50755_IG17
+            ble     G_M50755_IG15
                        ;; size=16 bbWeight=0.06 PerfScore 0.30
-G_M50755_IG08:        ; bbWeight=0.10, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG06:        ; bbWeight=0.10, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     x0, x21, #16
             ; byrRegs +[x0]
             ldr     x23, [x0, w22, UXTW #3]
             ; gcrRegs +[x23]
-            cbz     x23, G_M50755_IG17
+            cbz     x23, G_M50755_IG15
                        ;; size=12 bbWeight=0.10 PerfScore 0.45
-G_M50755_IG09:        ; bbWeight=0.08, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG07:        ; bbWeight=0.08, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0]
             mov     w24, wzr
             ldr     w0, [x19, #0x08]
             cmp     w0, #0
-            ble     G_M50755_IG16
+            ble     G_M50755_IG14
                        ;; size=16 bbWeight=0.08 PerfScore 0.42
-G_M50755_IG10:        ; bbWeight=0.92, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG08:        ; bbWeight=0.92, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     x0, x19, #16
             ; byrRegs +[x0]
             ldr     x0, [x0, w24, UXTW #3]
@@ -103,21 +92,23 @@ G_M50755_IG10:        ; bbWeight=0.92, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            bne     G_M50755_IG13
+            bne     G_M50755_IG10
                        ;; size=32 bbWeight=0.92 PerfScore 8.73
-G_M50755_IG11:        ; bbWeight=0.85, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG09:        ; bbWeight=0.85, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             mov     x1, x23
             ; gcrRegs +[x1]
             ldr     x1, [x1]
             ; gcrRegs -[x1]
             cmp     x1, x2
-            beq     G_M50755_IG05
-                       ;; size=16 bbWeight=0.85 PerfScore 4.27
-G_M50755_IG12:        ; bbWeight=0.21, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bne     G_M50755_IG11
+            ldr     x1, [x23, #0x50]
+            ldr     x0, [x0, #0x50]
             ; gcrRegs -[x0]
-            b       G_M50755_IG19
-                       ;; size=4 bbWeight=0.21 PerfScore 0.21
-G_M50755_IG13:        ; bbWeight=0.92, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+            cmp     x1, x0
+            bne     G_M50755_IG11
+            b       G_M50755_IG13
+                       ;; size=36 bbWeight=0.85 PerfScore 11.53
+G_M50755_IG10:        ; bbWeight=0.92, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             mov     x1, x23
             ; gcrRegs +[x1]
@@ -127,16 +118,20 @@ G_M50755_IG13:        ; bbWeight=0.92, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, by
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M50755_IG15
+            cbnz    w0, G_M50755_IG13
                       ;; size=24 bbWeight=0.92 PerfScore 10.56
-G_M50755_IG14:        ; bbWeight=0.92, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG11:        ; bbWeight=0.92, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
             ldr     w1, [x19, #0x08]
             cmp     w1, w24
-            ble     G_M50755_IG16
-            b       G_M50755_IG10
-                       ;; size=20 bbWeight=0.92 PerfScore 5.51
-G_M50755_IG15:        ; bbWeight=0.43, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bgt     G_M50755_IG08
+                       ;; size=16 bbWeight=0.92 PerfScore 4.59
+G_M50755_IG12:        ; bbWeight=0.14, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x23]
+            b       G_M50755_IG14
+                       ;; size=4 bbWeight=0.14 PerfScore 0.14
+G_M50755_IG13:        ; bbWeight=0.85, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x23]
             sxtw    x1, w24
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -145,14 +140,14 @@ G_M50755_IG15:        ; bbWeight=0.43, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2 x23]
             ; gcr arg pop 0
-                      ;; size=16 bbWeight=0.43 PerfScore 1.07
-G_M50755_IG16:        ; bbWeight=0.14, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+                     ;; size=16 bbWeight=0.85 PerfScore 2.14
+G_M50755_IG14:        ; bbWeight=0.14, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     w22, w22, #1
             ldr     w14, [x21, #0x08]
             cmp     w14, w22
-            bgt     G_M50755_IG08
+            bgt     G_M50755_IG06
                      ;; size=16 bbWeight=0.14 PerfScore 0.72
-G_M50755_IG17:        ; bbWeight=0.06, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M50755_IG15:        ; bbWeight=0.06, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             add     x14, x20, #8
             ; byrRegs +[x14]
@@ -162,23 +157,15 @@ G_M50755_IG17:        ; bbWeight=0.06, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ; gcrRegs -[x15 x19-x20]
             ; byrRegs -[x14]
                        ;; size=12 bbWeight=0.06 PerfScore 0.12
-G_M50755_IG18:        ; bbWeight=0.06, epilog, nogc, extend
+G_M50755_IG16:        ; bbWeight=0.06, 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=0.06 PerfScore 0.30
-G_M50755_IG19:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x19-x21 x23]
-            add     w24, w24, #1
-            ldr     w0, [x19, #0x08]
-            cmp     w0, w24
-            bgt     G_M50755_IG10
-            b       G_M50755_IG16
-                       ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 312, prolog size 28, PerfScore 61.99, instruction count 78, allocated bytes for code 312 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
+; Total bytes of code 288, prolog size 28, PerfScore 56.09, instruction count 72, allocated bytes for code 288 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -189,7 +176,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 78 (0x0004e) Actual length = 312 (0x000138)
+  Function Length   : 72 (0x00048) Actual length = 288 (0x000120)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-20 (-6.49%) : 506066.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalListInOrder(System.Canon[]):this (Tier1)
@@ -10,20 +10,20 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  5,  4   )     ref  ->  x20         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T01] (  9, 10.85)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T01] (  8, 12.40)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
 ;  V02 loc0         [V02,T07] (  3,  2.01)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V03 loc1         [V03,T09] (  4,  0.17)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V04 loc2         [V04,T08] (  5,  0.32)     int  ->  x22        
-;  V05 loc3         [V05,T04] (  6,  7.93)     ref  ->  x23         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T00] (  9, 14.07)     int  ->  x24        
-;  V07 loc5         [V07,T03] (  5,  9.33)     ref  ->   x0         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T02] (  6,  9.48)     ref  ->  x23         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T00] (  6, 15.62)     int  ->  x24        
+;  V07 loc5         [V07,T04] (  5,  9.33)     ref  ->   x0         class-hnd <System.__Canon>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T10] (  2,  0   )     int  ->   x0         "guarded devirt return temp"
 ;* V10 tmp2         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
 ;* V11 tmp3         [V11    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V12 tmp4         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Reflection.RuntimeMethodInfo>
 ;  V13 tmp5         [V13,T05] (  2,  6.22)     ref  ->   x1         class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
-;  V14 cse0         [V14,T02] (  3,  9.33)    long  ->   x2         hoist multi-def "CSE - aggressive"
+;  V14 cse0         [V14,T03] (  3,  9.33)    long  ->   x2         hoist multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -41,7 +41,7 @@ G_M50755_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M50755_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x21, [x20, #0x08]
             ; gcrRegs +[x21]
-            cbnz    x21, G_M50755_IG07
+            cbnz    x21, G_M50755_IG05
                        ;; size=8 bbWeight=1 PerfScore 4.00
 G_M50755_IG03:        ; bbWeight=0.99, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
@@ -60,37 +60,26 @@ G_M50755_IG04:        ; bbWeight=0.99, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0.99 PerfScore 4.97
-G_M50755_IG05:        ; bbWeight=3.11, gcVars=0000000000000000 {}, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x19-x21 x23]
-            ldr     x1, [x23, #0x50]
-            ldr     x0, [x0, #0x50]
-            ; gcrRegs -[x0]
-            cmp     x1, x0
-            bne     G_M50755_IG10
-                       ;; size=16 bbWeight=3.11 PerfScore 23.31
-G_M50755_IG06:        ; bbWeight=24.87, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
-            b       G_M50755_IG11
-                       ;; size=4 bbWeight=24.87 PerfScore 24.87
-G_M50755_IG07:        ; bbWeight=0.01, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x23]
+G_M50755_IG05:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x19-x21]
             mov     w22, wzr
             ldr     w1, [x21, #0x08]
             cmp     w1, #0
-            ble     G_M50755_IG13
+            ble     G_M50755_IG12
                        ;; size=16 bbWeight=0.01 PerfScore 0.03
-G_M50755_IG08:        ; bbWeight=0.08, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG06:        ; bbWeight=0.08, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     x1, x21, #16
             ; byrRegs +[x1]
             ldr     x23, [x1, w22, UXTW #3]
             ; gcrRegs +[x23]
-            cbz     x23, G_M50755_IG13
+            cbz     x23, G_M50755_IG12
             mov     w24, wzr
             ldr     w1, [x19, #0x08]
             ; byrRegs -[x1]
             cmp     w1, #0
-            ble     G_M50755_IG12
+            ble     G_M50755_IG11
                        ;; size=28 bbWeight=0.08 PerfScore 0.76
-G_M50755_IG09:        ; bbWeight=3.11, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG07:        ; bbWeight=3.11, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     x1, x19, #16
             ; byrRegs +[x1]
             ldr     x0, [x1, w24, UXTW #3]
@@ -101,23 +90,31 @@ G_M50755_IG09:        ; bbWeight=3.11, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            bne     G_M50755_IG15
+            bne     G_M50755_IG14
             mov     x1, x23
             ; gcrRegs +[x1]
             ldr     x1, [x1]
             ; gcrRegs -[x1]
             cmp     x1, x2
-            beq     G_M50755_IG05
-                       ;; size=48 bbWeight=3.11 PerfScore 45.07
-G_M50755_IG10:        ; bbWeight=3.11, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+            bne     G_M50755_IG08
+            ldr     x1, [x23, #0x50]
+            ldr     x0, [x0, #0x50]
             ; gcrRegs -[x0]
+            cmp     x1, x0
+            beq     G_M50755_IG10
+                       ;; size=64 bbWeight=3.11 PerfScore 68.39
+G_M50755_IG08:        ; bbWeight=3.11, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
-            ldr     w0, [x19, #0x08]
-            cmp     w0, w24
-            ble     G_M50755_IG12
-            b       G_M50755_IG09
-                       ;; size=20 bbWeight=3.11 PerfScore 18.65
-G_M50755_IG11:        ; bbWeight=1.55, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            ldr     w1, [x19, #0x08]
+            cmp     w1, w24
+            bgt     G_M50755_IG07
+                       ;; size=16 bbWeight=3.11 PerfScore 15.54
+G_M50755_IG09:        ; bbWeight=0.08, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x23]
+            b       G_M50755_IG11
+                       ;; size=4 bbWeight=0.08 PerfScore 0.08
+G_M50755_IG10:        ; bbWeight=3.11, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x23]
             sxtw    x1, w24
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -126,14 +123,14 @@ G_M50755_IG11:        ; bbWeight=1.55, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2 x23]
             ; gcr arg pop 0
-                      ;; size=16 bbWeight=1.55 PerfScore 3.89
-G_M50755_IG12:        ; bbWeight=0.08, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+                     ;; size=16 bbWeight=3.11 PerfScore 7.77
+G_M50755_IG11:        ; bbWeight=0.08, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     w22, w22, #1
             ldr     w14, [x21, #0x08]
             cmp     w14, w22
-            bgt     G_M50755_IG08
+            bgt     G_M50755_IG06
                      ;; size=16 bbWeight=0.08 PerfScore 0.40
-G_M50755_IG13:        ; bbWeight=0.01, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M50755_IG12:        ; bbWeight=0.01, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             add     x14, x20, #8
             ; byrRegs +[x14]
@@ -143,14 +140,14 @@ G_M50755_IG13:        ; bbWeight=0.01, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ; gcrRegs -[x15 x19-x20]
             ; byrRegs -[x14]
                        ;; size=12 bbWeight=0.01 PerfScore 0.01
-G_M50755_IG14:        ; bbWeight=0.01, epilog, nogc, extend
+G_M50755_IG13:        ; bbWeight=0.01, 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=0.01 PerfScore 0.03
-G_M50755_IG15:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M50755_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x0 x19-x21 x23]
             mov     x1, x23
             ; gcrRegs +[x1]
@@ -160,15 +157,11 @@ G_M50755_IG15:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=B80001
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M50755_IG11
-            add     w24, w24, #1
-            ldr     w0, [x19, #0x08]
-            cmp     w0, w24
-            bgt     G_M50755_IG09
-            b       G_M50755_IG12
-                       ;; size=44 bbWeight=0 PerfScore 0.00
+            cbnz    w0, G_M50755_IG10
+            b       G_M50755_IG08
+                       ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 308, prolog size 28, PerfScore 133.47, instruction count 77, allocated bytes for code 308 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
+; Total bytes of code 288, prolog size 28, PerfScore 109.46, instruction count 72, allocated bytes for code 288 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -179,7 +172,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 77 (0x0004d) Actual length = 308 (0x000134)
+  Function Length   : 72 (0x00048) Actual length = 288 (0x000120)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-20 (-6.49%) : 509431.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalListInOrder(System.Canon[]):this (Tier1)
@@ -9,21 +9,21 @@
 ; 2 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  5,  4   )     ref  ->  x20         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T00] (  9,  6.28)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
+;  V00 this         [V00,T02] (  5,  4   )     ref  ->  x20         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
+;  V01 arg1         [V01,T00] (  8,  6.93)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
 ;  V02 loc0         [V02,T07] (  3,  2.03)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V03 loc1         [V03,T09] (  4,  0.27)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V04 loc2         [V04,T08] (  5,  0.43)     int  ->  x22        
-;  V05 loc3         [V05,T05] (  6,  3.42)     ref  ->  x23         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T02] (  9,  5.86)     int  ->  x24        
-;  V07 loc5         [V07,T04] (  5,  3.86)     ref  ->   x0         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T03] (  6,  4.06)     ref  ->  x23         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T01] (  6,  6.51)     int  ->  x24        
+;  V07 loc5         [V07,T05] (  5,  3.86)     ref  ->   x0         class-hnd <System.__Canon>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T10] (  2,  0   )     int  ->   x0         "guarded devirt return temp"
 ;* V10 tmp2         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
 ;* V11 tmp3         [V11    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V12 tmp4         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Reflection.RuntimeMethodInfo>
 ;  V13 tmp5         [V13,T06] (  2,  2.58)     ref  ->   x1         class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
-;  V14 cse0         [V14,T03] (  3,  3.86)    long  ->   x2         hoist multi-def "CSE - aggressive"
+;  V14 cse0         [V14,T04] (  3,  3.86)    long  ->   x2         hoist multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -41,7 +41,7 @@ G_M50755_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M50755_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x21, [x20, #0x08]
             ; gcrRegs +[x21]
-            cbnz    x21, G_M50755_IG07
+            cbnz    x21, G_M50755_IG05
                        ;; size=8 bbWeight=1 PerfScore 4.00
 G_M50755_IG03:        ; bbWeight=0.97, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
@@ -60,39 +60,28 @@ G_M50755_IG04:        ; bbWeight=0.97, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0.97 PerfScore 4.83
-G_M50755_IG05:        ; bbWeight=1.29, gcVars=0000000000000000 {}, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x19-x21 x23]
-            ldr     x1, [x23, #0x50]
-            ldr     x0, [x0, #0x50]
-            ; gcrRegs -[x0]
-            cmp     x1, x0
-            bne     G_M50755_IG11
-                       ;; size=16 bbWeight=1.29 PerfScore 9.66
-G_M50755_IG06:        ; bbWeight=10.30, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
-            b       G_M50755_IG12
-                       ;; size=4 bbWeight=10.30 PerfScore 10.30
-G_M50755_IG07:        ; bbWeight=0.03, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x23]
+G_M50755_IG05:        ; bbWeight=0.03, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x19-x21]
             mov     w22, wzr
             ldr     w1, [x21, #0x08]
             cmp     w1, #0
-            ble     G_M50755_IG14
+            ble     G_M50755_IG13
                        ;; size=16 bbWeight=0.03 PerfScore 0.17
-G_M50755_IG08:        ; bbWeight=0.10, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG06:        ; bbWeight=0.10, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     x1, x21, #16
             ; byrRegs +[x1]
             ldr     x23, [x1, w22, UXTW #3]
             ; gcrRegs +[x23]
-            cbz     x23, G_M50755_IG14
+            cbz     x23, G_M50755_IG13
                        ;; size=12 bbWeight=0.10 PerfScore 0.45
-G_M50755_IG09:        ; bbWeight=0.06, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG07:        ; bbWeight=0.06, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x1]
             mov     w24, wzr
             ldr     w1, [x19, #0x08]
             cmp     w1, #0
-            ble     G_M50755_IG13
+            ble     G_M50755_IG12
                        ;; size=16 bbWeight=0.06 PerfScore 0.32
-G_M50755_IG10:        ; bbWeight=1.29, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG08:        ; bbWeight=1.29, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     x1, x19, #16
             ; byrRegs +[x1]
             ldr     x0, [x1, w24, UXTW #3]
@@ -103,23 +92,31 @@ G_M50755_IG10:        ; bbWeight=1.29, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            bne     G_M50755_IG16
+            bne     G_M50755_IG15
             mov     x1, x23
             ; gcrRegs +[x1]
             ldr     x1, [x1]
             ; gcrRegs -[x1]
             cmp     x1, x2
-            beq     G_M50755_IG05
-                       ;; size=48 bbWeight=1.29 PerfScore 18.68
-G_M50755_IG11:        ; bbWeight=1.29, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+            bne     G_M50755_IG09
+            ldr     x1, [x23, #0x50]
+            ldr     x0, [x0, #0x50]
             ; gcrRegs -[x0]
+            cmp     x1, x0
+            beq     G_M50755_IG11
+                       ;; size=64 bbWeight=1.29 PerfScore 28.34
+G_M50755_IG09:        ; bbWeight=1.29, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
-            ldr     w0, [x19, #0x08]
-            cmp     w0, w24
-            ble     G_M50755_IG13
-            b       G_M50755_IG10
-                       ;; size=20 bbWeight=1.29 PerfScore 7.73
-G_M50755_IG12:        ; bbWeight=0.64, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            ldr     w1, [x19, #0x08]
+            cmp     w1, w24
+            bgt     G_M50755_IG08
+                       ;; size=16 bbWeight=1.29 PerfScore 6.44
+G_M50755_IG10:        ; bbWeight=0.10, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x23]
+            b       G_M50755_IG12
+                       ;; size=4 bbWeight=0.10 PerfScore 0.10
+G_M50755_IG11:        ; bbWeight=1.29, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x23]
             sxtw    x1, w24
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -128,14 +125,14 @@ G_M50755_IG12:        ; bbWeight=0.64, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2 x23]
             ; gcr arg pop 0
-                      ;; size=16 bbWeight=0.64 PerfScore 1.61
-G_M50755_IG13:        ; bbWeight=0.10, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+                     ;; size=16 bbWeight=1.29 PerfScore 3.22
+G_M50755_IG12:        ; bbWeight=0.10, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     w22, w22, #1
             ldr     w14, [x21, #0x08]
             cmp     w14, w22
-            bgt     G_M50755_IG08
+            bgt     G_M50755_IG06
                      ;; size=16 bbWeight=0.10 PerfScore 0.49
-G_M50755_IG14:        ; bbWeight=0.03, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M50755_IG13:        ; bbWeight=0.03, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             add     x14, x20, #8
             ; byrRegs +[x14]
@@ -145,14 +142,14 @@ G_M50755_IG14:        ; bbWeight=0.03, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ; gcrRegs -[x15 x19-x20]
             ; byrRegs -[x14]
                        ;; size=12 bbWeight=0.03 PerfScore 0.07
-G_M50755_IG15:        ; bbWeight=0.03, epilog, nogc, extend
+G_M50755_IG14:        ; bbWeight=0.03, 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=0.03 PerfScore 0.17
-G_M50755_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M50755_IG15:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x0 x19-x21 x23]
             mov     x1, x23
             ; gcrRegs +[x1]
@@ -162,15 +159,11 @@ G_M50755_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=B80001
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M50755_IG12
-            add     w24, w24, #1
-            ldr     w0, [x19, #0x08]
-            cmp     w0, w24
-            bgt     G_M50755_IG10
-            b       G_M50755_IG13
-                       ;; size=44 bbWeight=0 PerfScore 0.00
+            cbnz    w0, G_M50755_IG11
+            b       G_M50755_IG09
+                       ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 308, prolog size 28, PerfScore 65.92, instruction count 77, allocated bytes for code 308 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
+; Total bytes of code 288, prolog size 28, PerfScore 56.03, instruction count 72, allocated bytes for code 288 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -181,7 +174,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 77 (0x0004d) Actual length = 308 (0x000134)
+  Function Length   : 72 (0x00048) Actual length = 288 (0x000120)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+28 (+17.50%) : 722994.dasm - System.Collections.Concurrent.ConcurrentQueue1[System.Collections.Generic.KeyValuePair2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
@@ -14,25 +14,27 @@
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  4,  8   )     ref  ->   x3         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Collections.Generic.KeyValuePair`2[int,long]]>
-;  V05 tmp3         [V05,T06] (  5,  4.99)     ref  ->   x4         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T02] (  6,  5.96)     int  ->   x6         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->   x7         "Inline stloc first use temp"
+;  V05 tmp3         [V05,T06] (  5,  4.99)     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V06 tmp4         [V06,T02] (  6,  5.96)     int  ->   x5         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->   x6         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V09 tmp7         [V09,T11] (  3,  2.01)     int  ->   x8         "Inline stloc first use temp"
+;  V09 tmp7         [V09,T11] (  3,  2.01)     int  ->   x6         "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T04] (  3,  2.99)     int  ->   x1         single-def "field V01.key (fldOffset=0x0)" P-INDEP
 ;  V11 tmp9         [V11,T05] (  3,  2.99)    long  ->   x2         single-def "field V01.value (fldOffset=0x8)" P-INDEP
-;  V12 tmp10        [V12,T03] (  3,  5.96)   byref  ->   x3         single-def "BlockOp address local"
-;  V13 cse0         [V13,T07] (  4,  3.99)    long  ->   x7         "CSE - aggressive"
-;  V14 cse1         [V14,T09] (  3,  2.99)   byref  ->   x5         hoist "CSE - aggressive"
-;  V15 cse2         [V15,T12] (  2,  2   )     int  ->   x8         "CSE - aggressive"
-;  V16 cse3         [V16,T10] (  3,  2.97)     int  ->   x8         "CSE - aggressive"
+;  V12 tmp10        [V12,T03] (  3,  5.96)   byref  ->   x0         single-def "BlockOp address local"
+;  V13 cse0         [V13,T07] (  4,  3.99)    long  ->  x20         "CSE - aggressive"
+;  V14 cse1         [V14,T09] (  3,  2.99)   byref  ->   x4         hoist "CSE - aggressive"
+;  V15 cse2         [V15,T12] (  2,  2   )     int  ->   x7         "CSE - aggressive"
+;  V16 cse3         [V16,T10] (  3,  2.97)     int  ->  x21         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M53455_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-                       ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M53455_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0]
             add     x3, x0, #16
@@ -40,88 +42,89 @@ G_M53455_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ldapr   x3, [x3]
             ; gcrRegs +[x3]
             ; byrRegs -[x3]
-            ldr     x4, [x3, #0x08]
-            ; gcrRegs +[x4]
-            add     x5, x3, #0xD1FFAB1E
-            ; byrRegs +[x5]
-                       ;; size=16 bbWeight=1 PerfScore 7.00
-G_M53455_IG03:        ; bbWeight=1, gcrefRegs=0019 {x0 x3 x4}, byrefRegs=0020 {x5}, byref, isz
-            ldapr   w6, [x5]
-            ldr     w7, [x3, #0x18]
-            and     w7, w6, w7
-            ldr     w8, [x4, #0x08]
-            cmp     w7, w8
-            bhs     G_M53455_IG10
-            mov     w8, #24
-            mov     x9, #16
-            umaddl  x7, w7, w8, x9
-            add     x8, x4, x7
-            ; byrRegs +[x8]
-            ldapr   w8, [x8]
-            ; byrRegs -[x8]
-            sub     w8, w8, w6
-            cbnz    w8, G_M53455_IG07
-                       ;; size=52 bbWeight=1 PerfScore 22.00
-G_M53455_IG04:        ; bbWeight=0.99, gcrefRegs=0019 {x0 x3 x4}, byrefRegs=0020 {x5}, byref, isz
-            add     w8, w6, #1
-            mov     w9, w6
-            casal   w9, w8, [x5]
-            cmp     w9, w6
-            bne     G_M53455_IG03
-                       ;; size=20 bbWeight=0.99 PerfScore 5.43
-G_M53455_IG05:        ; bbWeight=0.99, gcrefRegs=0010 {x4}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0 x3]
-            ; byrRegs -[x5]
-            add     x3, x4, x7
-            ; byrRegs +[x3]
-            str     w1, [x3, #0x08]
-            str     x2, [x3, #0x10]
-            add     x4, x4, x7
-            ; gcrRegs -[x4]
+            ldr     x19, [x3, #0x08]
+            ; gcrRegs +[x19]
+            add     x4, x3, #0xD1FFAB1E
             ; byrRegs +[x4]
-            stlr    w8, [x4]
-                       ;; size=20 bbWeight=0.99 PerfScore 3.97
-G_M53455_IG06:        ; bbWeight=0.99, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=0.99 PerfScore 1.99
-G_M53455_IG07:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=0019 {x0 x3 x4}, byrefRegs=0020 {x5}, gcvars, byref, isz
-            ; gcrRegs +[x0 x3-x4]
-            ; byrRegs -[x3-x4] +[x5]
-            tbz     w8, #31, G_M53455_IG03
+                       ;; size=16 bbWeight=1 PerfScore 7.00
+G_M53455_IG03:        ; bbWeight=1, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            ldapr   w5, [x4]
+            ldr     w6, [x3, #0x18]
+            and     w6, w5, w6
+            ldr     w7, [x19, #0x08]
+            cmp     w6, w7
+            bhs     G_M53455_IG10
+            mov     w7, #24
+            mov     x8, #16
+            umaddl  x20, w6, w7, x8
+            add     x6, x19, x20
+            ; byrRegs +[x6]
+            ldapr   w6, [x6]
+            ; byrRegs -[x6]
+            sub     w6, w6, w5
+            cbnz    w6, G_M53455_IG05
+                       ;; size=52 bbWeight=1 PerfScore 22.00
+G_M53455_IG04:        ; bbWeight=0.99, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            add     w21, w5, #1
+            mov     w6, w5
+            casal   w6, w21, [x4]
+            cmp     w6, w5
+            bne     G_M53455_IG03
+            b       G_M53455_IG08
+                       ;; size=24 bbWeight=0.99 PerfScore 6.42
+G_M53455_IG05:        ; bbWeight=0.01, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            tbz     w6, #31, G_M53455_IG03
                      ;; size=4 bbWeight=0.01 PerfScore 0.01
-G_M53455_IG08:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x3-x4]
-            ; byrRegs -[x5]
+G_M53455_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x3 x19]
+            ; byrRegs -[x4]
             movz    x3, #0xD1FFAB1E      // code for <unknown method>
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
                        ;; size=16 bbWeight=1 PerfScore 4.50
-G_M53455_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M53455_IG07:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             br      x3
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=1 PerfScore 2.00
+                       ;; size=16 bbWeight=1 PerfScore 5.00
+G_M53455_IG08:        ; bbWeight=0.99, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0] +[x19]
+            add     x0, x19, x20
+            ; byrRegs +[x0]
+            str     w1, [x0, #0x08]
+            str     x2, [x0, #0x10]
+            add     x0, x19, x20
+            stlr    w21, [x0]
+                       ;; size=20 bbWeight=0.99 PerfScore 3.97
+G_M53455_IG09:        ; bbWeight=0.99, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
+            ret     lr
+                       ;; size=16 bbWeight=0.99 PerfScore 4.97
 G_M53455_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0]
+            ; gcrRegs -[x19]
+            ; byrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 160, prolog size 8, PerfScore 48.41, instruction count 40, allocated bytes for code 160 (MethodHash=d16f2f30) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
+; Total bytes of code 188, prolog size 16, PerfScore 57.37, instruction count 47, allocated bytes for code 188 (MethodHash=d16f2f30) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 40 (0x00028) Actual length = 160 (0x0000a0)
+  Function Length   : 47 (0x0002f) Actual length = 188 (0x0000bc)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -132,7 +135,9 @@ 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 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
 
  
+28 (+18.92%) : 203189.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
@@ -18,18 +18,20 @@
 ;  V06 tmp4         [V06,T03] (  6,  4.56)     int  ->   x5         "Inline stloc first use temp"
 ;  V07 tmp5         [V07,T05] (  3,  3.00)     int  ->   x6         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V09 tmp7         [V09,T09] (  3,  2.48)     int  ->   x8         "Inline stloc first use temp"
-;  V10 cse0         [V10,T06] (  3,  3.00)   byref  ->   x7         "CSE - aggressive"
-;  V11 cse1         [V11,T07] (  3,  3.00)   byref  ->   x6         "CSE - aggressive"
+;  V09 tmp7         [V09,T09] (  3,  2.48)     int  ->   x6         "Inline stloc first use temp"
+;  V10 cse0         [V10,T06] (  3,  3.00)   byref  ->  x20         "CSE - aggressive"
+;  V11 cse1         [V11,T07] (  3,  3.00)   byref  ->  x19         "CSE - aggressive"
 ;  V12 cse2         [V12,T08] (  3,  2.52)   byref  ->   x4         hoist "CSE - aggressive"
-;  V13 cse3         [V13,T10] (  3,  2.04)     int  ->   x8         "CSE - moderate"
+;  V13 cse3         [V13,T10] (  3,  2.04)     int  ->  x21         "CSE - moderate"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M7919_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-                       ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M7919_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0]
             add     x2, x0, #16
@@ -48,40 +50,35 @@ G_M7919_IG03:        ; bbWeight=1.00, gcrefRegs=000D {x0 x2 x3}, byrefRegs=0010
             and     w6, w5, w6
             ldr     w7, [x3, #0x08]
             cmp     w6, w7
-            bhs     G_M7919_IG10
+            bhs     G_M7919_IG11
             ubfiz   x6, x6, #3, #32
             add     x6, x6, #16
-            add     x6, x3, x6
-            ; byrRegs +[x6]
-            add     x7, x6, #4
-            ; byrRegs +[x7]
-            ldapr   w8, [x7]
-            sub     w8, w8, w5
-            cbnz    w8, G_M7919_IG07
+            add     x19, x3, x6
+            ; byrRegs +[x19]
+            add     x20, x19, #4
+            ; byrRegs +[x20]
+            ldapr   w6, [x20]
+            sub     w6, w6, w5
+            cbnz    w6, G_M7919_IG06
                        ;; size=52 bbWeight=1.00 PerfScore 18.00
-G_M7919_IG04:        ; bbWeight=0.52, gcrefRegs=000D {x0 x2 x3}, byrefRegs=00D0 {x4 x6 x7}, byref, isz
-            add     w8, w5, #1
-            mov     w9, w5
-            casal   w9, w8, [x4]
-            cmp     w9, w5
+G_M7919_IG04:        ; bbWeight=0.52, gcrefRegs=000D {x0 x2 x3}, byrefRegs=180010 {x4 x19 x20}, byref, isz
+            add     w21, w5, #1
+            mov     w6, w5
+            casal   w6, w21, [x4]
+            cmp     w6, w5
             bne     G_M7919_IG03
                        ;; size=20 bbWeight=0.52 PerfScore 2.86
-G_M7919_IG05:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=00C0 {x6 x7}, byref
+G_M7919_IG05:        ; bbWeight=0.52, gcrefRegs=0000 {}, byrefRegs=180000 {x19 x20}, byref
             ; gcrRegs -[x0 x2-x3]
             ; byrRegs -[x4]
-            str     w1, [x6]
-            stlr    w8, [x7]
-                       ;; size=8 bbWeight=1.00 PerfScore 2.00
-G_M7919_IG06:        ; bbWeight=1.00, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=1.00 PerfScore 2.00
-G_M7919_IG07:        ; bbWeight=0.48, gcVars=0000000000000000 {}, gcrefRegs=000D {x0 x2 x3}, byrefRegs=0010 {x4}, gcvars, byref, isz
+            b       G_M7919_IG09
+                       ;; size=4 bbWeight=0.52 PerfScore 0.52
+G_M7919_IG06:        ; bbWeight=0.48, gcrefRegs=000D {x0 x2 x3}, byrefRegs=0010 {x4}, byref, isz
             ; gcrRegs +[x0 x2-x3]
-            ; byrRegs -[x6-x7] +[x4]
-            tbz     w8, #31, G_M7919_IG03
+            ; byrRegs -[x19-x20] +[x4]
+            tbz     w6, #31, G_M7919_IG03
                       ;; size=4 bbWeight=0.48 PerfScore 0.48
-G_M7919_IG08:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M7919_IG07:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x2-x3]
             ; byrRegs -[x4]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
@@ -89,30 +86,44 @@ G_M7919_IG08:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
                        ;; size=16 bbWeight=1 PerfScore 4.50
-G_M7919_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M7919_IG08:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             br      x2
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=1 PerfScore 2.00
-G_M7919_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                       ;; size=16 bbWeight=1 PerfScore 5.00
+G_M7919_IG09:        ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=180000 {x19 x20}, gcvars, byref
             ; gcrRegs -[x0]
+            ; byrRegs +[x19-x20]
+            str     w1, [x19]
+            stlr    w21, [x20]
+                       ;; size=8 bbWeight=1.00 PerfScore 2.00
+G_M7919_IG10:        ; bbWeight=1.00, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
+            ret     lr
+                       ;; size=16 bbWeight=1.00 PerfScore 4.99
+G_M7919_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            ; byrRegs -[x19-x20]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 148, prolog size 8, PerfScore 40.34, instruction count 37, allocated bytes for code 148 (MethodHash=ce54e110) for method System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
+; Total bytes of code 176, prolog size 16, PerfScore 48.85, instruction count 44, allocated bytes for code 176 (MethodHash=ce54e110) for method System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 37 (0x00025) Actual length = 148 (0x000094)
+  Function Length   : 44 (0x0002c) Actual length = 176 (0x0000b0)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -123,7 +134,9 @@ 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 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
 
  
+32 (+21.62%) : 628866.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
@@ -9,8 +9,8 @@
 ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  4,  4   )     ref  ->   x0         this class-hnd single-def <System.Collections.Concurrent.ConcurrentQueue`1[int]>
-;  V01 arg1         [V01,T02] (  4,  4   )     int  ->   x1         single-def
+;  V00 this         [V00,T01] (  4,  3.99)     ref  ->   x0         this class-hnd single-def <System.Collections.Concurrent.ConcurrentQueue`1[int]>
+;  V01 arg1         [V01,T02] (  4,  3.99)     int  ->   x1         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[int]>
@@ -18,18 +18,20 @@
 ;  V06 tmp4         [V06,T03] (  6,  5.97)     int  ->   x5         "Inline stloc first use temp"
 ;  V07 tmp5         [V07,T07] (  3,  3   )     int  ->   x6         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V09 tmp7         [V09,T10] (  3,  2.01)     int  ->   x8         "Inline stloc first use temp"
-;  V10 cse0         [V10,T05] (  3,  3   )   byref  ->   x7         "CSE - aggressive"
-;  V11 cse1         [V11,T06] (  3,  3   )   byref  ->   x6         "CSE - aggressive"
+;  V09 tmp7         [V09,T10] (  3,  2.01)     int  ->   x6         "Inline stloc first use temp"
+;  V10 cse0         [V10,T05] (  3,  3   )   byref  ->  x20         "CSE - aggressive"
+;  V11 cse1         [V11,T06] (  3,  3   )   byref  ->  x19         "CSE - aggressive"
 ;  V12 cse2         [V12,T08] (  3,  2.99)   byref  ->   x4         hoist "CSE - aggressive"
-;  V13 cse3         [V13,T09] (  3,  2.98)     int  ->   x8         "CSE - aggressive"
+;  V13 cse3         [V13,T09] (  3,  2.98)     int  ->  x21         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M7919_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-                       ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M7919_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0]
             add     x2, x0, #16
@@ -48,71 +50,80 @@ G_M7919_IG03:        ; bbWeight=1, gcrefRegs=000D {x0 x2 x3}, byrefRegs=0010 {x4
             and     w6, w5, w6
             ldr     w7, [x3, #0x08]
             cmp     w6, w7
-            bhs     G_M7919_IG10
+            bhs     G_M7919_IG11
             ubfiz   x6, x6, #3, #32
             add     x6, x6, #16
-            add     x6, x3, x6
-            ; byrRegs +[x6]
-            add     x7, x6, #4
-            ; byrRegs +[x7]
-            ldapr   w8, [x7]
-            sub     w8, w8, w5
-            cbnz    w8, G_M7919_IG07
+            add     x19, x3, x6
+            ; byrRegs +[x19]
+            add     x20, x19, #4
+            ; byrRegs +[x20]
+            ldapr   w6, [x20]
+            sub     w6, w6, w5
+            cbnz    w6, G_M7919_IG05
                        ;; size=52 bbWeight=1 PerfScore 18.00
-G_M7919_IG04:        ; bbWeight=0.99, gcrefRegs=000D {x0 x2 x3}, byrefRegs=00D0 {x4 x6 x7}, byref, isz
-            add     w8, w5, #1
-            mov     w9, w5
-            casal   w9, w8, [x4]
-            cmp     w9, w5
+G_M7919_IG04:        ; bbWeight=0.99, gcrefRegs=000D {x0 x2 x3}, byrefRegs=180010 {x4 x19 x20}, byref, isz
+            add     w21, w5, #1
+            mov     w6, w5
+            casal   w6, w21, [x4]
+            cmp     w6, w5
             bne     G_M7919_IG03
-                       ;; size=20 bbWeight=0.99 PerfScore 5.45
-G_M7919_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=00C0 {x6 x7}, byref
-            ; gcrRegs -[x0 x2-x3]
-            ; byrRegs -[x4]
-            str     w1, [x6]
-            stlr    w8, [x7]
-                       ;; size=8 bbWeight=1 PerfScore 2.00
-G_M7919_IG06:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=1 PerfScore 2.00
-G_M7919_IG07:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=000D {x0 x2 x3}, byrefRegs=0010 {x4}, gcvars, byref, isz
-            ; gcrRegs +[x0 x2-x3]
-            ; byrRegs -[x6-x7] +[x4]
-            tbz     w8, #31, G_M7919_IG03
+            b       G_M7919_IG07
+                       ;; size=24 bbWeight=0.99 PerfScore 6.44
+G_M7919_IG05:        ; bbWeight=0.01, gcrefRegs=000D {x0 x2 x3}, byrefRegs=0010 {x4}, byref, isz
+            ; byrRegs -[x19-x20]
+            tbz     w6, #31, G_M7919_IG03
                       ;; size=4 bbWeight=0.01 PerfScore 0.01
-G_M7919_IG08:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M7919_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x2-x3]
             ; byrRegs -[x4]
+            b       G_M7919_IG09
+                       ;; size=4 bbWeight=1 PerfScore 1.00
+G_M7919_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=180000 {x19 x20}, byref
+            ; gcrRegs -[x0]
+            ; byrRegs +[x19-x20]
+            str     w1, [x19]
+            stlr    w21, [x20]
+                       ;; size=8 bbWeight=1 PerfScore 2.00
+G_M7919_IG08:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
+            ret     lr
+                       ;; size=16 bbWeight=1 PerfScore 5.00
+G_M7919_IG09:        ; bbWeight=0.99, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs +[x0]
+            ; byrRegs -[x19-x20]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
-                     ;; size=16 bbWeight=1 PerfScore 4.50
-G_M7919_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+                      ;; size=16 bbWeight=0.99 PerfScore 4.46
+G_M7919_IG10:        ; bbWeight=0.99, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             br      x2
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=1 PerfScore 2.00
-G_M7919_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                       ;; size=16 bbWeight=0.99 PerfScore 4.95
+G_M7919_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 148, prolog size 8, PerfScore 42.46, instruction count 37, allocated bytes for code 148 (MethodHash=ce54e110) for method System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
+; Total bytes of code 180, prolog size 16, PerfScore 52.36, instruction count 45, allocated bytes for code 180 (MethodHash=ce54e110) for method System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 37 (0x00025) Actual length = 148 (0x000094)
+  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)
@@ -123,7 +134,9 @@ 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 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
 
  
  
librariestestsnotieredcompilation.run.linux.arm64.Release.mch
-4 (-3.57%) : 50450.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
@@ -25,7 +25,7 @@ G_M65070_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ; gcrRegs +[x0]
             mov     x19, x0
             ; gcrRegs +[x19]
-            cbz     x19, G_M65070_IG09
+            cbz     x19, G_M65070_IG06
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M65070_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -39,12 +39,12 @@ G_M65070_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs -[x0]
             mov     w1, #0xD1FFAB1E
             cmp     w0, w1
-            beq     G_M65070_IG07
+            beq     G_M65070_IG08
                        ;; size=36 bbWeight=4 PerfScore 32.00
 G_M65070_IG04:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     w1, #0xD1FFAB1E
             cmp     w0, w1
-            beq     G_M65070_IG07
+            beq     G_M65070_IG08
                        ;; size=12 bbWeight=2 PerfScore 4.00
 G_M65070_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x19, #0x08]
@@ -52,26 +52,23 @@ G_M65070_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
                        ;; size=8 bbWeight=4 PerfScore 16.00
 G_M65070_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
-            b       G_M65070_IG09
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M65070_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #1
-                       ;; size=4 bbWeight=2 PerfScore 1.00
-G_M65070_IG08:        ; bbWeight=2, epilog, nogc, extend
+            mov     w0, wzr
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M65070_IG07:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
-                       ;; size=12 bbWeight=2 PerfScore 8.00
-G_M65070_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            mov     w0, wzr
+                      ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M65070_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, #1
                      ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M65070_IG10:        ; bbWeight=0.50, epilog, nogc, extend
+G_M65070_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 112, prolog size 12, PerfScore 67.75, instruction count 28, allocated bytes for code 112 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
+; Total bytes of code 108, prolog size 12, PerfScore 60.50, instruction count 27, allocated bytes for code 108 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -82,7 +79,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
+  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-3.57%) : 12339.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
@@ -25,7 +25,7 @@ G_M65070_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ; gcrRegs +[x0]
             mov     x19, x0
             ; gcrRegs +[x19]
-            cbz     x19, G_M65070_IG09
+            cbz     x19, G_M65070_IG06
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M65070_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -39,12 +39,12 @@ G_M65070_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs -[x0]
             mov     w1, #0xD1FFAB1E
             cmp     w0, w1
-            beq     G_M65070_IG07
+            beq     G_M65070_IG08
                        ;; size=36 bbWeight=4 PerfScore 32.00
 G_M65070_IG04:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     w1, #0xD1FFAB1E
             cmp     w0, w1
-            beq     G_M65070_IG07
+            beq     G_M65070_IG08
                        ;; size=12 bbWeight=2 PerfScore 4.00
 G_M65070_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x19, #0x08]
@@ -52,26 +52,23 @@ G_M65070_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
                        ;; size=8 bbWeight=4 PerfScore 16.00
 G_M65070_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
-            b       G_M65070_IG09
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M65070_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #1
-                       ;; size=4 bbWeight=2 PerfScore 1.00
-G_M65070_IG08:        ; bbWeight=2, epilog, nogc, extend
+            mov     w0, wzr
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M65070_IG07:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
-                       ;; size=12 bbWeight=2 PerfScore 8.00
-G_M65070_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            mov     w0, wzr
+                      ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M65070_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, #1
                      ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M65070_IG10:        ; bbWeight=0.50, epilog, nogc, extend
+G_M65070_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 112, prolog size 12, PerfScore 67.75, instruction count 28, allocated bytes for code 112 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
+; Total bytes of code 108, prolog size 12, PerfScore 60.50, instruction count 27, allocated bytes for code 108 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -82,7 +79,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
+  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-28 (-3.45%) : 12748.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>cDisplayClass11_0[ushort]:gexecuteExecutableCodeActions|2():this (FullOpts)
@@ -22,20 +22,20 @@
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.DeclarationInfo[]>
 ;* V12 tmp5         [V12    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IOperation]>
 ;* V13 tmp6         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ushort]>
-;  V14 tmp7         [V14,T03] (  4, 12.50)     int  ->   x4         "Inline stloc first use temp"
+;  V14 tmp7         [V14,T03] (  4, 12.50)     int  ->   x3         "Inline stloc first use temp"
 ;  V15 tmp8         [V15,T06] (  5,  5.50)     ref  ->  x19         "field V01.array (fldOffset=0x0)" P-INDEP
 ;  V16 tmp9         [V16,T08] (  2,  4.50)     ref  ->   x1         single-def "field V03._array (fldOffset=0x0)" P-INDEP
-;  V17 tmp10        [V17,T02] (  4, 12.50)     int  ->   x5         "field V03._index (fldOffset=0x8)" P-INDEP
-;  V18 tmp11        [V18,T04] (  3, 10   )     ref  ->   x6         "field V04.<DeclaredNode>k__BackingField (fldOffset=0x0)" P-INDEP
+;  V17 tmp10        [V17,T02] (  4, 12.50)     int  ->   x4         "field V03._index (fldOffset=0x8)" P-INDEP
+;  V18 tmp11        [V18,T04] (  3, 10   )     ref  ->   x5         "field V04.<DeclaredNode>k__BackingField (fldOffset=0x0)" P-INDEP
 ;* V19 tmp12        [V19    ] (  0,  0   )     ref  ->  zero-ref    "field V04.<DeclaredSymbol>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V20 tmp13        [V20,T05] (  2,  6   )     ref  ->   x4         "field V04.<ExecutableCodeBlocks>k__BackingField (fldOffset=0x10)" P-INDEP
+;  V20 tmp13        [V20,T05] (  2,  6   )     ref  ->   x3         "field V04.<ExecutableCodeBlocks>k__BackingField (fldOffset=0x10)" P-INDEP
 ;  V21 tmp14        [V21,T11] (  5,  2   )     ref  ->  [fp+0x18]  do-not-enreg[H] EH-live "field V05.array (fldOffset=0x0)" P-INDEP
-;  V22 tmp15        [V22,T10] (  5,  2.50)     ref  ->  x20         "field V06.array (fldOffset=0x0)" P-INDEP
+;  V22 tmp15        [V22,T10] (  5,  2.50)     ref  ->  x21         "field V06.array (fldOffset=0x0)" P-INDEP
 ;  V23 tmp16        [V23,T12] (  3,  1.50)     ref  ->   x1         single-def "field V09.array (fldOffset=0x0)" P-INDEP
 ;  V24 tmp17        [V24,T13] (  2,  1   )     ref  ->   x1         single-def "field V10._array (fldOffset=0x0)" P-INDEP
 ;* V25 tmp18        [V25,T15] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x8)" P-INDEP
 ;* V26 tmp19        [V26    ] (  0,  0   )     ref  ->  zero-ref    "field V12.array (fldOffset=0x0)" P-INDEP
-;  V27 tmp20        [V27,T00] (  3, 24   )   byref  ->   x4         "BlockOp address local"
+;  V27 tmp20        [V27,T00] (  3, 24   )   byref  ->   x3         "BlockOp address local"
 ;  V28 PSPSym       [V28,T14] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
 ;  V29 cse0         [V29,T07] (  3,  5   )     int  ->   x2         "CSE - aggressive"
 ;
@@ -97,96 +97,95 @@ G_M10501_IG05:        ; bbWeight=0.50, gcVars=0000000000000002 {V00}, gcrefRegs=
             ldr     wzr, [x0]
             blr     x1
             ; gcr arg pop 0
-            mov     x3, x0
-            ; gcrRegs +[x3]
-            str     x3, [fp, #0x20]    // [V02 loc1]
+            str     x0, [fp, #0x20]  // [V02 loc1]
             ; GC ptr vars +{V02}
-                     ;; size=88 bbWeight=0.50 PerfScore 12.50
-G_M10501_IG06:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=80008 {x3 x19}, byrefRegs=0000 {}, gcvars, byref, isz
+                        ;; size=84 bbWeight=0.50 PerfScore 12.25
+G_M10501_IG06:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [fp, #0x28] // [V00 this]
-            ; gcrRegs +[x0]
-            ldr     x1, [x0, #0x68]
+            ldr     x20, [fp, #0x28]  // [V00 this]
+            ; gcrRegs +[x20]
+            ldr     x1, [x20, #0x68]
             ; gcrRegs +[x1]
             ldr     w2, [x1, #0x08]
+            mov     w3, wzr
             mov     w4, wzr
-            mov     w5, wzr
             cmp     w2, #0
             ble     G_M10501_IG11
                        ;; size=28 bbWeight=0.50 PerfScore 5.25
-G_M10501_IG07:        ; bbWeight=4, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0000 {}, byref, isz
-            mov     w6, #24
-            mov     x7, #16
-            umaddl  x4, w4, w6, x7
-            add     x4, x1, x4
-            ; byrRegs +[x4]
-            ldr     x6, [x4]
+G_M10501_IG07:        ; bbWeight=4, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=0000 {}, byref, isz
+            mov     w5, #24
+            mov     x6, #16
+            umaddl  x3, w3, w5, x6
+            add     x3, x1, x3
+            ; byrRegs +[x3]
+            ldr     x5, [x3]
+            ; gcrRegs +[x5]
+            ldr     x3, [x3, #0x10]
+            ; gcrRegs +[x3]
+            ; byrRegs -[x3]
+            ldr     x6, [x20, #0x50]
             ; gcrRegs +[x6]
-            ldr     x4, [x4, #0x10]
-            ; gcrRegs +[x4]
-            ; byrRegs -[x4]
-            ldr     x7, [x0, #0x50]
-            ; gcrRegs +[x7]
-            cmp     x6, x7
+            cmp     x5, x6
             beq     G_M10501_IG09
                        ;; size=36 bbWeight=4 PerfScore 68.00
-G_M10501_IG08:        ; bbWeight=2, gcrefRegs=8005B {x0 x1 x3 x4 x6 x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x7]
-            ldr     x7, [x0, #0x48]
-            ; gcrRegs +[x7]
-            cmp     x6, x7
+G_M10501_IG08:        ; bbWeight=2, gcrefRegs=18002A {x1 x3 x5 x19 x20}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x6]
+            ldr     x6, [x20, #0x48]
+            ; gcrRegs +[x6]
+            cmp     x5, x6
             bne     G_M10501_IG10
                        ;; size=12 bbWeight=2 PerfScore 9.00
-G_M10501_IG09:        ; bbWeight=2, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x6-x7 x19]
-            mov     x19, x4
+G_M10501_IG09:        ; bbWeight=2, gcrefRegs=10000A {x1 x3 x20}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x5-x6 x19]
+            mov     x19, x3
             ; gcrRegs +[x19]
-            ldr     w4, [x19, #0x08]
-            ; gcrRegs -[x4]
-            cbnz    w4, G_M10501_IG12
+            ldr     w3, [x19, #0x08]
+            ; gcrRegs -[x3]
+            cbnz    w3, G_M10501_IG12
                       ;; size=12 bbWeight=2 PerfScore 9.00
-G_M10501_IG10:        ; bbWeight=4, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0000 {}, byref, isz
-            add     w4, w5, #1
-            sxtw    w5, w4
-            cmp     w2, w5
+G_M10501_IG10:        ; bbWeight=4, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=0000 {}, byref, isz
+            add     w3, w4, #1
+            sxtw    w4, w3
+            cmp     w2, w4
             bgt     G_M10501_IG07
                        ;; size=16 bbWeight=4 PerfScore 10.00
-G_M10501_IG11:        ; bbWeight=0.50, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0000 {}, byref
+G_M10501_IG11:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x1]
+            mov     x0, x20
+            ; gcrRegs +[x0]
             mov     x1, x19
             ; gcrRegs +[x1]
-            mov     x2, x3
+            ldr     x2, [fp, #0x20]   // [V02 loc1]
             ; gcrRegs +[x2]
-            movz    x4, #0xD1FFAB1E      // code for <unknown method>
-            movk    x4, #0xD1FFAB1E LSL #16
-            movk    x4, #0xD1FFAB1E LSL #32
-            ldr     x4, [x4]
+            movz    x3, #0xD1FFAB1E      // code for <unknown method>
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     x3, [x3]
             ; GC ptr vars -{V00}
-            blr     x4
-            ; gcrRegs -[x0-x3 x19]
+            blr     x3
+            ; gcrRegs -[x0-x2 x19-x20]
             ; gcr arg pop 0
             b       G_M10501_IG17
-                        ;; size=32 bbWeight=0.50 PerfScore 3.75
-G_M10501_IG12:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x3 x19]
+                       ;; size=36 bbWeight=0.50 PerfScore 4.75
+G_M10501_IG12:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x19-x20]
             ; GC ptr vars +{V00}
-            ldrb    w1, [x0, #0x42]
-            ldrb    w2, [x0, #0x44]
+            ldrb    w1, [x20, #0x42]
+            ldrb    w2, [x20, #0x44]
             orr     w1, w1, w2
             cbz     w1, G_M10501_IG13
-            ldr     x0, [x0, #0x08]
-            ldr     x20, [fp, #0x28]   // [V00 this]
-            ; gcrRegs +[x20]
+            ldr     x0, [x20, #0x08]
+            ; gcrRegs +[x0]
             ldr     x1, [x20, #0x18]
             ; gcrRegs +[x1]
-            mov     x2, x3
+            ldr     x2, [fp, #0x20]   // [V02 loc1]
             ; gcrRegs +[x2]
-            movz    x4, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ushort]:<ExecuteDeclaringReferenceActions>g__addExecutableCodeBlockAnalyzerActions|11_8(Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+GroupedAnalyzerActions[ushort],Microsoft.CodeAnalysis.Diagnostics.AnalysisScope,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+ExecutableCodeBlockAnalyzerActions[ushort]])
-            movk    x4, #0xD1FFAB1E LSL #16
-            movk    x4, #0xD1FFAB1E LSL #32
-            ldr     x4, [x4]
-            blr     x4
-            ; gcrRegs -[x0-x3]
+            movz    x3, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ushort]:<ExecuteDeclaringReferenceActions>g__addExecutableCodeBlockAnalyzerActions|11_8(Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+GroupedAnalyzerActions[ushort],Microsoft.CodeAnalysis.Diagnostics.AnalysisScope,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+ExecutableCodeBlockAnalyzerActions[ushort]])
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     x3, [x3]
+            blr     x3
+            ; gcrRegs -[x0-x2]
             ; gcr arg pop 0
             ldp     x0, x1, [x20, #0x10]
             ; gcrRegs +[x0-x1]
@@ -199,32 +198,28 @@ G_M10501_IG12:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefR
             blr     x3
             ; gcrRegs -[x0-x2]
             ; gcr arg pop 0
-            mov     x0, x20
-            ; gcrRegs +[x0]
-            ldr     x3, [fp, #0x20]    // [V02 loc1]
-            ; gcrRegs +[x3]
-                       ;; size=88 bbWeight=0.50 PerfScore 17.75
-G_M10501_IG13:        ; bbWeight=0.50, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x20]
-            ldrb    w2, [x0, #0x43]
-            ldrb    w1, [x0, #0x44]
+                      ;; size=76 bbWeight=0.50 PerfScore 16.25
+G_M10501_IG13:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
+            ldrb    w2, [x20, #0x43]
+            ldrb    w1, [x20, #0x44]
             orr     w2, w2, w1
             cbz     w2, G_M10501_IG11
-            ldr     x2, [x0, #0x70]
+            ldr     x2, [x20, #0x70]
             ; gcrRegs +[x2]
-            ldr     x1, [x0, #0x28]
+            ldr     x1, [x20, #0x28]
             ; gcrRegs +[x1]
             mov     x0, x19
-            movz    x4, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ushort]:GetOperationBlocksToAnalyze(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxNode],Microsoft.CodeAnalysis.SemanticModel,System.Threading.CancellationToken):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IOperation]
-            movk    x4, #0xD1FFAB1E LSL #16
-            movk    x4, #0xD1FFAB1E LSL #32
-            ldr     x4, [x4]
-            blr     x4
-            ; gcrRegs -[x1-x3]
+            ; gcrRegs +[x0]
+            movz    x3, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ushort]:GetOperationBlocksToAnalyze(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxNode],Microsoft.CodeAnalysis.SemanticModel,System.Threading.CancellationToken):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IOperation]
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     x3, [x3]
+            blr     x3
+            ; gcrRegs -[x1-x2]
             ; gcr arg pop 0
             str     x0, [fp, #0x18]    // [V21 tmp14]
             ; GC ptr vars +{V21}
-            ldr     x0, [fp, #0x28]  // [V00 this]
+            mov     x0, x20
             ldr     x1, [fp, #0x18]   // [V21 tmp14]
             ; gcrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
@@ -234,22 +229,22 @@ G_M10501_IG13:        ; bbWeight=0.50, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=00
             blr     x2
             ; gcrRegs -[x1]
             ; gcr arg pop 0
-            mov     x20, x0
-            ; gcrRegs +[x20]
-            ldr     w2, [x20, #0x08]
-            ldp     x3, x0, [fp, #0x20]    // [V02 loc1], [V00 this]
-            ; gcrRegs +[x3]
+            mov     x21, x0
+            ; gcrRegs +[x21]
+            ldr     w2, [x21, #0x08]
             cbz     w2, G_M10501_IG11
-                        ;; size=96 bbWeight=0.50 PerfScore 18.75
-G_M10501_IG14:        ; bbWeight=0.50, gcrefRegs=180009 {x0 x3 x19 x20}, byrefRegs=0000 {}, byref, isz
-            ldrb    w2, [x0, #0x43]
+                      ;; size=92 bbWeight=0.50 PerfScore 16.50
+G_M10501_IG14:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x0]
+            ldrb    w2, [x20, #0x43]
...
  
+8 (+3.64%) : 151889.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:AddUniqueStatus(System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],byref) (FullOpts)
@@ -10,104 +10,105 @@
 ;
 ;  V00 arg0         [V00,T02] (  9,  9.50)     ref  ->   x0         class-hnd single-def <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus]>
 ;  V01 arg1         [V01,T05] (  4,  3.50)   byref  ->   x1         single-def
-;  V02 loc0         [V02,T06] (  2,  5   )     int  ->  x14        
-;  V03 loc1         [V03,T00] (  7, 25   )     int  ->  x15        
+;  V02 loc0         [V02,T06] (  2,  5   )     int  ->   x3        
+;  V03 loc1         [V03,T00] (  7, 25   )     int  ->   x4        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Security.Cryptography.X509Certificates.X509ChainStatus>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T10] (  3,  1.50)     ref  ->  x14         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V07 tmp2         [V07,T09] (  4,  2   )     int  ->  x12         "Inline stloc first use temp"
+;  V06 tmp1         [V06,T10] (  3,  1.50)     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V07 tmp2         [V07,T09] (  4,  2   )     int  ->   x5         "Inline stloc first use temp"
 ;* V08 tmp3         [V08    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainStatus>
 ;* V09 tmp4         [V09    ] (  0,  0   )     ref  ->  zero-ref    "field V04._statusInformation (fldOffset=0x0)" P-INDEP
-;  V10 tmp5         [V10,T04] (  2,  8   )     int  ->  xip0         "field V04.<Status>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V11 tmp6         [V11,T11] (  3,  1.50)     ref  ->   x1         single-def "field V08._statusInformation (fldOffset=0x0)" P-INDEP
+;  V10 tmp5         [V10,T04] (  2,  8   )     int  ->   x6         "field V04.<Status>k__BackingField (fldOffset=0x8)" P-INDEP
+;  V11 tmp6         [V11,T11] (  3,  1.50)     ref  ->  x15         single-def "field V08._statusInformation (fldOffset=0x0)" P-INDEP
 ;  V12 tmp7         [V12,T12] (  3,  1.50)     int  ->   x2         "field V08.<Status>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V13 tmp8         [V13,T01] (  3, 24   )     ref  ->  xip0         "arr expr"
+;  V13 tmp8         [V13,T01] (  3, 24   )     ref  ->   x6         "arr expr"
 ;  V14 tmp9         [V14,T07] (  3,  3   )   byref  ->   x0         single-def "BlockOp address local"
-;  V15 cse0         [V15,T03] (  5, 10.50)     int  ->  x12         "CSE - aggressive"
+;  V15 cse0         [V15,T03] (  5, 10.50)     int  ->   x5         "CSE - aggressive"
 ;  V16 cse1         [V16,T08] (  3,  2.50)     int  ->   x2         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M44081_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
+                       ;; size=12 bbWeight=1 PerfScore 2.50
 G_M44081_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0002 {x1}, byref, isz
             ; gcrRegs +[x0]
             ; byrRegs +[x1]
             ldr     w2, [x1, #0x08]
-            sxtw    w14, w2
-            mov     w15, wzr
-            ldr     w12, [x0, #0x10]
-            cmp     w12, #0
+            sxtw    w3, w2
+            mov     w4, wzr
+            ldr     w5, [x0, #0x10]
+            cmp     w5, #0
             ble     G_M44081_IG04
                        ;; size=24 bbWeight=1 PerfScore 8.50
 G_M44081_IG03:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0002 {x1}, byref, isz
-            cmp     w15, w12
+            cmp     w4, w5
             bhs     G_M44081_IG08
-            ldr     xip0, [x0, #0x08]
-            ; gcrRegs +[xip0]
-            ldr     w3, [xip0, #0x08]
-            cmp     w15, w3
+            ldr     x6, [x0, #0x08]
+            ; gcrRegs +[x6]
+            ldr     w7, [x6, #0x08]
+            cmp     w4, w7
             bhs     G_M44081_IG07
-            ubfiz   x3, x15, #4, #32
-            add     x3, x3, #16
-            add     xip0, xip0, x3
-            ; gcrRegs -[xip0]
-            ; byrRegs +[xip0]
-            ldr     wip0, [xip0, #0x08]
-            ; byrRegs -[xip0]
-            cmp     wip0, w14
+            ubfiz   x7, x4, #4, #32
+            add     x7, x7, #16
+            add     x6, x6, x7
+            ; gcrRegs -[x6]
+            ; byrRegs +[x6]
+            ldr     w6, [x6, #0x08]
+            ; byrRegs -[x6]
+            cmp     w6, w3
             beq     G_M44081_IG05
-            add     w15, w15, #1
-            cmp     w15, w12
+            add     w4, w4, #1
+            cmp     w4, w5
             blt     G_M44081_IG03
                        ;; size=60 bbWeight=4 PerfScore 70.00
 G_M44081_IG04:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0002 {x1}, byref, isz
-            ldr     x1, [x1]
-            ; gcrRegs +[x1]
+            ldr     x15, [x1]
+            ; gcrRegs +[x15]
+            ldr     w1, [x0, #0x14]
             ; byrRegs -[x1]
-            ldr     w14, [x0, #0x14]
-            add     w14, w14, #1
-            str     w14, [x0, #0x14]
-            ldr     x14, [x0, #0x08]
-            ; gcrRegs +[x14]
-            ldr     w15, [x14, #0x08]
-            cmp     w15, w12
+            add     w1, w1, #1
+            str     w1, [x0, #0x14]
+            ldr     x19, [x0, #0x08]
+            ; gcrRegs +[x19]
+            ldr     w1, [x19, #0x08]
+            cmp     w1, w5
             bls     G_M44081_IG06
-            add     w15, w12, #1
-            str     w15, [x0, #0x10]
-            ubfiz   x15, x12, #4, #32
-            add     x15, x15, #16
-            add     x0, x14, x15
+            add     w14, w5, #1
+            str     w14, [x0, #0x10]
+            ubfiz   x14, x5, #4, #32
+            add     x14, x14, #16
+            add     x0, x19, x14
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
             mov     x14, x0
-            ; gcrRegs -[x14]
             ; byrRegs +[x14]
-            mov     x15, x1
-            ; gcrRegs +[x15]
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
-            ; gcrRegs -[x1 x15]
+            ; gcrRegs -[x15 x19]
             ; byrRegs -[x14]
             str     w2, [x0, #0x08]
-                      ;; size=68 bbWeight=0.50 PerfScore 10.75
+                      ;; size=64 bbWeight=0.50 PerfScore 10.50
 G_M44081_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; byrRegs -[x0]
-            ldp     fp, lr, [sp], #0x10
+            ldr     x19, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M44081_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs +[x0-x1]
+                       ;; size=12 bbWeight=1 PerfScore 4.00
+G_M44081_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=8001 {x0 x15}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs +[x0 x15]
+            mov     x1, x15
+            ; gcrRegs +[x1]
             movz    x3, #0xD1FFAB1E      // code for <unknown method>
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-            ; gcrRegs -[x0-x1]
+            ; gcrRegs -[x0-x1 x15]
             ; gcr arg pop 0
             b       G_M44081_IG05
-                        ;; size=24 bbWeight=0.50 PerfScore 3.25
+                       ;; size=28 bbWeight=0.50 PerfScore 3.50
 G_M44081_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
@@ -122,18 +123,18 @@ G_M44081_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 220, prolog size 8, PerfScore 96.00, instruction count 55, allocated bytes for code 220 (MethodHash=fdfd53ce) for method System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:AddUniqueStatus(System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],byref) (FullOpts)
+; Total bytes of code 228, prolog size 12, PerfScore 99.00, instruction count 57, allocated bytes for code 228 (MethodHash=fdfd53ce) for method System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:AddUniqueStatus(System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],byref) (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   : 55 (0x00037) Actual length = 220 (0x0000dc)
+  Function Length   : 57 (0x00039) Actual length = 228 (0x0000e4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -141,7 +142,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
 
  
+16 (+4.40%) : 146183.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
@@ -11,82 +11,83 @@
 ;  V00 arg0         [V00,T07] (  7, 12   )     ref  ->   x0         class-hnd single-def <System.String>
 ;  V01 arg1         [V01,T00] ( 33, 83.50)     int  ->   x1        
 ;  V02 arg2         [V02,T10] (  5,  3.50)   byref  ->   x2         single-def
-;  V03 loc0         [V03,T16] (  3,  2   )     int  ->   x4         single-def
-;  V04 loc1         [V04,T17] (  2,  1   )     int  ->   x6         single-def
+;  V03 loc0         [V03,T16] (  3,  2   )     int  ->   x3         single-def
+;  V04 loc1         [V04,T17] (  2,  1   )     int  ->   x4         single-def
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V07 tmp2         [V07,T03] (  3, 24   )  ushort  ->   x4         "Inlining Arg"
+;  V07 tmp2         [V07,T03] (  3, 24   )  ushort  ->   x3         "Inlining Arg"
 ;* V08 tmp3         [V08,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp4         [V09,T04] (  3, 24   )  ushort  ->   x6         "Inlining Arg"
+;  V09 tmp4         [V09,T04] (  3, 24   )  ushort  ->   x4         "Inlining Arg"
 ;* V10 tmp5         [V10,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V11 tmp6         [V11,T15] (  3,  3   )  ushort  ->   x7         "Inlining Arg"
+;  V11 tmp6         [V11,T15] (  3,  3   )  ushort  ->   x5         "Inlining Arg"
 ;* V12 tmp7         [V12,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V13 tmp8         [V13,T05] (  3, 24   )  ushort  ->   x7         "Inlining Arg"
+;  V13 tmp8         [V13,T05] (  3, 24   )  ushort  ->   x5         "Inlining Arg"
 ;* V14 tmp9         [V14,T14] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V15 tmp10        [V15,T06] (  3, 24   )  ushort  ->   x8         "Inlining Arg"
-;  V16 cse0         [V16,T09] (  3, 12   )     int  ->   x7         "CSE - aggressive"
+;  V15 tmp10        [V15,T06] (  3, 24   )  ushort  ->   x6         "Inlining Arg"
+;  V16 cse0         [V16,T09] (  3, 12   )     int  ->   x5         "CSE - aggressive"
 ;  V17 cse1         [V17,T08] (  5, 13   )     int  ->  registers   multi-def "CSE - aggressive"
-;  V18 cse2         [V18,T01] ( 13, 46.50)     int  ->   x3         hoist "CSE - aggressive"
-;  V19 cse3         [V19,T02] (  9, 25.50)   byref  ->  registers   multi-def "CSE - aggressive"
+;  V18 cse2         [V18,T01] ( 13, 46.50)     int  ->  x19         hoist "CSE - aggressive"
+;  V19 cse3         [V19,T02] (  9, 25.50)   byref  ->  x20         multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M63854_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-                      ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=12 bbWeight=1 PerfScore 2.50
 G_M63854_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
             ; gcrRegs +[x0]
             ; byrRegs +[x2]
-            ldr     w3, [x0, #0x08]
+            ldr     w19, [x0, #0x08]
             b       G_M63854_IG04
                        ;; size=8 bbWeight=1 PerfScore 4.00
 G_M63854_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
 G_M63854_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w3, w1
+            cmp     w19, w1
             ble     G_M63854_IG06
                        ;; size=8 bbWeight=8 PerfScore 12.00
 G_M63854_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x4, x0, #12
-            ; byrRegs +[x4]
-            ldrh    w4, [x4, w1, UXTW #2]
-            ; byrRegs -[x4]
-            cmp     w4, #32
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w3, [x20, w1, UXTW #2]
+            cmp     w3, #32
             beq     G_M63854_IG03
-            cmp     w4, #9
+            cmp     w3, #9
             beq     G_M63854_IG03
                        ;; size=32 bbWeight=4 PerfScore 32.00
 G_M63854_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
-            sxtw    w4, w1
+            ; byrRegs -[x20]
+            sxtw    w3, w1
             b       G_M63854_IG08
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M63854_IG07:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
 G_M63854_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w3, w1
+            cmp     w19, w1
             ble     G_M63854_IG10
                        ;; size=8 bbWeight=8 PerfScore 12.00
 G_M63854_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x5, x0, #12
-            ; byrRegs +[x5]
-            ldrh    w6, [x5, w1, UXTW #2]
-            cmp     w6, #61
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w4, [x20, w1, UXTW #2]
+            cmp     w4, #61
             beq     G_M63854_IG10
-            cmp     w6, #32
+            cmp     w4, #32
             beq     G_M63854_IG10
-            cmp     w6, #9
+            cmp     w4, #9
             bne     G_M63854_IG07
                        ;; size=40 bbWeight=4 PerfScore 38.00
 G_M63854_IG10:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            ; byrRegs -[x5]
-            cmp     w3, w1
+            ; byrRegs -[x20]
+            cmp     w19, w1
             bne     G_M63854_IG13
                        ;; size=8 bbWeight=4 PerfScore 6.00
 G_M63854_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, byref
@@ -95,80 +96,82 @@ G_M63854_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, b
             mov     x0, xzr
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M63854_IG12:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=0.50 PerfScore 1.00
+                        ;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M63854_IG13:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, gcvars, byref, isz
             ; gcrRegs +[x0]
-            sub     w6, w1, w4
-            cmp     w1, w3
+            sub     w4, w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x5, x0, #12
-            ; byrRegs +[x5]
-            ldrh    w7, [x5, w1, UXTW #2]
-            cmp     w7, #32
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w5, [x20, w1, UXTW #2]
+            cmp     w5, #32
             beq     G_M63854_IG15
-            cmp     w7, #9
+            cmp     w5, #9
             bne     G_M63854_IG20
             b       G_M63854_IG15
                        ;; size=40 bbWeight=0.50 PerfScore 4.75
-G_M63854_IG14:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref
+G_M63854_IG14:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M63854_IG15:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref, isz
-            cmp     w3, w1
+G_M63854_IG15:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             ble     G_M63854_IG16
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w7, [x5, w1, UXTW #2]
-            cmp     w7, #32
+            ldrh    w5, [x20, w1, UXTW #2]
+            cmp     w5, #32
             beq     G_M63854_IG14
-            cmp     w7, #9
+            cmp     w5, #9
             beq     G_M63854_IG14
                        ;; size=36 bbWeight=4 PerfScore 36.00
-G_M63854_IG16:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref, isz
-            cmp     w3, w1
+G_M63854_IG16:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             beq     G_M63854_IG17
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w7, [x5, w1, UXTW #2]
-            cmp     w7, #61
+            ldrh    w5, [x20, w1, UXTW #2]
+            cmp     w5, #61
             beq     G_M63854_IG20
                        ;; size=28 bbWeight=0.50 PerfScore 3.75
 G_M63854_IG17:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, byref
             ; gcrRegs -[x0]
-            ; byrRegs -[x5]
+            ; byrRegs -[x20]
             str     w1, [x2]
             mov     x0, xzr
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M63854_IG18:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M63854_IG19:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, gcvars, byref
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
+G_M63854_IG19:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, gcvars, byref
             ; gcrRegs +[x0]
-            ; byrRegs +[x5]
+            ; byrRegs +[x20]
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref, isz
-            cmp     w3, w1
+G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             ble     G_M63854_IG21
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w7, [x5, w1, UXTW #2]
-            sxtw    w8, w7
-            cmp     w8, #32
+            ldrh    w5, [x20, w1, UXTW #2]
+            sxtw    w6, w5
+            cmp     w6, #32
             beq     G_M63854_IG19
-            cmp     w8, #9
+            cmp     w6, #9
             beq     G_M63854_IG19
-            cmp     w7, #61
+            cmp     w5, #61
             beq     G_M63854_IG19
                        ;; size=48 bbWeight=4 PerfScore 44.00
 G_M63854_IG21:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
-            ; byrRegs -[x5]
+            ; byrRegs -[x20]
             str     w1, [x2]
-            mov     w1, w4
-            mov     w2, w6
+            mov     w1, w3
+            mov     w2, w4
             ; byrRegs -[x2]
             movz    x3, #0xD1FFAB1E      // code for System.String:Substring(int,int):System.String:this
             movk    x3, #0xD1FFAB1E LSL #16
@@ -176,10 +179,11 @@ G_M63854_IG21:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2},
             ldr     x3, [x3]
                        ;; size=28 bbWeight=0.50 PerfScore 3.25
 G_M63854_IG22:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             br      x3
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=0.50 PerfScore 1.00
+                        ;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M63854_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
...
  
+24 (+5.71%) : 170345.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
@@ -11,34 +11,35 @@
 ;  V00 this         [V00,T10] (  8,  5   )     ref  ->  x19         this class-hnd single-def <System.Xml.Xsl.Runtime.XmlStringSortKey>
 ;  V01 arg1         [V01,T11] (  4,  3.50)     ref  ->   x1         class-hnd single-def <System.Object>
 ;  V02 loc0         [V02,T13] (  7,  4.25)     ref  ->  x20         class-hnd exact <System.Xml.Xsl.Runtime.XmlStringSortKey>
-;  V03 loc1         [V03,T00] (  7, 24.50)     int  ->   x3        
+;  V03 loc1         [V03,T00] (  7, 24.50)     int  ->   x1        
 ;  V04 loc2         [V04,T12] (  3,  5   )     int  ->   x0        
 ;  V05 loc3         [V05,T14] (  6,  3   )     int  ->   x0        
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Xml.Xsl.Runtime.XmlStringSortKey>
 ;  V08 tmp2         [V08,T17] (  3,  1.50)     int  ->   x0        
 ;  V09 tmp3         [V09,T18] (  2,  1   )     int  ->   x0         "Inline return value spill temp"
-;  V10 tmp4         [V10,T01] (  3, 24   )     ref  ->   x4         "arr expr"
-;  V11 tmp5         [V11,T02] (  3, 24   )     ref  ->   x6         "arr expr"
+;  V10 tmp4         [V10,T01] (  3, 24   )     ref  ->   x2         "arr expr"
+;  V11 tmp5         [V11,T02] (  3, 24   )     ref  ->   x4         "arr expr"
 ;* V12 tmp6         [V12,T08] (  0,  0   )     ref  ->  zero-ref    "arr expr"
 ;* V13 tmp7         [V13,T09] (  0,  0   )     ref  ->  zero-ref    "arr expr"
-;  V14 cse0         [V14,T03] (  3, 12   )     int  ->   x4         "CSE - aggressive"
-;  V15 cse1         [V15,T04] (  3, 12   )     int  ->   x5         "CSE - aggressive"
-;  V16 cse2         [V16,T06] (  6,  6.50)     ref  ->   x1         "CSE - aggressive"
-;  V17 cse3         [V17,T07] (  6,  6.50)     ref  ->   x2         "CSE - aggressive"
+;  V14 cse0         [V14,T03] (  3, 12   )     int  ->   x2         "CSE - aggressive"
+;  V15 cse1         [V15,T04] (  3, 12   )     int  ->   x3         "CSE - aggressive"
+;  V16 cse2         [V16,T06] (  6,  6.50)     ref  ->  x21         "CSE - aggressive"
+;  V17 cse3         [V17,T07] (  6,  6.50)     ref  ->  x22         "CSE - aggressive"
 ;  V18 cse4         [V18,T16] (  3,  1.50)     ref  ->   x0         "CSE - moderate"
 ;  V19 cse5         [V19,T15] (  4,  2   )     ref  ->   x0         "CSE - moderate"
-;  V20 cse6         [V20,T05] (  3, 12   )    long  ->   x5         "CSE - aggressive"
+;  V20 cse6         [V20,T05] (  3, 12   )    long  ->   x3         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M15280_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x20]!
+            stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
-                     ;; size=16 bbWeight=1 PerfScore 3.00
+                      ;; size=20 bbWeight=1 PerfScore 4.00
 G_M15280_IG02:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x1]
             mov     x20, x1
@@ -63,11 +64,12 @@ G_M15280_IG04:        ; bbWeight=0.50, gcrefRegs=80002 {x1 x19}, byrefRegs=0000
             ldr     x2, [x2]
                        ;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M15280_IG05:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             br      x2
             ; gcr arg pop 0
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0-x1] +[x20]
             ldr     x0, [x19, #0x18]
@@ -85,60 +87,60 @@ G_M15280_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             b       G_M15280_IG15
                        ;; size=36 bbWeight=0.50 PerfScore 6.75
 G_M15280_IG07:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ldr     x1, [x19, #0x20]
-            ; gcrRegs +[x1]
-            ldr     w0, [x1, #0x08]
-            ldr     x2, [x20, #0x20]
-            ; gcrRegs +[x2]
-            ldr     w3, [x2, #0x08]
-            cmp     w0, w3
+            ldr     x21, [x19, #0x20]
+            ; gcrRegs +[x21]
+            ldr     w0, [x21, #0x08]
+            ldr     x22, [x20, #0x20]
+            ; gcrRegs +[x22]
+            ldr     w1, [x22, #0x08]
+            cmp     w0, w1
             blt     G_M15280_IG08
-            ldr     w0, [x2, #0x08]
+            ldr     w0, [x22, #0x08]
             b       G_M15280_IG09
                        ;; size=32 bbWeight=0.50 PerfScore 8.75
-G_M15280_IG08:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref
-            ldr     w0, [x1, #0x08]
+G_M15280_IG08:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref
+            ldr     w0, [x21, #0x08]
                        ;; size=4 bbWeight=0.50 PerfScore 1.50
-G_M15280_IG09:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref, isz
-            mov     w3, wzr
+G_M15280_IG09:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            mov     w1, wzr
             cmp     w0, #0
             ble     G_M15280_IG14
                        ;; size=12 bbWeight=0.50 PerfScore 1.00
-G_M15280_IG10:        ; bbWeight=4, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref, isz
-            mov     x4, x1
+G_M15280_IG10:        ; bbWeight=4, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            mov     x2, x21
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x08]
+            cmp     w1, w3
+            bhs     G_M15280_IG24
+            add     x2, x2, #16
+            ; gcrRegs -[x2]
+            ; byrRegs +[x2]
+            mov     w3, w1
+            ldrb    w2, [x2, x3]
+            ; byrRegs -[x2]
+            mov     x4, x22
             ; gcrRegs +[x4]
             ldr     w5, [x4, #0x08]
-            cmp     w3, w5
+            cmp     w1, w5
             bhs     G_M15280_IG24
             add     x4, x4, #16
             ; gcrRegs -[x4]
             ; byrRegs +[x4]
-            mov     w5, w3
-            ldrb    w4, [x4, x5]
-            ; byrRegs -[x4]
-            mov     x6, x2
-            ; gcrRegs +[x6]
-            ldr     w7, [x6, #0x08]
-            cmp     w3, w7
-            bhs     G_M15280_IG24
-            add     x6, x6, #16
-            ; gcrRegs -[x6]
-            ; byrRegs +[x6]
-            ldrb    w5, [x6, x5]
-            cmp     w4, w5
+            ldrb    w3, [x4, x3]
+            cmp     w2, w3
             blt     G_M15280_IG12
-            cmp     w4, w5
+            cmp     w2, w3
             bgt     G_M15280_IG13
-            add     w3, w3, #1
-            cmp     w3, w0
+            add     w1, w1, #1
+            cmp     w1, w0
             blt     G_M15280_IG10
                        ;; size=80 bbWeight=4 PerfScore 90.00
-G_M15280_IG11:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x6]
+G_M15280_IG11:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x4]
             b       G_M15280_IG14
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M15280_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x1-x2 x20]
+            ; gcrRegs -[x20-x22]
             movn    w0, #0
             b       G_M15280_IG20
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
@@ -146,21 +148,20 @@ G_M15280_IG13:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             mov     w0, #1
             b       G_M15280_IG20
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M15280_IG14:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x1-x2 x20]
-            ldr     w0, [x1, #0x08]
-            ldr     w3, [x2, #0x08]
-            cmp     w0, w3
+G_M15280_IG14:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs +[x20-x22]
+            ldr     w0, [x21, #0x08]
+            ldr     w1, [x22, #0x08]
+            cmp     w0, w1
             blt     G_M15280_IG12
-            ldr     w0, [x1, #0x08]
-            ldr     w1, [x2, #0x08]
-            ; gcrRegs -[x1]
+            ldr     w0, [x21, #0x08]
+            ldr     w1, [x22, #0x08]
             cmp     w0, w1
             bgt     G_M15280_IG13
             b       G_M15280_IG16
                        ;; size=36 bbWeight=0.50 PerfScore 8.00
 G_M15280_IG15:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x2]
+            ; gcrRegs -[x21-x22]
             cbnz    w0, G_M15280_IG20
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M15280_IG16:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
@@ -174,11 +175,12 @@ G_M15280_IG16:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ldr     x2, [x2, #0x20]
                        ;; size=24 bbWeight=0.50 PerfScore 8.00
 G_M15280_IG17:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             br      x2
             ; gcr arg pop 0
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG18:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0-x1]
             ldr     w0, [x19, #0x10]
@@ -189,36 +191,39 @@ G_M15280_IG18:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             csel    w0, w2, w3, lt
                        ;; size=24 bbWeight=0.50 PerfScore 4.00
 G_M15280_IG19:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG20:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x20]
             ldrb    w1, [x19, #0x14]
             cbnz    w1, G_M15280_IG22
                        ;; size=8 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG21:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG22:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x19]
             neg     w0, w0
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M15280_IG23:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG24:        ; 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 420, prolog size 16, PerfScore 148.75, instruction count 105, allocated bytes for code 420 (MethodHash=95cfc44f) for method System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
+; Total bytes of code 444, prolog size 20, PerfScore 152.25, instruction count 111, allocated bytes for code 444 (MethodHash=95cfc44f) for method System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -229,7 +234,7 @@ Unwind Info:
   E bit             : 0
...
  
  
realworld.run.linux.arm64.checked.mch
-4 (-1.23%) : 20111.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
@@ -47,7 +47,7 @@ G_M43028_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ldr     w21, [x20, #0x08]
             mov     w22, wzr
             cmp     w21, #0
-            ble     G_M43028_IG13
+            ble     G_M43028_IG10
             cbz     x19, G_M43028_IG07
             ldr     w0, [x19, #0x08]
             cmp     w0, w21
@@ -71,7 +71,7 @@ G_M43028_IG03:        ; bbWeight=3.96, gcrefRegs=80000 {x19}, byrefRegs=800000 {
             ; gcrRegs +[x26]
             cmp     x24, x26
             ccmp    w25, #1, 0, eq
-            bne     G_M43028_IG11
+            bne     G_M43028_IG12
                        ;; size=48 bbWeight=3.96 PerfScore 67.32
 G_M43028_IG04:        ; bbWeight=1.98, gcrefRegs=80002 {x1 x19}, byrefRegs=800000 {x23}, byref, isz
             ; gcrRegs -[x24 x26]
@@ -86,23 +86,23 @@ G_M43028_IG04:        ; bbWeight=1.98, gcrefRegs=80002 {x1 x19}, byrefRegs=80000
             ; gcr arg pop 0
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
-            cbnz    w0, G_M43028_IG11
+            cbnz    w0, G_M43028_IG12
                       ;; size=28 bbWeight=1.98 PerfScore 28.71
 G_M43028_IG05:        ; bbWeight=3.96, gcrefRegs=80000 {x19}, byrefRegs=800000 {x23}, byref, isz
             add     w22, w22, #1
             cmp     w22, w21
             blt     G_M43028_IG03
                        ;; size=12 bbWeight=3.96 PerfScore 7.92
-G_M43028_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M43028_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
             ; byrRegs -[x23]
-            b       G_M43028_IG13
-                       ;; size=4 bbWeight=1 PerfScore 1.00
+            b       G_M43028_IG10
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M43028_IG07:        ; bbWeight=0.04, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x19-x20]
             ldr     w0, [x19, #0x08]
             cmp     w22, w0
-            bhs     G_M43028_IG15
+            bhs     G_M43028_IG14
             mov     w0, #24
             mov     x1, #16
             umaddl  x0, w22, w0, x1
@@ -117,7 +117,7 @@ G_M43028_IG07:        ; bbWeight=0.04, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ; gcrRegs +[x26]
             cmp     x24, x26
             ccmp    w25, #1, 0, eq
-            bne     G_M43028_IG11
+            bne     G_M43028_IG12
                        ;; size=56 bbWeight=0.04 PerfScore 0.94
 G_M43028_IG08:        ; bbWeight=0.02, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x24 x26]
@@ -132,7 +132,7 @@ G_M43028_IG08:        ; bbWeight=0.02, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=
             ; gcr arg pop 0
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
-            cbnz    w0, G_M43028_IG11
+            cbnz    w0, G_M43028_IG12
                       ;; size=28 bbWeight=0.02 PerfScore 0.29
 G_M43028_IG09:        ; bbWeight=0.04, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             add     w22, w22, #1
@@ -141,23 +141,9 @@ G_M43028_IG09:        ; bbWeight=0.04, gcrefRegs=180000 {x19 x20}, byrefRegs=000
                        ;; size=12 bbWeight=0.04 PerfScore 0.08
 G_M43028_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19-x20]
-            b       G_M43028_IG13
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M43028_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, wzr
-                       ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M43028_IG12:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x25, x26, [sp, #0x40]
-            ldp     x23, x24, [sp, #0x30]
-            ldp     x21, x22, [sp, #0x20]
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x50
-            ret     lr
-                       ;; size=24 bbWeight=0.50 PerfScore 3.00
-G_M43028_IG13:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M43028_IG14:        ; bbWeight=0.50, epilog, nogc, extend
+G_M43028_IG11:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x25, x26, [sp, #0x40]
             ldp     x23, x24, [sp, #0x30]
             ldp     x21, x22, [sp, #0x20]
@@ -165,13 +151,24 @@ G_M43028_IG14:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x50
             ret     lr
                        ;; size=24 bbWeight=0.50 PerfScore 3.00
-G_M43028_IG15:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M43028_IG12:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, wzr
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M43028_IG13:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x25, x26, [sp, #0x40]
+            ldp     x23, x24, [sp, #0x30]
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x50
+            ret     lr
+                       ;; size=24 bbWeight=0.50 PerfScore 3.00
+G_M43028_IG14:        ; 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 324, prolog size 32, PerfScore 130.76, instruction count 81, allocated bytes for code 324 (MethodHash=8c6257eb) for method Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
+; Total bytes of code 320, prolog size 32, PerfScore 129.76, instruction count 80, allocated bytes for code 320 (MethodHash=8c6257eb) for method Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -182,7 +179,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 81 (0x00051) Actual length = 324 (0x000144)
+  Function Length   : 80 (0x00050) Actual length = 320 (0x000140)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-20 (-0.84%) : 25763.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:g_findMostSpecificImplementationInBases|921(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
@@ -274,7 +274,6 @@ G_M19054_IG04:        ; bbWeight=2, gcrefRegs=9900000 {x20 x23 x24 x27}, byrefRe
             str     x1, [fp, #0x30]    // [V111 tmp93]
             ; GC ptr vars +{V111}
             cbz     x28, G_M19054_IG33
-            ldr     x1, [fp, #0x30]    // [V111 tmp93]
             mov     x0, x28
             ldr     x0, [x0]
             ; gcrRegs -[x0]
@@ -285,9 +284,9 @@ G_M19054_IG04:        ; bbWeight=2, gcrefRegs=9900000 {x20 x23 x24 x27}, byrefRe
             bne     G_M19054_IG05
             ldr     w0, [x28, #0x20]
             cbz     w0, G_M19054_IG33
-                        ;; size=80 bbWeight=2 PerfScore 43.00
-G_M19054_IG05:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
-            ; GC ptr vars -{V111}
+                        ;; size=76 bbWeight=2 PerfScore 39.00
+G_M19054_IG05:        ; bbWeight=2, gcVars=00000000000000000020000000000000 {V111}, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref, isz
+            ; gcrRegs -[x1]
             mov     w2, wzr
             ldr     x0, [x24, #0x08]
             ; gcrRegs +[x0]
@@ -296,13 +295,11 @@ G_M19054_IG05:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28},
             cmp     w0, #0
             ble     G_M19054_IG12
                        ;; size=20 bbWeight=2 PerfScore 16.00
-G_M19054_IG06:        ; bbWeight=16, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
+G_M19054_IG06:        ; bbWeight=16, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
             ldr     x0, [x24, #0x08]
             ; gcrRegs +[x0]
             ldr     w3, [x0, #0x10]
             cmp     w2, w3
-            str     x1, [fp, #0x30]    // [V111 tmp93]
-            ; GC ptr vars +{V111}
             bge     G_M19054_IG50
             ldr     x0, [x0, #0x08]
             ldr     w3, [x0, #0x08]
@@ -335,7 +332,7 @@ G_M19054_IG06:        ; bbWeight=16, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            ; gcrRegs -[x1 x4-x6] +[x0]
+            ; gcrRegs -[x4-x6] +[x0]
             add     x14, x0, #8
             ; byrRegs +[x14]
             ldr     x15, [fp, #0x20]   // [V126 tmp108]
@@ -386,7 +383,7 @@ G_M19054_IG06:        ; bbWeight=16, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}
             ldr     x2, [fp, #0x60]    // [V12 loc7]
             ; gcrRegs +[x2]
             cbnz    x2, G_M19054_IG08
-                        ;; size=240 bbWeight=16 PerfScore 1360.00
+                     ;; size=236 bbWeight=16 PerfScore 1344.00
 G_M19054_IG07:        ; bbWeight=8, gcVars=00000000000000000020000000070000 {V13 V111 V126 V127}, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref, isz
             ; gcrRegs -[x2]
             ; GC ptr vars -{V12 V125}
@@ -466,20 +463,14 @@ G_M19054_IG08:        ; bbWeight=16, gcrefRegs=19900004 {x2 x20 x23 x24 x27 x28}
             ; gcrRegs -[x15]
             cmp     w14, w15
             mov     w2, w14
-            ldr     x1, [fp, #0x30]   // [V111 tmp93]
-            ; gcrRegs +[x1]
             blt     G_M19054_IG06
-                     ;; size=68 bbWeight=16 PerfScore 408.00
-G_M19054_IG09:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref
+                       ;; size=64 bbWeight=16 PerfScore 376.00
+G_M19054_IG09:        ; bbWeight=2, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref
             ; byrRegs -[x0]
-            ; GC ptr vars -{V111}
             b       G_M19054_IG12
                        ;; size=4 bbWeight=2 PerfScore 2.00
 G_M19054_IG10:        ; bbWeight=2, gcVars=00000000000000000020000002000000 {V111 V125}, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref, isz
-            ; gcrRegs -[x1]
-            ; GC ptr vars +{V25 V111 V125}
-            ldr     x1, [fp, #0x30]    // [V111 tmp93]
-            ; gcrRegs +[x1]
+            ; GC ptr vars +{V25 V125}
             ldr     x15, [x24, #0x08]
             ; gcrRegs +[x15]
             ldr     w12, [x15, #0x10]
@@ -496,7 +487,7 @@ G_M19054_IG10:        ; bbWeight=2, gcVars=00000000000000000020000002000000 {V11
             ldr     x15, [fp, #0x28]   // [V125 tmp107]
             mov     x14, x0
             ; byrRegs +[x14]
-            ; GC ptr vars -{V25 V111 V125}
+            ; GC ptr vars -{V25 V125}
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             ; gcrRegs -[x15]
             ; byrRegs -[x14]
@@ -509,22 +500,20 @@ G_M19054_IG10:        ; bbWeight=2, gcVars=00000000000000000020000002000000 {V11
             ; byrRegs -[x14]
             add     x14, x0, #16
             ; byrRegs +[x14]
-            mov     x15, x1
+            ldr     x15, [fp, #0x30]    // [V111 tmp93]
             ; gcrRegs +[x15]
+            ; GC ptr vars -{V111}
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
-            ; gcrRegs -[x1 x15]
+            ; gcrRegs -[x15]
             ; byrRegs -[x0 x14]
-                       ;; size=84 bbWeight=2 PerfScore 58.00
+                     ;; size=80 bbWeight=2 PerfScore 57.00
 G_M19054_IG11:        ; bbWeight=2, gcrefRegs=9900000 {x20 x23 x24 x27}, byrefRegs=680000 {x19 x21 x22}, byref
             mov     x28, xzr
             ; gcrRegs +[x28]
             str     xzr, [fp, #0x30]   // [V111 tmp93]
             ; GC ptr vars +{V111}
-            ldr     x1, [fp, #0x30] // [V111 tmp93]
-            ; gcrRegs +[x1]
-                       ;; size=12 bbWeight=2 PerfScore 7.00
-G_M19054_IG12:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
-            ; GC ptr vars -{V111}
+                        ;; size=8 bbWeight=2 PerfScore 3.00
+G_M19054_IG12:        ; bbWeight=2, gcVars=00000000000000000020000000000000 {V111}, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref, isz
             cbz     x28, G_M19054_IG33
             mov     x0, x28
             ; gcrRegs +[x0]
@@ -538,17 +527,14 @@ G_M19054_IG12:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28},
             ; gcrRegs -[x0]
             cbz     w0, G_M19054_IG33
                        ;; size=40 bbWeight=2 PerfScore 23.00
-G_M19054_IG13:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
+G_M19054_IG13:        ; bbWeight=2, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
             ldr     x2, [x24, #0x08]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x10]
             cbz     w3, G_M19054_IG29
-            str     x1, [fp, #0x30] // [V111 tmp93]
-            ; GC ptr vars +{V111}
             mov     x0, x27
             ; gcrRegs +[x0]
             mov     x1, x19
-            ; gcrRegs -[x1]
             ; byrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             ; gcrRegs -[x2]
@@ -565,7 +551,7 @@ G_M19054_IG13:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28},
             ; gcrRegs -[x0]
             sub     w1, w0, #1
             tbnz    w1, #31, G_M19054_IG19
-                       ;; size=64 bbWeight=2 PerfScore 45.00
+                     ;; size=60 bbWeight=2 PerfScore 43.00
 G_M19054_IG14:        ; bbWeight=16, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
             ldr     x0, [x24, #0x08]
             ; gcrRegs +[x0]
@@ -837,9 +823,11 @@ G_M19054_IG28:        ; bbWeight=2, gcrefRegs=19900004 {x2 x20 x23 x24 x27 x28},
             str     w3, [x2, #0x10]
             b       G_M19054_IG33
                        ;; size=80 bbWeight=2 PerfScore 53.00
-G_M19054_IG29:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, gcrefRegs=11900006 {x1 x2 x20 x23 x24 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref, isz
-            ; gcrRegs +[x1 x28]
-            ; GC ptr vars -{V66}
+G_M19054_IG29:        ; bbWeight=2, gcVars=00000000000000000020000000000000 {V111}, gcrefRegs=11900004 {x2 x20 x23 x24 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref, isz
+            ; gcrRegs +[x28]
+            ; GC ptr vars -{V66} +{V111}
+            ldr     x1, [fp, #0x30]    // [V111 tmp93]
+            ; gcrRegs +[x1]
             mov     x27, x2
             ; gcrRegs +[x27]
             add     w3, w3, #1
@@ -855,10 +843,9 @@ G_M19054_IG29:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {},
             bge     G_M19054_IG30
             sxtw    w2, w3
             str     x1, [fp, #0x30]    // [V111 tmp93]
-            ; GC ptr vars +{V111}
             b       G_M19054_IG31
-                       ;; size=56 bbWeight=2 PerfScore 35.00
-G_M19054_IG30:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref
+                       ;; size=60 bbWeight=2 PerfScore 39.00
+G_M19054_IG30:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref
             ; GC ptr vars -{V111}
             str     x1, [fp, #0x30]    // [V111 tmp93]
             ; GC ptr vars +{V111}
@@ -1166,7 +1153,7 @@ G_M19054_IG51:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2380, prolog size 56, PerfScore 4117.50, instruction count 595, allocated bytes for code 2380 (MethodHash=53aab591) for method Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:<FindMostSpecificImplementationInBases>g__findMostSpecificImplementationInBases|92_1(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
+; Total bytes of code 2360, prolog size 56, PerfScore 4062.50, instruction count 590, allocated bytes for code 2360 (MethodHash=53aab591) for method Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:<FindMostSpecificImplementationInBases>g__findMostSpecificImplementationInBases|92_1(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -1177,7 +1164,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 595 (0x00253) Actual length = 2380 (0x00094c)
+  Function Length   : 590 (0x0024e) Actual length = 2360 (0x000938)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-16 (-0.70%) : 2262.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan1[ushort],System.ReadOnlySpan1[ushort],ubyte,ubyte):ubyte (FullOpts)
@@ -30,8 +30,8 @@
 ;* V19 loc15        [V19    ] (  0,   0   )   ubyte  ->  zero-ref   
 ;* V20 loc16        [V20    ] (  0,   0   )  struct (16) zero-ref    <System.Span`1[int]>
 ;  V21 loc17        [V21,T28] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
-;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x13        
-;  V23 loc19        [V23,T01] (  7,1344   )     int  ->   x1        
+;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x14        
+;  V23 loc19        [V23,T01] (  7,1344   )     int  ->  x13        
 ;  V24 loc20        [V24,T02] (  3, 832   )     int  ->   x0        
 ;# V25 OutArgs      [V25    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V26 tmp1         [V26    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
@@ -40,15 +40,15 @@
 ;  V29 tmp4         [V29,T12] (  4, 256   )     int  ->   x7         "impSpillLclRefs"
 ;  V30 tmp5         [V30,T13] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V31 tmp6         [V31,T15] (  2, 256   )     int  ->  x10         "dup spill"
-;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x0         "impSpillLclRefs"
+;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V33 tmp8         [V33,T49] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
 ;* V34 tmp9         [V34    ] (  0,   0   )     int  ->  zero-ref    ptr
 ;  V35 tmp10        [V35,T37] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V36 tmp11        [V36,T38] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
 ;  V37 tmp12        [V37,T34] (  5,  80   )     int  ->  x13         "dup spill"
 ;  V38 tmp13        [V38,T39] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
-;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x1         "impSpillLclRefs"
-;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x1         "impSpillLclRefs"
+;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
+;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V41 tmp16        [V41,T30] (  3,  96   )     int  ->   x1        
 ;  V42 tmp17        [V42,T52] (  4,  16   )     int  ->  x25         "impSpillLclRefs"
 ;* V43 tmp18        [V43    ] (  0,   0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
@@ -159,7 +159,7 @@
 ;  V148 tmp123      [V148,T24] (  2, 128   )    long  ->   x2         "Inlining Arg"
 ;* V149 tmp124      [V149    ] (  0,   0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V150 tmp125      [V150,T50] (  3,  24   )  ushort  ->  registers   ptr "Inline return value spill temp"
-;  V151 tmp126      [V151,T42] (  4,  64   )  ushort  ->  x10         "Inlining Arg"
+;  V151 tmp126      [V151,T42] (  4,  64   )  ushort  ->  x12         "Inlining Arg"
 ;* V152 tmp127      [V152    ] (  0,   0   )  ushort  ->  zero-ref    "Inline return value spill temp"
 ;* V153 tmp128      [V153    ] (  0,   0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V154 tmp129      [V154    ] (  0,   0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
@@ -310,10 +310,10 @@ G_M9731_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     x23, [fp, #-0x78]  // [V01 arg1]
             ; byrRegs +[x23]
             ldr     w24, [fp, #-0x70]  // [V01 arg1+0x08]
-            cbz     w22, G_M9731_IG70
+            cbz     w22, G_M9731_IG71
                         ;; size=20 bbWeight=1 PerfScore 9.00
 G_M9731_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref, isz
-            cbz     w24, G_M9731_IG70
+            cbz     w24, G_M9731_IG71
             ldrh    w0, [x21]
             cmp     w0, #42
             bne     G_M9731_IG08
@@ -393,7 +393,7 @@ G_M9731_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2A00000 {x21
 G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23 x25}, byref, isz
             ; byrRegs -[x21]
             cmp     w24, w26
-            blt     G_M9731_IG70
+            blt     G_M9731_IG71
             mov     x0, x23
             ; byrRegs +[x0]
             sxtw    w1, w24
@@ -410,7 +410,7 @@ G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23
             blr     x5
             ; byrRegs -[x0 x2 x23 x25]
             ; gcr arg pop 0
-            b       G_M9731_IG65
+            b       G_M9731_IG66
                         ;; size=60 bbWeight=0.50 PerfScore 5.75
 G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref
             ; byrRegs +[x21 x23]
@@ -437,7 +437,7 @@ G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21
             add     w1, w25, #1
             sxtw    w27, w1
             cmp     w25, w24
-            bhs     G_M9731_IG72
+            bhs     G_M9731_IG73
             ldrh    w1, [x23, w25, UXTW #2]
             sxtw    w25, w1
             b       G_M9731_IG12
@@ -445,7 +445,7 @@ G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21
 G_M9731_IG11:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
             sub     w6, w26, #1
             cmp     w6, w4
-            bhs     G_M9731_IG72
+            bhs     G_M9731_IG73
             ldr     w1, [x3, w6, UXTW #2]
             cmp     w1, w5
             beq     G_M9731_IG21
@@ -469,7 +469,7 @@ G_M9731_IG13:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x2
             str     w0, [fp, #-0x80]   // [V06 loc2]
             str     w4, [fp, #-0xC8]   // [V182 tmp157]
             cmp     w1, w4
-            bhs     G_M9731_IG72
+            bhs     G_M9731_IG73
             str     x3, [fp, #-0xD8] // [V181 tmp156]
             ; GC ptr vars +{V181}
             ldr     w1, [x3, w1, UXTW #2]
@@ -477,14 +477,14 @@ G_M9731_IG13:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x2
             add     w1, w1, w1,  LSR #31
             asr     w10, w1, #1
             cmp     w10, w22
-            bge     G_M9731_IG53
+            bge     G_M9731_IG54
                        ;; size=48 bbWeight=16 PerfScore 192.00
 G_M9731_IG14:        ; bbWeight=64, gcVars=00000000000000000000000000000200 {V181}, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, gcvars, byref, isz
             ; byrRegs -[x3]
             lsl     w11, w10, #1
             str     w11, [fp, #-0x94]  // [V16 loc12]
             cmp     w10, w22
-            bhs     G_M9731_IG72
+            bhs     G_M9731_IG73
             str     w10, [fp, #-0x7C]  // [V05 loc1]
             ldrh    w13, [x21, w10, UXTW #2]
             str     w13, [fp, #-0x8C]  // [V11 loc7]
@@ -513,7 +513,7 @@ G_M9731_IG15:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             str     w4, [fp, #-0xCC]   // [V244 tmp219]
             ldr     w5, [fp, #-0xC4]   // [V180 tmp155]
             cmp     w5, w4
-            bhi     G_M9731_IG75
+            bhi     G_M9731_IG76
             mov     w2, w5
             lsl     x2, x2, #2
             mov     x0, x3
@@ -548,7 +548,7 @@ G_M9731_IG15:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             str     w4, [fp, #-0xD0]   // [V248 tmp223]
             ldr     w5, [fp, #-0xC8]   // [V182 tmp157]
             cmp     w5, w4
-            bhi     G_M9731_IG75
+            bhi     G_M9731_IG76
             mov     w2, w5
             lsl     x2, x2, #2
             mov     x0, x3
@@ -579,29 +579,29 @@ G_M9731_IG16:        ; bbWeight=64, gcVars=00000000000000000000000000000200 {V18
             ; GC ptr vars -{V247}
             ldr     w13, [fp, #-0x8C]  // [V11 loc7]
             cmp     w13, #42
-            beq     G_M9731_IG28
+            beq     G_M9731_IG30
                        ;; size=12 bbWeight=64 PerfScore 224.00
 G_M9731_IG17:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             tst     w19, #255
             beq     G_M9731_IG26
             cmp     w13, #60
             bne     G_M9731_IG26
-            mov     w13, wzr
+            mov     w14, wzr
             cbnz    w6, G_M9731_IG24
             cmp     w25, #46
             bne     G_M9731_IG23
-            sxtw    w1, w27
-            cmp     w1, w24
+            sxtw    w13, w27
+            cmp     w13, w24
             bge     G_M9731_IG23
                        ;; size=44 bbWeight=32 PerfScore 256.00
 G_M9731_IG18:        ; bbWeight=256, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            cmp     w1, w24
-            bhs     G_M9731_IG72
-            ldrh    w0, [x23, w1, UXTW #2]
-            cmp     w0, #46
+            cmp     w13, w24
+            bhs     G_M9731_IG73
+            ldrh    w1, [x23, w13, UXTW #2]
+            cmp     w1, #46
             beq     G_M9731_IG22
-            add     w1, w1, #1
-            cmp     w1, w24
+            add     w13, w13, #1
+            cmp     w13, w24
             blt     G_M9731_IG18
                        ;; size=32 bbWeight=256 PerfScore 2048.00
 G_M9731_IG19:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
@@ -612,18 +612,18 @@ G_M9731_IG20:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, g
             ; GC ptr vars -{V181}
             str     x3, [fp, #-0xD8]   // [V181 tmp156]
             ; GC ptr vars +{V181}
-            b       G_M9731_IG63
+            b       G_M9731_IG64
                       ;; size=8 bbWeight=2 PerfScore 4.00
 G_M9731_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref
             ; byrRegs -[x21 x23 x28]
             ; GC ptr vars -{V181}
             ldr     w5, [fp, #-0x90]   // [V15 loc11]
-            b       G_M9731_IG64
+            b       G_M9731_IG65
                       ;; size=8 bbWeight=1 PerfScore 3.00
 G_M9731_IG22:        ; bbWeight=32, gcVars=00000000000000000000000000000200 {V181}, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, gcvars, byref
             ; byrRegs -[x3] +[x21 x23 x28]
             ; GC ptr vars +{V09 V181}
-            mov     w13, #1
+            mov     w14, #1
                         ;; size=4 bbWeight=32 PerfScore 16.00
 G_M9731_IG23:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
             cmp     w25, #46
@@ -634,183 +634,181 @@ G_M9731_IG24:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             mov     w1, #1
                        ;; size=4 bbWeight=32 PerfScore 16.00
 G_M9731_IG25:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            orr     w1, w1, w13
-            cbz     w1, G_M9731_IG29
-            b       G_M9731_IG28
+            orr     w1, w1, w14
+            cbz     w1, G_M9731_IG31
+            b       G_M9731_IG30
                        ;; size=12 bbWeight=32 PerfScore 80.00
 G_M9731_IG26:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w11, [fp, #-0x94]  // [V16 loc12]
             add     w11, w11, #2
             tst     w19, #255
-            beq     G_M9731_IG37
+            beq     G_M9731_IG38
             cmp     w13, #62
-            bne     G_M9731_IG27
-            cbnz    w6, G_M9731_IG30
+            bne     G_M9731_IG28
+            cbnz    w6, G_M9731_IG32
             cmp     w25, #46
-            beq     G_M9731_IG30
-            b       G_M9731_IG34
-                       ;; size=40 bbWeight=32 PerfScore 288.00
-G_M9731_IG27:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            cmp     w13, #34
-            bne     G_M9731_IG37
-            cbnz    w6, G_M9731_IG30
-            b       G_M9731_IG35
-                       ;; size=16 bbWeight=32 PerfScore 112.00
+            beq     G_M9731_IG32
+                       ;; size=36 bbWeight=32 PerfScore 256.00
+G_M9731_IG27:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
+            b       G_M9731_IG36
+                       ;; size=4 bbWeight=8 PerfScore 8.00
 G_M9731_IG28:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
+            cmp     w13, #34
+            bne     G_M9731_IG38
+            cbnz    w6, G_M9731_IG32
+                       ;; size=12 bbWeight=32 PerfScore 80.00
+G_M9731_IG29:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
+            b       G_M9731_IG37
+                       ;; size=4 bbWeight=8 PerfScore 8.00
+G_M9731_IG30:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w7, [fp, #-0x84]    // [V07 loc3]
             add     w13, w7, #1
             cmp     w7, w2
-            bhs     G_M9731_IG72
+            bhs     G_M9731_IG73
             ldr     w11, [fp, #-0x94]    // [V16 loc12]
             str     w11, [x28, w7, UXTW #2]
             str     w13, [fp, #-0x84]  // [V07 loc3]
             str     w11, [fp, #-0x94]  // [V16 loc12]
                        ;; size=32 bbWeight=32 PerfScore 288.00
...
  
+12 (+1.24%) : 6254.dasm - FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5int,int,int,int,int
@@ -78,7 +78,7 @@ G_M22428_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
 G_M22428_IG03:        ; bbWeight=8, gcrefRegs=2080000 {x19 x25}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             ldrb    w0, [x19, #0x14]
-            cbnz    w0, G_M22428_IG20
+            cbnz    w0, G_M22428_IG21
                      ;; size=8 bbWeight=8 PerfScore 32.00
 G_M22428_IG04:        ; bbWeight=4, gcrefRegs=2080000 {x19 x25}, byrefRegs=0000 {}, byref, isz
             mov     w26, wzr
@@ -106,9 +106,9 @@ G_M22428_IG06:        ; bbWeight=15.84, gcrefRegs=2080000 {x19 x25}, byrefRegs=1
             cmp     w26, #16
             blt     G_M22428_IG06
                        ;; size=40 bbWeight=15.84 PerfScore 142.56
-G_M22428_IG07:        ; bbWeight=2, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref
+G_M22428_IG07:        ; bbWeight=4, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref
             b       G_M22428_IG10
-                       ;; size=4 bbWeight=2 PerfScore 2.00
+                       ;; size=4 bbWeight=4 PerfScore 4.00
 G_M22428_IG08:        ; bbWeight=0.02, gcrefRegs=2080000 {x19 x25}, byrefRegs=0000 {}, byref
             ; byrRegs -[x28]
             add     x28, x25, #16
@@ -126,7 +126,7 @@ G_M22428_IG09:        ; bbWeight=0.16, gcrefRegs=2080000 {x19 x25}, byrefRegs=10
             ; gcr arg pop 0
             ldr     w27, [x25, #0x08]
             cmp     w26, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             str     w0, [x28, w26, UXTW #2]
             add     w26, w26, #1
             cmp     w26, #16
@@ -140,21 +140,21 @@ G_M22428_IG10:        ; bbWeight=4, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000
 G_M22428_IG11:        ; bbWeight=15.84, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref, isz
             sub     w0, w26, #3
             cmp     w0, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             ldr     w0, [x28, w0, UXTW #2]
             sub     w1, w26, #8
             cmp     w1, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             ldr     w1, [x28, w1, UXTW #2]
             eor     w0, w0, w1
             sub     w1, w26, #14
             cmp     w1, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             ldr     w1, [x28, w1, UXTW #2]
             eor     w0, w0, w1
             sub     w1, w26, #16
             cmp     w1, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             ldr     w1, [x28, w1, UXTW #2]
             eor     w0, w0, w1
             ror     w0, w0, #31
@@ -163,35 +163,35 @@ G_M22428_IG11:        ; bbWeight=15.84, gcrefRegs=2080000 {x19 x25}, byrefRegs=1
             cmp     w26, #80
             blt     G_M22428_IG11
                        ;; size=96 bbWeight=15.84 PerfScore 403.92
-G_M22428_IG12:        ; bbWeight=2, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref
+G_M22428_IG12:        ; bbWeight=4, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref
             b       G_M22428_IG14
-                       ;; size=4 bbWeight=2 PerfScore 2.00
+                       ;; size=4 bbWeight=4 PerfScore 4.00
 G_M22428_IG13:        ; bbWeight=0.16, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref, isz
             sub     w0, w26, #3
             cmp     w0, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             sub     w0, w26, #3
             ldr     w0, [x28, w0, UXTW #2]
             sub     w1, w26, #8
             cmp     w1, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             sub     w1, w26, #8
             ldr     w1, [x28, w1, UXTW #2]
             eor     w0, w0, w1
             sub     w1, w26, #14
             cmp     w1, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             sub     w1, w26, #14
             ldr     w1, [x28, w1, UXTW #2]
             eor     w0, w0, w1
             sub     w1, w26, #16
             cmp     w1, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             sub     w1, w26, #16
             ldr     w1, [x28, w1, UXTW #2]
             eor     w0, w0, w1
             cmp     w26, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             ror     w0, w0, #31
             str     w0, [x28, w26, UXTW #2]
             add     w26, w26, #1
@@ -255,10 +255,13 @@ G_M22428_IG15:        ; bbWeight=15.84, gcrefRegs=2080000 {x19 x25}, byrefRegs=1
             mov     w6, w8
             blt     G_M22428_IG17
                        ;; size=172 bbWeight=15.84 PerfScore 689.04
-G_M22428_IG16:        ; bbWeight=2, gcrefRegs=2080000 {x19 x25}, byrefRegs=0000 {}, byref
+G_M22428_IG16:        ; bbWeight=4, gcrefRegs=2080000 {x19 x25}, byrefRegs=0000 {}, byref
             ; byrRegs -[x28]
+            mov     w1, w5
+            mov     w3, w6
+            ldr     w2, [fp, #0x20]    // [V10 loc9]
             b       G_M22428_IG19
-                        ;; size=4 bbWeight=2 PerfScore 2.00
+                       ;; size=16 bbWeight=4 PerfScore 16.00
 G_M22428_IG17:        ; bbWeight=7.92, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref
             ; byrRegs +[x28]
             mov     w8, w27
@@ -285,7 +288,7 @@ G_M22428_IG18:        ; bbWeight=0.16, gcrefRegs=2080000 {x19 x25}, byrefRegs=10
             add     w0, w0, w1
             ldr     w2, [fp, #0x1C]    // [V12 loc11]
             cmp     w2, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             ldr     w1, [x28, w2, UXTW #2]
             add     w4, w0, w1
             stp     w4, w2, [fp, #0x18]    // [V19 tmp5], [V12 loc11]
@@ -299,34 +302,38 @@ G_M22428_IG18:        ; bbWeight=0.16, gcrefRegs=2080000 {x19 x25}, byrefRegs=10
             ldr     w1, [fp, #0x18]    // [V19 tmp5]
             add     w5, w0, w1
             ldr     w1, [fp, #0x24]    // [V09 loc8]
-            sxtw    w0, w1
-            ldr     w1, [fp, #0x28]    // [V08 loc7]
             sxtw    w2, w1
+            ldr     w1, [fp, #0x28]    // [V08 loc7]
+            sxtw    w3, w1
             ldr     w4, [fp, #0x2C]  // [V07 loc6]
             ror     w1, w4, #2
             sxtw    w4, w26
             sxtw    w26, w5
-            ldr     w3, [fp, #0x1C]   // [V12 loc11]
-            add     w3, w3, #1
-            cmp     w3, #80
-            str     w0, [fp, #0x20]    // [V10 loc9]
-            mov     w5, w1
-            mov     w6, w2
-            mov     w8, w3
-            blt     G_M22428_IG18
-                       ;; size=188 bbWeight=0.16 PerfScore 7.60
+            ldr     w0, [fp, #0x1C]   // [V12 loc11]
+            add     w0, w0, #1
+            cmp     w0, #80
+            mov     w8, w0
+            blt     G_M22428_IG20
+                       ;; size=176 bbWeight=0.16 PerfScore 7.28
 G_M22428_IG19:        ; bbWeight=4, gcrefRegs=2080000 {x19 x25}, byrefRegs=0000 {}, byref
             ; byrRegs -[x28]
             add     w20, w20, w26
             add     w21, w21, w4
-            add     w22, w22, w5
-            add     w23, w23, w6
-            ldr     w7, [fp, #0x20]    // [V10 loc9]
-            add     w24, w24, w7
+            add     w22, w22, w1
+            add     w23, w23, w3
+            add     w24, w24, w2
             b       G_M22428_IG03
-                        ;; size=28 bbWeight=4 PerfScore 22.00
-G_M22428_IG20:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                      ;; size=24 bbWeight=4 PerfScore 14.00
+G_M22428_IG20:        ; bbWeight=0.08, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref
+            ; byrRegs +[x28]
+            str     w2, [fp, #0x20]    // [V10 loc9]
+            mov     w5, w1
+            mov     w6, w3
+            b       G_M22428_IG18
+                       ;; size=16 bbWeight=0.08 PerfScore 0.24
+G_M22428_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x25]
+            ; byrRegs -[x28]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -337,7 +344,7 @@ G_M22428_IG20:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             stp     w22, w23, [x0, #0x10]
             str     w24, [x0, #0x18]
                        ;; size=28 bbWeight=1 PerfScore 5.50
-G_M22428_IG21:        ; bbWeight=1, epilog, nogc, extend
+G_M22428_IG22:        ; bbWeight=1, epilog, nogc, extend
             ldp     x27, x28, [sp, #0x70]
             ldp     x25, x26, [sp, #0x60]
             ldp     x23, x24, [sp, #0x50]
@@ -346,14 +353,14 @@ G_M22428_IG21:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x80
             ret     lr
                        ;; size=28 bbWeight=1 PerfScore 7.00
-G_M22428_IG22:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M22428_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 964, prolog size 32, PerfScore 1397.31, instruction count 241, allocated bytes for code 964 (MethodHash=57dda863) for method FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5[int,int,int,int,int] (FullOpts)
+; Total bytes of code 976, prolog size 32, PerfScore 1407.23, instruction count 244, allocated bytes for code 976 (MethodHash=57dda863) for method FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5[int,int,int,int,int] (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -364,7 +371,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 241 (0x000f1) Actual length = 964 (0x0003c4)
+  Function Length   : 244 (0x000f4) Actual length = 976 (0x0003d0)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+4 (+2.70%) : 17948.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
@@ -47,7 +47,7 @@ G_M5512_IG03:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byr
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            cbnz    w0, G_M5512_IG09
+            cbnz    w0, G_M5512_IG08
                         ;; size=44 bbWeight=2 PerfScore 35.00
 G_M5512_IG04:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x1, [x19, #0x10]
@@ -56,11 +56,11 @@ G_M5512_IG04:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byr
             mov     w1, #0xD1FFAB1E
             ; gcrRegs -[x1]
             cmp     w0, w1
-            beq     G_M5512_IG07
+            beq     G_M5512_IG10
             ldr     x19, [x19, #0x08]
                        ;; size=24 bbWeight=2 PerfScore 22.00
 G_M5512_IG05:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            cbz     x19, G_M5512_IG07
+            cbz     x19, G_M5512_IG10
                       ;; size=4 bbWeight=8 PerfScore 8.00
 G_M5512_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             movz    x1, #0xD1FFAB1E
@@ -73,23 +73,26 @@ G_M5512_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byr
                        ;; size=24 bbWeight=4 PerfScore 24.00
 G_M5512_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x1 x19]
-            mov     w0, wzr
+            b       G_M5512_IG10
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
+G_M5512_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w0, #1
                      ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M5512_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+G_M5512_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=0.50 PerfScore 2.00
-G_M5512_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            mov     w0, #1
+G_M5512_IG10:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, wzr
                         ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M5512_IG10:        ; bbWeight=0.50, epilog, nogc, extend
+G_M5512_IG11:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 148, prolog size 12, PerfScore 100.00, instruction count 37, allocated bytes for code 148 (MethodHash=0d76ea77) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
+; Total bytes of code 152, prolog size 12, PerfScore 100.50, instruction count 38, allocated bytes for code 152 (MethodHash=0d76ea77) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -100,7 +103,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 37 (0x00025) Actual length = 148 (0x000094)
+  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)
  
+16 (+2.88%) : 22466.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
@@ -19,36 +19,37 @@
 ;* V08 tmp1         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol>
 ;  V09 tmp2         [V09,T02] (  5, 16   )     ref  ->  x23         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol>
 ;  V10 tmp3         [V10,T03] (  4, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol>
-;  V11 tmp4         [V11    ] (  4,  8   )  struct (24) [fp+0x28]  do-not-enreg[XS] must-init addr-exposed "Inline stloc first use temp" <Microsoft.CodeAnalysis.UseSiteInfo`1[Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol]>
+;  V11 tmp4         [V11    ] (  4,  8   )  struct (24) [fp+0x30]  do-not-enreg[XS] must-init addr-exposed "Inline stloc first use temp" <Microsoft.CodeAnalysis.UseSiteInfo`1[Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol]>
 ;* V12 tmp5         [V12    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Immutable.ImmutableArray`1+Enumerator[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]>
 ;* V14 tmp7         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon[]>
-;  V15 tmp8         [V15,T05] (  4, 12.50)     int  ->   x1         "Inline stloc first use temp"
+;  V15 tmp8         [V15,T05] (  4, 12.50)     int  ->  x23         "Inline stloc first use temp"
 ;  V16 tmp9         [V16,T15] (  2,  1   )     ref  ->   x0         single-def "field V05._array (fldOffset=0x0)" P-INDEP
-;  V17 tmp10        [V17,T04] (  4, 12.50)     int  ->  x23         "field V05._index (fldOffset=0x8)" P-INDEP
+;  V17 tmp10        [V17,T04] (  4, 12.50)     int  ->  x24         "field V05._index (fldOffset=0x8)" P-INDEP
 ;  V18 tmp11        [V18,T14] (  3,  1.50)     ref  ->   x0         "field V06.array (fldOffset=0x0)" P-INDEP
-;  V19 tmp12        [V19    ] (  4,  8   )     ref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V11.DiagnosticInfo (fldOffset=0x0)" P-DEP
-;  V20 tmp13        [V20    ] (  4,  8   )     ref  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V11.PrimaryDependency (fldOffset=0x8)" P-DEP
-;  V21 tmp14        [V21    ] (  4,  8   )     ref  ->  [fp+0x38]  do-not-enreg[X] addr-exposed "field V11.SecondaryDependencies (fldOffset=0x10)" P-DEP
+;  V19 tmp12        [V19    ] (  4,  8   )     ref  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V11.DiagnosticInfo (fldOffset=0x0)" P-DEP
+;  V20 tmp13        [V20    ] (  4,  8   )     ref  ->  [fp+0x38]  do-not-enreg[X] addr-exposed "field V11.PrimaryDependency (fldOffset=0x8)" P-DEP
+;  V21 tmp14        [V21    ] (  4,  8   )     ref  ->  [fp+0x40]  do-not-enreg[X] addr-exposed "field V11.SecondaryDependencies (fldOffset=0x10)" P-DEP
 ;* V22 tmp15        [V22    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V12.array (fldOffset=0x0)" P-INDEP
 ;  V23 tmp16        [V23,T16] (  2,  1   )     ref  ->   x0         single-def "field V13._array (fldOffset=0x0)" P-INDEP
 ;* V24 tmp17        [V24,T17] (  0,  0   )     int  ->  zero-ref    single-def "field V13._index (fldOffset=0x8)" P-INDEP
-;  V25 tmp18        [V25    ] (  4, 16   )  struct (24) [fp+0x10]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.CodeAnalysis.UseSiteInfo`1[Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol]>
+;  V25 tmp18        [V25    ] (  4, 16   )  struct (24) [fp+0x18]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.CodeAnalysis.UseSiteInfo`1[Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol]>
 ;  V26 tmp19        [V26,T00] (  3, 24   )     ref  ->   x0         "argument with side effect"
 ;  V27 cse0         [V27,T12] (  3,  5   )     int  ->  x19         "CSE - aggressive"
-;  V28 cse1         [V28,T13] (  2,  4.50)   byref  ->  x24         hoist "CSE - aggressive"
+;  V28 cse1         [V28,T13] (  2,  4.50)   byref  ->  x25         hoist "CSE - aggressive"
 ;  V29 cse2         [V29,T06] (  3, 12   )    long  ->  x24         "CSE - aggressive"
 ;  V30 cse3         [V30,T11] (  3,  6   )    long  ->  x24         "CSE - aggressive"
 ;
-; Lcl frame size = 48
+; Lcl frame size = 56
 
 G_M31465_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x70]!
-            stp     x19, x20, [sp, #0x40]
-            stp     x21, x22, [sp, #0x50]
-            stp     x23, x24, [sp, #0x60]
+            stp     fp, lr, [sp, #-0x80]!
+            stp     x19, x20, [sp, #0x48]
+            stp     x21, x22, [sp, #0x58]
+            stp     x23, x24, [sp, #0x68]
+            str     x25, [sp, #0x78]
             mov     fp, sp
-            add     x9, fp, #16
+            add     x9, fp, #24
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     xzr, xzr, [x9, #0x20]
@@ -58,7 +59,7 @@ G_M31465_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; gcrRegs +[x20]
             mov     x19, x2
             ; byrRegs +[x19]
-                     ;; size=48 bbWeight=1 PerfScore 9.00
+                      ;; size=52 bbWeight=1 PerfScore 10.00
 G_M31465_IG02:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=80000 {x19}, byref, isz
             mov     x0, x21
             ; gcrRegs +[x0]
@@ -99,13 +100,13 @@ G_M31465_IG04:        ; bbWeight=2, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefReg
             ldr     x1, [x1, #0xD1FFAB1E]
             ldr     x1, [x1]
             blr     x1
-            stp     xzr, xzr, [fp, #0x28]
-            str     xzr, [fp, #0x38]
+            stp     xzr, xzr, [fp, #0x30]
+            str     xzr, [fp, #0x40]
             cbz     x0, G_M31465_IG09
             ldrb    w8, [x19, #0x19]
             cmp     w8, #2
             beq     G_M31465_IG09
-            add     x8, fp, #40 // [V11 tmp4]
+            add     x8, fp, #48  // [V11 tmp4]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x80]
             ldr     x1, [x1, #0x20]
@@ -113,13 +114,13 @@ G_M31465_IG04:        ; bbWeight=2, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefReg
             ; gcrRegs -[x0]
                        ;; size=64 bbWeight=2 PerfScore 57.00
 G_M31465_IG05:        ; bbWeight=2, nogc, extend
-            ldp     x0, x1, [fp, #0x28]
-            stp     x0, x1, [fp, #0x10]
-            ldr     x0, [fp, #0x38]
-            str     x0, [fp, #0x20]
+            ldp     x0, x1, [fp, #0x30]
+            stp     x0, x1, [fp, #0x18]
+            ldr     x0, [fp, #0x40]
+            str     x0, [fp, #0x28]
                         ;; size=16 bbWeight=2 PerfScore 14.00
 G_M31465_IG06:        ; bbWeight=2, extend
-            add     x2, fp, #16    // [V25 tmp18]
+            add     x2, fp, #24 // [V25 tmp18]
             mov     x0, x19
             ; byrRegs +[x0]
             movz    x24, #0xD1FFAB1E
@@ -134,13 +135,13 @@ G_M31465_IG06:        ; bbWeight=2, extend
             ; byrRegs -[x0]
                        ;; size=44 bbWeight=2 PerfScore 17.00
 G_M31465_IG07:        ; bbWeight=2, nogc, extend
-            ldp     x0, x1, [fp, #0x28]
-            stp     x0, x1, [fp, #0x10]
-            ldr     x0, [fp, #0x38]
-            str     x0, [fp, #0x20]
+            ldp     x0, x1, [fp, #0x30]
+            stp     x0, x1, [fp, #0x18]
+            ldr     x0, [fp, #0x40]
+            str     x0, [fp, #0x28]
                         ;; size=16 bbWeight=2 PerfScore 14.00
 G_M31465_IG08:        ; bbWeight=2, extend
-            add     x2, fp, #16    // [V25 tmp18]
+            add     x2, fp, #24 // [V25 tmp18]
             mov     x0, x19
             ; byrRegs +[x0]
             mov     x1, x24
@@ -176,16 +177,16 @@ G_M31465_IG10:        ; bbWeight=0.50, gcrefRegs=700000 {x20 x21 x22}, byrefRegs
             blr     x2
             ; byrRegs -[x1 x19]
             ldr     w19, [x0, #0x08]
-            mov     w1, wzr
             mov     w23, wzr
+            mov     w24, wzr
             cmp     w19, #0
             ble     G_M31465_IG12
-            add     x24, x0, #16
-            ; byrRegs +[x24]
+            add     x25, x0, #16
+            ; byrRegs +[x25]
                        ;; size=80 bbWeight=0.50 PerfScore 13.50
-G_M31465_IG11:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=1000000 {x24}, byref, isz
+G_M31465_IG11:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=2000000 {x25}, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [x24, w1, UXTW #3]
+            ldr     x0, [x25, w23, UXTW #3]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
             ldr     x1, [x1, #0xD1FFAB1E]
@@ -193,14 +194,14 @@ G_M31465_IG11:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=10
             blr     x1
             cmp     x0, x22
             beq     G_M31465_IG14
-            add     w1, w23, #1
-            sxtw    w23, w1
-            cmp     w19, w23
+            add     w23, w24, #1
+            sxtw    w24, w23
+            cmp     w19, w24
             bgt     G_M31465_IG11
                        ;; size=44 bbWeight=4 PerfScore 68.00
 G_M31465_IG12:        ; bbWeight=0.50, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0 x22]
-            ; byrRegs -[x24]
+            ; byrRegs -[x25]
             mov     x0, x21
             ; gcrRegs +[x0]
             ldr     x1, [x21]
@@ -221,45 +222,48 @@ G_M31465_IG12:        ; bbWeight=0.50, gcrefRegs=300000 {x20 x21}, byrefRegs=000
             cset    x0, eq
                        ;; size=56 bbWeight=0.50 PerfScore 11.75
 G_M31465_IG13:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x23, x24, [sp, #0x60]
-            ldp     x21, x22, [sp, #0x50]
-            ldp     x19, x20, [sp, #0x40]
-            ldp     fp, lr, [sp], #0x70
+            ldr     x25, [sp, #0x78]
+            ldp     x23, x24, [sp, #0x68]
+            ldp     x21, x22, [sp, #0x58]
+            ldp     x19, x20, [sp, #0x48]
+            ldp     fp, lr, [sp], #0x80
             ret     lr
-                        ;; size=20 bbWeight=0.50 PerfScore 2.50
+                       ;; size=24 bbWeight=0.50 PerfScore 3.50
 G_M31465_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M31465_IG15:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x23, x24, [sp, #0x60]
-            ldp     x21, x22, [sp, #0x50]
-            ldp     x19, x20, [sp, #0x40]
-            ldp     fp, lr, [sp], #0x70
+            ldr     x25, [sp, #0x78]
+            ldp     x23, x24, [sp, #0x68]
+            ldp     x21, x22, [sp, #0x58]
+            ldp     x19, x20, [sp, #0x48]
+            ldp     fp, lr, [sp], #0x80
             ret     lr
-                        ;; size=20 bbWeight=0.50 PerfScore 2.50
+                       ;; size=24 bbWeight=0.50 PerfScore 3.50
 G_M31465_IG16:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M31465_IG17:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x23, x24, [sp, #0x60]
-            ldp     x21, x22, [sp, #0x50]
-            ldp     x19, x20, [sp, #0x40]
-            ldp     fp, lr, [sp], #0x70
+            ldr     x25, [sp, #0x78]
+            ldp     x23, x24, [sp, #0x68]
+            ldp     x21, x22, [sp, #0x58]
+            ldp     x19, x20, [sp, #0x48]
+            ldp     fp, lr, [sp], #0x80
             ret     lr
-                        ;; size=20 bbWeight=0.50 PerfScore 2.50
+                       ;; size=24 bbWeight=0.50 PerfScore 3.50
 
-; Total bytes of code 556, prolog size 36, PerfScore 326.75, instruction count 139, allocated bytes for code 556 (MethodHash=11448516) for method Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
+; Total bytes of code 572, prolog size 40, PerfScore 330.75, instruction count 143, allocated bytes for code 572 (MethodHash=11448516) for method Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 2
+  Code Words        : 3
   Epilog Count      : 3
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 139 (0x0008b) Actual length = 556 (0x00022c)
+  Function Length   : 143 (0x0008f) Actual length = 572 (0x00023c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -273,10 +277,13 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
+    D1 8F       save_reg X#6 Z#15 (0x0F); str x25, [sp, #120]
     E6          save_next
     E6          save_next
-    C8 08       save_regp X#0 Z#8 (0x08); stp x19, x20, [sp, #64]
-    8D          save_fplr_x #13 (0x0D); stp fp, lr, [sp, #-112]!
+    C8 09       save_regp X#0 Z#9 (0x09); stp x19, x20, [sp, #72]
+    8F          save_fplr_x #15 (0x0F); stp fp, lr, [sp, #-128]!
+    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.linux.arm64.checked.mch | 192 | 31 | 32 | 129 | -184 | +280 | 
| benchmarks.run_pgo.linux.arm64.checked.mch | 2,573 | 767 | 999 | 807 | -7,864 | +8,784 | 
| benchmarks.run_tiered.linux.arm64.checked.mch | 88 | 11 | 17 | 60 | -680 | +116 | 
| coreclr_tests.run.linux.arm64.checked.mch | 1,524 | 244 | 347 | 933 | -2,652 | +2,832 | 
| libraries.crossgen2.linux.arm64.checked.mch | 4 | 2 | 1 | 1 | -8 | +8 | 
| libraries.pmi.linux.arm64.checked.mch | 1,000 | 158 | 115 | 727 | -1,480 | +1,156 | 
| libraries_tests.run.linux.arm64.Release.mch | 10,170 | 2,594 | 2,193 | 5,383 | -26,676 | +22,152 | 
| librariestestsnotieredcompilation.run.linux.arm64.Release.mch | 1,318 | 220 | 138 | 960 | -2,268 | +1,300 | 
| realworld.run.linux.arm64.checked.mch | 265 | 40 | 27 | 198 | -360 | +228 | 
| smoke_tests.nativeaot.linux.arm64.checked.mch | 0 | 0 | 0 | 0 | -0 | +0 | 
|  | 17,134 | 4,067 | 3,869 | 9,198 | -42,172 | +36,856 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| benchmarks.run.linux.arm64.checked.mch | 34,825 | 3,116 | 31,709 | 0 (0.00%) | 0 (0.00%) | 
| benchmarks.run_pgo.linux.arm64.checked.mch | 150,287 | 58,471 | 91,816 | 0 (0.00%) | 0 (0.00%) | 
| benchmarks.run_tiered.linux.arm64.checked.mch | 60,169 | 44,995 | 15,174 | 0 (0.00%) | 0 (0.00%) | 
| coreclr_tests.run.linux.arm64.checked.mch | 625,614 | 382,473 | 243,141 | 0 (0.00%) | 0 (0.00%) | 
| libraries.crossgen2.linux.arm64.checked.mch | 1,925 | 0 | 1,925 | 0 (0.00%) | 0 (0.00%) | 
| libraries.pmi.linux.arm64.checked.mch | 295,514 | 6 | 295,508 | 0 (0.00%) | 0 (0.00%) | 
| libraries_tests.run.linux.arm64.Release.mch | 742,256 | 491,999 | 250,257 | 0 (0.00%) | 0 (0.00%) | 
| librariestestsnotieredcompilation.run.linux.arm64.Release.mch | 304,774 | 21,599 | 283,175 | 0 (0.00%) | 0 (0.00%) | 
| realworld.run.linux.arm64.checked.mch | 33,311 | 151 | 33,160 | 0 (0.00%) | 0 (0.00%) | 
| smoke_tests.nativeaot.linux.arm64.checked.mch | 52 | 0 | 52 | 0 (0.00%) | 0 (0.00%) | 
|  | 2,248,727 | 1,002,810 | 1,245,917 | 0 (0.00%) | 0 (0.00%) | 
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: 16182720 (overridden on cmd)
Total bytes of diff: 16182816 (overridden on cmd)
Total bytes of delta: 96 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          20 : 13860.dasm (0.89 % of base)
          20 : 17800.dasm (0.53 % of base)
          16 : 34125.dasm (2.25 % of base)
          16 : 24776.dasm (1.67 % of base)
          16 : 29991.dasm (0.20 % of base)
          16 : 34024.dasm (1.01 % of base)
          16 : 13390.dasm (0.21 % of base)
          12 : 11739.dasm (0.15 % of base)
          12 : 2851.dasm (1.74 % of base)
          12 : 5290.dasm (1.23 % of base)
          12 : 26830.dasm (3.16 % of base)
           8 : 12315.dasm (1.13 % of base)
           8 : 5621.dasm (3.64 % of base)
           8 : 12887.dasm (0.31 % of base)
           8 : 15938.dasm (1.89 % of base)
           8 : 29301.dasm (1.80 % of base)
           8 : 30243.dasm (0.54 % of base)
           8 : 22455.dasm (0.43 % of base)
           4 : 15268.dasm (2.33 % of base)
           4 : 12996.dasm (0.29 % of base)
Top file improvements (bytes):
         -24 : 5432.dasm (-1.10 % of base)
         -16 : 4180.dasm (-0.45 % of base)
         -12 : 19710.dasm (-0.43 % of base)
          -8 : 18772.dasm (-0.26 % of base)
          -8 : 29988.dasm (-0.14 % of base)
          -8 : 11760.dasm (-0.08 % of base)
          -8 : 18535.dasm (-0.10 % of base)
          -8 : 4381.dasm (-0.40 % of base)
          -4 : 3214.dasm (-0.38 % of base)
          -4 : 9098.dasm (-0.09 % of base)
          -4 : 16462.dasm (-1.56 % of base)
          -4 : 17361.dasm (-0.07 % of base)
          -4 : 18784.dasm (-0.17 % of base)
          -4 : 18818.dasm (-0.14 % of base)
          -4 : 19303.dasm (-0.40 % of base)
          -4 : 20971.dasm (-0.43 % of base)
          -4 : 29578.dasm (-0.33 % of base)
          -4 : 29985.dasm (-0.02 % of base)
          -4 : 6596.dasm (-0.22 % of base)
          -4 : 7627.dasm (-0.21 % of base)
53 total files with Code Size differences (30 improved, 23 regressed), 20 unchanged.
Top method regressions (bytes):
          20 (0.53 % of base) : 17800.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (FullOpts)
          20 (0.89 % of base) : 13860.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (FullOpts)
          16 (1.67 % of base) : 24776.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (FullOpts)
          16 (2.25 % of base) : 34125.dasm - Benchstone.BenchI.Array2:Bench(int):ubyte (FullOpts)
          16 (0.21 % of base) : 13390.dasm - Jil.Deserialize.Methods:_ReadISO8601Date(System.IO.TextReader,ushort[]):System.DateTime (FullOpts)
          16 (0.20 % of base) : 29991.dasm - Jil.Deserialize.Methods:_ReadISO8601DateWithOffset(System.IO.TextReader,ushort[]):System.DateTimeOffset (FullOpts)
          16 (1.01 % of base) : 34024.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
          12 (0.15 % of base) : 11739.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
          12 (3.16 % of base) : 26830.dasm - Benchstone.BenchI.XposMatrix:Test():ubyte:this (FullOpts)
          12 (1.74 % of base) : 2851.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          12 (1.23 % of base) : 5290.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (FullOpts)
           8 (0.54 % of base) : 30243.dasm - BenchmarksGame.KNucleotide_9:loadThreeData(System.IO.Stream) (FullOpts)
           8 (1.80 % of base) : 29301.dasm - Benchstone.BenchF.SqMtx:Test():ubyte:this (FullOpts)
           8 (1.89 % of base) : 15938.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           8 (0.43 % of base) : 22455.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509CertificateReader+<>c:<get_Extensions>b__65_0(Microsoft.Win32.SafeHandles.SafeX509Handle):System.Security.Cryptography.X509Certificates.X509Extension[]:this (FullOpts)
           8 (3.64 % of base) : 5621.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:AddUniqueStatus(System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],byref) (FullOpts)
           8 (0.31 % of base) : 12887.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
           8 (1.13 % of base) : 12315.dasm - System.Xml.XmlUTF8TextReader:ReadQualifiedName(System.Xml.PrefixHandle,System.Xml.StringHandle):this (FullOpts)
           4 (0.44 % of base) : 19539.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:WhereAsArrayImpl[System.__Canon,int](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte],System.Func`3[System.__Canon,int,ubyte],int):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (FullOpts)
           4 (0.42 % of base) : 31852.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:get_Count():int:this (FullOpts)
Top method improvements (bytes):
         -24 (-1.10 % of base) : 5432.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -16 (-0.45 % of base) : 4180.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[]):System.Reflection.Assembly (FullOpts)
         -12 (-0.43 % of base) : 19710.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckAbstractClassImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -8 (-0.14 % of base) : 29988.dasm - Jil.Deserialize.Methods:SkipWithLeadChar(System.IO.TextReader,int) (FullOpts)
          -8 (-0.08 % of base) : 11760.dasm - Jil.Deserialize.Methods:SkipWithLeadCharThunkReader(byref,int) (FullOpts)
          -8 (-0.10 % of base) : 18535.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)
          -8 (-0.26 % of base) : 18772.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 (FullOpts)
          -8 (-0.40 % of base) : 4381.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
          -4 (-0.02 % of base) : 28409.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.07 % of base) : 17361.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.02 % of base) : 29985.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.24 % of base) : 23636.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (FullOpts)
          -4 (-0.43 % of base) : 20971.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
          -4 (-0.17 % of base) : 18784.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:BuildReferencedAssembliesAndModulesMaps(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]],int,int,System.Collections.Generic.IReadOnlyDictionary`2[System.__Canon,System.__Canon],ubyte,byref,byref,byref,byref) (FullOpts)
          -4 (-0.16 % of base) : 18728.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:TryAddAssembly(Microsoft.CodeAnalysis.AssemblyIdentity,Microsoft.CodeAnalysis.MetadataReference,int,Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.Location,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],ubyte):Microsoft.CodeAnalysis.MetadataReference:this (FullOpts)
          -4 (-0.14 % of base) : 18818.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation+ReferenceManager:SetupReferencesForSourceAssembly(Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.PEModule],int,Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol][],byref,byref) (FullOpts)
          -4 (-0.32 % of base) : 19462.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddDeclaredNontypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -4 (-0.40 % of base) : 19303.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (FullOpts)
          -4 (-0.22 % of base) : 6596.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (FullOpts)
          -4 (-0.21 % of base) : 7627.dasm - ProtoBuf.Meta.MetaType:ResolveTupleConstructor(System.Type,byref):System.Reflection.ConstructorInfo (FullOpts)
Top method regressions (percentages):
           8 (3.64 % of base) : 5621.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:AddUniqueStatus(System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],byref) (FullOpts)
          12 (3.16 % of base) : 26830.dasm - Benchstone.BenchI.XposMatrix:Test():ubyte:this (FullOpts)
           4 (2.33 % of base) : 15268.dasm - System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
          16 (2.25 % of base) : 34125.dasm - Benchstone.BenchI.Array2:Bench(int):ubyte (FullOpts)
           8 (1.89 % of base) : 15938.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           8 (1.80 % of base) : 29301.dasm - Benchstone.BenchF.SqMtx:Test():ubyte:this (FullOpts)
          12 (1.74 % of base) : 2851.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          16 (1.67 % of base) : 24776.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (FullOpts)
          12 (1.23 % of base) : 5290.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (FullOpts)
           8 (1.13 % of base) : 12315.dasm - System.Xml.XmlUTF8TextReader:ReadQualifiedName(System.Xml.PrefixHandle,System.Xml.StringHandle):this (FullOpts)
          16 (1.01 % of base) : 34024.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
          20 (0.89 % of base) : 13860.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (FullOpts)
           8 (0.54 % of base) : 30243.dasm - BenchmarksGame.KNucleotide_9:loadThreeData(System.IO.Stream) (FullOpts)
          20 (0.53 % of base) : 17800.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (FullOpts)
           4 (0.44 % of base) : 19539.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:WhereAsArrayImpl[System.__Canon,int](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte],System.Func`3[System.__Canon,int,ubyte],int):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (FullOpts)
           8 (0.43 % of base) : 22455.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509CertificateReader+<>c:<get_Extensions>b__65_0(Microsoft.Win32.SafeHandles.SafeX509Handle):System.Security.Cryptography.X509Certificates.X509Extension[]:this (FullOpts)
           4 (0.42 % of base) : 31852.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:get_Count():int:this (FullOpts)
           4 (0.35 % of base) : 6695.dasm - System.Reflection.CustomAttributeEncodedArgument:ParseNamedArgs(byref,System.Reflection.CustomAttributeNamedParameter[],System.Reflection.RuntimeModule) (FullOpts)
           8 (0.31 % of base) : 12887.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
           4 (0.29 % of base) : 12996.dasm - System.IO.RandomAccess:WriteGatherAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList`1[System.ReadOnlyMemory`1[ubyte]],long) (FullOpts)
Top method improvements (percentages):
          -4 (-1.56 % of base) : 16462.dasm - Struct.GSeq:FilterSkipMapSum():int:this (FullOpts)
         -24 (-1.10 % of base) : 5432.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -4 (-0.81 % of base) : 9165.dasm - Utf8Json.JsonReader:ReadInt64():long:this (FullOpts)
          -4 (-0.46 % of base) : 15269.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (FullOpts)
         -16 (-0.45 % of base) : 4180.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[]):System.Reflection.Assembly (FullOpts)
          -4 (-0.43 % of base) : 20971.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
         -12 (-0.43 % of base) : 19710.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckAbstractClassImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -4 (-0.41 % of base) : 18086.dasm - System.Net.MultiMemory:CopyFrom(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
          -8 (-0.40 % of base) : 4381.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
          -4 (-0.40 % of base) : 19303.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (FullOpts)
          -4 (-0.38 % of base) : 3214.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[long,System.Net.Sockets.SocketAsyncEngine+SocketAsyncContextWrapper]:TryRemoveInternal(long,byref,ubyte,System.Net.Sockets.SocketAsyncEngine+SocketAsyncContextWrapper):ubyte:this (FullOpts)
          -4 (-0.36 % of base) : 12448.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:get_Count():int:this (FullOpts)
          -4 (-0.33 % of base) : 29578.dasm - System.Threading.TimerQueue:FireNextTimers():this (FullOpts)
          -4 (-0.32 % of base) : 19462.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddDeclaredNontypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -8 (-0.26 % of base) : 18772.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 (FullOpts)
          -4 (-0.24 % of base) : 23636.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (FullOpts)
          -4 (-0.22 % of base) : 6596.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (FullOpts)
          -4 (-0.21 % of base) : 7627.dasm - ProtoBuf.Meta.MetaType:ResolveTupleConstructor(System.Type,byref):System.Reflection.ConstructorInfo (FullOpts)
          -4 (-0.17 % of base) : 18784.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:BuildReferencedAssembliesAndModulesMaps(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]],int,int,System.Collections.Generic.IReadOnlyDictionary`2[System.__Canon,System.__Canon],ubyte,byref,byref,byref,byref) (FullOpts)
          -4 (-0.16 % of base) : 18728.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:TryAddAssembly(Microsoft.CodeAnalysis.AssemblyIdentity,Microsoft.CodeAnalysis.MetadataReference,int,Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.Location,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],ubyte):Microsoft.CodeAnalysis.MetadataReference: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: 78138268 (overridden on cmd)
Total bytes of diff: 78139188 (overridden on cmd)
Total bytes of delta: 920 (0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          52 : 97159.dasm (0.89 % of base)
          48 : 73988.dasm (11.43 % of base)
          48 : 94070.dasm (11.43 % of base)
          48 : 65012.dasm (7.41 % of base)
          32 : 104234.dasm (2.19 % of base)
          32 : 93624.dasm (2.19 % of base)
          32 : 95088.dasm (0.70 % of base)
          32 : 118907.dasm (2.22 % of base)
          32 : 145211.dasm (2.19 % of base)
          32 : 23954.dasm (2.22 % of base)
          32 : 54481.dasm (2.22 % of base)
          32 : 139653.dasm (2.22 % of base)
          32 : 53296.dasm (19.05 % of base)
          28 : 70994.dasm (16.67 % of base)
          28 : 125752.dasm (6.54 % of base)
          28 : 18619.dasm (1.85 % of base)
          28 : 61845.dasm (16.67 % of base)
          28 : 97203.dasm (16.67 % of base)
          28 : 125199.dasm (1.80 % of base)
          28 : 39768.dasm (1.59 % of base)
Top file improvements (bytes):
        -476 : 144109.dasm (-33.06 % of base)
        -460 : 144093.dasm (-31.86 % of base)
        -156 : 71520.dasm (-21.67 % of base)
        -156 : 71551.dasm (-21.67 % of base)
         -80 : 112034.dasm (-2.01 % of base)
         -56 : 102261.dasm (-6.64 % of base)
         -52 : 54178.dasm (-1.60 % of base)
         -48 : 112031.dasm (-1.51 % of base)
         -44 : 112450.dasm (-1.35 % of base)
         -44 : 119694.dasm (-1.35 % of base)
         -44 : 116580.dasm (-1.29 % of base)
         -44 : 87058.dasm (-0.72 % of base)
         -32 : 102529.dasm (-0.89 % of base)
         -32 : 149986.dasm (-0.85 % of base)
         -28 : 30386.dasm (-0.84 % of base)
         -28 : 95436.dasm (-0.63 % of base)
         -24 : 132283.dasm (-7.41 % of base)
         -24 : 142925.dasm (-0.63 % of base)
         -24 : 122826.dasm (-7.41 % of base)
         -24 : 125065.dasm (-1.38 % of base)
79 total files with Code Size differences (41 improved, 38 regressed), 20 unchanged.
Top method regressions (bytes):
          52 (0.89 % of base) : 97159.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          48 (11.43 % of base) : 73988.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          48 (11.43 % of base) : 94070.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          48 (7.41 % of base) : 65012.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:TryDequeueSlow(byref):ubyte:this (Tier1)
          32 (0.70 % of base) : 95088.dasm - Microsoft.CodeAnalysis.SyntaxNode+<DescendantTriviaOnly>d__175:MoveNext():ubyte:this (Tier1)
          32 (19.05 % of base) : 53296.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          32 (2.19 % of base) : 104234.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.19 % of base) : 93624.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.22 % of base) : 118907.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.19 % of base) : 145211.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.22 % of base) : 23954.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.22 % of base) : 54481.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.22 % of base) : 139653.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          28 (16.67 % of base) : 70994.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (16.67 % of base) : 61845.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (16.67 % of base) : 97203.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (16.67 % of base) : 64879.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (1.59 % of base) : 39768.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          28 (1.85 % of base) : 18619.dasm - System.IO.Tests.StringReaderReadLineTests:ReadLine():this (Tier1-OSR)
          28 (1.80 % of base) : 125199.dasm - System.Threading.PortableThreadPool+WorkerThread:WorkerThreadStart() (Tier1)
Top method improvements (bytes):
        -476 (-33.06 % of base) : 144109.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -460 (-31.86 % of base) : 144093.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -156 (-21.67 % of base) : 71520.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 71551.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -80 (-2.01 % of base) : 112034.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -56 (-6.64 % of base) : 102261.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -52 (-1.60 % of base) : 54178.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -48 (-1.51 % of base) : 112031.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
         -44 (-1.35 % of base) : 112450.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -44 (-1.35 % of base) : 119694.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -44 (-1.29 % of base) : 116580.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -44 (-0.72 % of base) : 87058.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -32 (-0.89 % of base) : 102529.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -32 (-0.85 % of base) : 149986.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -28 (-0.63 % of base) : 95436.dasm - Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass:VisitBlock(Microsoft.CodeAnalysis.CSharp.BoundBlock):Microsoft.CodeAnalysis.CSharp.BoundNode:this (Tier1)
         -28 (-0.84 % of base) : 30386.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -24 (-1.09 % of base) : 16141.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
         -24 (-7.41 % of base) : 132283.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -24 (-7.41 % of base) : 122826.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -24 (-0.77 % of base) : 63869.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ulong,int,ulong,int,byref,byref):int (Tier1)
Top method regressions (percentages):
          32 (19.05 % of base) : 53296.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (16.67 % of base) : 70994.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (16.67 % of base) : 61845.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (16.67 % of base) : 97203.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (16.67 % of base) : 64879.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          48 (11.43 % of base) : 73988.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          48 (11.43 % of base) : 94070.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          20 (9.43 % of base) : 107387.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[int]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
          20 (9.43 % of base) : 112880.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[System.__Canon]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
          12 (7.69 % of base) : 101324.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 86640.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 97340.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 125743.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 63258.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 71802.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 107040.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 112016.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 69033.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 89472.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          48 (7.41 % of base) : 65012.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:TryDequeueSlow(byref):ubyte:this (Tier1)
Top method improvements (percentages):
        -476 (-33.06 % of base) : 144109.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -460 (-31.86 % of base) : 144093.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -156 (-21.67 % of base) : 71520.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 71551.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -24 (-7.41 % of base) : 132283.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -24 (-7.41 % of base) : 122826.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-7.25 % of base) : 111257.dasm - System.Collections.Perf_FrozenDictionary_String:TryGetValue_True_Dictionary():ubyte:this (Tier1-OSR)
         -20 (-7.25 % of base) : 54523.dasm - System.Collections.Perf_FrozenDictionary_String:TryGetValue_True_Dictionary():ubyte:this (Tier1-OSR)
         -20 (-7.25 % of base) : 106221.dasm - System.Collections.Perf_FrozenDictionary_String:TryGetValue_True_Dictionary():ubyte:this (Tier1-OSR)
         -20 (-7.25 % of base) : 110590.dasm - System.Collections.Perf_FrozenDictionary_String:TryGetValue_True_Dictionary():ubyte:this (Tier1-OSR)
         -16 (-7.02 % of base) : 21979.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
         -16 (-6.90 % of base) : 21977.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
         -56 (-6.64 % of base) : 102261.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -16 (-6.56 % of base) : 105910.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 120934.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 142305.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 31009.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 101693.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 124573.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 139694.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (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: 22091624 (overridden on cmd)
Total bytes of diff: 22091060 (overridden on cmd)
Total bytes of delta: -564 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          20 : 31746.dasm (0.54 % of base)
          16 : 49320.dasm (2.07 % of base)
          12 : 27882.dasm (1.23 % of base)
          12 : 22033.dasm (0.15 % of base)
           8 : 55052.dasm (0.78 % of base)
           4 : 46725.dasm (0.29 % of base)
           4 : 46729.dasm (0.27 % of base)
           4 : 52555.dasm (0.82 % of base)
           4 : 55471.dasm (0.15 % of base)
           4 : 22168.dasm (0.35 % of base)
           4 : 24567.dasm (0.17 % of base)
           4 : 30805.dasm (0.13 % of base)
           4 : 31810.dasm (0.49 % of base)
           4 : 41550.dasm (1.08 % of base)
           4 : 23360.dasm (0.29 % of base)
           4 : 25048.dasm (0.07 % of base)
           4 : 49272.dasm (0.04 % of base)
Top file improvements (bytes):
        -420 : 59929.dasm (-31.44 % of base)
        -152 : 31806.dasm (-14.13 % of base)
         -56 : 47845.dasm (-6.97 % of base)
         -24 : 11391.dasm (-1.10 % of base)
          -4 : 29272.dasm (-0.10 % of base)
          -4 : 55050.dasm (-0.33 % of base)
          -4 : 30406.dasm (-0.09 % of base)
          -4 : 38937.dasm (-0.41 % of base)
          -4 : 52594.dasm (-0.02 % of base)
          -4 : 30651.dasm (-0.07 % of base)
          -4 : 53296.dasm (-0.02 % of base)
28 total files with Code Size differences (11 improved, 17 regressed), 30 unchanged.
Top method regressions (bytes):
          20 (0.54 % of base) : 31746.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (Tier0-FullOpts)
          16 (2.07 % of base) : 49320.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
          12 (0.15 % of base) : 22033.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
          12 (1.23 % of base) : 27882.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (Tier1)
           8 (0.78 % of base) : 55052.dasm - System.Threading.TimerQueue:TimerThread() (Tier1-OSR)
           4 (0.29 % of base) : 46725.dasm - Benchstone.BenchF.MatInv4:MinV1(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.27 % of base) : 46729.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.13 % of base) : 30805.dasm - Benchstone.BenchI.MulMatrix:Inner(int[][],int[][],int[][]) (Tier1-OSR)
           4 (0.82 % of base) : 52555.dasm - Benchstone.MDBenchF.MDInvMt:Inner(double[,],byref,byref) (Tier1-OSR)
           4 (1.08 % of base) : 41550.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
           4 (0.49 % of base) : 31810.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1-OSR)
           4 (0.15 % of base) : 55471.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength4To7,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1)
           4 (0.29 % of base) : 23360.dasm - System.IO.RandomAccess:WriteGatherAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList`1[System.ReadOnlyMemory`1[ubyte]],long) (Tier0-FullOpts)
           4 (0.17 % of base) : 24567.dasm - System.Number:TryParseNumber(byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (Tier1)
           4 (0.35 % of base) : 22168.dasm - System.Reflection.CustomAttributeEncodedArgument:ParseNamedArgs(byref,System.Reflection.CustomAttributeNamedParameter[],System.Reflection.RuntimeModule) (Tier1)
           4 (0.07 % of base) : 25048.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1)
           4 (0.04 % of base) : 49272.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
Top method improvements (bytes):
        -420 (-31.44 % of base) : 59929.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -152 (-14.13 % of base) : 31806.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -56 (-6.97 % of base) : 47845.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -24 (-1.10 % of base) : 11391.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -4 (-0.02 % of base) : 52594.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.07 % of base) : 30651.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.02 % of base) : 53296.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.09 % of base) : 30406.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.41 % of base) : 38937.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
          -4 (-0.10 % of base) : 29272.dasm - System.Number:FormatBigInteger(ubyte,System.Numerics.BigInteger,System.String,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo,System.Span`1[ushort],byref,byref):System.String (Tier0-FullOpts)
          -4 (-0.33 % of base) : 55050.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
Top method regressions (percentages):
          16 (2.07 % of base) : 49320.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
          12 (1.23 % of base) : 27882.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (Tier1)
           4 (1.08 % of base) : 41550.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
           4 (0.82 % of base) : 52555.dasm - Benchstone.MDBenchF.MDInvMt:Inner(double[,],byref,byref) (Tier1-OSR)
           8 (0.78 % of base) : 55052.dasm - System.Threading.TimerQueue:TimerThread() (Tier1-OSR)
          20 (0.54 % of base) : 31746.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (Tier0-FullOpts)
           4 (0.49 % of base) : 31810.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1-OSR)
           4 (0.35 % of base) : 22168.dasm - System.Reflection.CustomAttributeEncodedArgument:ParseNamedArgs(byref,System.Reflection.CustomAttributeNamedParameter[],System.Reflection.RuntimeModule) (Tier1)
           4 (0.29 % of base) : 46725.dasm - Benchstone.BenchF.MatInv4:MinV1(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.29 % of base) : 23360.dasm - System.IO.RandomAccess:WriteGatherAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList`1[System.ReadOnlyMemory`1[ubyte]],long) (Tier0-FullOpts)
           4 (0.27 % of base) : 46729.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.17 % of base) : 24567.dasm - System.Number:TryParseNumber(byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (Tier1)
           4 (0.15 % of base) : 55471.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength4To7,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1)
          12 (0.15 % of base) : 22033.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
           4 (0.13 % of base) : 30805.dasm - Benchstone.BenchI.MulMatrix:Inner(int[][],int[][],int[][]) (Tier1-OSR)
           4 (0.07 % of base) : 25048.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1)
           4 (0.04 % of base) : 49272.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
Top method improvements (percentages):
        -420 (-31.44 % of base) : 59929.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -152 (-14.13 % of base) : 31806.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -56 (-6.97 % of base) : 47845.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -24 (-1.10 % of base) : 11391.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -4 (-0.41 % of base) : 38937.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
          -4 (-0.33 % of base) : 55050.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
          -4 (-0.10 % of base) : 29272.dasm - System.Number:FormatBigInteger(ubyte,System.Numerics.BigInteger,System.String,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo,System.Span`1[ushort],byref,byref):System.String (Tier0-FullOpts)
          -4 (-0.09 % of base) : 30406.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.07 % of base) : 30651.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.02 % of base) : 53296.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.02 % of base) : 52594.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
  
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: 509422008 (overridden on cmd)
Total bytes of diff: 509422188 (overridden on cmd)
Total bytes of delta: 180 (0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          88 : 241548.dasm (3.93 % of base)
          84 : 617889.dasm (0.75 % of base)
          68 : 612228.dasm (0.59 % of base)
          56 : 617830.dasm (2.77 % of base)
          52 : 527273.dasm (24.07 % of base)
          52 : 527271.dasm (24.07 % of base)
          44 : 504956.dasm (8.94 % of base)
          40 : 612048.dasm (2.07 % of base)
          40 : 612530.dasm (2.04 % of base)
          32 : 454238.dasm (4.88 % of base)
          32 : 525938.dasm (4.88 % of base)
          28 : 585720.dasm (1.64 % of base)
          28 : 585736.dasm (16.67 % of base)
          28 : 617657.dasm (1.21 % of base)
          28 : 454266.dasm (16.67 % of base)
          28 : 525980.dasm (16.67 % of base)
          28 : 618005.dasm (1.16 % of base)
          24 : 340795.dasm (2.54 % of base)
          20 : 623284.dasm (1.58 % of base)
          20 : 517292.dasm (1.60 % of base)
Top file improvements (bytes):
        -460 : 470664.dasm (-31.94 % of base)
        -168 : 520134.dasm (-31.82 % of base)
        -156 : 466194.dasm (-21.67 % of base)
        -156 : 466207.dasm (-21.67 % of base)
         -44 : 618236.dasm (-0.94 % of base)
         -36 : 236943.dasm (-1.17 % of base)
         -36 : 237179.dasm (-1.17 % of base)
         -28 : 525855.dasm (-3.59 % of base)
         -24 : 216556.dasm (-0.26 % of base)
         -24 : 402159.dasm (-3.06 % of base)
         -24 : 592235.dasm (-1.12 % of base)
         -24 : 615305.dasm (-1.44 % of base)
         -24 : 615557.dasm (-1.44 % of base)
         -24 : 615817.dasm (-1.44 % of base)
         -24 : 616796.dasm (-1.45 % of base)
         -24 : 618528.dasm (-0.51 % of base)
         -24 : 618747.dasm (-1.44 % of base)
         -24 : 618824.dasm (-1.44 % of base)
         -24 : 341665.dasm (-3.09 % of base)
         -20 : 445165.dasm (-6.17 % of base)
65 total files with Code Size differences (34 improved, 31 regressed), 20 unchanged.
Top method regressions (bytes):
          88 (3.93 % of base) : 241548.dasm - JitTest_array1_refany_il.Test:Main():int (FullOpts)
          84 (0.75 % of base) : 617889.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (Tier1)
          68 (0.59 % of base) : 612228.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (Tier1)
          56 (2.77 % of base) : 617830.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          52 (24.07 % of base) : 527271.dasm - testout1:Test1(int):int (Tier1-OSR)
          52 (24.07 % of base) : 527273.dasm - testout1:Test2(int):int (Tier1-OSR)
          44 (8.94 % of base) : 504956.dasm - RetBufferBug:Main():int (Tier1-OSR)
          40 (2.04 % of base) : 612530.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          40 (2.07 % of base) : 612048.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          32 (4.88 % of base) : 454238.dasm - System.Net.Sockets.SocketAsyncEngine:EventLoop():this (Tier1-OSR)
          32 (4.88 % of base) : 525938.dasm - System.Net.Sockets.SocketAsyncEngine:EventLoop():this (Tier1-OSR)
          28 (1.16 % of base) : 618005.dasm - ILCompiler.LazyGenericsSupport+GraphBuilder:.ctor(Internal.TypeSystem.Ecma.EcmaType):this (Tier1)
          28 (1.21 % of base) : 617657.dasm - Internal.TypeSystem.MetadataVirtualMethodAlgorithm+<EnumAllVirtualSlots>d__29:MoveNext():ubyte:this (Tier1)
          28 (16.67 % of base) : 585736.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (16.67 % of base) : 454266.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (16.67 % of base) : 525980.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (1.64 % of base) : 585720.dasm - System.Net.Sockets.SocketAsyncEngine:System.Threading.IThreadPoolWorkItem.Execute():this (Tier1)
          24 (2.54 % of base) : 340795.dasm - System.Threading.PortableThreadPool+WorkerThread:WorkerThreadStart() (Instrumented Tier1)
          20 (3.62 % of base) : 612682.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:EnqueueSlow(System.__Canon):this (Tier1)
          20 (1.58 % of base) : 623284.dasm - System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (Tier1)
Top method improvements (bytes):
        -460 (-31.94 % of base) : 470664.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -168 (-31.82 % of base) : 520134.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -156 (-21.67 % of base) : 466194.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 466207.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -44 (-0.94 % of base) : 618236.dasm - ILCompiler.DependencyAnalysis.NodeFactory:MethodEntrypoint(Internal.JitInterface.MethodWithToken,ubyte,ubyte,ubyte):ILCompiler.DependencyAnalysis.IMethodNode:this (Tier1)
         -36 (-1.17 % of base) : 236943.dasm - plainarr:gaussj(double[,],int,double[,],int) (FullOpts)
         -36 (-1.17 % of base) : 237179.dasm - structarr:gaussj(MatrixStruct,int,MatrixStruct,int) (FullOpts)
         -28 (-3.59 % of base) : 525855.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -24 (-0.26 % of base) : 216556.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)
         -24 (-1.44 % of base) : 615305.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ILCompiler.DependencyAnalysis.NodeFactory+TypeFixupKey,System.__Canon]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[ILCompiler.DependencyAnalysis.NodeFactory+TypeFixupKey,System.__Canon],ubyte,ubyte):this (Tier1)
         -24 (-1.44 % of base) : 615817.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ILCompiler.DependencyAnalysis.ReadyToRun.ModuleToken,System.__Canon]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[ILCompiler.DependencyAnalysis.ReadyToRun.ModuleToken,System.__Canon],ubyte,ubyte):this (Tier1)
         -24 (-1.44 % of base) : 618824.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ILCompiler.DependencyAnalysis.ReadyToRun.ModuleToken,System.__Canon]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[ILCompiler.DependencyAnalysis.ReadyToRun.ModuleToken,System.__Canon],ubyte,ubyte):this (Tier1)
         -24 (-1.44 % of base) : 615557.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ILCompiler.DependencyAnalysis.ReadyToRunSymbolNodeFactory+ReadyToRunHelperKey,System.__Canon]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[ILCompiler.DependencyAnalysis.ReadyToRunSymbolNodeFactory+ReadyToRunHelperKey,System.__Canon],ubyte,ubyte):this (Tier1)
         -24 (-1.44 % of base) : 618747.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ILCompiler.DependencyAnalysis.ReadyToRunSymbolNodeFactory+ReadyToRunHelperKey,System.__Canon]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[ILCompiler.DependencyAnalysis.ReadyToRunSymbolNodeFactory+ReadyToRunHelperKey,System.__Canon],ubyte,ubyte):this (Tier1)
         -24 (-1.45 % of base) : 616796.dasm - System.Collections.Generic.ArraySortHelper`1[int]:PickPivotAndPartition(System.Span`1[int],System.Comparison`1[int]):int (Tier1)
         -24 (-0.51 % of base) : 618528.dasm - System.Collections.Generic.ArraySortHelper`1[System.__Canon]:PickPivotAndPartition(System.Span`1[System.__Canon],System.Comparison`1[System.__Canon]):int (Tier1)
         -24 (-1.12 % of base) : 592235.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier1)
         -24 (-3.06 % of base) : 402159.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -24 (-3.09 % of base) : 341665.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -20 (-6.17 % of base) : 445165.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
Top method regressions (percentages):
          52 (24.07 % of base) : 527271.dasm - testout1:Test1(int):int (Tier1-OSR)
          52 (24.07 % of base) : 527273.dasm - testout1:Test2(int):int (Tier1-OSR)
          28 (16.67 % of base) : 585736.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (16.67 % of base) : 454266.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (16.67 % of base) : 525980.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          44 (8.94 % of base) : 504956.dasm - RetBufferBug:Main():int (Tier1-OSR)
          12 (7.69 % of base) : 611208.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          32 (4.88 % of base) : 454238.dasm - System.Net.Sockets.SocketAsyncEngine:EventLoop():this (Tier1-OSR)
          32 (4.88 % of base) : 525938.dasm - System.Net.Sockets.SocketAsyncEngine:EventLoop():this (Tier1-OSR)
          16 (4.40 % of base) : 245853.dasm - Default.Graph:BuildEdge(int,int):this (FullOpts)
           8 (4.08 % of base) : 468909.dasm - Benchstone.BenchI.LogicArray:Inner(byref):ubyte (Tier1-OSR)
          88 (3.93 % of base) : 241548.dasm - JitTest_array1_refany_il.Test:Main():int (FullOpts)
          16 (3.81 % of base) : 203907.dasm - Benchstone.BenchF.SqMtx:Bench():ubyte (FullOpts)
           8 (3.64 % of base) : 469130.dasm - Benchstone.MDBenchI.MDLogicArray:Inner(byref):ubyte (Tier1-OSR)
          20 (3.62 % of base) : 612682.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:EnqueueSlow(System.__Canon):this (Tier1)
          12 (3.30 % of base) : 473358.dasm - System.Linq.Expressions.Compiler.CompilerScope:EmitCachedVariables():this (Tier1)
          12 (3.19 % of base) : 203930.dasm - Benchstone.BenchI.XposMatrix:Bench(int[][]):ubyte (FullOpts)
          56 (2.77 % of base) : 617830.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,byref):ubyte:this (Tier1)
           4 (2.56 % of base) : 612300.dasm - Internal.TypeSystem.InstantiatedType:IsCanonicalSubtype(int):ubyte:this (Tier1)
           4 (2.56 % of base) : 617900.dasm - Internal.TypeSystem.InstantiatedType:IsCanonicalSubtype(int):ubyte:this (Tier1)
Top method improvements (percentages):
        -460 (-31.94 % of base) : 470664.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -168 (-31.82 % of base) : 520134.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -156 (-21.67 % of base) : 466194.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 466207.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -16 (-7.02 % of base) : 468977.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
         -16 (-6.90 % of base) : 468973.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
         -20 (-6.17 % of base) : 445165.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.17 % of base) : 405732.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -28 (-3.59 % of base) : 525855.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
          -4 (-3.57 % of base) : 616514.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.ByteArrayComparer:Equals(ubyte[],ubyte[]):ubyte:this (Tier1)
          -4 (-3.57 % of base) : 618989.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.ByteArrayComparer:Equals(ubyte[],ubyte[]):ubyte:this (Tier1)
          -4 (-3.57 % of base) : 201277.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
          -4 (-3.33 % of base) : 615504.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
         -24 (-3.09 % of base) : 341665.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -24 (-3.06 % of base) : 402159.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
          -8 (-2.38 % of base) : 424540.dasm - System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:Rehash(int):this (Tier1)
          -4 (-2.38 % of base) : 587929.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
          -4 (-1.75 % of base) : 475380.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
          -4 (-1.75 % of base) : 317743.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Instrumented Tier1)
          -4 (-1.72 % of base) : 482245.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (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: 312864 (overridden on cmd)
Total bytes of diff: 312864 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
           8 : 881.dasm (0.22 % of base)
Top file improvements (bytes):
          -4 : 273.dasm (-0.19 % of base)
          -4 : 569.dasm (-0.19 % of base)
3 total files with Code Size differences (2 improved, 1 regressed), 1 unchanged.
Top method regressions (bytes):
           8 (0.22 % of base) : 881.dasm - System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte[] (FullOpts)
Top method improvements (bytes):
          -4 (-0.19 % of base) : 273.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
          -4 (-0.19 % of base) : 569.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
Top method regressions (percentages):
           8 (0.22 % of base) : 881.dasm - System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte[] (FullOpts)
Top method improvements (percentages):
          -4 (-0.19 % of base) : 569.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
          -4 (-0.19 % of base) : 273.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
3 total methods with Code Size differences (2 improved, 1 regressed).
  
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: 76257772 (overridden on cmd)
Total bytes of diff: 76257448 (overridden on cmd)
Total bytes of delta: -324 (-0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          76 : 243363.dasm (1.82 % of base)
          56 : 111202.dasm (0.24 % of base)
          44 : 140651.dasm (1.87 % of base)
          44 : 207550.dasm (1.87 % of base)
          40 : 156017.dasm (1.65 % of base)
          28 : 212031.dasm (1.62 % of base)
          28 : 159664.dasm (4.90 % of base)
          28 : 166137.dasm (0.44 % of base)
          24 : 159579.dasm (2.08 % of base)
          24 : 173410.dasm (5.71 % of base)
          20 : 225182.dasm (0.89 % of base)
          20 : 51222.dasm (0.25 % of base)
          20 : 51889.dasm (1.53 % of base)
          16 : 176575.dasm (0.20 % of base)
          16 : 209962.dasm (4.40 % of base)
          16 : 290193.dasm (0.48 % of base)
          16 : 138159.dasm (1.27 % of base)
          16 : 175307.dasm (1.20 % of base)
          16 : 176620.dasm (0.21 % of base)
          16 : 243739.dasm (1.78 % of base)
Top file improvements (bytes):
        -132 : 223919.dasm (-0.45 % of base)
         -80 : 153797.dasm (-2.49 % of base)
         -52 : 176337.dasm (-0.45 % of base)
         -28 : 195557.dasm (-3.37 % of base)
         -28 : 29052.dasm (-3.37 % of base)
         -24 : 152777.dasm (-0.26 % of base)
         -20 : 133978.dasm (-1.10 % of base)
         -20 : 176198.dasm (-0.42 % of base)
         -20 : 57951.dasm (-0.35 % of base)
         -20 : 292589.dasm (-1.03 % of base)
         -20 : 82284.dasm (-0.83 % of base)
         -16 : 223933.dasm (-0.26 % of base)
         -16 : 221214.dasm (-1.76 % of base)
         -16 : 174916.dasm (-0.43 % of base)
         -12 : 188093.dasm (-0.55 % of base)
         -12 : 195608.dasm (-3.30 % of base)
         -12 : 16385.dasm (-0.48 % of base)
         -12 : 20853.dasm (-0.54 % of base)
         -12 : 52589.dasm (-0.34 % of base)
         -12 : 78991.dasm (-2.13 % of base)
69 total files with Code Size differences (36 improved, 33 regressed), 20 unchanged.
Top method regressions (bytes):
          76 (1.82 % of base) : 243363.dasm - System.Net.Mail.SmtpClient:SendAsync(System.Net.Mail.MailMessage,System.Object):this (FullOpts)
          56 (0.24 % of base) : 111202.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)
          44 (1.87 % of base) : 140651.dasm - System.Configuration.ConfigurationElement:UnMergeLockList(System.Configuration.ConfigurationLockCollection,System.Configuration.ConfigurationLockCollection,int):System.Configuration.ConfigurationLockCollection:this (FullOpts)
          44 (1.87 % of base) : 207550.dasm - System.Configuration.ConfigurationElement:UnMergeLockList(System.Configuration.ConfigurationLockCollection,System.Configuration.ConfigurationLockCollection,int):System.Configuration.ConfigurationLockCollection:this (FullOpts)
          40 (1.65 % of base) : 156017.dasm - Microsoft.Build.Evaluation.ExpressionShredder:GetReferencedItemExpressions(System.String,int,int):System.Collections.Generic.List`1[Microsoft.Build.Evaluation.ExpressionShredder+ItemExpressionCapture] (FullOpts)
          28 (4.90 % of base) : 159664.dasm - Microsoft.Build.Shared.FileUtilities:PathsEqual(System.String,System.String):ubyte (FullOpts)
          28 (1.62 % of base) : 212031.dasm - System.Text.DBCSCodePageEncoding:ReadBestFitTable():this (FullOpts)
          28 (0.44 % of base) : 166137.dasm - System.Xml.XmlTextReaderImpl+<ParseAttributeValueSlowAsync>d__532:MoveNext():this (FullOpts)
          24 (2.08 % of base) : 159579.dasm - Microsoft.Build.Shared.FileMatcher:Normalize(System.String):System.String (FullOpts)
          24 (5.71 % of base) : 173410.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          20 (0.25 % of base) : 51222.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindAnonymousObjectCreation(Microsoft.CodeAnalysis.CSharp.Syntax.AnonymousObjectCreationExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          20 (1.53 % of base) : 51889.dasm - Microsoft.CodeAnalysis.CSharp.Binder:ReportQueryInferenceFailedSelectMany(Microsoft.CodeAnalysis.CSharp.Syntax.FromClauseSyntax,System.String,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbol],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):ubyte (FullOpts)
          20 (0.89 % of base) : 225182.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (FullOpts)
          16 (2.88 % of base) : 79421.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
          16 (1.27 % of base) : 138159.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation+DocumentationCommentCompiler:GetDocumentationCommentForSymbol(Microsoft.CodeAnalysis.VisualBasic.Symbol,Microsoft.CodeAnalysis.VisualBasic.Syntax.DocumentationCommentTriviaSyntax,System.Collections.Generic.Dictionary`2[int,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax]]):System.String:this (FullOpts)
          16 (4.40 % of base) : 209962.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          16 (1.78 % of base) : 243739.dasm - System.Net.Mime.MimeBasePart:DecodeHeaderValue(System.String):System.String (FullOpts)
          16 (0.48 % of base) : 290193.dasm - System.Security.Cryptography.Xml.Utils:BuildBagOfCerts(System.Security.Cryptography.Xml.KeyInfoX509Data,int):System.Security.Cryptography.X509Certificates.X509Certificate2Collection (FullOpts)
          16 (1.20 % of base) : 175307.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteElements(System.Object,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,ubyte,ubyte):this (FullOpts)
          16 (0.20 % of base) : 176575.dasm - System.Xml.Serialization.XmlSerializationWriterCodeGen:GenerateMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
Top method improvements (bytes):
        -132 (-0.45 % of base) : 223919.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)
         -80 (-2.49 % of base) : 153797.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -52 (-0.45 % of base) : 176337.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
         -28 (-3.37 % of base) : 195557.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -28 (-3.37 % of base) : 29052.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -24 (-0.26 % of base) : 152777.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)
         -20 (-0.35 % of base) : 57951.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArguments>g__visitArguments|231_0(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Conversion],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,ubyte):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte,Microsoft.CodeAnalysis.CSharp.NullableWalker+ArgumentsCompletionDelegate]:this (FullOpts)
         -20 (-0.83 % of base) : 82284.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:<FindMostSpecificImplementationInBases>g__findMostSpecificImplementationInBases|92_1(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
         -20 (-1.10 % of base) : 133978.dasm - Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyImmediateVarianceCompatibility(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,int,byref):int (FullOpts)
         -20 (-1.03 % of base) : 292589.dasm - System.Buffers.SequenceReader`1[double]:TryReadTo(byref,double,double,ubyte):ubyte:this (FullOpts)
         -20 (-0.42 % of base) : 176198.dasm - System.Xml.Serialization.XmlSerializationReader:ReadArray(System.String,System.String):System.Array:this (FullOpts)
         -16 (-0.26 % of base) : 223933.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -16 (-1.76 % of base) : 221214.dasm - System.ComponentModel.Composition.ReflectionModel.GenericSpecializationPartCreationInfo:TranslateExportMetadata(System.ComponentModel.Composition.ReflectionModel.ReflectionMemberExportDefinition):System.Collections.Generic.Dictionary`2[System.String,System.Object]:this (FullOpts)
         -16 (-0.43 % of base) : 174916.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[]):System.Reflection.Assembly (FullOpts)
         -12 (-0.34 % of base) : 52589.dasm - Microsoft.CodeAnalysis.CSharp.Imports:ExpandPreviousSubmissionImports(Microsoft.CodeAnalysis.CSharp.Imports,Microsoft.CodeAnalysis.CSharp.CSharpCompilation):Microsoft.CodeAnalysis.CSharp.Imports (FullOpts)
         -12 (-0.37 % of base) : 80001.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstantEvaluationHelpers:IsPartOfCycle(System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.SourceFieldSymbolWithSyntaxReference,Microsoft.CodeAnalysis.CSharp.Symbols.ConstantEvaluationHelpers+Node`1[Microsoft.CodeAnalysis.CSharp.Symbols.SourceFieldSymbolWithSyntaxReference]],Microsoft.CodeAnalysis.CSharp.Symbols.SourceFieldSymbolWithSyntaxReference):ubyte (FullOpts)
         -12 (-2.13 % of base) : 78991.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstraintsHelper:CheckConstraints(Microsoft.CodeAnalysis.CSharp.Symbol,byref,Microsoft.CodeAnalysis.CSharp.Symbols.TypeMap,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterDiagnosticInfo],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterDiagnosticInfo],byref,Microsoft.CodeAnalysis.BitVector,System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol]):ubyte (FullOpts)
         -12 (-0.33 % of base) : 83485.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Retargeting.RetargetingMethodSymbol:GetUnmanagedCallersOnlyAttributeData(ubyte):Microsoft.CodeAnalysis.UnmanagedCallersOnlyAttributeData:this (FullOpts)
         -12 (-0.55 % of base) : 188093.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver:ComputeShouldSkipAnalysisOnGeneratedCode(System.Collections.Immutable.ImmutableHashSet`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer,int],ubyte):ubyte (FullOpts)
         -12 (-0.54 % of base) : 20853.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver:ComputeShouldTreatAllCodeAsNonGeneratedCode(System.Collections.Immutable.ImmutableHashSet`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer,int]):ubyte (FullOpts)
Top method regressions (percentages):
          24 (5.71 % of base) : 173410.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          28 (4.90 % of base) : 159664.dasm - Microsoft.Build.Shared.FileUtilities:PathsEqual(System.String,System.String):ubyte (FullOpts)
          16 (4.40 % of base) : 209962.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
           8 (3.64 % of base) : 151943.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:AddUniqueStatus(System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],byref) (FullOpts)
          16 (2.88 % of base) : 79421.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
           4 (2.86 % of base) : 191047.dasm - Microsoft.CodeAnalysis.Emit.SymbolChanges:IsReplaced(Microsoft.CodeAnalysis.ISymbol,ubyte):ubyte:this (FullOpts)
           4 (2.86 % of base) : 24404.dasm - Microsoft.CodeAnalysis.Emit.SymbolChanges:IsReplaced(Microsoft.CodeAnalysis.Symbols.ISymbolInternal,ubyte):ubyte:this (FullOpts)
           8 (2.78 % of base) : 50811.dasm - ILCompiler.LazyGenericsSupport+Graph`1+Vertex[ubyte]:AddEdge(ILCompiler.LazyGenericsSupport+Graph`1+Vertex[ubyte],ubyte):this (FullOpts)
          12 (2.40 % of base) : 115254.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol:GenerateVarianceDiagnosticsForConstraints(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol],Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,byref):this (FullOpts)
           4 (2.38 % of base) : 69987.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
           4 (2.33 % of base) : 165241.dasm - System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
           8 (2.25 % of base) : 160141.dasm - Microsoft.Build.Graph.ProjectGraph+ProjectGraphBuildRequest:GetHashCode():int:this (FullOpts)
          24 (2.08 % of base) : 159579.dasm - Microsoft.Build.Shared.FileMatcher:Normalize(System.String):System.String (FullOpts)
          12 (1.91 % of base) : 268902.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadLibraries(byref):System.Collections.Generic.Dictionary`2[System.String,Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+LibraryStub]:this (FullOpts)
           8 (1.89 % of base) : 12385.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
          44 (1.87 % of base) : 140651.dasm - System.Configuration.ConfigurationElement:UnMergeLockList(System.Configuration.ConfigurationLockCollection,System.Configuration.ConfigurationLockCollection,int):System.Configuration.ConfigurationLockCollection:this (FullOpts)
          44 (1.87 % of base) : 207550.dasm - System.Configuration.ConfigurationElement:UnMergeLockList(System.Configuration.ConfigurationLockCollection,System.Configuration.ConfigurationLockCollection,int):System.Configuration.ConfigurationLockCollection:this (FullOpts)
          12 (1.83 % of base) : 175315.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteEnumMethod(System.Xml.Serialization.EnumMapping,System.Object):System.String:this (FullOpts)
          76 (1.82 % of base) : 243363.dasm - System.Net.Mail.SmtpClient:SendAsync(System.Net.Mail.MailMessage,System.Object):this (FullOpts)
          12 (1.82 % of base) : 254392.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
Top method improvements (percentages):
          -4 (-3.57 % of base) : 60433.dasm - Microsoft.CodeAnalysis.CSharp.ObjectDisplay:ContainsNewLine(System.String):ubyte (FullOpts)
          -4 (-3.57 % of base) : 56419.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
         -28 (-3.37 % of base) : 195557.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -28 (-3.37 % of base) : 29052.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -12 (-3.30 % of base) : 195608.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerFileReference+Extensions`1[System.__Canon]:CheckAssemblyReferencesNewerCompiler(System.Reflection.Assembly):ubyte:this (FullOpts)
         -12 (-3.30 % of base) : 29103.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerFileReference+Extensions`1[System.__Canon]:CheckAssemblyReferencesNewerCompiler(System.Reflection.Assembly):ubyte:this (FullOpts)
          -4 (-3.23 % of base) : 186490.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
          -4 (-3.23 % of base) : 19169.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
         -80 (-2.49 % of base) : 153797.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
          -8 (-2.15 % of base) : 136888.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder+MemberLookup:IsDerivedInterface(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BasesBeingResolved,byref):ubyte (FullOpts)
         -12 (-2.13 % of base) : 78991.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstraintsHelper:CheckConstraints(Microsoft.CodeAnalysis.CSharp.Symbol,byref,Microsoft.CodeAnalysis.CSharp.Symbols.TypeMap,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterDiagnosticInfo],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterDiagnosticInfo],byref,Microsoft.CodeAnalysis.BitVector,System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol]):ubyte (FullOpts)
         -16 (-1.76 % of base) : 221214.dasm - System.ComponentModel.Composition.ReflectionModel.GenericSpecializationPartCreationInfo:TranslateExportMetadata(System.ComponentModel.Composition.ReflectionModel.ReflectionMemberExportDefinition):System.Collections.Generic.Dictionary`2[System.String,System.Object]:this (FullOpts)
          -8 (-1.55 % of base) : 268894.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
          -4 (-1.49 % of base) : 110662.dasm - Microsoft.CodeAnalysis.VisualBasic.DataFlowPass:IsConvertedLambda(Microsoft.CodeAnalysis.VisualBasic.BoundExpression):ubyte (FullOpts)
          -4 (-1.32 % of base) : 17353.dasm - Microsoft.CodeAnalysis.RealParser:ConvertBigIntegerToFloatingPointBits(ubyte[],uint,ubyte,Microsoft.CodeAnalysis.RealParser+FloatingPointType,byref):int (FullOpts)
          -4 (-1.32 % of base) : 184790.dasm - Microsoft.CodeAnalysis.RealParser:ConvertBigIntegerToFloatingPointBits(ubyte[],uint,ubyte,Microsoft.CodeAnalysis.RealParser+FloatingPointType,byref):int (FullOpts)
          -8 (-1.31 % of base) : 268895.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTarget(byref,System.String):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target:this (FullOpts)
          -8 (-1.29 % of base) : 263958.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
          -4 (-1.28 % of base) : 156020.dasm - Microsoft.Build.Evaluation.ExpressionShredder:SinkArgumentsInParentheses(System.String,byref,int):ubyte (FullOpts)
          -4 (-1.23 % of base) : 79030.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (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: 389802068 (overridden on cmd)
Total bytes of diff: 389797544 (overridden on cmd)
Total bytes of delta: -4524 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         172 : 657343.dasm (1.26 % of base)
         160 : 657423.dasm (1.14 % of base)
         156 : 662493.dasm (1.15 % of base)
         140 : 651440.dasm (1.78 % of base)
         136 : 657348.dasm (1.73 % of base)
         120 : 716103.dasm (0.95 % of base)
         116 : 651597.dasm (1.46 % of base)
         116 : 50548.dasm (0.97 % of base)
         104 : 651439.dasm (0.78 % of base)
         100 : 491432.dasm (2.51 % of base)
          96 : 562952.dasm (0.67 % of base)
          92 : 651493.dasm (1.17 % of base)
          92 : 287760.dasm (1.57 % of base)
          88 : 623841.dasm (0.85 % of base)
          84 : 404013.dasm (1.20 % of base)
          84 : 231451.dasm (4.86 % of base)
          80 : 688947.dasm (0.68 % of base)
          80 : 694040.dasm (1.16 % of base)
          80 : 661387.dasm (0.93 % of base)
          80 : 686096.dasm (0.79 % of base)
Top file improvements (bytes):
        -212 : 701687.dasm (-1.27 % of base)
        -172 : 362978.dasm (-1.32 % of base)
        -168 : 497737.dasm (-1.25 % of base)
        -152 : 680752.dasm (-0.78 % of base)
        -140 : 105715.dasm (-2.40 % of base)
        -140 : 441122.dasm (-1.08 % of base)
        -140 : 709724.dasm (-1.03 % of base)
        -132 : 284740.dasm (-2.25 % of base)
        -128 : 597089.dasm (-1.02 % of base)
        -112 : 53220.dasm (-0.56 % of base)
        -112 : 208490.dasm (-0.89 % of base)
        -112 : 85080.dasm (-0.97 % of base)
        -100 : 521356.dasm (-0.76 % of base)
         -88 : 554062.dasm (-0.76 % of base)
         -84 : 367862.dasm (-1.87 % of base)
         -84 : 86395.dasm (-1.18 % of base)
         -76 : 71483.dasm (-0.51 % of base)
         -76 : 457586.dasm (-1.72 % of base)
         -72 : 126853.dasm (-2.30 % of base)
         -72 : 709625.dasm (-0.53 % of base)
92 total files with Code Size differences (52 improved, 40 regressed), 20 unchanged.
Top method regressions (bytes):
         172 (1.26 % of base) : 657343.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Text.Json.Serialization.Tests.Point_3D_Struct]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
         160 (1.14 % of base) : 657423.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Text.Json.Serialization.Tests.Struct_With_Ctor_With_65_Params]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
         156 (1.15 % of base) : 662493.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Collections.Generic.KeyValuePair`2[int,int]]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
         140 (1.78 % of base) : 651440.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Text.Json.Serialization.Tests.Point_2D_Struct_WithAttribute]:ReadConstructorArguments(byref,byref,System.Text.Json.JsonSerializerOptions):this (Tier1)
         136 (1.73 % of base) : 657348.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Text.Json.Serialization.Tests.Point_3D_Struct]:ReadConstructorArguments(byref,byref,System.Text.Json.JsonSerializerOptions):this (Tier1)
         120 (0.95 % of base) : 716103.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         116 (0.97 % of base) : 50548.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier1)
         116 (1.46 % of base) : 651597.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Text.Json.Serialization.Tests.StreamTests+ImmutableStructWithStrings]:ReadConstructorArguments(byref,byref,System.Text.Json.JsonSerializerOptions):this (Tier1)
         104 (0.78 % of base) : 651439.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Text.Json.Serialization.Tests.Point_2D_Struct_WithAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
         100 (2.51 % of base) : 491432.dasm - System.Runtime.Caching.MemoryCacheStore:Dispose():this (Tier1-OSR)
          96 (0.67 % of base) : 562952.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
          92 (1.57 % of base) : 287760.dasm - Microsoft.CSharp.RuntimeBinder.RuntimeBinder:Bind(Microsoft.CSharp.RuntimeBinder.ICSharpBinder,System.Linq.Expressions.Expression[],System.Dynamic.DynamicMetaObject[],byref):System.Linq.Expressions.Expression:this (Tier1)
          92 (1.17 % of base) : 651493.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:ReadConstructorArguments(byref,byref,System.Text.Json.JsonSerializerOptions):this (Tier1)
          88 (0.85 % of base) : 623841.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.__Canon]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
          84 (4.86 % of base) : 231451.dasm - System.Collections.Tests.IEnumerable_Generic_Tests`1[System.Collections.Generic.KeyValuePair`2[System.Collections.Tests.SimpleInt,int]]:IEnumerable_Generic_GetEnumerator_ReturnsUniqueEnumerator(int):this (Tier1-OSR)
          84 (1.20 % of base) : 404013.dasm - System.Net.HttpWebResponse:get_Headers():System.Net.WebHeaderCollection:this (Tier1)
          80 (0.68 % of base) : 688947.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (Tier1)
          80 (0.79 % of base) : 686096.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindExtensionMethod(Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte):Microsoft.CodeAnalysis.CSharp.MethodGroupResolution:this (Tier1)
          80 (1.16 % of base) : 694040.dasm - Microsoft.CodeAnalysis.CSharp.RefSafetyAnalysis:CheckInvocationEscapeWithUpdatedRules(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.BoundExpression,ubyte,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[int],ubyte,uint,uint,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte):ubyte:this (Tier1)
          80 (0.93 % of base) : 661387.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Text.Json.Serialization.Tests.Struct_With_Ctor_With_65_Params]:ReadConstructorArgumentsWithContinuation(byref,byref,System.Text.Json.JsonSerializerOptions):ubyte:this (Tier1)
Top method improvements (bytes):
        -212 (-1.27 % of base) : 701687.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)
        -172 (-1.32 % of base) : 362978.dasm - Xunit.Sdk.XunitTheoryTestCaseRunner+<AfterTestCaseStartingAsync>d__9:MoveNext():this (Tier1-OSR)
        -168 (-1.25 % of base) : 497737.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
        -152 (-0.78 % of base) : 680752.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)
        -140 (-1.03 % of base) : 709724.dasm - Microsoft.CodeAnalysis.Formatting.TokenStream:TwoTokensOnSameLineWorker(Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,System.Func`3[Microsoft.CodeAnalysis.Formatting.TokenData,Microsoft.CodeAnalysis.Formatting.TokenData,Microsoft.CodeAnalysis.Formatting.TriviaData]):ubyte:this (Tier1)
        -140 (-2.40 % of base) : 105715.dasm - Microsoft.CSharp.RuntimeBinder.SymbolTable:LoadClassTypeParameter(Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol,System.Type):Microsoft.CSharp.RuntimeBinder.Semantics.TypeParameterType (Tier1)
        -140 (-1.08 % of base) : 441122.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
        -132 (-2.25 % of base) : 284740.dasm - Microsoft.CSharp.RuntimeBinder.SymbolTable:LoadClassTypeParameter(Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol,System.Type):Microsoft.CSharp.RuntimeBinder.Semantics.TypeParameterType (Tier1)
        -128 (-1.02 % of base) : 597089.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
        -112 (-0.56 % of base) : 53220.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)
        -112 (-0.97 % of base) : 85080.dasm - Microsoft.CodeAnalysis.CSharp.DeclarationTreeBuilder:VisitTypeDeclaration(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax,ubyte):Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration:this (Tier1)
        -112 (-0.89 % of base) : 208490.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
        -100 (-0.76 % of base) : 521356.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         -88 (-0.76 % of base) : 554062.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         -84 (-1.18 % of base) : 86395.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)
         -84 (-1.87 % of base) : 367862.dasm - System.SpanTests.ReadOnlySpanTests:TestMatchMany_Char() (Tier1-OSR)
         -76 (-0.51 % of base) : 71483.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)
         -76 (-1.72 % of base) : 457586.dasm - System.Xml.Xsl.Xslt.XsltInput:GetAttributes(System.Xml.Xsl.Xslt.XsltInput+XsltAttribute[]):System.Xml.Xsl.Xslt.XsltInput+ContextInfo:this (Tier1)
         -72 (-0.53 % of base) : 709625.dasm - Microsoft.CodeAnalysis.Formatting.TokenStream:GetColumn(Microsoft.CodeAnalysis.Formatting.TokenData,System.Func`3[Microsoft.CodeAnalysis.Formatting.TokenData,Microsoft.CodeAnalysis.Formatting.TokenData,Microsoft.CodeAnalysis.Formatting.TriviaData]):int:this (Tier1)
         -72 (-2.30 % of base) : 126853.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:TryFindMatchingConstructor(System.Type,System.Type[],byref,byref):ubyte (Tier1)
Top method regressions (percentages):
          32 (21.62 % of base) : 628866.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
          28 (18.92 % of base) : 203189.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
          28 (17.50 % of base) : 722994.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
          28 (16.67 % of base) : 273842.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (15.56 % of base) : 387355.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Diagnostics.Metrics.Measurement`1[double]]:Enqueue(System.Diagnostics.Metrics.Measurement`1[double]):this (Tier1)
          48 (11.43 % of base) : 165561.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          48 (11.43 % of base) : 178446.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          48 (11.43 % of base) : 174780.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          48 (11.43 % of base) : 175265.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          48 (11.43 % of base) : 111151.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          16 (10.26 % of base) : 401061.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          16 (10.26 % of base) : 341468.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          44 (8.87 % of base) : 209153.dasm - System.Collections.Frozen.FrozenSetInternalBase`2[System.__Canon,System.Collections.Frozen.OrdinalStringFrozenSet+GSW]:IsSubsetOfSetWithCompatibleComparer(System.Collections.Generic.IReadOnlySet`1[System.__Canon]):ubyte:this (Tier1-OSR)
          44 (8.80 % of base) : 219495.dasm - System.Collections.Frozen.FrozenSetInternalBase`2[System.__Canon,System.Collections.Frozen.DefaultFrozenSet`1+GSW[System.__Canon]]:IsSubsetOfSetWithCompatibleComparer(System.Collections.Generic.IReadOnlySet`1[System.__Canon]):ubyte:this (Tier1-OSR)
          12 (7.69 % of base) : 328792.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 560756.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 440448.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 563180.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 631436.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 722528.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
Top method improvements (percentages):
         -24 (-7.69 % of base) : 304470.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.49 % of base) : 506066.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.49 % of base) : 509431.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.49 % of base) : 726684.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.25 % of base) : 174611.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.25 % of base) : 393317.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.25 % of base) : 512773.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.25 % of base) : 516274.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.25 % of base) : 172228.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.25 % of base) : 330809.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-5.95 % of base) : 406389.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-5.95 % of base) : 311764.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-5.95 % of base) : 739984.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-5.81 % of base) : 254581.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-5.81 % of base) : 733413.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -12 (-5.36 % of base) : 252244.dasm - System.Configuration.XmlUtil:StrictReadToNextElement(int):this (Tier1)
         -40 (-4.74 % of base) : 205514.dasm - System.Collections.Concurrent.ConcurrentBag`1[int]:ToArray():int[]:this (Tier1)
         -12 (-4.69 % of base) : 8229.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Instrumented Tier1)
         -16 (-4.44 % of base) : 403183.dasm - System.Collections.Generic.List`1[System.__Canon]:ForEach(System.Action`1[System.__Canon]):this (Tier1)
         -20 (-4.42 % of base) : 217232.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.__Canon]:CopyTo(System.Span`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]):this (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: 164994892 (overridden on cmd)
Total bytes of diff: 164993924 (overridden on cmd)
Total bytes of delta: -968 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          56 : 165600.dasm (0.79 % of base)
          40 : 164756.dasm (0.66 % of base)
          40 : 165444.dasm (0.66 % of base)
          36 : 281213.dasm (0.95 % of base)
          28 : 121660.dasm (1.17 % of base)
          28 : 128705.dasm (1.67 % of base)
          28 : 303352.dasm (0.44 % of base)
          24 : 170345.dasm (5.71 % of base)
          20 : 154301.dasm (0.73 % of base)
          20 : 274354.dasm (0.46 % of base)
          20 : 274369.dasm (0.68 % of base)
          20 : 38570.dasm (1.91 % of base)
          20 : 54564.dasm (0.18 % of base)
          20 : 165014.dasm (0.55 % of base)
          16 : 146183.dasm (4.40 % of base)
          16 : 149495.dasm (1.78 % of base)
          16 : 164845.dasm (0.21 % of base)
          16 : 226677.dasm (0.52 % of base)
          16 : 163993.dasm (1.20 % of base)
          16 : 65671.dasm (2.82 % of base)
Top file improvements (bytes):
        -140 : 59115.dasm (-0.48 % of base)
        -104 : 14755.dasm (-1.78 % of base)
         -92 : 44265.dasm (-1.57 % of base)
         -80 : 25015.dasm (-2.55 % of base)
         -68 : 3833.dasm (-1.39 % of base)
         -52 : 163887.dasm (-0.45 % of base)
         -44 : 48871.dasm (-1.59 % of base)
         -44 : 43166.dasm (-1.59 % of base)
         -40 : 50226.dasm (-0.69 % of base)
         -36 : 51781.dasm (-0.78 % of base)
         -28 : 12748.dasm (-3.45 % of base)
         -24 : 40185.dasm (-1.04 % of base)
         -24 : 175291.dasm (-1.51 % of base)
         -24 : 24592.dasm (-0.26 % of base)
         -20 : 10003.dasm (-0.83 % of base)
         -20 : 164027.dasm (-0.44 % of base)
         -20 : 53914.dasm (-0.32 % of base)
         -16 : 270379.dasm (-1.25 % of base)
         -16 : 59114.dasm (-0.26 % of base)
         -16 : 46019.dasm (-1.67 % of base)
64 total files with Code Size differences (32 improved, 32 regressed), 20 unchanged.
Top method regressions (bytes):
          56 (0.79 % of base) : 165600.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderTypeWithGetSetArrayMembers:Read3_TypeWithGetSetArrayMembers(ubyte,ubyte):SerializationTypes.TypeWithGetSetArrayMembers:this (FullOpts)
          40 (0.66 % of base) : 164756.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderXmlSerializerAttributes:Read3_XmlSerializerAttributes(ubyte,ubyte):SerializationTypes.XmlSerializerAttributes:this (FullOpts)
          40 (0.66 % of base) : 165444.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderXmlSerializerAttributes:Read3_XmlSerializerAttributes(ubyte,ubyte):SerializationTypes.XmlSerializerAttributes:this (FullOpts)
          36 (0.95 % of base) : 281213.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex28478_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          28 (1.17 % of base) : 121660.dasm - System.IO.Compression.Tests.ZipFile_Unix:CreateFiles(System.String,System.String[]):System.String[] (FullOpts)
          28 (1.67 % of base) : 128705.dasm - System.Text.DBCSCodePageEncoding:ReadBestFitTable():this (FullOpts)
          28 (0.44 % of base) : 303352.dasm - System.Xml.XmlTextReaderImpl+<ParseAttributeValueSlowAsync>d__532:MoveNext():this (FullOpts)
          24 (5.71 % of base) : 170345.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          20 (0.18 % of base) : 54564.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)
          20 (1.91 % of base) : 38570.dasm - Microsoft.Extensions.FileSystemGlobbing.InMemoryDirectoryInfo:.ctor(System.String,System.Collections.Generic.IEnumerable`1[System.String],ubyte):this (FullOpts)
          20 (0.55 % of base) : 165014.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderPurchaseOrder:Read4_PurchaseOrder(ubyte,ubyte):PurchaseOrder:this (FullOpts)
          20 (0.73 % of base) : 154301.dasm - System.Net.Security.Tests.SslStreamNetworkStreamTest+<SslStream_ClientCertificate_SendsChain>d__19:MoveNext():this (FullOpts)
          20 (0.46 % of base) : 274354.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex27213_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          20 (0.68 % of base) : 274369.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex27224_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          16 (2.82 % of base) : 65671.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct]:EnqueueSlow(System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct):this (FullOpts)
          16 (4.40 % of base) : 146183.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          16 (1.78 % of base) : 149495.dasm - System.Net.Mime.MimeBasePart:DecodeHeaderValue(System.String):System.String (FullOpts)
          16 (0.52 % of base) : 226677.dasm - System.Security.Cryptography.Xml.Utils:BuildBagOfCerts(System.Security.Cryptography.Xml.KeyInfoX509Data,int):System.Security.Cryptography.X509Certificates.X509Certificate2Collection (FullOpts)
          16 (1.20 % of base) : 163993.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteElements(System.Object,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,ubyte,ubyte):this (FullOpts)
          16 (0.21 % of base) : 164845.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:GenerateMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
Top method improvements (bytes):
        -140 (-0.48 % of base) : 59115.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)
        -104 (-1.78 % of base) : 14755.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:ReportDiagnostics[System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.String,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[System.__Canon],Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,ubyte,System.Nullable`1[ubyte],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):this (FullOpts)
         -92 (-1.57 % of base) : 44265.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitArguments(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte]:this (FullOpts)
         -80 (-2.55 % of base) : 25015.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -68 (-1.39 % of base) : 3833.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 (FullOpts)
         -52 (-0.45 % of base) : 163887.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
         -44 (-1.59 % of base) : 48871.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 (FullOpts)
         -44 (-1.59 % of base) : 43166.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 (FullOpts)
         -40 (-0.69 % of base) : 50226.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitArguments(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte]:this (FullOpts)
         -36 (-0.78 % of base) : 51781.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:ReportDiagnostics[System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.String,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[System.__Canon],Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,ubyte,System.Nullable`1[ubyte],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):this (FullOpts)
         -28 (-3.45 % of base) : 12748.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ushort]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -24 (-0.26 % of base) : 24592.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)
         -24 (-1.04 % of base) : 40185.dasm - Microsoft.Extensions.Hosting.Internal.HostTests+<AppCrashesOnStartWhenFirstHostedServiceThrows>d__12:MoveNext():this (FullOpts)
         -24 (-1.51 % of base) : 175291.dasm - System.Xml.RwFactoryWriterTests.CXmlDriverEngine:ProcessIncludes(System.String[],System.String,System.Xml.Linq.XElement,OLEDB.Test.ModuleCore.MyDict`2[System.String,System.Object],System.Collections.IList):this (FullOpts)
         -20 (-0.32 % of base) : 53914.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArguments>g__visitArguments|231_0(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Conversion],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitResult],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,ubyte):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitResult],ubyte,Microsoft.CodeAnalysis.CSharp.NullableWalker+ArgumentsCompletionDelegate]:this (FullOpts)
         -20 (-0.83 % of base) : 10003.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:<FindMostSpecificImplementationInBases>g__findMostSpecificImplementationInBases|92_1(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
         -20 (-0.44 % of base) : 164027.dasm - System.Xml.Serialization.XmlSerializationReader:ReadArray(System.String,System.String):System.Array:this (FullOpts)
         -16 (-1.67 % of base) : 46019.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:CanBePassedByReference(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
         -16 (-0.26 % of base) : 59114.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -16 (-0.51 % of base) : 164909.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1:Read3_wrapper():System.Object[]:this (FullOpts)
Top method regressions (percentages):
          24 (5.71 % of base) : 170345.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          16 (4.40 % of base) : 146183.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
           8 (3.64 % of base) : 151889.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:AddUniqueStatus(System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],byref) (FullOpts)
          16 (2.82 % of base) : 65671.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct]:EnqueueSlow(System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct):this (FullOpts)
           4 (2.70 % of base) : 22351.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
           4 (2.33 % of base) : 42218.dasm - System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
          12 (1.91 % of base) : 37415.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadLibraries(byref):System.Collections.Generic.Dictionary`2[System.String,Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+LibraryStub]:this (FullOpts)
          20 (1.91 % of base) : 38570.dasm - Microsoft.Extensions.FileSystemGlobbing.InMemoryDirectoryInfo:.ctor(System.String,System.Collections.Generic.IEnumerable`1[System.String],ubyte):this (FullOpts)
           8 (1.89 % of base) : 148419.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
          12 (1.83 % of base) : 165205.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteEnumMethod(System.Xml.Serialization.EnumMapping,System.Object):System.String:this (FullOpts)
          12 (1.82 % of base) : 67195.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          16 (1.78 % of base) : 149495.dasm - System.Net.Mime.MimeBasePart:DecodeHeaderValue(System.String):System.String (FullOpts)
          28 (1.67 % of base) : 128705.dasm - System.Text.DBCSCodePageEncoding:ReadBestFitTable():this (FullOpts)
          12 (1.37 % of base) : 17172.dasm - System.IO.PathInternal:RemoveRelativeSegments(System.ReadOnlySpan`1[ushort],int,byref):ubyte (FullOpts)
          12 (1.33 % of base) : 59345.dasm - Microsoft.VisualBasic.Strings:SplitHelper(System.String,System.String,int,int):System.String[] (FullOpts)
           8 (1.26 % of base) : 143424.dasm - System.SpanTests.ReadOnlySpanTests:SequenceEqualNoMatch_Byte() (FullOpts)
           8 (1.25 % of base) : 144694.dasm - System.SpanTests.SpanTests:SequenceEqualNoMatch_Char() (FullOpts)
           8 (1.22 % of base) : 144518.dasm - System.SpanTests.SpanTests:SequenceEqualNoMatch_Byte() (FullOpts)
          16 (1.20 % of base) : 163993.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteElements(System.Object,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,ubyte,ubyte):this (FullOpts)
          28 (1.17 % of base) : 121660.dasm - System.IO.Compression.Tests.ZipFile_Unix:CreateFiles(System.String,System.String[]):System.String[] (FullOpts)
Top method improvements (percentages):
          -4 (-3.57 % of base) : 50450.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
          -4 (-3.57 % of base) : 12339.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
         -28 (-3.45 % of base) : 12748.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ushort]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -80 (-2.55 % of base) : 25015.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -16 (-1.89 % of base) : 78871.dasm - System.ComponentModel.Composition.ReflectionModel.GenericSpecializationPartCreationInfo:TranslateExportMetadata(System.ComponentModel.Composition.ReflectionModel.ReflectionMemberExportDefinition):System.Collections.Generic.Dictionary`2[System.String,System.Object]:this (FullOpts)
        -104 (-1.78 % of base) : 14755.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:ReportDiagnostics[System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.String,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[System.__Canon],Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,ubyte,System.Nullable`1[ubyte],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):this (FullOpts)
         -16 (-1.67 % of base) : 46019.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:CanBePassedByReference(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
         -44 (-1.59 % of base) : 48871.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 (FullOpts)
         -44 (-1.59 % of base) : 43166.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 (FullOpts)
         -92 (-1.57 % of base) : 44265.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitArguments(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte]:this (FullOpts)
          -8 (-1.55 % of base) : 37398.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
         -24 (-1.51 % of base) : 175291.dasm - System.Xml.RwFactoryWriterTests.CXmlDriverEngine:ProcessIncludes(System.String[],System.String,System.Xml.Linq.XElement,OLEDB.Test.ModuleCore.MyDict`2[System.String,System.Object],System.Collections.IList):this (FullOpts)
         -68 (-1.39 % of base) : 3833.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 (FullOpts)
          -4 (-1.32 % of base) : 31439.dasm - Microsoft.CodeAnalysis.RealParser:ConvertBigIntegerToFloatingPointBits(ubyte[],uint,ubyte,Microsoft.CodeAnalysis.RealParser+FloatingPointType,byref):int (FullOpts)
          -8 (-1.31 % of base) : 37399.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTarget(byref,System.String):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target:this (FullOpts)
         -16 (-1.25 % of base) : 270379.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex473_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -4 (-1.23 % of base) : 44793.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
          -4 (-1.23 % of base) : 50806.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
          -4 (-1.23 % of base) : 6201.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
          -8 (-1.22 % of base) : 254135.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:PopulateParameterInfoValues(System.Text.Json.Serialization.Metadata.JsonTypeInfo) (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: 15915068 (overridden on cmd)
Total bytes of diff: 15914936 (overridden on cmd)
Total bytes of delta: -132 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          32 : 9499.dasm (0.30 % of base)
          20 : 24140.dasm (0.18 % of base)
          16 : 22466.dasm (2.88 % of base)
          16 : 13298.dasm (0.34 % of base)
          16 : 14186.dasm (0.50 % of base)
          12 : 14988.dasm (1.20 % of base)
          12 : 14451.dasm (0.14 % of base)
          12 : 6254.dasm (1.24 % of base)
          12 : 5318.dasm (0.19 % of base)
           8 : 2499.dasm (0.31 % of base)
           8 : 1824.dasm (0.99 % of base)
           4 : 15773.dasm (0.36 % of base)
           4 : 1792.dasm (0.17 % of base)
           4 : 17948.dasm (2.70 % of base)
           4 : 20381.dasm (0.44 % of base)
           4 : 32123.dasm (0.10 % of base)
           4 : 18546.dasm (0.27 % of base)
           4 : 24132.dasm (0.11 % of base)
           4 : 31587.dasm (0.36 % of base)
           4 : 16672.dasm (0.25 % of base)
Top file improvements (bytes):
         -68 : 5422.dasm (-0.92 % of base)
         -20 : 19790.dasm (-0.35 % of base)
         -20 : 3705.dasm (-0.33 % of base)
         -20 : 25763.dasm (-0.84 % of base)
         -16 : 2262.dasm (-0.70 % of base)
         -16 : 14616.dasm (-0.41 % of base)
         -12 : 12090.dasm (-0.66 % of base)
         -12 : 20821.dasm (-0.43 % of base)
         -12 : 24088.dasm (-0.27 % of base)
         -12 : 23155.dasm (-0.40 % of base)
          -8 : 16257.dasm (-0.26 % of base)
          -8 : 18547.dasm (-0.26 % of base)
          -8 : 26752.dasm (-0.24 % of base)
          -8 : 7752.dasm (-0.08 % of base)
          -8 : 16276.dasm (-0.37 % of base)
          -8 : 17361.dasm (-0.39 % of base)
          -8 : 26701.dasm (-0.16 % of base)
          -8 : 18116.dasm (-0.10 % of base)
          -4 : 13966.dasm (-0.39 % of base)
          -4 : 15963.dasm (-0.39 % of base)
51 total files with Code Size differences (27 improved, 24 regressed), 20 unchanged.
Top method regressions (bytes):
          32 (0.30 % of base) : 9499.dasm - FSharp.Compiler.ConstraintSolver:SolveTypeSubsumesType(FSharp.Compiler.ConstraintSolver+ConstraintSolverEnv,int,FSharp.Compiler.Text.Range,FSharp.Compiler.ConstraintSolver+OptionalTrace,Microsoft.FSharp.Core.FSharpOption`1[System.Tuple`2[FSharp.Compiler.TypedTree+TraitConstraintInfo,FSharp.Compiler.TypedTree+TraitConstraintSln]],FSharp.Compiler.TypedTree+TType,FSharp.Compiler.TypedTree+TType):FSharp.Compiler.ErrorLogger+OperationResult`1[Microsoft.FSharp.Core.Unit] (FullOpts)
          20 (0.18 % of base) : 24140.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)
          16 (2.88 % of base) : 22466.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
          16 (0.50 % of base) : 14186.dasm - Microsoft.ML.Trainers.SdcaMulticlassTrainerBase`1[System.__Canon]:CheckConvergence(Microsoft.ML.Runtime.IProgressChannel,int,Microsoft.ML.Trainers.FloatLabelCursor+Factory,Microsoft.ML.Trainers.SdcaTrainerBase`3+DualsTableBase[System.__Canon,System.__Canon,System.__Canon],Microsoft.ML.Trainers.SdcaTrainerBase`3+IdToIdxLookup[System.__Canon,System.__Canon,System.__Canon],Microsoft.ML.Data.VBuffer`1[float][],Microsoft.ML.Data.VBuffer`1[float][],float[],float[],float[],float[],long,double[],byref,byref):ubyte:this (FullOpts)
          16 (0.34 % of base) : 13298.dasm - Microsoft.ML.Transforms.ValueToKeyMappingTransformer:Train(Microsoft.ML.Runtime.IHostEnvironment,Microsoft.ML.Runtime.IChannel,Microsoft.ML.Transforms.ValueToKeyMappingTransformer+ColInfo[],Microsoft.ML.IDataView,Microsoft.ML.Transforms.ValueToKeyMappingEstimator+ColumnOptionsBase[],Microsoft.ML.IDataView,ubyte):Microsoft.ML.Transforms.ValueToKeyMappingTransformer+TermMap[] (FullOpts)
          12 (1.24 % of base) : 6254.dasm - FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5[int,int,int,int,int] (FullOpts)
          12 (0.19 % of base) : 5318.dasm - FSharp.Compiler.CompilerOptions:attempt@284(Microsoft.FSharp.Core.FSharpFunc`2[System.String,Microsoft.FSharp.Core.Unit],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerOptions+CompilerOptionBlock],Microsoft.FSharp.Collections.FSharpList`1[System.String],Microsoft.FSharp.Collections.FSharpList`1[System.String],System.String,System.String,System.String,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerOptions+CompilerOption]):Microsoft.FSharp.Collections.FSharpList`1[System.String] (FullOpts)
          12 (0.14 % of base) : 14451.dasm - Microsoft.ML.Transforms.Text.TextFeaturizingEstimator:Fit(Microsoft.ML.IDataView):Microsoft.ML.ITransformer:this (FullOpts)
          12 (1.20 % of base) : 14988.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (FullOpts)
           8 (0.99 % of base) : 1824.dasm - BepuPhysics.CollisionDetection.ConstraintRemover:RemoveConstraintsFromBodyLists():this (FullOpts)
           8 (0.31 % of base) : 2499.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
           4 (0.17 % of base) : 1792.dasm - BepuPhysics.CollisionDetection.NarrowPhase`1[DemoBenchmarks.ShapePileBenchmark+DemoNarrowPhaseCallbacks]:UpdateConstraint[BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.EmptyCollisionCache,BepuPhysics.CollisionDetection.ConstraintCache1](int,byref,int,byref,byref,byref,BepuPhysics.CollisionDetection.TwoBodyHandles):this (FullOpts)
           4 (0.19 % of base) : 1896.dasm - BepuPhysics.CollisionDetection.NarrowPhase`1[DemoBenchmarks.ShapePileBenchmark+DemoNarrowPhaseCallbacks]:UpdateConstraint[int,BepuPhysics.Constraints.Contact.Contact1OneBody,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.EmptyCollisionCache,BepuPhysics.CollisionDetection.ConstraintCache1](int,byref,int,byref,byref,byref,int):this (FullOpts)
           4 (0.27 % of base) : 18546.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbolsWithNoPiaLocalTypes(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):ubyte:this (FullOpts)
           4 (0.11 % of base) : 24132.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindForOrUsingOrFixedDeclarations(Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclarationSyntax,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref):Microsoft.CodeAnalysis.CSharp.BoundStatement:this (FullOpts)
           4 (2.70 % of base) : 17948.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
           4 (0.25 % of base) : 16672.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlText(byref):this (FullOpts)
           4 (0.44 % of base) : 20381.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:WhereAsArrayImpl[System.__Canon,int](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte],System.Func`3[System.__Canon,int,ubyte],int):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (FullOpts)
           4 (0.44 % of base) : 23668.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:WhereAsArrayImpl[System.__Canon,System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte],System.Func`3[System.__Canon,System.__Canon,ubyte],System.__Canon):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (FullOpts)
           4 (0.36 % of base) : 15773.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionerForIEnumerable`1+InternalPartitionEnumerable[System.__Canon]:GrabChunk_Buffered(System.Collections.Generic.KeyValuePair`2[long,System.__Canon][],int,byref):ubyte:this (FullOpts)
Top method improvements (bytes):
         -68 (-0.92 % of base) : 5422.dasm - FSharp.Compiler.LexFilter:undentationLimit@727(FSharp.Compiler.LexFilter+LexFilterImpl,FSharp.Compiler.LexFilter+Context,ubyte,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.LexFilter+Context]):FSharp.Compiler.LexFilter+PositionWithColumn (FullOpts)
         -20 (-0.33 % of base) : 3705.dasm - FSharp.Compiler.CompilerImports:TcConfig.TryResolveLibsUsingMSBuildRules.Static(FSharp.Compiler.CompilerConfig+TcConfig,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+AssemblyReference],FSharp.Compiler.Text.Range,FSharp.Compiler.CompilerImports+ResolveAssemblyReferenceMode):System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerImports+AssemblyResolution],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+UnresolvedAssemblyReference]] (FullOpts)
         -20 (-0.35 % of base) : 19790.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArguments>g__visitArguments|231_0(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Conversion],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,ubyte):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte,Microsoft.CodeAnalysis.CSharp.NullableWalker+ArgumentsCompletionDelegate]:this (FullOpts)
         -20 (-0.84 % of base) : 25763.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:<FindMostSpecificImplementationInBases>g__findMostSpecificImplementationInBases|92_1(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
         -16 (-0.70 % of base) : 2262.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -16 (-0.41 % of base) : 14616.dasm - System.Net.HttpWebRequest+<SendRequest>d__196:MoveNext():this (FullOpts)
         -12 (-0.27 % of base) : 24088.dasm - Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder:<MakeDecisionDag>g__uniquifyState|32_0(Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+FrozenArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+StateForCase],System.Collections.Immutable.ImmutableDictionary`2[Microsoft.CodeAnalysis.CSharp.BoundDagTemp,Microsoft.CodeAnalysis.CSharp.IValueSet],byref):Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+DagState (FullOpts)
         -12 (-0.40 % of base) : 23155.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:Populate(Microsoft.CodeAnalysis.CSharp.NullableWalker+VariablesSnapshot):this (FullOpts)
         -12 (-0.43 % of base) : 20821.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckAbstractClassImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -12 (-0.66 % of base) : 12090.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.HuffmanScanDecoder:ParseBaselineDataSingleComponent():this (FullOpts)
          -8 (-0.08 % of base) : 7752.dasm - FSharp.Compiler.Lexer:singleQuoteString(FSharp.Compiler.IO.ByteBuffer,FSharp.Compiler.Lexhelp+LexerStringFinisher,FSharp.Compiler.Text.Range,FSharp.Compiler.ParseHelpers+LexerStringKind,FSharp.Compiler.Lexhelp+LexArgs,ubyte,Internal.Utilities.Text.Lexing.LexBuffer`1[ushort]):FSharp.Compiler.Parser+token (FullOpts)
          -8 (-0.24 % of base) : 26752.dasm - Microsoft.CodeAnalysis.AnalyzerConfigSet:ParseSectionOptions(Microsoft.CodeAnalysis.AnalyzerConfig+Section,System.Collections.Immutable.ImmutableDictionary`2+Builder[System.String,int],System.Collections.Immutable.ImmutableDictionary`2+Builder[System.String,System.String],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostic],System.String,System.Collections.Concurrent.ConcurrentDictionary`2[System.ReadOnlyMemory`1[ushort],System.String]) (FullOpts)
          -8 (-0.16 % of base) : 26701.dasm - Microsoft.CodeAnalysis.AnalyzerConfigSet+GlobalAnalyzerConfigBuilder:Build(Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.AnalyzerConfigSet+GlobalAnalyzerConfig:this (FullOpts)
          -8 (-0.10 % of base) : 18116.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)
          -8 (-0.26 % of base) : 18547.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 (FullOpts)
          -8 (-0.39 % of base) : 17361.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlEntity(byref):this (FullOpts)
          -8 (-0.26 % of base) : 16257.dasm - Microsoft.CodeAnalysis.RuleSet:GetDiagnosticOptionsFromRulesetFile(System.Collections.Generic.Dictionary`2[System.String,int],System.String,System.Collections.Generic.IList`1[Microsoft.CodeAnalysis.Diagnostic],Microsoft.CodeAnalysis.CommonMessageProvider):int (FullOpts)
          -8 (-0.37 % of base) : 16276.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
          -4 (-0.43 % of base) : 29317.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
          -4 (-1.23 % of base) : 20111.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
Top method regressions (percentages):
          16 (2.88 % of base) : 22466.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
           4 (2.70 % of base) : 17948.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
          12 (1.24 % of base) : 6254.dasm - FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5[int,int,int,int,int] (FullOpts)
          12 (1.20 % of base) : 14988.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (FullOpts)
           8 (0.99 % of base) : 1824.dasm - BepuPhysics.CollisionDetection.ConstraintRemover:RemoveConstraintsFromBodyLists():this (FullOpts)
          16 (0.50 % of base) : 14186.dasm - Microsoft.ML.Trainers.SdcaMulticlassTrainerBase`1[System.__Canon]:CheckConvergence(Microsoft.ML.Runtime.IProgressChannel,int,Microsoft.ML.Trainers.FloatLabelCursor+Factory,Microsoft.ML.Trainers.SdcaTrainerBase`3+DualsTableBase[System.__Canon,System.__Canon,System.__Canon],Microsoft.ML.Trainers.SdcaTrainerBase`3+IdToIdxLookup[System.__Canon,System.__Canon,System.__Canon],Microsoft.ML.Data.VBuffer`1[float][],Microsoft.ML.Data.VBuffer`1[float][],float[],float[],float[],float[],long,double[],byref,byref):ubyte:this (FullOpts)
           4 (0.44 % of base) : 20381.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:WhereAsArrayImpl[System.__Canon,int](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte],System.Func`3[System.__Canon,int,ubyte],int):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (FullOpts)
           4 (0.44 % of base) : 23668.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:WhereAsArrayImpl[System.__Canon,System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte],System.Func`3[System.__Canon,System.__Canon,ubyte],System.__Canon):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (FullOpts)
           4 (0.36 % of base) : 31587.dasm - System.Management.Automation.LocationGlobber:GetGlobbedProviderPathsFromMonadPath(System.String,ubyte,System.Management.Automation.CmdletProviderContext,byref,byref):System.Collections.ObjectModel.Collection`1[System.String]:this (FullOpts)
           4 (0.36 % of base) : 15773.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionerForIEnumerable`1+InternalPartitionEnumerable[System.__Canon]:GrabChunk_Buffered(System.Collections.Generic.KeyValuePair`2[long,System.__Canon][],int,byref):ubyte:this (FullOpts)
          16 (0.34 % of base) : 13298.dasm - Microsoft.ML.Transforms.ValueToKeyMappingTransformer:Train(Microsoft.ML.Runtime.IHostEnvironment,Microsoft.ML.Runtime.IChannel,Microsoft.ML.Transforms.ValueToKeyMappingTransformer+ColInfo[],Microsoft.ML.IDataView,Microsoft.ML.Transforms.ValueToKeyMappingEstimator+ColumnOptionsBase[],Microsoft.ML.IDataView,ubyte):Microsoft.ML.Transforms.ValueToKeyMappingTransformer+TermMap[] (FullOpts)
           8 (0.31 % of base) : 2499.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
          32 (0.30 % of base) : 9499.dasm - FSharp.Compiler.ConstraintSolver:SolveTypeSubsumesType(FSharp.Compiler.ConstraintSolver+ConstraintSolverEnv,int,FSharp.Compiler.Text.Range,FSharp.Compiler.ConstraintSolver+OptionalTrace,Microsoft.FSharp.Core.FSharpOption`1[System.Tuple`2[FSharp.Compiler.TypedTree+TraitConstraintInfo,FSharp.Compiler.TypedTree+TraitConstraintSln]],FSharp.Compiler.TypedTree+TType,FSharp.Compiler.TypedTree+TType):FSharp.Compiler.ErrorLogger+OperationResult`1[Microsoft.FSharp.Core.Unit] (FullOpts)
           4 (0.27 % of base) : 18546.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbolsWithNoPiaLocalTypes(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):ubyte:this (FullOpts)
           4 (0.25 % of base) : 16672.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlText(byref):this (FullOpts)
          12 (0.19 % of base) : 5318.dasm - FSharp.Compiler.CompilerOptions:attempt@284(Microsoft.FSharp.Core.FSharpFunc`2[System.String,Microsoft.FSharp.Core.Unit],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerOptions+CompilerOptionBlock],Microsoft.FSharp.Collections.FSharpList`1[System.String],Microsoft.FSharp.Collections.FSharpList`1[System.String],System.String,System.String,System.String,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerOptions+CompilerOption]):Microsoft.FSharp.Collections.FSharpList`1[System.String] (FullOpts)
           4 (0.19 % of base) : 1896.dasm - BepuPhysics.CollisionDetection.NarrowPhase`1[DemoBenchmarks.ShapePileBenchmark+DemoNarrowPhaseCallbacks]:UpdateConstraint[int,BepuPhysics.Constraints.Contact.Contact1OneBody,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.EmptyCollisionCache,BepuPhysics.CollisionDetection.ConstraintCache1](int,byref,int,byref,byref,byref,int):this (FullOpts)
          20 (0.18 % of base) : 24140.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)
           4 (0.17 % of base) : 17858.dasm - System.Number:TryParseNumber(byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (FullOpts)
           4 (0.17 % of base) : 1792.dasm - BepuPhysics.CollisionDetection.NarrowPhase`1[DemoBenchmarks.ShapePileBenchmark+DemoNarrowPhaseCallbacks]:UpdateConstraint[BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.EmptyCollisionCache,BepuPhysics.CollisionDetection.ConstraintCache1](int,byref,int,byref,byref,byref,BepuPhysics.CollisionDetection.TwoBodyHandles):this (FullOpts)
Top method improvements (percentages):
          -4 (-1.23 % of base) : 20111.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
         -68 (-0.92 % of base) : 5422.dasm - FSharp.Compiler.LexFilter:undentationLimit@727(FSharp.Compiler.LexFilter+LexFilterImpl,FSharp.Compiler.LexFilter+Context,ubyte,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.LexFilter+Context]):FSharp.Compiler.LexFilter+PositionWithColumn (FullOpts)
         -20 (-0.84 % of base) : 25763.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:<FindMostSpecificImplementationInBases>g__findMostSpecificImplementationInBases|92_1(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
         -16 (-0.70 % of base) : 2262.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -12 (-0.66 % of base) : 12090.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.HuffmanScanDecoder:ParseBaselineDataSingleComponent():this (FullOpts)
          -4 (-0.46 % of base) : 2461.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (FullOpts)
          -4 (-0.43 % of base) : 29317.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
         -12 (-0.43 % of base) : 20821.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckAbstractClassImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -16 (-0.41 % of base) : 14616.dasm - System.Net.HttpWebRequest+<SendRequest>d__196:MoveNext():this (FullOpts)
          -4 (-0.40 % of base) : 19260.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (FullOpts)
         -12 (-0.40 % of base) : 23155.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:Populate(Microsoft.CodeAnalysis.CSharp.NullableWalker+VariablesSnapshot):this (FullOpts)
          -4 (-0.39 % of base) : 13966.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,System.__Canon]:TryRemoveInternal(int,byref,ubyte,System.__Canon):ubyte:this (FullOpts)
          -8 (-0.39 % of base) : 17361.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlEntity(byref):this (FullOpts)
          -4 (-0.39 % of base) : 15963.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[long,System.Net.Sockets.SocketAsyncEngine+SocketAsyncContextWrapper]:TryRemoveInternal(long,byref,ubyte,System.Net.Sockets.SocketAsyncEngine+SocketAsyncContextWrapper):ubyte:this (FullOpts)
          -8 (-0.37 % of base) : 16276.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
          -4 (-0.36 % of base) : 13505.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:get_Count():int:this (FullOpts)
         -20 (-0.35 % of base) : 19790.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArguments>g__visitArguments|231_0(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Conversion],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,ubyte):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte,Microsoft.CodeAnalysis.CSharp.NullableWalker+ArgumentsCompletionDelegate]:this (FullOpts)
          -4 (-0.33 % of base) : 15901.dasm - System.Threading.TimerQueue:FireNextTimers():this (FullOpts)
         -20 (-0.33 % of base) : 3705.dasm - FSharp.Compiler.CompilerImports:TcConfig.TryResolveLibsUsingMSBuildRules.Static(FSharp.Compiler.CompilerConfig+TcConfig,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+AssemblyReference],FSharp.Compiler.Text.Range,FSharp.Compiler.CompilerImports+ResolveAssemblyReferenceMode):System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerImports+AssemblyResolution],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+UnresolvedAssemblyReference]] (FullOpts)
          -4 (-0.32 % of base) : 20427.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddDeclaredNontypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
  
  
linux x64
Diffs are based on 2,238,190 contexts (979,602 MinOpts, 1,258,588 FullOpts).
MISSED contexts: 4 (0.00%)
Overall (-68,701 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.linux.x64.checked.mch | 13,724,528 | -354 | 
| benchmarks.run_pgo.linux.x64.checked.mch | 70,979,074 | -19,812 | 
| benchmarks.run_tiered.linux.x64.checked.mch | 16,627,330 | -826 | 
| coreclr_tests.run.linux.x64.checked.mch | 403,126,321 | +193 | 
| libraries.crossgen2.linux.x64.checked.mch | 201,901 | -12 | 
| libraries.pmi.linux.x64.checked.mch | 60,379,274 | -590 | 
| libraries_tests.run.linux.x64.Release.mch | 335,193,928 | -45,526 | 
| librariestestsnotieredcompilation.run.linux.x64.Release.mch | 132,514,463 | -1,575 | 
| realworld.run.linux.x64.checked.mch | 13,153,476 | -199 | 
  
FullOpts (-68,701 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.linux.x64.checked.mch | 13,460,595 | -354 | 
| benchmarks.run_pgo.linux.x64.checked.mch | 48,250,218 | -19,812 | 
| benchmarks.run_tiered.linux.x64.checked.mch | 3,696,675 | -826 | 
| coreclr_tests.run.linux.x64.checked.mch | 123,788,349 | +193 | 
| libraries.crossgen2.linux.x64.checked.mch | 201,901 | -12 | 
| libraries.pmi.linux.x64.checked.mch | 60,266,417 | -590 | 
| libraries_tests.run.linux.x64.Release.mch | 152,217,440 | -45,526 | 
| librariestestsnotieredcompilation.run.linux.x64.Release.mch | 121,896,797 | -1,575 | 
| realworld.run.linux.x64.checked.mch | 12,767,744 | -199 | 
  
Example diffs
benchmarks.run.linux.x64.checked.mch
-28 (-3.59%) : 55.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
@@ -213,18 +213,17 @@ G_M65128_IG16:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14},
        vpor     xmm2, xmm2, xmm4
        vpmovmskb edi, xmm2
        popcnt   edi, edi
-       vmovaps  xmm2, xmmword ptr [rbp-0x70]
-       vpaddw   xmm4, xmm0, xmm2
+       vpaddw   xmm4, xmm0, xmmword ptr [rbp-0x70]
        vpcmpgtw xmm4, xmm3, xmm4
        vpmovmskb eax, xmm4
        cmp      eax, 0xFFFF
        jne      SHORT G_M65128_IG19
-                      ;; size=58 bbWeight=4 PerfScore 83.00
-G_M65128_IG17:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14}, byref
+                      ;; size=54 bbWeight=4 PerfScore 77.67
+G_M65128_IG17:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14}, byref, isz
        add      r12, rdi
        cmp      rbx, r15
-       jbe      G_M65128_IG14
-                       ;; size=12 bbWeight=16 PerfScore 24.00
+       jbe      SHORT G_M65128_IG14
+                       ;; size=8 bbWeight=16 PerfScore 24.00
 G_M65128_IG18:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14}, byref
        mov      rcx, qword ptr [rbp-0x38]
        jmp      G_M65128_IG27
@@ -252,9 +251,7 @@ G_M65128_IG20:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14},
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
        mov      rdi, qword ptr [rbp-0x98]
-       vmovaps  xmm2, xmmword ptr [rbp-0x70]
-       vmovaps  xmm3, xmmword ptr [rbp-0x60]
-                       ;; size=50 bbWeight=8 PerfScore 92.00
+                     ;; size=40 bbWeight=8 PerfScore 44.00
 G_M65128_IG21:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14}, byref, isz
        mov      eax, dword ptr [rbp-0xA0]
        mov      esi, eax
@@ -272,9 +269,7 @@ G_M65128_IG22:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14},
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
        mov      rdi, qword ptr [rbp-0x98]
-       vmovaps  xmm2, xmmword ptr [rbp-0x70]
-       vmovaps  xmm3, xmmword ptr [rbp-0x60]
-                       ;; size=50 bbWeight=8 PerfScore 92.00
+                     ;; size=40 bbWeight=8 PerfScore 44.00
 G_M65128_IG23:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14}, byref, isz
        mov      eax, dword ptr [rbp-0xA0]
        shl      eax, 2
@@ -359,7 +354,7 @@ RWD16   dq  7800780078007800h, 7800780078007800h
 RWD32      dq  A000A000A000A000h, A000A000A000A000h
 
 
-; Total bytes of code 780, prolog size 37, PerfScore 1231.88, instruction count 194, allocated bytes for code 780 (MethodHash=5a2e0197) for method System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
+; Total bytes of code 752, prolog size 37, PerfScore 1130.54, instruction count 189, allocated bytes for code 752 (MethodHash=5a2e0197) for method System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
-28 (-3.20%) : 3932.dasm - System.Reflection.CustomAttributeEncodedArgument:ParseNamedArgs(byref,System.Reflection.CustomAttributeNamedParameter[],System.Reflection.RuntimeModule) (FullOpts)
@@ -8,19 +8,19 @@
 ; 0 inlinees with PGO data; 43 single block inlinees; 13 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T07] ( 14, 35   )   byref  ->  [rbp-0x40]  single-def
+;  V00 arg0         [V00,T07] ( 14, 35   )   byref  ->  rbx         single-def
 ;  V01 arg1         [V01,T10] (  4, 22   )     ref  ->  r15         class-hnd single-def <System.Reflection.CustomAttributeNamedParameter[]>
 ;  V02 arg2         [V02,T22] (  4, 10   )     ref  ->  r14         class-hnd single-def <System.Reflection.RuntimeModule>
 ;  V03 loc0         [V03,T28] (  3,  6   )     int  ->  r12        
 ;  V04 loc1         [V04,T21] (  4, 13   )     int  ->  [rbp-0x2C] 
 ;  V05 loc2         [V05,T24] (  3, 10   )     int  ->  rdi        
-;  V06 loc3         [V06,T08] (  6, 34   )     ref  ->  [rbp-0x48]  class-hnd exact spill-single-def <System.Reflection.CustomAttributeType>
-;  V07 loc4         [V07,T11] (  5, 26   )     ref  ->  [rbp-0x50]  class-hnd exact spill-single-def <System.String>
-;  V08 loc5         [V08,T18] (  5, 18   )     ref  ->  [rbp-0x58]  class-hnd <System.Reflection.CustomAttributeNamedParameter>
+;  V06 loc3         [V06,T08] (  6, 34   )     ref  ->  [rbp-0x40]  class-hnd exact spill-single-def <System.Reflection.CustomAttributeType>
+;  V07 loc4         [V07,T11] (  5, 26   )     ref  ->  [rbp-0x48]  class-hnd exact spill-single-def <System.String>
+;  V08 loc5         [V08,T18] (  5, 18   )     ref  ->  [rbp-0x50]  class-hnd <System.Reflection.CustomAttributeNamedParameter>
 ;* V09 loc6         [V09,T30] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Reflection.CustomAttributeNamedParameter[]>
 ;  V10 loc7         [V10,T02] (  5, 68   )     int  ->  [rbp-0x30] 
-;  V11 loc8         [V11,T06] (  4, 42   )     ref  ->  [rbp-0x60]  class-hnd exact spill-single-def <System.Reflection.CustomAttributeNamedParameter>
-;  V12 loc9         [V12,T01] (  8, 74   )     ref  ->  [rbp-0x68]  class-hnd exact spill-single-def <System.Reflection.CustomAttributeType>
+;  V11 loc8         [V11,T06] (  4, 42   )     ref  ->  [rbp-0x58]  class-hnd exact spill-single-def <System.Reflection.CustomAttributeNamedParameter>
+;  V12 loc9         [V12,T01] (  8, 74   )     ref  ->  [rbp-0x60]  class-hnd exact spill-single-def <System.Reflection.CustomAttributeType>
 ;# V13 OutArgs      [V13    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V14 tmp1         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Type>
 ;* V15 tmp2         [V15    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
@@ -71,20 +71,20 @@
 ;* V60 tmp47        [V60    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;* V61 tmp48        [V61    ] (  0,  0   )   byref  ->  zero-ref    "field V32._reference (fldOffset=0x0)" P-INDEP
 ;* V62 tmp49        [V62    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
-;  V63 tmp50        [V63,T25] (  2,  8   )   byref  ->  [rbp-0x70]  spill-single-def "field V35._reference (fldOffset=0x0)" P-INDEP
+;  V63 tmp50        [V63,T25] (  2,  8   )   byref  ->  [rbp-0x68]  spill-single-def "field V35._reference (fldOffset=0x0)" P-INDEP
 ;* V64 tmp51        [V64    ] (  0,  0   )     int  ->  zero-ref    "field V35._length (fldOffset=0x8)" P-INDEP
 ;  V65 tmp52        [V65,T05] (  3, 48   )     ref  ->  rdi         "argument with side effect"
 ;  V66 tmp53        [V66,T37] (  2,  0   )     ref  ->  rsi         "argument with side effect"
 ;  V67 tmp54        [V67,T38] (  2,  0   )     ref  ->  rsi         "argument with side effect"
 ;  V68 tmp55        [V68,T39] (  2,  0   )     ref  ->  rsi         "argument with side effect"
 ;  V69 tmp56        [V69,T40] (  2,  0   )     ref  ->  rsi         "argument with side effect"
-;  V70 cse0         [V70,T14] (  3, 24   )     int  ->  rbx         "CSE - moderate"
+;  V70 cse0         [V70,T14] (  3, 24   )     int  ->  r13         "CSE - moderate"
 ;  V71 cse1         [V71,T15] (  3, 24   )     int  ->  rdi         "CSE - moderate"
 ;  V72 cse2         [V72,T16] (  3, 24   )     int  ->  rdi         "CSE - moderate"
 ;  V73 cse3         [V73,T03] (  3, 68   )     int  ->  [rbp-0x34]  spill-single-def "CSE - aggressive"
 ;  V74 cse4         [V74,T20] (  9, 13.50)     ref  ->  rsi         multi-def "CSE - aggressive"
 ;  V75 cse5         [V75,T17] (  3, 24   )     int  ->  [rbp-0x38]  spill-single-def "CSE - moderate"
-;  V76 cse6         [V76,T27] (  3,  6   )   byref  ->  r13         "CSE - moderate"
+;  V76 cse6         [V76,T27] (  3,  6   )   byref  ->  [rbp-0x70]  spill-single-def "CSE - moderate"
 ;  V77 cse7         [V77,T23] (  3, 12   )     int  ->  rsi         "CSE - moderate"
 ;  V78 cse8         [V78,T31] (  3,  3   )     int  ->  rsi         "CSE - moderate"
 ;
@@ -109,6 +109,8 @@ G_M41795_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M41795_IG02:        ; bbWeight=1, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref, isz
        lea      r13, bword ptr [rbx+0x08]
        ; byrRegs +[r13]
+       mov      bword ptr [rbp-0x70], r13
+       ; GC ptr vars +{V76}
        mov      rdi, r13
        ; byrRegs +[rdi]
        mov      esi, dword ptr [rbx]
@@ -126,8 +128,8 @@ G_M41795_IG02:        ; bbWeight=1, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rb
        sub      edi, esi
        cmp      edi, 2
        jge      SHORT G_M41795_IG04
-                      ;; size=45 bbWeight=1 PerfScore 13.50
-G_M41795_IG03:        ; bbWeight=0.50, gcrefRegs=C000 {r14 r15}, byrefRegs=3008 {rbx r12 r13}, byref
+                     ;; size=49 bbWeight=1 PerfScore 14.50
+G_M41795_IG03:        ; bbWeight=0.50, gcVars=0000000008000000 {V76}, gcrefRegs=C000 {r14 r15}, byrefRegs=3008 {rbx r12 r13}, gcvars, byref
        mov      rsi, 0xD1FFAB1E
        ; gcrRegs +[rsi]
        mov      rdi, rsi
@@ -157,7 +159,7 @@ G_M41795_IG05:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=2008 {rb
        ja       G_M41795_IG31
        add      rcx, bword ptr [rdi]
        ; byrRegs +[rcx]
-       mov      bword ptr [rbp-0x70], rcx
+       mov      bword ptr [rbp-0x68], rcx
        ; GC ptr vars +{V63}
        mov      edi, dword ptr [rbx+0x10]
        ; byrRegs -[rdi]
@@ -165,8 +167,8 @@ G_M41795_IG05:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=2008 {rb
        test     edi, edi
        jg       SHORT G_M41795_IG07
                        ;; size=41 bbWeight=4 PerfScore 55.00
-G_M41795_IG06:        ; bbWeight=2, gcVars=0000000002000000 {V63}, gcrefRegs=C000 {r14 r15}, byrefRegs=2008 {rbx r13}, gcvars, byref
-       ; byrRegs -[rcx]
+G_M41795_IG06:        ; bbWeight=2, gcVars=000000000A000000 {V63 V76}, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, gcvars, byref
+       ; byrRegs -[rcx r13]
        mov      rsi, 0xD1FFAB1E
        ; gcrRegs +[rsi]
        mov      rdi, rsi
@@ -175,21 +177,21 @@ G_M41795_IG06:        ; bbWeight=2, gcVars=0000000002000000 {V63}, gcrefRegs=C00
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
                        ;; size=19 bbWeight=2 PerfScore 7.00
-G_M41795_IG07:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=2008 {rbx r13}, byref, isz
+G_M41795_IG07:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref, isz
        inc      dword ptr [rbx]
-       mov      rcx, bword ptr [rbp-0x70]
+       mov      rcx, bword ptr [rbp-0x68]
        ; byrRegs +[rcx]
        movsx    rdi, byte  ptr [rcx]
        cmp      edi, 83
        je       SHORT G_M41795_IG09
                        ;; size=15 bbWeight=4 PerfScore 37.00
-G_M41795_IG08:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=C000 {r14 r15}, byrefRegs=2008 {rbx r13}, gcvars, byref
+G_M41795_IG08:        ; bbWeight=2, gcVars=0000000008000000 {V76}, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, gcvars, byref
        ; byrRegs -[rcx]
        ; GC ptr vars -{V63}
        cmp      edi, 84
        jne      G_M41795_IG32
                        ;; size=9 bbWeight=2 PerfScore 2.50
-G_M41795_IG09:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=2008 {rbx r13}, byref
+G_M41795_IG09:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref
        mov      rdi, rbx
        ; byrRegs +[rdi]
        mov      rsi, r14
@@ -198,94 +200,93 @@ G_M41795_IG09:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=2008 {rb
        ; gcrRegs -[rsi] +[rax]
        ; byrRegs -[rdi]
        ; gcr arg pop 0
-       mov      gword ptr [rbp-0x48], rax
+       mov      gword ptr [rbp-0x40], rax
        ; GC ptr vars +{V06}
        mov      rdi, rbx
        ; byrRegs +[rdi]
        call     [System.Reflection.CustomAttributeEncodedArgument+CustomAttributeDataParser:GetString():System.String:this]
        ; byrRegs -[rdi]
        ; gcr arg pop 0
-       mov      gword ptr [rbp-0x50], rax
+       mov      gword ptr [rbp-0x48], rax
        ; GC ptr vars +{V07}
        test     rax, rax
        je       G_M41795_IG33
                        ;; size=38 bbWeight=4 PerfScore 40.00
-G_M41795_IG10:        ; bbWeight=2, gcVars=0000000000000900 {V06 V07}, gcrefRegs=C001 {rax r14 r15}, byrefRegs=2008 {rbx r13}, gcvars, byref
+G_M41795_IG10:        ; bbWeight=2, gcVars=0000000008000900 {V06 V07 V76}, gcrefRegs=C001 {rax r14 r15}, byrefRegs=0008 {rbx}, gcvars, byref
        mov      ecx, dword ptr [rax+0x08]
        mov      dword ptr [rbp-0x34], ecx
        test     ecx, ecx
        je       G_M41795_IG33
                        ;; size=14 bbWeight=2 PerfScore 8.50
-G_M41795_IG11:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=2008 {rbx r13}, byref
+G_M41795_IG11:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref
        ; gcrRegs -[rax]
-       xor      r8, r8
-       ; gcrRegs +[r8]
-       xor      r9d, r9d
-       mov      r10d, dword ptr [r15+0x08]
-       mov      dword ptr [rbp-0x38], r10d
-       test     r10d, r10d
-       jle      G_M41795_IG29
-                       ;; size=23 bbWeight=4 PerfScore 19.00
-G_M41795_IG12:        ; bbWeight=16, gcrefRegs=C100 {r8 r14 r15}, byrefRegs=2008 {rbx r13}, byref
-       mov      dword ptr [rbp-0x30], r9d
-       mov      edi, r9d
-       mov      rdx, gword ptr [r15+8*rdi+0x10]
+       xor      rdx, rdx
        ; gcrRegs +[rdx]
-       mov      gword ptr [rbp-0x60], rdx
+       mov      gword ptr [rbp-0x50], rdx
+       ; GC ptr vars +{V08}
+       xor      esi, esi
+       mov      r8d, dword ptr [r15+0x08]
+       mov      dword ptr [rbp-0x38], r8d
+       test     r8d, r8d
+       jle      G_M41795_IG29
+                       ;; size=25 bbWeight=4 PerfScore 23.00
+G_M41795_IG12:        ; bbWeight=16, gcVars=0000000008040900 {V06 V07 V08 V76}, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, gcvars, byref
+       ; gcrRegs -[rdx]
+       mov      dword ptr [rbp-0x30], esi
+       mov      edi, esi
+       mov      r9, gword ptr [r15+8*rdi+0x10]
+       ; gcrRegs +[r9]
+       mov      gword ptr [rbp-0x58], r9
        ; GC ptr vars +{V11}
-       mov      rsi, gword ptr [rdx+0x10]
-       ; gcrRegs +[rsi]
-       mov      gword ptr [rbp-0x68], rsi
+       mov      r10, gword ptr [r9+0x10]
+       ; gcrRegs +[r10]
+       mov      gword ptr [rbp-0x60], r10
        ; GC ptr vars +{V12}
-       cmp      dword ptr [rsi+0x10], 81
-       mov      bword ptr [rbp-0x40], rbx
-       ; GC ptr vars +{V00}
+       cmp      dword ptr [r10+0x10], 81
        je       G_M41795_IG26
-                       ;; size=38 bbWeight=16 PerfScore 196.00
-G_M41795_IG13:        ; bbWeight=8, gcVars=00000000000009C2 {V00 V06 V07 V11 V12}, gcrefRegs=C144 {rdx rsi r8 r14 r15}, byrefRegs=2000 {r13}, gcvars, byref
-       ; byrRegs -[rbx]
-       mov      edi, dword ptr [rsi+0x10]
-       mov      r11, gword ptr [rbp-0x48]
+                        ;; size=33 bbWeight=16 PerfScore 180.00
+G_M41795_IG13:        ; bbWeight=8, gcVars=0000000008040942 {V06 V07 V08 V11 V12 V76}, gcrefRegs=C600 {r9 r10 r14 r15}, byrefRegs=0008 {rbx}, gcvars, byref
+       mov      edi, dword ptr [r10+0x10]
+       mov      r11, gword ptr [rbp-0x40]
        ; gcrRegs +[r11]
-       mov      ebx, dword ptr [r11+0x10]
-       cmp      edi, ebx
+       mov      r13d, dword ptr [r11+0x10]
+       cmp      edi, r13d
        jne      G_M41795_IG25
-       cmp      ebx, 29
+       cmp      r13d, 29
        jne      G_M41795_IG24
-       mov      edi, dword ptr [rsi+0x18]
+       mov      edi, dword ptr [r10+0x18]
        cmp      edi, 81
        je       G_M41795_IG23
        cmp      dword ptr [r11+0x18], edi
-       mov      gword ptr [rbp-0x58], r8
-       ; GC ptr vars +{V08}
        jne      G_M41795_IG22
-                     ;; size=54 bbWeight=8 PerfScore 126.00
-G_M41795_IG14:        ; bbWeight=8, gcVars=00000000000409C2 {V00 V06 V07 V08 V11 V12}, gcrefRegs=C004 {rdx r14 r15}, byrefRegs=2000 {r13}, gcvars, byref, isz
-       ; gcrRegs -[rsi r8 r11]
-       mov      rdi, gword ptr [rdx+0x08]
+                        ;; size=54 bbWeight=8 PerfScore 118.00
+G_M41795_IG14:        ; bbWeight=8, gcrefRegs=C200 {r9 r14 r15}, byrefRegs=0008 {rbx}, byref, isz
+       ; gcrRegs -[r10-r11]
+       mov      rdi, gword ptr [r9+0x08]
        ; gcrRegs +[rdi]
-       mov      rbx, qword ptr [rdi]
-       mov      rbx, qword ptr [rbx+0x48]
-       call     [rbx+0x30]<unknown method>
-       ; gcrRegs -[rdx rdi] +[rax]
+       mov      r13, qword ptr [rdi]
+       mov      r13, qword ptr [r13+0x48]
+       call     [r13+0x30]<unknown method>
+       ; gcrRegs -[rdi r9] +[rax]
        ; gcr arg pop 0
        cmp      byte  ptr [rax], al
-       mov      rbx, gword ptr [rbp-0x50]
-       ; gcrRegs +[rbx]
-       cmp      rax, rbx
+       mov      r13, gword ptr [rbp-0x48]
+       ; gcrRegs +[r13]
+       cmp      rax, r13
        je       SHORT G_M41795_IG17
-                      ;; size=25 bbWeight=8 PerfScore 114.00
-G_M41795_IG15:        ; bbWeight=64, gcrefRegs=C009 {rax rbx r14 r15}, byrefRegs=2000 {r13}, byref, isz
+                      ;; size=26 bbWeight=8 PerfScore 114.00
+G_M41795_IG15:        ; bbWeight=64, gcrefRegs=E001 {rax r13 r14 r15}, byrefRegs=0008 {rbx}, byref, isz
        mov      ecx, dword ptr [rbp-0x34]
        cmp      dword ptr [rax+0x08], ecx
        jne      SHORT G_M41795_IG19
                        ;; size=8 bbWeight=64 PerfScore 320.00
-G_M41795_IG16:        ; bbWeight=8, gcrefRegs=C009 {rax rbx r14 r15}, byrefRegs=2000 {r13}, byref, isz
+G_M41795_IG16:        ; bbWeight=8, gcrefRegs=E001 {rax r13 r14 r15}, byrefRegs=0008 {rbx}, byref, isz
        lea      rdi, bword ptr [rax+0x0C]
...
  
-30 (-2.94%) : 19444.dasm - LUDecomp:Run():double:this (FullOpts)
@@ -11,36 +11,36 @@
 ;  V00 this         [V00,T15] ( 14, 38.50)     ref  ->  rbx         this class-hnd single-def <LUDecomp>
 ;  V01 loc0         [V01,T19] (  5, 17.96)     ref  ->  r14         class-hnd exact single-def <<unknown class>>
 ;  V02 loc1         [V02,T26] (  4, 14   )     ref  ->  r13         class-hnd exact single-def <<unknown class>>
-;  V03 loc2         [V03,T03] ( 10,196.50)     ref  ->  [rbp-0x78]  class-hnd <<unknown class>>
-;  V04 loc3         [V04,T16] (  6, 36.50)     ref  ->  [rbp-0x80]  class-hnd <<unknown class>>
+;  V03 loc2         [V03,T03] ( 10,196.50)     ref  ->  [rbp-0x70]  class-hnd <<unknown class>>
+;  V04 loc3         [V04,T16] (  6, 36.50)     ref  ->  [rbp-0x78]  class-hnd <<unknown class>>
 ;* V05 loc4         [V05    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;  V06 loc5         [V06,T20] (  6, 17   )     int  ->  [rbp-0x2C] 
-;  V07 loc6         [V07,T18] (  5, 26   )    long  ->  [rbp-0x38] 
-;  V08 loc7         [V08,T30] (  4, 18   )  double  ->  [rbp-0x40] 
+;  V07 loc6         [V07,T18] (  5, 26   )    long  ->  r12        
+;  V08 loc7         [V08,T30] (  4, 18   )  double  ->  [rbp-0x38] 
 ;  V09 loc8         [V09,T21] (  5, 16.84)     int  ->  r13        
-;  V10 loc9         [V10,T04] (  7,196   )     int  ->  [rbp-0x44] 
-;  V11 loc10        [V11,T00] (  5,272   )     int  ->  [rbp-0x48] 
-;  V12 loc11        [V12,T06] (  5, 68   )     int  ->  [rbp-0x4C] 
-;  V13 loc12        [V13,T13] (  7, 48.50)     int  ->  [rbp-0x50] 
-;  V14 loc13        [V14,T07] (  5, 68   )     int  ->  [rbp-0x54] 
-;  V15 loc14        [V15,T22] (  5, 16.50)     int  ->  [rbp-0x58] 
+;  V10 loc9         [V10,T04] (  7,196   )     int  ->  [rbp-0x3C] 
+;  V11 loc10        [V11,T00] (  5,272   )     int  ->  [rbp-0x40] 
+;  V12 loc11        [V12,T06] (  5, 68   )     int  ->  [rbp-0x44] 
+;  V13 loc12        [V13,T13] (  7, 48.50)     int  ->  [rbp-0x48] 
+;  V14 loc13        [V14,T07] (  5, 68   )     int  ->  [rbp-0x4C] 
+;  V15 loc14        [V15,T22] (  5, 16.50)     int  ->  [rbp-0x50] 
 ;# V16 OutArgs      [V16    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V17 tmp1         [V17,T25] (  2, 15.84)     ref  ->  rax         class-hnd exact "Strict ordering of exceptions for Array store" <<unknown class>>
 ;  V18 tmp2         [V18,T31] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V19 tmp3         [V19,T23] (  2, 16   )     ref  ->  rdx         "argument with side effect"
 ;  V20 tmp4         [V20,T08] (  2, 64   )     ref  ->  rdx         "argument with side effect"
-;  V21 tmp5         [V21,T09] (  2, 64   )     ref  ->  [rbp-0x88]  spill-single-def "argument with side effect"
+;  V21 tmp5         [V21,T09] (  2, 64   )     ref  ->  [rbp-0x80]  spill-single-def "argument with side effect"
 ;  V22 tmp6         [V22,T24] (  2, 16   )     ref  ->  rdx         "argument with side effect"
 ;  V23 tmp7         [V23,T10] (  2, 64   )     ref  ->  rdx         "argument with side effect"
 ;  V24 tmp8         [V24,T01] (  2,256   )     ref  ->  rdx         "argument with side effect"
-;  V25 tmp9         [V25,T02] (  2,256   )     ref  ->  [rbp-0x90]  spill-single-def "argument with side effect"
+;  V25 tmp9         [V25,T02] (  2,256   )     ref  ->  [rbp-0x88]  spill-single-def "argument with side effect"
 ;  V26 tmp10        [V26,T11] (  2, 64   )     ref  ->  rdx         "argument with side effect"
 ;  V27 tmp11        [V27,T32] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V28 cse0         [V28,T27] (  3, 12   )    long  ->  [rbp-0x60]  spill-single-def "CSE - moderate"
-;  V29 cse1         [V29,T28] (  3,  1.50)     int  ->  [rbp-0x64]  spill-single-def "CSE - moderate"
-;  V30 cse2         [V30,T29] (  3,  1.50)     int  ->  [rbp-0x68]  spill-single-def "CSE - moderate"
+;  V28 cse0         [V28,T27] (  3, 12   )    long  ->  [rbp-0x58]  spill-single-def "CSE - moderate"
+;  V29 cse1         [V29,T28] (  3,  1.50)     int  ->  [rbp-0x5C]  spill-single-def "CSE - moderate"
+;  V30 cse2         [V30,T29] (  3,  1.50)     int  ->  [rbp-0x60]  spill-single-def "CSE - moderate"
 ;  V31 cse3         [V31,T05] (  8,109.92)    long  ->  r12         "CSE - aggressive"
-;  V32 cse4         [V32,T12] (  7, 52   )     int  ->  [rbp-0x6C]  spill-single-def "CSE - moderate"
+;  V32 cse4         [V32,T12] (  7, 52   )     int  ->  [rbp-0x64]  spill-single-def "CSE - moderate"
 ;  V33 cse5         [V33,T17] (  6, 26.50)    long  ->  r15         "CSE - moderate"
 ;  V34 rat0         [V34,T14] (  3, 48   )    long  ->  rdx         "ReplaceWithLclVar is creating a new local variable"
 ;
@@ -124,19 +124,19 @@ G_M38066_IG05:        ; bbWeight=0.50, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0
 G_M38066_IG06:        ; bbWeight=4, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref
        mov      dword ptr [rbp-0x2C], eax
        lea      ecx, [rax+0x01]
-       mov      dword ptr [rbp-0x6C], ecx
+       mov      dword ptr [rbp-0x64], ecx
        movsxd   rdx, ecx
-       mov      qword ptr [rbp-0x60], rdx
+       mov      qword ptr [rbp-0x58], rdx
        mov      rsi, rdx
        mov      rdi, 0xD1FFAB1E      ; <unknown class>
        call     CORINFO_HELP_NEWARR_1_OBJ
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       mov      gword ptr [rbp-0x78], rax
+       mov      gword ptr [rbp-0x70], rax
        ; GC ptr vars +{V03}
        xor      ecx, ecx
-       mov      dword ptr [rbp-0x44], ecx
-       cmp      dword ptr [rbp-0x6C], 0
+       mov      dword ptr [rbp-0x3C], ecx
+       cmp      dword ptr [rbp-0x64], 0
        jle      G_M38066_IG10
                        ;; size=53 bbWeight=4 PerfScore 42.00
 G_M38066_IG07:        ; bbWeight=16, gcVars=0000000000000008 {V03}, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, gcvars, byref
@@ -148,27 +148,27 @@ G_M38066_IG07:        ; bbWeight=16, gcVars=0000000000000008 {V03}, gcrefRegs=60
        ; gcr arg pop 0
        mov      rdx, rax
        ; gcrRegs +[rdx]
-       movsxd   rsi, dword ptr [rbp-0x44]
-       mov      rdi, gword ptr [rbp-0x78]
+       movsxd   rsi, dword ptr [rbp-0x3C]
+       mov      rdi, gword ptr [rbp-0x70]
        ; gcrRegs +[rdi]
        call     CORINFO_HELP_ARRADDR_ST
        ; gcrRegs -[rax rdx rdi]
        ; gcr arg pop 0
        xor      eax, eax
-       mov      dword ptr [rbp-0x48], eax
+       mov      dword ptr [rbp-0x40], eax
                      ;; size=34 bbWeight=16 PerfScore 128.00
 G_M38066_IG08:        ; bbWeight=64, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref, isz
-       mov      ecx, dword ptr [rbp-0x44]
-       mov      rdx, gword ptr [rbp-0x78]
+       mov      ecx, dword ptr [rbp-0x3C]
+       mov      rdx, gword ptr [rbp-0x70]
        ; gcrRegs +[rdx]
        cmp      ecx, dword ptr [rdx+0x08]
-       jae      G_M38066_IG30
-       mov      dword ptr [rbp-0x44], ecx
+       jae      G_M38066_IG29
+       mov      dword ptr [rbp-0x3C], ecx
        mov      edi, ecx
-       mov      gword ptr [rbp-0x78], rdx
+       mov      gword ptr [rbp-0x70], rdx
        mov      r8, gword ptr [rdx+8*rdi+0x10]
        ; gcrRegs +[r8]
-       mov      gword ptr [rbp-0x90], r8
+       mov      gword ptr [rbp-0x88], r8
        ; GC ptr vars +{V25}
        mov      rdi, r12
        mov      esi, 101
@@ -177,38 +177,38 @@ G_M38066_IG08:        ; bbWeight=64, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=000
        ; gcr arg pop 0
        mov      rdx, rax
        ; gcrRegs +[rdx]
-       mov      rdi, gword ptr [rbp-0x90]
+       mov      rdi, gword ptr [rbp-0x88]
        ; gcrRegs +[rdi]
-       movsxd   rsi, dword ptr [rbp-0x48]
+       movsxd   rsi, dword ptr [rbp-0x40]
        ; GC ptr vars -{V25}
        call     CORINFO_HELP_ARRADDR_ST
        ; gcrRegs -[rax rdx rdi]
        ; gcr arg pop 0
-       mov      eax, dword ptr [rbp-0x48]
+       mov      eax, dword ptr [rbp-0x40]
        inc      eax
        cmp      eax, 101
-       mov      dword ptr [rbp-0x48], eax
+       mov      dword ptr [rbp-0x40], eax
        jl       SHORT G_M38066_IG08
                        ;; size=82 bbWeight=64 PerfScore 1376.00
 G_M38066_IG09:        ; bbWeight=16, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref
-       mov      ecx, dword ptr [rbp-0x44]
+       mov      ecx, dword ptr [rbp-0x3C]
        inc      ecx
-       mov      eax, dword ptr [rbp-0x6C]
+       mov      eax, dword ptr [rbp-0x64]
        cmp      ecx, eax
-       mov      dword ptr [rbp-0x44], ecx
+       mov      dword ptr [rbp-0x3C], ecx
        jl       G_M38066_IG07
                        ;; size=19 bbWeight=16 PerfScore 72.00
 G_M38066_IG10:        ; bbWeight=4, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref, isz
-       mov      rsi, qword ptr [rbp-0x60]
+       mov      rsi, qword ptr [rbp-0x58]
        mov      rdi, r15
        call     CORINFO_HELP_NEWARR_1_OBJ
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       mov      gword ptr [rbp-0x80], rax
+       mov      gword ptr [rbp-0x78], rax
        ; GC ptr vars +{V04}
        xor      ecx, ecx
-       mov      dword ptr [rbp-0x4C], ecx
-       cmp      dword ptr [rbp-0x6C], 0
+       mov      dword ptr [rbp-0x44], ecx
+       cmp      dword ptr [rbp-0x64], 0
        jle      SHORT G_M38066_IG12
                        ;; size=27 bbWeight=4 PerfScore 30.00
 G_M38066_IG11:        ; bbWeight=16, gcVars=0000000000010008 {V03 V04}, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, gcvars, byref, isz
@@ -220,17 +220,17 @@ G_M38066_IG11:        ; bbWeight=16, gcVars=0000000000010008 {V03 V04}, gcrefReg
        ; gcr arg pop 0
        mov      rdx, rax
        ; gcrRegs +[rdx]
-       movsxd   rsi, dword ptr [rbp-0x4C]
-       mov      rdi, gword ptr [rbp-0x80]
+       movsxd   rsi, dword ptr [rbp-0x44]
+       mov      rdi, gword ptr [rbp-0x78]
        ; gcrRegs +[rdi]
        call     CORINFO_HELP_ARRADDR_ST
        ; gcrRegs -[rax rdx rdi]
        ; gcr arg pop 0
-       mov      eax, dword ptr [rbp-0x4C]
+       mov      eax, dword ptr [rbp-0x44]
        inc      eax
-       mov      r9d, dword ptr [rbp-0x6C]
+       mov      r9d, dword ptr [rbp-0x64]
        cmp      eax, r9d
-       mov      dword ptr [rbp-0x4C], eax
+       mov      dword ptr [rbp-0x44], eax
        jl       SHORT G_M38066_IG11
                        ;; size=46 bbWeight=16 PerfScore 180.00
 G_M38066_IG12:        ; bbWeight=4, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref, isz
@@ -238,9 +238,9 @@ G_M38066_IG12:        ; bbWeight=4, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000
        ; gcrRegs +[rdi]
        mov      rsi, r13
        ; gcrRegs +[rsi]
-       mov      rdx, gword ptr [rbp-0x78]
+       mov      rdx, gword ptr [rbp-0x70]
        ; gcrRegs +[rdx]
-       mov      rcx, gword ptr [rbp-0x80]
+       mov      rcx, gword ptr [rbp-0x78]
        ; gcrRegs +[rcx]
        mov      r8d, dword ptr [rbp-0x2C]
        call     [<unknown method>]
@@ -248,71 +248,69 @@ G_M38066_IG12:        ; bbWeight=4, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000
        ; gcr arg pop 0
        cmp      rax, qword ptr [(reloc)]      ; static handle
        jg       SHORT G_M38066_IG14
-       mov      r8d, dword ptr [rbp-0x6C]
+       mov      r8d, dword ptr [rbp-0x64]
        mov      esi, r8d
        cmp      esi, 0x3E8
        mov      eax, esi
        jle      G_M38066_IG06
                        ;; size=54 bbWeight=4 PerfScore 53.00
 G_M38066_IG13:        ; bbWeight=0.50, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref, isz
-       mov      r12, gword ptr [rbp-0x78]
+       mov      r12, gword ptr [rbp-0x70]
        ; gcrRegs +[r12]
-       mov      r15, gword ptr [rbp-0x80]
+       mov      r15, gword ptr [rbp-0x78]
        ; gcrRegs +[r15]
+       mov      gword ptr [rbp-0x70], r12
+       mov      gword ptr [rbp-0x78], r15
        jmp      SHORT G_M38066_IG15
-                     ;; size=10 bbWeight=0.50 PerfScore 2.00
+                       ;; size=18 bbWeight=0.50 PerfScore 3.00
 G_M38066_IG14:        ; bbWeight=0.50, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r12 r15]
        mov      esi, dword ptr [rbp-0x2C]
        mov      dword ptr [rbx+0x1C], esi
-       mov      r12, gword ptr [rbp-0x78]
-       ; gcrRegs +[r12]
-       mov      r15, gword ptr [rbp-0x80]
-       ; gcrRegs +[r15]
-                       ;; size=14 bbWeight=0.50 PerfScore 2.00
-G_M38066_IG15:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
-       ; GC ptr vars -{V03 V04}
+                      ;; size=6 bbWeight=0.50 PerfScore 1.00
+G_M38066_IG15:        ; bbWeight=0.50, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref
        cmp      dword ptr [rbx+0x1C], 0
-       je       G_M38066_IG31
-                       ;; size=10 bbWeight=0.50 PerfScore 2.00
-G_M38066_IG16:        ; bbWeight=1, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, byref
-       xor      eax, eax
-       mov      qword ptr [rbp-0x38], rax
+       mov      r15, gword ptr [rbp-0x78]
+       ; gcrRegs +[r15]
+       je       G_M38066_IG30
+                       ;; size=14 bbWeight=0.50 PerfScore 2.50
+G_M38066_IG16:        ; bbWeight=1, gcVars=0000000000000008 {V03}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+       ; GC ptr vars -{V04}
+       xor      r12d, r12d
        vxorps   xmm0, xmm0, xmm0
...
  
+10 (+2.76%) : 25230.dasm - System.Collections.Concurrent.ConcurrentBag`1[int]:ToArray():int[]:this (FullOpts)
@@ -8,56 +8,57 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T11] (  8,  8   )     ref  ->  [rbp-0x18]  this class-hnd EH-live single-def <System.Collections.Concurrent.ConcurrentBag`1[int]>
-;  V01 loc0         [V01    ] (  4,  4   )   ubyte  ->  [rbp-0x10]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V00 this         [V00,T11] (  8,  8   )     ref  ->  [rbp-0x20]  this class-hnd EH-live single-def <System.Collections.Concurrent.ConcurrentBag`1[int]>
+;  V01 loc0         [V01    ] (  4,  4   )   ubyte  ->  [rbp-0x18]  do-not-enreg[X] addr-exposed ld-addr-op
 ;  V02 loc1         [V02,T12] (  3,  3   )     int  ->  rax        
 ;  V03 loc2         [V03,T08] (  6, 38.32)     ref  ->  rax         class-hnd exact single-def <int[]>
 ;* V04 loc3         [V04    ] (  0,  0   )     int  ->  zero-ref   
-;  V05 loc4         [V05,T13] (  2,  1   )     ref  ->  [rbp-0x20]  must-init class-hnd exact EH-live single-def <int[]>
+;  V05 loc4         [V05,T13] (  2,  1   )     ref  ->  [rbp-0x28]  must-init class-hnd exact EH-live single-def <int[]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
-;  V08 tmp2         [V08,T07] (  7, 61   )     int  ->  rsi         "Inline stloc first use temp"
-;  V09 tmp3         [V09,T05] ( 12,114   )     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Collections.Concurrent.ConcurrentBag`1+WorkStealingQueue[int]>
+;  V08 tmp2         [V08,T07] (  7, 61   )     int  ->  rbx         "Inline stloc first use temp"
+;  V09 tmp3         [V09,T05] ( 12,114   )     ref  ->  r15         class-hnd "Inline stloc first use temp" <System.Collections.Concurrent.ConcurrentBag`1+WorkStealingQueue[int]>
 ;  V10 tmp4         [V10,T06] (  5, 72   )     int  ->  registers   "Inline stloc first use temp"
-;  V11 tmp5         [V11,T10] (  2, 16   )     int  ->  rdx         "Inline stloc first use temp"
-;  V12 tmp6         [V12,T03] ( 13,152.32)     int  ->   r8         "Inline stloc first use temp"
-;  V13 tmp7         [V13,T01] (  6,192   )     int  ->  rcx         "impSpillLclRefs"
-;  V14 tmp8         [V14,T04] (  4,128   )     int  ->  rcx         "Strict ordering of exceptions for Array store"
+;  V11 tmp5         [V11,T10] (  2, 16   )     int  ->  rcx         "Inline stloc first use temp"
+;  V12 tmp6         [V12,T03] ( 13,152.32)     int  ->  rdx         "Inline stloc first use temp"
+;  V13 tmp7         [V13,T01] (  6,192   )     int  ->  rsi         "impSpillLclRefs"
+;  V14 tmp8         [V14,T04] (  4,128   )     int  ->  rsi         "Strict ordering of exceptions for Array store"
 ;* V15 tmp9         [V15    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V16 tmp10        [V16    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V17 tmp11        [V17    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V18 tmp12        [V18,T00] (  6,192   )     ref  ->  r10         "arr expr"
-;  V19 tmp13        [V19,T02] (  6,192   )     int  ->  rcx         "index expr"
+;  V18 tmp12        [V18,T00] (  6,192   )     ref  ->   r9         "arr expr"
+;  V19 tmp13        [V19,T02] (  6,192   )     int  ->  rsi         "index expr"
 ;  V20 PSPSym       [V20,T14] (  1,  1   )    long  ->  [rbp-0x30]  do-not-enreg[V] "PSPSym"
-;  V21 cse0         [V21,T09] (  3, 24   )     int  ->  rdx         "CSE - moderate"
+;  V21 cse0         [V21,T09] (  3, 24   )     int  ->  rcx         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 32
 
 G_M15390_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
+       push     r15
        push     rbx
-       sub      rsp, 40
+       sub      rsp, 32
        lea      rbp, [rsp+0x30]
        xor      eax, eax
-       mov      qword ptr [rbp-0x20], rax
+       mov      qword ptr [rbp-0x28], rax
        mov      qword ptr [rbp-0x30], rsp
-       mov      gword ptr [rbp-0x18], rdi
+       mov      gword ptr [rbp-0x20], rdi
        ; GC ptr vars +{V00}
-                     ;; size=25 bbWeight=1 PerfScore 6.00
+                      ;; size=27 bbWeight=1 PerfScore 7.00
 G_M15390_IG02:        ; bbWeight=1, gcVars=0000000000002800 {V00 V05}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rdi]
        ; GC ptr vars +{V05 V13}
        cmp      gword ptr [rdi+0x10], 0
        je       G_M15390_IG16
        xor      esi, esi
-       mov      dword ptr [rbp-0x10], esi
+       mov      dword ptr [rbp-0x18], esi
                      ;; size=16 bbWeight=1 PerfScore 5.25
 G_M15390_IG03:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
-       lea      rsi, [rbp-0x10]
+       lea      rsi, [rbp-0x18]
        call     [System.Collections.Concurrent.ConcurrentBag`1[int]:FreezeBag(byref):this]
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
-       mov      rdi, gword ptr [rbp-0x18]
+       mov      rdi, gword ptr [rbp-0x20]
        ; gcrRegs +[rdi]
        call     [System.Collections.Concurrent.ConcurrentBag`1[int]:get_DangerousCount():int:this]
        ; gcrRegs -[rdi]
@@ -69,55 +70,55 @@ G_M15390_IG03:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byr
        call     CORINFO_HELP_NEWARR_1_VC
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       xor      esi, esi
-       mov      rdi, gword ptr [rbp-0x18]
+       xor      ebx, ebx
+       mov      rdi, gword ptr [rbp-0x20]
        ; gcrRegs +[rdi]
-       mov      rbx, gword ptr [rdi+0x10]
-       ; gcrRegs +[rbx]
-       test     rbx, rbx
+       mov      r15, gword ptr [rdi+0x10]
+       ; gcrRegs +[r15]
+       test     r15, r15
        je       SHORT G_M15390_IG08
                        ;; size=61 bbWeight=1 PerfScore 14.75
-G_M15390_IG04:        ; bbWeight=8, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000 {}, byref, isz
-       mov      ecx, dword ptr [rbx+0x18]
-       mov      edx, dword ptr [rbx+0x24]
-       sub      edx, dword ptr [rbx+0x28]
-       add      edx, esi
-       lea      r8d, [rdx-0x01]
-       cmp      r8d, esi
+G_M15390_IG04:        ; bbWeight=8, gcrefRegs=8081 {rax rdi r15}, byrefRegs=0000 {}, byref, isz
+       mov      esi, dword ptr [r15+0x18]
+       mov      ecx, dword ptr [r15+0x24]
+       sub      ecx, dword ptr [r15+0x28]
+       add      ecx, ebx
+       lea      edx, [rcx-0x01]
+       cmp      edx, ebx
        jl       SHORT G_M15390_IG07
-                      ;; size=20 bbWeight=8 PerfScore 72.00
-G_M15390_IG05:        ; bbWeight=4, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000 {}, byref, isz
-       mov      r9d, r8d
-       or       r9d, esi
+                     ;; size=21 bbWeight=8 PerfScore 72.00
+G_M15390_IG05:        ; bbWeight=4, gcrefRegs=8081 {rax rdi r15}, byrefRegs=0000 {}, byref, isz
+       mov      r8d, edx
+       or       r8d, ebx
        jl       SHORT G_M15390_IG10
-       cmp      dword ptr [rax+0x08], r8d
+       cmp      dword ptr [rax+0x08], edx
        jle      SHORT G_M15390_IG10
-                     ;; size=14 bbWeight=4 PerfScore 22.00
-G_M15390_IG06:        ; bbWeight=31.68, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000 {}, byref, isz
-       lea      r9d, [rcx+0x01]
-       mov      r10, gword ptr [rbx+0x08]
-       ; gcrRegs +[r10]
-       and      ecx, dword ptr [rbx+0x20]
-       cmp      ecx, dword ptr [r10+0x08]
+                        ;; size=13 bbWeight=4 PerfScore 22.00
+G_M15390_IG06:        ; bbWeight=31.68, gcrefRegs=8081 {rax rdi r15}, byrefRegs=0000 {}, byref, isz
+       lea      r8d, [rsi+0x01]
+       mov      r9, gword ptr [r15+0x08]
+       ; gcrRegs +[r9]
+       and      esi, dword ptr [r15+0x20]
+       cmp      esi, dword ptr [r9+0x08]
        jae      SHORT G_M15390_IG09
-       mov      ecx, dword ptr [r10+4*rcx+0x10]
-       mov      r10d, r8d
-       ; gcrRegs -[r10]
-       mov      dword ptr [rax+4*r10+0x10], ecx
-       dec      r8d
-       cmp      r8d, esi
-       mov      ecx, r9d
+       mov      esi, dword ptr [r9+4*rsi+0x10]
+       mov      r9d, edx
+       ; gcrRegs -[r9]
+       mov      dword ptr [rax+4*r9+0x10], esi
+       dec      edx
+       cmp      edx, ebx
+       mov      esi, r8d
        jge      SHORT G_M15390_IG06
-                      ;; size=41 bbWeight=31.68 PerfScore 459.36
-G_M15390_IG07:        ; bbWeight=8, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000 {}, byref, isz
-       mov      esi, edx
-       mov      rbx, gword ptr [rbx+0x10]
-       test     rbx, rbx
+                     ;; size=40 bbWeight=31.68 PerfScore 459.36
+G_M15390_IG07:        ; bbWeight=8, gcrefRegs=8081 {rax rdi r15}, byrefRegs=0000 {}, byref, isz
+       mov      ebx, ecx
+       mov      r15, gword ptr [r15+0x10]
+       test     r15, r15
        jne      SHORT G_M15390_IG04
                        ;; size=11 bbWeight=8 PerfScore 28.00
 G_M15390_IG08:        ; bbWeight=1, gcrefRegs=0081 {rax rdi}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rbx]
-       mov      gword ptr [rbp-0x20], rax
+       ; gcrRegs -[r15]
+       mov      gword ptr [rbp-0x28], rax
        jmp      SHORT G_M15390_IG12
                        ;; size=6 bbWeight=1 PerfScore 3.00
 G_M15390_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -125,31 +126,31 @@ G_M15390_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M15390_IG10:        ; bbWeight=0.32, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs +[rax rbx rdi]
-       lea      r9d, [rcx+0x01]
-       mov      r10, gword ptr [rbx+0x08]
-       ; gcrRegs +[r10]
-       and      ecx, dword ptr [rbx+0x20]
-       cmp      ecx, dword ptr [r10+0x08]
+G_M15390_IG10:        ; bbWeight=0.32, gcrefRegs=8081 {rax rdi r15}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[rax rdi r15]
+       lea      r8d, [rsi+0x01]
+       mov      r9, gword ptr [r15+0x08]
+       ; gcrRegs +[r9]
+       and      esi, dword ptr [r15+0x20]
+       cmp      esi, dword ptr [r9+0x08]
        jae      SHORT G_M15390_IG09
-       mov      ecx, dword ptr [r10+4*rcx+0x10]
-       cmp      r8d, dword ptr [rax+0x08]
+       mov      esi, dword ptr [r9+4*rsi+0x10]
+       cmp      edx, dword ptr [rax+0x08]
        jae      SHORT G_M15390_IG09
-       mov      r10d, r8d
-       ; gcrRegs -[r10]
-       mov      dword ptr [rax+4*r10+0x10], ecx
-       dec      r8d
-       cmp      r8d, esi
-       mov      ecx, r9d
+       mov      r9d, edx
+       ; gcrRegs -[r9]
+       mov      dword ptr [rax+4*r9+0x10], esi
+       dec      edx
+       cmp      edx, ebx
+       mov      esi, r8d
        jge      SHORT G_M15390_IG10
        jmp      SHORT G_M15390_IG07
-                      ;; size=49 bbWeight=0.32 PerfScore 6.56
+                       ;; size=47 bbWeight=0.32 PerfScore 6.56
 G_M15390_IG11:        ; bbWeight=1, gcVars=0000000000000800 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; gcrRegs -[rax rbx rdi]
+       ; gcrRegs -[rax rdi r15]
        ; GC ptr vars -{V05 V13}
-       movzx    rsi, byte  ptr [rbp-0x10]
-       mov      rdi, gword ptr [rbp-0x18]
+       movzx    rsi, byte  ptr [rbp-0x18]
+       mov      rdi, gword ptr [rbp-0x20]
        ; gcrRegs +[rdi]
        ; GC ptr vars -{V00}
        call     [System.Collections.Concurrent.ConcurrentBag`1[int]:UnfreezeBag(ubyte):this]
@@ -170,15 +171,16 @@ G_M15390_IG13:        ; bbWeight=1, nogc, extend
                        ;; size=1 bbWeight=1 PerfScore 0.25
 G_M15390_IG14:        ; bbWeight=1, gcVars=0000000000002000 {V05}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V00 V11 V13}
-       mov      rax, gword ptr [rbp-0x20]
+       mov      rax, gword ptr [rbp-0x28]
        ; gcrRegs +[rax]
                        ;; size=4 bbWeight=1 PerfScore 1.00
 G_M15390_IG15:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 40
+       add      rsp, 32
        pop      rbx
+       pop      r15
        pop      rbp
        ret      
-                     ;; size=7 bbWeight=1 PerfScore 2.25
+                       ;; size=9 bbWeight=1 PerfScore 2.75
 G_M15390_IG16:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        ; GC ptr vars -{V05}
@@ -191,24 +193,26 @@ G_M15390_IG16:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        ; gcrRegs +[rax]
                        ;; size=33 bbWeight=1 PerfScore 3.75
 G_M15390_IG17:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 40
+       add      rsp, 32
        pop      rbx
...
  
+13 (+3.39%) : 13542.dasm - System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
@@ -11,8 +11,8 @@
 ;  V01 arg1         [V01,T07] (  7,  4.50)     int  ->  rsi         single-def
 ;  V02 arg2         [V02,T08] (  5,  4   )     int  ->  rdx         single-def
 ;  V03 arg3         [V03,T09] (  4,  3.50)   byref  ->  rcx         single-def
-;  V04 loc0         [V04,T00] ( 26, 49   )     int  ->  rax        
-;  V05 loc1         [V05,T06] ( 11, 11.50)     int  ->   r8        
+;  V04 loc0         [V04,T00] ( 26, 49   )     int  ->   r8        
+;  V05 loc1         [V05,T06] ( 11, 11.50)     int  ->  rax        
 ;  V06 loc2         [V06,T01] ( 12, 17.54)     int  ->  rsi        
 ;  V07 loc3         [V07,T03] (  8, 16   )     int  ->  rdx        
 ;  V08 loc4         [V08,T02] ( 12, 17.54)     int  ->  rdx        
@@ -35,8 +35,8 @@ G_M24742_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0002 {rcx},
        je       G_M24742_IG14
                        ;; size=12 bbWeight=1 PerfScore 2.50
 G_M24742_IG03:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0002 {rcx}, byref, isz
-       xor      eax, eax
-       lea      r8d, [rsi+rdx]
+       xor      r8d, r8d
+       lea      eax, [rsi+rdx]
        mov      r9d, dword ptr [rdi+0x08]
        cmp      esi, r9d
        jae      G_M24742_IG16
@@ -46,32 +46,32 @@ G_M24742_IG03:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0002 {rcx
        cmp      edx, 1
        je       G_M24742_IG14
        inc      esi
-       cmp      esi, r8d
+       cmp      esi, eax
        jge      G_M24742_IG12
        mov      edx, esi
-       or       edx, r8d
+       or       edx, eax
        jl       SHORT G_M24742_IG06
-       cmp      r9d, r8d
+       cmp      r9d, eax
        jl       SHORT G_M24742_IG06
-                       ;; size=66 bbWeight=0.50 PerfScore 6.88
+                       ;; size=64 bbWeight=0.50 PerfScore 6.88
 G_M24742_IG04:        ; bbWeight=3.96, gcrefRegs=0080 {rdi}, byrefRegs=0002 {rcx}, byref, isz
        mov      r9d, esi
        movzx    rdx, byte  ptr [rdi+r9+0x10]
        add      edx, -48
        cmp      edx, 9
        ja       G_M24742_IG14
-       cmp      eax, 0xD1FFAB1E
+       cmp      r8d, 0xD1FFAB1E
        jl       G_M24742_IG14
-       lea      eax, [rax+4*rax]
-       add      eax, eax
+       lea      r8d, [r8+4*r8]
+       add      r8d, r8d
        lea      r9d, [rdx+D1FFAB1EH]
-       cmp      eax, r9d
+       cmp      r8d, r9d
        jl       G_M24742_IG14
-       sub      eax, edx
+       sub      r8d, edx
        inc      esi
-       cmp      esi, r8d
+       cmp      esi, eax
        jl       SHORT G_M24742_IG04
-                      ;; size=62 bbWeight=3.96 PerfScore 36.63
+                      ;; size=66 bbWeight=3.96 PerfScore 36.63
 G_M24742_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref
        ; gcrRegs -[rdi]
        jmp      G_M24742_IG12
@@ -85,18 +85,18 @@ G_M24742_IG06:        ; bbWeight=0.04, gcrefRegs=0080 {rdi}, byrefRegs=0002 {rcx
        add      edx, -48
        cmp      edx, 9
        ja       G_M24742_IG14
-       cmp      eax, 0xD1FFAB1E
+       cmp      r8d, 0xD1FFAB1E
        jl       G_M24742_IG14
-       lea      eax, [rax+4*rax]
-       add      eax, eax
+       lea      r8d, [r8+4*r8]
+       add      r8d, r8d
        lea      r10d, [rdx+D1FFAB1EH]
-       cmp      eax, r10d
+       cmp      r8d, r10d
        jl       G_M24742_IG14
-       sub      eax, edx
+       sub      r8d, edx
        inc      esi
-       cmp      esi, r8d
+       cmp      esi, eax
        jl       SHORT G_M24742_IG06
-                       ;; size=69 bbWeight=0.04 PerfScore 0.42
+                       ;; size=73 bbWeight=0.04 PerfScore 0.42
 G_M24742_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref
        ; gcrRegs -[rdi]
        jmp      G_M24742_IG12
@@ -104,34 +104,34 @@ G_M24742_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0002 {rcx},
 G_M24742_IG08:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0002 {rcx}, byref, isz
        ; gcrRegs +[rdi]
        mov      edx, esi
-       cmp      edx, r8d
+       cmp      edx, eax
        jge      G_M24742_IG12
        mov      esi, edx
-       or       esi, r8d
+       or       esi, eax
        jl       SHORT G_M24742_IG11
-       cmp      r9d, r8d
+       cmp      r9d, eax
        jl       SHORT G_M24742_IG11
-                       ;; size=23 bbWeight=0.50 PerfScore 2.12
+                       ;; size=21 bbWeight=0.50 PerfScore 2.12
 G_M24742_IG09:        ; bbWeight=3.96, gcrefRegs=0080 {rdi}, byrefRegs=0002 {rcx}, byref, isz
        mov      r9d, edx
        movzx    rsi, byte  ptr [rdi+r9+0x10]
        add      esi, -48
        cmp      esi, 9
        ja       SHORT G_M24742_IG14
-       cmp      eax, 0xD1FFAB1E
+       cmp      r8d, 0xD1FFAB1E
        jg       SHORT G_M24742_IG14
-       lea      eax, [rax+4*rax]
-       add      eax, eax
+       lea      r8d, [r8+4*r8]
+       add      r8d, r8d
        mov      r9d, esi
        neg      r9d
        add      r9d, 0xD1FFAB1E
-       cmp      r9d, eax
+       cmp      r9d, r8d
        jl       SHORT G_M24742_IG14
-       add      eax, esi
+       add      r8d, esi
        inc      edx
-       cmp      edx, r8d
+       cmp      edx, eax
        jl       SHORT G_M24742_IG09
-                     ;; size=56 bbWeight=3.96 PerfScore 37.62
+                      ;; size=60 bbWeight=3.96 PerfScore 37.62
 G_M24742_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
        ; gcrRegs -[rdi]
        jmp      SHORT G_M24742_IG12
@@ -145,25 +145,25 @@ G_M24742_IG11:        ; bbWeight=0.04, gcrefRegs=0080 {rdi}, byrefRegs=0002 {rcx
        add      esi, -48
        cmp      esi, 9
        ja       SHORT G_M24742_IG14
-       cmp      eax, 0xD1FFAB1E
+       cmp      r8d, 0xD1FFAB1E
        jg       SHORT G_M24742_IG14
-       lea      eax, [rax+4*rax]
-       add      eax, eax
+       lea      r8d, [r8+4*r8]
+       add      r8d, r8d
        mov      r10d, esi
        neg      r10d
        add      r10d, 0xD1FFAB1E
-       cmp      r10d, eax
+       cmp      r10d, r8d
        jl       SHORT G_M24742_IG14
-       add      eax, esi
+       add      r8d, esi
        inc      edx
-       cmp      edx, r8d
+       cmp      edx, eax
        jl       SHORT G_M24742_IG11
-                      ;; size=60 bbWeight=0.04 PerfScore 0.43
+                       ;; size=64 bbWeight=0.04 PerfScore 0.43
 G_M24742_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref
        ; gcrRegs -[rdi]
-       mov      dword ptr [rcx], eax
+       mov      dword ptr [rcx], r8d
        mov      eax, 1
-                        ;; size=7 bbWeight=0.50 PerfScore 0.62
+                        ;; size=8 bbWeight=0.50 PerfScore 0.62
 G_M24742_IG13:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbp
        ret      
@@ -182,7 +182,7 @@ G_M24742_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 383, prolog size 4, PerfScore 93.10, instruction count 116, allocated bytes for code 383 (MethodHash=b5f49f59) for method System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
+; Total bytes of code 396, prolog size 4, PerfScore 93.10, instruction count 116, allocated bytes for code 396 (MethodHash=b5f49f59) for method System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+35 (+4.14%) : 16182.dasm - System.Number:TryNumberToDecimal(byref,byref):ubyte (FullOpts)
@@ -13,8 +13,8 @@
 ;  V02 loc0         [V02,T03] ( 14, 33.50)    long  ->  rdi        
 ;  V03 loc1         [V03,T02] ( 20, 39.50)     int  ->  r14        
 ;  V04 loc2         [V04,T19] (  4,  2.50)   ubyte  ->  r13        
-;  V05 loc3         [V05,T01] ( 21, 46.50)     int  ->  rsi        
-;  V06 loc4         [V06,T00] ( 22, 48   )    long  ->  r12        
+;  V05 loc3         [V05,T01] ( 21, 46.50)     int  ->  registers  
+;  V06 loc4         [V06,T00] ( 22, 48   )    long  ->  registers  
 ;  V07 loc5         [V07,T04] ( 12, 19   )     int  ->  [rbp-0x2C] 
 ;  V08 loc6         [V08,T11] (  3,  6   )    long  ->  rcx        
 ;  V09 loc7         [V09,T12] (  3,  6   )    long  ->  rdx        
@@ -31,10 +31,10 @@
 ;  V20 tmp9         [V20,T26] (  2,  1   )     int  ->  rdi        
 ;* V21 tmp10        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Decimal>
 ;* V22 tmp11        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V23 tmp12        [V23,T27] (  3,  1.50)     int  ->  rsi         "Inline return value spill temp"
+;  V23 tmp12        [V23,T27] (  3,  1.50)     int  ->  rdi         "Inline return value spill temp"
 ;  V24 tmp13        [V24,T15] (  4,  4   )     int  ->  rax         "Inlining Arg"
 ;  V25 tmp14        [V25,T13] (  5,  5   )   ubyte  ->  rax         "Inlining Arg"
-;  V26 tmp15        [V26,T30] (  2,  1   )     int  ->  r12         ld-addr-op "Inlining Arg"
+;  V26 tmp15        [V26,T30] (  2,  1   )     int  ->  r15         ld-addr-op "Inlining Arg"
 ;* V27 tmp16        [V27,T28] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V28 tmp17        [V28    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V29 tmp18        [V29    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -88,30 +88,30 @@ G_M46956_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15},
        ; byrRegs +[rdi]
        mov      r14d, dword ptr [r15+0x04]
        movzx    r13, byte  ptr [r15+0x08]
-       movzx    rsi, byte  ptr [rdi]
-       test     esi, esi
+       movzx    r12, byte  ptr [rdi]
+       test     r12d, r12d
        jne      SHORT G_M46956_IG09
-                        ;; size=30 bbWeight=1 PerfScore 12.50
+                     ;; size=31 bbWeight=1 PerfScore 12.50
 G_M46956_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
        ; byrRegs -[rdi r15]
        mov      eax, r14d
        neg      eax
        jns      SHORT G_M46956_IG04
-       xor      esi, esi
+       xor      edi, edi
        jmp      SHORT G_M46956_IG05
                        ;; size=11 bbWeight=0.50 PerfScore 1.88
 G_M46956_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
-       mov      esi, 28
+       mov      edi, 28
        cmp      eax, 28
-       cmovle   esi, eax
+       cmovle   edi, eax
                      ;; size=11 bbWeight=0.50 PerfScore 0.38
 G_M46956_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
-       movzx    rax, sil
-       mov      r12d, eax
+       movzx    rax, dil
+       mov      r15d, eax
        cmp      eax, 28
        jl       SHORT G_M46956_IG06
        cmp      eax, 28
-       jg       G_M46956_IG39
+       jg       G_M46956_IG40
                       ;; size=21 bbWeight=0.50 PerfScore 1.50
 G_M46956_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
        shl      eax, 16
@@ -158,47 +158,61 @@ G_M46956_IG11:        ; bbWeight=0.50, epilog, nogc, extend
                        ;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M46956_IG12:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, gcvars, byref, isz
        ; byrRegs +[rbx r15]
-       xor      r12d, r12d
+       xor      esi, esi
        cmp      r14d, -28
-       jle      SHORT G_M46956_IG17
-                       ;; size=9 bbWeight=0.50 PerfScore 0.75
+       jle      SHORT G_M46956_IG15
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M46956_IG13:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
        dec      r14d
-       lea      rax, [r12+4*r12]
-       add      esi, -48
-       lea      r12, [rsi+2*rax]
+       lea      rsi, [rsi+4*rsi]
+       add      r12d, -48
+       mov      eax, r12d
+       lea      rsi, [rax+2*rsi]
+       mov      r12, rsi
        inc      rdi
        movzx    rsi, byte  ptr [rdi]
        mov      rax, 0xD1FFAB1E
        cmp      r12, rax
-       jae      SHORT G_M46956_IG17
+       jae      SHORT G_M46956_IG18
        test     esi, esi
-       je       SHORT G_M46956_IG15
+       je       SHORT G_M46956_IG16
        cmp      r14d, -28
+       mov      eax, esi
+       mov      rsi, r12
+       mov      r12d, eax
        jg       SHORT G_M46956_IG13
-                     ;; size=46 bbWeight=4 PerfScore 31.00
+                     ;; size=61 bbWeight=4 PerfScore 36.00
 G_M46956_IG14:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
-       jmp      SHORT G_M46956_IG17
-                       ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M46956_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
+       mov      rax, rsi
+       mov      esi, r12d
+       mov      r12, rax
+       jmp      SHORT G_M46956_IG18
+                       ;; size=11 bbWeight=0.50 PerfScore 1.38
+G_M46956_IG15:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
+       mov      rax, rsi
+       mov      esi, r12d
+       mov      r12, rax
+       jmp      SHORT G_M46956_IG18
+                       ;; size=11 bbWeight=0.25 PerfScore 0.69
+G_M46956_IG16:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
        test     r14d, r14d
-       jle      SHORT G_M46956_IG17
+       jle      SHORT G_M46956_IG18
                      ;; size=5 bbWeight=0.50 PerfScore 0.62
-G_M46956_IG16:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
+G_M46956_IG17:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
        dec      r14d
        lea      r12, [r12+4*r12]
        add      r12, r12
        mov      rax, 0xD1FFAB1E
        cmp      r12, rax
-       jae      SHORT G_M46956_IG17
+       jae      SHORT G_M46956_IG18
        test     r14d, r14d
-       jg       SHORT G_M46956_IG16
+       jg       SHORT G_M46956_IG17
                      ;; size=30 bbWeight=4 PerfScore 15.00
-G_M46956_IG17:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
+G_M46956_IG18:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
        xor      eax, eax
-       jmp      SHORT G_M46956_IG21
+       jmp      SHORT G_M46956_IG22
                      ;; size=4 bbWeight=0.50 PerfScore 1.12
-G_M46956_IG18:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
+G_M46956_IG19:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
        mov      ecx, r12d
        lea      rcx, [rcx+4*rcx]
        add      rcx, rcx
@@ -216,57 +230,57 @@ G_M46956_IG18:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15},
        lea      eax, [rax+4*rax]
        lea      eax, [rdx+2*rax]
        test     esi, esi
-       je       SHORT G_M46956_IG20
+       je       SHORT G_M46956_IG21
        add      esi, -48
        mov      ecx, esi
        add      r12, rcx
        cmp      r12, rsi
-       jae      SHORT G_M46956_IG19
+       jae      SHORT G_M46956_IG20
        inc      eax
                        ;; size=74 bbWeight=2 PerfScore 19.50
-G_M46956_IG19:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref
+G_M46956_IG20:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref
        inc      rdi
        movzx    rsi, byte  ptr [rdi]
                        ;; size=7 bbWeight=2 PerfScore 4.50
-G_M46956_IG20:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref
+G_M46956_IG21:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref
        dec      r14d
                        ;; size=3 bbWeight=2 PerfScore 0.50
-G_M46956_IG21:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
+G_M46956_IG22:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
        test     r14d, r14d
-       jg       SHORT G_M46956_IG23
+       jg       SHORT G_M46956_IG24
                        ;; size=5 bbWeight=4 PerfScore 5.00
-G_M46956_IG22:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref
+G_M46956_IG23:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref
        test     esi, esi
-       je       G_M46956_IG34
+       je       G_M46956_IG35
        cmp      r14d, -28
-       jle      G_M46956_IG33
+       jle      G_M46956_IG34
                         ;; size=18 bbWeight=2 PerfScore 5.00
-G_M46956_IG23:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
+G_M46956_IG24:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
        cmp      eax, 0xD1FFAB1E
-       jb       SHORT G_M46956_IG18
+       jb       SHORT G_M46956_IG19
        mov      dword ptr [rbp-0x2C], eax
        cmp      eax, 0xD1FFAB1E
-       jne      SHORT G_M46956_IG25
+       jne      SHORT G_M46956_IG26
        mov      rcx, 0xD1FFAB1E
        cmp      r12, rcx
        mov      eax, dword ptr [rbp-0x2C]
-       jb       G_M46956_IG18
+       jb       G_M46956_IG19
        mov      rcx, 0xD1FFAB1E
        cmp      r12, rcx
-       jne      G_M46956_IG32
+       jne      G_M46956_IG33
        cmp      esi, 53
-       jbe      G_M46956_IG18
+       jbe      G_M46956_IG19
                         ;; size=67 bbWeight=4 PerfScore 35.00
-G_M46956_IG24:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref
+G_M46956_IG25:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref
        mov      dword ptr [rbp-0x2C], eax
                        ;; size=3 bbWeight=2 PerfScore 2.00
-G_M46956_IG25:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
+G_M46956_IG26:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
        cmp      esi, 53
-       jb       G_M46956_IG30
+       jb       G_M46956_IG31
        cmp      esi, 53
-       jne      SHORT G_M46956_IG29
+       jne      SHORT G_M46956_IG30
        test     r12b, 1
-       jne      SHORT G_M46956_IG29
+       jne      SHORT G_M46956_IG30
        inc      rdi
        movzx    rsi, byte  ptr [rdi]
        cmp      byte  ptr [r15+0x09], 0
@@ -277,9 +291,9 @@ G_M46956_IG25:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r1
        test     esi, esi
        setne    cl
        test     ecx, r15d
-       je       SHORT G_M46956_IG27
+       je       SHORT G_M46956_IG28
                         ;; size=52 bbWeight=0.50 PerfScore 6.50
-G_M46956_IG26:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
+G_M46956_IG27:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
        cmp      esi, 48
        sete     sil
        movzx    rsi, sil
@@ -290,16 +304,16 @@ G_M46956_IG26:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byr
        test     esi, esi
        setne    cl
        test     ecx, r15d
-       jne      SHORT G_M46956_IG26
+       jne      SHORT G_M46956_IG27
                         ;; size=33 bbWeight=4 PerfScore 27.00
-G_M46956_IG27:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
+G_M46956_IG28:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
        test     esi, esi
-       je       SHORT G_M46956_IG28
+       je       SHORT G_M46956_IG29
        xor      edi, edi
        test     r15d, r15d
        sete     dil
...
  
  
benchmarks.run_pgo.linux.x64.checked.mch
-22 (-11.89%) : 18481.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
@@ -26,14 +26,12 @@
 ;* V14 tmp11        [V14    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V15 tmp12        [V15    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M32392_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
-       push     rbx
-       push     rax
-       lea      rbp, [rsp+0x10]
-                       ;; size=8 bbWeight=1 PerfScore 3.50
+       mov      rbp, rsp
+                       ;; size=4 bbWeight=1 PerfScore 1.25
 G_M32392_IG02:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rsi]
        mov      rax, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
@@ -84,11 +82,9 @@ G_M32392_IG06:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byr
        ; gcrRegs +[rax]
                        ;; size=9 bbWeight=1 PerfScore 1.50
 G_M32392_IG07:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 8
-       pop      rbx
        pop      rbp
        ret      
-                     ;; size=7 bbWeight=1 PerfScore 2.25
+                       ;; size=2 bbWeight=1 PerfScore 1.50
 G_M32392_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rax]
        test     r11d, r11d
@@ -97,11 +93,9 @@ G_M32392_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {
        ; gcrRegs +[rax]
                        ;; size=7 bbWeight=0 PerfScore 0.00
 G_M32392_IG09:        ; bbWeight=0, epilog, nogc, extend
-       add      rsp, 8
-       pop      rbx
        pop      rbp
        ret      
-                     ;; size=7 bbWeight=0 PerfScore 0.00
+                       ;; size=2 bbWeight=0 PerfScore 0.00
 G_M32392_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        call     <unknown method>
@@ -110,25 +104,22 @@ G_M32392_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {
        nop      
                        ;; size=6 bbWeight=0 PerfScore 0.00
 G_M32392_IG11:        ; bbWeight=0, epilog, nogc, extend
-       add      rsp, 8
-       pop      rbx
        pop      rbp
        ret      
-                     ;; size=7 bbWeight=0 PerfScore 0.00
+                       ;; size=2 bbWeight=0 PerfScore 0.00
 G_M32392_IG12:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {rsi}, byrefRegs=0202 {rcx r9}, gcvars, byref, isz
        ; gcrRegs -[rax] +[rsi]
        ; byrRegs +[rcx r9]
-       mov      rbx, rdi
-       xor      rbx, qword ptr [r9+0x10]
-       mov      r11, rbx
+       mov      r11, rdi
+       xor      r11, qword ptr [r9+0x10]
        cmp      r11, 1
        ja       SHORT G_M32392_IG04
        cmp      r10d, dword ptr [r9]
        jne      SHORT G_M32392_IG05
        jmp      SHORT G_M32392_IG06
-                      ;; size=23 bbWeight=0 PerfScore 0.00
+                      ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 185, prolog size 8, PerfScore 33.65, instruction count 60, allocated bytes for code 185 (MethodHash=b7ab8177) for method System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
+; Total bytes of code 163, prolog size 4, PerfScore 30.65, instruction count 51, allocated bytes for code 163 (MethodHash=b7ab8177) for method System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -136,11 +127,9 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x03
-  CountOfUnwindCodes: 3
+  SizeOfProlog      : 0x01
+  CountOfUnwindCodes: 1
   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)
  
-22 (-11.89%) : 31437.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
@@ -26,14 +26,12 @@
 ;* V14 tmp11        [V14    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V15 tmp12        [V15    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M32392_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
-       push     rbx
-       push     rax
-       lea      rbp, [rsp+0x10]
-                       ;; size=8 bbWeight=1 PerfScore 3.50
+       mov      rbp, rsp
+                       ;; size=4 bbWeight=1 PerfScore 1.25
 G_M32392_IG02:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rsi]
        mov      rax, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
@@ -84,11 +82,9 @@ G_M32392_IG06:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byr
        ; gcrRegs +[rax]
                        ;; size=9 bbWeight=1 PerfScore 1.50
 G_M32392_IG07:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 8
-       pop      rbx
        pop      rbp
        ret      
-                     ;; size=7 bbWeight=1 PerfScore 2.25
+                       ;; size=2 bbWeight=1 PerfScore 1.50
 G_M32392_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rax]
        test     r11d, r11d
@@ -97,11 +93,9 @@ G_M32392_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {
        ; gcrRegs +[rax]
                        ;; size=7 bbWeight=0 PerfScore 0.00
 G_M32392_IG09:        ; bbWeight=0, epilog, nogc, extend
-       add      rsp, 8
-       pop      rbx
        pop      rbp
        ret      
-                     ;; size=7 bbWeight=0 PerfScore 0.00
+                       ;; size=2 bbWeight=0 PerfScore 0.00
 G_M32392_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        call     <unknown method>
@@ -110,25 +104,22 @@ G_M32392_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {
        nop      
                        ;; size=6 bbWeight=0 PerfScore 0.00
 G_M32392_IG11:        ; bbWeight=0, epilog, nogc, extend
-       add      rsp, 8
-       pop      rbx
        pop      rbp
        ret      
-                     ;; size=7 bbWeight=0 PerfScore 0.00
+                       ;; size=2 bbWeight=0 PerfScore 0.00
 G_M32392_IG12:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {rsi}, byrefRegs=0202 {rcx r9}, gcvars, byref, isz
        ; gcrRegs -[rax] +[rsi]
        ; byrRegs +[rcx r9]
-       mov      rbx, rdi
-       xor      rbx, qword ptr [r9+0x10]
-       mov      r11, rbx
+       mov      r11, rdi
+       xor      r11, qword ptr [r9+0x10]
        cmp      r11, 1
        ja       SHORT G_M32392_IG04
        cmp      r10d, dword ptr [r9]
        jne      SHORT G_M32392_IG05
        jmp      SHORT G_M32392_IG06
-                      ;; size=23 bbWeight=0 PerfScore 0.00
+                      ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 185, prolog size 8, PerfScore 33.65, instruction count 60, allocated bytes for code 185 (MethodHash=b7ab8177) for method System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
+; Total bytes of code 163, prolog size 4, PerfScore 30.65, instruction count 51, allocated bytes for code 163 (MethodHash=b7ab8177) for method System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -136,11 +127,9 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x03
-  CountOfUnwindCodes: 3
+  SizeOfProlog      : 0x01
+  CountOfUnwindCodes: 1
   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)
  
-22 (-11.89%) : 50789.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
@@ -26,14 +26,12 @@
 ;* V14 tmp11        [V14    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V15 tmp12        [V15    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M32392_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
-       push     rbx
-       push     rax
-       lea      rbp, [rsp+0x10]
-                       ;; size=8 bbWeight=1 PerfScore 3.50
+       mov      rbp, rsp
+                       ;; size=4 bbWeight=1 PerfScore 1.25
 G_M32392_IG02:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rsi]
        mov      rax, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
@@ -84,11 +82,9 @@ G_M32392_IG06:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byr
        ; gcrRegs +[rax]
                        ;; size=9 bbWeight=1 PerfScore 1.50
 G_M32392_IG07:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 8
-       pop      rbx
        pop      rbp
        ret      
-                     ;; size=7 bbWeight=1 PerfScore 2.25
+                       ;; size=2 bbWeight=1 PerfScore 1.50
 G_M32392_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rax]
        test     r11d, r11d
@@ -97,11 +93,9 @@ G_M32392_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {
        ; gcrRegs +[rax]
                        ;; size=7 bbWeight=0 PerfScore 0.00
 G_M32392_IG09:        ; bbWeight=0, epilog, nogc, extend
-       add      rsp, 8
-       pop      rbx
        pop      rbp
        ret      
-                     ;; size=7 bbWeight=0 PerfScore 0.00
+                       ;; size=2 bbWeight=0 PerfScore 0.00
 G_M32392_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        call     <unknown method>
@@ -110,25 +104,22 @@ G_M32392_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {
        nop      
                        ;; size=6 bbWeight=0 PerfScore 0.00
 G_M32392_IG11:        ; bbWeight=0, epilog, nogc, extend
-       add      rsp, 8
-       pop      rbx
        pop      rbp
        ret      
-                     ;; size=7 bbWeight=0 PerfScore 0.00
+                       ;; size=2 bbWeight=0 PerfScore 0.00
 G_M32392_IG12:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {rsi}, byrefRegs=0202 {rcx r9}, gcvars, byref, isz
        ; gcrRegs -[rax] +[rsi]
        ; byrRegs +[rcx r9]
-       mov      rbx, rdi
-       xor      rbx, qword ptr [r9+0x10]
-       mov      r11, rbx
+       mov      r11, rdi
+       xor      r11, qword ptr [r9+0x10]
        cmp      r11, 1
        ja       SHORT G_M32392_IG04
        cmp      r10d, dword ptr [r9]
        jne      SHORT G_M32392_IG05
        jmp      SHORT G_M32392_IG06
-                      ;; size=23 bbWeight=0 PerfScore 0.00
+                      ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 185, prolog size 8, PerfScore 38.95, instruction count 60, allocated bytes for code 185 (MethodHash=b7ab8177) for method System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
+; Total bytes of code 163, prolog size 4, PerfScore 35.95, instruction count 51, allocated bytes for code 163 (MethodHash=b7ab8177) for method System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -136,11 +127,9 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x03
-  CountOfUnwindCodes: 3
+  SizeOfProlog      : 0x01
+  CountOfUnwindCodes: 1
   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)
  
+29 (+11.15%) : 113880.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
@@ -9,10 +9,10 @@
 ; 2 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 10,  7.24)     ref  ->  rbx         this class-hnd single-def <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]>
+;  V00 this         [V00,T00] ( 11,  8.23)     ref  ->  rbx         this class-hnd single-def <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]>
 ;  V01 arg1         [V01,T04] (  4,  3.01)   byref  ->  r15         single-def
 ;  V02 loc0         [V02,T03] (  5,  5.11)     ref  ->  r14         class-hnd exact single-def <<unknown class>>
-;  V03 loc1         [V03    ] (  2,  1.04)  struct ( 8) [rbp-0x30]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Threading.SpinWait>
+;  V03 loc1         [V03    ] (  2,  1.04)  struct ( 8) [rbp-0x38]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Threading.SpinWait>
 ;  V04 loc2         [V04,T01] (  9,  7.24)     int  ->  r13        
 ;  V05 loc3         [V05,T07] (  3,  3.19)     int  ->  rax        
 ;* V06 loc4         [V06    ] (  0,  0   )     int  ->  zero-ref   
@@ -24,16 +24,16 @@
 ;* V12 tmp2         [V12,T14] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V13 tmp3         [V13,T15] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
 ;* V14 tmp4         [V14,T16] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
-;  V15 tmp5         [V15    ] (  2,  1.04)     int  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V03._count (fldOffset=0x0)" P-DEP
+;  V15 tmp5         [V15    ] (  2,  1.04)     int  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V03._count (fldOffset=0x0)" P-DEP
 ;* V16 tmp6         [V16    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
-;  V17 cse0         [V17,T08] (  3,  3.12)   byref  ->  [rbp-0x40]  "CSE - aggressive"
-;  V18 cse1         [V18,T06] (  4,  4.11)    long  ->  [rbp-0x38]  "CSE - aggressive"
+;  V17 cse0         [V17,T08] (  3,  3.12)   byref  ->  [rbp-0x48]  "CSE - aggressive"
+;  V18 cse1         [V18,T06] (  4,  4.11)    long  ->  [rbp-0x40]  "CSE - aggressive"
 ;  V19 cse2         [V19,T09] (  3,  3.12)     int  ->  r12         "CSE - aggressive"
-;* V20 rat0         [V20,T05] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V20 rat0         [V20,T05] (  2,  3.96)    long  ->  rax         "Spilling to split statement for tree"
 ;* V21 rat1         [V21,T11] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V22 rat2         [V22,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V22 rat2         [V22,T02] (  2,  3.96)    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 40
 
 G_M9744_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
@@ -42,18 +42,19 @@ G_M9744_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 24
-       lea      rbp, [rsp+0x40]
+       sub      rsp, 40
+       lea      rbp, [rsp+0x50]
+       mov      qword ptr [rbp-0x30], rdi
        mov      rbx, rdi
        ; gcrRegs +[rbx]
        mov      r15, rsi
        ; byrRegs +[r15]
-                      ;; size=25 bbWeight=1 PerfScore 7.25
+                      ;; size=29 bbWeight=1 PerfScore 8.25
 G_M9744_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, byref
        mov      r14, gword ptr [rbx+0x08]
        ; gcrRegs +[r14]
        xor      eax, eax
-       mov      dword ptr [rbp-0x30], eax
+       mov      dword ptr [rbp-0x38], eax
                      ;; size=9 bbWeight=1 PerfScore 3.25
 G_M9744_IG03:        ; bbWeight=1.06, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
        mov      r13d, dword ptr [rbx+0x60]
@@ -61,7 +62,7 @@ G_M9744_IG03:        ; bbWeight=1.06, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {
        and      eax, dword ptr [rbx+0x18]
        mov      r12d, dword ptr [r14+0x08]
        cmp      eax, r12d
-       jae      G_M9744_IG15
+       jae      G_M9744_IG16
        mov      ecx, eax
        shl      rcx, 4
        lea      rdx, bword ptr [r14+rcx+0x10]
@@ -69,7 +70,7 @@ G_M9744_IG03:        ; bbWeight=1.06, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {
        mov      edi, dword ptr [rdx+0x08]
        lea      eax, [r13+0x01]
        sub      edi, eax
-       jne      SHORT G_M9744_IG06
+       jne      SHORT G_M9744_IG08
                        ;; size=45 bbWeight=1.06 PerfScore 14.87
 G_M9744_IG04:        ; bbWeight=1.00, gcrefRegs=4008 {rbx r14}, byrefRegs=8004 {rdx r15}, byref, isz
        lea      rdi, bword ptr [rbx+0x60]
@@ -79,15 +80,37 @@ G_M9744_IG04:        ; bbWeight=1.00, gcrefRegs=4008 {rbx r14}, byrefRegs=8004 {
        lock     
        cmpxchg  dword ptr [rdi], esi
        cmp      eax, r13d
-       mov      bword ptr [rbp-0x40], rdx
+       mov      bword ptr [rbp-0x48], rdx
        ; GC ptr vars +{V17}
        jne      SHORT G_M9744_IG03
                        ;; size=24 bbWeight=1.00 PerfScore 21.44
 G_M9744_IG05:        ; bbWeight=0.99, gcVars=0000000000000100 {V17}, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
        ; byrRegs -[rdx rdi]
-       jmp      SHORT G_M9744_IG09
-                       ;; size=2 bbWeight=0.99 PerfScore 1.98
-G_M9744_IG06:        ; bbWeight=0.07, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
+       mov      rax, rcx
+       mov      qword ptr [rbp-0x40], rax
+       mov      rsi, gword ptr [r14+rax+0x10]
+       ; gcrRegs +[rsi]
+       mov      rdi, r15
+       ; byrRegs +[rdi]
+       call     CORINFO_HELP_CHECKED_ASSIGN_REF
+       ; gcrRegs -[rsi]
+       ; byrRegs -[rdi r15]
+       cmp      byte  ptr [rbx+0x1C], 0
+       jne      SHORT G_M9744_IG12
+                       ;; size=26 bbWeight=0.99 PerfScore 8.43
+G_M9744_IG06:        ; bbWeight=0.99, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+       mov      rax, qword ptr [rbx]
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x18]
+       test     rax, rax
+       jne      SHORT G_M9744_IG11
+                       ;; size=19 bbWeight=0.99 PerfScore 9.16
+G_M9744_IG07:        ; bbWeight=0.20, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M9744_IG11
+                       ;; size=2 bbWeight=0.20 PerfScore 0.40
+G_M9744_IG08:        ; bbWeight=0.07, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
+       ; byrRegs +[r15]
        ; GC ptr vars -{V17}
        test     edi, edi
        jge      SHORT G_M9744_IG03
@@ -96,51 +119,40 @@ G_M9744_IG06:        ; bbWeight=0.07, gcVars=0000000000000000 {}, gcrefRegs=4008
        mov      esi, eax
        sub      esi, r13d
        test     esi, esi
-       jle      SHORT G_M9744_IG13
+       jle      SHORT G_M9744_IG14
                        ;; size=24 bbWeight=0.07 PerfScore 0.46
-G_M9744_IG07:        ; bbWeight=0.04, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
+G_M9744_IG09:        ; bbWeight=0.04, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
        test     edi, edi
-       jne      SHORT G_M9744_IG16
+       jne      SHORT G_M9744_IG17
                      ;; size=4 bbWeight=0.04 PerfScore 0.05
-G_M9744_IG08:        ; bbWeight=0.04, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
-       lea      rdi, [rbp-0x30]
+G_M9744_IG10:        ; bbWeight=0.04, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref
+       lea      rdi, [rbp-0x38]
        mov      esi, -1
        call     [<unknown method>]
        ; gcr arg pop 0
-       jmp      SHORT G_M9744_IG03
-                       ;; size=17 bbWeight=0.04 PerfScore 0.25
-G_M9744_IG09:        ; bbWeight=0.99, gcVars=0000000000000100 {V17}, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
+       jmp      G_M9744_IG03
+                       ;; size=20 bbWeight=0.04 PerfScore 0.25
+G_M9744_IG11:        ; bbWeight=0.99, gcVars=0000000000000100 {V17}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref
+       ; byrRegs -[r15]
        ; GC ptr vars +{V08 V17}
-       mov      qword ptr [rbp-0x38], rcx
-       mov      rsi, gword ptr [r14+rcx+0x10]
-       ; gcrRegs +[rsi]
-       mov      rdi, r15
-       ; byrRegs +[rdi]
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       ; gcrRegs -[rsi]
-       ; byrRegs -[rdi r15]
-       cmp      byte  ptr [rbx+0x1C], 0
-       jne      SHORT G_M9744_IG11
-                       ;; size=23 bbWeight=0.99 PerfScore 8.18
-G_M9744_IG10:        ; bbWeight=0.99, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        xor      rax, rax
        ; gcrRegs +[rax]
-       mov      r15, qword ptr [rbp-0x38]
+       mov      r15, qword ptr [rbp-0x40]
        mov      gword ptr [r14+r15+0x10], rax
        add      r13d, r12d
-       mov      r14, bword ptr [rbp-0x40]
+       mov      r14, bword ptr [rbp-0x48]
        ; gcrRegs -[r14]
        ; byrRegs +[r14]
        mov      dword ptr [r14+0x08], r13d
                        ;; size=22 bbWeight=0.99 PerfScore 4.46
-G_M9744_IG11:        ; bbWeight=0.98, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
+G_M9744_IG12:        ; bbWeight=0.98, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        ; byrRegs -[r14]
        ; GC ptr vars -{V08 V17}
        mov      eax, 1
                        ;; size=5 bbWeight=0.98 PerfScore 0.24
-G_M9744_IG12:        ; bbWeight=0.98, epilog, nogc, extend
-       add      rsp, 24
+G_M9744_IG13:        ; bbWeight=0.98, epilog, nogc, extend
+       add      rsp, 40
        pop      rbx
        pop      r12
        pop      r13
@@ -149,16 +161,16 @@ G_M9744_IG12:        ; bbWeight=0.98, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=15 bbWeight=0.98 PerfScore 4.15
-G_M9744_IG13:        ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, gcvars, byref
+G_M9744_IG14:        ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, gcvars, byref
        ; byrRegs +[r15]
        xor      rax, rax
        ; gcrRegs +[rax]
        mov      gword ptr [r15], rax
                        ;; size=5 bbWeight=0.02 PerfScore 0.03
-G_M9744_IG14:        ; bbWeight=0.02, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M9744_IG15:        ; bbWeight=0.02, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rax]
        ; byrRegs -[r15]
-       add      rsp, 24
+       add      rsp, 40
        pop      rbx
        pop      r12
        pop      r13
@@ -167,11 +179,11 @@ G_M9744_IG14:        ; bbWeight=0.02, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
        pop      rbp
        ret      
                        ;; size=15 bbWeight=0.02 PerfScore 0.10
-G_M9744_IG15:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
+G_M9744_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M9744_IG16:        ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
+G_M9744_IG17:        ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
        ; gcrRegs +[r14]
        ; byrRegs +[r15]
        mov      rcx, gword ptr [rbx+0x08]
@@ -182,11 +194,11 @@ G_M9744_IG16:        ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15
        sub      eax, ecx
        sub      eax, r13d
        test     eax, eax
-       jle      SHORT G_M9744_IG13
-       jmp      SHORT G_M9744_IG08
+       jle      SHORT G_M9744_IG14
+       jmp      SHORT G_M9744_IG10
                      ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 260, prolog size 25, PerfScore 66.71, instruction count 89, allocated bytes for code 260 (MethodHash=1626d9ef) for method System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
+; Total bytes of code 289, prolog size 29, PerfScore 75.53, instruction count 97, allocated bytes for code 289 (MethodHash=1626d9ef) for method System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -199,7 +211,7 @@ Unwind Info:
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0E UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 2 * 8 + 8 = 24 = 0x18
+    CodeOffset: 0x0E UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
     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)
  
+20 (+11.43%) : 128904.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>cDisplayClass10_0[System.Canon]:b__0():this (Tier1-OSR)
@@ -25,35 +25,37 @@
 ;* V12 tmp9         [V12,T03] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V13 tmp10        [V13,T01] (  5, 999.58)     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]>
 ;  V14 tmp11        [V14,T06] (  3, 299.97)     ref  ->  rcx         class-hnd exact "Inline stloc first use temp" <<unknown class>>
-;  V15 tmp12        [V15,T02] (  6, 599.46)     int  ->  [rbp-0x14]  spill-single-def "Inline stloc first use temp"
+;  V15 tmp12        [V15,T02] (  6, 599.46)     int  ->  [rbp-0x24]  spill-single-def "Inline stloc first use temp"
 ;  V16 tmp13        [V16,T07] (  3, 299.97)     int  ->  rdx         "Inline stloc first use temp"
 ;* V17 tmp14        [V17    ] (  0,   0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V18 tmp15        [V18,T10] (  3, 200.14)     int  ->   r8         "Inline stloc first use temp"
+;  V18 tmp15        [V18,T10] (  3, 200.14)     int  ->  rdx         "Inline stloc first use temp"
 ;* V19 tmp16        [V19    ] (  0,   0   )     ref  ->  zero-ref    "field V06._source (fldOffset=0x0)" P-INDEP
 ;* V20 tmp17        [V20    ] (  0,   0   )     ref  ->  zero-ref    "field V07._source (fldOffset=0x0)" P-INDEP
 ;* V21 tmp18        [V21    ] (  0,   0   )     ref  ->  zero-ref    "field V09._source (fldOffset=0x0)" P-INDEP
 ;* V22 tmp19        [V22    ] (  0,   0   )     ref  ->  zero-ref    "field V10._source (fldOffset=0x0)" P-INDEP
-;  V23 cse0         [V23,T04] (  4, 399.64)   byref  ->  rdx         "CSE - aggressive"
-;  V24 cse1         [V24,T08] (  3, 299.49)     int  ->   r9         "CSE - moderate"
+;  V23 cse0         [V23,T04] (  4, 399.64)   byref  ->  r14         "CSE - aggressive"
+;  V24 cse1         [V24,T08] (  3, 299.49)     int  ->  r13         "CSE - moderate"
 ;
 ; Lcl frame size = 16
 
 G_M39530_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        mov      rax, qword ptr [rbp]
        push     rax
-       sub      rsp, 32
-       mov      qword ptr [rsp+0x88], r15
+       sub      rsp, 48
+       mov      qword ptr [rsp+0x98], r15
+       mov      qword ptr [rsp+0x90], r14
+       mov      qword ptr [rsp+0x88], r13
        mov      qword ptr [rsp+0x80], rbx
-       lea      rbp, [rsp+0x20]
+       lea      rbp, [rsp+0x30]
        mov      rbx, gword ptr [rbp+0x38]
        ; gcrRegs +[rbx]
        mov      r15d, dword ptr [rbp+0x34]
-                       ;; size=38 bbWeight=0.01 PerfScore 0.10
+                       ;; size=54 bbWeight=0.01 PerfScore 0.12
 G_M39530_IG02:        ; bbWeight=0.01, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rax, gword ptr [rbx+0x08]
        ; gcrRegs +[rax]
        cmp      r15d, dword ptr [rax+0x20]
-       jge      SHORT G_M39530_IG10
+       jge      SHORT G_M39530_IG11
                        ;; size=10 bbWeight=0.01 PerfScore 0.06
 G_M39530_IG03:        ; bbWeight=99.99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax]
@@ -66,36 +68,33 @@ G_M39530_IG03:        ; bbWeight=99.99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
                        ;; size=12 bbWeight=99.99 PerfScore 599.94
 G_M39530_IG04:        ; bbWeight=99.99, gcrefRegs=00CA {rcx rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
        mov      eax, dword ptr [rsi+0xA0]
-       mov      dword ptr [rbp-0x14], eax
+       mov      dword ptr [rbp-0x24], eax
        mov      edx, eax
        and      edx, dword ptr [rsi+0x18]
        cmp      edx, dword ptr [rcx+0x08]
-       jae      SHORT G_M39530_IG09
+       jae      SHORT G_M39530_IG10
        shl      rdx, 4
-       lea      rdx, bword ptr [rcx+rdx+0x10]
-       ; byrRegs +[rdx]
-       mov      r8d, dword ptr [rdx+0x08]
-       sub      r8d, eax
+       lea      r14, bword ptr [rcx+rdx+0x10]
+       ; byrRegs +[r14]
+       mov      edx, dword ptr [r14+0x08]
+       sub      edx, eax
        jne      SHORT G_M39530_IG06
-                      ;; size=37 bbWeight=99.99 PerfScore 1499.85
-G_M39530_IG05:        ; bbWeight=99.83, gcrefRegs=00CA {rcx rbx rsi rdi}, byrefRegs=0004 {rdx}, byref, isz
-       lea      r8, bword ptr [rsi+0xA0]
-       ; byrRegs +[r8]
-       lea      r9d, [rax+0x01]
+                      ;; size=36 bbWeight=99.99 PerfScore 1499.85
+G_M39530_IG05:        ; bbWeight=99.83, gcrefRegs=00CA {rcx rbx rsi rdi}, byrefRegs=4000 {r14}, byref, isz
+       lea      rdx, bword ptr [rsi+0xA0]
+       ; byrRegs +[rdx]
+       lea      r13d, [rax+0x01]
        lock     
-       cmpxchg  dword ptr [r8], r9d
-       cmp      eax, dword ptr [rbp-0x14]
+       cmpxchg  dword ptr [rdx], r13d
+       cmp      eax, dword ptr [rbp-0x24]
        jne      SHORT G_M39530_IG04
-       xor      rcx, rcx
-       mov      gword ptr [rdx], rcx
-       mov      dword ptr [rdx+0x08], r9d
-       jmp      SHORT G_M39530_IG08
-                       ;; size=32 bbWeight=99.83 PerfScore 2620.57
+       jmp      SHORT G_M39530_IG09
+                       ;; size=23 bbWeight=99.83 PerfScore 2395.95
 G_M39530_IG06:        ; bbWeight=0.16, gcrefRegs=00CA {rcx rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
-       ; byrRegs -[rdx r8]
-       test     r8d, r8d
+       ; byrRegs -[rdx r14]
+       test     edx, edx
        jge      SHORT G_M39530_IG04
-                      ;; size=5 bbWeight=0.16 PerfScore 0.20
+                        ;; size=4 bbWeight=0.16 PerfScore 0.20
 G_M39530_IG07:        ; bbWeight=399.96, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx rsi]
        xor      rsi, rsi
@@ -109,26 +108,38 @@ G_M39530_IG08:        ; bbWeight=99.99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      rax, gword ptr [rbx+0x08]
        ; gcrRegs +[rax]
        cmp      r15d, dword ptr [rax+0x20]
-       jge      SHORT G_M39530_IG10
+       jge      SHORT G_M39530_IG11
        jmp      SHORT G_M39530_IG03
                        ;; size=15 bbWeight=99.99 PerfScore 824.92
-G_M39530_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M39530_IG09:        ; bbWeight=99.83, gcrefRegs=0008 {rbx}, byrefRegs=4000 {r14}, byref, isz
+       ; gcrRegs -[rax]
+       ; byrRegs +[r14]
+       xor      rax, rax
+       ; gcrRegs +[rax]
+       mov      gword ptr [r14], rax
+       mov      dword ptr [r14+0x08], r13d
+       jmp      SHORT G_M39530_IG08
+                       ;; size=11 bbWeight=99.83 PerfScore 424.28
+G_M39530_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax rbx]
+       ; byrRegs -[r14]
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M39530_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M39530_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=0 PerfScore 0.00
-G_M39530_IG11:        ; bbWeight=0, epilog, nogc, extend
+G_M39530_IG12:        ; bbWeight=0, epilog, nogc, extend
        add      rsp, 128
        pop      rbx
+       pop      r13
+       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=12 bbWeight=0 PerfScore 0.00
+                      ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 175, prolog size 38, PerfScore 6845.50, instruction count 51, allocated bytes for code 175 (MethodHash=64006595) for method System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[System.__Canon]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
+; Total bytes of code 195, prolog size 54, PerfScore 7045.19, instruction count 56, allocated bytes for code 195 (MethodHash=64006595) for method System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[System.__Canon]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -136,16 +147,20 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x19
-  CountOfUnwindCodes: 8
+  SizeOfProlog      : 0x29
+  CountOfUnwindCodes: 12
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x19 UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: rbx (3)
+    CodeOffset: 0x29 UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: rbx (3)
       Scaled Small Offset: 16 * 8 = 128 = 0x00080
-    CodeOffset: 0x11 UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: r15 (15)
+    CodeOffset: 0x21 UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: r13 (13)
       Scaled Small Offset: 17 * 8 = 136 = 0x00088
-    CodeOffset: 0x09 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 3 * 8 + 8 = 32 = 0x20
+    CodeOffset: 0x19 UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: r14 (14)
+      Scaled Small Offset: 18 * 8 = 144 = 0x00090
+    CodeOffset: 0x11 UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: r15 (15)
+      Scaled Small Offset: 19 * 8 = 152 = 0x00098
+    CodeOffset: 0x09 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
     CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
     CodeOffset: 0x00 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 12 * 8 + 8 = 104 = 0x68
     CodeOffset: 0x00 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
+21 (+13.04%) : 118058.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>cDisplayClass10_0[int]:b0():this (Tier1-OSR)
@@ -25,35 +25,37 @@
 ;* V12 tmp9         [V12,T03] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V13 tmp10        [V13,T01] (  5, 999.58)     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[int]>
 ;  V14 tmp11        [V14,T06] (  3, 299.97)     ref  ->  rcx         class-hnd exact "Inline stloc first use temp" <<unknown class>>
-;  V15 tmp12        [V15,T02] (  6, 599.46)     int  ->  [rbp-0x14]  spill-single-def "Inline stloc first use temp"
+;  V15 tmp12        [V15,T02] (  6, 599.46)     int  ->  [rbp-0x24]  spill-single-def "Inline stloc first use temp"
 ;  V16 tmp13        [V16,T07] (  3, 299.97)     int  ->  rdx         "Inline stloc first use temp"
 ;* V17 tmp14        [V17    ] (  0,   0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V18 tmp15        [V18,T10] (  3, 200.14)     int  ->   r8         "Inline stloc first use temp"
+;  V18 tmp15        [V18,T10] (  3, 200.14)     int  ->  rdx         "Inline stloc first use temp"
 ;* V19 tmp16        [V19    ] (  0,   0   )     ref  ->  zero-ref    "field V06._source (fldOffset=0x0)" P-INDEP
 ;* V20 tmp17        [V20    ] (  0,   0   )     ref  ->  zero-ref    "field V07._source (fldOffset=0x0)" P-INDEP
 ;* V21 tmp18        [V21    ] (  0,   0   )     ref  ->  zero-ref    "field V09._source (fldOffset=0x0)" P-INDEP
 ;* V22 tmp19        [V22    ] (  0,   0   )     ref  ->  zero-ref    "field V10._source (fldOffset=0x0)" P-INDEP
-;  V23 cse0         [V23,T04] (  4, 399.64)   byref  ->  rdx         "CSE - aggressive"
-;  V24 cse1         [V24,T08] (  3, 299.49)     int  ->   r9         "CSE - moderate"
+;  V23 cse0         [V23,T04] (  4, 399.64)   byref  ->  r14         "CSE - aggressive"
+;  V24 cse1         [V24,T08] (  3, 299.49)     int  ->  r13         "CSE - moderate"
 ;
 ; Lcl frame size = 16
 
 G_M22719_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        mov      rax, qword ptr [rbp]
        push     rax
-       sub      rsp, 32
-       mov      qword ptr [rsp+0x78], r15
+       sub      rsp, 48
+       mov      qword ptr [rsp+0x88], r15
+       mov      qword ptr [rsp+0x80], r14
+       mov      qword ptr [rsp+0x78], r13
        mov      qword ptr [rsp+0x70], rbx
-       lea      rbp, [rsp+0x20]
+       lea      rbp, [rsp+0x30]
        mov      rbx, gword ptr [rbp+0x30]
        ; gcrRegs +[rbx]
        mov      r15d, dword ptr [rbp+0x2C]
-                       ;; size=32 bbWeight=0.01 PerfScore 0.10
+                       ;; size=48 bbWeight=0.01 PerfScore 0.12
 G_M22719_IG02:        ; bbWeight=0.01, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rax, gword ptr [rbx+0x08]
        ; gcrRegs +[rax]
        cmp      r15d, dword ptr [rax+0x20]
-       jge      SHORT G_M22719_IG10
+       jge      SHORT G_M22719_IG11
                        ;; size=10 bbWeight=0.01 PerfScore 0.06
 G_M22719_IG03:        ; bbWeight=99.99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax]
@@ -66,37 +68,32 @@ G_M22719_IG03:        ; bbWeight=99.99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
                        ;; size=12 bbWeight=99.99 PerfScore 599.94
 G_M22719_IG04:        ; bbWeight=99.99, gcrefRegs=00CA {rcx rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
        mov      eax, dword ptr [rsi+0xA0]
-       mov      dword ptr [rbp-0x14], eax
+       mov      dword ptr [rbp-0x24], eax
        mov      edx, eax
        and      edx, dword ptr [rsi+0x18]
        cmp      edx, dword ptr [rcx+0x08]
-       jae      SHORT G_M22719_IG09
-       lea      rdx, bword ptr [rcx+8*rdx+0x10]
-       ; byrRegs +[rdx]
-       mov      r8d, dword ptr [rdx+0x04]
-       sub      r8d, eax
+       jae      SHORT G_M22719_IG10
+       lea      r14, bword ptr [rcx+8*rdx+0x10]
+       ; byrRegs +[r14]
+       mov      edx, dword ptr [r14+0x04]
+       sub      edx, eax
        jne      SHORT G_M22719_IG06
-                      ;; size=33 bbWeight=99.99 PerfScore 1449.86
-G_M22719_IG05:        ; bbWeight=99.83, gcrefRegs=00CA {rcx rbx rsi rdi}, byrefRegs=0004 {rdx}, byref, isz
-       lea      r8, bword ptr [rsi+0xA0]
-       ; byrRegs +[r8]
-       lea      r9d, [rax+0x01]
+                      ;; size=32 bbWeight=99.99 PerfScore 1449.86
+G_M22719_IG05:        ; bbWeight=99.83, gcrefRegs=00CA {rcx rbx rsi rdi}, byrefRegs=4000 {r14}, byref, isz
+       lea      rdx, bword ptr [rsi+0xA0]
+       ; byrRegs +[rdx]
+       lea      r13d, [rax+0x01]
        lock     
-       cmpxchg  dword ptr [r8], r9d
-       cmp      eax, dword ptr [rbp-0x14]
+       cmpxchg  dword ptr [rdx], r13d
+       cmp      eax, dword ptr [rbp-0x24]
        jne      SHORT G_M22719_IG04
-       xor      ecx, ecx
-       ; gcrRegs -[rcx]
-       mov      dword ptr [rdx], ecx
-       mov      dword ptr [rdx+0x04], r9d
-       jmp      SHORT G_M22719_IG08
-                       ;; size=31 bbWeight=99.83 PerfScore 2620.57
+       jmp      SHORT G_M22719_IG09
+                       ;; size=23 bbWeight=99.83 PerfScore 2395.95
 G_M22719_IG06:        ; bbWeight=0.16, gcrefRegs=00CA {rcx rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs +[rcx]
-       ; byrRegs -[rdx r8]
-       test     r8d, r8d
+       ; byrRegs -[rdx r14]
+       test     edx, edx
        jge      SHORT G_M22719_IG04
-                      ;; size=5 bbWeight=0.16 PerfScore 0.20
+                        ;; size=4 bbWeight=0.16 PerfScore 0.20
 G_M22719_IG07:        ; bbWeight=399.96, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx rsi]
        xor      esi, esi
@@ -109,26 +106,37 @@ G_M22719_IG08:        ; bbWeight=99.99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      rax, gword ptr [rbx+0x08]
        ; gcrRegs +[rax]
        cmp      r15d, dword ptr [rax+0x20]
-       jge      SHORT G_M22719_IG10
+       jge      SHORT G_M22719_IG11
        jmp      SHORT G_M22719_IG03
                        ;; size=15 bbWeight=99.99 PerfScore 824.92
-G_M22719_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rax rbx]
+G_M22719_IG09:        ; bbWeight=99.83, gcrefRegs=0008 {rbx}, byrefRegs=4000 {r14}, byref, isz
+       ; gcrRegs -[rax]
+       ; byrRegs +[r14]
+       xor      eax, eax
+       mov      dword ptr [r14], eax
+       mov      dword ptr [r14+0x04], r13d
+       jmp      SHORT G_M22719_IG08
+                       ;; size=11 bbWeight=99.83 PerfScore 424.28
+G_M22719_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rbx]
+       ; byrRegs -[r14]
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M22719_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M22719_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=0 PerfScore 0.00
-G_M22719_IG11:        ; bbWeight=0, epilog, nogc, extend
+G_M22719_IG12:        ; bbWeight=0, epilog, nogc, extend
        add      rsp, 112
        pop      rbx
+       pop      r13
+       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=9 bbWeight=0 PerfScore 0.00
+                       ;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 161, prolog size 32, PerfScore 6795.51, instruction count 50, allocated bytes for code 161 (MethodHash=aac5a740) for method System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[int]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
+; Total bytes of code 182, prolog size 48, PerfScore 6995.19, instruction count 55, allocated bytes for code 182 (MethodHash=aac5a740) for method System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[int]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -136,16 +144,20 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x13
-  CountOfUnwindCodes: 8
+  SizeOfProlog      : 0x23
+  CountOfUnwindCodes: 12
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x13 UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: rbx (3)
+    CodeOffset: 0x23 UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: rbx (3)
       Scaled Small Offset: 14 * 8 = 112 = 0x00070
-    CodeOffset: 0x0E UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: r15 (15)
+    CodeOffset: 0x1E UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: r13 (13)
       Scaled Small Offset: 15 * 8 = 120 = 0x00078
-    CodeOffset: 0x09 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 3 * 8 + 8 = 32 = 0x20
+    CodeOffset: 0x19 UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: r14 (14)
+      Scaled Small Offset: 16 * 8 = 128 = 0x00080
+    CodeOffset: 0x11 UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: r15 (15)
+      Scaled Small Offset: 17 * 8 = 136 = 0x00088
+    CodeOffset: 0x09 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
     CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
     CodeOffset: 0x00 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 10 * 8 + 8 = 88 = 0x58
     CodeOffset: 0x00 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
  
benchmarks.run_tiered.linux.x64.checked.mch
-39 (-5.41%) : 47455.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
@@ -9,16 +9,16 @@
 ; 0 inlinees with PGO data; 0 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T08] ( 15, 12.06)     ref  ->  rbx         class-hnd single-def <float[][]>
+;  V00 arg0         [V00,T08] ( 12, 12.04)     ref  ->  rbx         class-hnd single-def <float[][]>
 ;  V01 arg1         [V01,T09] (  9, 12.04)     ref  ->  r15         class-hnd single-def <int[][]>
 ;  V02 arg2         [V02,T19] (  3,  3   )     ref  ->  r12         class-hnd single-def <double[]>
 ;  V03 arg3         [V03,T18] (  4,  6   )     ref  ->  r13         class-hnd single-def <JetStream.SampleVarianceUpperTriangularMatrix>
-;  V04 arg4         [V04,T10] (  5, 12   )     int  ->  r14         single-def
+;  V04 arg4         [V04,T10] (  4, 12   )     int  ->  r14         single-def
 ;* V05 loc0         [V05    ] (  0,  0   )     int  ->  zero-ref   
 ;* V06 loc1         [V06    ] (  0,  0   )     int  ->  zero-ref   
-;  V07 loc2         [V07,T03] ( 17, 37.52)     int  ->  [rbp+0x48]  tier0-frame
-;  V08 loc3         [V08,T14] (  6, 10   )     ref  ->  [rbp+0x40]  class-hnd tier0-frame <float[]>
-;  V09 loc4         [V09,T00] ( 13, 56   )     int  ->  [rbp+0x3C]  tier0-frame
+;  V07 loc2         [V07,T03] ( 12, 38.50)     int  ->  [rbp+0x48]  tier0-frame
+;  V08 loc3         [V08,T14] (  5, 10   )     ref  ->  [rbp+0x40]  class-hnd tier0-frame <float[]>
+;  V09 loc4         [V09,T00] ( 12, 56   )     int  ->  [rbp+0x3C]  tier0-frame
 ;* V10 loc5         [V10    ] (  0,  0   )   ubyte  ->  zero-ref   
 ;  V11 loc6         [V11,T05] ( 20, 26.58)     int  ->  [rbp+0x34]  tier0-frame
 ;* V12 loc7         [V12    ] (  0,  0   )   float  ->  zero-ref   
@@ -26,7 +26,7 @@
 ;  V14 loc9         [V14,T21] (  6,  8   )  double  ->  mm0        
 ;# V15 OutArgs      [V15    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V16 tmp1         [V16,T16] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V17 tmp2         [V17,T04] (  2, 36   )     ref  ->  rdx         class-hnd "Inlining Arg" <int[]>
+;  V17 tmp2         [V17,T04] (  2, 36   )     ref  ->  rsi         class-hnd "Inlining Arg" <int[]>
 ;* V18 tmp3         [V18,T15] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V19 tmp4         [V19,T01] (  6, 48   )     int  ->  r10         "Inlining Arg"
 ;  V20 tmp5         [V20,T02] (  4, 40   )     ref  ->  registers   class-hnd "Inlining Arg" <int[]>
@@ -34,10 +34,10 @@
 ;* V22 tmp7         [V22    ] (  0,  0   )     ref  ->  zero-ref    "arr expr"
 ;  V23 tmp8         [V23,T11] (  6, 12   )     ref  ->  r11         "arr expr"
 ;  V24 tmp9         [V24,T12] (  6, 12   )     ref  ->  rdx         "arr expr"
-;  V25 tmp10        [V25,T13] (  6, 12   )     ref  ->  registers   "arr expr"
-;  V26 cse0         [V26,T20] (  3,  0.10)     ref  ->  rcx         "CSE - conservative"
+;  V25 tmp10        [V25,T13] (  6, 12   )     ref  ->  rax         "arr expr"
+;  V26 cse0         [V26,T20] (  3,  0.10)     ref  ->  rax         "CSE - conservative"
 ;  V27 cse1         [V27,T17] (  3,  9.90)     ref  ->  rax         "CSE - moderate"
-;  V28 cse2         [V28,T07] (  9, 17   )     int  ->  [rbp-0x2C]  spill-single-def "CSE - moderate"
+;  V28 cse2         [V28,T07] (  7, 16   )     int  ->  [rbp-0x2C]  spill-single-def "CSE - moderate"
 ;  V29 cse3         [V29,T06] ( 16, 20   )     int  ->   r9         multi-def "CSE - moderate"
 ;  TEMP_01                                  double  ->  [rbp-0x34]
 ;
@@ -63,64 +63,33 @@ G_M56974_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        mov      r13, gword ptr [rbp+0x58]
        ; gcrRegs +[r13]
        mov      r14d, dword ptr [rbp+0x54]
-       mov      esi, dword ptr [rbp+0x48]
-       mov      rcx, gword ptr [rbp+0x40]
-       ; gcrRegs +[rcx]
+       mov      eax, dword ptr [rbp+0x48]
+       mov      r8, gword ptr [rbp+0x40]
+       ; gcrRegs +[r8]
        mov      edi, dword ptr [rbp+0x3C]
-       mov      eax, dword ptr [rbp+0x34]
+       mov      ecx, dword ptr [rbp+0x34]
                       ;; size=90 bbWeight=0.01 PerfScore 0.28
-G_M56974_IG02:        ; bbWeight=0.01, gcrefRegs=B00A {rcx rbx r12 r13 r15}, byrefRegs=0000 {}, byref
-       jmp      G_M56974_IG16
-                       ;; size=5 bbWeight=0.01 PerfScore 0.02
-G_M56974_IG03:        ; bbWeight=1.98, gcrefRegs=B008 {rbx r12 r13 r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rcx]
-       mov      eax, esi
-       mov      rax, gword ptr [rbx+8*rax+0x10]
-       ; gcrRegs +[rax]
-       xor      ecx, ecx
-       test     r14d, r14d
-       mov      edi, ecx
-       jg       SHORT G_M56974_IG06
-                       ;; size=16 bbWeight=1.98 PerfScore 7.92
-G_M56974_IG04:        ; bbWeight=7.92, gcrefRegs=B008 {rbx r12 r13 r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
-       inc      esi
-       cmp      r8d, esi
-       jg       SHORT G_M56974_IG03
-                       ;; size=7 bbWeight=7.92 PerfScore 11.88
-G_M56974_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rbx r12-r13 r15]
-       jmp      SHORT G_M56974_IG09
-                       ;; size=2 bbWeight=1 PerfScore 2.00
-G_M56974_IG06:        ; bbWeight=0.99, gcrefRegs=B009 {rax rbx r12 r13 r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs +[rax rbx r12-r13 r15]
-       mov      rcx, rax
-       ; gcrRegs +[rcx]
+G_M56974_IG02:        ; bbWeight=0.01, gcrefRegs=B108 {rbx r8 r12 r13 r15}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M56974_IG11
-                        ;; size=5 bbWeight=0.99 PerfScore 2.23
-G_M56974_IG07:        ; bbWeight=0.02, gcrefRegs=B008 {rbx r12 r13 r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax rcx]
-       cmp      esi, dword ptr [rbx+0x08]
-       jae      G_M56974_IG33
-       mov      ecx, esi
-       mov      rcx, gword ptr [rbx+8*rcx+0x10]
-       ; gcrRegs +[rcx]
-       mov      rax, rcx
-       ; gcrRegs +[rax]
+                      ;; size=2 bbWeight=0.01 PerfScore 0.02
+G_M56974_IG03:        ; bbWeight=2, gcrefRegs=B008 {rbx r12 r13 r15}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r8]
+       cmp      eax, dword ptr [rbx+0x08]
+       jae      G_M56974_IG28
+       mov      edi, eax
+       mov      r8, gword ptr [rbx+8*rdi+0x10]
+       ; gcrRegs +[r8]
        xor      edi, edi
-       xor      ecx, ecx
-       ; gcrRegs -[rcx]
        test     r14d, r14d
-       mov      edi, ecx
-       jg       SHORT G_M56974_IG10
-                       ;; size=30 bbWeight=0.02 PerfScore 0.17
-G_M56974_IG08:        ; bbWeight=0.08, gcrefRegs=B008 {rbx r12 r13 r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
-       inc      esi
-       cmp      r8d, esi
-       jg       SHORT G_M56974_IG07
-                       ;; size=7 bbWeight=0.08 PerfScore 0.12
-G_M56974_IG09:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       jg       SHORT G_M56974_IG06
+                       ;; size=23 bbWeight=2 PerfScore 15.50
+G_M56974_IG04:        ; bbWeight=8, gcrefRegs=B008 {rbx r12 r13 r15}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r8]
+       inc      eax
+       cmp      r9d, eax
+       jg       SHORT G_M56974_IG03
+                       ;; size=7 bbWeight=8 PerfScore 12.00
+G_M56974_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rbx r12-r13 r15]
        add      rsp, 184
        pop      rbx
@@ -131,78 +100,68 @@ G_M56974_IG09:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        pop      rbp
        ret      
                        ;; size=18 bbWeight=1 PerfScore 4.25
-G_M56974_IG10:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=B009 {rax rbx r12 r13 r15}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[rax rbx r12-r13 r15]
-       mov      rcx, rax
-       ; gcrRegs +[rcx]
-                       ;; size=3 bbWeight=0.01 PerfScore 0.00
-G_M56974_IG11:        ; bbWeight=2, gcrefRegs=B00A {rcx rbx r12 r13 r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
-       cmp      esi, dword ptr [r15+0x08]
-       jae      G_M56974_IG33
-       mov      eax, esi
-       mov      rdx, gword ptr [r15+8*rax+0x10]
-       ; gcrRegs +[rdx]
+G_M56974_IG06:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=B108 {rbx r8 r12 r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; gcrRegs +[rbx r8 r12-r13 r15]
+       cmp      eax, dword ptr [r15+0x08]
+       jae      G_M56974_IG28
+       mov      ecx, eax
+       mov      rsi, gword ptr [r15+8*rcx+0x10]
+       ; gcrRegs +[rsi]
        test     edi, edi
-       jl       SHORT G_M56974_IG13
+       jl       SHORT G_M56974_IG08
                       ;; size=21 bbWeight=2 PerfScore 15.00
-G_M56974_IG12:        ; bbWeight=16, gcrefRegs=B00E {rcx rdx rbx r12 r13 r15}, byrefRegs=0000 {}, byref, isz
-       cmp      dword ptr [rdx+0x08], edi
-       jg       SHORT G_M56974_IG15
+G_M56974_IG07:        ; bbWeight=16, gcrefRegs=B148 {rbx rsi r8 r12 r13 r15}, byrefRegs=0000 {}, byref, isz
+       cmp      dword ptr [rsi+0x08], edi
+       jg       SHORT G_M56974_IG10
                         ;; size=5 bbWeight=16 PerfScore 64.00
-G_M56974_IG13:        ; bbWeight=8, gcrefRegs=B00A {rcx rbx r12 r13 r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rdx]
+G_M56974_IG08:        ; bbWeight=8, gcrefRegs=B108 {rbx r8 r12 r13 r15}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rsi]
        inc      edi
        cmp      edi, r14d
-       jl       SHORT G_M56974_IG11
+       jl       SHORT G_M56974_IG06
                         ;; size=7 bbWeight=8 PerfScore 12.00
-G_M56974_IG14:        ; bbWeight=1, gcrefRegs=B008 {rbx r12 r13 r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rcx]
-       test     rbx, rbx
-       je       SHORT G_M56974_IG08
-       test     esi, esi
-       jl       SHORT G_M56974_IG08
-       cmp      dword ptr [rbx+0x08], r8d
-       jl       SHORT G_M56974_IG08
+G_M56974_IG09:        ; bbWeight=1, gcrefRegs=B008 {rbx r12 r13 r15}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r8]
        jmp      SHORT G_M56974_IG04
-                        ;; size=17 bbWeight=1 PerfScore 8.50
-G_M56974_IG15:        ; bbWeight=0.50, gcrefRegs=B00A {rcx rbx r12 r13 r15}, byrefRegs=0000 {}, byref
-       ; gcrRegs +[rcx]
-       lea      eax, [rsi+0x01]
+                      ;; size=2 bbWeight=1 PerfScore 2.00
+G_M56974_IG10:        ; bbWeight=0.50, gcrefRegs=B108 {rbx r8 r12 r13 r15}, byrefRegs=0000 {}, byref
+       ; gcrRegs +[r8]
+       lea      ecx, [rax+0x01]
                         ;; size=3 bbWeight=0.50 PerfScore 0.25
-G_M56974_IG16:        ; bbWeight=1, gcrefRegs=B00A {rcx rbx r12 r13 r15}, byrefRegs=0000 {}, byref, isz
-       mov      r8d, dword ptr [r12+0x08]
-       mov      dword ptr [rbp-0x2C], r8d
-       cmp      r8d, eax
-       jle      SHORT G_M56974_IG13
+G_M56974_IG11:        ; bbWeight=1, gcrefRegs=B108 {rbx r8 r12 r13 r15}, byrefRegs=0000 {}, byref, isz
+       mov      r9d, dword ptr [r12+0x08]
+       mov      dword ptr [rbp-0x2C], r9d
+       cmp      r9d, ecx
+       jle      SHORT G_M56974_IG08
        test     r15, r15
-       je       G_M56974_IG26
+       je       G_M56974_IG22
        test     rbx, rbx
-       je       G_M56974_IG25
-       test     eax, eax
-       jl       G_M56974_IG24
-       cmp      dword ptr [r15+0x08], r8d
-       jl       G_M56974_IG23
-       cmp      dword ptr [rbx+0x08], r8d
-       jl       G_M56974_IG26
+       je       G_M56974_IG21
+       test     ecx, ecx
+       jl       G_M56974_IG20
+       cmp      dword ptr [r15+0x08], r9d
+       jl       G_M56974_IG19
+       cmp      dword ptr [rbx+0x08], r9d
+       jl       G_M56974_IG22
                       ;; size=60 bbWeight=1 PerfScore 16.00
-G_M56974_IG17:        ; bbWeight=3.96, gcrefRegs=B00A {rcx rbx r12 r13 r15}, byrefRegs=0000 {}, byref, isz
-       cmp      edi, dword ptr [rcx+0x08]
-       jae      G_M56974_IG33
+G_M56974_IG12:        ; bbWeight=3.96, gcrefRegs=B108 {rbx r8 r12 r13 r15}, byrefRegs=0000 {}, byref, isz
+       cmp      edi, dword ptr [r8+0x08]
+       jae      G_M56974_IG28
        mov      dword ptr [rbp+0x3C], edi
-       mov      edx, edi
-       mov      gword ptr [rbp+0x40], rcx
+       mov      esi, edi
+       mov      gword ptr [rbp+0x40], r8
        ; GC ptr vars +{V08}
-       vcvtss2sd xmm0, xmm0, dword ptr [rcx+4*rdx+0x10]
+       vcvtss2sd xmm0, xmm0, dword ptr [r8+4*rsi+0x10]
        vmovsd   qword ptr [rbp-0x34], xmm0
        mov      rdi, r13
        ; gcrRegs +[rdi]
-       mov      dword ptr [rbp+0x48], esi
-       mov      dword ptr [rbp+0x34], eax
-       mov      edx, eax
+       mov      dword ptr [rbp+0x48], eax
+       mov      esi, eax
+       mov      dword ptr [rbp+0x34], ecx
+       mov      edx, ecx
        cmp      dword ptr [rdi], edi
        call     [JetStream.SampleVarianceUpperTriangularMatrix:costBetween(int,int):double:this]
...
  
-28 (-3.59%) : 1220.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (Tier1)
@@ -213,18 +213,17 @@ G_M65128_IG16:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14},
        vpor     xmm2, xmm2, xmm4
        vpmovmskb edi, xmm2
        popcnt   edi, edi
-       vmovaps  xmm2, xmmword ptr [rbp-0x70]
-       vpaddw   xmm4, xmm0, xmm2
+       vpaddw   xmm4, xmm0, xmmword ptr [rbp-0x70]
        vpcmpgtw xmm4, xmm3, xmm4
        vpmovmskb eax, xmm4
        cmp      eax, 0xFFFF
        jne      SHORT G_M65128_IG19
-                      ;; size=58 bbWeight=4 PerfScore 83.00
-G_M65128_IG17:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14}, byref
+                      ;; size=54 bbWeight=4 PerfScore 77.67
+G_M65128_IG17:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14}, byref, isz
        add      r12, rdi
        cmp      rbx, r15
-       jbe      G_M65128_IG14
-                       ;; size=12 bbWeight=16 PerfScore 24.00
+       jbe      SHORT G_M65128_IG14
+                       ;; size=8 bbWeight=16 PerfScore 24.00
 G_M65128_IG18:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14}, byref
        mov      rcx, qword ptr [rbp-0x38]
        jmp      G_M65128_IG27
@@ -252,9 +251,7 @@ G_M65128_IG20:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14},
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
        mov      rdi, qword ptr [rbp-0x98]
-       vmovaps  xmm2, xmmword ptr [rbp-0x70]
-       vmovaps  xmm3, xmmword ptr [rbp-0x60]
-                       ;; size=50 bbWeight=8 PerfScore 92.00
+                     ;; size=40 bbWeight=8 PerfScore 44.00
 G_M65128_IG21:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14}, byref, isz
        mov      eax, dword ptr [rbp-0xA0]
        mov      esi, eax
@@ -272,9 +269,7 @@ G_M65128_IG22:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14},
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
        mov      rdi, qword ptr [rbp-0x98]
-       vmovaps  xmm2, xmmword ptr [rbp-0x70]
-       vmovaps  xmm3, xmmword ptr [rbp-0x60]
-                       ;; size=50 bbWeight=8 PerfScore 92.00
+                     ;; size=40 bbWeight=8 PerfScore 44.00
 G_M65128_IG23:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14}, byref, isz
        mov      eax, dword ptr [rbp-0xA0]
        shl      eax, 2
@@ -359,7 +354,7 @@ RWD16   dq  7800780078007800h, 7800780078007800h
 RWD32      dq  A000A000A000A000h, A000A000A000A000h
 
 
-; Total bytes of code 780, prolog size 37, PerfScore 1231.88, instruction count 194, allocated bytes for code 780 (MethodHash=5a2e0197) for method System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (Tier1)
+; Total bytes of code 752, prolog size 37, PerfScore 1130.54, instruction count 189, allocated bytes for code 752 (MethodHash=5a2e0197) for method System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (Tier1)
 ; ============================================================
 
 Unwind Info:
  
-28 (-3.20%) : 50943.dasm - System.Reflection.CustomAttributeEncodedArgument:ParseNamedArgs(byref,System.Reflection.CustomAttributeNamedParameter[],System.Reflection.RuntimeModule) (Tier1)
@@ -8,19 +8,19 @@
 ; 0 inlinees with PGO data; 43 single block inlinees; 13 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T07] ( 14, 35   )   byref  ->  [rbp-0x40]  single-def
+;  V00 arg0         [V00,T07] ( 14, 35   )   byref  ->  rbx         single-def
 ;  V01 arg1         [V01,T10] (  4, 22   )     ref  ->  r15         class-hnd single-def <System.Reflection.CustomAttributeNamedParameter[]>
 ;  V02 arg2         [V02,T22] (  4, 10   )     ref  ->  r14         class-hnd single-def <System.Reflection.RuntimeModule>
 ;  V03 loc0         [V03,T28] (  3,  6   )     int  ->  r12        
 ;  V04 loc1         [V04,T21] (  4, 13   )     int  ->  [rbp-0x2C] 
 ;  V05 loc2         [V05,T24] (  3, 10   )     int  ->  rdi        
-;  V06 loc3         [V06,T08] (  6, 34   )     ref  ->  [rbp-0x48]  class-hnd exact spill-single-def <System.Reflection.CustomAttributeType>
-;  V07 loc4         [V07,T11] (  5, 26   )     ref  ->  [rbp-0x50]  class-hnd exact spill-single-def <System.String>
-;  V08 loc5         [V08,T18] (  5, 18   )     ref  ->  [rbp-0x58]  class-hnd <System.Reflection.CustomAttributeNamedParameter>
+;  V06 loc3         [V06,T08] (  6, 34   )     ref  ->  [rbp-0x40]  class-hnd exact spill-single-def <System.Reflection.CustomAttributeType>
+;  V07 loc4         [V07,T11] (  5, 26   )     ref  ->  [rbp-0x48]  class-hnd exact spill-single-def <System.String>
+;  V08 loc5         [V08,T18] (  5, 18   )     ref  ->  [rbp-0x50]  class-hnd <System.Reflection.CustomAttributeNamedParameter>
 ;* V09 loc6         [V09,T30] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Reflection.CustomAttributeNamedParameter[]>
 ;  V10 loc7         [V10,T02] (  5, 68   )     int  ->  [rbp-0x30] 
-;  V11 loc8         [V11,T06] (  4, 42   )     ref  ->  [rbp-0x60]  class-hnd exact spill-single-def <System.Reflection.CustomAttributeNamedParameter>
-;  V12 loc9         [V12,T01] (  8, 74   )     ref  ->  [rbp-0x68]  class-hnd exact spill-single-def <System.Reflection.CustomAttributeType>
+;  V11 loc8         [V11,T06] (  4, 42   )     ref  ->  [rbp-0x58]  class-hnd exact spill-single-def <System.Reflection.CustomAttributeNamedParameter>
+;  V12 loc9         [V12,T01] (  8, 74   )     ref  ->  [rbp-0x60]  class-hnd exact spill-single-def <System.Reflection.CustomAttributeType>
 ;# V13 OutArgs      [V13    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V14 tmp1         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Type>
 ;* V15 tmp2         [V15    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
@@ -71,20 +71,20 @@
 ;* V60 tmp47        [V60    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;* V61 tmp48        [V61    ] (  0,  0   )   byref  ->  zero-ref    "field V32._reference (fldOffset=0x0)" P-INDEP
 ;* V62 tmp49        [V62    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
-;  V63 tmp50        [V63,T25] (  2,  8   )   byref  ->  [rbp-0x70]  spill-single-def "field V35._reference (fldOffset=0x0)" P-INDEP
+;  V63 tmp50        [V63,T25] (  2,  8   )   byref  ->  [rbp-0x68]  spill-single-def "field V35._reference (fldOffset=0x0)" P-INDEP
 ;* V64 tmp51        [V64    ] (  0,  0   )     int  ->  zero-ref    "field V35._length (fldOffset=0x8)" P-INDEP
 ;  V65 tmp52        [V65,T05] (  3, 48   )     ref  ->  rdi         "argument with side effect"
 ;  V66 tmp53        [V66,T37] (  2,  0   )     ref  ->  rsi         "argument with side effect"
 ;  V67 tmp54        [V67,T38] (  2,  0   )     ref  ->  rsi         "argument with side effect"
 ;  V68 tmp55        [V68,T39] (  2,  0   )     ref  ->  rsi         "argument with side effect"
 ;  V69 tmp56        [V69,T40] (  2,  0   )     ref  ->  rsi         "argument with side effect"
-;  V70 cse0         [V70,T14] (  3, 24   )     int  ->  rbx         "CSE - moderate"
+;  V70 cse0         [V70,T14] (  3, 24   )     int  ->  r13         "CSE - moderate"
 ;  V71 cse1         [V71,T15] (  3, 24   )     int  ->  rdi         "CSE - moderate"
 ;  V72 cse2         [V72,T16] (  3, 24   )     int  ->  rdi         "CSE - moderate"
 ;  V73 cse3         [V73,T03] (  3, 68   )     int  ->  [rbp-0x34]  spill-single-def "CSE - aggressive"
 ;  V74 cse4         [V74,T20] (  9, 13.50)     ref  ->  rsi         multi-def "CSE - aggressive"
 ;  V75 cse5         [V75,T17] (  3, 24   )     int  ->  [rbp-0x38]  spill-single-def "CSE - moderate"
-;  V76 cse6         [V76,T27] (  3,  6   )   byref  ->  r13         "CSE - moderate"
+;  V76 cse6         [V76,T27] (  3,  6   )   byref  ->  [rbp-0x70]  spill-single-def "CSE - moderate"
 ;  V77 cse7         [V77,T23] (  3, 12   )     int  ->  rsi         "CSE - moderate"
 ;  V78 cse8         [V78,T31] (  3,  3   )     int  ->  rsi         "CSE - moderate"
 ;
@@ -109,6 +109,8 @@ G_M41795_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M41795_IG02:        ; bbWeight=1, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref, isz
        lea      r13, bword ptr [rbx+0x08]
        ; byrRegs +[r13]
+       mov      bword ptr [rbp-0x70], r13
+       ; GC ptr vars +{V76}
        mov      rdi, r13
        ; byrRegs +[rdi]
        mov      esi, dword ptr [rbx]
@@ -126,8 +128,8 @@ G_M41795_IG02:        ; bbWeight=1, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rb
        sub      edi, esi
        cmp      edi, 2
        jge      SHORT G_M41795_IG04
-                      ;; size=45 bbWeight=1 PerfScore 13.50
-G_M41795_IG03:        ; bbWeight=0.50, gcrefRegs=C000 {r14 r15}, byrefRegs=3008 {rbx r12 r13}, byref
+                     ;; size=49 bbWeight=1 PerfScore 14.50
+G_M41795_IG03:        ; bbWeight=0.50, gcVars=0000000008000000 {V76}, gcrefRegs=C000 {r14 r15}, byrefRegs=3008 {rbx r12 r13}, gcvars, byref
        mov      rsi, 0xD1FFAB1E
        ; gcrRegs +[rsi]
        mov      rdi, rsi
@@ -157,7 +159,7 @@ G_M41795_IG05:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=2008 {rb
        ja       G_M41795_IG31
        add      rcx, bword ptr [rdi]
        ; byrRegs +[rcx]
-       mov      bword ptr [rbp-0x70], rcx
+       mov      bword ptr [rbp-0x68], rcx
        ; GC ptr vars +{V63}
        mov      edi, dword ptr [rbx+0x10]
        ; byrRegs -[rdi]
@@ -165,8 +167,8 @@ G_M41795_IG05:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=2008 {rb
        test     edi, edi
        jg       SHORT G_M41795_IG07
                        ;; size=41 bbWeight=4 PerfScore 55.00
-G_M41795_IG06:        ; bbWeight=2, gcVars=0000000002000000 {V63}, gcrefRegs=C000 {r14 r15}, byrefRegs=2008 {rbx r13}, gcvars, byref
-       ; byrRegs -[rcx]
+G_M41795_IG06:        ; bbWeight=2, gcVars=000000000A000000 {V63 V76}, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, gcvars, byref
+       ; byrRegs -[rcx r13]
        mov      rsi, 0xD1FFAB1E
        ; gcrRegs +[rsi]
        mov      rdi, rsi
@@ -175,21 +177,21 @@ G_M41795_IG06:        ; bbWeight=2, gcVars=0000000002000000 {V63}, gcrefRegs=C00
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
                        ;; size=19 bbWeight=2 PerfScore 7.00
-G_M41795_IG07:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=2008 {rbx r13}, byref, isz
+G_M41795_IG07:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref, isz
        inc      dword ptr [rbx]
-       mov      rcx, bword ptr [rbp-0x70]
+       mov      rcx, bword ptr [rbp-0x68]
        ; byrRegs +[rcx]
        movsx    rdi, byte  ptr [rcx]
        cmp      edi, 83
        je       SHORT G_M41795_IG09
                        ;; size=15 bbWeight=4 PerfScore 37.00
-G_M41795_IG08:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=C000 {r14 r15}, byrefRegs=2008 {rbx r13}, gcvars, byref
+G_M41795_IG08:        ; bbWeight=2, gcVars=0000000008000000 {V76}, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, gcvars, byref
        ; byrRegs -[rcx]
        ; GC ptr vars -{V63}
        cmp      edi, 84
        jne      G_M41795_IG32
                        ;; size=9 bbWeight=2 PerfScore 2.50
-G_M41795_IG09:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=2008 {rbx r13}, byref
+G_M41795_IG09:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref
        mov      rdi, rbx
        ; byrRegs +[rdi]
        mov      rsi, r14
@@ -198,94 +200,93 @@ G_M41795_IG09:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=2008 {rb
        ; gcrRegs -[rsi] +[rax]
        ; byrRegs -[rdi]
        ; gcr arg pop 0
-       mov      gword ptr [rbp-0x48], rax
+       mov      gword ptr [rbp-0x40], rax
        ; GC ptr vars +{V06}
        mov      rdi, rbx
        ; byrRegs +[rdi]
        call     [System.Reflection.CustomAttributeEncodedArgument+CustomAttributeDataParser:GetString():System.String:this]
        ; byrRegs -[rdi]
        ; gcr arg pop 0
-       mov      gword ptr [rbp-0x50], rax
+       mov      gword ptr [rbp-0x48], rax
        ; GC ptr vars +{V07}
        test     rax, rax
        je       G_M41795_IG33
                        ;; size=38 bbWeight=4 PerfScore 40.00
-G_M41795_IG10:        ; bbWeight=2, gcVars=0000000000000900 {V06 V07}, gcrefRegs=C001 {rax r14 r15}, byrefRegs=2008 {rbx r13}, gcvars, byref
+G_M41795_IG10:        ; bbWeight=2, gcVars=0000000008000900 {V06 V07 V76}, gcrefRegs=C001 {rax r14 r15}, byrefRegs=0008 {rbx}, gcvars, byref
        mov      ecx, dword ptr [rax+0x08]
        mov      dword ptr [rbp-0x34], ecx
        test     ecx, ecx
        je       G_M41795_IG33
                        ;; size=14 bbWeight=2 PerfScore 8.50
-G_M41795_IG11:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=2008 {rbx r13}, byref
+G_M41795_IG11:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref
        ; gcrRegs -[rax]
-       xor      r8, r8
-       ; gcrRegs +[r8]
-       xor      r9d, r9d
-       mov      r10d, dword ptr [r15+0x08]
-       mov      dword ptr [rbp-0x38], r10d
-       test     r10d, r10d
-       jle      G_M41795_IG29
-                       ;; size=23 bbWeight=4 PerfScore 19.00
-G_M41795_IG12:        ; bbWeight=16, gcrefRegs=C100 {r8 r14 r15}, byrefRegs=2008 {rbx r13}, byref
-       mov      dword ptr [rbp-0x30], r9d
-       mov      edi, r9d
-       mov      rdx, gword ptr [r15+8*rdi+0x10]
+       xor      rdx, rdx
        ; gcrRegs +[rdx]
-       mov      gword ptr [rbp-0x60], rdx
+       mov      gword ptr [rbp-0x50], rdx
+       ; GC ptr vars +{V08}
+       xor      esi, esi
+       mov      r8d, dword ptr [r15+0x08]
+       mov      dword ptr [rbp-0x38], r8d
+       test     r8d, r8d
+       jle      G_M41795_IG29
+                       ;; size=25 bbWeight=4 PerfScore 23.00
+G_M41795_IG12:        ; bbWeight=16, gcVars=0000000008040900 {V06 V07 V08 V76}, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, gcvars, byref
+       ; gcrRegs -[rdx]
+       mov      dword ptr [rbp-0x30], esi
+       mov      edi, esi
+       mov      r9, gword ptr [r15+8*rdi+0x10]
+       ; gcrRegs +[r9]
+       mov      gword ptr [rbp-0x58], r9
        ; GC ptr vars +{V11}
-       mov      rsi, gword ptr [rdx+0x10]
-       ; gcrRegs +[rsi]
-       mov      gword ptr [rbp-0x68], rsi
+       mov      r10, gword ptr [r9+0x10]
+       ; gcrRegs +[r10]
+       mov      gword ptr [rbp-0x60], r10
        ; GC ptr vars +{V12}
-       cmp      dword ptr [rsi+0x10], 81
-       mov      bword ptr [rbp-0x40], rbx
-       ; GC ptr vars +{V00}
+       cmp      dword ptr [r10+0x10], 81
        je       G_M41795_IG26
-                       ;; size=38 bbWeight=16 PerfScore 196.00
-G_M41795_IG13:        ; bbWeight=8, gcVars=00000000000009C2 {V00 V06 V07 V11 V12}, gcrefRegs=C144 {rdx rsi r8 r14 r15}, byrefRegs=2000 {r13}, gcvars, byref
-       ; byrRegs -[rbx]
-       mov      edi, dword ptr [rsi+0x10]
-       mov      r11, gword ptr [rbp-0x48]
+                        ;; size=33 bbWeight=16 PerfScore 180.00
+G_M41795_IG13:        ; bbWeight=8, gcVars=0000000008040942 {V06 V07 V08 V11 V12 V76}, gcrefRegs=C600 {r9 r10 r14 r15}, byrefRegs=0008 {rbx}, gcvars, byref
+       mov      edi, dword ptr [r10+0x10]
+       mov      r11, gword ptr [rbp-0x40]
        ; gcrRegs +[r11]
-       mov      ebx, dword ptr [r11+0x10]
-       cmp      edi, ebx
+       mov      r13d, dword ptr [r11+0x10]
+       cmp      edi, r13d
        jne      G_M41795_IG25
-       cmp      ebx, 29
+       cmp      r13d, 29
        jne      G_M41795_IG24
-       mov      edi, dword ptr [rsi+0x18]
+       mov      edi, dword ptr [r10+0x18]
        cmp      edi, 81
        je       G_M41795_IG23
        cmp      dword ptr [r11+0x18], edi
-       mov      gword ptr [rbp-0x58], r8
-       ; GC ptr vars +{V08}
        jne      G_M41795_IG22
-                     ;; size=54 bbWeight=8 PerfScore 126.00
-G_M41795_IG14:        ; bbWeight=8, gcVars=00000000000409C2 {V00 V06 V07 V08 V11 V12}, gcrefRegs=C004 {rdx r14 r15}, byrefRegs=2000 {r13}, gcvars, byref, isz
-       ; gcrRegs -[rsi r8 r11]
-       mov      rdi, gword ptr [rdx+0x08]
+                        ;; size=54 bbWeight=8 PerfScore 118.00
+G_M41795_IG14:        ; bbWeight=8, gcrefRegs=C200 {r9 r14 r15}, byrefRegs=0008 {rbx}, byref, isz
+       ; gcrRegs -[r10-r11]
+       mov      rdi, gword ptr [r9+0x08]
        ; gcrRegs +[rdi]
-       mov      rbx, qword ptr [rdi]
-       mov      rbx, qword ptr [rbx+0x48]
-       call     [rbx+0x30]<unknown method>
-       ; gcrRegs -[rdx rdi] +[rax]
+       mov      r13, qword ptr [rdi]
+       mov      r13, qword ptr [r13+0x48]
+       call     [r13+0x30]<unknown method>
+       ; gcrRegs -[rdi r9] +[rax]
        ; gcr arg pop 0
        cmp      byte  ptr [rax], al
-       mov      rbx, gword ptr [rbp-0x50]
-       ; gcrRegs +[rbx]
-       cmp      rax, rbx
+       mov      r13, gword ptr [rbp-0x48]
+       ; gcrRegs +[r13]
+       cmp      rax, r13
        je       SHORT G_M41795_IG17
-                      ;; size=25 bbWeight=8 PerfScore 114.00
-G_M41795_IG15:        ; bbWeight=64, gcrefRegs=C009 {rax rbx r14 r15}, byrefRegs=2000 {r13}, byref, isz
+                      ;; size=26 bbWeight=8 PerfScore 114.00
+G_M41795_IG15:        ; bbWeight=64, gcrefRegs=E001 {rax r13 r14 r15}, byrefRegs=0008 {rbx}, byref, isz
        mov      ecx, dword ptr [rbp-0x34]
        cmp      dword ptr [rax+0x08], ecx
        jne      SHORT G_M41795_IG19
                        ;; size=8 bbWeight=64 PerfScore 320.00
-G_M41795_IG16:        ; bbWeight=8, gcrefRegs=C009 {rax rbx r14 r15}, byrefRegs=2000 {r13}, byref, isz
+G_M41795_IG16:        ; bbWeight=8, gcrefRegs=E001 {rax r13 r14 r15}, byrefRegs=0008 {rbx}, byref, isz
        lea      rdi, bword ptr [rax+0x0C]
...
  
+8 (+1.11%) : 24540.dasm - System.Collections.Utils:FillCollectionsSystem.__Canon,System.Collections.BigStruct (Tier1-OSR)
@@ -34,7 +34,7 @@
 ;  V22 tmp11        [V22,T04] (  4, 12   )    long  ->  r11         "VirtualCall with runtime lookup"
 ;  V23 tmp12        [V23,T08] (  4,  8   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.__Canon,ubyte]>
 ;* V24 tmp13        [V24    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V25 tmp14        [V25,T19] (  2,  4   )     ref  ->  r12         class-hnd single-def "impAppendStmt" <System.Object>
+;  V25 tmp14        [V25,T19] (  2,  4   )     ref  ->  [rbp-0x38]  class-hnd spill-single-def "impAppendStmt" <System.Object>
 ;* V26 tmp15        [V26    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V27 tmp16        [V27,T23] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V28 tmp17        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Func`2[System.__Canon,ubyte]>
@@ -129,16 +129,15 @@ G_M25359_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8000 {r15}, byr
        ; gcrRegs +[r12]
        mov      rdi, gword ptr [r12+0x08]
        ; gcrRegs +[rdi]
-       mov      rax, rdi
-       xor      edi, edi
-       ; gcrRegs -[rdi]
-       xor      ecx, ecx
-       mov      r12, rax
+       xor      r11d, r11d
+       mov      gword ptr [rbp+0x1F8], r12
        mov      rax, r13
-       mov      r13d, ecx
+       mov      r12, rdi
+       mov      r13d, r11d
        ; gcrRegs -[r13]
-                        ;; size=41 bbWeight=2 PerfScore 17.50
+                     ;; size=44 bbWeight=2 PerfScore 18.50
 G_M25359_IG08:        ; bbWeight=4, gcrefRegs=1001 {rax r12}, byrefRegs=8000 {r15}, byref, isz
+       ; gcrRegs -[rdi]
        mov      edx, dword ptr [r12+0x08]
        mov      dword ptr [rbp-0x2C], edx
        cmp      edx, r13d
@@ -269,47 +268,50 @@ G_M25359_IG20:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=8000 {r15}, byr
        ; gcr arg pop 0
        mov      r13, rax
        ; gcrRegs +[r13]
-       mov      r12, gword ptr [r15]
+       mov      rax, gword ptr [r15]
+       mov      gword ptr [rbp-0x38], rax
+       ; GC ptr vars +{V25}
+       mov      r12, gword ptr [rbp+0x1F8]
        ; gcrRegs +[r12]
-       mov      rax, gword ptr [rbp+0x1F8]
-       test     rax, rax
+       test     r12, r12
        je       SHORT G_M25359_IG26
        lea      rdi, bword ptr [r13+0x08]
        ; byrRegs +[rdi]
-       mov      rsi, rax
+       mov      rsi, r12
        ; gcrRegs +[rsi]
        ; GC ptr vars -{V04}
        call     CORINFO_HELP_ASSIGN_REF
-       ; gcrRegs -[rax rsi]
+       ; gcrRegs -[rax rsi r12]
        ; byrRegs -[rdi]
        mov      rdi, 0xD1FFAB1E      ; code for <unknown method>
        mov      qword ptr [r13+0x18], rdi
        mov      rdi, qword ptr [rbx+0x38]
        cmp      qword ptr [rdi+0x10], 64
        jle      SHORT G_M25359_IG23
-                      ;; size=60 bbWeight=1 PerfScore 14.50
-G_M25359_IG21:        ; bbWeight=0.80, gcrefRegs=3000 {r12 r13}, byrefRegs=8000 {r15}, byref, isz
+                        ;; size=64 bbWeight=1 PerfScore 15.50
+G_M25359_IG21:        ; bbWeight=0.80, gcrefRegs=2000 {r13}, byrefRegs=8000 {r15}, byref, isz
        mov      rdi, qword ptr [rdi+0x40]
        test     rdi, rdi
        je       SHORT G_M25359_IG23
                        ;; size=9 bbWeight=0.80 PerfScore 2.60
-G_M25359_IG22:        ; bbWeight=0.64, gcrefRegs=3000 {r12 r13}, byrefRegs=8000 {r15}, byref, isz
+G_M25359_IG22:        ; bbWeight=0.64, gcrefRegs=2000 {r13}, byrefRegs=8000 {r15}, byref, isz
        jmp      SHORT G_M25359_IG24
                        ;; size=2 bbWeight=0.64 PerfScore 1.28
-G_M25359_IG23:        ; bbWeight=0.36, gcrefRegs=3000 {r12 r13}, byrefRegs=8000 {r15}, byref
+G_M25359_IG23:        ; bbWeight=0.36, gcrefRegs=2000 {r13}, byrefRegs=8000 {r15}, byref
        mov      rdi, rbx
        mov      rsi, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_METHOD
        ; gcr arg pop 0
        mov      rdi, rax
                        ;; size=21 bbWeight=0.36 PerfScore 0.63
-G_M25359_IG24:        ; bbWeight=1, gcrefRegs=3000 {r12 r13}, byrefRegs=8000 {r15}, byref, isz
-       mov      rsi, r12
+G_M25359_IG24:        ; bbWeight=1, gcrefRegs=2000 {r13}, byrefRegs=8000 {r15}, byref, isz
+       mov      rsi, gword ptr [rbp-0x38]
        ; gcrRegs +[rsi]
        mov      rdx, r13
        ; gcrRegs +[rdx]
+       ; GC ptr vars -{V25}
        call     [<unknown method>]
-       ; gcrRegs -[rdx rsi r12-r13]
+       ; gcrRegs -[rdx rsi r13]
        ; gcr arg pop 0
        test     eax, eax
        jne      SHORT G_M25359_IG27
@@ -317,7 +319,7 @@ G_M25359_IG24:        ; bbWeight=1, gcrefRegs=3000 {r12 r13}, byrefRegs=8000 {r1
        ; gcrRegs +[rax]
        cmp      dword ptr [rax+0x08], r14d
        jne      SHORT G_M25359_IG27
-                      ;; size=25 bbWeight=1 PerfScore 10.75
+                     ;; size=26 bbWeight=1 PerfScore 11.50
 G_M25359_IG25:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 648
        pop      rbx
@@ -393,7 +395,7 @@ G_M25359_IG31:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
                        ;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 719, prolog size 103, PerfScore 472.26, instruction count 178, allocated bytes for code 719 (MethodHash=a4789cf0) for method System.Collections.Utils:FillCollections[System.__Canon,System.Collections.BigStruct](byref,int,System.Collections.BigStruct[]) (Tier1-OSR)
+; Total bytes of code 727, prolog size 103, PerfScore 475.01, instruction count 178, allocated bytes for code 727 (MethodHash=a4789cf0) for method System.Collections.Utils:FillCollections[System.__Canon,System.Collections.BigStruct](byref,int,System.Collections.BigStruct[]) (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
  
+17 (+1.90%) : 12702.dasm - System.Number:TryParseBinaryIntegerHexOrBinaryNumberStyle[ushort,ubyte,System.Number+HexParser1[ubyte]](System.ReadOnlySpan1[ushort],int,byref):int (Tier1)
@@ -12,7 +12,7 @@
 ;  V01 arg1         [V01,T06] (  5,  4   )     int  ->  r14         single-def
 ;  V02 arg2         [V02,T07] (  5,  3.50)   byref  ->  r13         single-def
 ;  V03 loc0         [V03,T00] ( 31, 75   )     int  ->  rdx        
-;  V04 loc1         [V04,T01] ( 22, 35.25)     int  ->  rdi        
+;  V04 loc1         [V04,T01] ( 22, 35.25)     int  ->  registers  
 ;  V05 loc2         [V05,T25] (  3,  1.50)   ubyte  ->  r12        
 ;  V06 loc3         [V06,T12] (  7,  3.50)   ubyte  ->  [rbp-0x2C] 
 ;  V07 loc4         [V07,T16] (  4,  2.50)     int  ->  rax        
@@ -45,37 +45,37 @@
 ;* V34 tmp19        [V34,T39] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V35 tmp20        [V35    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V36 tmp21        [V36,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V37 tmp22        [V37,T28] (  3,  1.50)    long  ->  rsi         "Inline stloc first use temp"
+;  V37 tmp22        [V37,T28] (  3,  1.50)    long  ->  rax         "Inline stloc first use temp"
 ;* V38 tmp23        [V38    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V39 tmp24        [V39    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V40 tmp25        [V40    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;  V41 tmp26        [V41,T29] (  3,  1.50)    long  ->  rsi         "Inline stloc first use temp"
+;  V41 tmp26        [V41,T29] (  3,  1.50)    long  ->  rax         "Inline stloc first use temp"
 ;* V42 tmp27        [V42    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V43 tmp28        [V43    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V44 tmp29        [V44,T30] (  3,  1.50)     int  ->  rax         "Inline return value spill temp"
+;  V44 tmp29        [V44,T30] (  3,  1.50)     int  ->  rdi         "Inline return value spill temp"
 ;* V45 tmp30        [V45    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V46 tmp31        [V46    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V47 tmp32        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;  V48 tmp33        [V48,T36] (  2,  1   )   ubyte  ->  rax         ld-addr-op "Inline ldloca(s) first use temp"
+;  V48 tmp33        [V48,T36] (  2,  1   )   ubyte  ->  rsi         ld-addr-op "Inline ldloca(s) first use temp"
 ;* V49 tmp34        [V49    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V50 tmp35        [V50    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V51 tmp36        [V51    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V52 tmp37        [V52    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;  V53 tmp38        [V53,T21] (  4,  1.50)     int  ->  rsi         "Inline return value spill temp"
+;  V53 tmp38        [V53,T21] (  4,  1.50)     int  ->  rax         "Inline return value spill temp"
 ;* V54 tmp39        [V54    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V55 tmp40        [V55    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V56 tmp41        [V56    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;  V57 tmp42        [V57,T37] (  2,  1   )   ubyte  ->  rdi         ld-addr-op "Inline ldloca(s) first use temp"
+;  V57 tmp42        [V57,T37] (  2,  1   )   ubyte  ->  rsi         ld-addr-op "Inline ldloca(s) first use temp"
 ;* V58 tmp43        [V58    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V59 tmp44        [V59    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V60 tmp45        [V60    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V61 tmp46        [V61    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V62 tmp47        [V62    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;  V63 tmp48        [V63,T31] (  3,  1.50)    long  ->  rax         "Inline stloc first use temp"
+;  V63 tmp48        [V63,T31] (  3,  1.50)    long  ->  rdi         "Inline stloc first use temp"
 ;* V64 tmp49        [V64    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V65 tmp50        [V65    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V66 tmp51        [V66    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;  V67 tmp52        [V67,T04] (  3, 12   )    long  ->  rax         "Inline stloc first use temp"
+;  V67 tmp52        [V67,T04] (  3, 12   )    long  ->  rdi         "Inline stloc first use temp"
 ;* V68 tmp53        [V68    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V69 tmp54        [V69    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V70 tmp55        [V70,T40] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
@@ -277,7 +277,7 @@ G_M42207_IG14:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=A000 {r13
                        ;; size=16 bbWeight=0.50 PerfScore 1.62
 G_M42207_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r15}, byref
        test     ebx, ebx
-       je       G_M42207_IG34
+       je       G_M42207_IG36
                      ;; size=8 bbWeight=1 PerfScore 1.25
 G_M42207_IG16:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r15}, byref, isz
        xor      edx, edx
@@ -293,7 +293,7 @@ G_M42207_IG16:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r1
 G_M42207_IG17:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r15}, byref, isz
        inc      edx
        cmp      edx, ebx
-       jae      G_M42207_IG34
+       jae      G_M42207_IG36
        mov      edi, edx
        movzx    rdi, word  ptr [r15+2*rdi]
        cmp      edi, 32
@@ -305,120 +305,138 @@ G_M42207_IG17:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r15},
 G_M42207_IG18:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r15}, byref, isz
        xor      r12d, r12d
        xor      eax, eax
-       lea      esi, [rdi-0x30]
+       xor      esi, esi
+       lea      eax, [rdi-0x30]
        mov      rcx, 0xD1FFAB1E
-       shlx     rcx, rcx, rsi
-       add      rsi, -64
-       and      rsi, rcx
-       jge      G_M42207_IG34
+       shlx     rcx, rcx, rax
+       add      rax, -64
+       and      rax, rcx
+       jge      G_M42207_IG36
        cmp      edi, 48
        jne      SHORT G_M42207_IG21
-                      ;; size=41 bbWeight=0.50 PerfScore 2.25
+                       ;; size=43 bbWeight=0.50 PerfScore 2.38
 G_M42207_IG19:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r15}, byref, isz
        inc      edx
        cmp      edx, ebx
-       jae      G_M42207_IG32
+       jae      G_M42207_IG34
        mov      edi, edx
        movzx    rdi, word  ptr [r15+2*rdi]
        cmp      edi, 48
        je       SHORT G_M42207_IG19
                        ;; size=22 bbWeight=4 PerfScore 20.00
 G_M42207_IG20:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r15}, byref
-       lea      esi, [rdi-0x30]
+       lea      eax, [rdi-0x30]
        mov      rcx, 0xD1FFAB1E
-       shlx     rcx, rcx, rsi
-       add      rsi, -64
-       and      rsi, rcx
-       jge      G_M42207_IG36
+       shlx     rcx, rcx, rax
+       add      rax, -64
+       and      rax, rcx
+       jge      G_M42207_IG38
                       ;; size=31 bbWeight=0.50 PerfScore 1.38
 G_M42207_IG21:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r15}, byref, isz
        cmp      edi, 256
        jge      SHORT G_M42207_IG22
-       mov      eax, edi
+       mov      esi, edi
        mov      rdi, 0xD1FFAB1E      ; static handle
-       movzx    rax, byte  ptr [rax+rdi]
+       movzx    rdi, byte  ptr [rsi+rdi]
        jmp      SHORT G_M42207_IG23
-                       ;; size=26 bbWeight=0.50 PerfScore 2.88
+                       ;; size=27 bbWeight=0.50 PerfScore 2.88
 G_M42207_IG22:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r15}, byref
-       mov      eax, 255
+       mov      edi, 255
                         ;; size=5 bbWeight=0.50 PerfScore 0.12
 G_M42207_IG23:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r15}, byref, isz
-       movzx    rax, al
+       movzx    rsi, dil
+       mov      edi, esi
        inc      edx
        cmp      edx, ebx
-       jae      G_M42207_IG32
-       mov      edi, edx
-       movzx    rdi, word  ptr [r15+2*rdi]
-       cmp      edi, 256
-       jge      SHORT G_M42207_IG25
-                       ;; size=28 bbWeight=0.50 PerfScore 2.62
+       jae      SHORT G_M42207_IG25
+       mov      esi, edx
+       movzx    rsi, word  ptr [r15+2*rsi]
+       cmp      esi, 256
+       jge      SHORT G_M42207_IG26
+                       ;; size=27 bbWeight=0.50 PerfScore 2.75
 G_M42207_IG24:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r15}, byref, isz
-       mov      esi, edi
+       mov      eax, esi
        mov      rcx, 0xD1FFAB1E      ; static handle
-       movzx    rsi, byte  ptr [rsi+rcx]
-       jmp      SHORT G_M42207_IG26
-                       ;; size=19 bbWeight=0.25 PerfScore 1.12
-G_M42207_IG25:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r15}, byref
-       mov      esi, 255
-                       ;; size=5 bbWeight=0.25 PerfScore 0.06
-G_M42207_IG26:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r15}, byref, isz
-       cmp      esi, 15
-       ja       G_M42207_IG36
-       inc      edx
-       shl      eax, 4
-       movzx    rax, al
-       mov      ecx, eax
-       movzx    rdi, sil
-       add      edi, ecx
-       movzx    rcx, dil
-       cmp      edx, ebx
-       jae      SHORT G_M42207_IG30
-       mov      eax, edx
-       movzx    rdi, word  ptr [r15+2*rax]
-       lea      eax, [rdi-0x30]
-       mov      rsi, 0xD1FFAB1E
-       shlx     rsi, rsi, rax
-       add      rax, -64
-       and      rax, rsi
-       jge      SHORT G_M42207_IG29
-                       ;; size=67 bbWeight=0.50 PerfScore 4.75
-G_M42207_IG27:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r15}, byref, isz
-       inc      edx
-       cmp      edx, ebx
-       jae      SHORT G_M42207_IG35
-       mov      edi, edx
-       movzx    rdi, word  ptr [r15+2*rdi]
-       lea      eax, [rdi-0x30]
-       mov      rsi, 0xD1FFAB1E
-       shlx     rsi, rsi, rax
-       add      rax, -64
-       and      rax, rsi
-       jl       SHORT G_M42207_IG27
-                       ;; size=40 bbWeight=4 PerfScore 26.00
-G_M42207_IG28:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r15}, byref, isz
-       mov      r12d, 1
-       mov      eax, ecx
-       jmp      SHORT G_M42207_IG36
-                       ;; size=10 bbWeight=0.50 PerfScore 1.25
-G_M42207_IG29:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r15}, byref, isz
-       mov      eax, ecx
-       jmp      SHORT G_M42207_IG36
-                       ;; size=4 bbWeight=0.25 PerfScore 0.56
-G_M42207_IG30:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=2000 {r13}, byref, isz
+       movzx    rax, byte  ptr [rax+rcx]
+       jmp      SHORT G_M42207_IG27
+                       ;; size=18 bbWeight=0.25 PerfScore 1.12
+G_M42207_IG25:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=2000 {r13}, byref
        ; byrRegs -[r15]
-       mov      eax, ecx
-       jmp      SHORT G_M42207_IG32
+       mov      esi, edi
+       jmp      G_M42207_IG34
+                       ;; size=7 bbWeight=0.25 PerfScore 0.56
+G_M42207_IG26:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r15}, byref
+       ; byrRegs +[r15]
+       mov      eax, 255
+                       ;; size=5 bbWeight=0.25 PerfScore 0.06
+G_M42207_IG27:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r15}, byref, isz
+       cmp      eax, 15
+       ja       SHORT G_M42207_IG32
+       inc      edx
+       shl      edi, 4
+       movzx    rdi, dil
+       mov      ecx, edi
+       movzx    rsi, al
+       add      esi, ecx
+       movzx    rcx, sil
+       cmp      edx, ebx
+       jae      SHORT G_M42207_IG31
+       mov      edi, edx
+       movzx    rsi, word  ptr [r15+2*rdi]
+       lea      edi, [rsi-0x30]
+       mov      rax, 0xD1FFAB1E
+       shlx     rax, rax, rdi
+       add      rdi, -64
+       and      rdi, rax
+       mov      edi, esi
+       jge      SHORT G_M42207_IG30
+                       ;; size=66 bbWeight=0.50 PerfScore 4.88
+G_M42207_IG28:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=A000 {r13 r15}, byref, isz
+       inc      edx
+       cmp      edx, ebx
+       jae      SHORT G_M42207_IG37
+       mov      esi, edx
+       movzx    rsi, word  ptr [r15+2*rsi]
+       lea      edi, [rsi-0x30]
+       mov      rax, 0xD1FFAB1E
+       shlx     rax, rax, rdi
+       add      rdi, -64
+       and      rdi, rax
...
  
+18 (+2.39%) : 35426.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1-OSR)
@@ -13,7 +13,7 @@
 ;  V02 arg2         [V02,T12] (  4,  6   )     ref  ->  rdx         class-hnd single-def <int[]>
 ;  V03 arg3         [V03,T03] ( 19, 47.04)     ref  ->  rcx         class-hnd single-def <double[]>
 ;  V04 loc0         [V04,T01] ( 42, 92.16)     int  ->   r8        
-;  V05 loc1         [V05,T00] ( 38, 93.52)     int  ->  rax        
+;  V05 loc1         [V05,T00] ( 38, 93.52)     int  ->  registers  
 ;  V06 loc2         [V06,T13] (  4,  8   )     int  ->  rax        
 ;  V07 loc3         [V07,T16] (  3,  4.50)     int  ->   r9        
 ;  V08 loc4         [V08,T19] ( 17, 60   )  double  ->  mm0        
@@ -22,15 +22,15 @@
 ;  V11 tmp2         [V11,T20] (  4, 16   )  double  ->  mm1         "Strict ordering of exceptions for Array store"
 ;  V12 tmp3         [V12,T11] (  5, 16.08)     ref  ->  r11         "arr expr"
 ;  V13 tmp4         [V13,T02] (  8, 64.64)     ref  ->  rbx         "arr expr"
-;  V14 tmp5         [V14,T07] (  6, 24   )     ref  ->  r11         "arr expr"
-;  V15 cse0         [V15,T17] (  4,  0.26)     ref  ->  r11         hoist multi-def "CSE - conservative"
-;  V16 cse1         [V16,T06] (  8, 29.72)     ref  ->  r11         hoist multi-def "CSE - aggressive"
+;  V14 tmp5         [V14,T07] (  6, 24   )     ref  ->  rdx         "arr expr"
+;  V15 cse0         [V15,T17] (  4,  0.26)     ref  ->  rdx         hoist multi-def "CSE - conservative"
+;  V16 cse1         [V16,T06] (  8, 29.72)     ref  ->  rdx         hoist multi-def "CSE - aggressive"
 ;  V17 cse2         [V17,T14] (  6,  7.04)     ref  ->  r10         multi-def "CSE - moderate"
 ;  V18 cse3         [V18,T09] ( 13, 18.42)     int  ->  registers   hoist multi-def "CSE - aggressive"
-;  V19 cse4         [V19,T15] (  4,  6   )     int  ->   r9         "CSE - moderate"
-;  V20 cse5         [V20,T08] (  7, 21.80)    long  ->  rdx         "CSE - aggressive"
+;  V19 cse4         [V19,T15] (  4,  6   )     int  ->  rax         "CSE - moderate"
+;  V20 cse5         [V20,T08] (  7, 21.80)    long  ->  r11         "CSE - aggressive"
 ;  V21 cse6         [V21,T04] (  3, 47.04)    long  ->  r15         "CSE - aggressive"
-;  V22 cse7         [V22,T18] (  6,  0.22)    long  ->  rdx         "CSE - conservative"
+;  V22 cse7         [V22,T18] (  6,  0.22)    long  ->  r11         "CSE - conservative"
 ;
 ; Lcl frame size = 0
 
@@ -96,8 +96,8 @@ G_M64421_IG06:        ; bbWeight=8, gcrefRegs=0086 {rcx rdx rdi}, byrefRegs=0000
                        ;; size=26 bbWeight=8 PerfScore 40.00
 G_M64421_IG07:        ; bbWeight=1, gcrefRegs=0082 {rcx rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdx]
-       lea      r9d, [rsi-0x01]
-       mov      r8d, r9d
+       lea      eax, [rsi-0x01]
+       mov      r8d, eax
        test     r8d, r8d
        jl       G_M64421_IG20
        test     rdi, rdi
@@ -106,133 +106,133 @@ G_M64421_IG07:        ; bbWeight=1, gcrefRegs=0082 {rcx rdi}, byrefRegs=0000 {},
        jle      G_M64421_IG16
        cmp      dword ptr [rdi+0x08], r8d
        jle      G_M64421_IG16
-                        ;; size=44 bbWeight=1 PerfScore 8.50
+                      ;; size=43 bbWeight=1 PerfScore 8.50
 G_M64421_IG08:        ; bbWeight=3.96, gcrefRegs=0082 {rcx rdi}, byrefRegs=0000 {}, byref
-       mov      edx, r8d
-       vmovsd   xmm0, qword ptr [rcx+8*rdx+0x10]
-       cmp      r8d, r9d
+       mov      r11d, r8d
+       vmovsd   xmm0, qword ptr [rcx+8*r11+0x10]
+       cmp      r8d, eax
        je       G_M64421_IG14
-                        ;; size=18 bbWeight=3.96 PerfScore 21.78
+                      ;; size=19 bbWeight=3.96 PerfScore 21.78
 G_M64421_IG09:        ; bbWeight=1.98, gcrefRegs=0082 {rcx rdi}, byrefRegs=0000 {}, byref, isz
-       lea      eax, [r8+0x01]
-       cmp      eax, esi
-       jge      SHORT G_M64421_IG14
+       lea      r9d, [r8+0x01]
+       cmp      r9d, esi
+       jge      G_M64421_IG14
        cmp      dword ptr [rdi+0x08], r8d
        jbe      SHORT G_M64421_IG12
-       mov      r11, gword ptr [rdi+8*rdx+0x10]
-       ; gcrRegs +[r11]
-       test     r11, r11
+       mov      rdx, gword ptr [rdi+8*r11+0x10]
+       ; gcrRegs +[rdx]
+       test     rdx, rdx
        je       SHORT G_M64421_IG12
-       mov      ebx, eax
+       mov      ebx, r9d
        or       ebx, esi
        jl       SHORT G_M64421_IG12
-       cmp      dword ptr [r11+0x08], esi
+       cmp      dword ptr [rdx+0x08], esi
        jl       SHORT G_M64421_IG12
        cmp      r10d, esi
        jl       SHORT G_M64421_IG12
-                      ;; size=41 bbWeight=1.98 PerfScore 31.18
-G_M64421_IG10:        ; bbWeight=15.68, gcrefRegs=0882 {rcx rdi r11}, byrefRegs=0000 {}, byref, isz
-       mov      rbx, r11
+                     ;; size=46 bbWeight=1.98 PerfScore 31.18
+G_M64421_IG10:        ; bbWeight=15.68, gcrefRegs=0086 {rcx rdx rdi}, byrefRegs=0000 {}, byref, isz
+       mov      rbx, rdx
        ; gcrRegs +[rbx]
-       mov      r15d, eax
+       mov      r15d, r9d
        vmovsd   xmm1, qword ptr [rbx+8*r15+0x10]
        vmulsd   xmm1, xmm1, qword ptr [rcx+8*r15+0x10]
        vsubsd   xmm0, xmm0, xmm1
-       inc      eax
-       cmp      eax, esi
+       inc      r9d
+       cmp      r9d, esi
        jl       SHORT G_M64421_IG10
-                      ;; size=30 bbWeight=15.68 PerfScore 235.22
-G_M64421_IG11:        ; bbWeight=1.98, gcrefRegs=0082 {rcx rdi}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rbx r11]
+                      ;; size=32 bbWeight=15.68 PerfScore 235.22
+G_M64421_IG11:        ; bbWeight=3.96, gcrefRegs=0082 {rcx rdi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rdx rbx]
        jmp      SHORT G_M64421_IG14
-                       ;; size=2 bbWeight=1.98 PerfScore 3.96
+                        ;; size=2 bbWeight=3.96 PerfScore 7.92
 G_M64421_IG12:        ; bbWeight=0.02, gcrefRegs=0082 {rcx rdi}, byrefRegs=0000 {}, byref
-       mov      r11, gword ptr [rdi+8*rdx+0x10]
-       ; gcrRegs +[r11]
+       mov      rdx, gword ptr [rdi+8*r11+0x10]
+       ; gcrRegs +[rdx]
                         ;; size=5 bbWeight=0.02 PerfScore 0.04
-G_M64421_IG13:        ; bbWeight=0.16, gcrefRegs=0882 {rcx rdi r11}, byrefRegs=0000 {}, byref, isz
-       mov      rbx, r11
+G_M64421_IG13:        ; bbWeight=0.16, gcrefRegs=0086 {rcx rdx rdi}, byrefRegs=0000 {}, byref, isz
+       mov      rbx, rdx
        ; gcrRegs +[rbx]
-       cmp      eax, dword ptr [rbx+0x08]
+       cmp      r9d, dword ptr [rbx+0x08]
        jae      G_M64421_IG27
-       mov      r15d, eax
+       mov      r15d, r9d
        vmovsd   xmm1, qword ptr [rbx+8*r15+0x10]
-       cmp      eax, r10d
+       cmp      r9d, r10d
        jae      G_M64421_IG27
-       mov      ebx, eax
+       mov      ebx, r9d
        ; gcrRegs -[rbx]
        vmulsd   xmm1, xmm1, qword ptr [rcx+8*rbx+0x10]
        vsubsd   xmm0, xmm0, xmm1
-       inc      eax
-       cmp      eax, esi
+       inc      r9d
+       cmp      r9d, esi
        jl       SHORT G_M64421_IG13
-                      ;; size=49 bbWeight=0.16 PerfScore 3.25
+                       ;; size=53 bbWeight=0.16 PerfScore 3.25
 G_M64421_IG14:        ; bbWeight=3.96, gcrefRegs=0082 {rcx rdi}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[r11]
-       mov      r11, gword ptr [rdi+8*rdx+0x10]
-       ; gcrRegs +[r11]
-       cmp      r8d, dword ptr [r11+0x08]
+       ; gcrRegs -[rdx]
+       mov      rdx, gword ptr [rdi+8*r11+0x10]
+       ; gcrRegs +[rdx]
+       cmp      r8d, dword ptr [rdx+0x08]
        jae      G_M64421_IG27
-       vdivsd   xmm1, xmm0, qword ptr [r11+8*rdx+0x10]
-       vmovsd   qword ptr [rcx+8*rdx+0x10], xmm1
+       vdivsd   xmm1, xmm0, qword ptr [rdx+8*r11+0x10]
+       vmovsd   qword ptr [rcx+8*r11+0x10], xmm1
        dec      r8d
        jns      G_M64421_IG08
-                        ;; size=37 bbWeight=3.96 PerfScore 96.03
+                      ;; size=38 bbWeight=3.96 PerfScore 96.03
 G_M64421_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rcx rdi r11]
+       ; gcrRegs -[rcx rdx rdi]
        jmp      G_M64421_IG20
                        ;; size=5 bbWeight=1 PerfScore 2.00
 G_M64421_IG16:        ; bbWeight=0.04, gcrefRegs=0082 {rcx rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rcx rdi]
        cmp      r8d, r10d
        jae      G_M64421_IG27
-       mov      edx, r8d
-       vmovsd   xmm0, qword ptr [rcx+8*rdx+0x10]
-       cmp      r8d, r9d
+       mov      r11d, r8d
+       vmovsd   xmm0, qword ptr [rcx+8*r11+0x10]
+       cmp      r8d, eax
        je       SHORT G_M64421_IG19
-                      ;; size=23 bbWeight=0.04 PerfScore 0.27
+                       ;; size=24 bbWeight=0.04 PerfScore 0.27
 G_M64421_IG17:        ; bbWeight=0.02, gcrefRegs=0082 {rcx rdi}, byrefRegs=0000 {}, byref, isz
-       lea      eax, [r8+0x01]
-       cmp      eax, esi
+       lea      r9d, [r8+0x01]
+       cmp      r9d, esi
        jge      SHORT G_M64421_IG19
-       mov      r11d, dword ptr [rdi+0x08]
+       mov      edx, dword ptr [rdi+0x08]
        cmp      r8d, dword ptr [rdi+0x08]
        jae      G_M64421_IG27
-       mov      r11, gword ptr [rdi+8*rdx+0x10]
-       ; gcrRegs +[r11]
+       mov      rdx, gword ptr [rdi+8*r11+0x10]
+       ; gcrRegs +[rdx]
                         ;; size=27 bbWeight=0.02 PerfScore 0.20
-G_M64421_IG18:        ; bbWeight=0.16, gcrefRegs=0882 {rcx rdi r11}, byrefRegs=0000 {}, byref, isz
-       mov      rbx, r11
+G_M64421_IG18:        ; bbWeight=0.16, gcrefRegs=0086 {rcx rdx rdi}, byrefRegs=0000 {}, byref, isz
+       mov      rbx, rdx
        ; gcrRegs +[rbx]
-       cmp      eax, dword ptr [rbx+0x08]
+       cmp      r9d, dword ptr [rbx+0x08]
        jae      G_M64421_IG27
-       mov      r15d, eax
+       mov      r15d, r9d
        vmovsd   xmm1, qword ptr [rbx+8*r15+0x10]
-       cmp      eax, r10d
+       cmp      r9d, r10d
        jae      G_M64421_IG27
-       mov      ebx, eax
+       mov      ebx, r9d
        ; gcrRegs -[rbx]
        vmulsd   xmm1, xmm1, qword ptr [rcx+8*rbx+0x10]
        vsubsd   xmm0, xmm0, xmm1
-       inc      eax
-       cmp      eax, esi
+       inc      r9d
+       cmp      r9d, esi
        jl       SHORT G_M64421_IG18
-                      ;; size=49 bbWeight=0.16 PerfScore 3.28
+                       ;; size=53 bbWeight=0.16 PerfScore 3.28
 G_M64421_IG19:        ; bbWeight=0.04, gcrefRegs=0082 {rcx rdi}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[r11]
+       ; gcrRegs -[rdx]
        cmp      r8d, dword ptr [rdi+0x08]
        jae      G_M64421_IG27
-       mov      r11, gword ptr [rdi+8*rdx+0x10]
-       ; gcrRegs +[r11]
-       cmp      r8d, dword ptr [r11+0x08]
+       mov      rdx, gword ptr [rdi+8*r11+0x10]
+       ; gcrRegs +[rdx]
+       cmp      r8d, dword ptr [rdx+0x08]
        jae      G_M64421_IG27
-       vdivsd   xmm1, xmm0, qword ptr [r11+8*rdx+0x10]
-       vmovsd   qword ptr [rcx+8*rdx+0x10], xmm1
+       vdivsd   xmm1, xmm0, qword ptr [rdx+8*r11+0x10]
+       vmovsd   qword ptr [rcx+8*r11+0x10], xmm1
        dec      r8d
        jns      G_M64421_IG16
-                        ;; size=47 bbWeight=0.04 PerfScore 1.13
+                       ;; size=48 bbWeight=0.04 PerfScore 1.13
 G_M64421_IG20:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-       ; gcrRegs -[rcx rdi r11]
+       ; gcrRegs -[rcx rdx rdi]
        add      rsp, 144
        pop      rbx
        pop      r15
@@ -279,10 +279,10 @@ G_M64421_IG23:        ; bbWeight=3.96, gcrefRegs=0486 {rcx rdx rdi r10}, byrefRe
        cmp      eax, r8d
        jl       SHORT G_M64421_IG23
                        ;; size=33 bbWeight=3.96 PerfScore 60.39
-G_M64421_IG24:        ; bbWeight=1, gcrefRegs=0086 {rcx rdx rdi}, byrefRegs=0000 {}, byref
+G_M64421_IG24:        ; bbWeight=0.50, gcrefRegs=0086 {rcx rdx rdi}, byrefRegs=0000 {}, byref
...
  
  
coreclr_tests.run.linux.x64.checked.mch
-43 (-6.54%) : 327176.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalList(System.Canon[]):this (Tier1)
@@ -10,15 +10,15 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T12] (  8,  5.62)     ref  ->  r15         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T01] (  8,119.80)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
-;  V02 loc0         [V02,T05] ( 17, 25.97)     ref  ->  r14         class-hnd <System.__Canon[]>
-;  V03 loc1         [V03,T07] (  5, 18.28)     int  ->  r13        
+;  V01 arg1         [V01,T03] (  8, 19.93)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
+;  V02 loc0         [V02,T02] ( 17, 25.97)     ref  ->  r14         class-hnd <System.__Canon[]>
+;  V03 loc1         [V03,T06] (  5, 18.28)     int  ->  r13        
 ;  V04 loc2         [V04,T11] (  9, 10.20)     int  ->  r12        
-;  V05 loc3         [V05,T02] (  6,120.02)     int  ->  [rbp-0x34] 
-;  V06 loc4         [V06,T08] (  9, 18.03)     ref  ->  [rbp-0x50]  class-hnd spill-single-def <System.__Canon>
-;* V07 loc5         [V07,T03] (  0,  0   )   ubyte  ->  zero-ref   
-;  V08 loc6         [V08,T04] ( 11, 63.89)     int  ->  [rbp-0x38] 
-;  V09 loc7         [V09,T00] ( 10,173.11)     ref  ->  [rbp-0x58]  class-hnd <System.__Canon>
+;  V05 loc3         [V05,T05] (  6, 20.16)     int  ->  [rbp-0x34] 
+;  V06 loc4         [V06,T07] (  9, 18.03)     ref  ->  [rbp-0x50]  class-hnd spill-single-def <System.__Canon>
+;* V07 loc5         [V07,T09] (  0,  0   )   ubyte  ->  zero-ref   
+;  V08 loc6         [V08,T01] ( 11, 63.89)     int  ->  [rbp-0x38] 
+;  V09 loc7         [V09,T00] ( 10, 73.24)     ref  ->  [rbp-0x58]  class-hnd <System.__Canon>
 ;  V10 loc8         [V10,T20] (  3,  0.44)     int  ->  [rbp-0x3C] 
 ;  V11 loc9         [V11    ] (  3,  0.67)     ref  ->  [rbp-0x48]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.__Canon[]>
 ;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -27,7 +27,7 @@
 ;* V15 tmp3         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
 ;* V16 tmp4         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V17 tmp5         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Reflection.RuntimeMethodInfo>
-;* V18 tmp6         [V18,T06] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
+;* V18 tmp6         [V18,T04] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
 ;  V19 tmp7         [V19,T19] (  4,  0.62)     int  ->   r8         "Inline return value spill temp"
 ;  V20 tmp8         [V20,T15] (  3,  0.98)     int  ->   r8         "Inlining Arg"
 ;  V21 tmp9         [V21,T21] (  3,  0.44)     int  ->   r9         "Inline return value spill temp"
@@ -35,7 +35,7 @@
 ;* V23 tmp11        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V24 tmp12        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
 ;  V25 tmp13        [V25,T18] (  2,  0.89)    long  ->  rdi         "argument with side effect"
-;  V26 cse0         [V26,T09] (  6, 15.77)    long  ->   r9         multi-def "CSE - aggressive"
+;  V26 cse0         [V26,T08] (  6, 15.77)    long  ->  rsi         multi-def "CSE - aggressive"
 ;  V27 cse1         [V27,T10] (  3, 14.13)     ref  ->  rsi         "CSE - moderate"
 ;  V28 rat0         [V28,T14] (  3,  0.98)    long  ->  rdi         "Spilling to split statement for tree"
 ;  V29 rat1         [V29,T17] (  3,  0.89)    long  ->  rdi         "runtime lookup"
@@ -72,53 +72,51 @@ G_M8298_IG02:        ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
        jle      SHORT G_M8298_IG09
                        ;; size=28 bbWeight=1 PerfScore 9.75
 G_M8298_IG03:        ; bbWeight=1.22, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
-       mov      esi, eax
-       mov      rcx, gword ptr [rbx+8*rsi+0x10]
+       mov      dword ptr [rbp-0x34], eax
+       mov      edi, eax
+       mov      rcx, gword ptr [rbx+8*rdi+0x10]
        ; gcrRegs +[rcx]
        mov      gword ptr [rbp-0x50], rcx
        ; GC ptr vars +{V06}
-       xor      r8d, r8d
+       xor      edi, edi
        test     r13d, r13d
        jle      G_M8298_IG16
-                     ;; size=23 bbWeight=1.22 PerfScore 5.81
-G_M8298_IG04:        ; bbWeight=0.61, gcVars=0000000000000100 {V06}, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+                     ;; size=25 bbWeight=1.22 PerfScore 7.03
+G_M8298_IG04:        ; bbWeight=0.61, gcVars=0000000000000080 {V06}, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        test     r14, r14
        je       SHORT G_M8298_IG13
        test     rcx, rcx
        je       SHORT G_M8298_IG13
-       mov      r9, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
-       cmp      qword ptr [rcx], r9
+       mov      rsi, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
+       cmp      qword ptr [rcx], rsi
        jne      SHORT G_M8298_IG13
        cmp      dword ptr [r14+0x08], r13d
        jl       SHORT G_M8298_IG13
                        ;; size=31 bbWeight=0.61 PerfScore 6.57
 G_M8298_IG05:        ; bbWeight=15.07, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
-       mov      esi, r8d
-       mov      r10, gword ptr [r14+8*rsi+0x10]
-       ; gcrRegs +[r10]
-       test     r10, r10
+       mov      edx, edi
+       mov      rdx, gword ptr [r14+8*rdx+0x10]
+       ; gcrRegs +[rdx]
+       test     rdx, rdx
        je       G_M8298_IG16
-                     ;; size=17 bbWeight=15.07 PerfScore 52.74
-G_M8298_IG06:        ; bbWeight=14.12, gcrefRegs=C40A {rcx rbx r10 r14 r15}, byrefRegs=0000 {}, byref, isz
-       cmp      qword ptr [r10], r9
+                      ;; size=16 bbWeight=15.07 PerfScore 52.74
+G_M8298_IG06:        ; bbWeight=14.12, gcrefRegs=C00E {rcx rdx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+       cmp      qword ptr [rdx], rsi
        jne      SHORT G_M8298_IG11
-       mov      rsi, qword ptr [r10+0x50]
-       cmp      rsi, qword ptr [rcx+0x50]
+       mov      r8, qword ptr [rdx+0x50]
+       cmp      r8, qword ptr [rcx+0x50]
        jne      SHORT G_M8298_IG11
                        ;; size=15 bbWeight=14.12 PerfScore 141.24
-G_M8298_IG07:        ; bbWeight=114.13, gcVars=0000000000000000 {}, gcrefRegs=C408 {rbx r10 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M8298_IG07:        ; bbWeight=14.27, gcVars=0000000000000000 {}, gcrefRegs=C00C {rdx rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rcx]
        ; GC ptr vars -{V06}
-       mov      dword ptr [rbp-0x34], eax
-       movsxd   rsi, eax
+       movsxd   rsi, dword ptr [rbp-0x34]
        mov      rdi, rbx
        ; gcrRegs +[rdi]
-       mov      rdx, r10
-       ; gcrRegs +[rdx]
        call     CORINFO_HELP_ARRADDR_ST
-       ; gcrRegs -[rdx rdi r10]
+       ; gcrRegs -[rdx rdi]
        ; gcr arg pop 0
-                       ;; size=17 bbWeight=114.13 PerfScore 313.87
+                       ;; size=12 bbWeight=14.27 PerfScore 60.63
 G_M8298_IG08:        ; bbWeight=1.22, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      eax, dword ptr [rbp-0x34]
        inc      eax
@@ -146,53 +144,48 @@ G_M8298_IG10:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=15 bbWeight=1 PerfScore 4.25
-G_M8298_IG11:        ; bbWeight=15.29, gcVars=0000000000000100 {V06}, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M8298_IG11:        ; bbWeight=15.29, gcVars=0000000000000080 {V06}, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rcx rbx r14]
-       ; GC ptr vars +{V06 V08}
-       inc      r8d
-       cmp      r8d, r13d
+       ; GC ptr vars +{V06 V07}
+       inc      edi
+       cmp      edi, r13d
        jl       SHORT G_M8298_IG05
-                      ;; size=8 bbWeight=15.29 PerfScore 22.93
+                      ;; size=7 bbWeight=15.29 PerfScore 22.93
 G_M8298_IG12:        ; bbWeight=0.61, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M8298_IG16
                        ;; size=2 bbWeight=0.61 PerfScore 1.22
 G_M8298_IG13:        ; bbWeight=0.15, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       cmp      r8d, dword ptr [r14+0x08]
+       cmp      edi, dword ptr [r14+0x08]
        jae      G_M8298_IG33
-       mov      r9d, r8d
-       mov      r10, gword ptr [r14+8*r9+0x10]
-       ; gcrRegs +[r10]
-       mov      rdx, r10
+       mov      edx, edi
+       mov      rdx, gword ptr [r14+8*rdx+0x10]
        ; gcrRegs +[rdx]
        test     rdx, rdx
        je       SHORT G_M8298_IG16
-                       ;; size=26 bbWeight=0.15 PerfScore 1.18
+                       ;; size=22 bbWeight=0.15 PerfScore 1.14
 G_M8298_IG14:        ; bbWeight=0.14, gcrefRegs=C00E {rcx rdx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[r10]
-       mov      r9, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
-       cmp      qword ptr [rcx], r9
+       mov      rsi, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
+       cmp      qword ptr [rcx], rsi
        jne      G_M8298_IG36
-       cmp      qword ptr [rdx], r9
+       cmp      qword ptr [rdx], rsi
        jne      SHORT G_M8298_IG15
-       mov      rdi, qword ptr [rdx+0x50]
-       cmp      rdi, qword ptr [rcx+0x50]
-       mov      r10, rdx
-       ; gcrRegs +[r10]
+       mov      rsi, qword ptr [rdx+0x50]
+       cmp      rsi, qword ptr [rcx+0x50]
        mov      rcx, gword ptr [rbp-0x50]
-       je       G_M8298_IG07
-                       ;; size=45 bbWeight=0.14 PerfScore 2.21
+       je       SHORT G_M8298_IG07
+                       ;; size=38 bbWeight=0.14 PerfScore 2.18
 G_M8298_IG15:        ; bbWeight=0.15, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rdx r10]
-       inc      r8d
-       cmp      r8d, r13d
+       ; gcrRegs -[rdx]
+       inc      edi
+       cmp      edi, r13d
        jl       SHORT G_M8298_IG13
-                      ;; size=8 bbWeight=0.15 PerfScore 0.23
+                        ;; size=7 bbWeight=0.15 PerfScore 0.23
 G_M8298_IG16:        ; bbWeight=1.18, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        test     r12d, r12d
        jne      SHORT G_M8298_IG18
                        ;; size=5 bbWeight=1.18 PerfScore 1.47
 G_M8298_IG17:        ; bbWeight=0.96, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
-       mov      r12d, r8d
+       mov      r12d, edi
                      ;; size=3 bbWeight=0.96 PerfScore 0.24
 G_M8298_IG18:        ; bbWeight=1.18, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        cmp      dword ptr [r14+0x08], r12d
@@ -203,9 +196,8 @@ G_M8298_IG19:        ; bbWeight=1.18, gcrefRegs=C00A {rcx rbx r14 r15}, byrefReg
        jae      G_M8298_IG33
        mov      edi, r12d
        cmp      gword ptr [r14+8*rdi+0x10], 0
-       mov      dword ptr [rbp-0x34], eax
        je       SHORT G_M8298_IG21
-                       ;; size=24 bbWeight=1.18 PerfScore 10.89
+                      ;; size=21 bbWeight=1.18 PerfScore 9.72
 G_M8298_IG20:        ; bbWeight=4.71, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        mov      rsi, 0xD1FFAB1E
@@ -232,16 +224,16 @@ G_M8298_IG21:        ; bbWeight=1.18, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=00
        ; byrRegs +[rdi]
        mov      rsi, gword ptr [rbp-0x50]
        ; gcrRegs +[rsi]
-       ; GC ptr vars -{V06 V08}
+       ; GC ptr vars -{V06 V07}
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        ; gcrRegs -[rsi]
        ; byrRegs -[rax rdi]
        inc      r12d
        jmp      G_M8298_IG08
                        ;; size=45 bbWeight=1.18 PerfScore 18.84
-G_M8298_IG22:        ; bbWeight=0.22, gcVars=0000000000000100 {V06}, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M8298_IG22:        ; bbWeight=0.22, gcVars=0000000000000080 {V06}, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rcx]
-       ; GC ptr vars +{V06 V08}
+       ; GC ptr vars +{V06 V07}
        cmp      byte  ptr [r15+0x18], 0
        jne      G_M8298_IG37
        mov      r8d, dword ptr [r14+0x08]
@@ -276,8 +268,7 @@ G_M8298_IG27:        ; bbWeight=0.22, gcrefRegs=C00A {rcx rbx r14 r15}, byrefReg
 G_M8298_IG28:        ; bbWeight=0.18, gcrefRegs=800A {rcx rbx r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        mov      rdi, rdx
-       mov      dword ptr [rbp-0x34], eax
-                       ;; size=6 bbWeight=0.18 PerfScore 0.22
+                        ;; size=3 bbWeight=0.18 PerfScore 0.04
 G_M8298_IG29:        ; bbWeight=0.22, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        lea      rsi, [rbp-0x48]
@@ -286,14 +277,12 @@ G_M8298_IG29:        ; bbWeight=0.22, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {
        ; gcr arg pop 0
        mov      r14, gword ptr [rbp-0x48]
        ; gcrRegs +[r14]
-       mov      eax, dword ptr [rbp-0x34]
        mov      rcx, gword ptr [rbp-0x50]
        ; gcrRegs +[rcx]
        jmp      G_M8298_IG19
-                     ;; size=29 bbWeight=0.22 PerfScore 1.94
+                       ;; size=26 bbWeight=0.22 PerfScore 1.72
 G_M8298_IG30:        ; bbWeight=0.04, gcrefRegs=800A {rcx rbx r15}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[r14]
-       mov      dword ptr [rbp-0x34], eax
        mov      dword ptr [rbp-0x3C], r8d
        mov      rsi, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
@@ -302,7 +291,7 @@ G_M8298_IG30:        ; bbWeight=0.04, gcrefRegs=800A {rcx rbx r15}, byrefRegs=00
...
  
-49 (-6.36%) : 489050.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalList(System.Canon[]):this (Tier1)
@@ -10,15 +10,15 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  8,  5.20)     ref  ->  rbx         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T02] (  8,  4.40)     ref  ->  r15         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T02] (  8,  4.60)     ref  ->  r15         class-hnd single-def <System.__Canon[]>
 ;  V02 loc0         [V02,T00] ( 17,  7.63)     ref  ->  r14         class-hnd <System.__Canon[]>
 ;  V03 loc1         [V03,T15] (  5,  1.40)     int  ->  r13        
 ;  V04 loc2         [V04,T06] (  9,  3.60)     int  ->  r12        
-;  V05 loc3         [V05,T08] (  6,  2.20)     int  ->  [rbp-0x34] 
+;  V05 loc3         [V05,T07] (  6,  2.40)     int  ->  [rbp-0x34] 
 ;  V06 loc4         [V06,T12] ( 10,  1.60)     ref  ->  [rbp-0x50]  class-hnd spill-single-def <System.__Canon>
-;  V07 loc5         [V07,T18] (  3,  1   )   ubyte  ->  [rbp-0x38] 
+;  V07 loc5         [V07,T17] (  3,  1.20)   ubyte  ->  [rbp-0x38] 
 ;  V08 loc6         [V08,T05] ( 11,  3.63)     int  ->  [rbp-0x3C] 
-;  V09 loc7         [V09,T04] ( 11,  4.23)     ref  ->  [rbp-0x58]  class-hnd <System.__Canon>
+;  V09 loc7         [V09,T03] ( 11,  4.43)     ref  ->  [rbp-0x58]  class-hnd <System.__Canon>
 ;  V10 loc8         [V10,T19] (  3,  0.80)     int  ->  [rbp-0x40] 
 ;  V11 loc9         [V11    ] (  3,  1.20)     ref  ->  [rbp-0x48]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.__Canon[]>
 ;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -28,18 +28,18 @@
 ;* V16 tmp4         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V17 tmp5         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Reflection.RuntimeMethodInfo>
 ;* V18 tmp6         [V18,T21] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
-;  V19 tmp7         [V19,T17] (  4,  1.12)     int  ->  rdx         "Inline return value spill temp"
-;  V20 tmp8         [V20,T10] (  3,  1.76)     int  ->  rdx         "Inlining Arg"
+;  V19 tmp7         [V19,T18] (  4,  1.12)     int  ->   r9         "Inline return value spill temp"
+;  V20 tmp8         [V20,T10] (  3,  1.76)     int  ->   r9         "Inlining Arg"
 ;  V21 tmp9         [V21,T20] (  3,  0.80)     int  ->  registers   "Inline return value spill temp"
-;  V22 tmp10        [V22,T11] (  3,  1.76)     int  ->   r9         "Inlining Arg"
+;  V22 tmp10        [V22,T11] (  3,  1.76)     int  ->  r10         "Inlining Arg"
 ;* V23 tmp11        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V24 tmp12        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
 ;  V25 tmp13        [V25,T14] (  2,  1.60)    long  ->  rdi         "argument with side effect"
-;  V26 cse0         [V26,T03] (  3,  4.80)     ref  ->  rsi         "CSE - aggressive"
-;  V27 cse1         [V27,T16] (  6,  1.20)    long  ->  rdi         multi-def "CSE - moderate"
+;  V26 cse0         [V26,T04] (  3,  4.80)     ref  ->  rsi         "CSE - aggressive"
+;  V27 cse1         [V27,T16] (  6,  1.20)    long  ->  rsi         multi-def "CSE - moderate"
 ;  V28 rat0         [V28,T09] (  3,  1.76)    long  ->  rdi         "Spilling to split statement for tree"
 ;  V29 rat1         [V29,T13] (  3,  1.60)    long  ->  rdi         "runtime lookup"
-;  V30 rat2         [V30,T07] (  3,  2.24)    long  ->  rdx         "fgMakeTemp is creating a new local variable"
+;  V30 rat2         [V30,T08] (  3,  2.24)    long  ->  rdx         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 56
 
@@ -64,7 +64,7 @@ G_M8298_IG02:        ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
        mov      r14, gword ptr [rbx+0x08]
        ; gcrRegs +[r14]
        test     r14, r14
-       jne      SHORT G_M8298_IG07
+       jne      SHORT G_M8298_IG05
                        ;; size=9 bbWeight=1 PerfScore 3.25
 G_M8298_IG03:        ; bbWeight=0.60, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
@@ -87,212 +87,200 @@ G_M8298_IG04:        ; bbWeight=0.60, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=15 bbWeight=0.60 PerfScore 2.55
-G_M8298_IG05:        ; bbWeight=0.40, gcVars=0000000000001000 {V06}, gcrefRegs=C20A {rcx rbx r9 r14 r15}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[rcx r9 r14-r15]
-       ; GC ptr vars +{V06}
-       mov      rdi, qword ptr [r9+0x50]
-       cmp      rdi, qword ptr [rcx+0x50]
-       jne      G_M8298_IG18
-                       ;; size=14 bbWeight=0.40 PerfScore 2.38
-G_M8298_IG06:        ; bbWeight=3.20, gcrefRegs=C20A {rcx rbx r9 r14 r15}, byrefRegs=0000 {}, byref
-       mov      dword ptr [rbp-0x3C], esi
-       jmp      G_M8298_IG26
-                       ;; size=8 bbWeight=3.20 PerfScore 9.60
-G_M8298_IG07:        ; bbWeight=0.40, gcVars=0000000000000000 {}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs -[rcx r9]
-       ; GC ptr vars -{V06}
+G_M8298_IG05:        ; bbWeight=0.40, gcVars=0000000000000000 {}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs +[r14-r15]
        mov      r13d, dword ptr [r14+0x08]
        xor      r12d, r12d
        xor      eax, eax
        cmp      dword ptr [r15+0x08], 0
-       jle      G_M8298_IG34
+       jle      G_M8298_IG32
                         ;; size=20 bbWeight=0.40 PerfScore 2.60
-G_M8298_IG08:        ; bbWeight=0.40, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       mov      esi, eax
-       mov      rcx, gword ptr [r15+8*rsi+0x10]
+G_M8298_IG06:        ; bbWeight=0.40, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+       mov      dword ptr [rbp-0x34], eax
+       mov      edi, eax
+       mov      rcx, gword ptr [r15+8*rdi+0x10]
        ; gcrRegs +[rcx]
        mov      gword ptr [rbp-0x50], rcx
        ; GC ptr vars +{V06}
-       xor      r8d, r8d
-       xor      esi, esi
+       xor      edx, edx
+       xor      edi, edi
        test     r13d, r13d
-       jg       SHORT G_M8298_IG15
-                       ;; size=21 bbWeight=0.40 PerfScore 2.00
-G_M8298_IG09:        ; bbWeight=0.40, gcVars=0000000000001000 {V06}, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
-       test     r8d, r8d
-       jne      G_M8298_IG33
+       jg       SHORT G_M8298_IG13
+                       ;; size=23 bbWeight=0.40 PerfScore 2.40
+G_M8298_IG07:        ; bbWeight=0.40, gcVars=0000000000001000 {V06}, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+       test     edx, edx
+       jne      G_M8298_IG31
        test     r12d, r12d
-       jne      SHORT G_M8298_IG10
-       mov      r12d, esi
-                       ;; size=17 bbWeight=0.40 PerfScore 1.10
-G_M8298_IG10:        ; bbWeight=0.40, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+       jne      SHORT G_M8298_IG08
+       mov      r12d, edi
+                       ;; size=16 bbWeight=0.40 PerfScore 1.10
+G_M8298_IG08:        ; bbWeight=0.40, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        cmp      dword ptr [r14+0x08], r12d
-       jg       G_M8298_IG30
+       jg       G_M8298_IG28
        cmp      byte  ptr [rbx+0x18], 0
-       jne      G_M8298_IG42
-       mov      edx, dword ptr [r14+0x08]
-       add      edx, edx
-       cmp      edx, 4
-       jg       SHORT G_M8298_IG14
-                       ;; size=31 bbWeight=0.40 PerfScore 4.60
-G_M8298_IG11:        ; bbWeight=0.32, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
-       mov      edx, 4
-                       ;; size=5 bbWeight=0.32 PerfScore 0.08
-G_M8298_IG12:        ; bbWeight=0.40, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
-       mov      r9d, dword ptr [r15+0x08]
-       cmp      edx, r9d
-       jge      G_M8298_IG36
+       jne      G_M8298_IG40
+       mov      r9d, dword ptr [r14+0x08]
+       add      r9d, r9d
+       cmp      r9d, 4
+       jg       SHORT G_M8298_IG12
+                       ;; size=33 bbWeight=0.40 PerfScore 4.60
+G_M8298_IG09:        ; bbWeight=0.32, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
+       mov      r9d, 4
+                       ;; size=6 bbWeight=0.32 PerfScore 0.08
+G_M8298_IG10:        ; bbWeight=0.40, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
+       mov      r10d, dword ptr [r15+0x08]
+       cmp      r9d, r10d
+       jge      G_M8298_IG34
                        ;; size=13 bbWeight=0.40 PerfScore 1.30
-G_M8298_IG13:        ; bbWeight=0.08, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
-       jmp      G_M8298_IG39
+G_M8298_IG11:        ; bbWeight=0.08, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
+       jmp      G_M8298_IG37
                        ;; size=5 bbWeight=0.08 PerfScore 0.16
-G_M8298_IG14:        ; bbWeight=0.08, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       jmp      SHORT G_M8298_IG12
+G_M8298_IG12:        ; bbWeight=0.08, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M8298_IG10
                      ;; size=2 bbWeight=0.08 PerfScore 0.16
-G_M8298_IG15:        ; bbWeight=0.20, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M8298_IG13:        ; bbWeight=0.20, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        test     r14, r14
-       je       SHORT G_M8298_IG20
+       je       SHORT G_M8298_IG18
        cmp      dword ptr [r14+0x08], r13d
-       jl       SHORT G_M8298_IG20
+       jl       SHORT G_M8298_IG18
                       ;; size=11 bbWeight=0.20 PerfScore 1.05
-G_M8298_IG16:        ; bbWeight=1.60, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       mov      edi, esi
-       mov      r9, gword ptr [r14+8*rdi+0x10]
-       ; gcrRegs +[r9]
-       test     r9, r9
-       je       SHORT G_M8298_IG09
+G_M8298_IG14:        ; bbWeight=1.60, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+       mov      esi, edi
+       mov      r8, gword ptr [r14+8*rsi+0x10]
+       ; gcrRegs +[r8]
+       test     r8, r8
+       je       SHORT G_M8298_IG07
                      ;; size=12 bbWeight=1.60 PerfScore 5.60
-G_M8298_IG17:        ; bbWeight=0.40, gcrefRegs=C20A {rcx rbx r9 r14 r15}, byrefRegs=0000 {}, byref
-       mov      rdi, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
-       cmp      qword ptr [rcx], rdi
-       jne      G_M8298_IG41
-       cmp      qword ptr [r9], rdi
-       je       G_M8298_IG05
-                       ;; size=28 bbWeight=0.40 PerfScore 3.27
-G_M8298_IG18:        ; bbWeight=0.40, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[r9]
-       inc      esi
-       cmp      esi, r13d
-       jl       SHORT G_M8298_IG16
-                       ;; size=7 bbWeight=0.40 PerfScore 0.59
-G_M8298_IG19:        ; bbWeight=1.60, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
-       jmp      G_M8298_IG09
-                       ;; size=5 bbWeight=1.60 PerfScore 3.20
-G_M8298_IG20:        ; bbWeight=0.02, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       cmp      esi, dword ptr [r14+0x08]
-       jae      G_M8298_IG40
-       mov      dword ptr [rbp-0x3C], esi
-       mov      r9d, esi
-       mov      r9, gword ptr [r14+8*r9+0x10]
-       ; gcrRegs +[r9]
-       test     r9, r9
-       je       SHORT G_M8298_IG24
-                       ;; size=26 bbWeight=0.02 PerfScore 0.14
-G_M8298_IG21:        ; bbWeight=0.00, gcrefRegs=C20A {rcx rbx r9 r14 r15}, byrefRegs=0000 {}, byref, isz
-       mov      rdi, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
-       cmp      qword ptr [rcx], rdi
-       je       SHORT G_M8298_IG25
+G_M8298_IG15:        ; bbWeight=0.40, gcrefRegs=C10A {rcx rbx r8 r14 r15}, byrefRegs=0000 {}, byref, isz
+       mov      rsi, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
+       cmp      qword ptr [rcx], rsi
+       jne      G_M8298_IG39
+       cmp      qword ptr [r8], rsi
+       jne      SHORT G_M8298_IG16
+       mov      rsi, qword ptr [r8+0x50]
+       cmp      rsi, qword ptr [rcx+0x50]
+       je       SHORT G_M8298_IG17
+                       ;; size=34 bbWeight=0.40 PerfScore 5.64
+G_M8298_IG16:        ; bbWeight=0.40, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r8]
+       inc      edi
+       cmp      edi, r13d
+       jl       SHORT G_M8298_IG14
+       jmp      G_M8298_IG07
+                       ;; size=12 bbWeight=0.40 PerfScore 1.39
+G_M8298_IG17:        ; bbWeight=0.20, gcrefRegs=C10A {rcx rbx r8 r14 r15}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[r8]
+       mov      dword ptr [rbp-0x3C], edi
+       jmp      SHORT G_M8298_IG24
+                       ;; size=5 bbWeight=0.20 PerfScore 0.59
+G_M8298_IG18:        ; bbWeight=0.02, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[r8]
+       cmp      edi, dword ptr [r14+0x08]
+       jae      G_M8298_IG38
+       mov      r8d, edi
+       mov      r8, gword ptr [r14+8*r8+0x10]
+       ; gcrRegs +[r8]
+       test     r8, r8
+       je       G_M8298_IG07
+                       ;; size=27 bbWeight=0.02 PerfScore 0.12
+G_M8298_IG19:        ; bbWeight=0.00, gcrefRegs=C10A {rcx rbx r8 r14 r15}, byrefRegs=0000 {}, byref, isz
+       mov      rsi, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
+       cmp      qword ptr [rcx], rsi
+       je       SHORT G_M8298_IG22
                      ;; size=15 bbWeight=0.00 PerfScore 0.02
-G_M8298_IG22:        ; bbWeight=0, gcrefRegs=C20A {rcx rbx r9 r14 r15}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rbp-0x34], eax
-       mov      dword ptr [rbp-0x38], r8d
+G_M8298_IG20:        ; bbWeight=0, gcrefRegs=C10A {rcx rbx r8 r14 r15}, byrefRegs=0000 {}, byref, isz
+       mov      dword ptr [rbp-0x3C], edi
...
  
-41 (-5.21%) : 388975.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalList(System.Canon[]):this (Tier1)
@@ -10,15 +10,15 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T12] (  8,   10.99)     ref  ->  r15         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T02] (  8,19885.23)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
-;  V02 loc0         [V02,T06] ( 17, 2559.74)     ref  ->  r14         class-hnd <System.__Canon[]>
-;  V03 loc1         [V03,T09] (  6, 2504.39)     int  ->  r13        
+;  V01 arg1         [V01,T08] (  8, 2500.25)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
+;  V02 loc0         [V02,T03] ( 17, 2559.74)     ref  ->  r14         class-hnd <System.__Canon[]>
+;  V03 loc1         [V03,T07] (  5, 2504.39)     int  ->  r13        
 ;  V04 loc2         [V04,T11] (  9,   49.51)     int  ->  r12        
-;  V05 loc3         [V05,T01] (  6,19896.70)     int  ->  [rbp-0x34] 
-;  V06 loc4         [V06,T08] (  9, 2535.57)     ref  ->  [rbp-0x50]  class-hnd spill-single-def <System.__Canon>
-;  V07 loc5         [V07,T03] (  3,19882.13)   ubyte  ->  [rbp-0x38] 
-;  V08 loc6         [V08,T04] ( 14, 9991.98)     int  ->  [rbp-0x3C] 
-;  V09 loc7         [V09,T00] ( 10,29815.34)     ref  ->  [rbp-0x58]  class-hnd <System.__Canon>
+;  V05 loc3         [V05,T06] (  6, 2511.72)     int  ->  [rbp-0x34] 
+;  V06 loc4         [V06,T05] (  9, 2535.57)     ref  ->  [rbp-0x50]  class-hnd spill-single-def <System.__Canon>
+;  V07 loc5         [V07,T09] (  3, 2497.15)   ubyte  ->  [rbp-0x38] 
+;  V08 loc6         [V08,T01] ( 11, 9991.98)     int  ->  [rbp-0x3C] 
+;  V09 loc7         [V09,T00] ( 10,12430.36)     ref  ->  [rbp-0x58]  class-hnd <System.__Canon>
 ;  V10 loc8         [V10,T20] (  3,    0.20)     int  ->  [rbp-0x40] 
 ;  V11 loc9         [V11    ] (  3,    0.30)     ref  ->  [rbp-0x48]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.__Canon[]>
 ;# V12 OutArgs      [V12    ] (  1,    1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -27,15 +27,15 @@
 ;* V15 tmp3         [V15    ] (  0,    0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
 ;* V16 tmp4         [V16    ] (  0,    0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V17 tmp5         [V17    ] (  0,    0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Reflection.RuntimeMethodInfo>
-;* V18 tmp6         [V18,T05] (  0,    0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
-;  V19 tmp7         [V19,T19] (  4,    0.25)     int  ->  rdx         "Inline return value spill temp"
-;  V20 tmp8         [V20,T14] (  3,    0.50)     int  ->  rdx         "Inlining Arg"
-;  V21 tmp9         [V21,T21] (  3,    0.20)     int  ->   r8         "Inline return value spill temp"
-;  V22 tmp10        [V22,T15] (  3,    0.50)     int  ->   r8         "Inlining Arg"
+;* V18 tmp6         [V18,T02] (  0,    0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
+;  V19 tmp7         [V19,T19] (  4,    0.25)     int  ->  rcx         "Inline return value spill temp"
+;  V20 tmp8         [V20,T14] (  3,    0.50)     int  ->  rcx         "Inlining Arg"
+;  V21 tmp9         [V21,T21] (  3,    0.20)     int  ->  rdx         "Inline return value spill temp"
+;  V22 tmp10        [V22,T15] (  3,    0.50)     int  ->  rdx         "Inlining Arg"
 ;* V23 tmp11        [V23    ] (  0,    0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V24 tmp12        [V24    ] (  0,    0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
 ;  V25 tmp13        [V25,T18] (  2,    0.40)    long  ->  rdi         "argument with side effect"
-;  V26 cse0         [V26,T07] (  6, 2546.82)    long  ->  rdi         multi-def "CSE - aggressive"
+;  V26 cse0         [V26,T04] (  6, 2546.82)    long  ->   r9         multi-def "CSE - aggressive"
 ;  V27 cse1         [V27,T10] (  3,   81.50)     ref  ->  rsi         "CSE - moderate"
 ;  V28 rat0         [V28,T16] (  3,    0.44)    long  ->  rdi         "Spilling to split statement for tree"
 ;  V29 rat1         [V29,T17] (  3,    0.40)    long  ->  rdi         "runtime lookup"
@@ -64,14 +64,14 @@ G_M8298_IG02:        ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
        mov      r14, gword ptr [r15+0x08]
        ; gcrRegs +[r14]
        test     r14, r14
-       je       G_M8298_IG11
+       je       G_M8298_IG12
                        ;; size=13 bbWeight=1 PerfScore 3.25
 G_M8298_IG03:        ; bbWeight=0.99, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
        mov      r13d, dword ptr [r14+0x08]
        xor      r12d, r12d
        xor      eax, eax
        cmp      dword ptr [rbx+0x08], 0
-       jle      G_M8298_IG36
+       jle      G_M8298_IG42
                         ;; size=19 bbWeight=0.99 PerfScore 6.41
 G_M8298_IG04:        ; bbWeight=6.79, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      esi, eax
@@ -82,51 +82,56 @@ G_M8298_IG04:        ; bbWeight=6.79, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=00
        xor      r8d, r8d
        xor      esi, esi
        test     r13d, r13d
-       jle      SHORT G_M8298_IG10
+       jle      SHORT G_M8298_IG11
                      ;; size=21 bbWeight=6.79 PerfScore 33.96
-G_M8298_IG05:        ; bbWeight=6.79, gcVars=0000000000000100 {V06}, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M8298_IG05:        ; bbWeight=6.79, gcVars=0000000000000020 {V06}, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
        test     r14, r14
-       je       G_M8298_IG30
+       je       G_M8298_IG27
        test     rcx, rcx
-       je       G_M8298_IG30
-       mov      rdi, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
-       cmp      qword ptr [rcx], rdi
-       jne      G_M8298_IG30
+       je       G_M8298_IG27
+       mov      r9, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
+       cmp      qword ptr [rcx], r9
+       jne      G_M8298_IG27
        cmp      dword ptr [r14+0x08], r13d
-       jl       G_M8298_IG30
+       jl       G_M8298_IG27
                      ;; size=47 bbWeight=6.79 PerfScore 72.99
 G_M8298_IG06:        ; bbWeight=2464.93, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       mov      edx, esi
-       mov      r9, gword ptr [r14+8*rdx+0x10]
-       ; gcrRegs +[r9]
-       test     r9, r9
-       je       SHORT G_M8298_IG09
+       mov      edi, esi
+       mov      r10, gword ptr [r14+8*rdi+0x10]
+       ; gcrRegs +[r10]
+       test     r10, r10
+       je       SHORT G_M8298_IG10
                      ;; size=12 bbWeight=2464.93 PerfScore 8627.25
-G_M8298_IG07:        ; bbWeight=2458.73, gcrefRegs=C20A {rcx rbx r9 r14 r15}, byrefRegs=0000 {}, byref
-       cmp      qword ptr [r9], rdi
-       jne      G_M8298_IG28
-       mov      rdx, qword ptr [r9+0x50]
-       cmp      rdx, qword ptr [rcx+0x50]
-       jne      G_M8298_IG28
-                       ;; size=23 bbWeight=2458.73 PerfScore 24587.33
-G_M8298_IG08:        ; bbWeight=19868.55, gcrefRegs=C20A {rcx rbx r9 r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M8298_IG07:        ; bbWeight=2458.73, gcrefRegs=C40A {rcx rbx r10 r14 r15}, byrefRegs=0000 {}, byref, isz
+       cmp      qword ptr [r10], r9
+       jne      G_M8298_IG25
+       mov      rdi, qword ptr [r10+0x50]
+       cmp      rdi, qword ptr [rcx+0x50]
+       je       SHORT G_M8298_IG09
+                       ;; size=19 bbWeight=2458.73 PerfScore 24587.33
+G_M8298_IG08:        ; bbWeight=2464.93, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[r10]
+       jmp      G_M8298_IG25
+                       ;; size=5 bbWeight=2464.93 PerfScore 4929.86
+G_M8298_IG09:        ; bbWeight=1229.37, gcrefRegs=C40A {rcx rbx r10 r14 r15}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[r10]
        mov      dword ptr [rbp-0x3C], esi
-       jmp      SHORT G_M8298_IG13
-                       ;; size=5 bbWeight=19868.55 PerfScore 59605.64
-G_M8298_IG09:        ; bbWeight=1232.46, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[r9]
-       mov      dword ptr [rbp-0x34], eax
-       mov      dword ptr [rbp-0x3C], esi
-       mov      eax, r8d
        jmp      SHORT G_M8298_IG14
+                       ;; size=5 bbWeight=1229.37 PerfScore 3688.10
+G_M8298_IG10:        ; bbWeight=1232.46, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r10]
+       mov      dword ptr [rbp-0x3C], esi
+       mov      dword ptr [rbp-0x34], eax
+       mov      eax, r8d
+       jmp      SHORT G_M8298_IG15
                      ;; size=11 bbWeight=1232.46 PerfScore 5237.97
-G_M8298_IG10:        ; bbWeight=3.40, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rbp-0x34], eax
+G_M8298_IG11:        ; bbWeight=3.40, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      dword ptr [rbp-0x3C], esi
+       mov      dword ptr [rbp-0x34], eax
        mov      eax, r8d
-       jmp      SHORT G_M8298_IG14
+       jmp      SHORT G_M8298_IG15
                        ;; size=11 bbWeight=3.40 PerfScore 14.43
-G_M8298_IG11:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, gcvars, byref
+G_M8298_IG12:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rcx r14]
        ; GC ptr vars -{V06}
        lea      rdi, bword ptr [r15+0x08]
@@ -138,7 +143,7 @@ G_M8298_IG11:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=8008
        ; byrRegs -[rdi]
        nop      
                        ;; size=13 bbWeight=0.01 PerfScore 0.03
-G_M8298_IG12:        ; bbWeight=0.01, epilog, nogc, extend
+G_M8298_IG13:        ; bbWeight=0.01, epilog, nogc, extend
        add      rsp, 56
        pop      rbx
        pop      r12
@@ -148,38 +153,38 @@ G_M8298_IG12:        ; bbWeight=0.01, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=15 bbWeight=0.01 PerfScore 0.06
-G_M8298_IG13:        ; bbWeight=19868.55, gcVars=0000000000000100 {V06}, gcrefRegs=C208 {rbx r9 r14 r15}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[rbx r9 r14]
-       ; GC ptr vars +{V06 V08}
+G_M8298_IG14:        ; bbWeight=2483.57, gcVars=0000000000000020 {V06}, gcrefRegs=C408 {rbx r10 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs +[rbx r10 r14]
+       ; GC ptr vars +{V05 V06}
        mov      dword ptr [rbp-0x34], eax
        movsxd   rsi, eax
        mov      rdi, rbx
        ; gcrRegs +[rdi]
-       mov      rdx, r9
+       mov      rdx, r10
        ; gcrRegs +[rdx]
        call     CORINFO_HELP_ARRADDR_ST
-       ; gcrRegs -[rdx rdi r9]
+       ; gcrRegs -[rdx rdi r10]
        ; gcr arg pop 0
        mov      eax, 1
-                       ;; size=22 bbWeight=19868.55 PerfScore 59605.64
-G_M8298_IG14:        ; bbWeight=6.79, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       test     eax, eax
-       jne      SHORT G_M8298_IG19
-       test     r12d, r12d
-       je       G_M8298_IG27
-                       ;; size=13 bbWeight=6.79 PerfScore 16.98
+                      ;; size=22 bbWeight=2483.57 PerfScore 7450.71
 G_M8298_IG15:        ; bbWeight=6.79, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       cmp      dword ptr [r14+0x08], r12d
-       jle      SHORT G_M8298_IG21
-                       ;; size=6 bbWeight=6.79 PerfScore 27.17
+       test     eax, eax
+       jne      SHORT G_M8298_IG20
+       test     r12d, r12d
+       je       G_M8298_IG24
+                       ;; size=13 bbWeight=6.79 PerfScore 16.98
 G_M8298_IG16:        ; bbWeight=6.79, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+       cmp      dword ptr [r14+0x08], r12d
+       jle      SHORT G_M8298_IG22
+                       ;; size=6 bbWeight=6.79 PerfScore 27.17
+G_M8298_IG17:        ; bbWeight=6.79, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        cmp      r12d, dword ptr [r14+0x08]
-       jae      G_M8298_IG40
+       jae      G_M8298_IG45
        mov      edi, r12d
        cmp      gword ptr [r14+8*rdi+0x10], 0
-       je       SHORT G_M8298_IG18
+       je       SHORT G_M8298_IG19
                       ;; size=21 bbWeight=6.79 PerfScore 56.03
-G_M8298_IG17:        ; bbWeight=27.17, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
+G_M8298_IG18:        ; bbWeight=27.17, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
        mov      rsi, 0xD1FFAB1E
        ; gcrRegs +[rsi]
        mov      rdi, rsi
@@ -188,7 +193,7 @@ G_M8298_IG17:        ; bbWeight=27.17, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
                        ;; size=19 bbWeight=27.17 PerfScore 95.08
-G_M8298_IG18:        ; bbWeight=6.79, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
+G_M8298_IG19:        ; bbWeight=6.79, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
        mov      rdx, qword ptr [r15]
        mov      rdx, qword ptr [rdx+0x38]
        mov      rdx, qword ptr [rdx]
@@ -204,131 +209,144 @@ G_M8298_IG18:        ; bbWeight=6.79, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=00
        ; byrRegs +[rdi]
        mov      rsi, gword ptr [rbp-0x50]
        ; gcrRegs +[rsi]
-       ; GC ptr vars -{V06 V08}
+       ; GC ptr vars -{V05 V06}
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        ; gcrRegs -[rsi]
        ; byrRegs -[rax rdi]
        inc      r12d
                        ;; size=40 bbWeight=6.79 PerfScore 95.08
-G_M8298_IG19:        ; bbWeight=6.79, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
+G_M8298_IG20:        ; bbWeight=6.79, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
        mov      eax, dword ptr [rbp-0x34]
        inc      eax
        cmp      dword ptr [rbx+0x08], eax
        jg       G_M8298_IG04
                        ;; size=14 bbWeight=6.79 PerfScore 35.65
-G_M8298_IG20:        ; bbWeight=0.99, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref
+G_M8298_IG21:        ; bbWeight=0.99, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
-       jmp      G_M8298_IG36
+       jmp      G_M8298_IG42
...
  
+17 (+5.38%) : 86472.dasm - JIT.HardwareIntrinsics.General.Vector2561.VectorAs__AsVectorInt64:ValidateResult(long[],long[],System.String):this (FullOpts)
@@ -12,10 +12,10 @@
 ;  V01 arg1         [V01,T00] (  7, 15.38)     ref  ->  rbx         class-hnd single-def <long[]>
 ;  V02 arg2         [V02,T04] (  6, 11.42)     ref  ->  r15         class-hnd single-def <long[]>
 ;  V03 arg3         [V03,T10] (  3,  2.50)     ref  ->  rcx         class-hnd single-def <System.String>
-;  V04 loc0         [V04,T11] (  3,  2   )   ubyte  ->  rsi        
-;  V05 loc1         [V05,T01] (  5, 16.34)     int  ->  rdx        
-;  V06 loc2         [V06,T02] (  5, 16.34)     int  ->  rax        
-;  V07 loc3         [V07,T03] (  5, 16.34)     int  ->  rdx        
+;  V04 loc0         [V04,T11] (  3,  2   )   ubyte  ->  rax        
+;  V05 loc1         [V05,T01] (  5, 16.34)     int  ->  rax        
+;  V06 loc2         [V06,T02] (  5, 16.34)     int  ->  rsi        
+;  V07 loc3         [V07,T03] (  5, 16.34)     int  ->  r12        
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V09 tmp1         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;* V10 tmp2         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
@@ -43,84 +43,86 @@
 ;  V32 tmp24        [V32,T12] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V33 tmp25        [V33,T13] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V34 cse0         [V34,T14] (  3,  1.50)   byref  ->  r13         "CSE - moderate"
-;  V35 cse1         [V35,T07] (  5, 10.42)     int  ->  rdi         "CSE - aggressive"
-;  V36 cse2         [V36,T08] (  5,  6.96)     int  ->  rdx         "CSE - aggressive"
+;  V35 cse1         [V35,T07] (  5, 10.42)     int  ->  r13         "CSE - aggressive"
+;  V36 cse2         [V36,T08] (  5,  6.96)     int  ->  r12         "CSE - aggressive"
 ;  V37 cse3         [V37,T05] (  3, 11.88)    long  ->  rsi         "CSE - aggressive"
-;  V38 cse4         [V38,T06] (  3, 11.88)    long  ->   r8         "CSE - aggressive"
+;  V38 cse4         [V38,T06] (  3, 11.88)    long  ->  rdi         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M36631_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
        push     r13
+       push     r12
        push     rbx
-       lea      rbp, [rsp+0x20]
+       push     rax
+       lea      rbp, [rsp+0x30]
        mov      r14, rdi
        ; gcrRegs +[r14]
        mov      rbx, rsi
        ; gcrRegs +[rbx]
        mov      r15, rdx
        ; gcrRegs +[r15]
-                      ;; size=22 bbWeight=1 PerfScore 6.25
+                      ;; size=25 bbWeight=1 PerfScore 8.25
 G_M36631_IG02:        ; bbWeight=1, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rcx]
-       mov      esi, 1
-       mov      edi, dword ptr [rbx+0x08]
-       mov      edx, dword ptr [r15+0x08]
-       cmp      edi, edx
+       mov      eax, 1
+       mov      r13d, dword ptr [rbx+0x08]
+       mov      r12d, dword ptr [r15+0x08]
+       cmp      r13d, r12d
        jg       SHORT G_M36631_IG06
-                        ;; size=16 bbWeight=1 PerfScore 5.50
+                      ;; size=18 bbWeight=1 PerfScore 5.50
 G_M36631_IG03:        ; bbWeight=0.50, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
-       xor      edx, edx
-       test     edi, edi
+       xor      eax, eax
+       test     r13d, r13d
        jle      G_M36631_IG13
-                      ;; size=10 bbWeight=0.50 PerfScore 0.75
+                       ;; size=11 bbWeight=0.50 PerfScore 0.75
 G_M36631_IG04:        ; bbWeight=3.96, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       mov      esi, edx
-       mov      rax, qword ptr [rbx+8*rsi+0x10]
-       cmp      rax, qword ptr [r15+8*rsi+0x10]
+       mov      esi, eax
+       mov      rdi, qword ptr [rbx+8*rsi+0x10]
+       cmp      rdi, qword ptr [r15+8*rsi+0x10]
        jne      SHORT G_M36631_IG12
-       inc      edx
-       cmp      edi, edx
+       inc      eax
+       cmp      r13d, eax
        jg       SHORT G_M36631_IG04
-                     ;; size=20 bbWeight=3.96 PerfScore 30.69
+                      ;; size=21 bbWeight=3.96 PerfScore 30.69
 G_M36631_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx rbx r14-r15]
        jmp      G_M36631_IG13
                        ;; size=5 bbWeight=0.50 PerfScore 1.00
 G_M36631_IG06:        ; bbWeight=0.50, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rcx rbx r14-r15]
-       xor      eax, eax
-       test     edx, edx
+       xor      esi, esi
+       test     r12d, r12d
        jle      SHORT G_M36631_IG10
-                        ;; size=6 bbWeight=0.50 PerfScore 0.75
+                        ;; size=7 bbWeight=0.50 PerfScore 0.75
 G_M36631_IG07:        ; bbWeight=3.96, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       mov      r8d, eax
-       mov      r9, qword ptr [rbx+8*r8+0x10]
-       cmp      r9, qword ptr [r15+8*r8+0x10]
+       mov      edi, esi
+       mov      rdx, qword ptr [rbx+8*rdi+0x10]
+       cmp      rdx, qword ptr [r15+8*rdi+0x10]
        jne      SHORT G_M36631_IG09
-       inc      eax
-       cmp      edx, eax
+       inc      esi
+       cmp      r12d, esi
        jg       SHORT G_M36631_IG07
                        ;; size=21 bbWeight=3.96 PerfScore 30.69
 G_M36631_IG08:        ; bbWeight=0.50, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M36631_IG10
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
 G_M36631_IG09:        ; bbWeight=0.50, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
-       xor      esi, esi
+       xor      eax, eax
                       ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M36631_IG10:        ; bbWeight=3.96, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       mov      eax, edx
-       cmp      qword ptr [rbx+8*rax+0x10], 0
+       mov      esi, r12d
+       cmp      qword ptr [rbx+8*rsi+0x10], 0
        jne      SHORT G_M36631_IG12
-       inc      edx
-       cmp      edi, edx
+       inc      r12d
+       cmp      r13d, r12d
        jg       SHORT G_M36631_IG10
-                        ;; size=16 bbWeight=3.96 PerfScore 22.77
+                      ;; size=19 bbWeight=3.96 PerfScore 22.77
 G_M36631_IG11:        ; bbWeight=0.50, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
-       test     esi, esi
+       test     eax, eax
        jne      G_M36631_IG13
                        ;; size=8 bbWeight=0.50 PerfScore 0.62
 G_M36631_IG12:        ; bbWeight=0.50, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
@@ -195,15 +197,17 @@ G_M36631_IG12:        ; bbWeight=0.50, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRe
                        ;; size=179 bbWeight=0.50 PerfScore 16.50
 G_M36631_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[r14]
+       add      rsp, 8
        pop      rbx
+       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=9 bbWeight=1 PerfScore 3.50
+                       ;; size=15 bbWeight=1 PerfScore 4.25
 
-; Total bytes of code 316, prolog size 22, PerfScore 120.15, instruction count 81, allocated bytes for code 316 (MethodHash=cf4570e8) for method JIT.HardwareIntrinsics.General._Vector256_1.VectorAs__AsVectorInt64:ValidateResult(long[],long[],System.String):this (FullOpts)
+; Total bytes of code 333, prolog size 25, PerfScore 122.90, instruction count 85, allocated bytes for code 333 (MethodHash=cf4570e8) for method JIT.HardwareIntrinsics.General._Vector256_1.VectorAs__AsVectorInt64:ValidateResult(long[],long[],System.String):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -211,12 +215,14 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x08
-  CountOfUnwindCodes: 5
+  SizeOfProlog      : 0x0B
+  CountOfUnwindCodes: 7
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    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: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
  
+30 (+15.38%) : 500602.dasm - testout1:Test1(int):int (Tier1-OSR)
@@ -10,9 +10,9 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T01] (  5,173.42)     int  ->  rdi        
-;  V01 loc0         [V01,T05] (  4, 12.25)     int  ->  rsi        
-;  V02 loc1         [V02,T04] (  5, 12.25)     int  ->  rdx        
-;  V03 loc2         [V03,T10] (  4,  0.01)     int  ->  rbx        
+;  V01 loc0         [V01,T05] (  4, 12.27)     int  ->  rsi        
+;  V02 loc1         [V02,T04] (  5, 12.28)     int  ->  rdx        
+;  V03 loc2         [V03,T10] (  4,  0.03)     int  ->  rbx        
 ;  V04 loc3         [V04,T09] (  4,  0.06)     int  ->  r11        
 ;  V05 loc4         [V05,T08] (  4,  0.26)     int  ->  r10        
 ;  V06 loc5         [V06,T07] (  4,  1.46)     int  ->   r9        
@@ -44,85 +44,116 @@ G_M36053_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      eax, dword ptr [rbp+0x20]
                        ;; size=66 bbWeight=1 PerfScore 26.75
 G_M36053_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       jmp      SHORT G_M36053_IG11
+       jmp      SHORT G_M36053_IG22
                      ;; size=2 bbWeight=1 PerfScore 2.00
-G_M36053_IG03:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M36053_IG03:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      edx, edx
-                      ;; size=2 bbWeight=0.01 PerfScore 0.00
-G_M36053_IG04:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M36053_IG05
+                       ;; size=4 bbWeight=0.01 PerfScore 0.02
+G_M36053_IG04:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      esi
+       cmp      esi, 5
+       jg       G_M36053_IG27
+       jmp      SHORT G_M36053_IG03
+                       ;; size=13 bbWeight=0.01 PerfScore 0.03
+G_M36053_IG05:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      ebx, ebx
-                      ;; size=2 bbWeight=0.01 PerfScore 0.00
-G_M36053_IG05:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M36053_IG07
+                       ;; size=4 bbWeight=0.01 PerfScore 0.02
+G_M36053_IG06:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      edx
+       cmp      edx, 5
+       jle      SHORT G_M36053_IG05
+       jmp      SHORT G_M36053_IG04
+                       ;; size=9 bbWeight=0.01 PerfScore 0.03
+G_M36053_IG07:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      r11d, r11d
-                        ;; size=3 bbWeight=0.01 PerfScore 0.00
-G_M36053_IG06:        ; bbWeight=0.02, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M36053_IG09
+                       ;; size=5 bbWeight=0.01 PerfScore 0.02
+G_M36053_IG08:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      ebx
+       cmp      ebx, 5
+       jle      SHORT G_M36053_IG07
+       jmp      SHORT G_M36053_IG06
+                       ;; size=9 bbWeight=0.01 PerfScore 0.03
+G_M36053_IG09:        ; bbWeight=0.02, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      r10d, r10d
-                        ;; size=3 bbWeight=0.02 PerfScore 0.00
-G_M36053_IG07:        ; bbWeight=0.07, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M36053_IG12
+                       ;; size=5 bbWeight=0.02 PerfScore 0.04
+G_M36053_IG10:        ; bbWeight=0.02, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      r11d
+       cmp      r11d, 5
+       jle      SHORT G_M36053_IG09
+                       ;; size=9 bbWeight=0.02 PerfScore 0.02
+G_M36053_IG11:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M36053_IG08
+                       ;; size=2 bbWeight=0.01 PerfScore 0.02
+G_M36053_IG12:        ; bbWeight=0.07, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      r9d, r9d
-                      ;; size=3 bbWeight=0.07 PerfScore 0.02
-G_M36053_IG08:        ; bbWeight=0.40, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M36053_IG15
+                       ;; size=5 bbWeight=0.07 PerfScore 0.16
+G_M36053_IG13:        ; bbWeight=0.08, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      r10d
+       cmp      r10d, 5
+       jle      SHORT G_M36053_IG12
+                       ;; size=9 bbWeight=0.08 PerfScore 0.12
+G_M36053_IG14:        ; bbWeight=0.02, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M36053_IG10
+                       ;; size=2 bbWeight=0.02 PerfScore 0.03
+G_M36053_IG15:        ; bbWeight=0.40, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      r8d, r8d
-                      ;; size=3 bbWeight=0.40 PerfScore 0.10
-G_M36053_IG09:        ; bbWeight=2.38, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M36053_IG18
+                       ;; size=5 bbWeight=0.40 PerfScore 0.90
+G_M36053_IG16:        ; bbWeight=0.46, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      r9d
+       cmp      r9d, 5
+       jle      SHORT G_M36053_IG15
+                       ;; size=9 bbWeight=0.46 PerfScore 0.70
+G_M36053_IG17:        ; bbWeight=0.08, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M36053_IG13
+                       ;; size=2 bbWeight=0.08 PerfScore 0.16
+G_M36053_IG18:        ; bbWeight=2.38, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      ecx, ecx
-                      ;; size=2 bbWeight=2.38 PerfScore 0.60
-G_M36053_IG10:        ; bbWeight=14.29, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M36053_IG21
+                       ;; size=4 bbWeight=2.38 PerfScore 5.36
+G_M36053_IG19:        ; bbWeight=2.38, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      r8d
+       cmp      r8d, 5
+       jle      SHORT G_M36053_IG18
+                       ;; size=9 bbWeight=2.38 PerfScore 3.58
+G_M36053_IG20:        ; bbWeight=0.46, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M36053_IG16
+                       ;; size=2 bbWeight=0.46 PerfScore 0.93
+G_M36053_IG21:        ; bbWeight=14.29, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        xor      eax, eax
                        ;; size=2 bbWeight=14.29 PerfScore 3.57
-G_M36053_IG11:        ; bbWeight=14.29, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M36053_IG22:        ; bbWeight=14.29, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        cmp      eax, 5
-       jg       SHORT G_M36053_IG14
+       jg       SHORT G_M36053_IG25
                      ;; size=5 bbWeight=14.29 PerfScore 17.86
-G_M36053_IG12:        ; bbWeight=12.25, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M36053_IG23:        ; bbWeight=12.25, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        lea      r15d, [rsi+rsi]
        lea      r14d, [rdx+2*rdx]
        sub      r15d, r14d
                        ;; size=11 bbWeight=12.25 PerfScore 15.31
-G_M36053_IG13:        ; bbWeight=85.71, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M36053_IG24:        ; bbWeight=85.71, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        add      edi, r15d
        inc      eax
        cmp      eax, 5
-       jle      SHORT G_M36053_IG13
+       jle      SHORT G_M36053_IG24
                        ;; size=10 bbWeight=85.71 PerfScore 150.00
-G_M36053_IG14:        ; bbWeight=14.29, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M36053_IG25:        ; bbWeight=14.29, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        inc      ecx
        cmp      ecx, 5
-       jle      SHORT G_M36053_IG10
+       jle      SHORT G_M36053_IG21
                        ;; size=7 bbWeight=14.29 PerfScore 21.43
-G_M36053_IG15:        ; bbWeight=2.38, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      r8d
-       cmp      r8d, 5
-       jle      SHORT G_M36053_IG09
-                       ;; size=9 bbWeight=2.38 PerfScore 3.58
-G_M36053_IG16:        ; bbWeight=0.46, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      r9d
-       cmp      r9d, 5
-       jle      SHORT G_M36053_IG08
-                       ;; size=9 bbWeight=0.46 PerfScore 0.70
-G_M36053_IG17:        ; bbWeight=0.08, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      r10d
-       cmp      r10d, 5
-       jle      SHORT G_M36053_IG07
-                       ;; size=9 bbWeight=0.08 PerfScore 0.12
-G_M36053_IG18:        ; bbWeight=0.02, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      r11d
-       cmp      r11d, 5
-       jle      SHORT G_M36053_IG06
-                       ;; size=9 bbWeight=0.02 PerfScore 0.02
-G_M36053_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      ebx
-       cmp      ebx, 5
-       jle      SHORT G_M36053_IG05
-       jmp      SHORT G_M36053_IG22
-                       ;; size=9 bbWeight=0 PerfScore 0.00
-G_M36053_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      esi
-       cmp      esi, 5
-       jle      SHORT G_M36053_IG03
+G_M36053_IG26:        ; bbWeight=2.38, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M36053_IG19
+                       ;; size=2 bbWeight=2.38 PerfScore 4.77
+G_M36053_IG27:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      eax, edi
-                      ;; size=9 bbWeight=0 PerfScore 0.00
-G_M36053_IG21:        ; bbWeight=0, epilog, nogc, extend
+                     ;; size=2 bbWeight=0 PerfScore 0.00
+G_M36053_IG28:        ; bbWeight=0, epilog, nogc, extend
        add      rsp, 112
        pop      rbx
        pop      r14
@@ -130,14 +161,8 @@ G_M36053_IG21:        ; bbWeight=0, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=11 bbWeight=0 PerfScore 0.00
-G_M36053_IG22:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-       inc      edx
-       cmp      edx, 5
-       jle      SHORT G_M36053_IG04
-       jmp      SHORT G_M36053_IG20
-                       ;; size=9 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 195, prolog size 66, PerfScore 242.06, instruction count 68, allocated bytes for code 195 (MethodHash=ea94732a) for method testout1:Test1(int):int (Tier1-OSR)
+; Total bytes of code 225, prolog size 66, PerfScore 253.84, instruction count 81, allocated bytes for code 225 (MethodHash=ea94732a) for method testout1:Test1(int):int (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
  
+30 (+15.38%) : 500604.dasm - testout1:Test2(int):int (Tier1-OSR)
@@ -10,9 +10,9 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T01] (  5,168.76)     int  ->  rdi        
-;  V01 loc0         [V01,T05] (  4, 13.86)     int  ->  rsi        
-;  V02 loc1         [V02,T04] (  5, 13.87)     int  ->  rdx        
-;  V03 loc2         [V03,T10] (  4,  0.01)     int  ->  rbx        
+;  V01 loc0         [V01,T05] (  4, 13.88)     int  ->  rsi        
+;  V02 loc1         [V02,T04] (  5, 13.89)     int  ->  rdx        
+;  V03 loc2         [V03,T10] (  4,  0.04)     int  ->  rbx        
 ;  V04 loc3         [V04,T09] (  4,  0.09)     int  ->  r11        
 ;  V05 loc4         [V05,T08] (  4,  0.48)     int  ->  r10        
 ;  V06 loc5         [V06,T07] (  4,  2.51)     int  ->   r9        
@@ -44,85 +44,116 @@ G_M7350_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      eax, dword ptr [rbp+0x20]
                        ;; size=66 bbWeight=1 PerfScore 26.75
 G_M7350_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       jmp      SHORT G_M7350_IG11
+       jmp      SHORT G_M7350_IG22
                         ;; size=2 bbWeight=1 PerfScore 2.00
-G_M7350_IG03:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M7350_IG03:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      edx, edx
-                        ;; size=2 bbWeight=0.01 PerfScore 0.00
-G_M7350_IG04:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M7350_IG05
+                       ;; size=4 bbWeight=0.01 PerfScore 0.02
+G_M7350_IG04:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      esi
+       cmp      esi, 4
+       jg       G_M7350_IG27
+       jmp      SHORT G_M7350_IG03
+                       ;; size=13 bbWeight=0.01 PerfScore 0.03
+G_M7350_IG05:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      ebx, ebx
-                       ;; size=2 bbWeight=0.01 PerfScore 0.00
-G_M7350_IG05:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M7350_IG07
+                       ;; size=4 bbWeight=0.01 PerfScore 0.02
+G_M7350_IG06:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      edx
+       cmp      edx, 4
+       jle      SHORT G_M7350_IG05
+       jmp      SHORT G_M7350_IG04
+                       ;; size=9 bbWeight=0.01 PerfScore 0.03
+G_M7350_IG07:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      r11d, r11d
-                     ;; size=3 bbWeight=0.01 PerfScore 0.00
-G_M7350_IG06:        ; bbWeight=0.03, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M7350_IG09
+                       ;; size=5 bbWeight=0.01 PerfScore 0.02
+G_M7350_IG08:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      ebx
+       cmp      ebx, 4
+       jle      SHORT G_M7350_IG07
+       jmp      SHORT G_M7350_IG06
+                       ;; size=9 bbWeight=0.01 PerfScore 0.03
+G_M7350_IG09:        ; bbWeight=0.03, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      r10d, r10d
-                     ;; size=3 bbWeight=0.03 PerfScore 0.01
-G_M7350_IG07:        ; bbWeight=0.13, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M7350_IG12
+                       ;; size=5 bbWeight=0.03 PerfScore 0.06
+G_M7350_IG10:        ; bbWeight=0.03, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      r11d
+       cmp      r11d, 4
+       jle      SHORT G_M7350_IG09
+                       ;; size=9 bbWeight=0.03 PerfScore 0.04
+G_M7350_IG11:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M7350_IG08
+                       ;; size=2 bbWeight=0.01 PerfScore 0.02
+G_M7350_IG12:        ; bbWeight=0.13, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      r9d, r9d
-                       ;; size=3 bbWeight=0.13 PerfScore 0.03
-G_M7350_IG08:        ; bbWeight=0.67, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M7350_IG15
+                       ;; size=5 bbWeight=0.13 PerfScore 0.30
+G_M7350_IG13:        ; bbWeight=0.15, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      r10d
+       cmp      r10d, 4
+       jle      SHORT G_M7350_IG12
+                       ;; size=9 bbWeight=0.15 PerfScore 0.23
+G_M7350_IG14:        ; bbWeight=0.03, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M7350_IG10
+                       ;; size=2 bbWeight=0.03 PerfScore 0.05
+G_M7350_IG15:        ; bbWeight=0.67, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      r8d, r8d
-                       ;; size=3 bbWeight=0.67 PerfScore 0.17
-G_M7350_IG09:        ; bbWeight=3.33, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M7350_IG18
+                       ;; size=5 bbWeight=0.67 PerfScore 1.50
+G_M7350_IG16:        ; bbWeight=0.79, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      r9d
+       cmp      r9d, 4
+       jle      SHORT G_M7350_IG15
+                       ;; size=9 bbWeight=0.79 PerfScore 1.19
+G_M7350_IG17:        ; bbWeight=0.15, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M7350_IG13
+                       ;; size=2 bbWeight=0.15 PerfScore 0.30
+G_M7350_IG18:        ; bbWeight=3.33, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      ecx, ecx
-                       ;; size=2 bbWeight=3.33 PerfScore 0.83
-G_M7350_IG10:        ; bbWeight=16.62, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M7350_IG21
+                       ;; size=4 bbWeight=3.33 PerfScore 7.49
+G_M7350_IG19:        ; bbWeight=3.33, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      r8d
+       cmp      r8d, 4
+       jle      SHORT G_M7350_IG18
+                       ;; size=9 bbWeight=3.33 PerfScore 4.99
+G_M7350_IG20:        ; bbWeight=0.79, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M7350_IG16
+                       ;; size=2 bbWeight=0.79 PerfScore 1.58
+G_M7350_IG21:        ; bbWeight=16.62, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        xor      eax, eax
                        ;; size=2 bbWeight=16.62 PerfScore 4.16
-G_M7350_IG11:        ; bbWeight=16.62, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M7350_IG22:        ; bbWeight=16.62, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        cmp      eax, 4
-       jg       SHORT G_M7350_IG14
+       jg       SHORT G_M7350_IG25
                      ;; size=5 bbWeight=16.62 PerfScore 20.78
-G_M7350_IG12:        ; bbWeight=13.86, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M7350_IG23:        ; bbWeight=13.86, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        lea      r15d, [rsi+rsi]
        lea      r14d, [rdx+2*rdx]
        sub      r15d, r14d
                        ;; size=11 bbWeight=13.86 PerfScore 17.32
-G_M7350_IG13:        ; bbWeight=83.38, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M7350_IG24:        ; bbWeight=83.38, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        add      edi, r15d
        inc      eax
        cmp      eax, 4
-       jle      SHORT G_M7350_IG13
+       jle      SHORT G_M7350_IG24
                      ;; size=10 bbWeight=83.38 PerfScore 145.91
-G_M7350_IG14:        ; bbWeight=16.62, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M7350_IG25:        ; bbWeight=16.62, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        inc      ecx
        cmp      ecx, 4
-       jle      SHORT G_M7350_IG10
+       jle      SHORT G_M7350_IG21
                      ;; size=7 bbWeight=16.62 PerfScore 24.93
-G_M7350_IG15:        ; bbWeight=3.33, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      r8d
-       cmp      r8d, 4
-       jle      SHORT G_M7350_IG09
-                       ;; size=9 bbWeight=3.33 PerfScore 4.99
-G_M7350_IG16:        ; bbWeight=0.79, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      r9d
-       cmp      r9d, 4
-       jle      SHORT G_M7350_IG08
-                       ;; size=9 bbWeight=0.79 PerfScore 1.19
-G_M7350_IG17:        ; bbWeight=0.15, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      r10d
-       cmp      r10d, 4
-       jle      SHORT G_M7350_IG07
-                       ;; size=9 bbWeight=0.15 PerfScore 0.23
-G_M7350_IG18:        ; bbWeight=0.03, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      r11d
-       cmp      r11d, 4
-       jle      SHORT G_M7350_IG06
-                       ;; size=9 bbWeight=0.03 PerfScore 0.04
-G_M7350_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      ebx
-       cmp      ebx, 4
-       jle      SHORT G_M7350_IG05
-       jmp      SHORT G_M7350_IG22
-                       ;; size=9 bbWeight=0 PerfScore 0.00
-G_M7350_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      esi
-       cmp      esi, 4
-       jle      SHORT G_M7350_IG03
+G_M7350_IG26:        ; bbWeight=3.33, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M7350_IG19
+                       ;; size=2 bbWeight=3.33 PerfScore 6.66
+G_M7350_IG27:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      eax, edi
-                       ;; size=9 bbWeight=0 PerfScore 0.00
-G_M7350_IG21:        ; bbWeight=0, epilog, nogc, extend
+                      ;; size=2 bbWeight=0 PerfScore 0.00
+G_M7350_IG28:        ; bbWeight=0, epilog, nogc, extend
        add      rsp, 112
        pop      rbx
        pop      r14
@@ -130,14 +161,8 @@ G_M7350_IG21:        ; bbWeight=0, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=11 bbWeight=0 PerfScore 0.00
-G_M7350_IG22:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-       inc      edx
-       cmp      edx, 4
-       jle      SHORT G_M7350_IG04
-       jmp      SHORT G_M7350_IG20
-                       ;; size=9 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 195, prolog size 66, PerfScore 249.34, instruction count 68, allocated bytes for code 195 (MethodHash=ec39e349) for method testout1:Test2(int):int (Tier1-OSR)
+; Total bytes of code 225, prolog size 66, PerfScore 266.42, instruction count 81, allocated bytes for code 225 (MethodHash=ec39e349) for method testout1:Test2(int):int (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
  
  
libraries.crossgen2.linux.x64.checked.mch
-10 (-0.61%) : 366.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
@@ -17,7 +17,7 @@
 ;  V05 loc0         [V05,T01] ( 47, 93.04)     int  ->  [rbp-0x2C] 
 ;  V06 loc1         [V06,T03] (  6, 67.36)     int  ->  [rbp-0x30] 
 ;  V07 loc2         [V07,T24] ( 10, 13.04)     ref  ->  r12         class-hnd exact single-def <System.Type[]>
-;  V08 loc3         [V08,T15] ( 12, 26.92)     ref  ->  r14         class-hnd single-def <System.Reflection.MethodBase[]>
+;  V08 loc3         [V08,T15] ( 12, 26.92)     ref  ->  r13         class-hnd single-def <System.Reflection.MethodBase[]>
 ;  V09 loc4         [V09,T26] ( 10, 12   )     int  ->  [rbp-0x34] 
 ;  V10 loc5         [V10,T27] (  9, 11.50)     int  ->  r15        
 ;  V11 loc6         [V11,T35] (  6,  5   )   ubyte  ->  registers  
@@ -35,7 +35,7 @@
 ;  V23 tmp4         [V23,T39] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V24 tmp5         [V24,T41] (  2,  0   )     ref  ->  rbx         class-hnd single-def "finalizable newobj spill" <<unknown class>>
 ;* V25 tmp6         [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "non-inline candidate call" <System.Type>
-;  V26 tmp7         [V26,T21] (  4, 16   )     int  ->  r13         "impSpillLclRefs"
+;  V26 tmp7         [V26,T21] (  4, 16   )     int  ->  r14         "impSpillLclRefs"
 ;  V27 tmp8         [V27,T32] (  2,  8   )     ref  ->  rsi         class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.MethodBase>
 ;* V28 tmp9         [V28,T36] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V29 tmp10        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
@@ -157,7 +157,7 @@ G_M46704_IG05:        ; bbWeight=1.98, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRe
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
        test     eax, eax
-       je       G_M46704_IG56
+       je       G_M46704_IG55
                      ;; size=28 bbWeight=1.98 PerfScore 21.29
 G_M46704_IG06:        ; bbWeight=3.96, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs=0000 {}, byref
        mov      eax, dword ptr [rbp-0x2C]
@@ -183,7 +183,7 @@ G_M46704_IG08:        ; bbWeight=0.04, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRe
        mov      ecx, dword ptr [r12+0x08]
        mov      edx, dword ptr [rbp-0x2C]
        cmp      edx, ecx
-       jae      G_M46704_IG54
+       jae      G_M46704_IG53
        mov      dword ptr [rbp-0x2C], edx
        mov      edi, edx
        lea      rdi, bword ptr [r12+8*rdi+0x10]
@@ -234,7 +234,7 @@ G_M46704_IG10:        ; bbWeight=0.02, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRe
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
        test     eax, eax
-       je       G_M46704_IG56
+       je       G_M46704_IG55
                      ;; size=28 bbWeight=0.02 PerfScore 0.22
 G_M46704_IG11:        ; bbWeight=0.04, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs=0000 {}, byref
        mov      eax, dword ptr [rbp-0x2C]
@@ -247,29 +247,29 @@ G_M46704_IG12:        ; bbWeight=1, gcrefRegs=D000 {r12 r14 r15}, byrefRegs=0000
        mov      rbx, r12
        ; gcrRegs +[rbx]
        test     r14, r14
-       je       G_M46704_IG55
+       je       G_M46704_IG54
        cmp      dword ptr [r14+0x08], 0
-       je       G_M46704_IG55
+       je       G_M46704_IG54
        mov      rdi, r14
        ; gcrRegs +[rdi]
        lea      r11, [(reloc)]      ; function address
        call     [r11]<unknown method>
        ; gcrRegs -[rdi r12 r14] +[rax]
        ; gcr arg pop 0
-       mov      r14, rax
-       ; gcrRegs +[r14]
-       xor      r13d, r13d
+       mov      r13, rax
+       ; gcrRegs +[r13]
+       xor      r14d, r14d
        xor      eax, eax
        ; gcrRegs -[rax]
        xor      r12d, r12d
-       mov      eax, dword ptr [r14+0x08]
+       mov      eax, dword ptr [r13+0x08]
        mov      dword ptr [rbp-0x3C], eax
        test     eax, eax
        jle      G_M46704_IG18
                        ;; size=62 bbWeight=1 PerfScore 14.50
-G_M46704_IG13:        ; bbWeight=4, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
+G_M46704_IG13:        ; bbWeight=4, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, byref
        mov      edi, r12d
-       mov      rdi, gword ptr [r14+8*rdi+0x10]
+       mov      rdi, gword ptr [r13+8*rdi+0x10]
        ; gcrRegs +[rdi]
        call     [System.Reflection.TypeLoading.DefaultBinderThunks:GetParametersNoCopy(System.Reflection.MethodBase):System.Reflection.ParameterInfo[]]
        ; gcrRegs -[rdi] +[rax]
@@ -281,13 +281,13 @@ G_M46704_IG13:        ; bbWeight=4, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000
        cmp      edi, ecx
        jne      G_M46704_IG29
                        ;; size=32 bbWeight=4 PerfScore 46.00
-G_M46704_IG14:        ; bbWeight=2, gcVars=0000000000000100 {V14}, gcrefRegs=C009 {rax rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG14:        ; bbWeight=2, gcVars=0000000000000100 {V14}, gcrefRegs=A009 {rax rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        xor      edx, edx
        mov      dword ptr [rbp-0x38], ecx
        test     ecx, ecx
        jle      SHORT G_M46704_IG17
                        ;; size=9 bbWeight=2 PerfScore 5.00
-G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=C009 {rax rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=A009 {rax rbx r13 r15}, byrefRegs=0000 {}, byref, isz
        mov      dword ptr [rbp-0x30], edx
        mov      esi, edx
        mov      qword ptr [rbp-0x48], rsi
@@ -321,7 +321,7 @@ G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=C009 {rax rbx r14 r15}, byrefR
        test     eax, eax
        je       SHORT G_M46704_IG19
                        ;; size=75 bbWeight=15.84 PerfScore 439.56
-G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rbp-0x78]
        ; gcrRegs +[rdi]
        lea      r11, [(reloc)]      ; function address
@@ -340,17 +340,17 @@ G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0
        ; gcr arg pop 0
        jmp      SHORT G_M46704_IG20
                        ;; size=31 bbWeight=7.92 PerfScore 108.90
-G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V14 V15}
        mov      dword ptr [rbp-0x30], edx
        jmp      G_M46704_IG28
                        ;; size=8 bbWeight=1 PerfScore 3.00
-G_M46704_IG18:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
+G_M46704_IG18:        ; bbWeight=0.50, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r15]
        mov      ecx, dword ptr [rbp-0x3C]
        jmp      G_M46704_IG30
                        ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M46704_IG19:        ; bbWeight=7.92, gcVars=0000000000000161 {V14 V15 V35 V36}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG19:        ; bbWeight=7.92, gcVars=0000000000000161 {V14 V15 V35 V36}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[r15]
        ; GC ptr vars +{V00 V05 V06 V08 V14 V15 V35 V36}
        mov      rdi, gword ptr [rbp-0x78]
@@ -365,13 +365,13 @@ G_M46704_IG19:        ; bbWeight=7.92, gcVars=0000000000000161 {V14 V15 V35 V36}
        je       G_M46704_IG25
        jmp      SHORT G_M46704_IG21
                        ;; size=28 bbWeight=7.92 PerfScore 99.00
-G_M46704_IG20:        ; bbWeight=7.92, gcVars=0000000000000140 {V14 V15}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M46704_IG20:        ; bbWeight=7.92, gcVars=0000000000000140 {V14 V15}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        ; GC ptr vars -{V35}
        test     eax, eax
        jne      G_M46704_IG25
                        ;; size=8 bbWeight=7.92 PerfScore 9.90
-G_M46704_IG21:        ; bbWeight=7.92, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG21:        ; bbWeight=7.92, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, byref, isz
        mov      rsi, qword ptr [(reloc)]      ; const ptr
        mov      rsi, gword ptr [r15+rsi+0x08]
        ; gcrRegs +[rsi]
@@ -397,7 +397,7 @@ G_M46704_IG21:        ; bbWeight=7.92, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0
        test     eax, eax
        je       SHORT G_M46704_IG22
        mov      edi, r12d
-       mov      rdi, gword ptr [r14+8*rdi+0x10]
+       mov      rdi, gword ptr [r13+8*rdi+0x10]
        ; gcrRegs +[rdi]
        call     [CORINFO_HELP_READYTORUN_ISINSTANCEOF]
        ; gcrRegs -[rdi] +[rax]
@@ -423,7 +423,7 @@ G_M46704_IG21:        ; bbWeight=7.92, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0
        test     rax, rax
        je       G_M46704_IG28
                        ;; size=124 bbWeight=7.92 PerfScore 300.96
-G_M46704_IG22:        ; bbWeight=7.92, gcVars=0000000000000150 {V14 V15 V16}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG22:        ; bbWeight=7.92, gcVars=0000000000000150 {V14 V15 V16}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rax]
        mov      rdi, gword ptr [rbp-0x60]
        ; gcrRegs +[rdi]
@@ -492,11 +492,11 @@ G_M46704_IG22:        ; bbWeight=7.92, gcVars=0000000000000150 {V14 V15 V16}, gc
        test     eax, eax
        jne      SHORT G_M46704_IG25
                        ;; size=158 bbWeight=7.92 PerfScore 425.70
-G_M46704_IG23:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG23:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; GC ptr vars -{V14}
        jmp      SHORT G_M46704_IG28
-                      ;; size=2 bbWeight=8 PerfScore 16.00
-G_M46704_IG24:        ; bbWeight=7.92, gcVars=0000000000000150 {V14 V15 V16}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+                        ;; size=2 bbWeight=2 PerfScore 4.00
+G_M46704_IG24:        ; bbWeight=7.92, gcVars=0000000000000150 {V14 V15 V16}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; GC ptr vars +{V06 V08 V14 V15 V16}
        mov      rdi, gword ptr [rbp-0x60]
        ; gcrRegs +[rdi]
@@ -510,7 +510,7 @@ G_M46704_IG24:        ; bbWeight=7.92, gcVars=0000000000000150 {V14 V15 V16}, gc
        test     eax, eax
        je       SHORT G_M46704_IG28
                        ;; size=22 bbWeight=7.92 PerfScore 53.46
-G_M46704_IG25:        ; bbWeight=15.84, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG25:        ; bbWeight=15.84, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, byref, isz
        mov      edx, dword ptr [rbp-0x30]
        inc      edx
        mov      eax, dword ptr [rbp-0x38]
@@ -518,51 +518,51 @@ G_M46704_IG25:        ; bbWeight=15.84, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=
        mov      dword ptr [rbp-0x38], eax
        jg       SHORT G_M46704_IG27
                        ;; size=15 bbWeight=15.84 PerfScore 71.28
-G_M46704_IG26:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG26:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; GC ptr vars -{V14}
        mov      dword ptr [rbp-0x30], edx
        jmp      SHORT G_M46704_IG28
                        ;; size=5 bbWeight=2 PerfScore 6.00
-G_M46704_IG27:        ; bbWeight=7.92, gcVars=0000000000000100 {V14}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M46704_IG27:        ; bbWeight=7.92, gcVars=0000000000000100 {V14}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars +{V08 V14}
        mov      rax, gword ptr [rbp-0x58]
        ; gcrRegs +[rax]
        jmp      G_M46704_IG15
                        ;; size=9 bbWeight=7.92 PerfScore 23.76
-G_M46704_IG28:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG28:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rax]
        ; GC ptr vars -{V08 V14}
        mov      edx, dword ptr [rbp-0x30]
        cmp      dword ptr [rbp-0x38], edx
        jne      SHORT G_M46704_IG29
-       lea      edi, [r13+0x01]
+       lea      edi, [r14+0x01]
        mov      dword ptr [rbp-0x34], edi
        mov      edi, r12d
-       mov      rsi, gword ptr [r14+8*rdi+0x10]
+       mov      rsi, gword ptr [r13+8*rdi+0x10]
        ; gcrRegs +[rsi]
-       cmp      r13d, dword ptr [rbp-0x3C]
-       jae      G_M46704_IG54
-       mov      edi, r13d
-       lea      rdi, bword ptr [r14+8*rdi+0x10]
+       cmp      r14d, dword ptr [rbp-0x3C]
+       jae      G_M46704_IG53
+       mov      edi, r14d
+       lea      rdi, bword ptr [r13+8*rdi+0x10]
        ; byrRegs +[rdi]
        call     [CORINFO_HELP_ASSIGN_REF]
        ; gcrRegs -[rsi]
        ; byrRegs -[rdi]
-       mov      r13d, dword ptr [rbp-0x34]
-                       ;; size=51 bbWeight=2 PerfScore 32.00
-G_M46704_IG29:        ; bbWeight=4, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+       mov      r14d, dword ptr [rbp-0x34]
+                       ;; size=51 bbWeight=2 PerfScore 34.00
+G_M46704_IG29:        ; bbWeight=4, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, byref, isz
        inc      r12d
        mov      ecx, dword ptr [rbp-0x3C]
        cmp      ecx, r12d
        jg       SHORT G_M46704_IG33
                        ;; size=11 bbWeight=4 PerfScore 10.00
-G_M46704_IG30:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG30:        ; bbWeight=1, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[r15]
-       test     r13d, r13d
+       test     r14d, r14d
        jne      SHORT G_M46704_IG34
                        ;; size=5 bbWeight=1 PerfScore 1.25
 G_M46704_IG31:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rbx r14]
...
  
-2 (-0.12%) : 226.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
@@ -17,7 +17,7 @@
 ;  V05 loc0         [V05,T01] ( 47, 93.04)     int  ->  [rbp-0x2C] 
 ;  V06 loc1         [V06,T03] (  6, 67.36)     int  ->  [rbp-0x30] 
 ;  V07 loc2         [V07,T24] ( 10, 13.04)     ref  ->  r12         class-hnd exact single-def <System.Type[]>
-;  V08 loc3         [V08,T15] ( 12, 26.92)     ref  ->  r14         class-hnd single-def <System.Reflection.MethodBase[]>
+;  V08 loc3         [V08,T15] ( 12, 26.92)     ref  ->  r13         class-hnd single-def <System.Reflection.MethodBase[]>
 ;  V09 loc4         [V09,T26] ( 10, 12   )     int  ->  [rbp-0x34] 
 ;  V10 loc5         [V10,T27] (  9, 11.50)     int  ->  r15        
 ;  V11 loc6         [V11,T35] (  6,  5   )   ubyte  ->  registers  
@@ -34,7 +34,7 @@
 ;  V22 tmp4         [V22,T38] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V23 tmp5         [V23,T41] (  2,  0   )     ref  ->  rbx         class-hnd single-def "finalizable newobj spill" <<unknown class>>
 ;* V24 tmp6         [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "non-inline candidate call" <System.Type>
-;  V25 tmp7         [V25,T21] (  4, 16   )     int  ->  r13         "impSpillLclRefs"
+;  V25 tmp7         [V25,T21] (  4, 16   )     int  ->  r14         "impSpillLclRefs"
 ;  V26 tmp8         [V26,T32] (  2,  8   )     ref  ->  rsi         class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.MethodBase>
 ;  V27 tmp9         [V27,T39] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V28 tmp10        [V28,T42] (  2,  0   )     ref  ->  rbx         class-hnd single-def "finalizable newobj spill" <<unknown class>>
@@ -158,7 +158,7 @@ G_M46704_IG05:        ; bbWeight=1.98, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRe
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
        test     eax, eax
-       je       G_M46704_IG56
+       je       G_M46704_IG55
                      ;; size=28 bbWeight=1.98 PerfScore 21.29
 G_M46704_IG06:        ; bbWeight=3.96, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs=0000 {}, byref
        mov      eax, dword ptr [rbp-0x2C]
@@ -184,7 +184,7 @@ G_M46704_IG08:        ; bbWeight=0.04, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRe
        mov      ecx, dword ptr [r12+0x08]
        mov      edx, dword ptr [rbp-0x2C]
        cmp      edx, ecx
-       jae      G_M46704_IG54
+       jae      G_M46704_IG53
        mov      dword ptr [rbp-0x2C], edx
        mov      edi, edx
        lea      rdi, bword ptr [r12+8*rdi+0x10]
@@ -235,7 +235,7 @@ G_M46704_IG10:        ; bbWeight=0.02, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRe
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
        test     eax, eax
-       je       G_M46704_IG56
+       je       G_M46704_IG55
                      ;; size=28 bbWeight=0.02 PerfScore 0.22
 G_M46704_IG11:        ; bbWeight=0.04, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs=0000 {}, byref
        mov      eax, dword ptr [rbp-0x2C]
@@ -248,29 +248,29 @@ G_M46704_IG12:        ; bbWeight=1, gcrefRegs=D000 {r12 r14 r15}, byrefRegs=0000
        mov      rbx, r12
        ; gcrRegs +[rbx]
        test     r14, r14
-       je       G_M46704_IG55
+       je       G_M46704_IG54
        cmp      dword ptr [r14+0x08], 0
-       je       G_M46704_IG55
+       je       G_M46704_IG54
        mov      rdi, r14
        ; gcrRegs +[rdi]
        lea      r11, [(reloc)]      ; function address
        call     [r11]<unknown method>
        ; gcrRegs -[rdi r12 r14] +[rax]
        ; gcr arg pop 0
-       mov      r14, rax
-       ; gcrRegs +[r14]
-       xor      r13d, r13d
+       mov      r13, rax
+       ; gcrRegs +[r13]
+       xor      r14d, r14d
        xor      eax, eax
        ; gcrRegs -[rax]
        xor      r12d, r12d
-       mov      eax, dword ptr [r14+0x08]
+       mov      eax, dword ptr [r13+0x08]
        mov      dword ptr [rbp-0x3C], eax
        test     eax, eax
        jle      G_M46704_IG18
                        ;; size=62 bbWeight=1 PerfScore 14.50
-G_M46704_IG13:        ; bbWeight=4, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
+G_M46704_IG13:        ; bbWeight=4, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, byref
        mov      edi, r12d
-       mov      rdi, gword ptr [r14+8*rdi+0x10]
+       mov      rdi, gword ptr [r13+8*rdi+0x10]
        ; gcrRegs +[rdi]
        call     [System.Reflection.TypeLoading.DefaultBinderThunks:GetParametersNoCopy(System.Reflection.MethodBase):System.Reflection.ParameterInfo[]]
        ; gcrRegs -[rdi] +[rax]
@@ -282,13 +282,13 @@ G_M46704_IG13:        ; bbWeight=4, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000
        cmp      edi, ecx
        jne      G_M46704_IG29
                        ;; size=32 bbWeight=4 PerfScore 46.00
-G_M46704_IG14:        ; bbWeight=2, gcVars=0000000000000100 {V13}, gcrefRegs=C009 {rax rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG14:        ; bbWeight=2, gcVars=0000000000000100 {V13}, gcrefRegs=A009 {rax rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        xor      edx, edx
        mov      dword ptr [rbp-0x38], ecx
        test     ecx, ecx
        jle      SHORT G_M46704_IG17
                        ;; size=9 bbWeight=2 PerfScore 5.00
-G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=C009 {rax rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=A009 {rax rbx r13 r15}, byrefRegs=0000 {}, byref, isz
        mov      dword ptr [rbp-0x30], edx
        mov      esi, edx
        mov      qword ptr [rbp-0x48], rsi
@@ -322,7 +322,7 @@ G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=C009 {rax rbx r14 r15}, byrefR
        test     eax, eax
        je       SHORT G_M46704_IG19
                        ;; size=75 bbWeight=15.84 PerfScore 439.56
-G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rbp-0x78]
        ; gcrRegs +[rdi]
        lea      r11, [(reloc)]      ; function address
@@ -341,17 +341,17 @@ G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0
        ; gcr arg pop 0
        jmp      SHORT G_M46704_IG20
                        ;; size=31 bbWeight=7.92 PerfScore 108.90
-G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V13 V14}
        mov      dword ptr [rbp-0x30], edx
        jmp      G_M46704_IG28
                        ;; size=8 bbWeight=1 PerfScore 3.00
-G_M46704_IG18:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
+G_M46704_IG18:        ; bbWeight=0.50, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r15]
        mov      ecx, dword ptr [rbp-0x3C]
        jmp      G_M46704_IG30
                        ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M46704_IG19:        ; bbWeight=7.92, gcVars=0000000000000161 {V13 V14 V36 V37}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG19:        ; bbWeight=7.92, gcVars=0000000000000161 {V13 V14 V36 V37}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[r15]
        ; GC ptr vars +{V00 V05 V06 V08 V13 V14 V36 V37}
        mov      rdi, gword ptr [rbp-0x78]
@@ -366,13 +366,13 @@ G_M46704_IG19:        ; bbWeight=7.92, gcVars=0000000000000161 {V13 V14 V36 V37}
        je       G_M46704_IG25
        jmp      SHORT G_M46704_IG21
                        ;; size=28 bbWeight=7.92 PerfScore 99.00
-G_M46704_IG20:        ; bbWeight=7.92, gcVars=0000000000000140 {V13 V14}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M46704_IG20:        ; bbWeight=7.92, gcVars=0000000000000140 {V13 V14}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        ; GC ptr vars -{V36}
        test     eax, eax
        jne      G_M46704_IG25
                        ;; size=8 bbWeight=7.92 PerfScore 9.90
-G_M46704_IG21:        ; bbWeight=7.92, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG21:        ; bbWeight=7.92, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, byref, isz
        mov      rsi, qword ptr [(reloc)]      ; const ptr
        mov      rsi, gword ptr [r15+rsi+0x08]
        ; gcrRegs +[rsi]
@@ -398,7 +398,7 @@ G_M46704_IG21:        ; bbWeight=7.92, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0
        test     eax, eax
        je       SHORT G_M46704_IG22
        mov      edi, r12d
-       mov      rdi, gword ptr [r14+8*rdi+0x10]
+       mov      rdi, gword ptr [r13+8*rdi+0x10]
        ; gcrRegs +[rdi]
        call     [CORINFO_HELP_READYTORUN_ISINSTANCEOF]
        ; gcrRegs -[rdi] +[rax]
@@ -424,7 +424,7 @@ G_M46704_IG21:        ; bbWeight=7.92, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0
        test     rax, rax
        je       G_M46704_IG28
                        ;; size=124 bbWeight=7.92 PerfScore 300.96
-G_M46704_IG22:        ; bbWeight=7.92, gcVars=0000000000000150 {V13 V14 V15}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG22:        ; bbWeight=7.92, gcVars=0000000000000150 {V13 V14 V15}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rax]
        mov      rdi, gword ptr [rbp-0x60]
        ; gcrRegs +[rdi]
@@ -493,10 +493,10 @@ G_M46704_IG22:        ; bbWeight=7.92, gcVars=0000000000000150 {V13 V14 V15}, gc
        test     eax, eax
        jne      SHORT G_M46704_IG25
                        ;; size=158 bbWeight=7.92 PerfScore 425.70
-G_M46704_IG23:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG23:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        jmp      SHORT G_M46704_IG28
-                       ;; size=2 bbWeight=8 PerfScore 16.00
-G_M46704_IG24:        ; bbWeight=7.92, gcVars=0000000000000150 {V13 V14 V15}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+                        ;; size=2 bbWeight=2 PerfScore 4.00
+G_M46704_IG24:        ; bbWeight=7.92, gcVars=0000000000000150 {V13 V14 V15}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; GC ptr vars +{V06 V08 V13 V14 V15}
        mov      rdi, gword ptr [rbp-0x60]
        ; gcrRegs +[rdi]
@@ -510,7 +510,7 @@ G_M46704_IG24:        ; bbWeight=7.92, gcVars=0000000000000150 {V13 V14 V15}, gc
        test     eax, eax
        je       SHORT G_M46704_IG28
                        ;; size=22 bbWeight=7.92 PerfScore 53.46
-G_M46704_IG25:        ; bbWeight=15.84, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG25:        ; bbWeight=15.84, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, byref, isz
        mov      edx, dword ptr [rbp-0x30]
        inc      edx
        mov      eax, dword ptr [rbp-0x38]
@@ -518,51 +518,51 @@ G_M46704_IG25:        ; bbWeight=15.84, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=
        mov      dword ptr [rbp-0x38], eax
        jg       SHORT G_M46704_IG27
                        ;; size=15 bbWeight=15.84 PerfScore 71.28
-G_M46704_IG26:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG26:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; GC ptr vars -{V13}
        mov      dword ptr [rbp-0x30], edx
        jmp      SHORT G_M46704_IG28
                        ;; size=5 bbWeight=2 PerfScore 6.00
-G_M46704_IG27:        ; bbWeight=7.92, gcVars=0000000000000100 {V13}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M46704_IG27:        ; bbWeight=7.92, gcVars=0000000000000100 {V13}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars +{V08 V13}
        mov      rax, gword ptr [rbp-0x58]
        ; gcrRegs +[rax]
        jmp      G_M46704_IG15
                        ;; size=9 bbWeight=7.92 PerfScore 23.76
-G_M46704_IG28:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG28:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rax]
        ; GC ptr vars -{V08 V13}
        mov      edx, dword ptr [rbp-0x30]
        cmp      dword ptr [rbp-0x38], edx
        jne      SHORT G_M46704_IG29
-       lea      edi, [r13+0x01]
+       lea      edi, [r14+0x01]
        mov      dword ptr [rbp-0x34], edi
        mov      edi, r12d
-       mov      rsi, gword ptr [r14+8*rdi+0x10]
+       mov      rsi, gword ptr [r13+8*rdi+0x10]
        ; gcrRegs +[rsi]
-       cmp      r13d, dword ptr [rbp-0x3C]
-       jae      G_M46704_IG54
-       mov      edi, r13d
-       lea      rdi, bword ptr [r14+8*rdi+0x10]
+       cmp      r14d, dword ptr [rbp-0x3C]
+       jae      G_M46704_IG53
+       mov      edi, r14d
+       lea      rdi, bword ptr [r13+8*rdi+0x10]
        ; byrRegs +[rdi]
        call     [CORINFO_HELP_ASSIGN_REF]
        ; gcrRegs -[rsi]
        ; byrRegs -[rdi]
-       mov      r13d, dword ptr [rbp-0x34]
-                       ;; size=51 bbWeight=2 PerfScore 32.00
-G_M46704_IG29:        ; bbWeight=4, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+       mov      r14d, dword ptr [rbp-0x34]
+                       ;; size=51 bbWeight=2 PerfScore 34.00
+G_M46704_IG29:        ; bbWeight=4, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, byref, isz
        inc      r12d
        mov      ecx, dword ptr [rbp-0x3C]
        cmp      ecx, r12d
        jg       SHORT G_M46704_IG33
                        ;; size=11 bbWeight=4 PerfScore 10.00
-G_M46704_IG30:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG30:        ; bbWeight=1, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[r15]
-       test     r13d, r13d
+       test     r14d, r14d
        jne      SHORT G_M46704_IG34
                        ;; size=5 bbWeight=1 PerfScore 1.25
 G_M46704_IG31:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rbx r14]
+       ; gcrRegs -[rbx r13]
...
  
+0 (0.00%) : 708.dasm - System.CommandLine.Helpers:AppendExpandedPaths(System.Collections.Generic.Dictionary`2[System.String,System.String],System.String,ubyte) (FullOpts)
@@ -22,7 +22,7 @@
 ;  V10 loc7         [V10    ] (  2,  4   )     ref  ->  [rbp-0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String>
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V12 tmp1         [V12,T12] (  3,  0   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.CommandLine.CommandLineException>
-;  V13 tmp2         [V13,T13] (  3,  0   )     ref  ->  r15         class-hnd exact "NewObj constructor temp" <System.CommandLine.CommandLineException>
+;  V13 tmp2         [V13,T13] (  3,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <System.CommandLine.CommandLineException>
 ;* V14 tmp3         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.String>
 ;* V15 tmp4         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.String>
 ;  V16 tmp5         [V16,T09] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
@@ -169,18 +169,18 @@ G_M40753_IG07:        ; bbWeight=4, gcVars=0000000000000008 {V06}, gcrefRegs=900
        test     eax, eax
        jne      SHORT G_M40753_IG05
                        ;; size=20 bbWeight=4 PerfScore 21.00
-G_M40753_IG08:        ; bbWeight=0.50, gcrefRegs=9000 {r12 r15}, byrefRegs=0000 {}, byref, isz
+G_M40753_IG08:        ; bbWeight=1, gcrefRegs=9000 {r12 r15}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx]
        jmp      SHORT G_M40753_IG11
-                      ;; size=2 bbWeight=0.50 PerfScore 1.00
+                        ;; size=2 bbWeight=1 PerfScore 2.00
 G_M40753_IG09:        ; bbWeight=0, gcVars=0000000000000048 {V06 V08}, gcrefRegs=1000 {r12}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[r15]
        ; GC ptr vars +{V06 V08}
        call     [CORINFO_HELP_READYTORUN_NEW]
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       mov      r15, rax
-       ; gcrRegs +[r15]
+       mov      rbx, rax
+       ; gcrRegs +[rbx]
        mov      rdi, qword ptr [(reloc)]      ; const ptr
        mov      rdi, gword ptr [rdi]
        ; gcrRegs +[rdi]
@@ -197,15 +197,15 @@ G_M40753_IG09:        ; bbWeight=0, gcVars=0000000000000048 {V06 V08}, gcrefRegs
        ; gcr arg pop 0
        mov      rsi, rax
        ; gcrRegs +[rsi]
-       mov      rdi, r15
+       mov      rdi, rbx
        ; gcrRegs +[rdi]
        call     [<unknown method>]
        ; gcrRegs -[rax rsi rdi]
        ; gcr arg pop 0
-       mov      rdi, r15
+       mov      rdi, rbx
        ; gcrRegs +[rdi]
        call     [CORINFO_HELP_THROW]
-       ; gcrRegs -[rdi r15]
+       ; gcrRegs -[rbx rdi]
        ; gcr arg pop 0
                        ;; size=64 bbWeight=0 PerfScore 0.00
 G_M40753_IG10:        ; bbWeight=2, gcVars=0000000000000048 {V06 V08}, gcrefRegs=B008 {rbx r12 r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
@@ -332,7 +332,7 @@ G_M40753_IG19:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
                        ;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 528, prolog size 38, PerfScore 177.75, instruction count 150, allocated bytes for code 528 (MethodHash=e8c560ce) for method System.CommandLine.Helpers:AppendExpandedPaths(System.Collections.Generic.Dictionary`2[System.String,System.String],System.String,ubyte) (FullOpts)
+; Total bytes of code 528, prolog size 38, PerfScore 178.75, instruction count 150, allocated bytes for code 528 (MethodHash=e8c560ce) for method System.CommandLine.Helpers:AppendExpandedPaths(System.Collections.Generic.Dictionary`2[System.String,System.String],System.String,ubyte) (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
libraries.pmi.linux.x64.checked.mch
-17 (-5.20%) : 268523.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
@@ -16,13 +16,13 @@
 ;  V05 tmp1         [V05,T06] (  3,  6   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]>
 ;  V06 tmp2         [V06,T10] (  3,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V07 tmp3         [V07,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V08 tmp4         [V08,T07] (  3,  5.83)     ref  ->  r13         class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V09 tmp5         [V09,T04] (  4,  7.65)     int  ->  r12         "Inline stloc first use temp"
+;  V08 tmp4         [V08,T07] (  3,  5.83)     ref  ->  rdi         class-hnd "Inline stloc first use temp" <<unknown class>>
+;  V09 tmp5         [V09,T04] (  4,  7.65)     int  ->  rsi         "Inline stloc first use temp"
 ;  V10 tmp6         [V10,T02] (  3,  8   )     ref  ->  rax         class-hnd exact "Inlining Arg" <Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target>
 ;  V11 tmp7         [V11,T11] (  2,  0   )     ref  ->  r15         "argument with side effect"
 ;  V12 tmp8         [V12,T12] (  2,  0   )     ref  ->  rsi         "argument with side effect"
 ;  V13 tmp9         [V13,T13] (  2,  0   )     ref  ->  rsi         "argument with side effect"
-;  V14 cse0         [V14,T08] (  2,  4   )     int  ->  rdi         "CSE - aggressive"
+;  V14 cse0         [V14,T08] (  2,  4   )     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
@@ -30,16 +30,14 @@ G_M26637_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        push     rbp
        push     r15
        push     r14
-       push     r13
-       push     r12
        push     rbx
        push     rax
-       lea      rbp, [rsp+0x30]
+       lea      rbp, [rsp+0x20]
        mov      r15, rdi
        ; gcrRegs +[r15]
        mov      rbx, rsi
        ; byrRegs +[rbx]
-                      ;; size=22 bbWeight=1 PerfScore 8.00
+                      ;; size=18 bbWeight=1 PerfScore 6.00
 G_M26637_IG02:        ; bbWeight=1, gcrefRegs=8000 {r15}, byrefRegs=0008 {rbx}, byref, isz
        mov      rdi, rbx
        ; byrRegs +[rdi]
@@ -66,17 +64,17 @@ G_M26637_IG02:        ; bbWeight=1, gcrefRegs=8000 {r15}, byrefRegs=0008 {rbx},
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rsi]
        ; byrRegs -[rdi]
-       jmp      SHORT G_M26637_IG08
+       jmp      SHORT G_M26637_IG07
                       ;; size=80 bbWeight=1 PerfScore 15.25
-G_M26637_IG03:        ; bbWeight=2, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref
+G_M26637_IG03:        ; bbWeight=2, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref, isz
        mov      rdi, rbx
        ; byrRegs +[rdi]
        call     [System.Text.Json.Utf8JsonReader:GetString():System.String:this]
        ; gcrRegs +[rax]
        ; byrRegs -[rdi]
        test     rax, rax
-       je       G_M26637_IG12
-                       ;; size=18 bbWeight=2 PerfScore 9.00
+       je       SHORT G_M26637_IG12
+                       ;; size=14 bbWeight=2 PerfScore 9.00
 G_M26637_IG04:        ; bbWeight=1.88, gcrefRegs=C001 {rax r14 r15}, byrefRegs=0008 {rbx}, byref, isz
        cmp      dword ptr [rax+0x08], 0
        je       SHORT G_M26637_IG12
@@ -92,48 +90,39 @@ G_M26637_IG05:        ; bbWeight=2, gcrefRegs=C001 {rax r14 r15}, byrefRegs=0008
        ; gcrRegs -[rdx rdi]
        ; byrRegs -[rsi]
        inc      dword ptr [r14+0x14]
-       mov      r13, gword ptr [r14+0x08]
-       ; gcrRegs +[r13]
-       mov      r12d, dword ptr [r14+0x10]
-       mov      edi, dword ptr [r13+0x08]
-       cmp      edi, r12d
-       jbe      SHORT G_M26637_IG07
-                       ;; size=36 bbWeight=2 PerfScore 28.00
-G_M26637_IG06:        ; bbWeight=1.83, gcrefRegs=E001 {rax r13 r14 r15}, byrefRegs=0008 {rbx}, byref, isz
-       lea      edi, [r12+0x01]
-       mov      dword ptr [r14+0x10], edi
-       mov      edi, r12d
-       lea      rdi, bword ptr [r13+8*rdi+0x10]
+       mov      rdi, gword ptr [r14+0x08]
+       ; gcrRegs +[rdi]
+       mov      esi, dword ptr [r14+0x10]
+       mov      ecx, dword ptr [rdi+0x08]
+       cmp      ecx, esi
+       jbe      SHORT G_M26637_IG11
+                       ;; size=34 bbWeight=2 PerfScore 28.00
+G_M26637_IG06:        ; bbWeight=1.83, gcrefRegs=C081 {rax rdi r14 r15}, byrefRegs=0008 {rbx}, byref
+       lea      ecx, [rsi+0x01]
+       mov      dword ptr [r14+0x10], ecx
+       mov      esi, esi
+       lea      rdi, bword ptr [rdi+8*rsi+0x10]
+       ; gcrRegs -[rdi]
        ; byrRegs +[rdi]
        mov      rsi, rax
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
-       ; gcrRegs -[rax rsi r13]
+       ; gcrRegs -[rax rsi]
        ; byrRegs -[rdi]
-       jmp      SHORT G_M26637_IG08
-                       ;; size=27 bbWeight=1.83 PerfScore 12.78
-G_M26637_IG07:        ; bbWeight=0.17, gcrefRegs=C001 {rax r14 r15}, byrefRegs=0008 {rbx}, byref
-       ; gcrRegs +[rax]
-       mov      rdi, r14
-       ; gcrRegs +[rdi]
-       mov      rsi, rax
-       ; gcrRegs +[rsi]
-       call     [<unknown method>]
-       ; gcrRegs -[rax rsi rdi]
-                       ;; size=12 bbWeight=0.17 PerfScore 0.61
-G_M26637_IG08:        ; bbWeight=8, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref, isz
+                       ;; size=22 bbWeight=1.83 PerfScore 7.30
+G_M26637_IG07:        ; bbWeight=8, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref, isz
        mov      rdi, rbx
        ; byrRegs +[rdi]
        call     [System.Text.Json.Utf8JsonReader:Read():ubyte:this]
        ; byrRegs -[rdi]
        test     eax, eax
-       je       SHORT G_M26637_IG10
+       je       SHORT G_M26637_IG09
                      ;; size=13 bbWeight=8 PerfScore 36.00
-G_M26637_IG09:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref, isz
+G_M26637_IG08:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref, isz
        cmp      byte  ptr [rbx+0x28], 5
        je       SHORT G_M26637_IG03
                        ;; size=6 bbWeight=4 PerfScore 16.00
-G_M26637_IG10:        ; bbWeight=1, gcrefRegs=4000 {r14}, byrefRegs=0008 {rbx}, byref
+G_M26637_IG09:        ; bbWeight=1, gcrefRegs=4000 {r14}, byrefRegs=0008 {rbx}, byref
        ; gcrRegs -[r15]
        mov      rdi, rbx
        ; byrRegs +[rdi]
@@ -142,18 +131,28 @@ G_M26637_IG10:        ; bbWeight=1, gcrefRegs=4000 {r14}, byrefRegs=0008 {rbx},
        mov      rax, r14
        ; gcrRegs +[rax]
                        ;; size=12 bbWeight=1 PerfScore 3.50
-G_M26637_IG11:        ; bbWeight=1, epilog, nogc, extend
+G_M26637_IG10:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 8
        pop      rbx
-       pop      r12
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=15 bbWeight=1 PerfScore 4.25
-G_M26637_IG12:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs -[rax r14]
+                      ;; size=11 bbWeight=1 PerfScore 3.25
+G_M26637_IG11:        ; bbWeight=0.17, gcVars=0000000000000000 {}, gcrefRegs=C001 {rax r14 r15}, byrefRegs=0008 {rbx}, gcvars, byref, isz
+       ; gcrRegs +[r15]
+       ; byrRegs +[rbx]
+       mov      rdi, r14
+       ; gcrRegs +[rdi]
+       mov      rsi, rax
+       ; gcrRegs +[rsi]
+       call     [<unknown method>]
+       ; gcrRegs -[rax rsi rdi]
+       jmp      SHORT G_M26637_IG07
+                       ;; size=14 bbWeight=0.17 PerfScore 0.96
+G_M26637_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[r14-r15]
+       ; byrRegs -[rbx]
        mov      rdi, 0xD1FFAB1E      ; <unknown class>
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
@@ -184,7 +183,7 @@ G_M26637_IG12:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=80 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 327, prolog size 16, PerfScore 140.90, instruction count 85, allocated bytes for code 327 (MethodHash=1f5097f2) for method Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
+; Total bytes of code 310, prolog size 12, PerfScore 132.77, instruction count 81, allocated bytes for code 310 (MethodHash=1f5097f2) for method Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -192,15 +191,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0B
-  CountOfUnwindCodes: 7
+  SizeOfProlog      : 0x07
+  CountOfUnwindCodes: 5
   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: 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)
  
-5 (-4.50%) : 272199.dasm - System.Runtime.Serialization.ObjectHolderListEnumerator:MoveNext():ubyte:this (FullOpts)
@@ -9,21 +9,21 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T02] (  9, 16.50)     ref  ->  rdi         this class-hnd single-def <System.Runtime.Serialization.ObjectHolderListEnumerator>
-;  V01 loc0         [V01,T07] (  3, 12   )     int  ->  rcx        
+;  V01 loc0         [V01,T07] (  3, 12   )     int  ->  rax        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V04 tmp2         [V04    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V05 tmp3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Runtime.Serialization.ObjectHolderList>
 ;* V06 tmp4         [V06,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V07 tmp5         [V07,T04] (  2, 16   )     ref  ->  rcx         class-hnd exact "Inlining Arg" <System.Runtime.Serialization.ObjectHolder>
+;  V07 tmp5         [V07,T04] (  2, 16   )     ref  ->  rax         class-hnd exact "Inlining Arg" <System.Runtime.Serialization.ObjectHolder>
 ;* V08 tmp6         [V08,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V09 tmp7         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Runtime.Serialization.ObjectHolderList>
 ;* V10 tmp8         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Runtime.Serialization.ObjectHolderList>
-;  V11 tmp9         [V11,T00] (  3, 24   )     ref  ->  rcx         "arr expr"
+;  V11 tmp9         [V11,T00] (  3, 24   )     ref  ->  rax         "arr expr"
 ;  V12 tmp10        [V12,T01] (  3, 24   )     int  ->  rsi         "index expr"
-;  V13 cse0         [V13,T06] (  4, 16   )     int  ->  rax         "CSE - aggressive"
+;  V13 cse0         [V13,T06] (  4, 16   )     int  ->  rcx         "CSE - aggressive"
 ;  V14 cse1         [V14,T10] (  3,  1.50)     int  ->  rax         "CSE - moderate"
-;  V15 cse2         [V15,T03] (  5, 16   )     int  ->  rcx         "CSE - aggressive"
+;  V15 cse2         [V15,T03] (  5, 16   )     int  ->  rax         "CSE - aggressive"
 ;  V16 cse3         [V16,T05] (  6, 17   )     ref  ->  rdx         multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 0
@@ -38,43 +38,43 @@ G_M24724_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byr
        je       SHORT G_M24724_IG09
                        ;; size=6 bbWeight=1 PerfScore 4.00
 G_M24724_IG03:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
-       mov      eax, dword ptr [rdi+0x14]
-       inc      eax
-       mov      ecx, eax
-       mov      dword ptr [rdi+0x14], ecx
+       mov      ecx, dword ptr [rdi+0x14]
+       inc      ecx
+       mov      eax, ecx
+       mov      dword ptr [rdi+0x14], eax
        mov      rdx, gword ptr [rdi+0x08]
        ; gcrRegs +[rdx]
-       cmp      ecx, dword ptr [rdx+0x10]
+       cmp      eax, dword ptr [rdx+0x10]
        jge      SHORT G_M24724_IG07
-       mov      rcx, gword ptr [rdx+0x08]
-       ; gcrRegs +[rcx]
-       mov      esi, eax
-       cmp      esi, dword ptr [rcx+0x08]
+       mov      rax, gword ptr [rdx+0x08]
+       ; gcrRegs +[rax]
+       mov      esi, ecx
+       cmp      esi, dword ptr [rax+0x08]
        jae      SHORT G_M24724_IG11
-       mov      rcx, gword ptr [rcx+8*rsi+0x10]
-       mov      ecx, dword ptr [rcx+0x58]
-       ; gcrRegs -[rcx]
-       test     cl, 4
+       mov      rax, gword ptr [rax+8*rsi+0x10]
+       mov      eax, dword ptr [rax+0x58]
+       ; gcrRegs -[rax]
+       test     al, 4
        jne      SHORT G_M24724_IG05
-                     ;; size=43 bbWeight=4 PerfScore 84.00
+                     ;; size=42 bbWeight=4 PerfScore 84.00
 G_M24724_IG04:        ; bbWeight=2, gcrefRegs=0084 {rdx rdi}, byrefRegs=0000 {}, byref, isz
-       test     cl, 2
+       test     al, 2
        je       SHORT G_M24724_IG06
-                     ;; size=5 bbWeight=2 PerfScore 2.50
+                       ;; size=4 bbWeight=2 PerfScore 2.50
 G_M24724_IG05:        ; bbWeight=2, gcrefRegs=0084 {rdx rdi}, byrefRegs=0000 {}, byref, isz
-       test     ecx, 0x4000
+       test     eax, 0x4000
        je       SHORT G_M24724_IG07
-                       ;; size=8 bbWeight=2 PerfScore 2.50
+                       ;; size=7 bbWeight=2 PerfScore 2.50
 G_M24724_IG06:        ; bbWeight=4, gcrefRegs=0084 {rdx rdi}, byrefRegs=0000 {}, byref, isz
-       test     cl, 1
+       test     al, 1
        je       SHORT G_M24724_IG03
-                       ;; size=5 bbWeight=4 PerfScore 5.00
+                       ;; size=4 bbWeight=4 PerfScore 5.00
 G_M24724_IG07:        ; bbWeight=4, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
-       cmp      eax, dword ptr [rdx+0x10]
+       xor      eax, eax
+       cmp      ecx, dword ptr [rdx+0x10]
        setne    al
-       movzx    rax, al
-                       ;; size=9 bbWeight=4 PerfScore 17.00
+                      ;; size=8 bbWeight=4 PerfScore 17.00
 G_M24724_IG08:        ; bbWeight=4, epilog, nogc, extend
        pop      rbp
        ret      
@@ -101,7 +101,7 @@ G_M24724_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 111, prolog size 4, PerfScore 127.75, instruction count 41, allocated bytes for code 111 (MethodHash=ab819f6b) for method System.Runtime.Serialization.ObjectHolderListEnumerator:MoveNext():ubyte:this (FullOpts)
+; Total bytes of code 106, prolog size 4, PerfScore 127.75, instruction count 41, allocated bytes for code 106 (MethodHash=ab819f6b) for method System.Runtime.Serialization.ObjectHolderListEnumerator:MoveNext():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
-5 (-3.88%) : 71957.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:IsBeginningOfParamArray(int,int,ubyte,int,System.Collections.Immutable.ImmutableArray1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray1[int],byref):ubyte (FullOpts)
@@ -14,13 +14,13 @@
 ;  V03 arg3         [V03,T08] (  3,  2.50)     int  ->  rcx         single-def
 ;* V04 arg4         [V04    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression]>
 ;* V05 arg5         [V05    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.Collections.Immutable.ImmutableArray`1[int]>
-;  V06 arg6         [V06,T10] (  2,  1.50)   byref  ->  rax         single-def
+;  V06 arg6         [V06,T10] (  2,  1.50)   byref  ->  r10         single-def
 ;  V07 loc0         [V07,T00] ( 14, 18.02)     int  ->  rdx        
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V09 tmp1         [V09,T02] (  5,  8   )     int  ->   r8        
+;  V09 tmp1         [V09,T02] (  5,  8   )     int  ->  rdi        
 ;  V10 tmp2         [V10,T09] (  2,  1.50)     ref  ->   r8         single-def "field V04.array (fldOffset=0x0)" P-INDEP
 ;  V11 tmp3         [V11,T01] (  7,  6.04)     ref  ->   r9         single-def "field V05.array (fldOffset=0x0)" P-INDEP
-;  V12 cse0         [V12,T03] (  5,  5.50)     int  ->  rdi         "CSE - aggressive"
+;  V12 cse0         [V12,T03] (  5,  5.50)     int  ->  rax         "CSE - aggressive"
 ;  V13 cse1         [V13,T05] (  4,  5   )     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
@@ -28,80 +28,80 @@
 G_M47144_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        mov      rbp, rsp
-       mov      rax, bword ptr [rbp+0x10]
-       ; byrRegs +[rax]
+       mov      r10, bword ptr [rbp+0x10]
+       ; byrRegs +[r10]
                         ;; size=8 bbWeight=1 PerfScore 2.25
-G_M47144_IG02:        ; bbWeight=1, gcrefRegs=0300 {r8 r9}, byrefRegs=0001 {rax}, byref, isz
+G_M47144_IG02:        ; bbWeight=1, gcrefRegs=0300 {r8 r9}, byrefRegs=0400 {r10}, byref, isz
        ; gcrRegs +[r8-r9]
-       xor      r10d, r10d
-       mov      dword ptr [rax], r10d
+       xor      eax, eax
+       mov      dword ptr [r10], eax
        test     dl, dl
        je       SHORT G_M47144_IG12
-                      ;; size=10 bbWeight=1 PerfScore 2.50
-G_M47144_IG03:        ; bbWeight=0.50, gcrefRegs=0300 {r8 r9}, byrefRegs=0001 {rax}, byref, isz
+                      ;; size=9 bbWeight=1 PerfScore 2.50
+G_M47144_IG03:        ; bbWeight=0.50, gcrefRegs=0300 {r8 r9}, byrefRegs=0400 {r10}, byref, isz
        dec      ecx
        cmp      edi, ecx
        jne      SHORT G_M47144_IG12
        lea      edx, [rsi+0x01]
-       mov      edi, dword ptr [r8+0x08]
-       cmp      edi, edx
+       mov      eax, dword ptr [r8+0x08]
+       cmp      eax, edx
        jle      SHORT G_M47144_IG10
        test     r9, r9
        je       SHORT G_M47144_IG06
        test     edx, edx
        jl       SHORT G_M47144_IG06
-       cmp      dword ptr [r9+0x08], edi
+       cmp      dword ptr [r9+0x08], eax
        jl       SHORT G_M47144_IG06
                        ;; size=32 bbWeight=0.50 PerfScore 5.88
-G_M47144_IG04:        ; bbWeight=3.96, gcrefRegs=0200 {r9}, byrefRegs=0001 {rax}, byref, isz
+G_M47144_IG04:        ; bbWeight=3.96, gcrefRegs=0200 {r9}, byrefRegs=0400 {r10}, byref, isz
        ; gcrRegs -[r8]
-       mov      r8d, edx
-       mov      r8d, dword ptr [r9+4*r8+0x10]
-       cmp      r8d, ecx
+       mov      edi, edx
+       mov      edi, dword ptr [r9+4*rdi+0x10]
+       cmp      edi, ecx
        jne      SHORT G_M47144_IG10
        inc      edx
-       cmp      edi, edx
+       cmp      eax, edx
        jg       SHORT G_M47144_IG04
-                       ;; size=19 bbWeight=3.96 PerfScore 19.80
-G_M47144_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref, isz
+                       ;; size=17 bbWeight=3.96 PerfScore 19.80
+G_M47144_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0400 {r10}, byref, isz
        ; gcrRegs -[r9]
        jmp      SHORT G_M47144_IG10
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M47144_IG06:        ; bbWeight=0.04, gcrefRegs=0200 {r9}, byrefRegs=0001 {rax}, byref, isz
+G_M47144_IG06:        ; bbWeight=0.04, gcrefRegs=0200 {r9}, byrefRegs=0400 {r10}, byref, isz
        ; gcrRegs +[r9]
        test     r9, r9
        jne      SHORT G_M47144_IG08
                        ;; size=5 bbWeight=0.04 PerfScore 0.05
-G_M47144_IG07:        ; bbWeight=0.02, gcrefRegs=0200 {r9}, byrefRegs=0001 {rax}, byref, isz
-       mov      r8d, edx
+G_M47144_IG07:        ; bbWeight=0.02, gcrefRegs=0200 {r9}, byrefRegs=0400 {r10}, byref, isz
+       mov      edi, edx
        jmp      SHORT G_M47144_IG09
-                      ;; size=5 bbWeight=0.02 PerfScore 0.05
-G_M47144_IG08:        ; bbWeight=0.02, gcrefRegs=0200 {r9}, byrefRegs=0001 {rax}, byref, isz
+                     ;; size=4 bbWeight=0.02 PerfScore 0.05
+G_M47144_IG08:        ; bbWeight=0.02, gcrefRegs=0200 {r9}, byrefRegs=0400 {r10}, byref, isz
        cmp      edx, dword ptr [r9+0x08]
        jae      SHORT G_M47144_IG14
-       mov      r8d, edx
-       mov      r8d, dword ptr [r9+4*r8+0x10]
-                       ;; size=14 bbWeight=0.02 PerfScore 0.13
-G_M47144_IG09:        ; bbWeight=0.04, gcrefRegs=0200 {r9}, byrefRegs=0001 {rax}, byref, isz
-       cmp      r8d, ecx
+       mov      edi, edx
+       mov      edi, dword ptr [r9+4*rdi+0x10]
+                       ;; size=13 bbWeight=0.02 PerfScore 0.13
+G_M47144_IG09:        ; bbWeight=0.04, gcrefRegs=0200 {r9}, byrefRegs=0400 {r10}, byref, isz
+       cmp      edi, ecx
        jne      SHORT G_M47144_IG10
        inc      edx
-       cmp      edi, edx
+       cmp      eax, edx
        jg       SHORT G_M47144_IG06
-                       ;; size=11 bbWeight=0.04 PerfScore 0.11
-G_M47144_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
+                        ;; size=10 bbWeight=0.04 PerfScore 0.11
+G_M47144_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0400 {r10}, byref
        ; gcrRegs -[r9]
-       mov      ecx, edx
-       sub      ecx, esi
-       mov      dword ptr [rax], ecx
+       mov      eax, edx
+       sub      eax, esi
+       mov      dword ptr [r10], eax
        mov      eax, 1
-       ; byrRegs -[rax]
-                       ;; size=11 bbWeight=0.50 PerfScore 0.88
+                       ;; size=12 bbWeight=0.50 PerfScore 0.88
 G_M47144_IG11:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=2 bbWeight=0.50 PerfScore 0.75
 G_M47144_IG12:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       ; byrRegs -[r10]
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M47144_IG13:        ; bbWeight=0.50, epilog, nogc, extend
@@ -114,7 +114,7 @@ G_M47144_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 129, prolog size 8, PerfScore 34.25, instruction count 52, allocated bytes for code 129 (MethodHash=af4c47d7) for method Microsoft.CodeAnalysis.CSharp.LocalRewriter:IsBeginningOfParamArray(int,int,ubyte,int,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[int],byref):ubyte (FullOpts)
+; Total bytes of code 124, prolog size 8, PerfScore 34.25, instruction count 52, allocated bytes for code 124 (MethodHash=af4c47d7) for method Microsoft.CodeAnalysis.CSharp.LocalRewriter:IsBeginningOfParamArray(int,int,ubyte,int,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[int],byref):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+18 (+8.65%) : 207446.dasm - System.Text.RegularExpressions.Symbolic.BitVector:Not(System.Text.RegularExpressions.Symbolic.BitVector):System.Text.RegularExpressions.Symbolic.BitVector (FullOpts)
@@ -15,28 +15,30 @@
 ;* V04 loc2         [V04,T13] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op <System.Text.RegularExpressions.Symbolic.BitVector>
 ;  V05 loc3         [V05,T00] ( 11, 17.08)     int  ->  rdi        
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T01] (  4, 16   )    long  ->  rdx         "Strict ordering of exceptions for Array store"
+;  V07 tmp1         [V07,T01] (  4, 16   )    long  ->  rcx         "Strict ordering of exceptions for Array store"
 ;* V08 tmp2         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V09 tmp3         [V09,T11] (  3,  2.50)     int  ->  rcx         "Inline stloc first use temp"
+;  V09 tmp3         [V09,T11] (  3,  2.50)     int  ->  rsi         "Inline stloc first use temp"
 ;* V10 tmp4         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V11 tmp5         [V11,T08] (  3,  3   )   byref  ->  rdi         single-def "dup spill"
 ;* V12 tmp6         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def "V04.[000..008)"
 ;  V13 tmp7         [V13,T07] (  6,  5.50)     int  ->  r15         "V04.[008..012)"
 ;  V14 tmp8         [V14,T09] (  3,  3   )     int  ->  rdi         "index expr"
-;  V15 cse0         [V15,T05] (  6,  7.50)     int  ->  rsi         "CSE - aggressive"
-;  V16 cse1         [V16,T02] (  3, 11.88)    long  ->  rcx         "CSE - aggressive"
+;  V15 cse0         [V15,T05] (  6,  7.50)     int  ->  r14         "CSE - aggressive"
+;  V16 cse1         [V16,T02] (  3, 11.88)    long  ->  rsi         "CSE - aggressive"
 ;  V17 rat0         [V17,T10] (  3,  3   )     int  ->  rdi         "ReplaceWithLclVar is creating a new local variable"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M1863_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
+       push     r14
        push     rbx
-       lea      rbp, [rsp+0x10]
+       push     rax
+       lea      rbp, [rsp+0x20]
        mov      rbx, rdi
        ; byrRegs +[rbx]
-                      ;; size=12 bbWeight=1 PerfScore 3.75
+                      ;; size=15 bbWeight=1 PerfScore 5.75
 G_M1863_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
        mov      r15, gword ptr [rbp+0x10]
        ; gcrRegs +[r15]
@@ -46,21 +48,21 @@ G_M1863_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byre
        ; gcrRegs +[rax]
        ; gcr arg pop 0
        xor      edi, edi
-       mov      esi, dword ptr [rax+0x08]
-       test     esi, esi
+       mov      r14d, dword ptr [rax+0x08]
+       test     r14d, r14d
        jle      SHORT G_M1863_IG06
-       cmp      dword ptr [r15+0x08], esi
+       cmp      dword ptr [r15+0x08], r14d
        jl       SHORT G_M1863_IG05
-                        ;; size=38 bbWeight=1 PerfScore 11.75
+                     ;; size=40 bbWeight=1 PerfScore 11.75
 G_M1863_IG03:        ; bbWeight=3.96, gcrefRegs=8001 {rax r15}, byrefRegs=0008 {rbx}, byref, isz
-       mov      ecx, edi
-       mov      rdx, qword ptr [r15+8*rcx+0x10]
-       not      rdx
-       mov      qword ptr [rax+8*rcx+0x10], rdx
+       mov      esi, edi
+       mov      rcx, qword ptr [r15+8*rsi+0x10]
+       not      rcx
+       mov      qword ptr [rax+8*rsi+0x10], rcx
        inc      edi
-       cmp      esi, edi
+       cmp      r14d, edi
        jg       SHORT G_M1863_IG03
-                        ;; size=21 bbWeight=3.96 PerfScore 19.80
+                      ;; size=22 bbWeight=3.96 PerfScore 19.80
 G_M1863_IG04:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0008 {rbx}, byref, isz
        ; gcrRegs -[r15]
        jmp      SHORT G_M1863_IG06
@@ -68,17 +70,17 @@ G_M1863_IG04:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0008 {rbx}, b
 G_M1863_IG05:        ; bbWeight=0.04, gcrefRegs=8001 {rax r15}, byrefRegs=0008 {rbx}, byref, isz
        ; gcrRegs +[r15]
        cmp      edi, dword ptr [r15+0x08]
-       jae      SHORT G_M1863_IG10
-       mov      edx, edi
-       mov      rcx, qword ptr [r15+8*rdx+0x10]
-       mov      rdx, rcx
-       not      rdx
+       jae      G_M1863_IG10
        mov      ecx, edi
-       mov      qword ptr [rax+8*rcx+0x10], rdx
+       mov      rsi, qword ptr [r15+8*rcx+0x10]
+       mov      rcx, rsi
+       not      rcx
+       mov      esi, edi
+       mov      qword ptr [rax+8*rsi+0x10], rcx
        inc      edi
-       cmp      esi, edi
+       cmp      r14d, edi
        jg       SHORT G_M1863_IG05
-                        ;; size=32 bbWeight=0.04 PerfScore 0.38
+                       ;; size=37 bbWeight=0.04 PerfScore 0.38
 G_M1863_IG06:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0008 {rbx}, byref, isz
        ; gcrRegs -[r15]
        mov      r15d, dword ptr [rbp+0x18]
@@ -87,26 +89,26 @@ G_M1863_IG06:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0008 {rbx}, b
        and      edi, 63
        add      edi, r15d
        and      edi, -64
-       mov      ecx, r15d
-       sub      ecx, edi
+       mov      esi, r15d
+       sub      esi, edi
        je       SHORT G_M1863_IG08
                        ;; size=26 bbWeight=1 PerfScore 4.00
 G_M1863_IG07:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0008 {rbx}, byref, isz
        lea      edi, [r15-0x01]
-       mov      edx, edi
-       sar      edx, 31
-       and      edx, 63
-       add      edi, edx
+       mov      ecx, edi
+       sar      ecx, 31
+       and      ecx, 63
+       add      edi, ecx
        sar      edi, 6
-       cmp      edi, esi
+       cmp      edi, r14d
        jae      SHORT G_M1863_IG10
        lea      rdi, bword ptr [rax+8*rdi+0x10]
        ; byrRegs +[rdi]
-       mov      esi, 1
-       shlx     rsi, rsi, rcx
+       mov      ecx, 1
+       shlx     rsi, rcx, rsi
        dec      rsi
        and      qword ptr [rdi], rsi
-                     ;; size=42 bbWeight=0.50 PerfScore 4.25
+                       ;; size=43 bbWeight=0.50 PerfScore 4.25
 G_M1863_IG08:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0008 {rbx}, byref
        ; byrRegs -[rdi]
        mov      rdi, rbx
@@ -123,11 +125,13 @@ G_M1863_IG08:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0008 {rbx}, b
        ; byrRegs +[rax]
                        ;; size=24 bbWeight=1 PerfScore 4.00
 G_M1863_IG09:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 8
        pop      rbx
+       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=5 bbWeight=1 PerfScore 2.50
+                       ;; size=11 bbWeight=1 PerfScore 3.25
 G_M1863_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; byrRegs -[rax rbx]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -135,7 +139,7 @@ G_M1863_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 208, prolog size 12, PerfScore 52.43, instruction count 69, allocated bytes for code 208 (MethodHash=53fcf8b8) for method System.Text.RegularExpressions.Symbolic.BitVector:Not(System.Text.RegularExpressions.Symbolic.BitVector):System.Text.RegularExpressions.Symbolic.BitVector (FullOpts)
+; Total bytes of code 226, prolog size 15, PerfScore 55.18, instruction count 73, allocated bytes for code 226 (MethodHash=53fcf8b8) for method System.Text.RegularExpressions.Symbolic.BitVector:Not(System.Text.RegularExpressions.Symbolic.BitVector):System.Text.RegularExpressions.Symbolic.BitVector (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -143,11 +147,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x04
-  CountOfUnwindCodes: 3
+  SizeOfProlog      : 0x07
+  CountOfUnwindCodes: 5
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    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 (+10.04%) : 235212.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
@@ -11,35 +11,37 @@
 ;  V00 this         [V00,T10] (  8,  5   )     ref  ->  rbx         this class-hnd single-def <System.Xml.Xsl.Runtime.XmlStringSortKey>
 ;  V01 arg1         [V01,T11] (  4,  3.50)     ref  ->  rsi         class-hnd single-def <System.Object>
 ;  V02 loc0         [V02,T13] (  7,  4.25)     ref  ->  r15         class-hnd exact <System.Xml.Xsl.Runtime.XmlStringSortKey>
-;  V03 loc1         [V03,T00] (  7, 24.50)     int  ->  rcx        
-;  V04 loc2         [V04,T12] (  3,  5   )     int  ->  rax        
+;  V03 loc1         [V03,T00] (  7, 24.50)     int  ->  rsi        
+;  V04 loc2         [V04,T12] (  3,  5   )     int  ->  rdi        
 ;  V05 loc3         [V05,T14] (  6,  3   )     int  ->  rax        
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Xml.Xsl.Runtime.XmlStringSortKey>
-;  V08 tmp2         [V08,T17] (  3,  1.50)     int  ->  rax        
+;  V08 tmp2         [V08,T17] (  3,  1.50)     int  ->  rdi        
 ;  V09 tmp3         [V09,T18] (  2,  1   )     int  ->  rax         "Inline return value spill temp"
-;  V10 tmp4         [V10,T01] (  3, 24   )     ref  ->  rdx         "arr expr"
-;  V11 tmp5         [V11,T02] (  3, 24   )     ref  ->   r9         "arr expr"
+;  V10 tmp4         [V10,T01] (  3, 24   )     ref  ->  rax         "arr expr"
+;  V11 tmp5         [V11,T02] (  3, 24   )     ref  ->  rdx         "arr expr"
 ;* V12 tmp6         [V12,T08] (  0,  0   )     ref  ->  zero-ref    "arr expr"
 ;* V13 tmp7         [V13,T09] (  0,  0   )     ref  ->  zero-ref    "arr expr"
-;  V14 cse0         [V14,T03] (  3, 12   )     int  ->  rdx         "CSE - aggressive"
-;  V15 cse1         [V15,T04] (  3, 12   )     int  ->   r8         "CSE - aggressive"
-;  V16 cse2         [V16,T06] (  6,  6.50)     ref  ->  rdi         "CSE - aggressive"
-;  V17 cse3         [V17,T07] (  6,  6.50)     ref  ->  rsi         "CSE - aggressive"
+;  V14 cse0         [V14,T03] (  3, 12   )     int  ->  rax         "CSE - aggressive"
+;  V15 cse1         [V15,T04] (  3, 12   )     int  ->  rcx         "CSE - aggressive"
+;  V16 cse2         [V16,T06] (  6,  6.50)     ref  ->  r14         "CSE - aggressive"
+;  V17 cse3         [V17,T07] (  6,  6.50)     ref  ->  r13         "CSE - aggressive"
 ;  V18 cse4         [V18,T16] (  3,  1.50)     ref  ->  rdi         "CSE - moderate"
 ;  V19 cse5         [V19,T15] (  4,  2   )     ref  ->  rdi         "CSE - moderate"
-;  V20 cse6         [V20,T05] (  3, 12   )    long  ->   r8         "CSE - aggressive"
+;  V20 cse6         [V20,T05] (  3, 12   )    long  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M15280_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
+       push     r14
+       push     r13
        push     rbx
-       lea      rbp, [rsp+0x10]
+       lea      rbp, [rsp+0x20]
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=12 bbWeight=1 PerfScore 3.75
+                      ;; size=16 bbWeight=1 PerfScore 5.75
 G_M15280_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rsi]
        mov      r15, rsi
@@ -59,11 +61,13 @@ G_M15280_IG04:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
                        ;; size=3 bbWeight=0.50 PerfScore 0.12
 G_M15280_IG05:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbx
+       pop      r13
+       pop      r14
        pop      r15
        pop      rbp
        tail.jmp [System.Xml.Xsl.Runtime.XmlSortKey:CompareToEmpty(System.Object):int:this]
        ; gcr arg pop 0
-                       ;; size=10 bbWeight=0.50 PerfScore 1.75
+                       ;; size=14 bbWeight=0.50 PerfScore 2.25
 G_M15280_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rsi rdi] +[r15]
        mov      rdi, gword ptr [rbx+0x18]
@@ -78,50 +82,50 @@ G_M15280_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=800
        jmp      SHORT G_M15280_IG15
                        ;; size=21 bbWeight=0.50 PerfScore 5.12
 G_M15280_IG07:        ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
-       mov      rdi, gword ptr [rbx+0x20]
-       ; gcrRegs +[rdi]
-       mov      eax, dword ptr [rdi+0x08]
-       mov      rsi, gword ptr [r15+0x20]
-       ; gcrRegs +[rsi]
-       cmp      eax, dword ptr [rsi+0x08]
+       mov      r14, gword ptr [rbx+0x20]
+       ; gcrRegs +[r14]
+       mov      eax, dword ptr [r14+0x08]
+       mov      r13, gword ptr [r15+0x20]
+       ; gcrRegs +[r13]
+       cmp      eax, dword ptr [r13+0x08]
        jl       SHORT G_M15280_IG08
-       mov      eax, dword ptr [rsi+0x08]
+       mov      edi, dword ptr [r13+0x08]
        jmp      SHORT G_M15280_IG09
-                        ;; size=21 bbWeight=0.50 PerfScore 7.00
-G_M15280_IG08:        ; bbWeight=0.50, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref
-       mov      eax, dword ptr [rdi+0x08]
-                       ;; size=3 bbWeight=0.50 PerfScore 1.00
-G_M15280_IG09:        ; bbWeight=0.50, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref, isz
-       xor      ecx, ecx
-       test     eax, eax
+                     ;; size=24 bbWeight=0.50 PerfScore 7.00
+G_M15280_IG08:        ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+       mov      edi, dword ptr [r14+0x08]
+                       ;; size=4 bbWeight=0.50 PerfScore 1.00
+G_M15280_IG09:        ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+       xor      esi, esi
+       test     edi, edi
        jle      SHORT G_M15280_IG14
                        ;; size=6 bbWeight=0.50 PerfScore 0.75
-G_M15280_IG10:        ; bbWeight=4, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref, isz
-       mov      rdx, rdi
+G_M15280_IG10:        ; bbWeight=4, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+       mov      rax, r14
+       ; gcrRegs +[rax]
+       cmp      esi, dword ptr [rax+0x08]
+       jae      G_M15280_IG24
+       mov      ecx, esi
+       movzx    rax, byte  ptr [rax+rcx+0x10]
+       ; gcrRegs -[rax]
+       mov      rdx, r13
        ; gcrRegs +[rdx]
-       cmp      ecx, dword ptr [rdx+0x08]
+       cmp      esi, dword ptr [rdx+0x08]
        jae      G_M15280_IG24
-       mov      r8d, ecx
-       movzx    rdx, byte  ptr [rdx+r8+0x10]
-       ; gcrRegs -[rdx]
-       mov      r9, rsi
-       ; gcrRegs +[r9]
-       cmp      ecx, dword ptr [r9+0x08]
-       jae      G_M15280_IG24
-       movzx    r8, byte  ptr [r9+r8+0x10]
-       cmp      edx, r8d
+       movzx    rcx, byte  ptr [rdx+rcx+0x10]
+       cmp      eax, ecx
        jl       SHORT G_M15280_IG12
        jg       SHORT G_M15280_IG13
-       inc      ecx
-       cmp      ecx, eax
+       inc      esi
+       cmp      esi, edi
        jl       SHORT G_M15280_IG10
-                      ;; size=53 bbWeight=4 PerfScore 66.00
-G_M15280_IG11:        ; bbWeight=0.50, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[r9]
+                       ;; size=48 bbWeight=4 PerfScore 66.00
+G_M15280_IG11:        ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rdx]
        jmp      SHORT G_M15280_IG14
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
 G_M15280_IG12:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rsi rdi r15]
+       ; gcrRegs -[r13-r15]
        mov      eax, -1
        jmp      SHORT G_M15280_IG20
                        ;; size=7 bbWeight=0.50 PerfScore 1.12
@@ -129,18 +133,18 @@ G_M15280_IG13:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      eax, 1
        jmp      SHORT G_M15280_IG20
                        ;; size=7 bbWeight=0.50 PerfScore 1.12
-G_M15280_IG14:        ; bbWeight=0.50, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs +[rsi rdi r15]
-       mov      eax, dword ptr [rdi+0x08]
-       cmp      eax, dword ptr [rsi+0x08]
+G_M15280_IG14:        ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[r13-r15]
+       mov      eax, dword ptr [r14+0x08]
+       cmp      eax, dword ptr [r13+0x08]
        jl       SHORT G_M15280_IG12
-       mov      eax, dword ptr [rdi+0x08]
-       cmp      eax, dword ptr [rsi+0x08]
+       mov      eax, dword ptr [r14+0x08]
+       cmp      eax, dword ptr [r13+0x08]
        jg       SHORT G_M15280_IG13
        jmp      SHORT G_M15280_IG16
-                      ;; size=18 bbWeight=0.50 PerfScore 7.00
+                       ;; size=22 bbWeight=0.50 PerfScore 7.00
 G_M15280_IG15:        ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rsi rdi]
+       ; gcrRegs -[r13-r14]
        test     eax, eax
        jne      SHORT G_M15280_IG20
                        ;; size=4 bbWeight=0.50 PerfScore 0.62
@@ -156,10 +160,12 @@ G_M15280_IG16:        ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000
                        ;; size=20 bbWeight=0.50 PerfScore 4.62
 G_M15280_IG17:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbx
+       pop      r13
+       pop      r14
        pop      r15
        pop      rbp
        tail.jmp [rax+0x20]<unknown method>
-                     ;; size=8 bbWeight=0.50 PerfScore 1.75
+                        ;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M15280_IG18:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rsi rdi]
        mov      eax, dword ptr [rbx+0x10]
@@ -171,10 +177,12 @@ G_M15280_IG18:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=800
                        ;; size=22 bbWeight=0.50 PerfScore 3.00
 G_M15280_IG19:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbx
+       pop      r13
+       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=5 bbWeight=0.50 PerfScore 1.25
+                        ;; size=9 bbWeight=0.50 PerfScore 1.75
 G_M15280_IG20:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[r15]
        cmp      byte  ptr [rbx+0x14], 0
@@ -182,27 +190,31 @@ G_M15280_IG20:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
                        ;; size=6 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG21:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbx
+       pop      r13
+       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=5 bbWeight=0.50 PerfScore 1.25
+                        ;; size=9 bbWeight=0.50 PerfScore 1.75
 G_M15280_IG22:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rbx]
        neg      eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M15280_IG23:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbx
+       pop      r13
+       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=5 bbWeight=0.50 PerfScore 1.25
+                        ;; size=9 bbWeight=0.50 PerfScore 1.75
 G_M15280_IG24:        ; 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 269, prolog size 12, PerfScore 114.19, instruction count 95, allocated bytes for code 269 (MethodHash=95cfc44f) for method System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
+; Total bytes of code 296, prolog size 16, PerfScore 118.69, instruction count 107, allocated bytes for code 296 (MethodHash=95cfc44f) for method System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -210,11 +222,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x04
-  CountOfUnwindCodes: 3
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 5
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
...
  
+31 (+13.30%) : 220059.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
@@ -11,44 +11,46 @@
 ;  V00 arg0         [V00,T06] ( 10, 20.50)     ref  ->  rdi         class-hnd single-def <System.String>
 ;  V01 arg1         [V01,T00] ( 33, 83.50)     int  ->  rsi        
 ;  V02 arg2         [V02,T09] (  5,  3.50)   byref  ->  rdx         single-def
-;  V03 loc0         [V03,T15] (  3,  2   )     int  ->   r8        
-;  V04 loc1         [V04,T16] (  2,  1   )     int  ->   r9        
+;  V03 loc0         [V03,T15] (  3,  2   )     int  ->  rcx        
+;  V04 loc1         [V04,T16] (  2,  1   )     int  ->  rax        
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06,T10] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V07 tmp2         [V07,T02] (  3, 24   )  ushort  ->  rax         "Inlining Arg"
 ;* V08 tmp3         [V08,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp4         [V09,T03] (  3, 24   )  ushort  ->   r9         "Inlining Arg"
+;  V09 tmp4         [V09,T03] (  3, 24   )  ushort  ->   r8         "Inlining Arg"
 ;* V10 tmp5         [V10,T17] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V11 tmp6         [V11,T14] (  3,  3   )  ushort  ->  rax         "Inlining Arg"
+;  V11 tmp6         [V11,T14] (  3,  3   )  ushort  ->   r8         "Inlining Arg"
 ;* V12 tmp7         [V12,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V13 tmp8         [V13,T04] (  3, 24   )  ushort  ->  rax         "Inlining Arg"
+;  V13 tmp8         [V13,T04] (  3, 24   )  ushort  ->   r8         "Inlining Arg"
 ;* V14 tmp9         [V14,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V15 tmp10        [V15,T05] (  3, 24   )  ushort  ->  r10         "Inlining Arg"
-;  V16 cse0         [V16,T08] (  3, 12   )     int  ->  rax         "CSE - moderate"
-;  V17 cse1         [V17,T07] (  5, 13   )     int  ->  registers   multi-def "CSE - moderate"
-;  V18 cse2         [V18,T01] ( 13, 46.50)     int  ->  rcx         hoist "CSE - aggressive"
+;  V15 tmp10        [V15,T05] (  3, 24   )  ushort  ->   r9         "Inlining Arg"
+;  V16 cse0         [V16,T08] (  3, 12   )     int  ->   r8         "CSE - moderate"
+;  V17 cse1         [V17,T07] (  5, 13   )     int  ->   r8         multi-def "CSE - moderate"
+;  V18 cse2         [V18,T01] ( 13, 46.50)     int  ->  rbx         hoist "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M63854_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, 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_M63854_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
        ; gcrRegs +[rdi]
        ; byrRegs +[rdx]
-       mov      ecx, dword ptr [rdi+0x08]
+       mov      ebx, dword ptr [rdi+0x08]
        jmp      SHORT G_M63854_IG04
                        ;; size=5 bbWeight=1 PerfScore 4.00
 G_M63854_IG03:        ; bbWeight=2, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref
        inc      esi
                        ;; size=2 bbWeight=2 PerfScore 0.50
 G_M63854_IG04:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
-       cmp      ecx, esi
+       cmp      ebx, esi
        jle      SHORT G_M63854_IG06
                        ;; size=4 bbWeight=8 PerfScore 10.00
 G_M63854_IG05:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
-       cmp      esi, ecx
+       cmp      esi, ebx
        jae      G_M63854_IG23
        mov      eax, esi
        movzx    rax, word  ptr [rdi+2*rax+0x0C]
@@ -58,30 +60,30 @@ G_M63854_IG05:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx},
        je       SHORT G_M63854_IG03
                        ;; size=25 bbWeight=4 PerfScore 24.00
 G_M63854_IG06:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
-       mov      r8d, esi
+       mov      ecx, esi
        jmp      SHORT G_M63854_IG08
-                        ;; size=5 bbWeight=1 PerfScore 2.25
+                       ;; size=4 bbWeight=1 PerfScore 2.25
 G_M63854_IG07:        ; bbWeight=2, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref
        inc      esi
                        ;; size=2 bbWeight=2 PerfScore 0.50
 G_M63854_IG08:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
-       cmp      ecx, esi
+       cmp      ebx, esi
        jle      SHORT G_M63854_IG10
                        ;; size=4 bbWeight=8 PerfScore 10.00
 G_M63854_IG09:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
-       cmp      esi, ecx
+       cmp      esi, ebx
        jae      G_M63854_IG23
        mov      eax, esi
-       movzx    r9, word  ptr [rdi+2*rax+0x0C]
-       cmp      r9d, 61
+       movzx    r8, word  ptr [rdi+2*rax+0x0C]
+       cmp      r8d, 61
        je       SHORT G_M63854_IG10
-       cmp      r9d, 32
+       cmp      r8d, 32
        je       SHORT G_M63854_IG10
-       cmp      r9d, 9
+       cmp      r8d, 9
        jne      SHORT G_M63854_IG07
                        ;; size=34 bbWeight=4 PerfScore 29.00
 G_M63854_IG10:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
-       cmp      ecx, esi
+       cmp      ebx, esi
        jne      SHORT G_M63854_IG13
                        ;; size=4 bbWeight=4 PerfScore 5.00
 G_M63854_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {rdx}, byref
@@ -91,47 +93,49 @@ G_M63854_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {rdx},
        ; gcrRegs +[rax]
                        ;; size=4 bbWeight=0.50 PerfScore 0.62
 G_M63854_IG12:        ; 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_M63854_IG13:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, gcvars, byref, isz
        ; gcrRegs -[rax] +[rdi]
-       mov      r9d, esi
-       sub      r9d, r8d
-       cmp      esi, ecx
-       jae      SHORT G_M63854_IG23
        mov      eax, esi
-       movzx    rax, word  ptr [rdi+2*rax+0x0C]
-       cmp      eax, 32
+       sub      eax, ecx
+       cmp      esi, ebx
+       jae      G_M63854_IG23
+       mov      r8d, esi
+       movzx    r8, word  ptr [rdi+2*r8+0x0C]
+       cmp      r8d, 32
        je       SHORT G_M63854_IG15
-       cmp      eax, 9
+       cmp      r8d, 9
        jne      SHORT G_M63854_IG20
        jmp      SHORT G_M63854_IG15
-                      ;; size=29 bbWeight=0.50 PerfScore 4.25
+                       ;; size=35 bbWeight=0.50 PerfScore 4.25
 G_M63854_IG14:        ; bbWeight=2, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref
        inc      esi
                        ;; size=2 bbWeight=2 PerfScore 0.50
 G_M63854_IG15:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
-       cmp      ecx, esi
+       cmp      ebx, esi
        jle      SHORT G_M63854_IG16
-       cmp      esi, ecx
+       cmp      esi, ebx
        jae      SHORT G_M63854_IG23
-       mov      eax, esi
-       movzx    rax, word  ptr [rdi+2*rax+0x0C]
-       cmp      eax, 32
+       mov      r8d, esi
+       movzx    r8, word  ptr [rdi+2*r8+0x0C]
+       cmp      r8d, 32
        je       SHORT G_M63854_IG14
-       cmp      eax, 9
+       cmp      r8d, 9
        je       SHORT G_M63854_IG14
-                        ;; size=25 bbWeight=4 PerfScore 29.00
+                     ;; size=29 bbWeight=4 PerfScore 29.00
 G_M63854_IG16:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
-       cmp      ecx, esi
+       cmp      ebx, esi
        je       SHORT G_M63854_IG17
-       cmp      esi, ecx
+       cmp      esi, ebx
        jae      SHORT G_M63854_IG23
-       mov      eax, esi
-       cmp      word  ptr [rdi+2*rax+0x0C], 61
+       mov      r8d, esi
+       cmp      word  ptr [rdi+2*r8+0x0C], 61
        je       SHORT G_M63854_IG20
-                     ;; size=18 bbWeight=0.50 PerfScore 3.38
+                       ;; size=20 bbWeight=0.50 PerfScore 3.38
 G_M63854_IG17:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {rdx}, byref
        ; gcrRegs -[rdi]
        mov      dword ptr [rdx], esi
@@ -139,39 +143,43 @@ G_M63854_IG17:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {rdx},
        ; gcrRegs +[rax]
                        ;; size=4 bbWeight=0.50 PerfScore 0.62
 G_M63854_IG18:        ; 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_M63854_IG19:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, gcvars, byref
        ; gcrRegs -[rax] +[rdi]
        inc      esi
                        ;; size=2 bbWeight=2 PerfScore 0.50
 G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
-       cmp      ecx, esi
+       cmp      ebx, esi
        jle      SHORT G_M63854_IG21
-       cmp      esi, ecx
+       cmp      esi, ebx
        jae      SHORT G_M63854_IG23
-       mov      eax, esi
-       movzx    rax, word  ptr [rdi+2*rax+0x0C]
-       mov      r10d, eax
-       cmp      r10d, 32
+       mov      r8d, esi
+       movzx    r8, word  ptr [rdi+2*r8+0x0C]
+       mov      r9d, r8d
+       cmp      r9d, 32
        je       SHORT G_M63854_IG19
-       cmp      r10d, 9
+       cmp      r9d, 9
        je       SHORT G_M63854_IG19
-       cmp      eax, 61
+       cmp      r8d, 61
        je       SHORT G_M63854_IG19
-                      ;; size=35 bbWeight=4 PerfScore 35.00
+                     ;; size=38 bbWeight=4 PerfScore 35.00
 G_M63854_IG21:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref
        mov      dword ptr [rdx], esi
-       mov      esi, r8d
-       mov      edx, r9d
+       mov      esi, ecx
+       mov      edx, eax
        ; byrRegs -[rdx]
-                      ;; size=8 bbWeight=0.50 PerfScore 0.75
+                        ;; size=6 bbWeight=0.50 PerfScore 0.75
 G_M63854_IG22:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
+       pop      rbx
        pop      rbp
        tail.jmp [System.String:Substring(int,int):System.String:this]
        ; gcr arg pop 0
-                       ;; size=7 bbWeight=0.50 PerfScore 1.25
+                        ;; size=12 bbWeight=0.50 PerfScore 1.62
 G_M63854_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rdi]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -179,7 +187,7 @@ G_M63854_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 233, prolog size 4, PerfScore 163.88, instruction count 90, allocated bytes for code 233 (MethodHash=532b0691) for method System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
+; Total bytes of code 264, prolog size 8, PerfScore 167.25, instruction count 98, allocated bytes for code 264 (MethodHash=532b0691) for method System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -187,9 +195,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)
...
  
  
libraries_tests.run.linux.x64.Release.mch
-17 (-7.36%) : 232013.dasm - System.IO.BinaryWriter:Write7BitEncodedInt(int):this (Tier1)
@@ -9,7 +9,7 @@
 ; 2 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 14,  5.84)     ref  ->  rbx         this class-hnd single-def <System.IO.BinaryWriter>
+;  V00 this         [V00,T00] ( 13,  5.84)     ref  ->  rbx         this class-hnd single-def <System.IO.BinaryWriter>
 ;  V01 arg1         [V01,T04] (  3,  3   )     int  ->  rsi         single-def
 ;  V02 loc0         [V02,T01] ( 13,  6.56)     int  ->  r15        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -33,27 +33,25 @@ G_M62697_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M62697_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      r15d, esi
        cmp      r15d, 127
-       ja       SHORT G_M62697_IG06
+       ja       SHORT G_M62697_IG05
                         ;; size=9 bbWeight=1 PerfScore 1.50
-G_M62697_IG03:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M62697_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, 0xD1FFAB1E      ; System.IO.BinaryWriter
        cmp      qword ptr [rbx], rdi
-       jne      G_M62697_IG12
-                       ;; size=19 bbWeight=1.00 PerfScore 4.23
-G_M62697_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       jne      G_M62697_IG11
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
        movzx    rsi, r15b
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x70]
-                        ;; size=15 bbWeight=1 PerfScore 6.25
-G_M62697_IG05:        ; bbWeight=1, epilog, nogc, extend
+                     ;; size=34 bbWeight=1 PerfScore 10.50
+G_M62697_IG04:        ; bbWeight=1, epilog, nogc, extend
        pop      rbx
        pop      r15
        pop      rbp
        tail.jmp [rax]<unknown method>
                        ;; size=7 bbWeight=1 PerfScore 3.50
-G_M62697_IG06:        ; bbWeight=0.47, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M62697_IG05:        ; bbWeight=0.47, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rdi]
        test     rbx, rbx
        je       SHORT G_M62697_IG09
@@ -61,7 +59,7 @@ G_M62697_IG06:        ; bbWeight=0.47, gcVars=0000000000000000 {}, gcrefRegs=000
        cmp      qword ptr [rbx], rdi
        jne      SHORT G_M62697_IG09
                        ;; size=20 bbWeight=0.47 PerfScore 2.59
-G_M62697_IG07:        ; bbWeight=0.88, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M62697_IG06:        ; bbWeight=0.88, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
        mov      esi, r15d
@@ -74,15 +72,20 @@ G_M62697_IG07:        ; bbWeight=0.88, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
        shr      r15d, 7
        cmp      r15d, 127
-       ja       SHORT G_M62697_IG07
+       ja       SHORT G_M62697_IG06
                         ;; size=33 bbWeight=0.88 PerfScore 10.12
-G_M62697_IG08:        ; bbWeight=0.47, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M62697_IG07:        ; bbWeight=0.46, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M62697_IG03
-                       ;; size=2 bbWeight=0.47 PerfScore 0.94
+                        ;; size=2 bbWeight=0.46 PerfScore 0.92
+G_M62697_IG08:        ; bbWeight=0.01, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       shr      r15d, 7
+       cmp      r15d, 127
+       jbe      SHORT G_M62697_IG03
+                       ;; size=10 bbWeight=0.01 PerfScore 0.02
 G_M62697_IG09:        ; bbWeight=0.01, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdi, 0xD1FFAB1E      ; System.IO.BinaryWriter
        cmp      qword ptr [rbx], rdi
-       jne      SHORT G_M62697_IG14
+       jne      SHORT G_M62697_IG10
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
        mov      esi, r15d
@@ -93,32 +96,9 @@ G_M62697_IG09:        ; bbWeight=0.01, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        call     [rax]<unknown method>
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
-                       ;; size=38 bbWeight=0.01 PerfScore 0.12
-G_M62697_IG10:        ; bbWeight=0.01, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       shr      r15d, 7
-       cmp      r15d, 127
-       ja       SHORT G_M62697_IG09
-                       ;; size=10 bbWeight=0.01 PerfScore 0.02
-G_M62697_IG11:        ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       mov      rdi, 0xD1FFAB1E      ; System.IO.BinaryWriter
-       cmp      qword ptr [rbx], rdi
-       je       G_M62697_IG04
-                       ;; size=19 bbWeight=0.00 PerfScore 0.02
-G_M62697_IG12:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       movzx    rsi, r15b
-       mov      rdi, rbx
-       ; gcrRegs +[rdi]
-       mov      rax, qword ptr [rbx]
-       mov      rax, qword ptr [rax+0x50]
-                       ;; size=14 bbWeight=0 PerfScore 0.00
-G_M62697_IG13:        ; bbWeight=0, epilog, nogc, extend
-       pop      rbx
-       pop      r15
-       pop      rbp
-       tail.jmp [rax+0x20]System.IO.BinaryWriter:Write(ubyte):this
-                       ;; size=8 bbWeight=0 PerfScore 0.00
-G_M62697_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; gcrRegs -[rdi]
+       jmp      SHORT G_M62697_IG08
+                       ;; size=40 bbWeight=0.01 PerfScore 0.14
+G_M62697_IG10:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      esi, r15d
        or       esi, -128
        movzx    rsi, sil
@@ -129,10 +109,23 @@ G_M62697_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {
        call     [rax+0x20]System.IO.BinaryWriter:Write(ubyte):this
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
-       jmp      SHORT G_M62697_IG10
+       jmp      SHORT G_M62697_IG08
                        ;; size=25 bbWeight=0 PerfScore 0.00
+G_M62697_IG11:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       movzx    rsi, r15b
+       mov      rdi, rbx
+       ; gcrRegs +[rdi]
+       mov      rax, qword ptr [rbx]
+       mov      rax, qword ptr [rax+0x50]
+                       ;; size=14 bbWeight=0 PerfScore 0.00
+G_M62697_IG12:        ; bbWeight=0, epilog, nogc, extend
+       pop      rbx
+       pop      r15
+       pop      rbp
+       tail.jmp [rax+0x20]System.IO.BinaryWriter:Write(ubyte):this
+                       ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 231, prolog size 12, PerfScore 33.04, instruction count 67, allocated bytes for code 231 (MethodHash=7c1b0b16) for method System.IO.BinaryWriter:Write7BitEncodedInt(int):this (Tier1)
+; Total bytes of code 214, prolog size 12, PerfScore 33.04, instruction count 65, allocated bytes for code 214 (MethodHash=7c1b0b16) for method System.IO.BinaryWriter:Write7BitEncodedInt(int):this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
-23 (-7.30%) : 686373.dasm - Microsoft.CodeAnalysis.AttributeData:IsTargetEarlyAttribute(Microsoft.CodeAnalysis.Symbols.INamedTypeSymbolInternal,int,Microsoft.CodeAnalysis.AttributeDescription):ubyte (Tier1)
@@ -12,15 +12,15 @@
 ;  V00 arg0         [V00,T02] (  9,  4.37)     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.Symbols.INamedTypeSymbolInternal>
 ;  V01 arg1         [V01,T03] (  3,  3.69)     int  ->  r15         single-def
 ;  V02 arg2         [V02,T09] (  4,  1.37)  struct (32) [rbp+0x10]  do-not-enreg[SF] ld-addr-op single-def <Microsoft.CodeAnalysis.AttributeDescription>
-;  V03 loc0         [V03,T04] (  3,  4.50)     int  ->  rax         single-def
-;  V04 loc1         [V04,T00] (  5, 10.19)     int  ->  r13        
+;  V03 loc0         [V03,T04] (  3,  4.50)     int  ->  rdi         single-def
+;  V04 loc1         [V04,T00] (  5, 10.19)     int  ->  rsi        
 ;* V05 loc2         [V05    ] (  0,  0   )     int  ->  zero-ref   
 ;* V06 loc3         [V06    ] (  0,  0   )     int  ->  zero-ref   
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V08 tmp1         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "dup spill" <Microsoft.CodeAnalysis.Symbols.ISymbolInternal>
 ;* V09 tmp2         [V09    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V10 tmp3         [V10,T10] (  0,  0   )     int  ->  zero-ref   
-;  V11 tmp4         [V11,T12] (  3,  0.37)     int  ->  r12        
+;  V11 tmp4         [V11,T12] (  3,  0.37)     int  ->  r13        
 ;  V12 tmp5         [V12,T05] (  5,  3.98)     ref  ->  rdi         "guarded devirt return temp"
 ;* V13 tmp6         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PENamedTypeSymbol+PENamedTypeSymbolNonGeneric>
 ;  V14 tmp7         [V14,T07] (  2,  2   )     int  ->  rax         "guarded devirt return temp"
@@ -28,25 +28,23 @@
 ;  V16 tmp9         [V16,T11] (  3,  0.37)     ref  ->  rdi         "guarded devirt return temp"
 ;* V17 tmp10        [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PENamedTypeSymbol+PENamedTypeSymbolNonGeneric>
 ;  V18 tmp11        [V18,T06] (  3,  3.69)     ref  ->  r14         single-def "V02.[016..024)"
-;  V19 tmp12        [V19,T01] (  3, 10.15)     ref  ->  rdi         "arr expr"
+;  V19 tmp12        [V19,T01] (  3, 10.15)     ref  ->  rdx         "arr expr"
 ;  V20 tmp13        [V20,T13] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
-;  V21 cse0         [V21,T08] (  2,  2   )     int  ->  rax         "CSE - moderate"
+;  V21 cse0         [V21,T08] (  2,  2   )     int  ->  rdi         "CSE - moderate"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M33430_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]
+       lea      rbp, [rsp+0x20]
        mov      rbx, rdi
        ; gcrRegs +[rbx]
        mov      r15d, esi
-                        ;; size=22 bbWeight=1 PerfScore 8.00
+                      ;; size=19 bbWeight=1 PerfScore 6.00
 G_M33430_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      r14, gword ptr [rbp+0x20]
        ; gcrRegs +[r14]
@@ -74,36 +72,37 @@ G_M33430_IG05:        ; bbWeight=1, gcrefRegs=4088 {rbx rdi r14}, byrefRegs=0000
        jne      SHORT G_M33430_IG12
                        ;; size=18 bbWeight=1 PerfScore 4.50
 G_M33430_IG06:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
-       mov      eax, dword ptr [r14+0x08]
-       xor      r13d, r13d
-       test     eax, eax
+       mov      edi, dword ptr [r14+0x08]
+       xor      esi, esi
+       test     edi, edi
        jle      SHORT G_M33430_IG12
-                      ;; size=11 bbWeight=1 PerfScore 3.50
+                      ;; size=10 bbWeight=1 PerfScore 3.50
 G_M33430_IG07:        ; bbWeight=1.69, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
-       mov      edi, r13d
-       mov      rdi, gword ptr [r14+8*rdi+0x10]
-       ; gcrRegs +[rdi]
-       cmp      dword ptr [rdi+0x08], 1
+       mov      edx, esi
+       mov      rdx, gword ptr [r14+8*rdx+0x10]
+       ; gcrRegs +[rdx]
+       cmp      dword ptr [rdx+0x08], 1
        jbe      G_M33430_IG16
-       movzx    rdi, byte  ptr [rdi+0x11]
-       ; gcrRegs -[rdi]
-       cmp      r15d, edi
+       movzx    rdx, byte  ptr [rdx+0x11]
+       ; gcrRegs -[rdx]
+       cmp      r15d, edx
        je       SHORT G_M33430_IG10
-                     ;; size=28 bbWeight=1.69 PerfScore 16.07
+                      ;; size=26 bbWeight=1.69 PerfScore 16.07
 G_M33430_IG08:        ; bbWeight=2.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
-       inc      r13d
-       cmp      r13d, eax
-       jge      SHORT G_M33430_IG12
-                       ;; size=8 bbWeight=2.50 PerfScore 3.75
-G_M33430_IG09:        ; bbWeight=1.69, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
-       jmp      SHORT G_M33430_IG07
-                       ;; size=2 bbWeight=1.69 PerfScore 3.38
+       inc      esi
+       cmp      esi, edi
+       jl       SHORT G_M33430_IG07
+                       ;; size=6 bbWeight=2.50 PerfScore 3.75
+G_M33430_IG09:        ; bbWeight=0.81, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rbx r14]
+       jmp      SHORT G_M33430_IG12
+                       ;; size=2 bbWeight=0.81 PerfScore 1.63
 G_M33430_IG10:        ; bbWeight=0.19, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[r14]
-       mov      r12d, 5
+       ; gcrRegs +[rbx]
+       mov      r13d, 5
        mov      edi, 4
        cmp      byte  ptr [rbp+0x28], 0
-       cmove    r12d, edi
+       cmove    r13d, edi
        mov      rdi, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PENamedTypeSymbol+PENamedTypeSymbolNonGeneric
        cmp      qword ptr [rbx], rdi
        jne      SHORT G_M33430_IG18
@@ -113,7 +112,7 @@ G_M33430_IG10:        ; bbWeight=0.19, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
 G_M33430_IG11:        ; bbWeight=0.19, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        mov      rsi, gword ptr [rbp+0x18]
        ; gcrRegs +[rsi]
-       mov      edx, r12d
+       mov      edx, r13d
        cmp      dword ptr [rdi], edi
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi]
@@ -126,15 +125,13 @@ G_M33430_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        xor      eax, eax
                        ;; size=2 bbWeight=0 PerfScore 0.00
 G_M33430_IG13:        ; bbWeight=0, epilog, nogc, extend
-       add      rsp, 8
        pop      rbx
-       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=15 bbWeight=0 PerfScore 0.00
+                      ;; size=9 bbWeight=0 PerfScore 0.00
 G_M33430_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rbx]
        mov      rdi, rbx
@@ -147,22 +144,20 @@ G_M33430_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {
        ; gcrRegs +[rdi]
        mov      rsi, gword ptr [rbp+0x10]
        ; gcrRegs +[rsi]
-       mov      edx, r12d
+       mov      edx, r13d
        call     [Microsoft.CodeAnalysis.AttributeData:<IsTargetEarlyAttribute>g__namespaceMatch|25_0(Microsoft.CodeAnalysis.Symbols.INamespaceSymbolInternal,System.String,int):ubyte]
        ; gcrRegs -[rax rsi rdi]
        ; gcr arg pop 0
        nop      
                        ;; size=33 bbWeight=0 PerfScore 0.00
 G_M33430_IG15:        ; bbWeight=0, epilog, nogc, extend
-       add      rsp, 8
        pop      rbx
-       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=15 bbWeight=0 PerfScore 0.00
+                      ;; size=9 bbWeight=0 PerfScore 0.00
 G_M33430_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
@@ -179,7 +174,7 @@ G_M33430_IG17:        ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {},
        ; gcrRegs +[rdi]
        jmp      G_M33430_IG03
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M33430_IG18:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M33430_IG18:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax rdi r14]
        mov      rdi, rbx
        ; gcrRegs +[rdi]
@@ -189,10 +184,10 @@ G_M33430_IG18:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        mov      rdi, rax
        ; gcrRegs +[rdi]
-       jmp      G_M33430_IG11
-                       ;; size=24 bbWeight=0 PerfScore 0.00
+       jmp      SHORT G_M33430_IG11
+                       ;; size=21 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 315, prolog size 22, PerfScore 55.11, instruction count 89, allocated bytes for code 315 (MethodHash=49927d69) for method Microsoft.CodeAnalysis.AttributeData:IsTargetEarlyAttribute(Microsoft.CodeAnalysis.Symbols.INamedTypeSymbolInternal,int,Microsoft.CodeAnalysis.AttributeDescription):ubyte (Tier1)
+; Total bytes of code 292, prolog size 19, PerfScore 51.35, instruction count 83, allocated bytes for code 292 (MethodHash=49927d69) for method Microsoft.CodeAnalysis.AttributeData:IsTargetEarlyAttribute(Microsoft.CodeAnalysis.Symbols.INamedTypeSymbolInternal,int,Microsoft.CodeAnalysis.AttributeDescription):ubyte (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -200,14 +195,12 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0B
-  CountOfUnwindCodes: 7
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 5
   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: 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: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
  
-25 (-7.00%) : 90008.dasm - Microsoft.CodeAnalysis.AttributeData:IsTargetEarlyAttribute(Microsoft.CodeAnalysis.Symbols.INamedTypeSymbolInternal,int,Microsoft.CodeAnalysis.AttributeDescription):ubyte (Tier1)
@@ -12,15 +12,15 @@
 ;  V00 arg0         [V00,T02] ( 11,  4.65)     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.Symbols.INamedTypeSymbolInternal>
 ;  V01 arg1         [V01,T03] (  3,  3.32)     int  ->  r15         single-def
 ;  V02 arg2         [V02,T09] (  4,  1.65)  struct (32) [rbp+0x10]  do-not-enreg[SF] ld-addr-op single-def <Microsoft.CodeAnalysis.AttributeDescription>
-;  V03 loc0         [V03,T04] (  3,  3.99)     int  ->  rax         single-def
-;  V04 loc1         [V04,T00] (  5,  8.28)     int  ->  r13        
+;  V03 loc0         [V03,T04] (  3,  3.99)     int  ->  rdi         single-def
+;  V04 loc1         [V04,T00] (  5,  8.28)     int  ->  rsi        
 ;* V05 loc2         [V05    ] (  0,  0   )     int  ->  zero-ref   
 ;* V06 loc3         [V06    ] (  0,  0   )     int  ->  zero-ref   
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V08 tmp1         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "dup spill" <Microsoft.CodeAnalysis.Symbols.ISymbolInternal>
 ;* V09 tmp2         [V09    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V10 tmp3         [V10,T10] (  0,  0   )     int  ->  zero-ref   
-;  V11 tmp4         [V11,T12] (  3,  0.65)     int  ->  r12        
+;  V11 tmp4         [V11,T12] (  3,  0.65)     int  ->  r13        
 ;  V12 tmp5         [V12,T05] (  5,  3.99)     ref  ->  rdi         "guarded devirt return temp"
 ;* V13 tmp6         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PENamedTypeSymbol+PENamedTypeSymbolNonGeneric>
 ;  V14 tmp7         [V14,T07] (  2,  2   )     int  ->  rax         "guarded devirt return temp"
@@ -30,24 +30,22 @@
 ;  V18 tmp11        [V18,T13] (  3,  0.00)     ref  ->  rax         "guarded devirt return temp"
 ;* V19 tmp12        [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PENamedTypeSymbol+PENamedTypeSymbolNonGeneric>
 ;  V20 tmp13        [V20,T06] (  3,  3.32)     ref  ->  r14         single-def "V02.[016..024)"
-;  V21 tmp14        [V21,T01] (  3,  7.90)     ref  ->  rdi         "arr expr"
-;  V22 cse0         [V22,T08] (  2,  2   )     int  ->  rax         "CSE - moderate"
+;  V21 tmp14        [V21,T01] (  3,  7.90)     ref  ->  rdx         "arr expr"
+;  V22 cse0         [V22,T08] (  2,  2   )     int  ->  rdi         "CSE - moderate"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M33430_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]
+       lea      rbp, [rsp+0x20]
        mov      rbx, rdi
        ; gcrRegs +[rbx]
        mov      r15d, esi
-                        ;; size=22 bbWeight=1 PerfScore 8.00
+                      ;; size=19 bbWeight=1 PerfScore 6.00
 G_M33430_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      r14, gword ptr [rbp+0x20]
        ; gcrRegs +[r14]
@@ -75,46 +73,47 @@ G_M33430_IG05:        ; bbWeight=1, gcrefRegs=4088 {rbx rdi r14}, byrefRegs=0000
        jne      G_M33430_IG17
                        ;; size=22 bbWeight=1 PerfScore 4.50
 G_M33430_IG06:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
-       mov      eax, dword ptr [r14+0x08]
-       xor      r13d, r13d
-       test     eax, eax
+       mov      edi, dword ptr [r14+0x08]
+       xor      esi, esi
+       test     edi, edi
        jle      G_M33430_IG17
-                        ;; size=15 bbWeight=1 PerfScore 3.50
+                      ;; size=14 bbWeight=1 PerfScore 3.50
 G_M33430_IG07:        ; bbWeight=1.32, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
-       mov      edi, r13d
-       mov      rdi, gword ptr [r14+8*rdi+0x10]
-       ; gcrRegs +[rdi]
-       cmp      dword ptr [rdi+0x08], 1
+       mov      edx, esi
+       mov      rdx, gword ptr [r14+8*rdx+0x10]
+       ; gcrRegs +[rdx]
+       cmp      dword ptr [rdx+0x08], 1
        jbe      G_M33430_IG15
-       movzx    rdi, byte  ptr [rdi+0x11]
-       ; gcrRegs -[rdi]
-       cmp      r15d, edi
+       movzx    rdx, byte  ptr [rdx+0x11]
+       ; gcrRegs -[rdx]
+       cmp      r15d, edx
        je       SHORT G_M33430_IG10
-                     ;; size=28 bbWeight=1.32 PerfScore 12.51
-G_M33430_IG08:        ; bbWeight=1.99, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
-       inc      r13d
-       cmp      r13d, eax
-       jge      G_M33430_IG17
-                       ;; size=12 bbWeight=1.99 PerfScore 2.98
-G_M33430_IG09:        ; bbWeight=1.32, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
-       jmp      SHORT G_M33430_IG07
-                       ;; size=2 bbWeight=1.32 PerfScore 2.63
-G_M33430_IG10:        ; bbWeight=0.32, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[r14]
-       mov      r12d, 5
+                      ;; size=26 bbWeight=1.32 PerfScore 12.51
+G_M33430_IG08:        ; bbWeight=1.99, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+       inc      esi
+       cmp      esi, edi
+       jl       SHORT G_M33430_IG07
+                       ;; size=6 bbWeight=1.99 PerfScore 2.98
+G_M33430_IG09:        ; bbWeight=0.68, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rbx r14]
+       jmp      G_M33430_IG17
+                       ;; size=5 bbWeight=0.68 PerfScore 1.35
+G_M33430_IG10:        ; bbWeight=0.32, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[rbx]
+       mov      r13d, 5
        mov      edi, 4
        cmp      byte  ptr [rbp+0x28], 0
-       cmove    r12d, edi
+       cmove    r13d, edi
        mov      rdi, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PENamedTypeSymbol+PENamedTypeSymbolNonGeneric
        cmp      qword ptr [rbx], rdi
-       jne      G_M33430_IG19
+       jne      SHORT G_M33430_IG19
        mov      rdi, gword ptr [rbx+0x40]
        ; gcrRegs +[rdi]
-                      ;; size=42 bbWeight=0.32 PerfScore 2.91
+                       ;; size=38 bbWeight=0.32 PerfScore 2.91
 G_M33430_IG11:        ; bbWeight=0.32, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        mov      rsi, gword ptr [rbp+0x18]
        ; gcrRegs +[rsi]
-       mov      edx, r12d
+       mov      edx, r13d
        cmp      dword ptr [rdi], edi
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi]
@@ -137,22 +136,20 @@ G_M33430_IG13:        ; bbWeight=0.00, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        ; gcrRegs +[rdi]
        mov      rsi, gword ptr [rbp+0x10]
        ; gcrRegs +[rsi]
-       mov      edx, r12d
+       mov      edx, r13d
        call     [Microsoft.CodeAnalysis.AttributeData:<IsTargetEarlyAttribute>g__namespaceMatch|25_0(Microsoft.CodeAnalysis.Symbols.INamespaceSymbolInternal,System.String,int):ubyte]
        ; gcrRegs -[rax rsi rdi]
        ; gcr arg pop 0
        nop      
                        ;; size=17 bbWeight=0.00 PerfScore 0.00
 G_M33430_IG14:        ; bbWeight=0.00, epilog, nogc, extend
-       add      rsp, 8
        pop      rbx
-       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=15 bbWeight=0.00 PerfScore 0.00
+                       ;; size=9 bbWeight=0.00 PerfScore 0.00
 G_M33430_IG15:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
@@ -174,15 +171,13 @@ G_M33430_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        xor      eax, eax
                        ;; size=2 bbWeight=0 PerfScore 0.00
 G_M33430_IG18:        ; bbWeight=0, epilog, nogc, extend
-       add      rsp, 8
        pop      rbx
-       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=15 bbWeight=0 PerfScore 0.00
+                      ;; size=9 bbWeight=0 PerfScore 0.00
 G_M33430_IG19:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rbx]
        mov      rdi, rbx
@@ -206,7 +201,7 @@ G_M33430_IG20:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        jmp      SHORT G_M33430_IG13
                        ;; size=18 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 357, prolog size 22, PerfScore 52.51, instruction count 95, allocated bytes for code 357 (MethodHash=49927d69) for method Microsoft.CodeAnalysis.AttributeData:IsTargetEarlyAttribute(Microsoft.CodeAnalysis.Symbols.INamedTypeSymbolInternal,int,Microsoft.CodeAnalysis.AttributeDescription):ubyte (Tier1)
+; Total bytes of code 332, prolog size 19, PerfScore 49.23, instruction count 89, allocated bytes for code 332 (MethodHash=49927d69) for method Microsoft.CodeAnalysis.AttributeData:IsTargetEarlyAttribute(Microsoft.CodeAnalysis.Symbols.INamedTypeSymbolInternal,int,Microsoft.CodeAnalysis.AttributeDescription):ubyte (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -214,14 +209,12 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0B
-  CountOfUnwindCodes: 7
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 5
   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: 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: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
  
+10 (+9.09%) : 210899.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
@@ -15,20 +15,22 @@
 ;* V03 tmp1         [V03,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  5,  9.86)     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[int]>
 ;  V05 tmp3         [V05,T05] (  3,  3   )     ref  ->  rdx         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T03] (  6,  5.78)     int  ->  [rbp-0x04]  spill-single-def "Inline stloc first use temp"
+;  V06 tmp4         [V06,T03] (  6,  5.78)     int  ->  [rbp-0x14]  spill-single-def "Inline stloc first use temp"
 ;  V07 tmp5         [V07,T06] (  3,  3   )     int  ->   r8         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V09 tmp7         [V09,T08] (  3,  2.07)     int  ->   r9         "Inline stloc first use temp"
-;  V10 cse0         [V10,T04] (  4,  3.93)   byref  ->   r8         "CSE - aggressive"
-;  V11 cse1         [V11,T07] (  3,  2.82)     int  ->  r10         "CSE - moderate"
+;  V09 tmp7         [V09,T08] (  3,  2.07)     int  ->   r8         "Inline stloc first use temp"
+;  V10 cse0         [V10,T04] (  4,  3.93)   byref  ->  rbx         "CSE - aggressive"
+;  V11 cse1         [V11,T07] (  3,  2.82)     int  ->  r15         "CSE - moderate"
 ;
 ; Lcl frame size = 16
 
 G_M7919_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
+       push     r15
+       push     rbx
        sub      rsp, 16
-       lea      rbp, [rsp+0x10]
-                       ;; size=10 bbWeight=1 PerfScore 1.75
+       lea      rbp, [rsp+0x20]
+                       ;; size=13 bbWeight=1 PerfScore 3.75
 G_M7919_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rdi]
        mov      rcx, gword ptr [rdi+0x10]
@@ -38,58 +40,62 @@ G_M7919_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byre
                        ;; size=8 bbWeight=1 PerfScore 4.00
 G_M7919_IG03:        ; bbWeight=1, gcrefRegs=0086 {rcx rdx rdi}, byrefRegs=0000 {}, byref, isz
        mov      eax, dword ptr [rcx+0xA0]
-       mov      dword ptr [rbp-0x04], eax
+       mov      dword ptr [rbp-0x14], eax
        mov      r8d, eax
        and      r8d, dword ptr [rcx+0x18]
        cmp      r8d, dword ptr [rdx+0x08]
        jae      SHORT G_M7919_IG09
-       lea      r8, bword ptr [rdx+8*r8+0x10]
-       ; byrRegs +[r8]
-       mov      r9d, dword ptr [r8+0x04]
-       sub      r9d, eax
-       jne      SHORT G_M7919_IG07
+       lea      rbx, bword ptr [rdx+8*r8+0x10]
+       ; byrRegs +[rbx]
+       mov      r8d, dword ptr [rbx+0x04]
+       sub      r8d, eax
+       jne      SHORT G_M7919_IG05
                      ;; size=36 bbWeight=1 PerfScore 14.50
-G_M7919_IG04:        ; bbWeight=0.93, gcrefRegs=0086 {rcx rdx rdi}, byrefRegs=0100 {r8}, byref, isz
-       lea      r9, bword ptr [rcx+0xA0]
-       ; byrRegs +[r9]
-       lea      r10d, [rax+0x01]
+G_M7919_IG04:        ; bbWeight=0.93, gcrefRegs=0086 {rcx rdx rdi}, byrefRegs=0008 {rbx}, byref, isz
+       lea      r8, bword ptr [rcx+0xA0]
+       ; byrRegs +[r8]
+       lea      r15d, [rax+0x01]
        lock     
-       cmpxchg  dword ptr [r9], r10d
-       cmp      eax, dword ptr [rbp-0x04]
+       cmpxchg  dword ptr [r8], r15d
+       cmp      eax, dword ptr [rbp-0x14]
        jne      SHORT G_M7919_IG03
-                      ;; size=21 bbWeight=0.93 PerfScore 20.41
-G_M7919_IG05:        ; bbWeight=0.96, gcrefRegs=0000 {}, byrefRegs=0100 {r8}, byref
-       ; gcrRegs -[rcx rdx rdi]
-       ; byrRegs -[r9]
-       mov      dword ptr [r8], esi
-       mov      dword ptr [r8+0x04], r10d
-                       ;; size=7 bbWeight=0.96 PerfScore 1.93
-G_M7919_IG06:        ; bbWeight=0.96, epilog, nogc, extend
-       add      rsp, 16
-       pop      rbp
-       ret      
-                       ;; size=6 bbWeight=0.96 PerfScore 1.69
-G_M7919_IG07:        ; bbWeight=0.07, gcVars=0000000000000000 {}, gcrefRegs=0086 {rcx rdx rdi}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; gcrRegs +[rcx rdx rdi]
-       ; byrRegs -[r8]
-       test     r9d, r9d
+       jmp      SHORT G_M7919_IG07
+                       ;; size=23 bbWeight=0.93 PerfScore 22.26
+G_M7919_IG05:        ; bbWeight=0.07, gcrefRegs=0086 {rcx rdx rdi}, byrefRegs=0000 {}, byref, isz
+       ; byrRegs -[rbx r8]
+       test     r8d, r8d
        jge      SHORT G_M7919_IG03
                        ;; size=5 bbWeight=0.07 PerfScore 0.09
-G_M7919_IG08:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M7919_IG06:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rcx rdx]
        add      rsp, 16
+       pop      rbx
+       pop      r15
        pop      rbp
        tail.jmp [<unknown method>]
        ; gcr arg pop 0
-                       ;; size=11 bbWeight=1 PerfScore 2.75
-G_M7919_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                       ;; size=14 bbWeight=1 PerfScore 3.75
+G_M7919_IG07:        ; bbWeight=0.96, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, gcvars, byref
        ; gcrRegs -[rdi]
+       ; byrRegs +[rbx]
+       mov      dword ptr [rbx], esi
+       mov      dword ptr [rbx+0x04], r15d
+                       ;; size=6 bbWeight=0.96 PerfScore 1.93
+G_M7919_IG08:        ; bbWeight=0.96, epilog, nogc, extend
+       add      rsp, 16
+       pop      rbx
+       pop      r15
+       pop      rbp
+       ret      
+                       ;; size=9 bbWeight=0.96 PerfScore 2.65
+G_M7919_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       ; byrRegs -[rbx]
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 110, prolog size 10, PerfScore 47.11, instruction count 33, allocated bytes for code 110 (MethodHash=ce54e110) for method System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
+; Total bytes of code 120, prolog size 13, PerfScore 52.93, instruction count 40, allocated bytes for code 120 (MethodHash=ce54e110) for method System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -97,10 +103,12 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x05
-  CountOfUnwindCodes: 2
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 4
   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: 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)
  
+30 (+9.55%) : 453909.dasm - System.Xml.Serialization.XmlSerializerNamespaces:TryLookupPrefix(System.String,byref):ubyte:this (Tier1)
@@ -9,49 +9,49 @@
 ; 5 inlinees with PGO data; 13 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T08] (  3,  3   )     ref  ->  rdi         this class-hnd single-def <System.Xml.Serialization.XmlSerializerNamespaces>
-;  V01 arg1         [V01,T01] (  8,  5.36)     ref  ->  rbx         class-hnd single-def <System.String>
-;  V02 arg2         [V02,T07] (  4,  3.02)   byref  ->  r15         single-def
+;  V00 this         [V00,T03] (  3,  3   )     ref  ->  rdi         this class-hnd single-def <System.Xml.Serialization.XmlSerializerNamespaces>
+;  V01 arg1         [V01,T00] (  8,  5.36)     ref  ->  rbx         class-hnd single-def <System.String>
+;  V02 arg2         [V02,T02] (  4,  3.02)   byref  ->  r15         single-def
 ;* V03 loc0         [V03    ] (  0,  0   )  struct (40) zero-ref    do-not-enreg[SF] ld-addr-op <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.Xml.XmlQualifiedName]>
 ;* V04 loc1         [V04    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.String,System.Xml.XmlQualifiedName]>
 ;* V05 loc2         [V05,T25] (  0,  0   )   ubyte  ->  zero-ref   
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T05] (  3,  5.53)     ref  ->  rax         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V07 tmp1         [V07,T01] (  3,  5.53)     ref  ->  rax         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V08 tmp2         [V08,T21] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp3         [V09,T19] (  3,  1.22)     ref  ->  r14         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V09 tmp3         [V09,T18] (  3,  1.22)     ref  ->  r14         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V10 tmp4         [V10    ] (  0,  0   )  struct (40) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.Xml.XmlQualifiedName]>
 ;* V11 tmp5         [V11,T24] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V12 tmp6         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
 ;* V13 tmp7         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
-;  V14 tmp8         [V14,T10] (  5,  3.78)     ref  ->  [rbp-0x38]  class-hnd exact "Inlining Arg" <System.String>
-;  V15 tmp9         [V15,T20] (  2,  0.76)   ubyte  ->  rax         "Inline return value spill temp"
-;  V16 tmp10        [V16,T17] (  2,  1.53)   byref  ->  rdi         "impAppendStmt"
-;* V17 tmp11        [V17,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V18 tmp12        [V18,T14] (  4,  1.68)     int  ->  r12         "Inline stloc first use temp"
-;  V19 tmp13        [V19,T12] (  3,  2.51)     ref  ->  rsi         class-hnd exact "impAppendStmt" <<unknown class>>
-;  V20 tmp14        [V20,T13] (  4,  1.68)   byref  ->  rsi         "Inline stloc first use temp"
+;  V14 tmp8         [V14,T04] (  5,  3.78)     ref  ->  [rbp-0x38]  class-hnd exact "Inlining Arg" <System.String>
+;  V15 tmp9         [V15,T19] (  2,  0.76)   ubyte  ->  rax         "Inline return value spill temp"
+;  V16 tmp10        [V16,T15] (  2,  1.53)   byref  ->  rdi         "impAppendStmt"
+;* V17 tmp11        [V17,T20] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V18 tmp12        [V18,T12] (  4,  1.68)     int  ->  r12         "Inline stloc first use temp"
+;  V19 tmp13        [V19,T06] (  3,  2.51)     ref  ->  rax         class-hnd exact "impAppendStmt" <<unknown class>>
+;  V20 tmp14        [V20,T11] (  4,  1.68)   byref  ->  rax         "Inline stloc first use temp"
 ;* V21 tmp15        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.KeyValuePair`2[System.String,System.Xml.XmlQualifiedName]>
-;  V22 tmp16        [V22,T15] (  2,  1.68)     ref  ->  rax         class-hnd "Inlining Arg" <System.__Canon>
-;  V23 tmp17        [V23,T16] (  2,  1.68)     ref  ->  rdi         class-hnd "Inlining Arg" <System.__Canon>
+;  V22 tmp16        [V22,T13] (  2,  1.68)     ref  ->  rcx         class-hnd "Inlining Arg" <System.__Canon>
+;  V23 tmp17        [V23,T14] (  2,  1.68)     ref  ->  rdi         class-hnd "Inlining Arg" <System.__Canon>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    "field V04.key (fldOffset=0x0)" P-INDEP
 ;* V25 tmp19        [V25    ] (  0,  0   )     ref  ->  zero-ref    "field V04.value (fldOffset=0x8)" P-INDEP
 ;* V26 tmp20        [V26    ] (  0,  0   )     ref  ->  zero-ref    "field V21.key (fldOffset=0x0)" P-INDEP
 ;* V27 tmp21        [V27    ] (  0,  0   )     ref  ->  zero-ref    "field V21.value (fldOffset=0x8)" P-INDEP
-;  V28 tmp22        [V28,T04] (  4,  5.72)     ref  ->  r14         single-def "V03.[000..008)"
+;  V28 tmp22        [V28,T09] (  4,  1.76)     ref  ->  r14         single-def "V03.[000..008)"
 ;  V29 tmp23        [V29,T22] (  2,  0.77)     int  ->  r13         "V03.[008..012)"
-;  V30 tmp24        [V30,T02] (  4,  1.61)     int  ->  registers   "V03.[012..016)"
+;  V30 tmp24        [V30,T07] (  4,  1.61)     int  ->  registers   "V03.[012..016)"
 ;* V31 tmp25        [V31    ] (  0,  0   )     int  ->  zero-ref    "V03.[016..020)"
-;  V32 tmp26        [V32,T03] (  4,  1.20)     ref  ->  [rbp-0x40]  "V03.[024..032)"
-;  V33 tmp27        [V33,T06] (  2,  0.80)     ref  ->  rdi         "V03.[032..040)"
+;  V32 tmp26        [V32,T08] (  4,  1.20)     ref  ->  [rbp-0x40]  "V03.[024..032)"
+;  V33 tmp27        [V33,T17] (  2,  0.80)     ref  ->  rdi         "V03.[032..040)"
 ;* V34 tmp28        [V34    ] (  0,  0   )     ref  ->  zero-ref    single-def "V10.[000..008)"
 ;  V35 tmp29        [V35,T23] (  2,  0.41)     int  ->  r13         "V10.[008..012)"
 ;* V36 tmp30        [V36    ] (  0,  0   )     int  ->  zero-ref    "V10.[012..016)"
 ;* V37 tmp31        [V37    ] (  0,  0   )     int  ->  zero-ref    "V10.[016..020)"
 ;* V38 tmp32        [V38    ] (  0,  0   )     ref  ->  zero-ref    single-def "V10.[024..032)"
 ;* V39 tmp33        [V39    ] (  0,  0   )     ref  ->  zero-ref    single-def "V10.[032..040)"
-;  V40 cse0         [V40,T00] (  2,  5.10)     int  ->  rdi         hoist "CSE - aggressive"
-;  V41 cse1         [V41,T11] (  4,  3.12)     ref  ->  r14         "CSE - moderate"
-;  V42 cse2         [V42,T18] (  4,  1.51)     int  ->  [rbp-0x2C]  "CSE - moderate"
+;  V40 cse0         [V40,T10] (  2,  1.13)     int  ->  rdi         hoist "CSE - moderate"
+;  V41 cse1         [V41,T05] (  4,  3.12)     ref  ->  r14         "CSE - moderate"
+;  V42 cse2         [V42,T16] (  4,  1.51)     int  ->  [rbp-0x2C]  "CSE - moderate"
 ;
 ; Lcl frame size = 24
 
@@ -89,11 +89,11 @@ G_M17820_IG03:        ; bbWeight=0.92, gcrefRegs=4008 {rbx r14}, byrefRegs=8000
        test     rbx, rbx
        je       SHORT G_M17820_IG05
                        ;; size=16 bbWeight=0.92 PerfScore 6.91
-G_M17820_IG04:        ; bbWeight=0.92, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
+G_M17820_IG04:        ; bbWeight=0.92, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref
        ; gcrRegs -[rax]
        cmp      dword ptr [rbx+0x08], 0
-       jne      SHORT G_M17820_IG08
-                       ;; size=6 bbWeight=0.92 PerfScore 3.68
+       jne      G_M17820_IG16
+                       ;; size=10 bbWeight=0.92 PerfScore 3.68
 G_M17820_IG05:        ; bbWeight=0.80, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx r14]
        ; byrRegs -[r15]
@@ -109,10 +109,49 @@ G_M17820_IG06:        ; bbWeight=0.80, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=15 bbWeight=0.80 PerfScore 3.39
-G_M17820_IG07:        ; bbWeight=0.38, gcVars=0000000000000408 {V14 V32}, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
+G_M17820_IG07:        ; bbWeight=0.57, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, gcvars, byref
        ; gcrRegs +[rbx r14]
        ; byrRegs +[r15]
-       ; GC ptr vars +{V14 V32}
+       cmp      r13d, dword ptr [r14+0x44]
+       jne      G_M17820_IG20
+       mov      edi, dword ptr [r14+0x38]
+                       ;; size=14 bbWeight=0.57 PerfScore 3.40
+G_M17820_IG08:        ; bbWeight=0.57, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
+       cmp      r12d, edi
+       jb       G_M17820_IG15
+       jmp      SHORT G_M17820_IG05
+                       ;; size=11 bbWeight=0.57 PerfScore 1.84
+G_M17820_IG09:        ; bbWeight=0.38, gcrefRegs=4089 {rax rbx rdi r14}, byrefRegs=8000 {r15}, byref, isz
+       ; gcrRegs +[rax rdi]
+       test     rax, rax
+       je       SHORT G_M17820_IG07
+                       ;; size=5 bbWeight=0.38 PerfScore 0.48
+G_M17820_IG10:        ; bbWeight=0.38, gcrefRegs=4089 {rax rbx rdi r14}, byrefRegs=8000 {r15}, byref, isz
+       cmp      dword ptr [rax+0x08], 0
+       je       SHORT G_M17820_IG07
+                       ;; size=6 bbWeight=0.38 PerfScore 1.53
+G_M17820_IG11:        ; bbWeight=0.38, gcrefRegs=4089 {rax rbx rdi r14}, byrefRegs=8000 {r15}, byref
+       mov      rcx, gword ptr [rdi+0x08]
+       ; gcrRegs +[rcx]
+       mov      rdi, rcx
+       cmp      rdi, rbx
+       je       G_M17820_IG17
+                       ;; size=16 bbWeight=0.38 PerfScore 1.34
+G_M17820_IG12:        ; bbWeight=0.37, gcrefRegs=4089 {rax rbx rdi r14}, byrefRegs=8000 {r15}, byref, isz
+       ; gcrRegs -[rcx]
+       test     rdi, rdi
+       je       SHORT G_M17820_IG07
+       mov      ecx, dword ptr [rdi+0x08]
+       cmp      ecx, dword ptr [rbx+0x08]
+       mov      gword ptr [rbp-0x38], rdi
+       ; GC ptr vars +{V14}
+       mov      gword ptr [rbp-0x40], rax
+       ; GC ptr vars +{V32}
+       mov      dword ptr [rbp-0x2C], ecx
+       jne      SHORT G_M17820_IG07
+                       ;; size=24 bbWeight=0.37 PerfScore 3.80
+G_M17820_IG13:        ; bbWeight=0.38, gcVars=0000000000000110 {V14 V32}, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
+       ; gcrRegs -[rax rdi]
        mov      edi, 1
        call     [<unknown method>]
        ; gcr arg pop 0
@@ -141,83 +180,44 @@ G_M17820_IG07:        ; bbWeight=0.38, gcVars=0000000000000408 {V14 V32}, gcrefR
        test     eax, eax
        mov      rax, gword ptr [rbp-0x40]
        ; gcrRegs +[rax]
-       jne      SHORT G_M17820_IG18
-       jmp      SHORT G_M17820_IG10
-                       ;; size=73 bbWeight=0.38 PerfScore 9.56
-G_M17820_IG08:        ; bbWeight=0.20, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
+       jne      SHORT G_M17820_IG17
+                       ;; size=71 bbWeight=0.38 PerfScore 8.80
+G_M17820_IG14:        ; bbWeight=0.57, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, gcvars, byref
        ; gcrRegs -[rax]
        ; GC ptr vars -{V32}
+       jmp      G_M17820_IG07
+                       ;; size=5 bbWeight=0.57 PerfScore 1.13
+G_M17820_IG15:        ; bbWeight=0.42, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
+       mov      rax, gword ptr [r14+0x10]
+       ; gcrRegs +[rax]
+       lea      ecx, [r12+0x01]
+       cmp      r12d, dword ptr [rax+0x08]
+       jae      SHORT G_M17820_IG19
+       mov      edx, r12d
+       lea      rdx, [rdx+2*rdx]
+       lea      rax, bword ptr [rax+8*rdx+0x10]
+       ; gcrRegs -[rax]
+       ; byrRegs +[rax]
+       cmp      dword ptr [rax+0x14], -1
+       mov      r12d, ecx
+       jl       G_M17820_IG08
+       mov      rcx, gword ptr [rax]
+       ; gcrRegs +[rcx]
+       mov      rdi, gword ptr [rax+0x08]
+       ; gcrRegs +[rdi]
+       mov      rax, rcx
+       ; gcrRegs +[rax]
+       ; byrRegs -[rax]
+       jmp      G_M17820_IG09
+                       ;; size=55 bbWeight=0.42 PerfScore 7.85
+G_M17820_IG16:        ; bbWeight=0.20, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref
+       ; gcrRegs -[rax rcx rdi]
        mov      r13d, dword ptr [r14+0x44]
        xor      r12d, r12d
-       jmp      SHORT G_M17820_IG10
-                       ;; size=9 bbWeight=0.20 PerfScore 0.86
-G_M17820_IG09:        ; bbWeight=0.37, gcrefRegs=4089 {rax rbx rdi r14}, byrefRegs=8000 {r15}, byref, isz
-       ; gcrRegs +[rax rdi]
-       mov      ecx, dword ptr [rdi+0x08]
-       cmp      ecx, dword ptr [rbx+0x08]
-       mov      gword ptr [rbp-0x40], rax
-       ; GC ptr vars +{V32}
-       mov      gword ptr [rbp-0x38], rdi
-       ; GC ptr vars +{V14}
-       mov      dword ptr [rbp-0x2C], ecx
-       je       SHORT G_M17820_IG07
-                       ;; size=19 bbWeight=0.37 PerfScore 3.33
-G_M17820_IG10:        ; bbWeight=0.57, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
-       ; gcrRegs -[rax rdi]
-       ; GC ptr vars -{V14 V32}
-       cmp      r13d, dword ptr [r14+0x44]
-       jne      SHORT G_M17820_IG21
-                       ;; size=6 bbWeight=0.57 PerfScore 2.27
-G_M17820_IG11:        ; bbWeight=4.53, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref
-       mov      edi, dword ptr [r14+0x38]
-                       ;; size=4 bbWeight=4.53 PerfScore 9.07
-G_M17820_IG12:        ; bbWeight=0.57, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref
-       cmp      r12d, edi
-       jae      G_M17820_IG05
-                       ;; size=9 bbWeight=0.57 PerfScore 0.71
-G_M17820_IG13:        ; bbWeight=0.42, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
-       mov      rsi, gword ptr [r14+0x10]
-       ; gcrRegs +[rsi]
-       lea      eax, [r12+0x01]
-       cmp      r12d, dword ptr [rsi+0x08]
-       jae      SHORT G_M17820_IG20
-       mov      ecx, r12d
-       lea      rcx, [rcx+2*rcx]
-       lea      rsi, bword ptr [rsi+8*rcx+0x10]
-       ; gcrRegs -[rsi]
-       ; byrRegs +[rsi]
-       cmp      dword ptr [rsi+0x14], -1
-       mov      r12d, eax
-       jl       SHORT G_M17820_IG12
-       mov      rax, gword ptr [rsi]
-       ; gcrRegs +[rax]
-       mov      rdi, gword ptr [rsi+0x08]
-       ; gcrRegs +[rdi]
-                       ;; size=43 bbWeight=0.42 PerfScore 6.91
-G_M17820_IG14:        ; bbWeight=0.38, gcrefRegs=4089 {rax rbx rdi r14}, byrefRegs=8000 {r15}, byref, isz
-       ; byrRegs -[rsi]
-       test     rax, rax
-       je       SHORT G_M17820_IG10
-                       ;; size=5 bbWeight=0.38 PerfScore 0.48
-G_M17820_IG15:        ; bbWeight=0.38, gcrefRegs=4089 {rax rbx rdi r14}, byrefRegs=8000 {r15}, byref, isz
-       cmp      dword ptr [rax+0x08], 0
-       je       SHORT G_M17820_IG10
-                       ;; size=6 bbWeight=0.38 PerfScore 1.53
-G_M17820_IG16:        ; bbWeight=0.38, gcrefRegs=4089 {rax rbx rdi r14}, byrefRegs=8000 {r15}, byref, isz
-       mov      rcx, gword ptr [rdi+0x08]
-       ; gcrRegs +[rcx]
-       mov      rdi, rcx
-       cmp      rdi, rbx
-       je       SHORT G_M17820_IG18
-                       ;; size=12 bbWeight=0.38 PerfScore 1.34
-G_M17820_IG17:        ; bbWeight=0.37, gcrefRegs=4089 {rax rbx rdi r14}, byrefRegs=8000 {r15}, byref, isz
-       ; gcrRegs -[rcx]
-       test     rdi, rdi
-       je       SHORT G_M17820_IG10
-       jmp      SHORT G_M17820_IG09
-                       ;; size=7 bbWeight=0.37 PerfScore 1.20
-G_M17820_IG18:        ; bbWeight=0.02, gcrefRegs=0001 {rax}, byrefRegs=8000 {r15}, byref
-       ; gcrRegs -[rbx rdi r14]
+       jmp      G_M17820_IG07
...
  
+14 (+11.38%) : 731937.dasm - System.Collections.Concurrent.ConcurrentQueue1[System.Collections.Generic.KeyValuePair2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
@@ -14,89 +14,98 @@
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  5,  9.98)     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Collections.Generic.KeyValuePair`2[int,long]]>
-;  V05 tmp3         [V05,T06] (  5,  4.98)     ref  ->   r8         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T02] (  6,  5.97)     int  ->  [rbp-0x04]  spill-single-def "Inline stloc first use temp"
-;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->   r9         "Inline stloc first use temp"
+;  V05 tmp3         [V05,T06] (  5,  4.98)     ref  ->  rbx         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V06 tmp4         [V06,T02] (  6,  5.97)     int  ->  [rbp-0x1C]  spill-single-def "Inline stloc first use temp"
+;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->   r8         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V09 tmp7         [V09,T10] (  3,  2.01)     int  ->  r10         "Inline stloc first use temp"
+;  V09 tmp7         [V09,T10] (  3,  2.01)     int  ->   r8         "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T04] (  3,  2.99)     int  ->  rsi         single-def "field V01.key (fldOffset=0x0)" P-INDEP
 ;  V11 tmp9         [V11,T05] (  3,  2.99)    long  ->  rdx         single-def "field V01.value (fldOffset=0x8)" P-INDEP
-;  V12 tmp10        [V12,T03] (  3,  5.94)   byref  ->  rcx         single-def "BlockOp address local"
-;  V13 cse0         [V13,T07] (  4,  3.98)    long  ->   r9         "CSE - aggressive"
-;  V14 cse1         [V14,T11] (  2,  2   )     int  ->  r10         "CSE - aggressive"
-;  V15 cse2         [V15,T09] (  3,  2.97)     int  ->  r11         "CSE - moderate"
+;  V12 tmp10        [V12,T03] (  3,  5.94)   byref  ->  rax         single-def "BlockOp address local"
+;  V13 cse0         [V13,T07] (  4,  3.98)    long  ->  r15         "CSE - aggressive"
+;  V14 cse1         [V14,T11] (  2,  2   )     int  ->   r9         "CSE - aggressive"
+;  V15 cse2         [V15,T09] (  3,  2.97)     int  ->  r14         "CSE - moderate"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 8
 
 G_M53455_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
-       sub      rsp, 16
-       lea      rbp, [rsp+0x10]
-                       ;; size=10 bbWeight=1 PerfScore 1.75
+       push     r15
+       push     r14
+       push     rbx
+       push     rax
+       lea      rbp, [rsp+0x20]
+                       ;; size=12 bbWeight=1 PerfScore 5.50
 G_M53455_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rdi]
        mov      rcx, gword ptr [rdi+0x10]
        ; gcrRegs +[rcx]
-       mov      r8, gword ptr [rcx+0x08]
-       ; gcrRegs +[r8]
+       mov      rbx, gword ptr [rcx+0x08]
+       ; gcrRegs +[rbx]
                         ;; size=8 bbWeight=1 PerfScore 4.00
-G_M53455_IG03:        ; bbWeight=1, gcrefRegs=0182 {rcx rdi r8}, byrefRegs=0000 {}, byref, isz
+G_M53455_IG03:        ; bbWeight=1, gcrefRegs=008A {rcx rbx rdi}, byrefRegs=0000 {}, byref, isz
        mov      eax, dword ptr [rcx+0xA0]
-       mov      dword ptr [rbp-0x04], eax
-       mov      r9d, eax
-       and      r9d, dword ptr [rcx+0x18]
-       mov      r10d, dword ptr [r8+0x08]
-       cmp      r9d, r10d
+       mov      dword ptr [rbp-0x1C], eax
+       mov      r8d, eax
+       and      r8d, dword ptr [rcx+0x18]
+       mov      r9d, dword ptr [rbx+0x08]
+       cmp      r8d, r9d
        jae      SHORT G_M53455_IG09
-       lea      r9, [r9+2*r9]
-       mov      r10d, dword ptr [r8+8*r9+0x10]
-       sub      r10d, eax
-       jne      SHORT G_M53455_IG07
+       lea      r15, [r8+2*r8]
+       mov      r8d, dword ptr [rbx+8*r15+0x10]
+       sub      r8d, eax
+       jne      SHORT G_M53455_IG05
                         ;; size=39 bbWeight=1 PerfScore 13.25
-G_M53455_IG04:        ; bbWeight=0.99, gcrefRegs=0182 {rcx rdi r8}, byrefRegs=0000 {}, byref, isz
-       lea      r10, bword ptr [rcx+0xA0]
-       ; byrRegs +[r10]
-       lea      r11d, [rax+0x01]
+G_M53455_IG04:        ; bbWeight=0.99, gcrefRegs=008A {rcx rbx rdi}, byrefRegs=0000 {}, byref, isz
+       lea      r8, bword ptr [rcx+0xA0]
+       ; byrRegs +[r8]
+       lea      r14d, [rax+0x01]
        lock     
-       cmpxchg  dword ptr [r10], r11d
-       cmp      eax, dword ptr [rbp-0x04]
+       cmpxchg  dword ptr [r8], r14d
+       cmp      eax, dword ptr [rbp-0x1C]
        jne      SHORT G_M53455_IG03
-                     ;; size=21 bbWeight=0.99 PerfScore 21.75
-G_M53455_IG05:        ; bbWeight=0.99, gcrefRegs=0100 {r8}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rcx rdi]
-       ; byrRegs -[r10]
-       lea      rcx, bword ptr [r8+8*r9+0x10]
-       ; byrRegs +[rcx]
-       mov      dword ptr [rcx+0x08], esi
-       mov      qword ptr [rcx+0x10], rdx
-       mov      dword ptr [r8+8*r9+0x10], r11d
-                       ;; size=17 bbWeight=0.99 PerfScore 3.96
-G_M53455_IG06:        ; bbWeight=0.99, epilog, nogc, extend
-       add      rsp, 16
-       pop      rbp
-       ret      
-                       ;; size=6 bbWeight=0.99 PerfScore 1.73
-G_M53455_IG07:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=0182 {rcx rdi r8}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; gcrRegs +[rcx rdi]
-       ; byrRegs -[rcx]
-       test     r10d, r10d
+       jmp      SHORT G_M53455_IG07
+                       ;; size=23 bbWeight=0.99 PerfScore 23.72
+G_M53455_IG05:        ; bbWeight=0.01, gcrefRegs=008A {rcx rbx rdi}, byrefRegs=0000 {}, byref, isz
+       ; byrRegs -[r8]
+       test     r8d, r8d
        jge      SHORT G_M53455_IG03
                        ;; size=5 bbWeight=0.01 PerfScore 0.01
-G_M53455_IG08:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, epilog, nogc
-       ; gcrRegs -[rcx r8]
-       add      rsp, 16
+G_M53455_IG06:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, epilog, nogc
+       ; gcrRegs -[rcx rbx]
+       add      rsp, 8
+       pop      rbx
+       pop      r14
+       pop      r15
        pop      rbp
        tail.jmp [<unknown method>]
        ; gcr arg pop 0
-                       ;; size=11 bbWeight=1 PerfScore 2.75
+                      ;; size=16 bbWeight=1 PerfScore 4.25
+G_M53455_IG07:        ; bbWeight=0.99, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs -[rdi] +[rbx]
+       lea      rax, bword ptr [rbx+8*r15+0x10]
+       ; byrRegs +[rax]
+       mov      dword ptr [rax+0x08], esi
+       mov      qword ptr [rax+0x10], rdx
+       mov      dword ptr [rbx+8*r15+0x10], r14d
+                       ;; size=17 bbWeight=0.99 PerfScore 3.96
+G_M53455_IG08:        ; bbWeight=0.99, epilog, nogc, extend
+       add      rsp, 8
+       pop      rbx
+       pop      r14
+       pop      r15
+       pop      rbp
+       ret      
+                       ;; size=11 bbWeight=0.99 PerfScore 3.22
 G_M53455_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs -[rdi]
+       ; gcrRegs -[rbx]
+       ; byrRegs -[rax]
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 123, prolog size 10, PerfScore 49.20, instruction count 36, allocated bytes for code 123 (MethodHash=d16f2f30) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
+; Total bytes of code 137, prolog size 12, PerfScore 57.92, instruction count 46, allocated bytes for code 137 (MethodHash=d16f2f30) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -104,10 +113,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x05
-  CountOfUnwindCodes: 2
+  SizeOfProlog      : 0x07
+  CountOfUnwindCodes: 5
   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: 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)
  
  
librariestestsnotieredcompilation.run.linux.x64.Release.mch
-17 (-5.20%) : 37888.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
@@ -16,13 +16,13 @@
 ;  V05 tmp1         [V05,T06] (  3,  6   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]>
 ;  V06 tmp2         [V06,T10] (  3,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V07 tmp3         [V07,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V08 tmp4         [V08,T07] (  3,  5.83)     ref  ->  r13         class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V09 tmp5         [V09,T04] (  4,  7.65)     int  ->  r12         "Inline stloc first use temp"
+;  V08 tmp4         [V08,T07] (  3,  5.83)     ref  ->  rdi         class-hnd "Inline stloc first use temp" <<unknown class>>
+;  V09 tmp5         [V09,T04] (  4,  7.65)     int  ->  rsi         "Inline stloc first use temp"
 ;  V10 tmp6         [V10,T02] (  3,  8   )     ref  ->  rax         class-hnd exact "Inlining Arg" <Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target>
 ;  V11 tmp7         [V11,T11] (  2,  0   )     ref  ->  r15         "argument with side effect"
 ;  V12 tmp8         [V12,T12] (  2,  0   )     ref  ->  rsi         "argument with side effect"
 ;  V13 tmp9         [V13,T13] (  2,  0   )     ref  ->  rsi         "argument with side effect"
-;  V14 cse0         [V14,T08] (  2,  4   )     int  ->  rdi         "CSE - aggressive"
+;  V14 cse0         [V14,T08] (  2,  4   )     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
@@ -30,16 +30,14 @@ G_M26637_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        push     rbp
        push     r15
        push     r14
-       push     r13
-       push     r12
        push     rbx
        push     rax
-       lea      rbp, [rsp+0x30]
+       lea      rbp, [rsp+0x20]
        mov      r15, rdi
        ; gcrRegs +[r15]
        mov      rbx, rsi
        ; byrRegs +[rbx]
-                      ;; size=22 bbWeight=1 PerfScore 8.00
+                      ;; size=18 bbWeight=1 PerfScore 6.00
 G_M26637_IG02:        ; bbWeight=1, gcrefRegs=8000 {r15}, byrefRegs=0008 {rbx}, byref, isz
        mov      rdi, rbx
        ; byrRegs +[rdi]
@@ -66,17 +64,17 @@ G_M26637_IG02:        ; bbWeight=1, gcrefRegs=8000 {r15}, byrefRegs=0008 {rbx},
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rsi]
        ; byrRegs -[rdi]
-       jmp      SHORT G_M26637_IG08
+       jmp      SHORT G_M26637_IG07
                       ;; size=80 bbWeight=1 PerfScore 15.25
-G_M26637_IG03:        ; bbWeight=2, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref
+G_M26637_IG03:        ; bbWeight=2, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref, isz
        mov      rdi, rbx
        ; byrRegs +[rdi]
        call     [System.Text.Json.Utf8JsonReader:GetString():System.String:this]
        ; gcrRegs +[rax]
        ; byrRegs -[rdi]
        test     rax, rax
-       je       G_M26637_IG12
-                       ;; size=18 bbWeight=2 PerfScore 9.00
+       je       SHORT G_M26637_IG12
+                       ;; size=14 bbWeight=2 PerfScore 9.00
 G_M26637_IG04:        ; bbWeight=1.88, gcrefRegs=C001 {rax r14 r15}, byrefRegs=0008 {rbx}, byref, isz
        cmp      dword ptr [rax+0x08], 0
        je       SHORT G_M26637_IG12
@@ -92,48 +90,39 @@ G_M26637_IG05:        ; bbWeight=2, gcrefRegs=C001 {rax r14 r15}, byrefRegs=0008
        ; gcrRegs -[rdx rdi]
        ; byrRegs -[rsi]
        inc      dword ptr [r14+0x14]
-       mov      r13, gword ptr [r14+0x08]
-       ; gcrRegs +[r13]
-       mov      r12d, dword ptr [r14+0x10]
-       mov      edi, dword ptr [r13+0x08]
-       cmp      edi, r12d
-       jbe      SHORT G_M26637_IG07
-                       ;; size=36 bbWeight=2 PerfScore 28.00
-G_M26637_IG06:        ; bbWeight=1.83, gcrefRegs=E001 {rax r13 r14 r15}, byrefRegs=0008 {rbx}, byref, isz
-       lea      edi, [r12+0x01]
-       mov      dword ptr [r14+0x10], edi
-       mov      edi, r12d
-       lea      rdi, bword ptr [r13+8*rdi+0x10]
+       mov      rdi, gword ptr [r14+0x08]
+       ; gcrRegs +[rdi]
+       mov      esi, dword ptr [r14+0x10]
+       mov      ecx, dword ptr [rdi+0x08]
+       cmp      ecx, esi
+       jbe      SHORT G_M26637_IG11
+                       ;; size=34 bbWeight=2 PerfScore 28.00
+G_M26637_IG06:        ; bbWeight=1.83, gcrefRegs=C081 {rax rdi r14 r15}, byrefRegs=0008 {rbx}, byref
+       lea      ecx, [rsi+0x01]
+       mov      dword ptr [r14+0x10], ecx
+       mov      esi, esi
+       lea      rdi, bword ptr [rdi+8*rsi+0x10]
+       ; gcrRegs -[rdi]
        ; byrRegs +[rdi]
        mov      rsi, rax
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
-       ; gcrRegs -[rax rsi r13]
+       ; gcrRegs -[rax rsi]
        ; byrRegs -[rdi]
-       jmp      SHORT G_M26637_IG08
-                       ;; size=27 bbWeight=1.83 PerfScore 12.78
-G_M26637_IG07:        ; bbWeight=0.17, gcrefRegs=C001 {rax r14 r15}, byrefRegs=0008 {rbx}, byref
-       ; gcrRegs +[rax]
-       mov      rdi, r14
-       ; gcrRegs +[rdi]
-       mov      rsi, rax
-       ; gcrRegs +[rsi]
-       call     [<unknown method>]
-       ; gcrRegs -[rax rsi rdi]
-                       ;; size=12 bbWeight=0.17 PerfScore 0.61
-G_M26637_IG08:        ; bbWeight=8, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref, isz
+                       ;; size=22 bbWeight=1.83 PerfScore 7.30
+G_M26637_IG07:        ; bbWeight=8, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref, isz
        mov      rdi, rbx
        ; byrRegs +[rdi]
        call     [System.Text.Json.Utf8JsonReader:Read():ubyte:this]
        ; byrRegs -[rdi]
        test     eax, eax
-       je       SHORT G_M26637_IG10
+       je       SHORT G_M26637_IG09
                      ;; size=13 bbWeight=8 PerfScore 36.00
-G_M26637_IG09:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref, isz
+G_M26637_IG08:        ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, byref, isz
        cmp      byte  ptr [rbx+0x28], 5
        je       SHORT G_M26637_IG03
                        ;; size=6 bbWeight=4 PerfScore 16.00
-G_M26637_IG10:        ; bbWeight=1, gcrefRegs=4000 {r14}, byrefRegs=0008 {rbx}, byref
+G_M26637_IG09:        ; bbWeight=1, gcrefRegs=4000 {r14}, byrefRegs=0008 {rbx}, byref
        ; gcrRegs -[r15]
        mov      rdi, rbx
        ; byrRegs +[rdi]
@@ -142,18 +131,28 @@ G_M26637_IG10:        ; bbWeight=1, gcrefRegs=4000 {r14}, byrefRegs=0008 {rbx},
        mov      rax, r14
        ; gcrRegs +[rax]
                        ;; size=12 bbWeight=1 PerfScore 3.50
-G_M26637_IG11:        ; bbWeight=1, epilog, nogc, extend
+G_M26637_IG10:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 8
        pop      rbx
-       pop      r12
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=15 bbWeight=1 PerfScore 4.25
-G_M26637_IG12:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs -[rax r14]
+                      ;; size=11 bbWeight=1 PerfScore 3.25
+G_M26637_IG11:        ; bbWeight=0.17, gcVars=0000000000000000 {}, gcrefRegs=C001 {rax r14 r15}, byrefRegs=0008 {rbx}, gcvars, byref, isz
+       ; gcrRegs +[r15]
+       ; byrRegs +[rbx]
+       mov      rdi, r14
+       ; gcrRegs +[rdi]
+       mov      rsi, rax
+       ; gcrRegs +[rsi]
+       call     [<unknown method>]
+       ; gcrRegs -[rax rsi rdi]
+       jmp      SHORT G_M26637_IG07
+                       ;; size=14 bbWeight=0.17 PerfScore 0.96
+G_M26637_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[r14-r15]
+       ; byrRegs -[rbx]
        mov      rdi, 0xD1FFAB1E      ; <unknown class>
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
@@ -184,7 +183,7 @@ G_M26637_IG12:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=80 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 327, prolog size 16, PerfScore 140.90, instruction count 85, allocated bytes for code 327 (MethodHash=1f5097f2) for method Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
+; Total bytes of code 310, prolog size 12, PerfScore 132.77, instruction count 81, allocated bytes for code 310 (MethodHash=1f5097f2) for method Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -192,15 +191,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0B
-  CountOfUnwindCodes: 7
+  SizeOfProlog      : 0x07
+  CountOfUnwindCodes: 5
   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: 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)
  
-5 (-4.50%) : 39752.dasm - System.Runtime.Serialization.ObjectHolderListEnumerator:MoveNext():ubyte:this (FullOpts)
@@ -9,21 +9,21 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T02] (  9, 16.50)     ref  ->  rdi         this class-hnd single-def <System.Runtime.Serialization.ObjectHolderListEnumerator>
-;  V01 loc0         [V01,T07] (  3, 12   )     int  ->  rcx        
+;  V01 loc0         [V01,T07] (  3, 12   )     int  ->  rax        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V04 tmp2         [V04    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V05 tmp3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Runtime.Serialization.ObjectHolderList>
 ;* V06 tmp4         [V06,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V07 tmp5         [V07,T04] (  2, 16   )     ref  ->  rcx         class-hnd exact "Inlining Arg" <System.Runtime.Serialization.ObjectHolder>
+;  V07 tmp5         [V07,T04] (  2, 16   )     ref  ->  rax         class-hnd exact "Inlining Arg" <System.Runtime.Serialization.ObjectHolder>
 ;* V08 tmp6         [V08,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V09 tmp7         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Runtime.Serialization.ObjectHolderList>
 ;* V10 tmp8         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Runtime.Serialization.ObjectHolderList>
-;  V11 tmp9         [V11,T00] (  3, 24   )     ref  ->  rcx         "arr expr"
+;  V11 tmp9         [V11,T00] (  3, 24   )     ref  ->  rax         "arr expr"
 ;  V12 tmp10        [V12,T01] (  3, 24   )     int  ->  rsi         "index expr"
-;  V13 cse0         [V13,T06] (  4, 16   )     int  ->  rax         "CSE - aggressive"
+;  V13 cse0         [V13,T06] (  4, 16   )     int  ->  rcx         "CSE - aggressive"
 ;  V14 cse1         [V14,T10] (  3,  1.50)     int  ->  rax         "CSE - moderate"
-;  V15 cse2         [V15,T03] (  5, 16   )     int  ->  rcx         "CSE - aggressive"
+;  V15 cse2         [V15,T03] (  5, 16   )     int  ->  rax         "CSE - aggressive"
 ;  V16 cse3         [V16,T05] (  6, 17   )     ref  ->  rdx         multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 0
@@ -38,43 +38,43 @@ G_M24724_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byr
        je       SHORT G_M24724_IG09
                        ;; size=6 bbWeight=1 PerfScore 4.00
 G_M24724_IG03:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
-       mov      eax, dword ptr [rdi+0x14]
-       inc      eax
-       mov      ecx, eax
-       mov      dword ptr [rdi+0x14], ecx
+       mov      ecx, dword ptr [rdi+0x14]
+       inc      ecx
+       mov      eax, ecx
+       mov      dword ptr [rdi+0x14], eax
        mov      rdx, gword ptr [rdi+0x08]
        ; gcrRegs +[rdx]
-       cmp      ecx, dword ptr [rdx+0x10]
+       cmp      eax, dword ptr [rdx+0x10]
        jge      SHORT G_M24724_IG07
-       mov      rcx, gword ptr [rdx+0x08]
-       ; gcrRegs +[rcx]
-       mov      esi, eax
-       cmp      esi, dword ptr [rcx+0x08]
+       mov      rax, gword ptr [rdx+0x08]
+       ; gcrRegs +[rax]
+       mov      esi, ecx
+       cmp      esi, dword ptr [rax+0x08]
        jae      SHORT G_M24724_IG11
-       mov      rcx, gword ptr [rcx+8*rsi+0x10]
-       mov      ecx, dword ptr [rcx+0x58]
-       ; gcrRegs -[rcx]
-       test     cl, 4
+       mov      rax, gword ptr [rax+8*rsi+0x10]
+       mov      eax, dword ptr [rax+0x58]
+       ; gcrRegs -[rax]
+       test     al, 4
        jne      SHORT G_M24724_IG05
-                     ;; size=43 bbWeight=4 PerfScore 84.00
+                     ;; size=42 bbWeight=4 PerfScore 84.00
 G_M24724_IG04:        ; bbWeight=2, gcrefRegs=0084 {rdx rdi}, byrefRegs=0000 {}, byref, isz
-       test     cl, 2
+       test     al, 2
        je       SHORT G_M24724_IG06
-                     ;; size=5 bbWeight=2 PerfScore 2.50
+                       ;; size=4 bbWeight=2 PerfScore 2.50
 G_M24724_IG05:        ; bbWeight=2, gcrefRegs=0084 {rdx rdi}, byrefRegs=0000 {}, byref, isz
-       test     ecx, 0x4000
+       test     eax, 0x4000
        je       SHORT G_M24724_IG07
-                       ;; size=8 bbWeight=2 PerfScore 2.50
+                       ;; size=7 bbWeight=2 PerfScore 2.50
 G_M24724_IG06:        ; bbWeight=4, gcrefRegs=0084 {rdx rdi}, byrefRegs=0000 {}, byref, isz
-       test     cl, 1
+       test     al, 1
        je       SHORT G_M24724_IG03
-                       ;; size=5 bbWeight=4 PerfScore 5.00
+                       ;; size=4 bbWeight=4 PerfScore 5.00
 G_M24724_IG07:        ; bbWeight=4, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
-       cmp      eax, dword ptr [rdx+0x10]
+       xor      eax, eax
+       cmp      ecx, dword ptr [rdx+0x10]
        setne    al
-       movzx    rax, al
-                       ;; size=9 bbWeight=4 PerfScore 17.00
+                      ;; size=8 bbWeight=4 PerfScore 17.00
 G_M24724_IG08:        ; bbWeight=4, epilog, nogc, extend
        pop      rbp
        ret      
@@ -101,7 +101,7 @@ G_M24724_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 111, prolog size 4, PerfScore 127.75, instruction count 41, allocated bytes for code 111 (MethodHash=ab819f6b) for method System.Runtime.Serialization.ObjectHolderListEnumerator:MoveNext():ubyte:this (FullOpts)
+; Total bytes of code 106, prolog size 4, PerfScore 127.75, instruction count 41, allocated bytes for code 106 (MethodHash=ab819f6b) for method System.Runtime.Serialization.ObjectHolderListEnumerator:MoveNext():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
-37 (-4.07%) : 46128.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:CanBePassedByReference(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
@@ -12,11 +12,11 @@
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <Microsoft.CodeAnalysis.CSharp.BoundEventAccess>
 ;* V02 loc1         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <Microsoft.CodeAnalysis.CSharp.BoundFieldAccess>
 ;* V03 loc2         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <Microsoft.CodeAnalysis.CSharp.BoundIndexOrRangePatternIndexerAccess>
-;  V04 loc3         [V04,T03] ( 18, 26   )   ubyte  ->  r14        
+;  V04 loc3         [V04,T03] ( 18, 26   )   ubyte  ->  rdi        
 ;  V05 loc4         [V05,T21] (  4,  2   )     ref  ->  rax         class-hnd <Microsoft.CodeAnalysis.CSharp.Symbols.PropertySymbol>
 ;  V06 loc5         [V06,T22] (  4,  2   )     ref  ->  rax         class-hnd <Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol>
 ;  V07 loc6         [V07,T36] (  3,  1.50)   ubyte  ->  rax        
-;  V08 loc7         [V08,T35] (  3,  1.50)     ref  ->  r12         class-hnd <Microsoft.CodeAnalysis.CSharp.Symbol>
+;  V08 loc7         [V08,T35] (  3,  1.50)     ref  ->  r13         class-hnd <Microsoft.CodeAnalysis.CSharp.Symbol>
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V10 tmp1         [V10,T24] (  3,  2   )    long  ->  rdi         "fgMakeTemp is creating a new local variable"
 ;  V11 tmp2         [V11,T23] (  3,  2   )     ref  ->  r15         class-hnd single-def "spilling QMark2" <Microsoft.CodeAnalysis.CSharp.BoundIndexOrRangePatternIndexerAccess>
@@ -38,7 +38,7 @@
 ;  V27 tmp18        [V27,T34] (  2,  2   )     ref  ->  rax         class-hnd single-def "spilling QMark2" <Microsoft.CodeAnalysis.CSharp.BoundConditionalOperator>
 ;  V28 tmp19        [V28,T01] (  4, 40   )     ref  ->  rax         class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.ConstantValue>
 ;  V29 tmp20        [V29,T17] (  2,  4   )   ubyte  ->  rax         "Inline return value spill temp"
-;  V30 tmp21        [V30,T16] (  7,  7   )     int  ->  r12         "Single return block return value"
+;  V30 tmp21        [V30,T16] (  7,  7   )     int  ->  r13         "Single return block return value"
 ;  V31 tmp22        [V31,T18] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V32 tmp23        [V32,T12] (  3, 12   )     ref  ->  rdi         "argument with side effect"
 ;  V33 tmp24        [V33,T15] (  2,  8   )     ref  ->  rbx         single-def "arg temp"
@@ -48,22 +48,20 @@
 ;  V37 tmp28        [V37,T11] (  2, 16   )     ref  ->  rbx         single-def "arg temp"
 ;  V38 tmp29        [V38,T20] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V39 cse0         [V39,T02] ( 11, 29   )    long  ->  r15         "CSE - aggressive"
-;  V40 rat0         [V40,T13] (  3, 12   )     int  ->  r13         "ReplaceWithLclVar is creating a new local variable"
+;  V40 rat0         [V40,T13] (  3, 12   )     int  ->  r14         "ReplaceWithLclVar is creating a new local variable"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M43802_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]
+       lea      rbp, [rsp+0x20]
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=19 bbWeight=1 PerfScore 7.75
+                      ;; size=16 bbWeight=1 PerfScore 5.75
 G_M43802_IG02:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rdi, rbx
        ; gcrRegs +[rdi]
@@ -88,26 +86,26 @@ G_M43802_IG03:        ; bbWeight=2, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {},
        je       G_M43802_IG27
                        ;; size=22 bbWeight=2 PerfScore 17.50
 G_M43802_IG04:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       movzx    r14, byte  ptr [rbx+0x12]
-       cmp      r14d, 40
+       movzx    rdi, byte  ptr [rbx+0x12]
+       cmp      edi, 40
        jbe      G_M43802_IG11
-       cmp      r14d, 104
+       cmp      edi, 104
        jbe      G_M43802_IG13
-       cmp      r14d, 143
+       cmp      edi, 143
        ja       SHORT G_M43802_IG07
-                       ;; size=34 bbWeight=4 PerfScore 23.00
+                     ;; size=31 bbWeight=4 PerfScore 23.00
 G_M43802_IG05:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       cmp      r14d, 133
+       cmp      edi, 133
        je       G_M43802_IG10
-                     ;; size=13 bbWeight=2 PerfScore 2.50
+                      ;; size=12 bbWeight=2 PerfScore 2.50
 G_M43802_IG06:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        jmp      G_M43802_IG14
                        ;; size=5 bbWeight=0.50 PerfScore 1.00
 G_M43802_IG07:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       lea      r13d, [r14-0xA7]
-       cmp      r13d, 5
+       lea      r14d, [rdi-0xA7]
+       cmp      r14d, 5
        ja       G_M43802_IG15
-       mov      edi, r13d
+       mov      edi, r14d
        lea      rax, [reloc @RWD00]
        mov      eax, dword ptr [rax+4*rdi]
        lea      rcx, G_M43802_IG02
@@ -154,40 +152,40 @@ G_M43802_IG10:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        jmp      G_M43802_IG02
                        ;; size=28 bbWeight=4 PerfScore 22.00
 G_M43802_IG11:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       cmp      r14d, 27
+       cmp      edi, 27
        ja       SHORT G_M43802_IG12
-       cmp      r14d, 4
+       cmp      edi, 4
        je       G_M43802_IG16
-       lea      edi, [r14-0x16]
-       cmp      edi, 1
+       lea      eax, [rdi-0x16]
+       cmp      eax, 1
        jbe      G_M43802_IG16
-       cmp      r14d, 27
+       cmp      edi, 27
        je       G_M43802_IG16
        jmp      G_M43802_IG27
-                        ;; size=44 bbWeight=0.50 PerfScore 3.75
+                       ;; size=40 bbWeight=0.50 PerfScore 3.75
 G_M43802_IG12:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       cmp      r14d, 34
+       cmp      edi, 34
        je       G_M43802_IG18
-       cmp      r14d, 39
+       cmp      edi, 39
        je       G_M43802_IG19
-       cmp      r14d, 40
+       cmp      edi, 40
        je       SHORT G_M43802_IG16
        jmp      G_M43802_IG27
-                        ;; size=31 bbWeight=0.50 PerfScore 2.88
+                       ;; size=28 bbWeight=0.50 PerfScore 2.88
 G_M43802_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx]
-       cmp      r14d, 97
+       cmp      edi, 97
        je       SHORT G_M43802_IG16
-       lea      edi, [r14-0x65]
-       cmp      edi, 1
+       lea      eax, [rdi-0x65]
+       cmp      eax, 1
        jbe      SHORT G_M43802_IG16
-       cmp      r14d, 104
+       cmp      edi, 104
        je       SHORT G_M43802_IG16
        jmp      G_M43802_IG27
-                        ;; size=26 bbWeight=0.50 PerfScore 3.12
+                       ;; size=23 bbWeight=0.50 PerfScore 3.12
 G_M43802_IG14:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rbx]
-       cmp      r14d, 143
+       cmp      edi, 143
        jne      G_M43802_IG27
        mov      rdi, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.BoundCall
        cmp      r15, rdi
@@ -199,28 +197,26 @@ G_M43802_IG14:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      rax, qword ptr [rax+0xE0]
        call     [rax+0x30]<unknown method>
        ; gcrRegs -[rbx rdi]
-       xor      r12d, r12d
+       xor      r13d, r13d
        test     eax, eax
-       setne    r12b
+       setne    r13b
        jmp      G_M43802_IG24
-                     ;; size=66 bbWeight=0.50 PerfScore 7.75
+                       ;; size=65 bbWeight=0.50 PerfScore 7.75
 G_M43802_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       cmp      r14d, 193
+       cmp      edi, 193
        jne      G_M43802_IG27
-                       ;; size=13 bbWeight=0.50 PerfScore 0.62
+                       ;; size=12 bbWeight=0.50 PerfScore 0.62
 G_M43802_IG16:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      eax, 1
                        ;; size=5 bbWeight=0.50 PerfScore 0.12
 G_M43802_IG17:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 8
        pop      rbx
-       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=15 bbWeight=0.50 PerfScore 2.12
+                       ;; size=9 bbWeight=0.50 PerfScore 1.75
 G_M43802_IG18:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rbx]
        mov      rdi, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.BoundAssignmentOperator
@@ -228,7 +224,7 @@ G_M43802_IG18:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
        jne      G_M43802_IG33
        mov      rax, rbx
        ; gcrRegs +[rax]
-       movzx    r12, byte  ptr [rax+0x30]
+       movzx    r13, byte  ptr [rax+0x30]
        jmp      G_M43802_IG24
                        ;; size=32 bbWeight=0.50 PerfScore 2.88
 G_M43802_IG19:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
@@ -238,7 +234,7 @@ G_M43802_IG19:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        jne      G_M43802_IG34
        mov      rax, rbx
        ; gcrRegs +[rax]
-       movzx    r12, byte  ptr [rax+0x48]
+       movzx    r13, byte  ptr [rax+0x48]
        jmp      G_M43802_IG24
                        ;; size=32 bbWeight=0.50 PerfScore 2.88
 G_M43802_IG20:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
@@ -253,9 +249,9 @@ G_M43802_IG20:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      rax, qword ptr [rax+0xB0]
        call     [rax+0x08]<unknown method>
        ; gcrRegs -[rbx rdi]
-       xor      r12d, r12d
+       xor      r13d, r13d
        test     eax, eax
-       setne    r12b
+       setne    r13b
        jmp      G_M43802_IG24
                        ;; size=53 bbWeight=0.50 PerfScore 7.12
 G_M43802_IG21:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
@@ -270,9 +266,9 @@ G_M43802_IG21:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      rax, qword ptr [rax+0xB0]
        call     [rax+0x08]<unknown method>
        ; gcrRegs -[rbx rdi]
-       xor      r12d, r12d
+       xor      r13d, r13d
        test     eax, eax
-       setne    r12b
+       setne    r13b
        jmp      SHORT G_M43802_IG24
                        ;; size=50 bbWeight=0.50 PerfScore 7.12
 G_M43802_IG22:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
@@ -282,20 +278,20 @@ G_M43802_IG22:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        jne      G_M43802_IG37
        mov      r15, rbx
        ; gcrRegs +[r15]
-       mov      r12, gword ptr [r15+0x30]
-       ; gcrRegs +[r12]
-       mov      rsi, r12
+       mov      r13, gword ptr [r15+0x30]
+       ; gcrRegs +[r13]
+       mov      rsi, r13
        ; gcrRegs +[rsi]
        mov      rdi, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Symbols.PropertySymbol
        call     CORINFO_HELP_ISINSTANCEOFCLASS
        ; gcrRegs -[rbx rsi] +[rax]
        test     rax, rax
        jne      SHORT G_M43802_IG26
-       mov      rsi, r12
+       mov      rsi, r13
        ; gcrRegs +[rsi]
        mov      rdi, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol
        call     CORINFO_HELP_ISINSTANCEOFCLASS
-       ; gcrRegs -[rsi r12]
+       ; gcrRegs -[rsi r13]
        test     rax, rax
        je       G_M43802_IG38
        mov      rdi, rax
@@ -307,23 +303,21 @@ G_M43802_IG22:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcrRegs -[rdi r15]
                        ;; size=92 bbWeight=0.50 PerfScore 8.25
...
  
+28 (+9.49%) : 15029.dasm - Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
@@ -12,33 +12,35 @@
 ;  V01 arg0         [V01,T04] (  7,  5   )     int  ->  r15         single-def
 ;  V02 loc0         [V02,T05] (  5,  2.50)     int  ->  r14         single-def
 ;  V03 loc1         [V03,T01] ( 11,  8.04)     ref  ->  rsi         class-hnd single-def <ulong[]>
-;  V04 loc2         [V04,T02] ( 10,  8   )     int  ->  rdi         single-def
-;  V05 loc3         [V05,T07] (  3,  1.50)    long  ->  r13        
-;  V06 loc4         [V06,T08] (  3,  1.50)     int  ->  rax         single-def
-;  V07 loc5         [V07,T00] ( 10, 16.54)     int  ->  rax        
-;  V08 loc6         [V08,T09] (  3,  1.50)    long  ->  rax         single-def
+;  V04 loc2         [V04,T02] ( 10,  8   )     int  ->  r13         single-def
+;  V05 loc3         [V05,T07] (  3,  1.50)    long  ->  r12        
+;  V06 loc4         [V06,T08] (  3,  1.50)     int  ->  rdi         single-def
+;  V07 loc5         [V07,T00] ( 10, 16.54)     int  ->  rdi        
+;  V08 loc6         [V08,T09] (  3,  1.50)    long  ->  rdi         single-def
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V10 tmp1         [V10,T06] (  3,  1.50)     ref  ->  rax        
 ;* V11 tmp2         [V11    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.BitVector>
 ;  V12 tmp3         [V12,T11] (  2,  1   )     int  ->  r14         "Inline return value spill temp"
 ;* V13 tmp4         [V13    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;  V14 tmp5         [V14,T10] (  2,  1   )     ref  ->  rsi         single-def "field V11._bits (fldOffset=0x0)" P-INDEP
-;  V15 tmp6         [V15,T12] (  2,  1   )    long  ->  r13         single-def "field V11._bits0 (fldOffset=0x8)" P-INDEP
+;  V15 tmp6         [V15,T12] (  2,  1   )    long  ->  r12         single-def "field V11._bits0 (fldOffset=0x8)" P-INDEP
 ;  V16 tmp7         [V16,T13] (  2,  1   )     int  ->  r15         single-def "field V11._capacity (fldOffset=0x10)" P-INDEP
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M40875_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
        push     r13
+       push     r12
        push     rbx
-       lea      rbp, [rsp+0x20]
+       push     rax
+       lea      rbp, [rsp+0x30]
        mov      rbx, rdi
        ; byrRegs +[rbx]
        mov      r15d, esi
-                        ;; size=19 bbWeight=1 PerfScore 6.00
+                      ;; size=22 bbWeight=1 PerfScore 8.00
 G_M40875_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
        test     r15d, r15d
        jne      SHORT G_M40875_IG05
@@ -59,13 +61,15 @@ G_M40875_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx},
        ; byrRegs +[rax]
                        ;; size=32 bbWeight=0.50 PerfScore 3.00
 G_M40875_IG04:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
        pop      rbx
+       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=9 bbWeight=0.50 PerfScore 1.75
+                        ;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M40875_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, gcvars, byref, isz
        ; byrRegs -[rax rsi rdi]
        lea      r14d, [r15-0x01]
@@ -90,82 +94,84 @@ G_M40875_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx},
 G_M40875_IG07:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0008 {rbx}, byref, isz
        mov      rsi, rax
        ; gcrRegs +[rsi]
-       lea      edi, [r14-0x01]
-       mov      r13, -1
-       xor      eax, eax
-       ; gcrRegs -[rax]
-       test     edi, edi
+       lea      r13d, [r14-0x01]
+       mov      r12, -1
+       xor      edi, edi
+       test     r13d, r13d
        jle      SHORT G_M40875_IG11
        test     rsi, rsi
        je       SHORT G_M40875_IG10
-       cmp      dword ptr [rsi+0x08], edi
+       cmp      dword ptr [rsi+0x08], r13d
        jl       SHORT G_M40875_IG10
-                        ;; size=33 bbWeight=0.50 PerfScore 3.88
+                       ;; size=35 bbWeight=0.50 PerfScore 3.88
 G_M40875_IG08:        ; bbWeight=3.96, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
-       mov      ecx, eax
-       mov      qword ptr [rsi+8*rcx+0x10], -1
-       inc      eax
-       cmp      eax, edi
+       ; gcrRegs -[rax]
+       mov      eax, edi
+       mov      qword ptr [rsi+8*rax+0x10], -1
+       inc      edi
+       cmp      edi, r13d
        jl       SHORT G_M40875_IG08
-                     ;; size=17 bbWeight=3.96 PerfScore 10.89
+                      ;; size=18 bbWeight=3.96 PerfScore 10.89
 G_M40875_IG09:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
        jmp      SHORT G_M40875_IG11
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
 G_M40875_IG10:        ; bbWeight=0.04, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
-       cmp      eax, dword ptr [rsi+0x08]
-       jae      SHORT G_M40875_IG16
-       mov      ecx, eax
-       mov      qword ptr [rsi+8*rcx+0x10], -1
-       inc      eax
-       cmp      eax, edi
-       jl       SHORT G_M40875_IG10
-                       ;; size=22 bbWeight=0.04 PerfScore 0.27
-G_M40875_IG11:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
-       mov      eax, r15d
-       and      eax, 63
-       jle      SHORT G_M40875_IG13
-       mov      rcx, -1
-       shlx     rax, rcx, rax
-       not      rax
-       test     edi, edi
-       jge      SHORT G_M40875_IG12
-       mov      r13, rax
-       jmp      SHORT G_M40875_IG14
-                       ;; size=35 bbWeight=0.50 PerfScore 3.00
-G_M40875_IG12:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
        cmp      edi, dword ptr [rsi+0x08]
-       jae      SHORT G_M40875_IG16
-       mov      edi, edi
-       mov      qword ptr [rsi+8*rdi+0x10], rax
+       jae      G_M40875_IG16
+       mov      eax, edi
+       mov      qword ptr [rsi+8*rax+0x10], -1
+       inc      edi
+       cmp      edi, r13d
+       jl       SHORT G_M40875_IG10
+                       ;; size=27 bbWeight=0.04 PerfScore 0.27
+G_M40875_IG11:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
+       mov      edi, r15d
+       and      edi, 63
+       jle      SHORT G_M40875_IG13
+       mov      rax, -1
+       shlx     rdi, rax, rdi
+       not      rdi
+       test     r13d, r13d
+       jge      SHORT G_M40875_IG12
+       mov      r12, rdi
        jmp      SHORT G_M40875_IG14
-                      ;; size=14 bbWeight=0.50 PerfScore 3.62
+                       ;; size=36 bbWeight=0.50 PerfScore 3.00
+G_M40875_IG12:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
+       cmp      r13d, dword ptr [rsi+0x08]
+       jae      SHORT G_M40875_IG16
+       mov      eax, r13d
+       mov      qword ptr [rsi+8*rax+0x10], rdi
+       jmp      SHORT G_M40875_IG14
+                       ;; size=16 bbWeight=0.50 PerfScore 3.62
 G_M40875_IG13:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
        test     r14d, r14d
        jle      SHORT G_M40875_IG14
-       cmp      edi, dword ptr [rsi+0x08]
+       cmp      r13d, dword ptr [rsi+0x08]
        jae      SHORT G_M40875_IG16
-       mov      edi, edi
+       mov      edi, r13d
        mov      qword ptr [rsi+8*rdi+0x10], -1
-                     ;; size=21 bbWeight=0.50 PerfScore 3.25
+                       ;; size=23 bbWeight=0.50 PerfScore 3.25
 G_M40875_IG14:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref
        mov      rdi, rbx
        ; byrRegs +[rdi]
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        ; gcrRegs -[rsi]
        ; byrRegs -[rdi]
-       mov      qword ptr [rbx+0x08], r13
+       mov      qword ptr [rbx+0x08], r12
        mov      dword ptr [rbx+0x10], r15d
        mov      rax, rbx
        ; byrRegs +[rax]
                        ;; size=19 bbWeight=0.50 PerfScore 1.75
 G_M40875_IG15:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
        pop      rbx
+       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=9 bbWeight=0.50 PerfScore 1.75
+                        ;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M40875_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; byrRegs -[rax rbx]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -173,7 +179,7 @@ G_M40875_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 295, prolog size 19, PerfScore 44.78, instruction count 93, allocated bytes for code 295 (MethodHash=4a676054) for method Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
+; Total bytes of code 323, prolog size 22, PerfScore 47.53, instruction count 99, allocated bytes for code 323 (MethodHash=4a676054) for method Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -181,12 +187,14 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x08
-  CountOfUnwindCodes: 5
+  SizeOfProlog      : 0x0B
+  CountOfUnwindCodes: 7
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    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: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
  
+27 (+10.04%) : 170823.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
@@ -11,35 +11,37 @@
 ;  V00 this         [V00,T10] (  8,  5   )     ref  ->  rbx         this class-hnd single-def <System.Xml.Xsl.Runtime.XmlStringSortKey>
 ;  V01 arg1         [V01,T11] (  4,  3.50)     ref  ->  rsi         class-hnd single-def <System.Object>
 ;  V02 loc0         [V02,T13] (  7,  4.25)     ref  ->  r15         class-hnd exact <System.Xml.Xsl.Runtime.XmlStringSortKey>
-;  V03 loc1         [V03,T00] (  7, 24.50)     int  ->  rcx        
-;  V04 loc2         [V04,T12] (  3,  5   )     int  ->  rax        
+;  V03 loc1         [V03,T00] (  7, 24.50)     int  ->  rsi        
+;  V04 loc2         [V04,T12] (  3,  5   )     int  ->  rdi        
 ;  V05 loc3         [V05,T14] (  6,  3   )     int  ->  rax        
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Xml.Xsl.Runtime.XmlStringSortKey>
-;  V08 tmp2         [V08,T17] (  3,  1.50)     int  ->  rax        
+;  V08 tmp2         [V08,T17] (  3,  1.50)     int  ->  rdi        
 ;  V09 tmp3         [V09,T18] (  2,  1   )     int  ->  rax         "Inline return value spill temp"
-;  V10 tmp4         [V10,T01] (  3, 24   )     ref  ->  rdx         "arr expr"
-;  V11 tmp5         [V11,T02] (  3, 24   )     ref  ->   r9         "arr expr"
+;  V10 tmp4         [V10,T01] (  3, 24   )     ref  ->  rax         "arr expr"
+;  V11 tmp5         [V11,T02] (  3, 24   )     ref  ->  rdx         "arr expr"
 ;* V12 tmp6         [V12,T08] (  0,  0   )     ref  ->  zero-ref    "arr expr"
 ;* V13 tmp7         [V13,T09] (  0,  0   )     ref  ->  zero-ref    "arr expr"
-;  V14 cse0         [V14,T03] (  3, 12   )     int  ->  rdx         "CSE - aggressive"
-;  V15 cse1         [V15,T04] (  3, 12   )     int  ->   r8         "CSE - aggressive"
-;  V16 cse2         [V16,T06] (  6,  6.50)     ref  ->  rdi         "CSE - aggressive"
-;  V17 cse3         [V17,T07] (  6,  6.50)     ref  ->  rsi         "CSE - aggressive"
+;  V14 cse0         [V14,T03] (  3, 12   )     int  ->  rax         "CSE - aggressive"
+;  V15 cse1         [V15,T04] (  3, 12   )     int  ->  rcx         "CSE - aggressive"
+;  V16 cse2         [V16,T06] (  6,  6.50)     ref  ->  r14         "CSE - aggressive"
+;  V17 cse3         [V17,T07] (  6,  6.50)     ref  ->  r13         "CSE - aggressive"
 ;  V18 cse4         [V18,T16] (  3,  1.50)     ref  ->  rdi         "CSE - moderate"
 ;  V19 cse5         [V19,T15] (  4,  2   )     ref  ->  rdi         "CSE - moderate"
-;  V20 cse6         [V20,T05] (  3, 12   )    long  ->   r8         "CSE - aggressive"
+;  V20 cse6         [V20,T05] (  3, 12   )    long  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M15280_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
+       push     r14
+       push     r13
        push     rbx
-       lea      rbp, [rsp+0x10]
+       lea      rbp, [rsp+0x20]
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=12 bbWeight=1 PerfScore 3.75
+                      ;; size=16 bbWeight=1 PerfScore 5.75
 G_M15280_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rsi]
        mov      r15, rsi
@@ -59,11 +61,13 @@ G_M15280_IG04:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
                        ;; size=3 bbWeight=0.50 PerfScore 0.12
 G_M15280_IG05:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbx
+       pop      r13
+       pop      r14
        pop      r15
        pop      rbp
        tail.jmp [System.Xml.Xsl.Runtime.XmlSortKey:CompareToEmpty(System.Object):int:this]
        ; gcr arg pop 0
-                       ;; size=10 bbWeight=0.50 PerfScore 1.75
+                       ;; size=14 bbWeight=0.50 PerfScore 2.25
 G_M15280_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rsi rdi] +[r15]
        mov      rdi, gword ptr [rbx+0x18]
@@ -78,50 +82,50 @@ G_M15280_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=800
        jmp      SHORT G_M15280_IG15
                        ;; size=21 bbWeight=0.50 PerfScore 5.12
 G_M15280_IG07:        ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
-       mov      rdi, gword ptr [rbx+0x20]
-       ; gcrRegs +[rdi]
-       mov      eax, dword ptr [rdi+0x08]
-       mov      rsi, gword ptr [r15+0x20]
-       ; gcrRegs +[rsi]
-       cmp      eax, dword ptr [rsi+0x08]
+       mov      r14, gword ptr [rbx+0x20]
+       ; gcrRegs +[r14]
+       mov      eax, dword ptr [r14+0x08]
+       mov      r13, gword ptr [r15+0x20]
+       ; gcrRegs +[r13]
+       cmp      eax, dword ptr [r13+0x08]
        jl       SHORT G_M15280_IG08
-       mov      eax, dword ptr [rsi+0x08]
+       mov      edi, dword ptr [r13+0x08]
        jmp      SHORT G_M15280_IG09
-                        ;; size=21 bbWeight=0.50 PerfScore 7.00
-G_M15280_IG08:        ; bbWeight=0.50, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref
-       mov      eax, dword ptr [rdi+0x08]
-                       ;; size=3 bbWeight=0.50 PerfScore 1.00
-G_M15280_IG09:        ; bbWeight=0.50, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref, isz
-       xor      ecx, ecx
-       test     eax, eax
+                     ;; size=24 bbWeight=0.50 PerfScore 7.00
+G_M15280_IG08:        ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+       mov      edi, dword ptr [r14+0x08]
+                       ;; size=4 bbWeight=0.50 PerfScore 1.00
+G_M15280_IG09:        ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+       xor      esi, esi
+       test     edi, edi
        jle      SHORT G_M15280_IG14
                        ;; size=6 bbWeight=0.50 PerfScore 0.75
-G_M15280_IG10:        ; bbWeight=4, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref, isz
-       mov      rdx, rdi
+G_M15280_IG10:        ; bbWeight=4, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+       mov      rax, r14
+       ; gcrRegs +[rax]
+       cmp      esi, dword ptr [rax+0x08]
+       jae      G_M15280_IG24
+       mov      ecx, esi
+       movzx    rax, byte  ptr [rax+rcx+0x10]
+       ; gcrRegs -[rax]
+       mov      rdx, r13
        ; gcrRegs +[rdx]
-       cmp      ecx, dword ptr [rdx+0x08]
+       cmp      esi, dword ptr [rdx+0x08]
        jae      G_M15280_IG24
-       mov      r8d, ecx
-       movzx    rdx, byte  ptr [rdx+r8+0x10]
-       ; gcrRegs -[rdx]
-       mov      r9, rsi
-       ; gcrRegs +[r9]
-       cmp      ecx, dword ptr [r9+0x08]
-       jae      G_M15280_IG24
-       movzx    r8, byte  ptr [r9+r8+0x10]
-       cmp      edx, r8d
+       movzx    rcx, byte  ptr [rdx+rcx+0x10]
+       cmp      eax, ecx
        jl       SHORT G_M15280_IG12
        jg       SHORT G_M15280_IG13
-       inc      ecx
-       cmp      ecx, eax
+       inc      esi
+       cmp      esi, edi
        jl       SHORT G_M15280_IG10
-                      ;; size=53 bbWeight=4 PerfScore 66.00
-G_M15280_IG11:        ; bbWeight=0.50, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[r9]
+                       ;; size=48 bbWeight=4 PerfScore 66.00
+G_M15280_IG11:        ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rdx]
        jmp      SHORT G_M15280_IG14
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
 G_M15280_IG12:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rsi rdi r15]
+       ; gcrRegs -[r13-r15]
        mov      eax, -1
        jmp      SHORT G_M15280_IG20
                        ;; size=7 bbWeight=0.50 PerfScore 1.12
@@ -129,18 +133,18 @@ G_M15280_IG13:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      eax, 1
        jmp      SHORT G_M15280_IG20
                        ;; size=7 bbWeight=0.50 PerfScore 1.12
-G_M15280_IG14:        ; bbWeight=0.50, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs +[rsi rdi r15]
-       mov      eax, dword ptr [rdi+0x08]
-       cmp      eax, dword ptr [rsi+0x08]
+G_M15280_IG14:        ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[r13-r15]
+       mov      eax, dword ptr [r14+0x08]
+       cmp      eax, dword ptr [r13+0x08]
        jl       SHORT G_M15280_IG12
-       mov      eax, dword ptr [rdi+0x08]
-       cmp      eax, dword ptr [rsi+0x08]
+       mov      eax, dword ptr [r14+0x08]
+       cmp      eax, dword ptr [r13+0x08]
        jg       SHORT G_M15280_IG13
        jmp      SHORT G_M15280_IG16
-                      ;; size=18 bbWeight=0.50 PerfScore 7.00
+                       ;; size=22 bbWeight=0.50 PerfScore 7.00
 G_M15280_IG15:        ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rsi rdi]
+       ; gcrRegs -[r13-r14]
        test     eax, eax
        jne      SHORT G_M15280_IG20
                        ;; size=4 bbWeight=0.50 PerfScore 0.62
@@ -156,10 +160,12 @@ G_M15280_IG16:        ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000
                        ;; size=20 bbWeight=0.50 PerfScore 4.62
 G_M15280_IG17:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbx
+       pop      r13
+       pop      r14
        pop      r15
        pop      rbp
        tail.jmp [rax+0x20]<unknown method>
-                     ;; size=8 bbWeight=0.50 PerfScore 1.75
+                        ;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M15280_IG18:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rsi rdi]
        mov      eax, dword ptr [rbx+0x10]
@@ -171,10 +177,12 @@ G_M15280_IG18:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=800
                        ;; size=22 bbWeight=0.50 PerfScore 3.00
 G_M15280_IG19:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbx
+       pop      r13
+       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=5 bbWeight=0.50 PerfScore 1.25
+                        ;; size=9 bbWeight=0.50 PerfScore 1.75
 G_M15280_IG20:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[r15]
        cmp      byte  ptr [rbx+0x14], 0
@@ -182,27 +190,31 @@ G_M15280_IG20:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
                        ;; size=6 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG21:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbx
+       pop      r13
+       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=5 bbWeight=0.50 PerfScore 1.25
+                        ;; size=9 bbWeight=0.50 PerfScore 1.75
 G_M15280_IG22:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rbx]
        neg      eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M15280_IG23:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbx
+       pop      r13
+       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=5 bbWeight=0.50 PerfScore 1.25
+                        ;; size=9 bbWeight=0.50 PerfScore 1.75
 G_M15280_IG24:        ; 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 269, prolog size 12, PerfScore 114.19, instruction count 95, allocated bytes for code 269 (MethodHash=95cfc44f) for method System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
+; Total bytes of code 296, prolog size 16, PerfScore 118.69, instruction count 107, allocated bytes for code 296 (MethodHash=95cfc44f) for method System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -210,11 +222,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x04
-  CountOfUnwindCodes: 3
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 5
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
...
  
+31 (+13.30%) : 148804.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
@@ -11,44 +11,46 @@
 ;  V00 arg0         [V00,T06] ( 10, 20.50)     ref  ->  rdi         class-hnd single-def <System.String>
 ;  V01 arg1         [V01,T00] ( 33, 83.50)     int  ->  rsi        
 ;  V02 arg2         [V02,T09] (  5,  3.50)   byref  ->  rdx         single-def
-;  V03 loc0         [V03,T15] (  3,  2   )     int  ->   r8         single-def
-;  V04 loc1         [V04,T16] (  2,  1   )     int  ->   r9         single-def
+;  V03 loc0         [V03,T15] (  3,  2   )     int  ->  rcx         single-def
+;  V04 loc1         [V04,T16] (  2,  1   )     int  ->  rax         single-def
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06,T10] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V07 tmp2         [V07,T02] (  3, 24   )  ushort  ->  rax         "Inlining Arg"
 ;* V08 tmp3         [V08,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp4         [V09,T03] (  3, 24   )  ushort  ->   r9         "Inlining Arg"
+;  V09 tmp4         [V09,T03] (  3, 24   )  ushort  ->   r8         "Inlining Arg"
 ;* V10 tmp5         [V10,T17] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V11 tmp6         [V11,T14] (  3,  3   )  ushort  ->  rax         "Inlining Arg"
+;  V11 tmp6         [V11,T14] (  3,  3   )  ushort  ->   r8         "Inlining Arg"
 ;* V12 tmp7         [V12,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V13 tmp8         [V13,T04] (  3, 24   )  ushort  ->  rax         "Inlining Arg"
+;  V13 tmp8         [V13,T04] (  3, 24   )  ushort  ->   r8         "Inlining Arg"
 ;* V14 tmp9         [V14,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V15 tmp10        [V15,T05] (  3, 24   )  ushort  ->  r10         "Inlining Arg"
-;  V16 cse0         [V16,T08] (  3, 12   )     int  ->  rax         "CSE - moderate"
-;  V17 cse1         [V17,T07] (  5, 13   )     int  ->  registers   multi-def "CSE - moderate"
-;  V18 cse2         [V18,T01] ( 13, 46.50)     int  ->  rcx         hoist "CSE - aggressive"
+;  V15 tmp10        [V15,T05] (  3, 24   )  ushort  ->   r9         "Inlining Arg"
+;  V16 cse0         [V16,T08] (  3, 12   )     int  ->   r8         "CSE - moderate"
+;  V17 cse1         [V17,T07] (  5, 13   )     int  ->   r8         multi-def "CSE - moderate"
+;  V18 cse2         [V18,T01] ( 13, 46.50)     int  ->  rbx         hoist "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M63854_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, 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_M63854_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
        ; gcrRegs +[rdi]
        ; byrRegs +[rdx]
-       mov      ecx, dword ptr [rdi+0x08]
+       mov      ebx, dword ptr [rdi+0x08]
        jmp      SHORT G_M63854_IG04
                        ;; size=5 bbWeight=1 PerfScore 4.00
 G_M63854_IG03:        ; bbWeight=2, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref
        inc      esi
                        ;; size=2 bbWeight=2 PerfScore 0.50
 G_M63854_IG04:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
-       cmp      ecx, esi
+       cmp      ebx, esi
        jle      SHORT G_M63854_IG06
                        ;; size=4 bbWeight=8 PerfScore 10.00
 G_M63854_IG05:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
-       cmp      esi, ecx
+       cmp      esi, ebx
        jae      G_M63854_IG23
        mov      eax, esi
        movzx    rax, word  ptr [rdi+2*rax+0x0C]
@@ -58,30 +60,30 @@ G_M63854_IG05:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx},
        je       SHORT G_M63854_IG03
                        ;; size=25 bbWeight=4 PerfScore 24.00
 G_M63854_IG06:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
-       mov      r8d, esi
+       mov      ecx, esi
        jmp      SHORT G_M63854_IG08
-                        ;; size=5 bbWeight=1 PerfScore 2.25
+                       ;; size=4 bbWeight=1 PerfScore 2.25
 G_M63854_IG07:        ; bbWeight=2, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref
        inc      esi
                        ;; size=2 bbWeight=2 PerfScore 0.50
 G_M63854_IG08:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
-       cmp      ecx, esi
+       cmp      ebx, esi
        jle      SHORT G_M63854_IG10
                        ;; size=4 bbWeight=8 PerfScore 10.00
 G_M63854_IG09:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
-       cmp      esi, ecx
+       cmp      esi, ebx
        jae      G_M63854_IG23
        mov      eax, esi
-       movzx    r9, word  ptr [rdi+2*rax+0x0C]
-       cmp      r9d, 61
+       movzx    r8, word  ptr [rdi+2*rax+0x0C]
+       cmp      r8d, 61
        je       SHORT G_M63854_IG10
-       cmp      r9d, 32
+       cmp      r8d, 32
        je       SHORT G_M63854_IG10
-       cmp      r9d, 9
+       cmp      r8d, 9
        jne      SHORT G_M63854_IG07
                        ;; size=34 bbWeight=4 PerfScore 29.00
 G_M63854_IG10:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
-       cmp      ecx, esi
+       cmp      ebx, esi
        jne      SHORT G_M63854_IG13
                        ;; size=4 bbWeight=4 PerfScore 5.00
 G_M63854_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {rdx}, byref
@@ -91,47 +93,49 @@ G_M63854_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {rdx},
        ; gcrRegs +[rax]
                        ;; size=4 bbWeight=0.50 PerfScore 0.62
 G_M63854_IG12:        ; 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_M63854_IG13:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, gcvars, byref, isz
        ; gcrRegs -[rax] +[rdi]
-       mov      r9d, esi
-       sub      r9d, r8d
-       cmp      esi, ecx
-       jae      SHORT G_M63854_IG23
        mov      eax, esi
-       movzx    rax, word  ptr [rdi+2*rax+0x0C]
-       cmp      eax, 32
+       sub      eax, ecx
+       cmp      esi, ebx
+       jae      G_M63854_IG23
+       mov      r8d, esi
+       movzx    r8, word  ptr [rdi+2*r8+0x0C]
+       cmp      r8d, 32
        je       SHORT G_M63854_IG15
-       cmp      eax, 9
+       cmp      r8d, 9
        jne      SHORT G_M63854_IG20
        jmp      SHORT G_M63854_IG15
-                      ;; size=29 bbWeight=0.50 PerfScore 4.25
+                       ;; size=35 bbWeight=0.50 PerfScore 4.25
 G_M63854_IG14:        ; bbWeight=2, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref
        inc      esi
                        ;; size=2 bbWeight=2 PerfScore 0.50
 G_M63854_IG15:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
-       cmp      ecx, esi
+       cmp      ebx, esi
        jle      SHORT G_M63854_IG16
-       cmp      esi, ecx
+       cmp      esi, ebx
        jae      SHORT G_M63854_IG23
-       mov      eax, esi
-       movzx    rax, word  ptr [rdi+2*rax+0x0C]
-       cmp      eax, 32
+       mov      r8d, esi
+       movzx    r8, word  ptr [rdi+2*r8+0x0C]
+       cmp      r8d, 32
        je       SHORT G_M63854_IG14
-       cmp      eax, 9
+       cmp      r8d, 9
        je       SHORT G_M63854_IG14
-                        ;; size=25 bbWeight=4 PerfScore 29.00
+                     ;; size=29 bbWeight=4 PerfScore 29.00
 G_M63854_IG16:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
-       cmp      ecx, esi
+       cmp      ebx, esi
        je       SHORT G_M63854_IG17
-       cmp      esi, ecx
+       cmp      esi, ebx
        jae      SHORT G_M63854_IG23
-       mov      eax, esi
-       cmp      word  ptr [rdi+2*rax+0x0C], 61
+       mov      r8d, esi
+       cmp      word  ptr [rdi+2*r8+0x0C], 61
        je       SHORT G_M63854_IG20
-                     ;; size=18 bbWeight=0.50 PerfScore 3.38
+                       ;; size=20 bbWeight=0.50 PerfScore 3.38
 G_M63854_IG17:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {rdx}, byref
        ; gcrRegs -[rdi]
        mov      dword ptr [rdx], esi
@@ -139,39 +143,43 @@ G_M63854_IG17:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {rdx},
        ; gcrRegs +[rax]
                        ;; size=4 bbWeight=0.50 PerfScore 0.62
 G_M63854_IG18:        ; 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_M63854_IG19:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, gcvars, byref
        ; gcrRegs -[rax] +[rdi]
        inc      esi
                        ;; size=2 bbWeight=2 PerfScore 0.50
 G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref, isz
-       cmp      ecx, esi
+       cmp      ebx, esi
        jle      SHORT G_M63854_IG21
-       cmp      esi, ecx
+       cmp      esi, ebx
        jae      SHORT G_M63854_IG23
-       mov      eax, esi
-       movzx    rax, word  ptr [rdi+2*rax+0x0C]
-       mov      r10d, eax
-       cmp      r10d, 32
+       mov      r8d, esi
+       movzx    r8, word  ptr [rdi+2*r8+0x0C]
+       mov      r9d, r8d
+       cmp      r9d, 32
        je       SHORT G_M63854_IG19
-       cmp      r10d, 9
+       cmp      r9d, 9
        je       SHORT G_M63854_IG19
-       cmp      eax, 61
+       cmp      r8d, 61
        je       SHORT G_M63854_IG19
-                      ;; size=35 bbWeight=4 PerfScore 35.00
+                     ;; size=38 bbWeight=4 PerfScore 35.00
 G_M63854_IG21:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0004 {rdx}, byref
        mov      dword ptr [rdx], esi
-       mov      esi, r8d
-       mov      edx, r9d
+       mov      esi, ecx
+       mov      edx, eax
        ; byrRegs -[rdx]
-                      ;; size=8 bbWeight=0.50 PerfScore 0.75
+                        ;; size=6 bbWeight=0.50 PerfScore 0.75
 G_M63854_IG22:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
+       pop      rbx
        pop      rbp
        tail.jmp [System.String:Substring(int,int):System.String:this]
        ; gcr arg pop 0
-                       ;; size=7 bbWeight=0.50 PerfScore 1.25
+                        ;; size=12 bbWeight=0.50 PerfScore 1.62
 G_M63854_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rdi]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -179,7 +187,7 @@ G_M63854_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 233, prolog size 4, PerfScore 163.88, instruction count 90, allocated bytes for code 233 (MethodHash=532b0691) for method System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
+; Total bytes of code 264, prolog size 8, PerfScore 167.25, instruction count 98, allocated bytes for code 264 (MethodHash=532b0691) for method System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -187,9 +195,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)
...
  
  
realworld.run.linux.x64.checked.mch
-5 (-3.88%) : 27463.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:IsBeginningOfParamArray(int,int,ubyte,int,System.Collections.Immutable.ImmutableArray1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray1[int],byref):ubyte (FullOpts)
@@ -14,13 +14,13 @@
 ;  V03 arg3         [V03,T08] (  3,  2.50)     int  ->  rcx         single-def
 ;* V04 arg4         [V04    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression]>
 ;* V05 arg5         [V05    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.Collections.Immutable.ImmutableArray`1[int]>
-;  V06 arg6         [V06,T10] (  2,  1.50)   byref  ->  rax         single-def
+;  V06 arg6         [V06,T10] (  2,  1.50)   byref  ->  r10         single-def
 ;  V07 loc0         [V07,T00] ( 14, 18.02)     int  ->  rdx        
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V09 tmp1         [V09,T02] (  5,  8   )     int  ->   r8        
+;  V09 tmp1         [V09,T02] (  5,  8   )     int  ->  rdi        
 ;  V10 tmp2         [V10,T09] (  2,  1.50)     ref  ->   r8         single-def "field V04.array (fldOffset=0x0)" P-INDEP
 ;  V11 tmp3         [V11,T01] (  7,  6.04)     ref  ->   r9         single-def "field V05.array (fldOffset=0x0)" P-INDEP
-;  V12 cse0         [V12,T03] (  5,  5.50)     int  ->  rdi         "CSE - aggressive"
+;  V12 cse0         [V12,T03] (  5,  5.50)     int  ->  rax         "CSE - aggressive"
 ;  V13 cse1         [V13,T05] (  4,  5   )     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
@@ -28,80 +28,80 @@
 G_M47144_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        mov      rbp, rsp
-       mov      rax, bword ptr [rbp+0x10]
-       ; byrRegs +[rax]
+       mov      r10, bword ptr [rbp+0x10]
+       ; byrRegs +[r10]
                         ;; size=8 bbWeight=1 PerfScore 2.25
-G_M47144_IG02:        ; bbWeight=1, gcrefRegs=0300 {r8 r9}, byrefRegs=0001 {rax}, byref, isz
+G_M47144_IG02:        ; bbWeight=1, gcrefRegs=0300 {r8 r9}, byrefRegs=0400 {r10}, byref, isz
        ; gcrRegs +[r8-r9]
-       xor      r10d, r10d
-       mov      dword ptr [rax], r10d
+       xor      eax, eax
+       mov      dword ptr [r10], eax
        test     dl, dl
        je       SHORT G_M47144_IG12
-                      ;; size=10 bbWeight=1 PerfScore 2.50
-G_M47144_IG03:        ; bbWeight=0.50, gcrefRegs=0300 {r8 r9}, byrefRegs=0001 {rax}, byref, isz
+                      ;; size=9 bbWeight=1 PerfScore 2.50
+G_M47144_IG03:        ; bbWeight=0.50, gcrefRegs=0300 {r8 r9}, byrefRegs=0400 {r10}, byref, isz
        dec      ecx
        cmp      edi, ecx
        jne      SHORT G_M47144_IG12
        lea      edx, [rsi+0x01]
-       mov      edi, dword ptr [r8+0x08]
-       cmp      edi, edx
+       mov      eax, dword ptr [r8+0x08]
+       cmp      eax, edx
        jle      SHORT G_M47144_IG10
        test     r9, r9
        je       SHORT G_M47144_IG06
        test     edx, edx
        jl       SHORT G_M47144_IG06
-       cmp      dword ptr [r9+0x08], edi
+       cmp      dword ptr [r9+0x08], eax
        jl       SHORT G_M47144_IG06
                        ;; size=32 bbWeight=0.50 PerfScore 5.88
-G_M47144_IG04:        ; bbWeight=3.96, gcrefRegs=0200 {r9}, byrefRegs=0001 {rax}, byref, isz
+G_M47144_IG04:        ; bbWeight=3.96, gcrefRegs=0200 {r9}, byrefRegs=0400 {r10}, byref, isz
        ; gcrRegs -[r8]
-       mov      r8d, edx
-       mov      r8d, dword ptr [r9+4*r8+0x10]
-       cmp      r8d, ecx
+       mov      edi, edx
+       mov      edi, dword ptr [r9+4*rdi+0x10]
+       cmp      edi, ecx
        jne      SHORT G_M47144_IG10
        inc      edx
-       cmp      edi, edx
+       cmp      eax, edx
        jg       SHORT G_M47144_IG04
-                       ;; size=19 bbWeight=3.96 PerfScore 19.80
-G_M47144_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref, isz
+                       ;; size=17 bbWeight=3.96 PerfScore 19.80
+G_M47144_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0400 {r10}, byref, isz
        ; gcrRegs -[r9]
        jmp      SHORT G_M47144_IG10
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M47144_IG06:        ; bbWeight=0.04, gcrefRegs=0200 {r9}, byrefRegs=0001 {rax}, byref, isz
+G_M47144_IG06:        ; bbWeight=0.04, gcrefRegs=0200 {r9}, byrefRegs=0400 {r10}, byref, isz
        ; gcrRegs +[r9]
        test     r9, r9
        jne      SHORT G_M47144_IG08
                        ;; size=5 bbWeight=0.04 PerfScore 0.05
-G_M47144_IG07:        ; bbWeight=0.02, gcrefRegs=0200 {r9}, byrefRegs=0001 {rax}, byref, isz
-       mov      r8d, edx
+G_M47144_IG07:        ; bbWeight=0.02, gcrefRegs=0200 {r9}, byrefRegs=0400 {r10}, byref, isz
+       mov      edi, edx
        jmp      SHORT G_M47144_IG09
-                      ;; size=5 bbWeight=0.02 PerfScore 0.05
-G_M47144_IG08:        ; bbWeight=0.02, gcrefRegs=0200 {r9}, byrefRegs=0001 {rax}, byref, isz
+                     ;; size=4 bbWeight=0.02 PerfScore 0.05
+G_M47144_IG08:        ; bbWeight=0.02, gcrefRegs=0200 {r9}, byrefRegs=0400 {r10}, byref, isz
        cmp      edx, dword ptr [r9+0x08]
        jae      SHORT G_M47144_IG14
-       mov      r8d, edx
-       mov      r8d, dword ptr [r9+4*r8+0x10]
-                       ;; size=14 bbWeight=0.02 PerfScore 0.13
-G_M47144_IG09:        ; bbWeight=0.04, gcrefRegs=0200 {r9}, byrefRegs=0001 {rax}, byref, isz
-       cmp      r8d, ecx
+       mov      edi, edx
+       mov      edi, dword ptr [r9+4*rdi+0x10]
+                       ;; size=13 bbWeight=0.02 PerfScore 0.13
+G_M47144_IG09:        ; bbWeight=0.04, gcrefRegs=0200 {r9}, byrefRegs=0400 {r10}, byref, isz
+       cmp      edi, ecx
        jne      SHORT G_M47144_IG10
        inc      edx
-       cmp      edi, edx
+       cmp      eax, edx
        jg       SHORT G_M47144_IG06
-                       ;; size=11 bbWeight=0.04 PerfScore 0.11
-G_M47144_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
+                        ;; size=10 bbWeight=0.04 PerfScore 0.11
+G_M47144_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0400 {r10}, byref
        ; gcrRegs -[r9]
-       mov      ecx, edx
-       sub      ecx, esi
-       mov      dword ptr [rax], ecx
+       mov      eax, edx
+       sub      eax, esi
+       mov      dword ptr [r10], eax
        mov      eax, 1
-       ; byrRegs -[rax]
-                       ;; size=11 bbWeight=0.50 PerfScore 0.88
+                       ;; size=12 bbWeight=0.50 PerfScore 0.88
 G_M47144_IG11:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=2 bbWeight=0.50 PerfScore 0.75
 G_M47144_IG12:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       ; byrRegs -[r10]
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M47144_IG13:        ; bbWeight=0.50, epilog, nogc, extend
@@ -114,7 +114,7 @@ G_M47144_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 129, prolog size 8, PerfScore 34.25, instruction count 52, allocated bytes for code 129 (MethodHash=af4c47d7) for method Microsoft.CodeAnalysis.CSharp.LocalRewriter:IsBeginningOfParamArray(int,int,ubyte,int,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[int],byref):ubyte (FullOpts)
+; Total bytes of code 124, prolog size 8, PerfScore 34.25, instruction count 52, allocated bytes for code 124 (MethodHash=af4c47d7) for method Microsoft.CodeAnalysis.CSharp.LocalRewriter:IsBeginningOfParamArray(int,int,ubyte,int,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[int],byref):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
-28 (-3.59%) : 55.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
@@ -213,18 +213,17 @@ G_M65128_IG16:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14},
        vpor     xmm2, xmm2, xmm4
        vpmovmskb edi, xmm2
        popcnt   edi, edi
-       vmovaps  xmm2, xmmword ptr [rbp-0x70]
-       vpaddw   xmm4, xmm0, xmm2
+       vpaddw   xmm4, xmm0, xmmword ptr [rbp-0x70]
        vpcmpgtw xmm4, xmm3, xmm4
        vpmovmskb eax, xmm4
        cmp      eax, 0xFFFF
        jne      SHORT G_M65128_IG19
-                      ;; size=58 bbWeight=4 PerfScore 83.00
-G_M65128_IG17:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14}, byref
+                      ;; size=54 bbWeight=4 PerfScore 77.67
+G_M65128_IG17:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14}, byref, isz
        add      r12, rdi
        cmp      rbx, r15
-       jbe      G_M65128_IG14
-                       ;; size=12 bbWeight=16 PerfScore 24.00
+       jbe      SHORT G_M65128_IG14
+                       ;; size=8 bbWeight=16 PerfScore 24.00
 G_M65128_IG18:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14}, byref
        mov      rcx, qword ptr [rbp-0x38]
        jmp      G_M65128_IG27
@@ -252,9 +251,7 @@ G_M65128_IG20:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14},
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
        mov      rdi, qword ptr [rbp-0x98]
-       vmovaps  xmm2, xmmword ptr [rbp-0x70]
-       vmovaps  xmm3, xmmword ptr [rbp-0x60]
-                       ;; size=50 bbWeight=8 PerfScore 92.00
+                     ;; size=40 bbWeight=8 PerfScore 44.00
 G_M65128_IG21:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14}, byref, isz
        mov      eax, dword ptr [rbp-0xA0]
        mov      esi, eax
@@ -272,9 +269,7 @@ G_M65128_IG22:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14},
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
        mov      rdi, qword ptr [rbp-0x98]
-       vmovaps  xmm2, xmmword ptr [rbp-0x70]
-       vmovaps  xmm3, xmmword ptr [rbp-0x60]
-                       ;; size=50 bbWeight=8 PerfScore 92.00
+                     ;; size=40 bbWeight=8 PerfScore 44.00
 G_M65128_IG23:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14}, byref, isz
        mov      eax, dword ptr [rbp-0xA0]
        shl      eax, 2
@@ -359,7 +354,7 @@ RWD16   dq  7800780078007800h, 7800780078007800h
 RWD32      dq  A000A000A000A000h, A000A000A000A000h
 
 
-; Total bytes of code 780, prolog size 37, PerfScore 1231.88, instruction count 194, allocated bytes for code 780 (MethodHash=5a2e0197) for method System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
+; Total bytes of code 752, prolog size 37, PerfScore 1130.54, instruction count 189, allocated bytes for code 752 (MethodHash=5a2e0197) for method System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
-46 (-2.84%) : 32911.dasm - System.String:SplitWithPostProcessing(System.ReadOnlySpan1[int],System.ReadOnlySpan1[int],int,int,int):System.String[]:this (FullOpts)
@@ -35,7 +35,7 @@
 ;* V24 tmp11        [V24    ] (  0,  0   )     int  ->  zero-ref   
 ;  V25 tmp12        [V25,T32] (  2,  8   )     int  ->  rsi        
 ;  V26 tmp13        [V26,T25] (  3,  8   )     int  ->  rdi        
-;  V27 tmp14        [V27,T41] (  4,  4   )     int  ->  r15         "impSpillLclRefs"
+;  V27 tmp14        [V27,T41] (  4,  4   )     int  ->  r12         "impSpillLclRefs"
 ;* V28 tmp15        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "non-inline candidate call" <System.String[]>
 ;  V29 tmp16        [V29,T63] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
 ;* V30 tmp17        [V30    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -91,8 +91,8 @@
 ;* V80 tmp67        [V80    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V81 tmp68        [V81    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V82 tmp69        [V82    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V83 tmp70        [V83,T57] (  3,  3   )     int  ->  rbx         "Inlining Arg"
-;  V84 tmp71        [V84,T64] (  2,  2   )   byref  ->  r14         single-def "Inlining Arg"
+;  V83 tmp70        [V83,T57] (  3,  3   )     int  ->  r14         "Inlining Arg"
+;  V84 tmp71        [V84,T64] (  2,  2   )   byref  ->  r15         single-def "Inlining Arg"
 ;* V85 tmp72        [V85    ] (  0,  0   )  struct (16) zero-ref    multireg-ret "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V86 tmp73        [V86    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V87 tmp74        [V87    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.ReadOnlySpan`1[ushort]>
@@ -106,7 +106,7 @@
 ;* V95 tmp82        [V95    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V96 tmp83        [V96    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V97 tmp84        [V97    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.String[]>
-;  V98 tmp85        [V98,T68] (  3,  1.50)     ref  ->  r15         class-hnd exact single-def "Inline stloc first use temp" <System.String[]>
+;  V98 tmp85        [V98,T68] (  3,  1.50)     ref  ->  r14         class-hnd exact single-def "Inline stloc first use temp" <System.String[]>
 ;  V99 tmp86        [V99,T53] (  3,  3   )   byref  ->  rdi         single-def "impAppendStmt"
 ;  V100 tmp87       [V100,T54] (  3,  3   )   byref  ->  rsi         single-def "impAppendStmt"
 ;  V101 tmp88       [V101,T74] (  2,  1   )     int  ->  rdx         "Inline return value spill temp"
@@ -198,9 +198,9 @@
 ;* V187 tmp174      [V187    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V82._reference (fldOffset=0x0)" P-INDEP
 ;* V188 tmp175      [V188    ] (  0,  0   )     int  ->  zero-ref    "field V82._length (fldOffset=0x8)" P-INDEP
 ;  V189 tmp176      [V189,T69] (  3,  1.50)   byref  ->  rbx         single-def "field V85._reference (fldOffset=0x0)" P-INDEP
-;  V190 tmp177      [V190,T72] (  3,  1.50)     int  ->  r15         "field V85._length (fldOffset=0x8)" P-INDEP
+;  V190 tmp177      [V190,T72] (  3,  1.50)     int  ->  r13         "field V85._length (fldOffset=0x8)" P-INDEP
 ;  V191 tmp178      [V191,T59] (  5,  2.50)   byref  ->  rbx         single-def "field V86._reference (fldOffset=0x0)" P-INDEP
-;  V192 tmp179      [V192,T60] (  5,  2.50)     int  ->  r15         "field V86._length (fldOffset=0x8)" P-INDEP
+;  V192 tmp179      [V192,T60] (  5,  2.50)     int  ->  r13         "field V86._length (fldOffset=0x8)" P-INDEP
 ;* V193 tmp180      [V193    ] (  0,  0   )   byref  ->  zero-ref    "field V87._reference (fldOffset=0x0)" P-DEP
 ;* V194 tmp181      [V194    ] (  0,  0   )     int  ->  zero-ref    "field V87._length (fldOffset=0x8)" P-DEP
 ;* V195 tmp182      [V195    ] (  0,  0   )   byref  ->  zero-ref    "field V91._reference (fldOffset=0x0)" P-INDEP
@@ -466,12 +466,8 @@ G_M22449_IG21:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15},
        ; byrRegs -[r8]
        mov      r9d, dword ptr [rbp-0x2C]
        mov      esi, r9d
-       mov      dword ptr [rbp-0x2C], r9d
-       mov      r8, bword ptr [rbp-0x98]
-       ; byrRegs +[r8]
-                       ;; size=18 bbWeight=2 PerfScore 6.50
-G_M22449_IG22:        ; bbWeight=4, gcVars=00000000000000000000000000010000 {V08}, gcrefRegs=0008 {rbx}, byrefRegs=8100 {r8 r15}, gcvars, byref, isz
-       ; GC ptr vars -{V107}
+                     ;; size=7 bbWeight=2 PerfScore 2.50
+G_M22449_IG22:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, byref, isz
        add      edi, esi
        mov      esi, edi
        mov      edi, dword ptr [rbp+0x10]
@@ -481,19 +477,18 @@ G_M22449_IG22:        ; bbWeight=4, gcVars=00000000000000000000000000010000 {V08
        inc      edx
        cmp      edx, r13d
        mov      dword ptr [rbp+0x10], edi
-       mov      bword ptr [rbp-0x98], r8
-       ; GC ptr vars +{V107}
        mov      edi, esi
        jl       G_M22449_IG03
-                        ;; size=40 bbWeight=4 PerfScore 35.00
-G_M22449_IG23:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       ; byrRegs -[r8 r15]
+                       ;; size=33 bbWeight=4 PerfScore 31.00
+G_M22449_IG23:        ; bbWeight=1, gcVars=00000000000000000000000000010000 {V08}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
+       ; byrRegs -[r15]
        ; GC ptr vars -{V107}
        mov      dword ptr [rbp-0x34], edi
        jmp      G_M22449_IG43
-                        ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M22449_IG24:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=8100 {r8 r15}, byref, isz
-       ; byrRegs +[r8 r15]
+                       ;; size=8 bbWeight=1 PerfScore 3.00
+G_M22449_IG24:        ; bbWeight=0.50, gcVars=00000000000000000000001000010000 {V08 V107}, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, gcvars, byref, isz
+       ; byrRegs +[r15]
+       ; GC ptr vars +{V107}
        test     r12b, 1
        je       SHORT G_M22449_IG28
        lea      r10d, [rdx+0x01]
@@ -502,7 +497,7 @@ G_M22449_IG24:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=8100 {r8
        cmp      edx, r13d
        jge      SHORT G_M22449_IG27
                        ;; size=21 bbWeight=0.50 PerfScore 2.12
-G_M22449_IG25:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=8100 {r8 r15}, byref, isz
+G_M22449_IG25:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, byref, isz
        mov      dword ptr [rbp-0x54], r10d
        mov      edi, r10d
        mov      edi, dword ptr [r15+4*rdi]
@@ -511,7 +506,7 @@ G_M22449_IG25:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=8100 {r8 r15
        test     rbx, rbx
        jne      SHORT G_M22449_IG29
                        ;; size=21 bbWeight=4 PerfScore 23.00
-G_M22449_IG26:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8100 {r8 r15}, byref, isz
+G_M22449_IG26:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, byref, isz
        or       edi, esi
        jne      G_M22449_IG66
        xor      r11, r11
@@ -519,8 +514,9 @@ G_M22449_IG26:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8100 {r8 r15
        xor      edi, edi
        jmp      SHORT G_M22449_IG30
                        ;; size=15 bbWeight=2 PerfScore 7.50
-G_M22449_IG27:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       ; byrRegs -[r8 r11 r15]
+G_M22449_IG27:        ; bbWeight=0.25, gcVars=00000000000000000000000000010000 {V08}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
+       ; byrRegs -[r11 r15]
+       ; GC ptr vars -{V107}
        mov      dword ptr [rbp-0x34], esi
        jmp      G_M22449_IG43
                        ;; size=8 bbWeight=0.25 PerfScore 0.75
@@ -528,13 +524,11 @@ G_M22449_IG28:        ; bbWeight=0.25, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      dword ptr [rbp-0x34], esi
        jmp      G_M22449_IG43
                        ;; size=8 bbWeight=0.25 PerfScore 0.75
-G_M22449_IG29:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8100 {r8 r15}, byref
-       ; byrRegs +[r8 r15]
-       mov      bword ptr [rbp-0x98], r8
+G_M22449_IG29:        ; bbWeight=2, gcVars=00000000000000000000001000010000 {V08 V107}, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, gcvars, byref
+       ; byrRegs +[r15]
        ; GC ptr vars +{V107}
        mov      r11d, esi
        mov      r8d, edi
-       ; byrRegs -[r8]
        add      r8, r11
        mov      r11d, dword ptr [rbx+0x08]
        cmp      r8, r11
@@ -554,17 +548,15 @@ G_M22449_IG29:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8100 {r8 r15
        ; byrRegs +[r11]
        mov      edi, dword ptr [rbp-0x64]
        mov      esi, dword ptr [rbp-0x34]
-       mov      r8, bword ptr [rbp-0x98]
-       ; byrRegs +[r8]
-                       ;; size=78 bbWeight=2 PerfScore 32.00
-G_M22449_IG30:        ; bbWeight=4, gcVars=00000000000000000000000000010000 {V08}, gcrefRegs=0008 {rbx}, byrefRegs=8900 {r8 r11 r15}, gcvars, byref
-       ; GC ptr vars -{V59 V107}
+                     ;; size=64 bbWeight=2 PerfScore 28.00
+G_M22449_IG30:        ; bbWeight=4, gcVars=00000000000000000000001000010000 {V08 V107}, gcrefRegs=0008 {rbx}, byrefRegs=8800 {r11 r15}, gcvars, byref
+       ; GC ptr vars -{V59}
        mov      bword ptr [rbp-0x48], r11
        mov      dword ptr [rbp-0x40], edi
        test     r12b, 2
        je       G_M22449_IG39
                        ;; size=17 bbWeight=4 PerfScore 13.00
-G_M22449_IG31:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8100 {r8 r15}, byref, isz
+G_M22449_IG31:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, byref, isz
        ; byrRegs -[r11]
        mov      r11, bword ptr [rbp-0x48]
        ; byrRegs +[r11]
@@ -574,10 +566,7 @@ G_M22449_IG31:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8100 {r8 r15
        mov      dword ptr [rbp-0x74], edi
        test     edi, edi
        je       G_M22449_IG36
-       mov      bword ptr [rbp-0x98], r8
-       ; GC ptr vars +{V107}
        movzx    r8, word  ptr [r11]
-       ; byrRegs -[r8]
        mov      dword ptr [rbp-0x68], r8d
        cmp      r8d, 256
        jae      SHORT G_M22449_IG32
@@ -591,9 +580,9 @@ G_M22449_IG31:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8100 {r8 r15
        mov      edi, dword ptr [rbp-0x68]
        mov      rax, 0xD1FFAB1E      ; static handle
        test     byte  ptr [rdi+rax], 128
-       jne      G_M22449_IG37
+       jne      SHORT G_M22449_IG37
        jmp      SHORT G_M22449_IG33
-                      ;; size=96 bbWeight=2 PerfScore 46.50
+                     ;; size=85 bbWeight=2 PerfScore 44.50
 G_M22449_IG32:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, byref, isz
        mov      dword ptr [rbp-0x34], esi
        mov      edi, r8d
@@ -622,14 +611,12 @@ G_M22449_IG33:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15},
        test     byte  ptr [rdi+rax], 128
        jne      SHORT G_M22449_IG37
        mov      esi, dword ptr [rbp-0x34]
-       mov      r8, bword ptr [rbp-0x98]
-       ; byrRegs +[r8]
        mov      r11, bword ptr [rbp-0xA8]
        ; byrRegs +[r11]
        jmp      SHORT G_M22449_IG36
-                      ;; size=84 bbWeight=2 PerfScore 43.00
+                     ;; size=77 bbWeight=2 PerfScore 41.00
 G_M22449_IG34:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, byref, isz
-       ; byrRegs -[r8 r11]
+       ; byrRegs -[r11]
        mov      edi, edx
        call     [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte]
        ; gcr arg pop 0
@@ -638,19 +625,15 @@ G_M22449_IG34:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15},
                        ;; size=12 bbWeight=2 PerfScore 9.00
 G_M22449_IG35:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, byref
        mov      esi, dword ptr [rbp-0x34]
-       mov      r8, bword ptr [rbp-0x98]
-       ; byrRegs +[r8]
        mov      r11, bword ptr [rbp-0xA8]
        ; byrRegs +[r11]
-                      ;; size=17 bbWeight=1 PerfScore 3.00
-G_M22449_IG36:        ; bbWeight=2, gcVars=00000000000000000000000000050000 {V08 V155}, gcrefRegs=0008 {rbx}, byrefRegs=8900 {r8 r11 r15}, gcvars, byref, isz
-       ; GC ptr vars -{V107}
+                     ;; size=10 bbWeight=1 PerfScore 2.00
+G_M22449_IG36:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8800 {r11 r15}, byref, isz
        mov      edi, dword ptr [rbp-0x74]
        jmp      SHORT G_M22449_IG38
                        ;; size=5 bbWeight=2 PerfScore 6.00
-G_M22449_IG37:        ; bbWeight=2, gcVars=00000000000000000000001000050000 {V08 V107 V155}, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, gcvars, byref
-       ; byrRegs -[r8 r11]
-       ; GC ptr vars +{V107}
+G_M22449_IG37:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, byref
+       ; byrRegs -[r11]
        mov      rdi, bword ptr [rbp-0xA8]
        ; byrRegs +[rdi]
        mov      esi, dword ptr [rbp-0x74]
@@ -662,16 +645,13 @@ G_M22449_IG37:        ; bbWeight=2, gcVars=00000000000000000000001000050000 {V08
        ; byrRegs +[r11]
        mov      edi, edx
        mov      esi, dword ptr [rbp-0x34]
-       mov      r8, bword ptr [rbp-0x98]
-       ; byrRegs +[r8]
-                       ;; size=31 bbWeight=2 PerfScore 15.00
-G_M22449_IG38:        ; bbWeight=2, gcVars=00000000000000000000000000010000 {V08}, gcrefRegs=0008 {rbx}, byrefRegs=8900 {r8 r11 r15}, gcvars, byref
+                      ;; size=24 bbWeight=2 PerfScore 13.00
+G_M22449_IG38:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8800 {r11 r15}, byref
        ; byrRegs -[rax]
-       ; GC ptr vars -{V107}
        mov      bword ptr [rbp-0x48], r11
        mov      dword ptr [rbp-0x40], edi
                        ;; size=7 bbWeight=2 PerfScore 4.00
-G_M22449_IG39:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=8100 {r8 r15}, byref, isz
+G_M22449_IG39:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, byref, isz
        ; byrRegs -[r11]
        cmp      dword ptr [rbp-0x40], 0
        mov      dword ptr [rbp-0x34], esi
@@ -682,19 +662,25 @@ G_M22449_IG39:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=8100 {r8 r15
        test     r14d, r14d
        je       SHORT G_M22449_IG41
                        ;; size=25 bbWeight=4 PerfScore 34.00
-G_M22449_IG40:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8100 {r8 r15}, byref, isz
+G_M22449_IG40:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8000 {r15}, byref, isz
        cmp      r10d, r14d
        jae      G_M22449_IG65
        mov      r10d, r10d
+       mov      r8, bword ptr [rbp-0x98]
+       ; byrRegs +[r8]
        mov      edi, dword ptr [r8+4*r10]
        jmp      SHORT G_M22449_IG42
-                      ;; size=18 bbWeight=2 PerfScore 11.00
-G_M22449_IG41:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=8100 {r8 r15}, byref
...
  
+23 (+2.79%) : 5092.dasm - FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5int,int,int,int,int
@@ -68,7 +68,7 @@ G_M22428_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
                        ;; size=48 bbWeight=1 PerfScore 6.50
 G_M22428_IG03:        ; bbWeight=8, gcVars=0000000000000002 {V11}, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, gcvars, byref
        cmp      byte  ptr [rbx+0x14], 0
-       jne      G_M22428_IG19
+       jne      G_M22428_IG22
                       ;; size=10 bbWeight=8 PerfScore 32.00
 G_M22428_IG04:        ; bbWeight=4, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref, isz
        xor      ecx, ecx
@@ -95,15 +95,19 @@ G_M22428_IG06:        ; bbWeight=15.84, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcrRegs +[rdx]
        mov      dword ptr [rdx+4*rcx+0x10], eax
        inc      edi
-       cmp      edi, 16
        mov      dword ptr [rbp-0x44], edi
+       cmp      edi, 16
        jl       SHORT G_M22428_IG06
                        ;; size=32 bbWeight=15.84 PerfScore 142.56
-G_M22428_IG07:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M22428_IG07:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdx]
+       mov      r8, gword ptr [rbp-0x58]
+       ; gcrRegs +[r8]
+       mov      r9d, dword ptr [rbp-0x4C]
        jmp      SHORT G_M22428_IG09
-                     ;; size=2 bbWeight=2 PerfScore 4.00
+                       ;; size=10 bbWeight=4 PerfScore 16.00
 G_M22428_IG08:        ; bbWeight=0.16, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r8]
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        call     [FSharp.Compiler.AbstractIL.IL+SHA1:shaRead32(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):int]
@@ -115,105 +119,100 @@ G_M22428_IG08:        ; bbWeight=0.16, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      r9d, edx
        mov      r10d, dword ptr [rbp-0x44]
        cmp      r10d, r9d
-       jae      G_M22428_IG21
+       jae      G_M22428_IG24
        mov      edi, r10d
        mov      dword ptr [r8+4*rdi+0x10], eax
        inc      r10d
        cmp      r10d, 16
        mov      dword ptr [rbp-0x44], r10d
-       mov      dword ptr [rbp-0x4C], r9d
-       jl       SHORT G_M22428_IG08
-                       ;; size=58 bbWeight=0.16 PerfScore 2.16
-G_M22428_IG09:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[r8]
-       mov      r10d, 16
-       mov      edx, dword ptr [rbp-0x4C]
-       cmp      edx, 80
        jl       SHORT G_M22428_IG12
-                       ;; size=14 bbWeight=4 PerfScore 10.00
-G_M22428_IG10:        ; bbWeight=15.84, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                      ;; size=54 bbWeight=0.16 PerfScore 2.00
+G_M22428_IG09:        ; bbWeight=4, gcrefRegs=0108 {rbx r8}, byrefRegs=0000 {}, byref, isz
+       mov      r10d, 16
+       cmp      r9d, 80
+       jl       SHORT G_M22428_IG13
+                       ;; size=12 bbWeight=4 PerfScore 6.00
+G_M22428_IG10:        ; bbWeight=15.84, gcrefRegs=0108 {rbx r8}, byrefRegs=0000 {}, byref, isz
        lea      edi, [r10-0x03]
-       cmp      edi, edx
-       jae      G_M22428_IG21
-       mov      rax, gword ptr [rbp-0x58]
-       ; gcrRegs +[rax]
-       mov      edi, dword ptr [rax+4*rdi+0x10]
+       cmp      edi, r9d
+       jae      G_M22428_IG24
+       mov      edi, dword ptr [r8+4*rdi+0x10]
        lea      esi, [r10-0x08]
-       cmp      esi, edx
-       jae      G_M22428_IG21
-       xor      edi, dword ptr [rax+4*rsi+0x10]
+       cmp      esi, r9d
+       jae      G_M22428_IG24
+       xor      edi, dword ptr [r8+4*rsi+0x10]
        lea      esi, [r10-0x0E]
-       cmp      esi, edx
-       jae      G_M22428_IG21
-       xor      edi, dword ptr [rax+4*rsi+0x10]
+       cmp      esi, r9d
+       jae      G_M22428_IG24
+       xor      edi, dword ptr [r8+4*rsi+0x10]
        lea      esi, [r10-0x10]
-       cmp      esi, edx
-       jae      G_M22428_IG21
-       xor      edi, dword ptr [rax+4*rsi+0x10]
+       cmp      esi, r9d
+       jae      G_M22428_IG24
+       xor      edi, dword ptr [r8+4*rsi+0x10]
        mov      esi, r10d
        rol      edi, 1
-       mov      dword ptr [rax+4*rsi+0x10], edi
+       mov      dword ptr [r8+4*rsi+0x10], edi
        inc      r10d
        cmp      r10d, 80
        jl       SHORT G_M22428_IG10
-                      ;; size=86 bbWeight=15.84 PerfScore 360.36
-G_M22428_IG11:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
-       jmp      SHORT G_M22428_IG13
-                       ;; size=2 bbWeight=2 PerfScore 4.00
-G_M22428_IG12:        ; bbWeight=0.16, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+                       ;; size=91 bbWeight=15.84 PerfScore 344.52
+G_M22428_IG11:        ; bbWeight=4, gcrefRegs=0108 {rbx r8}, byrefRegs=0000 {}, byref
+       jmp      G_M22428_IG14
+                       ;; size=5 bbWeight=4 PerfScore 8.00
+G_M22428_IG12:        ; bbWeight=0.08, gcrefRegs=0108 {rbx r8}, byrefRegs=0000 {}, byref
+       jmp      G_M22428_IG08
+                       ;; size=5 bbWeight=0.08 PerfScore 0.16
+G_M22428_IG13:        ; bbWeight=0.16, gcrefRegs=0108 {rbx r8}, byrefRegs=0000 {}, byref
        lea      edi, [r10-0x03]
-       cmp      edi, edx
-       jae      G_M22428_IG21
+       cmp      edi, r9d
+       jae      G_M22428_IG24
        lea      edi, [r10-0x03]
-       mov      rax, gword ptr [rbp-0x58]
-       ; gcrRegs +[rax]
-       mov      edi, dword ptr [rax+4*rdi+0x10]
+       mov      edi, dword ptr [r8+4*rdi+0x10]
        lea      esi, [r10-0x08]
-       cmp      esi, edx
-       jae      G_M22428_IG21
+       cmp      esi, r9d
+       jae      G_M22428_IG24
        lea      esi, [r10-0x08]
-       xor      edi, dword ptr [rax+4*rsi+0x10]
+       xor      edi, dword ptr [r8+4*rsi+0x10]
        lea      esi, [r10-0x0E]
-       cmp      esi, edx
-       jae      G_M22428_IG21
+       cmp      esi, r9d
+       jae      G_M22428_IG24
        lea      esi, [r10-0x0E]
-       xor      edi, dword ptr [rax+4*rsi+0x10]
+       xor      edi, dword ptr [r8+4*rsi+0x10]
        lea      esi, [r10-0x10]
-       cmp      esi, edx
-       jae      G_M22428_IG21
+       cmp      esi, r9d
+       jae      G_M22428_IG24
        lea      esi, [r10-0x10]
-       xor      edi, dword ptr [rax+4*rsi+0x10]
-       cmp      r10d, edx
-       jae      G_M22428_IG21
+       xor      edi, dword ptr [r8+4*rsi+0x10]
+       cmp      r10d, r9d
+       jae      G_M22428_IG24
        mov      esi, r10d
        rol      edi, 1
-       mov      dword ptr [rax+4*rsi+0x10], edi
+       mov      dword ptr [r8+4*rsi+0x10], edi
        inc      r10d
        cmp      r10d, 80
-       jl       SHORT G_M22428_IG12
-                       ;; size=111 bbWeight=0.16 PerfScore 4.16
-G_M22428_IG13:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rax]
+       jl       G_M22428_IG18
+                       ;; size=120 bbWeight=0.16 PerfScore 4.00
+G_M22428_IG14:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[r8]
        mov      dword ptr [rbp-0x30], r15d
-       mov      r9d, r14d
-       mov      r11d, r13d
-       mov      ecx, r12d
+       mov      r11d, r14d
+       mov      ecx, r13d
+       mov      dword ptr [rbp-0x3C], r12d
        mov      esi, dword ptr [rbp-0x2C]
        mov      dword ptr [rbp-0x40], esi
        xor      r10d, r10d
-       mov      dword ptr [rbp-0x4C], edx
-       cmp      edx, 80
-       jl       G_M22428_IG17
-                       ;; size=34 bbWeight=4 PerfScore 25.00
-G_M22428_IG14:        ; bbWeight=15.84, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       mov      dword ptr [rbp-0x4C], r9d
+       cmp      r9d, 80
+       jl       G_M22428_IG19
+                       ;; size=37 bbWeight=4 PerfScore 28.00
+G_M22428_IG15:        ; bbWeight=15.84, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      dword ptr [rbp-0x44], r10d
        mov      edi, r10d
-       mov      dword ptr [rbp-0x34], r9d
-       mov      esi, r9d
-       mov      dword ptr [rbp-0x38], r11d
-       mov      edx, r11d
-       mov      dword ptr [rbp-0x3C], ecx
+       mov      dword ptr [rbp-0x34], r11d
+       mov      esi, r11d
+       mov      dword ptr [rbp-0x38], ecx
+       mov      edx, ecx
+       mov      ecx, dword ptr [rbp-0x3C]
        call     [FSharp.Compiler.AbstractIL.IL+SHA1:f(int,int,int,int):int]
        ; gcr arg pop 0
        mov      ecx, dword ptr [rbp-0x30]
@@ -236,7 +235,7 @@ G_M22428_IG14:        ; bbWeight=15.84, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      edi, dword ptr [rbp-0x3C]
        mov      dword ptr [rbp-0x40], edi
        mov      edi, dword ptr [rbp-0x38]
-       mov      r9d, edi
+       mov      dword ptr [rbp-0x3C], edi
        mov      edi, dword ptr [rbp-0x34]
        rol      edi, 30
        mov      r10d, edi
@@ -246,30 +245,37 @@ G_M22428_IG14:        ; bbWeight=15.84, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      ecx, dword ptr [rbp-0x44]
        inc      ecx
        cmp      ecx, 80
-       jl       SHORT G_M22428_IG16
-                       ;; size=113 bbWeight=15.84 PerfScore 538.56
-G_M22428_IG15:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       mov      ecx, r9d
-       mov      r9d, r11d
-       mov      r11d, r10d
-       jmp      G_M22428_IG18
-                       ;; size=14 bbWeight=2 PerfScore 5.50
-G_M22428_IG16:        ; bbWeight=7.92, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       jl       SHORT G_M22428_IG17
+                       ;; size=111 bbWeight=15.84 PerfScore 550.44
+G_M22428_IG16:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       mov      ecx, r10d
+       mov      edi, ecx
+       mov      r8d, r11d
+       mov      ecx, dword ptr [rbp-0x40]
+       mov      edx, dword ptr [rbp-0x3C]
+       mov      esi, dword ptr [rbp-0x30]
+       jmp      G_M22428_IG20
+                       ;; size=22 bbWeight=4 PerfScore 23.00
+G_M22428_IG17:        ; bbWeight=7.92, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      eax, ecx
-       mov      ecx, r9d
-       mov      r9d, r11d
-       mov      r11d, r10d
+       mov      ecx, r10d
        mov      r10d, eax
-       jmp      G_M22428_IG14
-                       ;; size=19 bbWeight=7.92 PerfScore 25.74
-G_M22428_IG17:        ; bbWeight=0.16, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       jmp      G_M22428_IG15
+                       ;; size=13 bbWeight=7.92 PerfScore 21.78
+G_M22428_IG18:        ; bbWeight=0.08, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       mov      r8, gword ptr [rbp-0x58]
+       ; gcrRegs +[r8]
+       jmp      G_M22428_IG13
+                       ;; size=9 bbWeight=0.08 PerfScore 0.24
+G_M22428_IG19:        ; bbWeight=0.16, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
...
  
+40 (+4.92%) : 7156.dasm - System.Number:TryNumberToDecimal(byref,byref):ubyte (FullOpts)
@@ -13,8 +13,8 @@
 ;  V02 loc0         [V02,T03] ( 14, 33.50)    long  ->  rdi        
 ;  V03 loc1         [V03,T02] ( 20, 39.50)     int  ->  r14        
 ;  V04 loc2         [V04,T19] (  4,  2.50)   ubyte  ->  r13        
-;  V05 loc3         [V05,T01] ( 21, 46.50)     int  ->  rcx        
-;  V06 loc4         [V06,T00] ( 22, 48   )    long  ->  r12        
+;  V05 loc3         [V05,T01] ( 21, 46.50)     int  ->  registers  
+;  V06 loc4         [V06,T00] ( 22, 48   )    long  ->  registers  
 ;  V07 loc5         [V07,T04] ( 12, 19   )     int  ->  [rbp-0x2C] 
 ;  V08 loc6         [V08,T11] (  3,  6   )    long  ->  rdx        
 ;  V09 loc7         [V09,T12] (  3,  6   )    long  ->  rsi        
@@ -25,28 +25,28 @@
 ;* V14 tmp3         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Decimal>
 ;* V15 tmp4         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Decimal>
 ;  V16 tmp5         [V16,T22] (  2,  2   )    long  ->  r12         "dup spill"
-;  V17 tmp6         [V17,T23] (  2,  2   )     int  ->  rax         "dup spill"
+;  V17 tmp6         [V17,T23] (  2,  2   )     int  ->  rcx         "dup spill"
 ;  V18 tmp7         [V18,T24] (  2,  2   )    long  ->  rdi         "dup spill"
 ;  V19 tmp8         [V19,T06] (  2, 16   )    long  ->  rdi         "dup spill"
 ;  V20 tmp9         [V20,T25] (  3,  1.50)     int  ->  rdi        
 ;* V21 tmp10        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Decimal>
 ;* V22 tmp11        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V23 tmp12        [V23,T26] (  3,  1.50)     int  ->  rcx         "Inline return value spill temp"
+;  V23 tmp12        [V23,T26] (  3,  1.50)     int  ->  rdi         "Inline return value spill temp"
 ;  V24 tmp13        [V24,T15] (  4,  4   )     int  ->  rax         "Inlining Arg"
 ;  V25 tmp14        [V25,T13] (  5,  5   )   ubyte  ->  rax         "Inlining Arg"
-;  V26 tmp15        [V26,T29] (  2,  1   )     int  ->  r12         ld-addr-op "Inlining Arg"
+;  V26 tmp15        [V26,T29] (  2,  1   )     int  ->  r15         ld-addr-op "Inlining Arg"
 ;* V27 tmp16        [V27,T27] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V28 tmp17        [V28,T33] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
 ;* V29 tmp18        [V29,T34] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
-;  V30 tmp19        [V30,T14] (  5,  5   )   ubyte  ->  rdi         "Inlining Arg"
+;  V30 tmp19        [V30,T14] (  5,  5   )   ubyte  ->  rax         "Inlining Arg"
 ;* V31 tmp20        [V31    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V32 tmp21        [V32    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V33 tmp22        [V33,T30] (  2,  1   )     int  ->  r15         ld-addr-op "Inlining Arg"
 ;* V34 tmp23        [V34,T28] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
-;  V35 tmp24        [V35,T17] (  5,  2.50)     int  ->  rdi         "field V14._flags (fldOffset=0x0)" P-INDEP
-;  V36 tmp25        [V36,T31] (  2,  1   )     int  ->  rax         "field V14._hi32 (fldOffset=0x4)" P-INDEP
-;  V37 tmp26        [V37,T32] (  2,  1   )    long  ->  rsi         "field V14._lo64 (fldOffset=0x8)" P-INDEP
-;  V38 tmp27        [V38,T20] (  4,  2   )     int  ->  rax         "field V15._flags (fldOffset=0x0)" P-INDEP
+;  V35 tmp24        [V35,T17] (  5,  2.50)     int  ->  rax         "field V14._flags (fldOffset=0x0)" P-INDEP
+;  V36 tmp25        [V36,T31] (  2,  1   )     int  ->  rsi         "field V14._hi32 (fldOffset=0x4)" P-INDEP
+;  V37 tmp26        [V37,T32] (  2,  1   )    long  ->  rdi         "field V14._lo64 (fldOffset=0x8)" P-INDEP
+;  V38 tmp27        [V38,T20] (  4,  2   )     int  ->  rcx         "field V15._flags (fldOffset=0x0)" P-INDEP
 ;* V39 tmp28        [V39,T35] (  0,  0   )     int  ->  zero-ref    "field V15._hi32 (fldOffset=0x4)" P-INDEP
 ;* V40 tmp29        [V40,T36] (  0,  0   )    long  ->  zero-ref    "field V15._lo64 (fldOffset=0x8)" P-INDEP
 ;  V41 tmp30        [V41,T18] (  5,  2.50)     int  ->  rax         "field V21._flags (fldOffset=0x0)" P-INDEP
@@ -85,31 +85,31 @@ G_M46956_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15},
        ; byrRegs +[rdi]
        mov      r14d, dword ptr [r15+0x04]
        movzx    r13, byte  ptr [r15+0x08]
-       movzx    rcx, byte  ptr [rdi]
-       test     ecx, ecx
+       movzx    r12, byte  ptr [rdi]
+       test     r12d, r12d
        jne      SHORT G_M46956_IG09
-                        ;; size=29 bbWeight=1 PerfScore 12.50
+                     ;; size=31 bbWeight=1 PerfScore 12.50
 G_M46956_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
        ; byrRegs -[rdi r15]
        mov      eax, r14d
        neg      eax
        jns      SHORT G_M46956_IG04
-       xor      ecx, ecx
+       xor      edi, edi
        jmp      SHORT G_M46956_IG05
                        ;; size=11 bbWeight=0.50 PerfScore 1.88
 G_M46956_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
-       mov      ecx, 28
+       mov      edi, 28
        cmp      eax, 28
-       cmovle   ecx, eax
+       cmovle   edi, eax
                      ;; size=11 bbWeight=0.50 PerfScore 0.38
 G_M46956_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
-       movzx    rax, cl
-       mov      r12d, eax
+       movzx    rax, dil
+       mov      r15d, eax
        cmp      eax, 28
        jl       SHORT G_M46956_IG06
        cmp      eax, 28
-       jg       G_M46956_IG40
-                       ;; size=20 bbWeight=0.50 PerfScore 1.50
+       jg       G_M46956_IG41
+                       ;; size=21 bbWeight=0.50 PerfScore 1.50
 G_M46956_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
        shl      eax, 16
        mov      edi, eax
@@ -155,47 +155,61 @@ G_M46956_IG11:        ; bbWeight=0.50, epilog, nogc, extend
                        ;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M46956_IG12:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, gcvars, byref, isz
        ; byrRegs +[rbx r15]
-       xor      r12d, r12d
+       xor      eax, eax
        cmp      r14d, -28
-       jle      SHORT G_M46956_IG17
-                       ;; size=9 bbWeight=0.50 PerfScore 0.75
+       jle      SHORT G_M46956_IG15
+                       ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M46956_IG13:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
        dec      r14d
-       lea      rax, [r12+4*r12]
-       add      ecx, -48
-       lea      r12, [rcx+2*rax]
+       lea      rax, [rax+4*rax]
+       add      r12d, -48
+       mov      ecx, r12d
+       lea      rax, [rcx+2*rax]
+       mov      r12, rax
        inc      rdi
-       movzx    rcx, byte  ptr [rdi]
-       mov      rax, 0xD1FFAB1E
-       cmp      r12, rax
-       jae      SHORT G_M46956_IG17
-       test     ecx, ecx
-       je       SHORT G_M46956_IG15
+       movzx    rax, byte  ptr [rdi]
+       mov      rcx, 0xD1FFAB1E
+       cmp      r12, rcx
+       jae      SHORT G_M46956_IG18
+       test     eax, eax
+       je       SHORT G_M46956_IG16
        cmp      r14d, -28
+       mov      ecx, eax
+       mov      rax, r12
+       mov      r12d, ecx
        jg       SHORT G_M46956_IG13
-                     ;; size=45 bbWeight=4 PerfScore 31.00
+                     ;; size=60 bbWeight=4 PerfScore 36.00
 G_M46956_IG14:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
-       jmp      SHORT G_M46956_IG17
-                       ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M46956_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
+       mov      rcx, rax
+       mov      eax, r12d
+       mov      r12, rcx
+       jmp      SHORT G_M46956_IG18
+                       ;; size=11 bbWeight=0.50 PerfScore 1.38
+G_M46956_IG15:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
+       mov      rcx, rax
+       mov      eax, r12d
+       mov      r12, rcx
+       jmp      SHORT G_M46956_IG18
+                       ;; size=11 bbWeight=0.25 PerfScore 0.69
+G_M46956_IG16:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
        test     r14d, r14d
-       jle      SHORT G_M46956_IG17
+       jle      SHORT G_M46956_IG18
                      ;; size=5 bbWeight=0.50 PerfScore 0.62
-G_M46956_IG16:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
+G_M46956_IG17:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
        dec      r14d
        lea      r12, [r12+4*r12]
        add      r12, r12
-       mov      rax, 0xD1FFAB1E
-       cmp      r12, rax
-       jae      SHORT G_M46956_IG17
+       mov      rcx, 0xD1FFAB1E
+       cmp      r12, rcx
+       jae      SHORT G_M46956_IG18
        test     r14d, r14d
-       jg       SHORT G_M46956_IG16
+       jg       SHORT G_M46956_IG17
                         ;; size=30 bbWeight=4 PerfScore 15.00
-G_M46956_IG17:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
-       xor      eax, eax
-       jmp      SHORT G_M46956_IG21
+G_M46956_IG18:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
+       xor      ecx, ecx
+       jmp      SHORT G_M46956_IG22
                         ;; size=4 bbWeight=0.50 PerfScore 1.12
-G_M46956_IG18:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
+G_M46956_IG19:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
        mov      edx, r12d
        lea      rdx, [rdx+4*rdx]
        add      rdx, rdx
@@ -210,179 +224,180 @@ G_M46956_IG18:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15},
        shl      rdx, 32
        add      r12, rdx
        shr      rsi, 32
-       lea      eax, [rax+4*rax]
-       lea      eax, [rsi+2*rax]
-       test     ecx, ecx
-       je       SHORT G_M46956_IG20
-       add      ecx, -48
-       mov      edx, ecx
+       lea      ecx, [rcx+4*rcx]
+       lea      ecx, [rsi+2*rcx]
+       test     eax, eax
+       je       SHORT G_M46956_IG21
+       add      eax, -48
+       mov      edx, eax
        add      r12, rdx
-       cmp      r12, rcx
-       jae      SHORT G_M46956_IG19
-       inc      eax
+       cmp      r12, rax
+       jae      SHORT G_M46956_IG20
+       inc      ecx
                         ;; size=74 bbWeight=2 PerfScore 19.50
-G_M46956_IG19:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref
-       inc      rdi
-       movzx    rcx, byte  ptr [rdi]
-                       ;; size=6 bbWeight=2 PerfScore 4.50
 G_M46956_IG20:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref
+       inc      rdi
+       movzx    rax, byte  ptr [rdi]
+                       ;; size=6 bbWeight=2 PerfScore 4.50
+G_M46956_IG21:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref
        dec      r14d
                        ;; size=3 bbWeight=2 PerfScore 0.50
-G_M46956_IG21:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
+G_M46956_IG22:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
        test     r14d, r14d
-       jg       SHORT G_M46956_IG23
+       jg       SHORT G_M46956_IG24
                        ;; size=5 bbWeight=4 PerfScore 5.00
-G_M46956_IG22:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref
-       test     ecx, ecx
-       je       G_M46956_IG30
+G_M46956_IG23:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref
+       test     eax, eax
+       je       G_M46956_IG31
        cmp      r14d, -28
-       jle      G_M46956_IG29
+       jle      G_M46956_IG30
                        ;; size=18 bbWeight=2 PerfScore 5.00
-G_M46956_IG23:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
-       cmp      eax, 0xD1FFAB1E
-       jb       SHORT G_M46956_IG18
-       mov      dword ptr [rbp-0x2C], eax
-       cmp      eax, 0xD1FFAB1E
-       jne      SHORT G_M46956_IG25
+G_M46956_IG24:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15}, byref, isz
+       cmp      ecx, 0xD1FFAB1E
+       jb       SHORT G_M46956_IG19
+       mov      dword ptr [rbp-0x2C], ecx
+       cmp      ecx, 0xD1FFAB1E
+       jne      SHORT G_M46956_IG26
        mov      rdx, 0xD1FFAB1E
        cmp      r12, rdx
-       mov      eax, dword ptr [rbp-0x2C]
-       jb       G_M46956_IG18
+       mov      ecx, dword ptr [rbp-0x2C]
+       jb       G_M46956_IG19
        mov      rdx, 0xD1FFAB1E
        cmp      r12, rdx
-       jne      SHORT G_M46956_IG28
...
  
+28 (+9.49%) : 24107.dasm - Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
@@ -12,33 +12,35 @@
 ;  V01 arg0         [V01,T04] (  7,  5   )     int  ->  r15         single-def
 ;  V02 loc0         [V02,T05] (  5,  2.50)     int  ->  r14         single-def
 ;  V03 loc1         [V03,T01] ( 11,  8.04)     ref  ->  rsi         class-hnd single-def <ulong[]>
-;  V04 loc2         [V04,T02] ( 10,  8   )     int  ->  rdi         single-def
-;  V05 loc3         [V05,T07] (  3,  1.50)    long  ->  r13        
-;  V06 loc4         [V06,T08] (  3,  1.50)     int  ->  rax         single-def
-;  V07 loc5         [V07,T00] ( 10, 16.54)     int  ->  rax        
-;  V08 loc6         [V08,T09] (  3,  1.50)    long  ->  rax         single-def
+;  V04 loc2         [V04,T02] ( 10,  8   )     int  ->  r13         single-def
+;  V05 loc3         [V05,T07] (  3,  1.50)    long  ->  r12        
+;  V06 loc4         [V06,T08] (  3,  1.50)     int  ->  rdi         single-def
+;  V07 loc5         [V07,T00] ( 10, 16.54)     int  ->  rdi        
+;  V08 loc6         [V08,T09] (  3,  1.50)    long  ->  rdi         single-def
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V10 tmp1         [V10,T06] (  3,  1.50)     ref  ->  rax        
 ;* V11 tmp2         [V11    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.BitVector>
 ;  V12 tmp3         [V12,T11] (  2,  1   )     int  ->  r14         "Inline return value spill temp"
 ;* V13 tmp4         [V13    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;  V14 tmp5         [V14,T10] (  2,  1   )     ref  ->  rsi         single-def "field V11._bits (fldOffset=0x0)" P-INDEP
-;  V15 tmp6         [V15,T12] (  2,  1   )    long  ->  r13         single-def "field V11._bits0 (fldOffset=0x8)" P-INDEP
+;  V15 tmp6         [V15,T12] (  2,  1   )    long  ->  r12         single-def "field V11._bits0 (fldOffset=0x8)" P-INDEP
 ;  V16 tmp7         [V16,T13] (  2,  1   )     int  ->  r15         single-def "field V11._capacity (fldOffset=0x10)" P-INDEP
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M40875_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
        push     r13
+       push     r12
        push     rbx
-       lea      rbp, [rsp+0x20]
+       push     rax
+       lea      rbp, [rsp+0x30]
        mov      rbx, rdi
        ; byrRegs +[rbx]
        mov      r15d, esi
-                        ;; size=19 bbWeight=1 PerfScore 6.00
+                      ;; size=22 bbWeight=1 PerfScore 8.00
 G_M40875_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
        test     r15d, r15d
        jne      SHORT G_M40875_IG05
@@ -59,13 +61,15 @@ G_M40875_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx},
        ; byrRegs +[rax]
                        ;; size=32 bbWeight=0.50 PerfScore 3.00
 G_M40875_IG04:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
        pop      rbx
+       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=9 bbWeight=0.50 PerfScore 1.75
+                        ;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M40875_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, gcvars, byref, isz
        ; byrRegs -[rax rsi rdi]
        lea      r14d, [r15-0x01]
@@ -90,82 +94,84 @@ G_M40875_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx},
 G_M40875_IG07:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0008 {rbx}, byref, isz
        mov      rsi, rax
        ; gcrRegs +[rsi]
-       lea      edi, [r14-0x01]
-       mov      r13, -1
-       xor      eax, eax
-       ; gcrRegs -[rax]
-       test     edi, edi
+       lea      r13d, [r14-0x01]
+       mov      r12, -1
+       xor      edi, edi
+       test     r13d, r13d
        jle      SHORT G_M40875_IG11
        test     rsi, rsi
        je       SHORT G_M40875_IG10
-       cmp      dword ptr [rsi+0x08], edi
+       cmp      dword ptr [rsi+0x08], r13d
        jl       SHORT G_M40875_IG10
-                        ;; size=33 bbWeight=0.50 PerfScore 3.88
+                       ;; size=35 bbWeight=0.50 PerfScore 3.88
 G_M40875_IG08:        ; bbWeight=3.96, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
-       mov      ecx, eax
-       mov      qword ptr [rsi+8*rcx+0x10], -1
-       inc      eax
-       cmp      eax, edi
+       ; gcrRegs -[rax]
+       mov      eax, edi
+       mov      qword ptr [rsi+8*rax+0x10], -1
+       inc      edi
+       cmp      edi, r13d
        jl       SHORT G_M40875_IG08
-                     ;; size=17 bbWeight=3.96 PerfScore 10.89
+                      ;; size=18 bbWeight=3.96 PerfScore 10.89
 G_M40875_IG09:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
        jmp      SHORT G_M40875_IG11
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
 G_M40875_IG10:        ; bbWeight=0.04, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
-       cmp      eax, dword ptr [rsi+0x08]
-       jae      SHORT G_M40875_IG16
-       mov      ecx, eax
-       mov      qword ptr [rsi+8*rcx+0x10], -1
-       inc      eax
-       cmp      eax, edi
-       jl       SHORT G_M40875_IG10
-                       ;; size=22 bbWeight=0.04 PerfScore 0.27
-G_M40875_IG11:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
-       mov      eax, r15d
-       and      eax, 63
-       jle      SHORT G_M40875_IG13
-       mov      rcx, -1
-       shlx     rax, rcx, rax
-       not      rax
-       test     edi, edi
-       jge      SHORT G_M40875_IG12
-       mov      r13, rax
-       jmp      SHORT G_M40875_IG14
-                       ;; size=35 bbWeight=0.50 PerfScore 3.00
-G_M40875_IG12:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
        cmp      edi, dword ptr [rsi+0x08]
-       jae      SHORT G_M40875_IG16
-       mov      edi, edi
-       mov      qword ptr [rsi+8*rdi+0x10], rax
+       jae      G_M40875_IG16
+       mov      eax, edi
+       mov      qword ptr [rsi+8*rax+0x10], -1
+       inc      edi
+       cmp      edi, r13d
+       jl       SHORT G_M40875_IG10
+                       ;; size=27 bbWeight=0.04 PerfScore 0.27
+G_M40875_IG11:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
+       mov      edi, r15d
+       and      edi, 63
+       jle      SHORT G_M40875_IG13
+       mov      rax, -1
+       shlx     rdi, rax, rdi
+       not      rdi
+       test     r13d, r13d
+       jge      SHORT G_M40875_IG12
+       mov      r12, rdi
        jmp      SHORT G_M40875_IG14
-                      ;; size=14 bbWeight=0.50 PerfScore 3.62
+                       ;; size=36 bbWeight=0.50 PerfScore 3.00
+G_M40875_IG12:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
+       cmp      r13d, dword ptr [rsi+0x08]
+       jae      SHORT G_M40875_IG16
+       mov      eax, r13d
+       mov      qword ptr [rsi+8*rax+0x10], rdi
+       jmp      SHORT G_M40875_IG14
+                       ;; size=16 bbWeight=0.50 PerfScore 3.62
 G_M40875_IG13:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
        test     r14d, r14d
        jle      SHORT G_M40875_IG14
-       cmp      edi, dword ptr [rsi+0x08]
+       cmp      r13d, dword ptr [rsi+0x08]
        jae      SHORT G_M40875_IG16
-       mov      edi, edi
+       mov      edi, r13d
        mov      qword ptr [rsi+8*rdi+0x10], -1
-                     ;; size=21 bbWeight=0.50 PerfScore 3.25
+                       ;; size=23 bbWeight=0.50 PerfScore 3.25
 G_M40875_IG14:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref
        mov      rdi, rbx
        ; byrRegs +[rdi]
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        ; gcrRegs -[rsi]
        ; byrRegs -[rdi]
-       mov      qword ptr [rbx+0x08], r13
+       mov      qword ptr [rbx+0x08], r12
        mov      dword ptr [rbx+0x10], r15d
        mov      rax, rbx
        ; byrRegs +[rax]
                        ;; size=19 bbWeight=0.50 PerfScore 1.75
 G_M40875_IG15:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
        pop      rbx
+       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=9 bbWeight=0.50 PerfScore 1.75
+                        ;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M40875_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; byrRegs -[rax rbx]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -173,7 +179,7 @@ G_M40875_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 295, prolog size 19, PerfScore 44.78, instruction count 93, allocated bytes for code 295 (MethodHash=4a676054) for method Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
+; Total bytes of code 323, prolog size 22, PerfScore 47.53, instruction count 99, allocated bytes for code 323 (MethodHash=4a676054) for method Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -181,12 +187,14 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x08
-  CountOfUnwindCodes: 5
+  SizeOfProlog      : 0x0B
+  CountOfUnwindCodes: 7
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    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: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
  
  
  
Details
Improvements/regressions per collection
| Collection | Contexts with diffs | Improvements | Regressions | Same size | Improvements (bytes) | Regressions (bytes) | 
| benchmarks.run.linux.x64.checked.mch | 232 | 91 | 60 | 81 | -697 | +343 | 
| benchmarks.run_pgo.linux.x64.checked.mch | 3,425 | 2,202 | 967 | 256 | -27,176 | +7,364 | 
| benchmarks.run_tiered.linux.x64.checked.mch | 112 | 42 | 28 | 42 | -1,001 | +175 | 
| coreclr_tests.run.linux.x64.checked.mch | 1,860 | 573 | 897 | 390 | -6,484 | +6,677 | 
| libraries.crossgen2.linux.x64.checked.mch | 3 | 2 | 0 | 1 | -12 | +0 | 
| libraries.pmi.linux.x64.checked.mch | 1,271 | 575 | 311 | 385 | -3,182 | +2,592 | 
| libraries_tests.run.linux.x64.Release.mch | 12,037 | 4,523 | 4,882 | 2,632 | -106,415 | +60,889 | 
| librariestestsnotieredcompilation.run.linux.x64.Release.mch | 1,481 | 560 | 452 | 469 | -4,838 | +3,263 | 
| realworld.run.linux.x64.checked.mch | 340 | 128 | 73 | 139 | -886 | +687 | 
| smoke_tests.nativeaot.linux.x64.checked.mch | 0 | 0 | 0 | 0 | -0 | +0 | 
|  | 20,761 | 8,696 | 7,670 | 4,395 | -150,691 | +81,990 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| benchmarks.run.linux.x64.checked.mch | 34,976 | 3,135 | 31,841 | 0 (0.00%) | 0 (0.00%) | 
| benchmarks.run_pgo.linux.x64.checked.mch | 159,248 | 61,749 | 97,499 | 0 (0.00%) | 0 (0.00%) | 
| benchmarks.run_tiered.linux.x64.checked.mch | 57,701 | 43,269 | 14,432 | 0 (0.00%) | 0 (0.00%) | 
| coreclr_tests.run.linux.x64.checked.mch | 597,801 | 355,076 | 242,725 | 4 (0.00%) | 4 (0.00%) | 
| libraries.crossgen2.linux.x64.checked.mch | 1,919 | 0 | 1,919 | 0 (0.00%) | 0 (0.00%) | 
| libraries.pmi.linux.x64.checked.mch | 296,703 | 6 | 296,697 | 0 (0.00%) | 0 (0.00%) | 
| libraries_tests.run.linux.x64.Release.mch | 751,371 | 494,448 | 256,923 | 0 (0.00%) | 0 (0.00%) | 
| librariestestsnotieredcompilation.run.linux.x64.Release.mch | 305,339 | 21,912 | 283,427 | 0 (0.00%) | 0 (0.00%) | 
| realworld.run.linux.x64.checked.mch | 33,083 | 7 | 33,076 | 0 (0.00%) | 0 (0.00%) | 
| smoke_tests.nativeaot.linux.x64.checked.mch | 49 | 0 | 49 | 0 (0.00%) | 0 (0.00%) | 
|  | 2,238,190 | 979,602 | 1,258,588 | 4 (0.00%) | 4 (0.00%) | 
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: 13724528 (overridden on cmd)
Total bytes of diff: 13724174 (overridden on cmd)
Total bytes of delta: -354 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          52 : 20405.dasm (0.69 % of base)
          35 : 16182.dasm (4.14 % of base)
          15 : 20641.dasm (1.10 % of base)
          13 : 13542.dasm (3.39 % of base)
          13 : 2239.dasm (1.47 % of base)
          11 : 12185.dasm (0.39 % of base)
          11 : 9582.dasm (0.76 % of base)
          10 : 27851.dasm (0.09 % of base)
          10 : 32460.dasm (0.09 % of base)
          10 : 25230.dasm (2.76 % of base)
           9 : 9068.dasm (0.08 % of base)
           9 : 11170.dasm (0.07 % of base)
           8 : 10386.dasm (0.35 % of base)
           8 : 19446.dasm (0.73 % of base)
           7 : 19873.dasm (0.21 % of base)
           7 : 28948.dasm (1.33 % of base)
           7 : 5514.dasm (1.46 % of base)
           6 : 2908.dasm (0.12 % of base)
           5 : 12199.dasm (0.38 % of base)
           5 : 10263.dasm (0.41 % of base)
Top file improvements (bytes):
        -101 : 2155.dasm (-5.13 % of base)
         -61 : 10011.dasm (-1.33 % of base)
         -44 : 15900.dasm (-2.77 % of base)
         -43 : 13428.dasm (-2.72 % of base)
         -30 : 19444.dasm (-2.94 % of base)
         -29 : 19447.dasm (-0.91 % of base)
         -28 : 3932.dasm (-3.20 % of base)
         -28 : 55.dasm (-3.59 % of base)
         -18 : 167.dasm (-1.61 % of base)
         -15 : 2167.dasm (-0.16 % of base)
         -14 : 20642.dasm (-0.49 % of base)
         -12 : 11256.dasm (-0.43 % of base)
         -11 : 6394.dasm (-0.47 % of base)
         -11 : 28950.dasm (-2.27 % of base)
          -9 : 5505.dasm (-2.34 % of base)
          -8 : 10192.dasm (-0.54 % of base)
          -8 : 20692.dasm (-0.36 % of base)
          -7 : 17545.dasm (-0.20 % of base)
          -7 : 4065.dasm (-0.33 % of base)
          -7 : 7204.dasm (-0.37 % of base)
65 total files with Code Size differences (33 improved, 32 regressed), 20 unchanged.
Top method regressions (bytes):
          52 (0.69 % of base) : 20405.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)
          35 (4.14 % of base) : 16182.dasm - System.Number:TryNumberToDecimal(byref,byref):ubyte (FullOpts)
          15 (1.10 % of base) : 20641.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbolsWithNoPiaLocalTypes(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):ubyte:this (FullOpts)
          13 (1.47 % of base) : 2239.dasm - System.Number:TryParseBinaryIntegerHexOrBinaryNumberStyle[ushort,uint,System.Number+HexParser`1[uint]](System.ReadOnlySpan`1[ushort],int,byref):int (FullOpts)
          13 (3.39 % of base) : 13542.dasm - System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
          11 (0.76 % of base) : 9582.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (FullOpts)
          11 (0.39 % of base) : 12185.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          10 (0.09 % of base) : 32460.dasm - Jil.Deserialize.Methods:_ReadISO8601DateThunkReader(byref,ushort[]):System.DateTime (FullOpts)
          10 (0.09 % of base) : 27851.dasm - Jil.Deserialize.Methods:_ReadISO8601DateWithOffsetThunkReader(byref,ushort[]):System.DateTimeOffset (FullOpts)
          10 (2.76 % of base) : 25230.dasm - System.Collections.Concurrent.ConcurrentBag`1[int]:ToArray():int[]:this (FullOpts)
           9 (0.08 % of base) : 9068.dasm - MessagePack.Internal.ObjectSerializationInfo:CreateOrNull(System.Type,ubyte,ubyte,ubyte):MessagePack.Internal.ObjectSerializationInfo (FullOpts)
           9 (0.07 % of base) : 11170.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)
           8 (0.73 % of base) : 19446.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (FullOpts)
           8 (0.35 % of base) : 10386.dasm - System.Number:TryParseNumber(byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (FullOpts)
           7 (1.33 % of base) : 28948.dasm - Benchstone.BenchI.Array2:Bench(int):ubyte (FullOpts)
           7 (0.21 % of base) : 19873.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (FullOpts)
           7 (1.46 % of base) : 5514.dasm - System.Globalization.CompareInfo:EndsWithOrdinalIgnoreCaseHelper(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int,ulong):ubyte:this (FullOpts)
           6 (0.12 % of base) : 2908.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (FullOpts)
           5 (0.38 % of base) : 12199.dasm - System.IO.RandomAccess:WriteGatherAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList`1[System.ReadOnlyMemory`1[ubyte]],long) (FullOpts)
           5 (0.41 % of base) : 10263.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
Top method improvements (bytes):
        -101 (-5.13 % of base) : 2155.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
         -61 (-1.33 % of base) : 10011.dasm - Utf8Json.Formatters.ISO8601DateTimeFormatter:Deserialize(byref,Utf8Json.IJsonFormatterResolver):System.DateTime:this (FullOpts)
         -44 (-2.77 % of base) : 15900.dasm - AssignJagged:second_assignments(int[][],short[][]) (FullOpts)
         -43 (-2.72 % of base) : 13428.dasm - System.String:SplitWithPostProcessing(System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int],int,int,int):System.String[]:this (FullOpts)
         -30 (-2.94 % of base) : 19444.dasm - LUDecomp:Run():double:this (FullOpts)
         -29 (-0.91 % of base) : 19447.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (FullOpts)
         -28 (-3.20 % of base) : 3932.dasm - System.Reflection.CustomAttributeEncodedArgument:ParseNamedArgs(byref,System.Reflection.CustomAttributeNamedParameter[],System.Reflection.RuntimeModule) (FullOpts)
         -28 (-3.59 % of base) : 55.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
         -18 (-1.61 % of base) : 167.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,int](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (FullOpts)
         -15 (-0.16 % of base) : 2167.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -14 (-0.49 % of base) : 20642.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 (FullOpts)
         -12 (-0.43 % of base) : 11256.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[]):System.Reflection.Assembly (FullOpts)
         -11 (-2.27 % of base) : 28950.dasm - Benchstone.BenchI.Array2:VerifyCopy(int[][][],int[][][]):ubyte (FullOpts)
         -11 (-0.47 % of base) : 6394.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -9 (-2.34 % of base) : 5505.dasm - System.Collections.Frozen.KeyAnalyzer:CreateAnalysisResults(System.ReadOnlySpan`1[System.String],ubyte,int,int,int,int,ubyte,System.Collections.Frozen.KeyAnalyzer+GetSpan):System.Collections.Frozen.KeyAnalyzer+AnalysisResults (FullOpts)
          -8 (-0.36 % of base) : 20692.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)
          -8 (-0.54 % of base) : 10192.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.Text.RegularExpressions.RegexCache+Key,System.__Canon]:TryRemoveInternal(System.Text.RegularExpressions.RegexCache+Key,byref,ubyte,System.__Canon):ubyte:this (FullOpts)
          -7 (-0.20 % of base) : 17545.dasm - Benchstone.BenchI.MulMatrix:Inner(int[][],int[][],int[][]) (FullOpts)
          -7 (-2.55 % of base) : 26096.dasm - Benchstone.BenchI.XposMatrix:Test():ubyte:this (FullOpts)
          -7 (-0.37 % of base) : 7204.dasm - System.Enum:FormatFlagNames[uint](System.Enum+EnumInfo`1[uint],uint):System.String (FullOpts)
Top method regressions (percentages):
          35 (4.14 % of base) : 16182.dasm - System.Number:TryNumberToDecimal(byref,byref):ubyte (FullOpts)
          13 (3.39 % of base) : 13542.dasm - System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
          10 (2.76 % of base) : 25230.dasm - System.Collections.Concurrent.ConcurrentBag`1[int]:ToArray():int[]:this (FullOpts)
           3 (1.94 % of base) : 16292.dasm - System.MemoryExtensions:TrimStart(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort] (FullOpts)
           4 (1.75 % of base) : 16757.dasm - System.Runtime.Serialization.Json.XmlJsonReader:ComputeQuotedTextLengthUntilEndQuote(ubyte[],int,int,byref):int (FullOpts)
          13 (1.47 % of base) : 2239.dasm - System.Number:TryParseBinaryIntegerHexOrBinaryNumberStyle[ushort,uint,System.Number+HexParser`1[uint]](System.ReadOnlySpan`1[ushort],int,byref):int (FullOpts)
           7 (1.46 % of base) : 5514.dasm - System.Globalization.CompareInfo:EndsWithOrdinalIgnoreCaseHelper(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int,ulong):ubyte:this (FullOpts)
           2 (1.45 % of base) : 12268.dasm - System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
           7 (1.33 % of base) : 28948.dasm - Benchstone.BenchI.Array2:Bench(int):ubyte (FullOpts)
           3 (1.32 % of base) : 4630.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[int]:TryDequeue(byref):ubyte:this (FullOpts)
           2 (1.26 % of base) : 16293.dasm - System.MemoryExtensions:TrimEnd(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort] (FullOpts)
           4 (1.14 % of base) : 14802.dasm - System.Reflection.RuntimePropertyInfo:SetValue(System.Object,System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):this (FullOpts)
          15 (1.10 % of base) : 20641.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbolsWithNoPiaLocalTypes(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):ubyte:this (FullOpts)
           3 (0.96 % of base) : 16501.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           3 (0.77 % of base) : 28709.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryFindNextPossibleStartingPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          11 (0.76 % of base) : 9582.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (FullOpts)
           8 (0.73 % of base) : 19446.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (FullOpts)
           1 (0.72 % of base) : 6572.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:AddUniqueStatus(System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],byref) (FullOpts)
           2 (0.69 % of base) : 7639.dasm - Sigil.Impl.LinqAlternative:_Order[int,int](System.Collections.Generic.IEnumerable`1[int],Sigil.Impl.SigilFunc`2[int,int],System.Collections.Generic.IComparer`1[int]):System.Collections.Generic.IEnumerable`1[int] (FullOpts)
          52 (0.69 % of base) : 20405.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)
Top method improvements (percentages):
        -101 (-5.13 % of base) : 2155.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
         -28 (-3.59 % of base) : 55.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
         -28 (-3.20 % of base) : 3932.dasm - System.Reflection.CustomAttributeEncodedArgument:ParseNamedArgs(byref,System.Reflection.CustomAttributeNamedParameter[],System.Reflection.RuntimeModule) (FullOpts)
         -30 (-2.94 % of base) : 19444.dasm - LUDecomp:Run():double:this (FullOpts)
         -44 (-2.77 % of base) : 15900.dasm - AssignJagged:second_assignments(int[][],short[][]) (FullOpts)
         -43 (-2.72 % of base) : 13428.dasm - System.String:SplitWithPostProcessing(System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int],int,int,int):System.String[]:this (FullOpts)
          -7 (-2.55 % of base) : 26096.dasm - Benchstone.BenchI.XposMatrix:Test():ubyte:this (FullOpts)
          -9 (-2.34 % of base) : 5505.dasm - System.Collections.Frozen.KeyAnalyzer:CreateAnalysisResults(System.ReadOnlySpan`1[System.String],ubyte,int,int,int,int,ubyte,System.Collections.Frozen.KeyAnalyzer+GetSpan):System.Collections.Frozen.KeyAnalyzer+AnalysisResults (FullOpts)
         -11 (-2.27 % of base) : 28950.dasm - Benchstone.BenchI.Array2:VerifyCopy(int[][][],int[][][]):ubyte (FullOpts)
         -18 (-1.61 % of base) : 167.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,int](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (FullOpts)
         -61 (-1.33 % of base) : 10011.dasm - Utf8Json.Formatters.ISO8601DateTimeFormatter:Deserialize(byref,Utf8Json.IJsonFormatterResolver):System.DateTime:this (FullOpts)
          -5 (-1.01 % of base) : 8668.dasm - BenchmarksGame.Mandelbrot_2:DoBench(int,System.IO.MemoryStream,ubyte) (FullOpts)
          -5 (-0.94 % of base) : 5240.dasm - System.Reflection.Emit.DynamicILGenerator:AddParameters(System.Reflection.Emit.SignatureHelper,System.Type[],System.Type[][],System.Type[][]):this (FullOpts)
         -29 (-0.91 % of base) : 19447.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (FullOpts)
          -2 (-0.84 % of base) : 7890.dasm - Jil.Common.ExtensionMethods:GetConstructor(System.Type,int,System.Type[]):System.Reflection.ConstructorInfo (FullOpts)
          -5 (-0.79 % of base) : 908.dasm - System.Reflection.Emit.SignatureHelper:AddArguments(System.Type[],System.Type[][],System.Type[][]):this (FullOpts)
          -4 (-0.78 % of base) : 25849.dasm - System.Collections.Frozen.OrdinalStringFrozenSet:.ctor(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int,int,int):this (FullOpts)
          -6 (-0.78 % of base) : 864.dasm - System.Reflection.CustomAttribute:GetCustomAttributes(System.RuntimeType,System.RuntimeType,ubyte):System.Object[] (FullOpts)
          -2 (-0.77 % of base) : 309.dasm - System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:Rehash(int):this (FullOpts)
          -2 (-0.66 % of base) : 1296.dasm - System.Linq.EnumerableSorter`2[double,double]:ComputeKeys(double[],int):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: 70979074 (overridden on cmd)
Total bytes of diff: 70959262 (overridden on cmd)
Total bytes of delta: -19812 (-0.03 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
         128 : 140051.dasm (6.92 % of base)
         103 : 145925.dasm (6.62 % of base)
          78 : 101696.dasm (1.75 % of base)
          64 : 149392.dasm (1.15 % of base)
          44 : 158482.dasm (1.25 % of base)
          44 : 153624.dasm (1.44 % of base)
          41 : 158348.dasm (1.55 % of base)
          40 : 59805.dasm (1.30 % of base)
          40 : 98822.dasm (1.30 % of base)
          40 : 106408.dasm (1.31 % of base)
          40 : 62536.dasm (1.30 % of base)
          40 : 74785.dasm (0.61 % of base)
          38 : 111648.dasm (6.79 % of base)
          38 : 116330.dasm (6.79 % of base)
          38 : 145175.dasm (6.79 % of base)
          38 : 50278.dasm (6.79 % of base)
          38 : 154481.dasm (6.79 % of base)
          38 : 72474.dasm (6.79 % of base)
          38 : 127293.dasm (6.79 % of base)
          38 : 134083.dasm (6.79 % of base)
Top file improvements (bytes):
        -472 : 35788.dasm (-34.20 % of base)
        -471 : 35802.dasm (-33.48 % of base)
        -174 : 146376.dasm (-4.18 % of base)
        -135 : 74754.dasm (-23.00 % of base)
        -135 : 74784.dasm (-23.00 % of base)
        -103 : 102662.dasm (-0.61 % of base)
         -92 : 72297.dasm (-1.54 % of base)
         -85 : 132319.dasm (-1.18 % of base)
         -80 : 140488.dasm (-5.67 % of base)
         -75 : 97991.dasm (-1.39 % of base)
         -72 : 145598.dasm (-1.29 % of base)
         -62 : 27401.dasm (-7.81 % of base)
         -62 : 30429.dasm (-7.81 % of base)
         -62 : 49465.dasm (-7.82 % of base)
         -62 : 65813.dasm (-7.81 % of base)
         -62 : 76121.dasm (-7.81 % of base)
         -62 : 21973.dasm (-7.81 % of base)
         -62 : 23489.dasm (-7.81 % of base)
         -62 : 54945.dasm (-7.81 % of base)
         -62 : 57373.dasm (-7.81 % of base)
84 total files with Code Size differences (44 improved, 40 regressed), 20 unchanged.
Top method regressions (bytes):
         128 (6.92 % of base) : 140051.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1-OSR)
         103 (6.62 % of base) : 145925.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Tier1-OSR)
          78 (1.75 % of base) : 101696.dasm - Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass:VisitBlock(Microsoft.CodeAnalysis.CSharp.BoundBlock):Microsoft.CodeAnalysis.CSharp.BoundNode:this (Tier1)
          64 (1.15 % of base) : 149392.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseInsensitiveAscii]:IndexOf(byref,int):int:this (Tier1)
          44 (1.44 % of base) : 153624.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ulong,int,ulong,int,byref,byref):int (Tier1)
          44 (1.25 % of base) : 158482.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          41 (1.55 % of base) : 158348.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ulong]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ulong]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ulong]:this (Tier1)
          40 (0.61 % of base) : 74785.dasm - LUDecomp:Run():double:this (Tier1)
          40 (1.30 % of base) : 59805.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ulong,int,ulong,int,byref,byref):int (Tier1)
          40 (1.30 % of base) : 98822.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ulong,int,ulong,int,byref,byref):int (Tier1)
          40 (1.31 % of base) : 106408.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ulong,int,ulong,int,byref,byref):int (Tier1)
          40 (1.30 % of base) : 62536.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ulong,int,ulong,int,byref,byref):int (Tier1)
          38 (6.79 % of base) : 111648.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          38 (6.79 % of base) : 116330.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          38 (6.79 % of base) : 145175.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          38 (6.79 % of base) : 50278.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          38 (6.79 % of base) : 154481.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          38 (6.79 % of base) : 72474.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          38 (6.79 % of base) : 127293.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          38 (6.79 % of base) : 134083.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
Top method improvements (bytes):
        -472 (-34.20 % of base) : 35788.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -471 (-33.48 % of base) : 35802.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -174 (-4.18 % of base) : 146376.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength4To7,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1)
        -135 (-23.00 % of base) : 74754.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -135 (-23.00 % of base) : 74784.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -103 (-0.61 % of base) : 102662.dasm - System.Collections.Generic.ArraySortHelper`1[System.__Canon]:IntroSort(System.Span`1[System.__Canon],int,System.Comparison`1[System.__Canon]) (Tier1)
         -92 (-1.54 % of base) : 72297.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -85 (-1.18 % of base) : 132319.dasm - System.Collections.Generic.ArraySortHelper`1[System.__Canon]:IntroSort(System.Span`1[System.__Canon],int,System.Comparison`1[System.__Canon]) (Tier1)
         -80 (-5.67 % of base) : 140488.dasm - System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[System.__Canon]:WriteAsync(System.__Canon,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (Tier1)
         -75 (-1.39 % of base) : 97991.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -72 (-1.29 % of base) : 145598.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -62 (-7.81 % of base) : 27401.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -62 (-7.81 % of base) : 30429.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -62 (-7.82 % of base) : 49465.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -62 (-7.81 % of base) : 65813.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -62 (-7.81 % of base) : 76121.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -62 (-7.81 % of base) : 21973.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -62 (-7.81 % of base) : 23489.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -62 (-7.81 % of base) : 54945.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -62 (-7.81 % of base) : 57373.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
Top method regressions (percentages):
          21 (13.04 % of base) : 118058.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[int]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
          20 (11.43 % of base) : 128904.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[System.__Canon]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
          29 (11.15 % of base) : 113880.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          26 (7.58 % of base) : 100324.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          26 (7.58 % of base) : 85467.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
         128 (6.92 % of base) : 140051.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1-OSR)
          38 (6.79 % of base) : 111648.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          38 (6.79 % of base) : 116330.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          38 (6.79 % of base) : 145175.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          38 (6.79 % of base) : 50278.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          38 (6.79 % of base) : 154481.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          38 (6.79 % of base) : 72474.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          38 (6.79 % of base) : 127293.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          38 (6.79 % of base) : 134083.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          38 (6.79 % of base) : 25227.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          38 (6.79 % of base) : 70665.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
         103 (6.62 % of base) : 145925.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Tier1-OSR)
          20 (5.65 % of base) : 69299.dasm - Benchstone.BenchF.InProd:Test():ubyte:this (Tier1-OSR)
          35 (4.49 % of base) : 122476.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1-OSR)
          35 (4.49 % of base) : 38008.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 improvements (percentages):
        -472 (-34.20 % of base) : 35788.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -471 (-33.48 % of base) : 35802.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -135 (-23.00 % of base) : 74754.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -135 (-23.00 % of base) : 74784.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -22 (-11.89 % of base) : 50789.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 59649.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 66390.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 99298.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 117426.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 121157.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 44642.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 107217.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 119094.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 123218.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 151873.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 18481.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 31437.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 37474.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 59489.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 70870.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (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: 16627330 (overridden on cmd)
Total bytes of diff: 16626504 (overridden on cmd)
Total bytes of delta: -826 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          24 : 34478.dasm (0.73 % of base)
          20 : 48027.dasm (0.23 % of base)
          18 : 35426.dasm (2.39 % of base)
          17 : 12702.dasm (1.90 % of base)
          11 : 25571.dasm (0.39 % of base)
           9 : 25914.dasm (0.07 % of base)
           8 : 24540.dasm (1.11 % of base)
           8 : 35431.dasm (0.73 % of base)
           8 : 26451.dasm (0.35 % of base)
           7 : 36233.dasm (0.22 % of base)
           6 : 24170.dasm (0.12 % of base)
           5 : 25564.dasm (0.38 % of base)
           4 : 46307.dasm (0.07 % of base)
           4 : 7258.dasm (0.66 % of base)
           3 : 24648.dasm (0.36 % of base)
           3 : 43419.dasm (0.19 % of base)
           3 : 52974.dasm (0.77 % of base)
           2 : 24664.dasm (0.27 % of base)
           2 : 46641.dasm (0.14 % of base)
           2 : 48653.dasm (0.38 % of base)
Top file improvements (bytes):
        -454 : 21449.dasm (-32.41 % of base)
        -177 : 35422.dasm (-17.32 % of base)
         -44 : 30368.dasm (-2.77 % of base)
         -39 : 47455.dasm (-5.41 % of base)
         -30 : 35429.dasm (-2.94 % of base)
         -29 : 35427.dasm (-0.91 % of base)
         -28 : 1220.dasm (-3.59 % of base)
         -28 : 50943.dasm (-3.20 % of base)
         -19 : 47760.dasm (-2.10 % of base)
         -18 : 1036.dasm (-1.61 % of base)
         -17 : 33387.dasm (-0.81 % of base)
         -11 : 8961.dasm (-0.47 % of base)
          -9 : 35424.dasm (-0.31 % of base)
          -7 : 34479.dasm (-0.20 % of base)
          -7 : 56191.dasm (-0.93 % of base)
          -6 : 21977.dasm (-2.80 % of base)
          -6 : 8496.dasm (-0.78 % of base)
          -6 : 24647.dasm (-0.38 % of base)
          -5 : 53048.dasm (-1.11 % of base)
          -5 : 8581.dasm (-0.79 % of base)
51 total files with Code Size differences (26 improved, 25 regressed), 20 unchanged.
Top method regressions (bytes):
          24 (0.73 % of base) : 34478.dasm - Benchstone.BenchI.MulMatrix:Inner(int[][],int[][],int[][]) (Tier1-OSR)
          20 (0.23 % of base) : 48027.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
          18 (2.39 % of base) : 35426.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1-OSR)
          17 (1.90 % of base) : 12702.dasm - System.Number:TryParseBinaryIntegerHexOrBinaryNumberStyle[ushort,ubyte,System.Number+HexParser`1[ubyte]](System.ReadOnlySpan`1[ushort],int,byref):int (Tier1)
          11 (0.39 % of base) : 25571.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
           9 (0.07 % of base) : 25914.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 (Tier1)
           8 (0.73 % of base) : 35431.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1)
           8 (1.11 % of base) : 24540.dasm - System.Collections.Utils:FillCollections[System.__Canon,System.Collections.BigStruct](byref,int,System.Collections.BigStruct[]) (Tier1-OSR)
           8 (0.35 % of base) : 26451.dasm - System.Number:TryParseNumber(byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (Tier1)
           7 (0.22 % of base) : 36233.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (Tier0-FullOpts)
           6 (0.12 % of base) : 24170.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1)
           5 (0.38 % of base) : 25564.dasm - System.IO.RandomAccess:WriteGatherAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList`1[System.ReadOnlyMemory`1[ubyte]],long) (Tier0-FullOpts)
           4 (0.07 % of base) : 46307.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol:GetMergedGlobalAliasesAndUsings(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+MergedGlobalAliasesAndUsings:this (Tier1)
           4 (0.66 % of base) : 7258.dasm - System.Linq.Enumerable:MinFloat[double](System.Collections.Generic.IEnumerable`1[double]):double (Tier1)
           3 (0.19 % of base) : 43419.dasm - Microsoft.CodeAnalysis.CSharp.Symbol:LoadAndValidateAttributes(Roslyn.Utilities.OneOrMany`1[Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax]],byref,short,ubyte,Microsoft.CodeAnalysis.CSharp.Binder,System.Func`2[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,ubyte],System.Action`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax],System.Action`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax]):ubyte:this (Tier1)
           3 (0.36 % of base) : 24648.dasm - System.Reflection.SignatureTypeExtensions:TryResolve(System.Reflection.SignatureType,System.Type[]):System.Type (Tier1)
           3 (0.77 % of base) : 52974.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryFindNextPossibleStartingPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
           2 (0.14 % of base) : 46641.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
           2 (0.11 % of base) : 48207.dasm - Benchstone.BenchF.Romber:Test():ubyte:this (Tier1-OSR)
           2 (0.38 % of base) : 48653.dasm - Benchstone.MDBenchF.MDInvMt:Inner(double[,],byref,byref) (Tier1-OSR)
Top method improvements (bytes):
        -454 (-32.41 % of base) : 21449.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -177 (-17.32 % of base) : 35422.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -44 (-2.77 % of base) : 30368.dasm - AssignJagged:second_assignments(int[][],short[][]) (Tier1)
         -39 (-5.41 % of base) : 47455.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -30 (-2.94 % of base) : 35429.dasm - LUDecomp:Run():double:this (Tier1)
         -29 (-0.91 % of base) : 35427.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (Tier1)
         -28 (-3.20 % of base) : 50943.dasm - System.Reflection.CustomAttributeEncodedArgument:ParseNamedArgs(byref,System.Reflection.CustomAttributeNamedParameter[],System.Reflection.RuntimeModule) (Tier1)
         -28 (-3.59 % of base) : 1220.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (Tier1)
         -19 (-2.10 % of base) : 47760.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
         -18 (-1.61 % of base) : 1036.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,int](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (Tier1)
         -17 (-0.81 % of base) : 33387.dasm - AssignRect:second_assignments(int[,],short[,]) (Tier1-OSR)
         -11 (-0.47 % of base) : 8961.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -9 (-0.31 % of base) : 35424.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (Tier1-OSR)
          -7 (-0.93 % of base) : 56191.dasm - BenchmarksGame.ReverseComplement_1:Reverse(System.IO.Stream,int,int,System.Collections.Generic.List`1[ubyte[]]) (Tier1-OSR)
          -7 (-0.20 % of base) : 34479.dasm - Benchstone.BenchI.MulMatrix:Inner(int[][],int[][],int[][]) (Tier1)
          -6 (-2.80 % of base) : 21977.dasm - Benchstone.BenchI.CSieve:Test():ubyte:this (Tier1-OSR)
          -6 (-0.38 % of base) : 24647.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (Tier1)
          -6 (-0.78 % of base) : 8496.dasm - System.Reflection.CustomAttribute:GetCustomAttributes(System.RuntimeType,System.RuntimeType,ubyte):System.Object[] (Tier1)
          -5 (-1.11 % of base) : 53048.dasm - System.MulticastDelegate:CombineImpl(System.Delegate):System.Delegate:this (Tier1-OSR)
          -5 (-0.79 % of base) : 8581.dasm - System.Reflection.Emit.SignatureHelper:AddArguments(System.Type[],System.Type[][],System.Type[][]):this (Tier1)
Top method regressions (percentages):
          18 (2.39 % of base) : 35426.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1-OSR)
          17 (1.90 % of base) : 12702.dasm - System.Number:TryParseBinaryIntegerHexOrBinaryNumberStyle[ushort,ubyte,System.Number+HexParser`1[ubyte]](System.ReadOnlySpan`1[ushort],int,byref):int (Tier1)
           8 (1.11 % of base) : 24540.dasm - System.Collections.Utils:FillCollections[System.__Canon,System.Collections.BigStruct](byref,int,System.Collections.BigStruct[]) (Tier1-OSR)
           3 (0.77 % of base) : 52974.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryFindNextPossibleStartingPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          24 (0.73 % of base) : 34478.dasm - Benchstone.BenchI.MulMatrix:Inner(int[][],int[][],int[][]) (Tier1-OSR)
           8 (0.73 % of base) : 35431.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1)
           4 (0.66 % of base) : 7258.dasm - System.Linq.Enumerable:MinFloat[double](System.Collections.Generic.IEnumerable`1[double]):double (Tier1)
           2 (0.54 % of base) : 51931.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
          11 (0.39 % of base) : 25571.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
           2 (0.38 % of base) : 48653.dasm - Benchstone.MDBenchF.MDInvMt:Inner(double[,],byref,byref) (Tier1-OSR)
           5 (0.38 % of base) : 25564.dasm - System.IO.RandomAccess:WriteGatherAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList`1[System.ReadOnlyMemory`1[ubyte]],long) (Tier0-FullOpts)
           3 (0.36 % of base) : 24648.dasm - System.Reflection.SignatureTypeExtensions:TryResolve(System.Reflection.SignatureType,System.Type[]):System.Type (Tier1)
           8 (0.35 % of base) : 26451.dasm - System.Number:TryParseNumber(byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (Tier1)
           2 (0.27 % of base) : 24664.dasm - System.Reflection.RuntimeMethodInfo:MakeGenericMethod(System.Type[]):System.Reflection.MethodInfo:this (Tier1)
          20 (0.23 % of base) : 48027.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
           7 (0.22 % of base) : 36233.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (Tier0-FullOpts)
           2 (0.21 % of base) : 481.dasm - System.Globalization.CultureData:NormalizeCultureName(System.String,System.ReadOnlySpan`1[ushort],byref):System.String (Tier0-FullOpts)
           3 (0.19 % of base) : 43419.dasm - Microsoft.CodeAnalysis.CSharp.Symbol:LoadAndValidateAttributes(Roslyn.Utilities.OneOrMany`1[Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax]],byref,short,ubyte,Microsoft.CodeAnalysis.CSharp.Binder,System.Func`2[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,ubyte],System.Action`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax],System.Action`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax]):ubyte:this (Tier1)
           1 (0.19 % of base) : 56573.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryFindNextPossibleStartingPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
           1 (0.18 % of base) : 38993.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:QuickScanSyntaxToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:this (Tier1)
Top method improvements (percentages):
        -454 (-32.41 % of base) : 21449.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -177 (-17.32 % of base) : 35422.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -39 (-5.41 % of base) : 47455.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -28 (-3.59 % of base) : 1220.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (Tier1)
         -28 (-3.20 % of base) : 50943.dasm - System.Reflection.CustomAttributeEncodedArgument:ParseNamedArgs(byref,System.Reflection.CustomAttributeNamedParameter[],System.Reflection.RuntimeModule) (Tier1)
         -30 (-2.94 % of base) : 35429.dasm - LUDecomp:Run():double:this (Tier1)
          -6 (-2.80 % of base) : 21977.dasm - Benchstone.BenchI.CSieve:Test():ubyte:this (Tier1-OSR)
         -44 (-2.77 % of base) : 30368.dasm - AssignJagged:second_assignments(int[][],short[][]) (Tier1)
         -19 (-2.10 % of base) : 47760.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
         -18 (-1.61 % of base) : 1036.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,int](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (Tier1)
          -5 (-1.11 % of base) : 53048.dasm - System.MulticastDelegate:CombineImpl(System.Delegate):System.Delegate:this (Tier1-OSR)
          -7 (-0.93 % of base) : 56191.dasm - BenchmarksGame.ReverseComplement_1:Reverse(System.IO.Stream,int,int,System.Collections.Generic.List`1[ubyte[]]) (Tier1-OSR)
         -29 (-0.91 % of base) : 35427.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (Tier1)
         -17 (-0.81 % of base) : 33387.dasm - AssignRect:second_assignments(int[,],short[,]) (Tier1-OSR)
          -5 (-0.79 % of base) : 8581.dasm - System.Reflection.Emit.SignatureHelper:AddArguments(System.Type[],System.Type[][],System.Type[][]):this (Tier1)
          -6 (-0.78 % of base) : 8496.dasm - System.Reflection.CustomAttribute:GetCustomAttributes(System.RuntimeType,System.RuntimeType,ubyte):System.Object[] (Tier1)
          -2 (-0.77 % of base) : 5380.dasm - System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:Rehash(int):this (Tier1)
          -2 (-0.57 % of base) : 6848.dasm - System.Linq.EnumerableSorter`2[System.__Canon,int]:ComputeKeys(System.__Canon[],int):this (Tier1)
          -2 (-0.54 % of base) : 26610.dasm - System.Linq.EnumerableSorter`2[System.Collections.BigStruct,System.Collections.BigStruct]:ComputeKeys(System.Collections.BigStruct[],int):this (Tier1)
          -4 (-0.54 % of base) : 2411.dasm - System.Reflection.TypeNameParser:ParseNamedOrConstructedGenericTypeName():System.Reflection.TypeNameParser+TypeName:this (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: 403126321 (overridden on cmd)
Total bytes of diff: 403126514 (overridden on cmd)
Total bytes of delta: 193 (0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
         113 : 593694.dasm (2.70 % of base)
         107 : 226521.dasm (5.51 % of base)
          83 : 594679.dasm (2.99 % of base)
          72 : 446051.dasm (1.13 % of base)
          69 : 594222.dasm (1.27 % of base)
          62 : 591391.dasm (2.26 % of base)
          58 : 587292.dasm (1.64 % of base)
          56 : 593726.dasm (2.98 % of base)
          56 : 587935.dasm (2.98 % of base)
          49 : 596434.dasm (3.39 % of base)
          42 : 587278.dasm (2.31 % of base)
          42 : 407361.dasm (1.89 % of base)
          38 : 593630.dasm (2.09 % of base)
          33 : 564009.dasm (2.63 % of base)
          32 : 590648.dasm (1.95 % of base)
          30 : 500602.dasm (15.38 % of base)
          30 : 500604.dasm (15.38 % of base)
          28 : 481450.dasm (0.56 % of base)
          27 : 340029.dasm (2.03 % of base)
          27 : 588414.dasm (1.44 % of base)
Top file improvements (bytes):
        -472 : 442355.dasm (-34.20 % of base)
        -135 : 446028.dasm (-23.00 % of base)
        -135 : 446041.dasm (-23.00 % of base)
        -131 : 493208.dasm (-32.51 % of base)
        -131 : 394758.dasm (-15.63 % of base)
        -127 : 406718.dasm (-15.39 % of base)
        -127 : 371259.dasm (-14.91 % of base)
        -102 : 473031.dasm (-7.38 % of base)
        -102 : 484531.dasm (-7.38 % of base)
         -97 : 473037.dasm (-7.00 % of base)
         -97 : 484535.dasm (-7.00 % of base)
         -73 : 594532.dasm (-9.40 % of base)
         -70 : 223867.dasm (-2.05 % of base)
         -69 : 474474.dasm (-3.24 % of base)
         -60 : 339476.dasm (-0.82 % of base)
         -59 : 587773.dasm (-1.42 % of base)
         -59 : 325442.dasm (-7.63 % of base)
         -59 : 450282.dasm (-7.63 % of base)
         -58 : 481118.dasm (-7.99 % of base)
         -58 : 499231.dasm (-7.98 % of base)
78 total files with Code Size differences (31 improved, 47 regressed), 20 unchanged.
Top method regressions (bytes):
         113 (2.70 % of base) : 593694.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+InstantiatedTypeKey,System.__Canon]:TryAddOrGetExisting(System.__Canon,byref):System.__Canon:this (Tier1)
         107 (5.51 % of base) : 226521.dasm - JitTest_array1_refany_il.Test:Main():int (FullOpts)
          83 (2.99 % of base) : 594679.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+RuntimeDeterminedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+RuntimeDeterminedTypeKey,byref):ubyte:this (Tier1)
          72 (1.13 % of base) : 446051.dasm - LUDecomp:Run():double:this (Tier1)
          69 (1.27 % of base) : 594222.dasm - ILCompiler.DependencyAnalysis.NodeFactory:MethodEntrypoint(Internal.JitInterface.MethodWithToken,ubyte,ubyte,ubyte):ILCompiler.DependencyAnalysis.IMethodNode:this (Tier1)
          62 (2.26 % of base) : 591391.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+RuntimeDeterminedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+RuntimeDeterminedTypeKey,byref):ubyte:this (Tier1)
          58 (1.64 % of base) : 587292.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+InstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+InstantiatedTypeKey,byref):ubyte:this (Tier1)
          56 (2.98 % of base) : 593726.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          56 (2.98 % of base) : 587935.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          49 (3.39 % of base) : 596434.dasm - System.Net.Sockets.SocketAsyncEngine:System.Threading.IThreadPoolWorkItem.Execute():this (Tier1)
          42 (2.31 % of base) : 587278.dasm - Internal.TypeSystem.MetadataVirtualMethodAlgorithm:FindMatchingVirtualMethodOnTypeByNameAndSig(Internal.TypeSystem.MethodDesc,Internal.TypeSystem.DefType,ubyte,System.Func`3[Internal.TypeSystem.MethodDesc,Internal.TypeSystem.MethodDesc,ubyte]):Internal.TypeSystem.MethodDesc (Tier1)
          42 (1.89 % of base) : 407361.dasm - System.DefaultBinder:FindMostSpecific(System.ReadOnlySpan`1[System.Reflection.ParameterInfo],int[],System.Type,System.ReadOnlySpan`1[System.Reflection.ParameterInfo],int[],System.Type,System.Type[],System.Object[]):int (Tier1)
          38 (2.09 % of base) : 593630.dasm - Internal.TypeSystem.MetadataVirtualMethodAlgorithm:FindMatchingVirtualMethodOnTypeByNameAndSig(Internal.TypeSystem.MethodDesc,Internal.TypeSystem.DefType,ubyte,System.Func`3[Internal.TypeSystem.MethodDesc,Internal.TypeSystem.MethodDesc,ubyte]):Internal.TypeSystem.MethodDesc (Tier1)
          33 (2.63 % of base) : 564009.dasm - System.Net.Sockets.SocketAsyncEngine:System.Threading.IThreadPoolWorkItem.Execute():this (Tier1)
          32 (1.95 % of base) : 590648.dasm - System.Collections.Generic.ArraySortHelper`1[System.__Canon]:InsertionSort(System.Span`1[System.__Canon],System.Comparison`1[System.__Canon]) (Tier1)
          30 (15.38 % of base) : 500602.dasm - testout1:Test1(int):int (Tier1-OSR)
          30 (15.38 % of base) : 500604.dasm - testout1:Test2(int):int (Tier1-OSR)
          28 (0.56 % of base) : 481450.dasm - TestLibrary.OutOfProcessTest:RunOutOfProcessTest(System.String) (Tier1)
          27 (1.44 % of base) : 588414.dasm - ILCompiler.LazyGenericsSupport+GraphBuilder:.ctor(Internal.TypeSystem.Ecma.EcmaType):this (Tier1)
          27 (2.03 % of base) : 340029.dasm - System.Reflection.SignatureTypeExtensions:MatchesExactly(System.Reflection.SignatureType,System.Type):ubyte (Tier1)
Top method improvements (bytes):
        -472 (-34.20 % of base) : 442355.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -135 (-23.00 % of base) : 446028.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -135 (-23.00 % of base) : 446041.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -131 (-32.51 % of base) : 493208.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -131 (-15.63 % of base) : 394758.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
        -127 (-15.39 % of base) : 406718.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
        -127 (-14.91 % of base) : 371259.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
        -102 (-7.38 % of base) : 473031.dasm - JitTest_lcsval_lcs_cs.LCS:findLCS(JitTest_lcsval_lcs_cs.Data[,,,],ushort[][],int[]) (Tier1-OSR)
        -102 (-7.38 % of base) : 484531.dasm - JitTest_lcsval_lcs_cs.LCS:findLCS(JitTest_lcsval_lcs_cs.Data[,,,],ushort[][],int[]) (Tier1-OSR)
         -97 (-7.00 % of base) : 473037.dasm - JitTest_lcs_lcs_cs.LCS:findLCS(int[,,,],int[,,,],ushort[][],int[]) (Tier1-OSR)
         -97 (-7.00 % of base) : 484535.dasm - JitTest_lcs_lcs_cs.LCS:findLCS(int[,,,],int[,,,],ushort[][],int[]) (Tier1-OSR)
         -73 (-9.40 % of base) : 594532.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-2.05 % of base) : 223867.dasm - classarr:gaussj(MatrixCls,int,MatrixCls,int) (FullOpts)
         -69 (-3.24 % of base) : 474474.dasm - JitTest_lcs_gcref_port.LCSV:findLCS(JitTest_lcs_gcref_port.LCSV[,,,],JitTest_lcs_gcref_port.LCSV[,,,],ushort[][],JitTest_lcs_gcref_port.LCSV[]) (Tier1-OSR)
         -60 (-0.82 % of base) : 339476.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (Tier1)
         -59 (-1.42 % of base) : 587773.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+InstantiatedTypeKey,System.__Canon]:TryAddOrGetExisting(System.__Canon,byref):System.__Canon:this (Tier1)
         -59 (-7.63 % of base) : 325442.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 450282.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -58 (-7.99 % of base) : 481118.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -58 (-7.98 % of base) : 499231.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
Top method regressions (percentages):
          30 (15.38 % of base) : 500602.dasm - testout1:Test1(int):int (Tier1-OSR)
          30 (15.38 % of base) : 500604.dasm - testout1:Test2(int):int (Tier1-OSR)
         107 (5.51 % of base) : 226521.dasm - JitTest_array1_refany_il.Test:Main():int (FullOpts)
          17 (5.38 % of base) : 63206.dasm - JIT.HardwareIntrinsics.General._Vector128_1.VectorAs__AsVectorByte:ValidateResult(ubyte[],ubyte[],System.String):this (FullOpts)
          17 (5.38 % of base) : 63235.dasm - JIT.HardwareIntrinsics.General._Vector128_1.VectorAs__AsVectorInt64:ValidateResult(long[],long[],System.String):this (FullOpts)
          17 (5.38 % of base) : 63270.dasm - JIT.HardwareIntrinsics.General._Vector128_1.VectorAs__AsVectorUInt64:ValidateResult(ulong[],ulong[],System.String):this (FullOpts)
          17 (5.38 % of base) : 86447.dasm - JIT.HardwareIntrinsics.General._Vector256_1.VectorAs__AsVectorByte:ValidateResult(ubyte[],ubyte[],System.String):this (FullOpts)
          17 (5.38 % of base) : 86472.dasm - JIT.HardwareIntrinsics.General._Vector256_1.VectorAs__AsVectorInt64:ValidateResult(long[],long[],System.String):this (FullOpts)
          17 (5.38 % of base) : 86502.dasm - JIT.HardwareIntrinsics.General._Vector256_1.VectorAs__AsVectorUInt64:ValidateResult(ulong[],ulong[],System.String):this (FullOpts)
          17 (5.38 % of base) : 73340.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorAs__AsVectorByte:ValidateResult(ubyte[],ubyte[],System.String):this (FullOpts)
          17 (5.38 % of base) : 73369.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorAs__AsVectorInt64:ValidateResult(long[],long[],System.String):this (FullOpts)
          17 (5.38 % of base) : 73404.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorAs__AsVectorUInt64:ValidateResult(ulong[],ulong[],System.String):this (FullOpts)
          17 (5.36 % of base) : 63242.dasm - JIT.HardwareIntrinsics.General._Vector128_1.VectorAs__AsVectorSByte:ValidateResult(byte[],byte[],System.String):this (FullOpts)
          17 (5.36 % of base) : 86478.dasm - JIT.HardwareIntrinsics.General._Vector256_1.VectorAs__AsVectorSByte:ValidateResult(byte[],byte[],System.String):this (FullOpts)
          17 (5.36 % of base) : 73376.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorAs__AsVectorSByte:ValidateResult(byte[],byte[],System.String):this (FullOpts)
          17 (5.31 % of base) : 63221.dasm - JIT.HardwareIntrinsics.General._Vector128_1.VectorAs__AsVectorInt16:ValidateResult(short[],short[],System.String):this (FullOpts)
          17 (5.31 % of base) : 86460.dasm - JIT.HardwareIntrinsics.General._Vector256_1.VectorAs__AsVectorInt16:ValidateResult(short[],short[],System.String):this (FullOpts)
          17 (5.31 % of base) : 73355.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorAs__AsVectorInt16:ValidateResult(short[],short[],System.String):this (FullOpts)
          13 (5.26 % of base) : 445088.dasm - System.Linq.Expressions.Compiler.CompilerScope:EmitCachedVariables():this (Tier1)
          16 (5.10 % of base) : 86496.dasm - JIT.HardwareIntrinsics.General._Vector256_1.VectorAs__AsVectorUInt32:ValidateResult(uint[],uint[],System.String):this (FullOpts)
Top method improvements (percentages):
        -472 (-34.20 % of base) : 442355.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -131 (-32.51 % of base) : 493208.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -135 (-23.00 % of base) : 446028.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -135 (-23.00 % of base) : 446041.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -131 (-15.63 % of base) : 394758.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
        -127 (-15.39 % of base) : 406718.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
        -127 (-14.91 % of base) : 371259.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -73 (-9.40 % of base) : 594532.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -58 (-7.99 % of base) : 481118.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -58 (-7.98 % of base) : 499231.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 325442.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 450282.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
        -102 (-7.38 % of base) : 473031.dasm - JitTest_lcsval_lcs_cs.LCS:findLCS(JitTest_lcsval_lcs_cs.Data[,,,],ushort[][],int[]) (Tier1-OSR)
        -102 (-7.38 % of base) : 484531.dasm - JitTest_lcsval_lcs_cs.LCS:findLCS(JitTest_lcsval_lcs_cs.Data[,,,],ushort[][],int[]) (Tier1-OSR)
         -97 (-7.00 % of base) : 473037.dasm - JitTest_lcs_lcs_cs.LCS:findLCS(int[,,,],int[,,,],ushort[][],int[]) (Tier1-OSR)
         -97 (-7.00 % of base) : 484535.dasm - JitTest_lcs_lcs_cs.LCS:findLCS(int[,,,],int[,,,],ushort[][],int[]) (Tier1-OSR)
         -43 (-6.54 % of base) : 327176.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -49 (-6.36 % of base) : 489050.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -41 (-5.21 % of base) : 388975.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -11 (-5.14 % of base) : 440578.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
  
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: 201901 (overridden on cmd)
Total bytes of diff: 201889 (overridden on cmd)
Total bytes of delta: -12 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
         -10 : 366.dasm (-0.61 % of base)
          -2 : 226.dasm (-0.12 % of base)
2 total files with Code Size differences (2 improved, 0 regressed), 1 unchanged.
Top method improvements (bytes):
         -10 (-0.61 % of base) : 366.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
          -2 (-0.12 % of base) : 226.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
Top method improvements (percentages):
         -10 (-0.61 % of base) : 366.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
          -2 (-0.12 % of base) : 226.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
2 total methods with Code Size differences (2 improved, 0 regressed).
  
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: 60379274 (overridden on cmd)
Total bytes of diff: 60378684 (overridden on cmd)
Total bytes of delta: -590 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         154 : 221936.dasm (11.39 % of base)
         129 : 125362.dasm (3.87 % of base)
         114 : 103657.dasm (0.47 % of base)
          42 : 197962.dasm (0.98 % of base)
          39 : 63134.dasm (1.53 % of base)
          35 : 112085.dasm (0.84 % of base)
          32 : 238375.dasm (0.50 % of base)
          31 : 71892.dasm (2.69 % of base)
          31 : 220059.dasm (13.30 % of base)
          29 : 253073.dasm (3.16 % of base)
          29 : 126452.dasm (2.80 % of base)
          28 : 156965.dasm (7.89 % of base)
          28 : 174854.dasm (7.89 % of base)
          27 : 161985.dasm (0.98 % of base)
          27 : 179669.dasm (0.98 % of base)
          27 : 235212.dasm (10.04 % of base)
          26 : 237108.dasm (2.34 % of base)
          26 : 200280.dasm (4.43 % of base)
          26 : 239837.dasm (0.68 % of base)
          26 : 41883.dasm (1.89 % of base)
Top file improvements (bytes):
        -435 : 239835.dasm (-1.52 % of base)
         -90 : 160416.dasm (-2.99 % of base)
         -90 : 178139.dasm (-2.99 % of base)
         -44 : 238137.dasm (-0.53 % of base)
         -39 : 239849.dasm (-0.67 % of base)
         -39 : 70245.dasm (-0.32 % of base)
         -38 : 237998.dasm (-0.90 % of base)
         -38 : 244664.dasm (-1.78 % of base)
         -31 : 110873.dasm (-1.31 % of base)
         -30 : 70428.dasm (-0.49 % of base)
         -30 : 200146.dasm (-1.54 % of base)
         -29 : 110912.dasm (-0.26 % of base)
         -27 : 126718.dasm (-0.45 % of base)
         -25 : 127147.dasm (-0.68 % of base)
         -24 : 65760.dasm (-0.50 % of base)
         -21 : 202446.dasm (-0.70 % of base)
         -20 : 160421.dasm (-2.13 % of base)
         -20 : 178144.dasm (-2.13 % of base)
         -19 : 153310.dasm (-0.61 % of base)
         -19 : 37967.dasm (-0.61 % of base)
79 total files with Code Size differences (38 improved, 41 regressed), 20 unchanged.
Top method regressions (bytes):
         154 (11.39 % of base) : 221936.dasm - System.Net.Http.Headers.AltSvcHeaderParser:GetParsedValueLength(System.String,int,System.Object,byref):int:this (FullOpts)
         129 (3.87 % of base) : 125362.dasm - Microsoft.CodeAnalysis.VisualBasic.ExpressionLambdaRewriter:VisitObjectInitializer(Microsoft.CodeAnalysis.VisualBasic.BoundObjectInitializerExpression):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
         114 (0.47 % of base) : 103657.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)
          42 (0.98 % of base) : 197962.dasm - Microsoft.Build.BackEnd.Scheduler:WriteNodeUtilizationGraph(Microsoft.Build.BackEnd.Logging.ILoggingService,Microsoft.Build.Framework.BuildEventContext,ubyte):this (FullOpts)
          39 (1.53 % of base) : 63134.dasm - Microsoft.Diagnostics.Tracing.Parsers.RegisteredTraceEventParser+TdhEventParser:ParseFields(int,int):Microsoft.Diagnostics.Tracing.Parsers.DynamicTraceEventData+PayloadFetchClassInfo:this (FullOpts)
          35 (0.84 % of base) : 112085.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbol:GetAttributesToBind(Roslyn.Utilities.OneOrMany`1[Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.AttributeListSyntax]],int,Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation,byref):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.AttributeSyntax]:this (FullOpts)
          32 (0.50 % of base) : 238375.dasm - System.Xml.Serialization.XmlSerializationWriterCodeGen:GenerateMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
          31 (2.69 % of base) : 71892.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitBinaryOperator(Microsoft.CodeAnalysis.CSharp.BoundBinaryOperator,Microsoft.CodeAnalysis.CSharp.BoundUnaryOperator):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          31 (13.30 % of base) : 220059.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          29 (2.80 % of base) : 126452.dasm - Microsoft.CodeAnalysis.VisualBasic.AccessCheck:InheritsFromOrImplementsIgnoringConstruction(Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BasesBeingResolved,byref):ubyte (FullOpts)
          29 (3.16 % of base) : 253073.dasm - System.Net.Mail.Message:EncodeHeaders(System.Net.Mime.HeaderCollection,ubyte):this (FullOpts)
          28 (7.89 % of base) : 156965.dasm - Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
          28 (7.89 % of base) : 174854.dasm - Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
          27 (0.98 % of base) : 161985.dasm - Microsoft.CodeAnalysis.FlowAnalysis.ControlFlowGraphBuilder:SpillEvalStack():this (FullOpts)
          27 (0.98 % of base) : 179669.dasm - Microsoft.CodeAnalysis.FlowAnalysis.ControlFlowGraphBuilder:SpillEvalStack():this (FullOpts)
          27 (10.04 % of base) : 235212.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          26 (1.89 % of base) : 41883.dasm - Internal.TypeSystem.TypeSystemMetadataEmitter+EmbeddedSignatureDataEmitter:EmitArrayShapeAtCurrentIndexStack(System.Reflection.Metadata.BlobBuilder,int):this (FullOpts)
          26 (4.43 % of base) : 200280.dasm - Microsoft.Build.Shared.FileUtilities:CopyDirectory(System.String,System.String) (FullOpts)
          26 (0.68 % of base) : 239837.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMostSpecific(System.Reflection.MethodBase,System.Reflection.MethodBase,int[],System.Object[],ubyte,int,int,System.Object[]):int:this (FullOpts)
          26 (2.34 % of base) : 237108.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteElements(System.Object,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,ubyte,ubyte):this (FullOpts)
Top method improvements (bytes):
        -435 (-1.52 % of base) : 239835.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)
         -90 (-2.99 % of base) : 160416.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetPreviousToken(Microsoft.CodeAnalysis.SyntaxTrivia,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte]):Microsoft.CodeAnalysis.SyntaxToken:this (FullOpts)
         -90 (-2.99 % of base) : 178139.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetPreviousToken(Microsoft.CodeAnalysis.SyntaxTrivia,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte]):Microsoft.CodeAnalysis.SyntaxToken:this (FullOpts)
         -44 (-0.53 % of base) : 238137.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
         -39 (-0.32 % of base) : 70245.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)
         -39 (-0.67 % of base) : 239849.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -38 (-1.78 % of base) : 244664.dasm - System.ComponentModel.EnumConverter:ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type):System.Object:this (FullOpts)
         -38 (-0.90 % of base) : 237998.dasm - System.Xml.Serialization.XmlSerializationReader:ReadArray(System.String,System.String):System.Array:this (FullOpts)
         -31 (-1.31 % of base) : 110873.dasm - Microsoft.CodeAnalysis.VisualBasic.CodeGen.StackScheduler:FilterValidStackLocals(System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.VisualBasic.Symbols.LocalSymbol,Microsoft.CodeAnalysis.VisualBasic.CodeGen.StackScheduler+LocalDefUseInfo]):System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.VisualBasic.Symbols.LocalSymbol,Microsoft.CodeAnalysis.VisualBasic.CodeGen.StackScheduler+LocalDefUseInfo] (FullOpts)
         -30 (-1.54 % of base) : 200146.dasm - Microsoft.Build.Shared.FileMatcher:GetLongPathName(System.String,Microsoft.Build.Shared.FileMatcher+GetFileSystemEntries):System.String (FullOpts)
         -30 (-0.49 % of base) : 70428.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArguments>g__visitArguments|231_0(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Conversion],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,ubyte):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte,Microsoft.CodeAnalysis.CSharp.NullableWalker+ArgumentsCompletionDelegate]:this (FullOpts)
         -29 (-0.26 % of base) : 110912.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCommandLineParser:ParseConditionalCompilationSymbols(System.String,byref,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]):System.Collections.Generic.IReadOnlyDictionary`2[System.String,System.Object] (FullOpts)
         -27 (-0.45 % of base) : 126718.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:MatchArguments(Microsoft.CodeAnalysis.VisualBasic.BoundMethodOrPropertyGroup,byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],Microsoft.CodeAnalysis.VisualBasic.Binder,byref,Microsoft.CodeAnalysis.SyntaxNode,ubyte,byref) (FullOpts)
         -25 (-0.68 % of base) : 127147.dasm - Microsoft.CodeAnalysis.VisualBasic.TypeUnification:CanUnifyHelper(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeWithModifiers,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeWithModifiers,byref):ubyte (FullOpts)
         -24 (-0.50 % of base) : 65760.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:IsApplicable(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.OverloadResolution+EffectiveParameters,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[int],ubyte,ubyte,ubyte,ubyte,byref):Microsoft.CodeAnalysis.CSharp.MemberAnalysisResult:this (FullOpts)
         -21 (-0.70 % of base) : 202446.dasm - System.Text.ISO2022Encoding:GetBytesCP5022xJP(ulong,int,ulong,int,System.Text.ISO2022Encoding+ISO2022Encoder):int:this (FullOpts)
         -20 (-2.13 % of base) : 160421.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetNextToken(byref,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],ubyte,System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte]):Microsoft.CodeAnalysis.SyntaxToken:this (FullOpts)
         -20 (-2.13 % of base) : 178144.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetNextToken(byref,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],ubyte,System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte]):Microsoft.CodeAnalysis.SyntaxToken:this (FullOpts)
         -19 (-0.61 % of base) : 153310.dasm - System.Data.Common.DbConnectionOptions:GetKeyValuePair(System.String,int,System.Text.StringBuilder,ubyte,byref,byref):int (FullOpts)
         -19 (-0.61 % of base) : 37967.dasm - System.Data.Common.DbConnectionOptions:GetKeyValuePair(System.String,int,System.Text.StringBuilder,ubyte,byref,byref):int (FullOpts)
Top method regressions (percentages):
          31 (13.30 % of base) : 220059.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
         154 (11.39 % of base) : 221936.dasm - System.Net.Http.Headers.AltSvcHeaderParser:GetParsedValueLength(System.String,int,System.Object,byref):int:this (FullOpts)
          27 (10.04 % of base) : 235212.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          18 (8.65 % of base) : 207446.dasm - System.Text.RegularExpressions.Symbolic.BitVector:Not(System.Text.RegularExpressions.Symbolic.BitVector):System.Text.RegularExpressions.Symbolic.BitVector (FullOpts)
          28 (7.89 % of base) : 156965.dasm - Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
          28 (7.89 % of base) : 174854.dasm - Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
          16 (6.32 % of base) : 202307.dasm - System.Text.InternalDecoderBestFitFallbackBuffer:TryBestFit(ubyte[]):ushort:this (FullOpts)
          10 (5.21 % of base) : 207445.dasm - System.Text.RegularExpressions.Symbolic.BitVector:Or(System.ReadOnlySpan`1[System.Text.RegularExpressions.Symbolic.BitVector]):System.Text.RegularExpressions.Symbolic.BitVector (FullOpts)
          26 (4.43 % of base) : 200280.dasm - Microsoft.Build.Shared.FileUtilities:CopyDirectory(System.String,System.String) (FullOpts)
          17 (4.29 % of base) : 34255.dasm - System.Data.DataKey:.ctor(System.Data.DataColumn[],ubyte):this (FullOpts)
          19 (4.02 % of base) : 268531.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadLibraries(byref):System.Collections.Generic.Dictionary`2[System.String,Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+LibraryStub]:this (FullOpts)
          14 (3.89 % of base) : 218152.dasm - Internal.TypeSystem.MethodSignature:GetEmbeddedSignatureData(System.ReadOnlySpan`1[int]):Internal.TypeSystem.EmbeddedSignatureData[]:this (FullOpts)
         129 (3.87 % of base) : 125362.dasm - Microsoft.CodeAnalysis.VisualBasic.ExpressionLambdaRewriter:VisitObjectInitializer(Microsoft.CodeAnalysis.VisualBasic.BoundObjectInitializerExpression):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
          11 (3.85 % of base) : 207838.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1+NfaStateHandler[ubyte]:FixedLength(System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[ubyte],byref,uint):int (FullOpts)
          20 (3.75 % of base) : 137639.dasm - System.Security.Cryptography.Pkcs.SignerInfo:RemoveCounterSignature(int):this (FullOpts)
          24 (3.52 % of base) : 250545.dasm - System.Security.Cryptography.Xml.XmlDsigBase64Transform:LoadStreamInput(System.IO.Stream):this (FullOpts)
          13 (3.39 % of base) : 139558.dasm - System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
           6 (3.26 % of base) : 33116.dasm - System.Xml.XPathNodePointer:DecideXPNodeTypeForTextNodes(System.Xml.XmlNode):int:this (FullOpts)
          29 (3.16 % of base) : 253073.dasm - System.Net.Mail.Message:EncodeHeaders(System.Net.Mime.HeaderCollection,ubyte):this (FullOpts)
          10 (2.93 % of base) : 247401.dasm - System.Collections.Concurrent.ConcurrentBag`1[ubyte]:ToArray():ubyte[]:this (FullOpts)
Top method improvements (percentages):
         -17 (-5.20 % of base) : 268523.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
          -5 (-4.50 % of base) : 272199.dasm - System.Runtime.Serialization.ObjectHolderListEnumerator:MoveNext():ubyte:this (FullOpts)
          -5 (-3.88 % of base) : 71957.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:IsBeginningOfParamArray(int,int,ubyte,int,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[int],byref):ubyte (FullOpts)
         -12 (-3.87 % of base) : 36980.dasm - System.Data.SqlTypes.SqlString:CompareBinary2(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):int (FullOpts)
         -90 (-2.99 % of base) : 160416.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetPreviousToken(Microsoft.CodeAnalysis.SyntaxTrivia,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte]):Microsoft.CodeAnalysis.SyntaxToken:this (FullOpts)
         -90 (-2.99 % of base) : 178139.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetPreviousToken(Microsoft.CodeAnalysis.SyntaxTrivia,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte]):Microsoft.CodeAnalysis.SyntaxToken:this (FullOpts)
          -2 (-2.82 % of base) : 68895.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
         -16 (-2.81 % of base) : 239694.dasm - Microsoft.VisualBasic.CompilerServices.VB6File:PutFixedLengthString(long,System.String,int):this (FullOpts)
         -16 (-2.75 % of base) : 268524.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTarget(byref,System.String):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target:this (FullOpts)
         -11 (-2.71 % of base) : 209167.dasm - System.Security.Cryptography.CryptoConfig:AddOID(System.String,System.String[]) (FullOpts)
         -14 (-2.67 % of base) : 65956.dasm - Microsoft.CodeAnalysis.CSharp.MethodTypeInferrer:MakeExplicitParameterTypeInferences(Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.CSharp.BoundTupleLiteral,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,int,byref):ubyte:this (FullOpts)
          -2 (-2.53 % of base) : 160967.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
          -2 (-2.53 % of base) : 178676.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
         -15 (-2.46 % of base) : 28637.dasm - Microsoft.FSharp.Primitives.Basics.Array:stableSortWithKeysAndComparer[System.__Canon,System.Nullable`1[int]](System.Collections.Generic.IComparer`1[System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon],System.Nullable`1[int][],System.__Canon[]) (FullOpts)
          -9 (-2.34 % of base) : 149192.dasm - System.Collections.Frozen.KeyAnalyzer:CreateAnalysisResults(System.ReadOnlySpan`1[System.String],ubyte,int,int,int,int,ubyte,System.Collections.Frozen.KeyAnalyzer+GetSpan):System.Collections.Frozen.KeyAnalyzer+AnalysisResults (FullOpts)
          -9 (-2.31 % of base) : 93158.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:<TryCalculateSyntaxOffsetOfPositionInInitializer>g__findInitializer|106_0(System.Collections.Immutable.ImmutableArray`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.FieldOrPropertyInitializer]],int,Microsoft.CodeAnalysis.SyntaxTree,byref,byref):ubyte (FullOpts)
         -11 (-2.23 % of base) : 209164.dasm - System.Security.Cryptography.CryptoConfig:AddAlgorithm(System.Type,System.String[]) (FullOpts)
          -5 (-2.16 % of base) : 105270.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.NamespaceSymbol:LookupNestedNamespace(System.Collections.Immutable.ImmutableArray`1[System.String]):Microsoft.CodeAnalysis.VisualBasic.Symbols.NamespaceSymbol:this (FullOpts)
         -20 (-2.13 % of base) : 160421.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetNextToken(byref,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],ubyte,System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte]):Microsoft.CodeAnalysis.SyntaxToken:this (FullOpts)
         -20 (-2.13 % of base) : 178144.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetNextToken(byref,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],ubyte,System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte]):Microsoft.CodeAnalysis.SyntaxToken: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: 335193928 (overridden on cmd)
Total bytes of diff: 335148402 (overridden on cmd)
Total bytes of delta: -45526 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
         817 : 90170.dasm (4.95 % of base)
         558 : 704815.dasm (4.29 % of base)
         488 : 92549.dasm (6.16 % of base)
         414 : 51946.dasm (5.23 % of base)
         408 : 84099.dasm (2.59 % of base)
         390 : 410811.dasm (2.79 % of base)
         370 : 49578.dasm (2.34 % of base)
         347 : 697699.dasm (3.67 % of base)
         341 : 90183.dasm (2.83 % of base)
         315 : 195919.dasm (5.04 % of base)
         282 : 641646.dasm (2.58 % of base)
         281 : 448815.dasm (2.19 % of base)
         259 : 650766.dasm (1.82 % of base)
         229 : 130454.dasm (1.84 % of base)
         207 : 664056.dasm (2.79 % of base)
         200 : 664076.dasm (3.78 % of base)
         200 : 91410.dasm (12.52 % of base)
         189 : 698494.dasm (1.55 % of base)
         186 : 676407.dasm (2.55 % of base)
         180 : 86969.dasm (2.54 % of base)
Top file improvements (bytes):
        -779 : 504389.dasm (-5.65 % of base)
        -656 : 322917.dasm (-4.80 % of base)
        -535 : 747676.dasm (-3.60 % of base)
        -535 : 446939.dasm (-3.60 % of base)
        -535 : 69798.dasm (-3.60 % of base)
        -522 : 641769.dasm (-5.33 % of base)
        -514 : 648838.dasm (-5.55 % of base)
        -511 : 207510.dasm (-3.48 % of base)
        -511 : 321822.dasm (-3.48 % of base)
        -511 : 322302.dasm (-3.48 % of base)
        -511 : 377218.dasm (-3.48 % of base)
        -511 : 203155.dasm (-3.48 % of base)
        -511 : 313537.dasm (-3.48 % of base)
        -511 : 492069.dasm (-3.48 % of base)
        -511 : 595129.dasm (-3.48 % of base)
        -511 : 677050.dasm (-3.48 % of base)
        -511 : 157262.dasm (-3.48 % of base)
        -511 : 304818.dasm (-3.48 % of base)
        -511 : 367026.dasm (-3.48 % of base)
        -511 : 565338.dasm (-3.48 % of base)
92 total files with Code Size differences (51 improved, 41 regressed), 20 unchanged.
Top method regressions (bytes):
         817 (4.95 % of base) : 90170.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)
         558 (4.29 % of base) : 704815.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (Tier1)
         488 (6.16 % of base) : 92549.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)
         414 (5.23 % of base) : 51946.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)
         408 (2.59 % of base) : 84099.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier1)
         390 (2.79 % of base) : 410811.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         370 (2.34 % of base) : 49578.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier1)
         347 (3.67 % of base) : 697699.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindExtensionMethod(Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte):Microsoft.CodeAnalysis.CSharp.MethodGroupResolution:this (Tier1)
         341 (2.83 % of base) : 90183.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:AddConstructorToCandidateSet(Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol]],Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,ubyte,byref):this (Tier1)
         315 (5.04 % of base) : 195919.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:CollectOverloadCandidates(System.Reflection.MemberInfo[],System.Object[],int,System.String[],System.Type[],ubyte,System.Type,byref,byref,Microsoft.VisualBasic.CompilerServices.Symbols+Container):System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method] (Tier1)
         282 (2.58 % of base) : 641646.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Text.Json.Serialization.Tests.Point_2D_With_ExtData]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
         281 (2.19 % of base) : 448815.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         259 (1.82 % of base) : 650766.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.__Canon]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
         229 (1.84 % of base) : 130454.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         207 (2.79 % of base) : 664056.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Text.Json.Serialization.Tests.Point_2D_Struct_WithAttribute]:ReadConstructorArguments(byref,byref,System.Text.Json.JsonSerializerOptions):this (Tier1)
         200 (12.52 % of base) : 91410.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 (Tier1)
         200 (3.78 % of base) : 664076.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Text.Json.Serialization.Tests.Point_2D_With_ExtData]:ReadConstructorArguments(byref,byref,System.Text.Json.JsonSerializerOptions):this (Tier1)
         189 (1.55 % of base) : 698494.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (Tier1-OSR)
         186 (2.55 % of base) : 676407.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>FE11ED309466AF57DE9D7AB55C09A60EE21567522F71D3843DB41A5B03BB97697__Match_InstanceMethods_DefaultTimeout_SourceGenerated_ThrowsImpl_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
         180 (2.54 % of base) : 86969.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol:GetTopLevelTypeByMetadataName(byref,Microsoft.CodeAnalysis.AssemblyIdentity,ubyte,ubyte,byref,Microsoft.CodeAnalysis.DiagnosticBag,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol:this (Tier1)
Top method improvements (bytes):
        -779 (-5.65 % of base) : 504389.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
        -656 (-4.80 % of base) : 322917.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
        -535 (-3.60 % of base) : 747676.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
        -535 (-3.60 % of base) : 446939.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
        -535 (-3.60 % of base) : 69798.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
        -522 (-5.33 % of base) : 641769.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -514 (-5.55 % of base) : 648838.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.__Canon]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -511 (-3.48 % of base) : 207510.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
        -511 (-3.48 % of base) : 321822.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
        -511 (-3.48 % of base) : 322302.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
        -511 (-3.48 % of base) : 377218.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
        -511 (-3.48 % of base) : 203155.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
        -511 (-3.48 % of base) : 313537.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
        -511 (-3.48 % of base) : 492069.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
        -511 (-3.48 % of base) : 595129.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
        -511 (-3.48 % of base) : 677050.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
        -511 (-3.48 % of base) : 157262.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
        -511 (-3.48 % of base) : 304818.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
        -511 (-3.48 % of base) : 367026.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
        -511 (-3.48 % of base) : 565338.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
Top method regressions (percentages):
         200 (12.52 % of base) : 91410.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 (Tier1)
          54 (11.95 % of base) : 221563.dasm - System.Collections.Frozen.FrozenSetInternalBase`2[System.__Canon,System.Collections.Frozen.DefaultFrozenSet`1+GSW[System.__Canon]]:IsSubsetOfSetWithCompatibleComparer(System.Collections.Generic.IReadOnlySet`1[System.__Canon]):ubyte:this (Tier1-OSR)
          14 (11.38 % of base) : 731937.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
          68 (10.62 % of base) : 448283.dasm - System.IPv6AddressHelper:InternalIsValid(ulong,int,byref,ubyte):ubyte (Tier1)
          30 (9.55 % of base) : 453909.dasm - System.Xml.Serialization.XmlSerializerNamespaces:TryLookupPrefix(System.String,byref):ubyte:this (Tier1)
          10 (9.09 % of base) : 637770.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
          10 (9.09 % of base) : 210899.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
          18 (8.65 % of base) : 713104.dasm - System.Text.RegularExpressions.Symbolic.BitVector:Not(System.Text.RegularExpressions.Symbolic.BitVector):System.Text.RegularExpressions.Symbolic.BitVector (Tier1)
          26 (7.58 % of base) : 175916.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          26 (7.58 % of base) : 165144.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          32 (7.14 % of base) : 51614.dasm - Microsoft.CodeAnalysis.PEModule:IsNoPiaLocalType(System.Reflection.Metadata.TypeDefinitionHandle,byref):ubyte:this (Tier1)
          32 (7.14 % of base) : 86717.dasm - Microsoft.CodeAnalysis.PEModule:IsNoPiaLocalType(System.Reflection.Metadata.TypeDefinitionHandle,byref):ubyte:this (Tier1)
          32 (7.14 % of base) : 177744.dasm - Microsoft.CodeAnalysis.PEModule:IsNoPiaLocalType(System.Reflection.Metadata.TypeDefinitionHandle,byref):ubyte:this (Tier1)
          32 (7.14 % of base) : 686072.dasm - Microsoft.CodeAnalysis.PEModule:IsNoPiaLocalType(System.Reflection.Metadata.TypeDefinitionHandle,byref):ubyte:this (Tier1)
          40 (6.72 % of base) : 457438.dasm - System.Xml.XmlConvert:ToXPathDouble(System.Object):double (Tier1)
          44 (6.57 % of base) : 421934.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
          12 (6.52 % of base) : 211784.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct]:Enqueue(System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct):this (Tier1)
          26 (6.40 % of base) : 694780.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<LearnFromEqualsMethod>g__anyOverriddenMethodHasExplicitImplementation|213_0(Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol):ubyte (Tier1)
          43 (6.40 % of base) : 138269.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
          96 (6.21 % of base) : 219277.dasm - System.Linq.Enumerable:Contains[double](System.Collections.Generic.IEnumerable`1[double],double,System.Collections.Generic.IEqualityComparer`1[double]):ubyte (Tier1)
Top method improvements (percentages):
         -54 (-10.44 % of base) : 224284.dasm - System.Collections.Frozen.FrozenSetInternalBase`2[ulong,System.Collections.Frozen.SmallValueTypeComparableFrozenSet`1+GSW[ulong]]:OverlapsCore(System.Collections.Generic.IEnumerable`1[ulong]):ubyte:this (Tier1)
         -66 (-8.63 % of base) : 380595.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -66 (-8.62 % of base) : 205602.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -66 (-8.62 % of base) : 71285.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -66 (-8.62 % of base) : 109319.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 403342.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 403532.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 404295.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 404365.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 403770.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 404119.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 404432.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 410229.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 403848.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 403929.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 404492.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 404550.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -17 (-7.36 % of base) : 232013.dasm - System.IO.BinaryWriter:Write7BitEncodedInt(int):this (Tier1)
         -23 (-7.30 % of base) : 686373.dasm - Microsoft.CodeAnalysis.AttributeData:IsTargetEarlyAttribute(Microsoft.CodeAnalysis.Symbols.INamedTypeSymbolInternal,int,Microsoft.CodeAnalysis.AttributeDescription):ubyte (Tier1)
         -25 (-7.00 % of base) : 90008.dasm - Microsoft.CodeAnalysis.AttributeData:IsTargetEarlyAttribute(Microsoft.CodeAnalysis.Symbols.INamedTypeSymbolInternal,int,Microsoft.CodeAnalysis.AttributeDescription):ubyte (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: 132514463 (overridden on cmd)
Total bytes of diff: 132512888 (overridden on cmd)
Total bytes of delta: -1575 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         100 : 148033.dasm (7.97 % of base)
          69 : 287956.dasm (1.96 % of base)
          60 : 3139.dasm (1.71 % of base)
          51 : 289114.dasm (1.71 % of base)
          51 : 289115.dasm (1.71 % of base)
          51 : 285257.dasm (1.71 % of base)
          47 : 35997.dasm (0.77 % of base)
          40 : 120582.dasm (0.56 % of base)
          32 : 65530.dasm (1.43 % of base)
          31 : 148804.dasm (13.30 % of base)
          31 : 54857.dasm (2.74 % of base)
          30 : 4206.dasm (8.11 % of base)
          29 : 150147.dasm (3.16 % of base)
          29 : 150756.dasm (3.16 % of base)
          28 : 15029.dasm (9.49 % of base)
          27 : 123398.dasm (1.27 % of base)
          27 : 124519.dasm (1.27 % of base)
          27 : 170823.dasm (10.04 % of base)
          26 : 61115.dasm (2.34 % of base)
          25 : 229878.dasm (0.90 % of base)
Top file improvements (bytes):
        -457 : 59177.dasm (-1.59 % of base)
        -178 : 43217.dasm (-6.20 % of base)
        -178 : 48944.dasm (-6.20 % of base)
        -148 : 15590.dasm (-2.59 % of base)
        -131 : 5235.dasm (-2.82 % of base)
        -113 : 44316.dasm (-1.77 % of base)
         -91 : 143296.dasm (-4.73 % of base)
         -81 : 293073.dasm (-5.28 % of base)
         -70 : 51775.dasm (-1.67 % of base)
         -67 : 276158.dasm (-3.69 % of base)
         -54 : 6641.dasm (-1.07 % of base)
         -41 : 276159.dasm (-3.75 % of base)
         -39 : 59176.dasm (-0.66 % of base)
         -38 : 276303.dasm (-1.42 % of base)
         -38 : 61392.dasm (-0.92 % of base)
         -37 : 46128.dasm (-4.07 % of base)
         -37 : 61757.dasm (-0.45 % of base)
         -36 : 293084.dasm (-0.98 % of base)
         -36 : 92864.dasm (-0.75 % of base)
         -33 : 258013.dasm (-1.51 % of base)
73 total files with Code Size differences (35 improved, 38 regressed), 20 unchanged.
Top method regressions (bytes):
         100 (7.97 % of base) : 148033.dasm - System.Net.Http.Headers.AltSvcHeaderParser:GetParsedValueLength(System.String,int,System.Object,byref):int:this (FullOpts)
          69 (1.96 % of base) : 287956.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex5319_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          60 (1.71 % of base) : 3139.dasm - Microsoft.VisualStudio.Composition.CompositionConfiguration+<FindLoops>d__28:MoveNext():ubyte:this (FullOpts)
          51 (1.71 % of base) : 285257.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex5006_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          51 (1.71 % of base) : 289114.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex6428_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          51 (1.71 % of base) : 289115.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex6429_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          47 (0.77 % of base) : 35997.dasm - FastExpressionCompiler.LightExpression.ExpressionCompiler:TryCollectBoundConstants(byref,FastExpressionCompiler.LightExpression.Expression,System.Collections.Generic.IReadOnlyList`1[FastExpressionCompiler.LightExpression.ParameterExpression],ubyte,byref):ubyte (FullOpts)
          40 (0.56 % of base) : 120582.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F41B8911E2F21D4DC5E3A6E6E037C09C91843DEA626D26CDD1D82984E3611395A__GetRegex_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
          32 (1.43 % of base) : 65530.dasm - Microsoft.CSharp.CSharpCodeGenerator:GenerateAttributes(System.CodeDom.CodeAttributeDeclarationCollection,System.String,ubyte):this (FullOpts)
          31 (2.74 % of base) : 54857.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitBinaryOperator(Microsoft.CodeAnalysis.CSharp.BoundBinaryOperator,Microsoft.CodeAnalysis.CSharp.BoundUnaryOperator):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          31 (13.30 % of base) : 148804.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          30 (8.11 % of base) : 4206.dasm - NuGet.Frameworks.NuGetFramework:RawParse(System.String):System.Tuple`3[System.String,System.String,System.String] (FullOpts)
          29 (3.16 % of base) : 150147.dasm - System.Net.Mail.Message:EncodeHeaders(System.Net.Mime.HeaderCollection,ubyte):this (FullOpts)
          29 (3.16 % of base) : 150756.dasm - System.Net.Mail.Message:EncodeHeaders(System.Net.Mime.HeaderCollection,ubyte):this (FullOpts)
          28 (9.49 % of base) : 15029.dasm - Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
          27 (1.27 % of base) : 123398.dasm - System.IO.Tests.FileStream_AsyncReads+<ReadAsyncCanceledFile>d__3:MoveNext():this (FullOpts)
          27 (1.27 % of base) : 124519.dasm - System.IO.Tests.FileStream_AsyncReads+<ReadAsyncCanceledFile>d__3:MoveNext():this (FullOpts)
          27 (10.04 % of base) : 170823.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          26 (2.34 % of base) : 61115.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteElements(System.Object,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,ubyte,ubyte):this (FullOpts)
          25 (0.90 % of base) : 229878.dasm - System.ServiceModel.Syndication.Tests.XmlDiff:CompareChildren(System.ServiceModel.Syndication.Tests.XmlDiffNode,System.ServiceModel.Syndication.Tests.XmlDiffNode):ubyte:this (FullOpts)
Top method improvements (bytes):
        -457 (-1.59 % of base) : 59177.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)
        -178 (-6.20 % of base) : 43217.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 (FullOpts)
        -178 (-6.20 % of base) : 48944.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 (FullOpts)
        -148 (-2.59 % of base) : 15590.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:ReportDiagnostics[System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.String,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[System.__Canon],Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,ubyte,System.Nullable`1[ubyte],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):this (FullOpts)
        -131 (-2.82 % of base) : 5235.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 (FullOpts)
        -113 (-1.77 % of base) : 44316.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitArguments(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte]:this (FullOpts)
         -91 (-4.73 % of base) : 143296.dasm - System.Buffers.Tests.ArrayBufferWriterTests_String:WriteData(System.Buffers.IBufferWriter`1[System.String],int):this (FullOpts)
         -81 (-5.28 % of base) : 293073.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex33146_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -70 (-1.67 % of base) : 51775.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:ReportDiagnostics[System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.String,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[System.__Canon],Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,ubyte,System.Nullable`1[ubyte],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):this (FullOpts)
         -67 (-3.69 % of base) : 276158.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1026_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -54 (-1.07 % of base) : 6641.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:IsApplicable(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.OverloadResolution+EffectiveParameters,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[int],ubyte,ubyte,ubyte,ubyte,byref):Microsoft.CodeAnalysis.CSharp.MemberAnalysisResult:this (FullOpts)
         -41 (-3.75 % of base) : 276159.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1028_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -39 (-0.66 % of base) : 59176.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -38 (-1.42 % of base) : 276303.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1316_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -38 (-0.92 % of base) : 61392.dasm - System.Xml.Serialization.XmlSerializationReader:ReadArray(System.String,System.String):System.Array:this (FullOpts)
         -37 (-4.07 % of base) : 46128.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:CanBePassedByReference(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
         -37 (-0.45 % of base) : 61757.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
         -36 (-0.75 % of base) : 92864.dasm - System.Data.XmlDataTreeWriter:XmlDataRowWriter(System.Data.DataRow,System.String):this (FullOpts)
         -36 (-0.98 % of base) : 293084.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex33147_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -33 (-1.51 % of base) : 258013.dasm - System.Text.Json.Serialization.Tests.StreamTests+<DeepNestedJsonFileTest>d__68:MoveNext():this (FullOpts)
Top method regressions (percentages):
          31 (13.30 % of base) : 148804.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          27 (10.04 % of base) : 170823.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          28 (9.49 % of base) : 15029.dasm - Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
          18 (8.65 % of base) : 267158.dasm - System.Text.RegularExpressions.Symbolic.BitVector:Not(System.Text.RegularExpressions.Symbolic.BitVector):System.Text.RegularExpressions.Symbolic.BitVector (FullOpts)
          30 (8.11 % of base) : 4206.dasm - NuGet.Frameworks.NuGetFramework:RawParse(System.String):System.Tuple`3[System.String,System.String,System.String] (FullOpts)
         100 (7.97 % of base) : 148033.dasm - System.Net.Http.Headers.AltSvcHeaderParser:GetParsedValueLength(System.String,int,System.Object,byref):int:this (FullOpts)
          17 (4.29 % of base) : 92126.dasm - System.Data.DataKey:.ctor(System.Data.DataColumn[],ubyte):this (FullOpts)
          19 (4.02 % of base) : 37907.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadLibraries(byref):System.Collections.Generic.Dictionary`2[System.String,Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+LibraryStub]:this (FullOpts)
          12 (3.91 % of base) : 145536.dasm - System.SpanTests.ReadOnlySpanTests:StartsWithNoMatch_Byte() (FullOpts)
          20 (3.75 % of base) : 218889.dasm - System.Security.Cryptography.Pkcs.SignerInfo:RemoveCounterSignature(int):this (FullOpts)
          17 (3.69 % of base) : 66750.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct]:EnqueueSlow(System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct):this (FullOpts)
          12 (3.66 % of base) : 145776.dasm - System.SpanTests.SpanTests:StartsWithNoMatch_Byte() (FullOpts)
          24 (3.52 % of base) : 227004.dasm - System.Security.Cryptography.Xml.XmlDsigBase64Transform:LoadStreamInput(System.IO.Stream):this (FullOpts)
          13 (3.39 % of base) : 102095.dasm - System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
          29 (3.16 % of base) : 150147.dasm - System.Net.Mail.Message:EncodeHeaders(System.Net.Mime.HeaderCollection,ubyte):this (FullOpts)
          29 (3.16 % of base) : 150756.dasm - System.Net.Mail.Message:EncodeHeaders(System.Net.Mime.HeaderCollection,ubyte):this (FullOpts)
          10 (2.95 % of base) : 67267.dasm - System.Collections.Concurrent.ConcurrentBag`1[int]:ToArray():int[]:this (FullOpts)
          31 (2.74 % of base) : 54857.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitBinaryOperator(Microsoft.CodeAnalysis.CSharp.BoundBinaryOperator,Microsoft.CodeAnalysis.CSharp.BoundUnaryOperator):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
           4 (2.68 % of base) : 192240.dasm - System.Numerics.BigInteger:System.Numerics.IBinaryInteger<System.Numerics.BigInteger>.GetShortestBitLength():int:this (FullOpts)
           6 (2.43 % of base) : 50836.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
Top method improvements (percentages):
        -178 (-6.20 % of base) : 43217.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 (FullOpts)
        -178 (-6.20 % of base) : 48944.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 (FullOpts)
         -81 (-5.28 % of base) : 293073.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex33146_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -17 (-5.20 % of base) : 37888.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
         -91 (-4.73 % of base) : 143296.dasm - System.Buffers.Tests.ArrayBufferWriterTests_String:WriteData(System.Buffers.IBufferWriter`1[System.String],int):this (FullOpts)
          -5 (-4.50 % of base) : 39752.dasm - System.Runtime.Serialization.ObjectHolderListEnumerator:MoveNext():ubyte:this (FullOpts)
         -37 (-4.07 % of base) : 46128.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:CanBePassedByReference(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
         -12 (-3.87 % of base) : 93623.dasm - System.Data.SqlTypes.SqlString:CompareBinary2(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):int (FullOpts)
         -41 (-3.75 % of base) : 276159.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1028_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -67 (-3.69 % of base) : 276158.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1026_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -12 (-3.19 % of base) : 123652.dasm - System.IO.Tests.Directory_GetFileSystemEntries_str_str:PrepareDirectory(System.String[],ubyte):System.String:this (FullOpts)
        -131 (-2.82 % of base) : 5235.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 (FullOpts)
          -2 (-2.82 % of base) : 12353.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
          -2 (-2.82 % of base) : 50441.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
         -16 (-2.75 % of base) : 37892.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTarget(byref,System.String):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target:this (FullOpts)
         -19 (-2.65 % of base) : 278333.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex4517_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        -148 (-2.59 % of base) : 15590.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:ReportDiagnostics[System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.String,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[System.__Canon],Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,ubyte,System.Nullable`1[ubyte],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):this (FullOpts)
          -9 (-2.34 % of base) : 68903.dasm - System.Collections.Frozen.KeyAnalyzer:CreateAnalysisResults(System.ReadOnlySpan`1[System.String],ubyte,int,int,int,int,ubyte,System.Collections.Frozen.KeyAnalyzer+GetSpan):System.Collections.Frozen.KeyAnalyzer+AnalysisResults (FullOpts)
          -9 (-2.31 % of base) : 267742.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:<TryCalculateSyntaxOffsetOfPositionInInitializer>g__findInitializer|106_0(System.Collections.Immutable.ImmutableArray`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.FieldOrPropertyInitializer]],int,Microsoft.CodeAnalysis.SyntaxTree,byref,byref):ubyte (FullOpts)
          -5 (-2.16 % of base) : 49559.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol:LookupNestedNamespace(System.Collections.Immutable.ImmutableArray`1[System.String]):Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol:this (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: 13153476 (overridden on cmd)
Total bytes of diff: 13153277 (overridden on cmd)
Total bytes of delta: -199 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          53 : 17923.dasm (0.72 % of base)
          50 : 26463.dasm (4.71 % of base)
          44 : 13037.dasm (0.99 % of base)
          41 : 31307.dasm (1.61 % of base)
          40 : 7156.dasm (4.92 % of base)
          39 : 8877.dasm (0.38 % of base)
          28 : 4978.dasm (0.54 % of base)
          28 : 24107.dasm (9.49 % of base)
          23 : 5092.dasm (2.79 % of base)
          19 : 998.dasm (0.13 % of base)
          17 : 1457.dasm (0.20 % of base)
          15 : 18352.dasm (1.10 % of base)
          13 : 11816.dasm (1.47 % of base)
          13 : 24611.dasm (0.23 % of base)
          13 : 29758.dasm (0.15 % of base)
          13 : 31297.dasm (2.21 % of base)
          11 : 16457.dasm (0.57 % of base)
          10 : 6728.dasm (0.10 % of base)
          10 : 3000.dasm (0.09 % of base)
          10 : 18292.dasm (0.47 % of base)
Top file improvements (bytes):
         -74 : 13438.dasm (-0.98 % of base)
         -55 : 12432.dasm (-2.65 % of base)
         -46 : 32911.dasm (-2.84 % of base)
         -39 : 25518.dasm (-0.33 % of base)
         -30 : 19578.dasm (-0.51 % of base)
         -28 : 12525.dasm (-0.58 % of base)
         -28 : 55.dasm (-3.59 % of base)
         -27 : 7085.dasm (-0.93 % of base)
         -20 : 26019.dasm (-2.13 % of base)
         -18 : 167.dasm (-1.61 % of base)
         -15 : 31804.dasm (-0.16 % of base)
         -14 : 16065.dasm (-0.75 % of base)
         -14 : 18353.dasm (-0.49 % of base)
         -14 : 25618.dasm (-2.67 % of base)
         -13 : 19413.dasm (-0.26 % of base)
         -11 : 31955.dasm (-0.34 % of base)
         -11 : 5400.dasm (-0.18 % of base)
         -11 : 18399.dasm (-0.52 % of base)
         -10 : 32031.dasm (-0.46 % of base)
         -10 : 3209.dasm (-0.15 % of base)
68 total files with Code Size differences (40 improved, 28 regressed), 20 unchanged.
Top method regressions (bytes):
          53 (0.72 % of base) : 17923.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)
          50 (4.71 % of base) : 26463.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitBinaryOperator(Microsoft.CodeAnalysis.CSharp.BoundBinaryOperator,Microsoft.CodeAnalysis.CSharp.BoundUnaryOperator):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          44 (0.99 % of base) : 13037.dasm - Microsoft.ML.Transforms.ValueToKeyMappingTransformer:Train(Microsoft.ML.Runtime.IHostEnvironment,Microsoft.ML.Runtime.IChannel,Microsoft.ML.Transforms.ValueToKeyMappingTransformer+ColInfo[],Microsoft.ML.IDataView,Microsoft.ML.Transforms.ValueToKeyMappingEstimator+ColumnOptionsBase[],Microsoft.ML.IDataView,ubyte):Microsoft.ML.Transforms.ValueToKeyMappingTransformer+TermMap[] (FullOpts)
          41 (1.61 % of base) : 31307.dasm - System.Management.Automation.LocationGlobber:GenerateRelativePath(System.Management.Automation.PSDriveInfo,System.String,ubyte,System.Management.Automation.Provider.CmdletProvider,System.Management.Automation.CmdletProviderContext):System.String:this (FullOpts)
          40 (4.92 % of base) : 7156.dasm - System.Number:TryNumberToDecimal(byref,byref):ubyte (FullOpts)
          39 (0.38 % of base) : 8877.dasm - FSharp.Compiler.ConstraintSolver:SolveTypeSubsumesType(FSharp.Compiler.ConstraintSolver+ConstraintSolverEnv,int,FSharp.Compiler.Text.Range,FSharp.Compiler.ConstraintSolver+OptionalTrace,Microsoft.FSharp.Core.FSharpOption`1[System.Tuple`2[FSharp.Compiler.TypedTree+TraitConstraintInfo,FSharp.Compiler.TypedTree+TraitConstraintSln]],FSharp.Compiler.TypedTree+TType,FSharp.Compiler.TypedTree+TType):FSharp.Compiler.ErrorLogger+OperationResult`1[Microsoft.FSharp.Core.Unit] (FullOpts)
          28 (0.54 % of base) : 4978.dasm - FSharp.Compiler.CompilerOptions:attempt@284(Microsoft.FSharp.Core.FSharpFunc`2[System.String,Microsoft.FSharp.Core.Unit],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerOptions+CompilerOptionBlock],Microsoft.FSharp.Collections.FSharpList`1[System.String],Microsoft.FSharp.Collections.FSharpList`1[System.String],System.String,System.String,System.String,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerOptions+CompilerOption]):Microsoft.FSharp.Collections.FSharpList`1[System.String] (FullOpts)
          28 (9.49 % of base) : 24107.dasm - Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
          23 (2.79 % of base) : 5092.dasm - FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5[int,int,int,int,int] (FullOpts)
          19 (0.13 % of base) : 998.dasm - BepuPhysics.CollisionDetection.CollisionTasks.BoxCylinderTester:Test(byref,byref,byref,byref,byref,byref,int,byref):this (FullOpts)
          17 (0.20 % of base) : 1457.dasm - BepuPhysics.CollisionDetection.CollisionTasks.BoxTriangleTester:Test(byref,byref,byref,byref,byref,byref,int,byref):this (FullOpts)
          15 (1.10 % of base) : 18352.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbolsWithNoPiaLocalTypes(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):ubyte:this (FullOpts)
          13 (0.23 % of base) : 24611.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindCatchBlock(Microsoft.CodeAnalysis.CSharp.Syntax.CatchClauseSyntax,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.BoundCatchBlock],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundCatchBlock:this (FullOpts)
          13 (2.21 % of base) : 31297.dasm - System.Management.Automation.SessionStateInternal:GetDrive(System.String,ubyte):System.Management.Automation.PSDriveInfo:this (FullOpts)
          13 (1.47 % of base) : 11816.dasm - System.Number:TryParseBinaryIntegerHexOrBinaryNumberStyle[ushort,uint,System.Number+HexParser`1[uint]](System.ReadOnlySpan`1[ushort],int,byref):int (FullOpts)
          13 (0.15 % of base) : 29758.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
          11 (0.57 % of base) : 16457.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:LexXmlDocCommentLeadingTrivia(byref):this (FullOpts)
          10 (0.09 % of base) : 3000.dasm - FSharp.Compiler.AbstractIL.ILBinaryReader:openMetadataReader(System.String,FSharp.Compiler.AbstractIL.ILBinaryReader+BinaryFile,int,System.Tuple`8[ushort,System.Tuple`2[int,int],ubyte,ubyte,ubyte,ubyte,ubyte,System.Tuple`5[Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.AbstractIL.IL+ILPlatform],ubyte,int,int,int]],FSharp.Compiler.AbstractIL.ILBinaryReader+PEReader,FSharp.Compiler.IO.ReadOnlyByteMemory,Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.AbstractIL.ILBinaryReader+PEReader],ubyte):System.Tuple`2[FSharp.Compiler.AbstractIL.IL+ILModuleDef,System.Lazy`1[Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.AbstractIL.IL+ILAssemblyRef]]] (FullOpts)
          10 (0.10 % of base) : 6728.dasm - FSharp.Compiler.Lexer:singleQuoteString(FSharp.Compiler.IO.ByteBuffer,FSharp.Compiler.Lexhelp+LexerStringFinisher,FSharp.Compiler.Text.Range,FSharp.Compiler.ParseHelpers+LexerStringKind,FSharp.Compiler.Lexhelp+LexArgs,ubyte,Internal.Utilities.Text.Lexing.LexBuffer`1[ushort]):FSharp.Compiler.Parser+token (FullOpts)
          10 (0.47 % of base) : 18292.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveReferencedAssembly(Microsoft.CodeAnalysis.AssemblyIdentity,System.Collections.Immutable.ImmutableArray`1[System.__Canon],int,Microsoft.CodeAnalysis.AssemblyIdentityComparer):Microsoft.CodeAnalysis.CommonReferenceManager`2+AssemblyReferenceBinding[System.__Canon,System.__Canon] (FullOpts)
Top method improvements (bytes):
         -74 (-0.98 % of base) : 13438.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)
         -55 (-2.65 % of base) : 12432.dasm - SixLabors.ImageSharp.Compression.Zlib.DeflaterEngine:FindLongestMatch(int):ubyte:this (FullOpts)
         -46 (-2.84 % of base) : 32911.dasm - System.String:SplitWithPostProcessing(System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int],int,int,int):System.String[]:this (FullOpts)
         -39 (-0.33 % of base) : 25518.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)
         -30 (-0.51 % of base) : 19578.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArguments>g__visitArguments|231_0(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Conversion],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,ubyte):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte,Microsoft.CodeAnalysis.CSharp.NullableWalker+ArgumentsCompletionDelegate]:this (FullOpts)
         -28 (-0.58 % of base) : 12525.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.HuffmanScanDecoder:ParseProgressiveDataNonInterleaved():this (FullOpts)
         -28 (-3.59 % of base) : 55.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
         -27 (-0.93 % of base) : 7085.dasm - FSharp.Compiler.Lexer:ifdefSkip(int,FSharp.Compiler.Text.Range,FSharp.Compiler.Lexhelp+LexArgs,ubyte,Internal.Utilities.Text.Lexing.LexBuffer`1[ushort]):FSharp.Compiler.Parser+token (FullOpts)
         -20 (-2.13 % of base) : 26019.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetNextToken(byref,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],ubyte,System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte]):Microsoft.CodeAnalysis.SyntaxToken:this (FullOpts)
         -18 (-1.61 % of base) : 167.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,int](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (FullOpts)
         -15 (-0.16 % of base) : 31804.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -14 (-0.49 % of base) : 18353.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 (FullOpts)
         -14 (-2.67 % of base) : 25618.dasm - Microsoft.CodeAnalysis.CSharp.MethodTypeInferrer:MakeExplicitParameterTypeInferences(Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.CSharp.BoundTupleLiteral,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,int,byref):ubyte:this (FullOpts)
         -14 (-0.75 % of base) : 16065.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
         -13 (-0.26 % of base) : 19413.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:IsApplicable(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.OverloadResolution+EffectiveParameters,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[int],ubyte,ubyte,ubyte,ubyte,byref):Microsoft.CodeAnalysis.CSharp.MemberAnalysisResult:this (FullOpts)
         -11 (-0.18 % of base) : 5400.dasm - FSharp.Compiler.TypedTreePickle:unpickleObjWithDanglingCcus[System.__Canon](System.String,FSharp.Compiler.AbstractIL.IL+ILScopeRef,Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.AbstractIL.IL+ILModuleDef],Microsoft.FSharp.Core.FSharpFunc`2[System.__Canon,System.__Canon],FSharp.Compiler.IO.ReadOnlyByteMemory):FSharp.Compiler.TypedTreePickle+PickledDataWithReferences`1[System.__Canon] (FullOpts)
         -11 (-0.52 % of base) : 18399.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)
         -11 (-0.34 % of base) : 31955.dasm - System.Management.Automation.Language.PSGetMemberBinder:GetPSMemberInfo(System.Dynamic.DynamicMetaObject,byref,byref,byref,int,System.Collections.Generic.HashSet`1[System.String],System.Collections.Generic.List`1[System.Dynamic.BindingRestrictions]):System.Management.Automation.PSMemberInfo:this (FullOpts)
         -10 (-0.15 % of base) : 3209.dasm - FSharp.Compiler.CompilerImports:TcConfig.TryResolveLibsUsingMSBuildRules.Static(FSharp.Compiler.CompilerConfig+TcConfig,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+AssemblyReference],FSharp.Compiler.Text.Range,FSharp.Compiler.CompilerImports+ResolveAssemblyReferenceMode):System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerImports+AssemblyResolution],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+UnresolvedAssemblyReference]] (FullOpts)
         -10 (-0.46 % of base) : 32031.dasm - System.Management.Automation.Language.PSInvokeMemberBinder:InvokeDotNetMethod(System.Dynamic.CallInfo,System.String,System.Management.Automation.PSMethodInvocationConstraints,int,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],System.Dynamic.BindingRestrictions,System.Management.Automation.MethodInformation[],System.Type):System.Dynamic.DynamicMetaObject (FullOpts)
Top method regressions (percentages):
          28 (9.49 % of base) : 24107.dasm - Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
          40 (4.92 % of base) : 7156.dasm - System.Number:TryNumberToDecimal(byref,byref):ubyte (FullOpts)
          50 (4.71 % of base) : 26463.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitBinaryOperator(Microsoft.CodeAnalysis.CSharp.BoundBinaryOperator,Microsoft.CodeAnalysis.CSharp.BoundUnaryOperator):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          23 (2.79 % of base) : 5092.dasm - FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5[int,int,int,int,int] (FullOpts)
           6 (2.43 % of base) : 19900.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
          13 (2.21 % of base) : 31297.dasm - System.Management.Automation.SessionStateInternal:GetDrive(System.String,ubyte):System.Management.Automation.PSDriveInfo:this (FullOpts)
           2 (1.80 % of base) : 17774.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
          10 (1.62 % of base) : 24325.dasm - Microsoft.CodeAnalysis.CSharp.RefSafetyAnalysis:GetInvocationEscapeScope(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[int],uint,ubyte):uint:this (FullOpts)
          41 (1.61 % of base) : 31307.dasm - System.Management.Automation.LocationGlobber:GenerateRelativePath(System.Management.Automation.PSDriveInfo,System.String,ubyte,System.Management.Automation.Provider.CmdletProvider,System.Management.Automation.CmdletProviderContext):System.String:this (FullOpts)
          13 (1.47 % of base) : 11816.dasm - System.Number:TryParseBinaryIntegerHexOrBinaryNumberStyle[ushort,uint,System.Number+HexParser`1[uint]](System.ReadOnlySpan`1[ushort],int,byref):int (FullOpts)
          15 (1.10 % of base) : 18352.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbolsWithNoPiaLocalTypes(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):ubyte:this (FullOpts)
          44 (0.99 % of base) : 13037.dasm - Microsoft.ML.Transforms.ValueToKeyMappingTransformer:Train(Microsoft.ML.Runtime.IHostEnvironment,Microsoft.ML.Runtime.IChannel,Microsoft.ML.Transforms.ValueToKeyMappingTransformer+ColInfo[],Microsoft.ML.IDataView,Microsoft.ML.Transforms.ValueToKeyMappingEstimator+ColumnOptionsBase[],Microsoft.ML.IDataView,ubyte):Microsoft.ML.Transforms.ValueToKeyMappingTransformer+TermMap[] (FullOpts)
           4 (0.96 % of base) : 3264.dasm - Microsoft.FSharp.Collections.ArrayModule+Filter:createMask[System.__Canon](Microsoft.FSharp.Core.FSharpFunc`2[System.__Canon,ubyte],System.__Canon[],byref,byref):int (FullOpts)
           6 (0.90 % of base) : 17039.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanUnicodeEscape(ubyte,byref,byref):ushort:this (FullOpts)
           8 (0.88 % of base) : 15485.dasm - Microsoft.ML.Transforms.Text.NgramExtractorTransform:Create(Microsoft.ML.Runtime.IHostEnvironment,Microsoft.ML.Transforms.Text.NgramExtractorTransform+NgramExtractorArguments,Microsoft.ML.IDataView,Microsoft.ML.Transforms.Text.ExtractorColumn[],Microsoft.ML.Transforms.Text.TermLoaderArguments):Microsoft.ML.ITransformer (FullOpts)
          53 (0.72 % of base) : 17923.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)
           4 (0.66 % of base) : 808.dasm - System.Linq.Enumerable:MinFloat[double](System.Collections.Generic.IEnumerable`1[double]):double (FullOpts)
          11 (0.57 % of base) : 16457.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:LexXmlDocCommentLeadingTrivia(byref):this (FullOpts)
          28 (0.54 % of base) : 4978.dasm - FSharp.Compiler.CompilerOptions:attempt@284(Microsoft.FSharp.Core.FSharpFunc`2[System.String,Microsoft.FSharp.Core.Unit],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerOptions+CompilerOptionBlock],Microsoft.FSharp.Collections.FSharpList`1[System.String],Microsoft.FSharp.Collections.FSharpList`1[System.String],System.String,System.String,System.String,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerOptions+CompilerOption]):Microsoft.FSharp.Collections.FSharpList`1[System.String] (FullOpts)
           8 (0.52 % of base) : 21360.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:GetUserDefinedBinaryOperatorsFromInterfaces(int,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,byref,System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.BinaryOperatorAnalysisResult]):ubyte:this (FullOpts)
Top method improvements (percentages):
          -5 (-3.88 % of base) : 27463.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:IsBeginningOfParamArray(int,int,ubyte,int,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[int],byref):ubyte (FullOpts)
         -28 (-3.59 % of base) : 55.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
         -46 (-2.84 % of base) : 32911.dasm - System.String:SplitWithPostProcessing(System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int],int,int,int):System.String[]:this (FullOpts)
         -14 (-2.67 % of base) : 25618.dasm - Microsoft.CodeAnalysis.CSharp.MethodTypeInferrer:MakeExplicitParameterTypeInferences(Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.CSharp.BoundTupleLiteral,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,int,byref):ubyte:this (FullOpts)
         -55 (-2.65 % of base) : 12432.dasm - SixLabors.ImageSharp.Compression.Zlib.DeflaterEngine:FindLongestMatch(int):ubyte:this (FullOpts)
          -9 (-2.31 % of base) : 27951.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:<TryCalculateSyntaxOffsetOfPositionInInitializer>g__findInitializer|106_0(System.Collections.Immutable.ImmutableArray`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.FieldOrPropertyInitializer]],int,Microsoft.CodeAnalysis.SyntaxTree,byref,byref):ubyte (FullOpts)
         -20 (-2.13 % of base) : 26019.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetNextToken(byref,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],ubyte,System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte]):Microsoft.CodeAnalysis.SyntaxToken:this (FullOpts)
          -8 (-1.74 % of base) : 25888.dasm - Microsoft.CodeAnalysis.CSharp.MethodTypeInferrer:MakeOutputTypeInferences(Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.CSharp.BoundTupleLiteral,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,byref):this (FullOpts)
          -7 (-1.65 % of base) : 13700.dasm - Microsoft.ML.Data.PredictedLabelScorerBase:GetGetters(Microsoft.ML.DataViewRow,System.Func`2[int,ubyte]):System.Delegate[]:this (FullOpts)
          -4 (-1.63 % of base) : 21085.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:<MakeAllInterfaces>g__addAllInterfaces|29_0(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]) (FullOpts)
         -18 (-1.61 % of base) : 167.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,int](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (FullOpts)
          -4 (-1.21 % of base) : 5536.dasm - FSharp.Compiler.TypedTreePickle:decode_pubpath(FSharp.Compiler.TypedTreePickle+ReaderState,FSharp.Compiler.TypedTreePickle+InputTable`1[System.String],int[]):FSharp.Compiler.TypedTree+PublicPath (FullOpts)
          -4 (-1.12 % of base) : 28179.dasm - System.Collections.Immutable.ImmutableArray:CreateRange[System.__Canon,System.ValueTuple`2[System.__Canon,System.__Canon],System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`3[System.__Canon,System.ValueTuple`2[System.__Canon,System.__Canon],System.__Canon],System.ValueTuple`2[System.__Canon,System.__Canon]):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (FullOpts)
          -4 (-1.11 % of base) : 5538.dasm - FSharp.Compiler.TypedTreePickle:decode_nleref(FSharp.Compiler.TypedTreePickle+ReaderState,FSharp.Compiler.TypedTreePickle+InputTable`1[FSharp.Compiler.TypedTree+CcuThunk],FSharp.Compiler.TypedTreePickle+InputTable`1[System.String],int,int[]):FSharp.Compiler.TypedTree+NonLocalEntityRef (FullOpts)
          -4 (-1.08 % of base) : 11192.dasm - FSharp.Compiler.PostTypeCheckSemanticChecks:CheckDecisionTreeTargets(FSharp.Compiler.PostTypeCheckSemanticChecks+cenv,FSharp.Compiler.PostTypeCheckSemanticChecks+env,FSharp.Compiler.TypedTree+DecisionTreeTarget[],FSharp.Compiler.PostTypeCheckSemanticChecks+PermitByRefExpr):FSharp.Compiler.PostTypeCheckSemanticChecks+Limit (FullOpts)
          -7 (-1.02 % of base) : 5023.dasm - Microsoft.FSharp.Primitives.Basics.Array:stableSortWithKeysAndComparer[System.__Canon,System.__Canon](System.Collections.Generic.IComparer`1[System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon],System.__Canon[],System.__Canon[]) (FullOpts)
         -74 (-0.98 % of base) : 13438.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)
         -27 (-0.93 % of base) : 7085.dasm - FSharp.Compiler.Lexer:ifdefSkip(int,FSharp.Compiler.Text.Range,FSharp.Compiler.Lexhelp+LexArgs,ubyte,Internal.Utilities.Text.Lexing.LexBuffer`1[ushort]):FSharp.Compiler.Parser+token (FullOpts)
          -6 (-0.92 % of base) : 24824.dasm - Microsoft.CodeAnalysis.CSharp.MethodTypeInferrer:ExplicitParameterTypeInference(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,byref):this (FullOpts)
          -5 (-0.88 % of base) : 15815.dasm - Microsoft.ML.Trainers.KMeansUtils:FindBestCluster(byref,Microsoft.ML.Data.VBuffer`1[float][],float[],int,ubyte,byref,byref,byref,byref) (FullOpts)
  
  
osx arm64
Diffs are based on 2,030,809 contexts (927,669 MinOpts, 1,103,140 FullOpts).
Overall (-4,616 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.osx.arm64.checked.mch | 11,184,544 | +64 | 
| benchmarks.run_pgo.osx.arm64.checked.mch | 34,491,188 | +844 | 
| benchmarks.run_tiered.osx.arm64.checked.mch | 15,561,300 | -612 | 
| coreclr_tests.run.osx.arm64.checked.mch | 486,155,516 | -616 | 
| libraries.crossgen2.osx.arm64.checked.mch | 308,756 | +0 | 
| libraries.pmi.osx.arm64.checked.mch | 80,181,600 | -304 | 
| libraries_tests.run.osx.arm64.Release.mch | 314,052,980 | -3,012 | 
| librariestestsnotieredcompilation.run.osx.arm64.Release.mch | 163,157,008 | -856 | 
| realworld.run.osx.arm64.checked.mch | 15,079,352 | -124 | 
  
FullOpts (-4,616 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.osx.arm64.checked.mch | 11,184,008 | +64 | 
| benchmarks.run_pgo.osx.arm64.checked.mch | 18,137,460 | +844 | 
| benchmarks.run_tiered.osx.arm64.checked.mch | 4,058,496 | -612 | 
| coreclr_tests.run.osx.arm64.checked.mch | 153,910,140 | -616 | 
| libraries.crossgen2.osx.arm64.checked.mch | 308,756 | +0 | 
| libraries.pmi.osx.arm64.checked.mch | 80,060,472 | -304 | 
| libraries_tests.run.osx.arm64.Release.mch | 112,315,392 | -3,012 | 
| librariestestsnotieredcompilation.run.osx.arm64.Release.mch | 150,003,316 | -856 | 
| realworld.run.osx.arm64.checked.mch | 14,515,396 | -124 | 
  
Example diffs
benchmarks.run.osx.arm64.checked.mch
-4 (-1.56%) : 15496.dasm - Struct.GSeq:FilterSkipMapSum():int:this (FullOpts)
@@ -26,7 +26,7 @@
 ;* V15 tmp7         [V15    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <Struct.Plus15Mapper>
 ;* V16 tmp8         [V16    ] (  0,  0   )  struct (40) zero-ref    do-not-enreg[SF] ld-addr-op "Inlining Arg" <Struct.MapEnumerator`4[int,int,Struct.SkipEnumerator`2[int,Struct.FilterEnumerator`3[int,Struct.ArrayEnumerator`1[int],Struct.FilterIsOdd]],Struct.Plus15Mapper]>
 ;* V17 tmp9         [V17    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <Struct.FoldPlus>
-;  V18 tmp10        [V18,T07] (  4, 12   )     int  ->   x3         "Inlining Arg"
+;  V18 tmp10        [V18,T07] (  4, 12   )     int  ->   x0         "Inlining Arg"
 ;* V19 tmp11        [V19    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp12        [V20    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp13        [V21,T08] (  2,  8   )   ubyte  ->   x6         "Inline return value spill temp"
@@ -34,16 +34,16 @@
 ;* V23 tmp15        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V24 tmp16        [V24,T09] (  3,  8   )   ubyte  ->   x6         "Inline return value spill temp"
 ;* V25 tmp17        [V25    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V26 tmp18        [V26,T12] (  2,  2   )     ref  ->   x0         single-def "field V01._array (fldOffset=0x0)" P-INDEP
+;  V26 tmp18        [V26,T12] (  2,  2   )     ref  ->   x1         single-def "field V01._array (fldOffset=0x0)" P-INDEP
 ;* V27 tmp19        [V27    ] (  0,  0   )     int  ->  zero-ref    single-def "field V01._count (fldOffset=0x8)" P-INDEP
 ;* V28 tmp20        [V28    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V09._array (fldOffset=0x0)" P-INDEP
 ;* V29 tmp21        [V29    ] (  0,  0   )     int  ->  zero-ref    single-def "field V09._count (fldOffset=0x8)" P-INDEP
 ;* V30 tmp22        [V30    ] (  0,  0   )     int  ->  zero-ref    single-def "V03.[000..004)"
 ;* V31 tmp23        [V31    ] (  0,  0   )     ref  ->  zero-ref    single-def "V03.[008..016)"
 ;* V32 tmp24        [V32    ] (  0,  0   )     int  ->  zero-ref    single-def "V03.[016..020)"
-;  V33 tmp25        [V33,T06] (  4, 13   )     int  ->   x1         "V16.[000..004)"
-;  V34 tmp26        [V34,T05] (  4, 14   )     ref  ->   x0         single-def "V16.[008..016)"
-;  V35 tmp27        [V35,T00] ( 20,187.16)     int  ->   x2         "V16.[016..020)"
+;  V33 tmp25        [V33,T06] (  4, 13   )     int  ->   x2         "V16.[000..004)"
+;  V34 tmp26        [V34,T05] (  4, 14   )     ref  ->   x1         single-def "V16.[008..016)"
+;  V35 tmp27        [V35,T00] ( 20,187.16)     int  ->   x3         "V16.[016..020)"
 ;* V36 tmp28        [V36    ] (  0,  0   )     ref  ->  zero-ref    single-def "V02.[000..008)"
 ;* V37 tmp29        [V37    ] (  0,  0   )     int  ->  zero-ref    single-def "V02.[008..012)"
 ;* V38 tmp30        [V38    ] (  0,  0   )     int  ->  zero-ref    single-def "V04.[000..004)"
@@ -67,115 +67,114 @@ G_M1723_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M1723_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0]
-            ldr     x0, [x0, #0x08]
-            mov     w1, #5
-            movn    w2, #0
-            mov     w3, wzr
-            add     x4, x0, #16
+            ldr     x1, [x0, #0x08]
+            ; gcrRegs +[x1]
+            mov     w2, #5
+            movn    w3, #0
+            mov     w0, wzr
+            ; gcrRegs -[x0]
+            add     x4, x1, #16
             ; byrRegs +[x4]
             b       G_M1723_IG09
                        ;; size=24 bbWeight=1 PerfScore 6.00
-G_M1723_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            cmp     w2, w5
-            bhs     G_M1723_IG20
-            ldr     w5, [x4, w2, UXTW #2]
-            add     w3, w5, w3
-            add     w3, w3, #15
+G_M1723_IG03:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            cmp     w3, w5
+            bhs     G_M1723_IG19
+            ldr     w5, [x4, w3, UXTW #2]
+            add     w0, w5, w0
+            add     w0, w0, #15
             b       G_M1723_IG09
                        ;; size=24 bbWeight=2 PerfScore 13.00
-G_M1723_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref
-            ldr     w5, [x0, #0x08]
+G_M1723_IG04:        ; bbWeight=8, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref
+            ldr     w5, [x1, #0x08]
             b       G_M1723_IG06
                        ;; size=8 bbWeight=8 PerfScore 32.00
-G_M1723_IG05:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            ldr     w6, [x4, w2, UXTW #2]
+G_M1723_IG05:        ; bbWeight=8, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            ldr     w6, [x4, w3, UXTW #2]
             and     w7, w6, #1
             cmp     w6, #0
             cneg    w6, w7, lt
             cmp     w6, #1
             beq     G_M1723_IG08
                        ;; size=24 bbWeight=8 PerfScore 48.00
-G_M1723_IG06:        ; bbWeight=32, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            add     w2, w2, #1
-            cmp     w5, w2
+G_M1723_IG06:        ; bbWeight=32, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            add     w3, w3, #1
+            cmp     w5, w3
             bhi     G_M1723_IG05
                        ;; size=12 bbWeight=32 PerfScore 64.00
 G_M1723_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0]
+            ; gcrRegs -[x1]
             ; byrRegs -[x4]
             b       G_M1723_IG18
                        ;; size=4 bbWeight=2 PerfScore 2.00
-G_M1723_IG08:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref
-            ; gcrRegs +[x0]
+G_M1723_IG08:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref
+            ; gcrRegs +[x1]
             ; byrRegs +[x4]
-            sub     w1, w1, #1
+            sub     w2, w2, #1
                      ;; size=4 bbWeight=2 PerfScore 1.00
-G_M1723_IG09:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            cmp     w1, #0
+G_M1723_IG09:        ; bbWeight=8, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            cmp     w2, #0
             bgt     G_M1723_IG04
                        ;; size=8 bbWeight=8 PerfScore 12.00
-G_M1723_IG10:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            add     w2, w2, #1
-            ldr     w5, [x0, #0x08]
-            cmp     w5, w2
+G_M1723_IG10:        ; bbWeight=4, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            add     w3, w3, #1
+            ldr     w5, [x1, #0x08]
+            cmp     w5, w3
             bls     G_M1723_IG15
                        ;; size=16 bbWeight=4 PerfScore 20.00
-G_M1723_IG11:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            tbnz    w2, #31, G_M1723_IG14
+G_M1723_IG11:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            tbnz    w3, #31, G_M1723_IG14
                       ;; size=4 bbWeight=2 PerfScore 2.00
-G_M1723_IG12:        ; bbWeight=15.84, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            ldr     w6, [x4, w2, UXTW #2]
+G_M1723_IG12:        ; bbWeight=15.84, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            ldr     w6, [x4, w3, UXTW #2]
             and     w7, w6, #1
             cmp     w6, #0
             cneg    w6, w7, lt
             cmp     w6, #1
             beq     G_M1723_IG16
-            add     w2, w2, #1
-            cmp     w5, w2
+            add     w3, w3, #1
+            cmp     w5, w3
             bhi     G_M1723_IG12
                        ;; size=36 bbWeight=15.84 PerfScore 126.72
-G_M1723_IG13:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref
+G_M1723_IG13:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref
             b       G_M1723_IG15
                        ;; size=4 bbWeight=2 PerfScore 2.00
-G_M1723_IG14:        ; bbWeight=0.16, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            cmp     w2, w5
-            bhs     G_M1723_IG20
-            ldr     w6, [x4, w2, UXTW #2]
+G_M1723_IG14:        ; bbWeight=0.16, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            cmp     w3, w5
+            bhs     G_M1723_IG19
+            ldr     w6, [x4, w3, UXTW #2]
             and     w7, w6, #1
             cmp     w6, #0
             cneg    w6, w7, lt
             cmp     w6, #1
             beq     G_M1723_IG16
-            add     w2, w2, #1
-            cmp     w5, w2
+            add     w3, w3, #1
+            cmp     w5, w3
             bhi     G_M1723_IG14
                        ;; size=44 bbWeight=0.16 PerfScore 1.52
-G_M1723_IG15:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref
+G_M1723_IG15:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref
             mov     w6, wzr
             b       G_M1723_IG17
                        ;; size=8 bbWeight=2 PerfScore 3.00
-G_M1723_IG16:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref
+G_M1723_IG16:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref
             mov     w6, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M1723_IG17:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
+G_M1723_IG17:        ; bbWeight=4, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
             cbnz    w6, G_M1723_IG03
                        ;; size=4 bbWeight=4 PerfScore 4.00
-G_M1723_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0]
+G_M1723_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ; gcrRegs -[x1]
             ; byrRegs -[x4]
-            mov     w0, w3
-                       ;; size=4 bbWeight=1 PerfScore 0.50
-G_M1723_IG19:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M1723_IG20:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M1723_IG19:        ; 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 256, prolog size 8, PerfScore 342.24, instruction count 64, allocated bytes for code 256 (MethodHash=ee60f944) for method Struct.GSeq:FilterSkipMapSum():int:this (FullOpts)
+; Total bytes of code 252, prolog size 8, PerfScore 341.74, instruction count 63, allocated bytes for code 252 (MethodHash=ee60f944) for method Struct.GSeq:FilterSkipMapSum():int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -186,7 +185,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 64 (0x00040) Actual length = 256 (0x000100)
+  Function Length   : 63 (0x0003f) Actual length = 252 (0x0000fc)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-24 (-1.10%) : 22308.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan1[ushort],System.ReadOnlySpan1[ushort],ubyte,ubyte):ubyte (FullOpts)
@@ -30,8 +30,8 @@
 ;* V19 loc15        [V19    ] (  0,   0   )   ubyte  ->  zero-ref   
 ;* V20 loc16        [V20    ] (  0,   0   )  struct (16) zero-ref    <System.Span`1[int]>
 ;  V21 loc17        [V21,T28] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
-;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x13        
-;  V23 loc19        [V23,T01] (  7,1344   )     int  ->   x1        
+;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x14        
+;  V23 loc19        [V23,T01] (  7,1344   )     int  ->  x13        
 ;  V24 loc20        [V24,T02] (  3, 832   )     int  ->   x0        
 ;# V25 OutArgs      [V25    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V26 tmp1         [V26    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
@@ -40,15 +40,15 @@
 ;  V29 tmp4         [V29,T12] (  4, 256   )     int  ->   x7         "impSpillLclRefs"
 ;  V30 tmp5         [V30,T13] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V31 tmp6         [V31,T15] (  2, 256   )     int  ->  x10         "dup spill"
-;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x0         "impSpillLclRefs"
+;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V33 tmp8         [V33,T49] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
 ;* V34 tmp9         [V34    ] (  0,   0   )     int  ->  zero-ref    ptr
 ;  V35 tmp10        [V35,T37] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V36 tmp11        [V36,T38] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
 ;  V37 tmp12        [V37,T34] (  5,  80   )     int  ->  x13         "dup spill"
 ;  V38 tmp13        [V38,T39] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
-;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x1         "impSpillLclRefs"
-;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x1         "impSpillLclRefs"
+;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
+;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V41 tmp16        [V41,T30] (  3,  96   )     int  ->   x1        
 ;  V42 tmp17        [V42,T52] (  4,  16   )     int  ->  x25         "impSpillLclRefs"
 ;* V43 tmp18        [V43    ] (  0,   0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
@@ -310,10 +310,10 @@ G_M9731_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     x23, [fp, #-0x78]  // [V01 arg1]
             ; byrRegs +[x23]
             ldr     w24, [fp, #-0x70]  // [V01 arg1+0x08]
-            cbz     w22, G_M9731_IG68
+            cbz     w22, G_M9731_IG69
                         ;; size=20 bbWeight=1 PerfScore 9.00
 G_M9731_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref, isz
-            cbz     w24, G_M9731_IG68
+            cbz     w24, G_M9731_IG69
             ldrh    w0, [x21]
             cmp     w0, #42
             bne     G_M9731_IG08
@@ -393,7 +393,7 @@ G_M9731_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2A00000 {x21
 G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23 x25}, byref, isz
             ; byrRegs -[x21]
             cmp     w24, w26
-            blt     G_M9731_IG68
+            blt     G_M9731_IG69
             mov     x0, x23
             ; byrRegs +[x0]
             sxtw    w1, w24
@@ -410,7 +410,7 @@ G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23
             blr     x5
             ; byrRegs -[x0 x2 x23 x25]
             ; gcr arg pop 0
-            b       G_M9731_IG63
+            b       G_M9731_IG64
                         ;; size=60 bbWeight=0.50 PerfScore 5.75
 G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref
             ; byrRegs +[x21 x23]
@@ -437,7 +437,7 @@ G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21
             add     w1, w25, #1
             sxtw    w27, w1
             cmp     w25, w24
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldrh    w1, [x23, w25, UXTW #2]
             sxtw    w25, w1
             b       G_M9731_IG12
@@ -445,7 +445,7 @@ G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21
 G_M9731_IG11:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
             sub     w6, w26, #1
             cmp     w6, w4
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldr     w1, [x3, w6, UXTW #2]
             cmp     w1, w5
             beq     G_M9731_IG21
@@ -469,7 +469,7 @@ G_M9731_IG13:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x2
             str     w0, [fp, #-0x80]   // [V06 loc2]
             str     w4, [fp, #-0xC8]   // [V182 tmp157]
             cmp     w1, w4
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             str     x3, [fp, #-0xD8] // [V181 tmp156]
             ; GC ptr vars +{V181}
             ldr     w1, [x3, w1, UXTW #2]
@@ -477,14 +477,14 @@ G_M9731_IG13:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x2
             add     w1, w1, w1,  LSR #31
             asr     w10, w1, #1
             cmp     w10, w22
-            bge     G_M9731_IG51
+            bge     G_M9731_IG52
                        ;; size=48 bbWeight=16 PerfScore 192.00
 G_M9731_IG14:        ; bbWeight=64, gcVars=00000000000000000000000000000200 {V181}, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, gcvars, byref, isz
             ; byrRegs -[x3]
             lsl     w11, w10, #1
             str     w11, [fp, #-0x94]  // [V16 loc12]
             cmp     w10, w22
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             str     w10, [fp, #-0x7C]  // [V05 loc1]
             ldrh    w13, [x21, w10, UXTW #2]
             str     w13, [fp, #-0x8C]  // [V11 loc7]
@@ -513,7 +513,7 @@ G_M9731_IG15:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             str     w4, [fp, #-0xCC]   // [V244 tmp219]
             ldr     w5, [fp, #-0xC4]   // [V180 tmp155]
             cmp     w5, w4
-            bhi     G_M9731_IG71
+            bhi     G_M9731_IG72
             mov     w2, w5
             lsl     x2, x2, #2
             mov     x0, x3
@@ -548,7 +548,7 @@ G_M9731_IG15:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             str     w4, [fp, #-0xD0]   // [V248 tmp223]
             ldr     w5, [fp, #-0xC8]   // [V182 tmp157]
             cmp     w5, w4
-            bhi     G_M9731_IG71
+            bhi     G_M9731_IG72
             mov     w2, w5
             lsl     x2, x2, #2
             mov     x0, x3
@@ -579,29 +579,29 @@ G_M9731_IG16:        ; bbWeight=64, gcVars=00000000000000000000000000000200 {V18
             ; GC ptr vars -{V247}
             ldr     w13, [fp, #-0x8C]  // [V11 loc7]
             cmp     w13, #42
-            beq     G_M9731_IG28
+            beq     G_M9731_IG30
                        ;; size=12 bbWeight=64 PerfScore 224.00
 G_M9731_IG17:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             tst     w19, #255
             beq     G_M9731_IG26
             cmp     w13, #60
             bne     G_M9731_IG26
-            mov     w13, wzr
+            mov     w14, wzr
             cbnz    w6, G_M9731_IG24
             cmp     w25, #46
             bne     G_M9731_IG23
-            sxtw    w1, w27
-            cmp     w1, w24
+            sxtw    w13, w27
+            cmp     w13, w24
             bge     G_M9731_IG23
                        ;; size=44 bbWeight=32 PerfScore 256.00
 G_M9731_IG18:        ; bbWeight=256, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            cmp     w1, w24
-            bhs     G_M9731_IG70
-            ldrh    w0, [x23, w1, UXTW #2]
-            cmp     w0, #46
+            cmp     w13, w24
+            bhs     G_M9731_IG71
+            ldrh    w1, [x23, w13, UXTW #2]
+            cmp     w1, #46
             beq     G_M9731_IG22
-            add     w1, w1, #1
-            cmp     w1, w24
+            add     w13, w13, #1
+            cmp     w13, w24
             blt     G_M9731_IG18
                        ;; size=32 bbWeight=256 PerfScore 2048.00
 G_M9731_IG19:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
@@ -612,18 +612,18 @@ G_M9731_IG20:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, g
             ; GC ptr vars -{V181}
             str     x3, [fp, #-0xD8]   // [V181 tmp156]
             ; GC ptr vars +{V181}
-            b       G_M9731_IG61
+            b       G_M9731_IG62
                       ;; size=8 bbWeight=2 PerfScore 4.00
 G_M9731_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref
             ; byrRegs -[x21 x23 x28]
             ; GC ptr vars -{V181}
             ldr     w5, [fp, #-0x90]   // [V15 loc11]
-            b       G_M9731_IG62
+            b       G_M9731_IG63
                       ;; size=8 bbWeight=1 PerfScore 3.00
 G_M9731_IG22:        ; bbWeight=32, gcVars=00000000000000000000000000000200 {V181}, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, gcvars, byref
             ; byrRegs -[x3] +[x21 x23 x28]
             ; GC ptr vars +{V09 V181}
-            mov     w13, #1
+            mov     w14, #1
                         ;; size=4 bbWeight=32 PerfScore 16.00
 G_M9731_IG23:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
             cmp     w25, #46
@@ -634,174 +634,170 @@ G_M9731_IG24:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             mov     w1, #1
                        ;; size=4 bbWeight=32 PerfScore 16.00
 G_M9731_IG25:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            orr     w1, w1, w13
-            cbz     w1, G_M9731_IG29
-            b       G_M9731_IG28
+            orr     w1, w1, w14
+            cbz     w1, G_M9731_IG31
+            b       G_M9731_IG30
                        ;; size=12 bbWeight=32 PerfScore 80.00
 G_M9731_IG26:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w11, [fp, #-0x94]  // [V16 loc12]
             add     w11, w11, #2
             tst     w19, #255
-            beq     G_M9731_IG37
+            beq     G_M9731_IG38
             cmp     w13, #62
-            bne     G_M9731_IG27
-            cbnz    w6, G_M9731_IG30
+            bne     G_M9731_IG28
+            cbnz    w6, G_M9731_IG32
             cmp     w25, #46
-            beq     G_M9731_IG30
-            b       G_M9731_IG34
-                       ;; size=40 bbWeight=32 PerfScore 288.00
-G_M9731_IG27:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            cmp     w13, #34
-            bne     G_M9731_IG37
-            cbnz    w6, G_M9731_IG30
-            b       G_M9731_IG35
-                       ;; size=16 bbWeight=32 PerfScore 112.00
+            beq     G_M9731_IG32
+                       ;; size=36 bbWeight=32 PerfScore 256.00
+G_M9731_IG27:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
+            b       G_M9731_IG36
+                       ;; size=4 bbWeight=8 PerfScore 8.00
 G_M9731_IG28:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
+            cmp     w13, #34
+            bne     G_M9731_IG38
+            cbnz    w6, G_M9731_IG32
+                       ;; size=12 bbWeight=32 PerfScore 80.00
+G_M9731_IG29:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
+            b       G_M9731_IG37
+                       ;; size=4 bbWeight=8 PerfScore 8.00
+G_M9731_IG30:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w7, [fp, #-0x84]    // [V07 loc3]
             add     w13, w7, #1
             cmp     w7, w2
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldr     w11, [fp, #-0x94]    // [V16 loc12]
             str     w11, [x28, w7, UXTW #2]
             str     w13, [fp, #-0x84]  // [V07 loc3]
             str     w11, [fp, #-0x94]  // [V16 loc12]
                        ;; size=32 bbWeight=32 PerfScore 288.00
-G_M9731_IG29:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
+G_M9731_IG31:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w7, [fp, #-0x84]   // [V07 loc3]
             sxtw    w1, w7
             add     w7, w1, #1
             cmp     w1, w2
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldr     w11, [fp, #-0x94]    // [V16 loc12]
...
  
-4 (-0.81%) : 6216.dasm - Utf8Json.JsonReader:ReadInt64():long:this (FullOpts)
@@ -9,9 +9,9 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T05] ( 13, 16.50)   byref  ->  x19         this single-def
-;  V01 loc0         [V01,T13] (  4,  3   )     int  ->   x0         ld-addr-op
+;  V01 loc0         [V01,T13] (  4,  3   )     int  ->   x6         ld-addr-op
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T17] (  2,  2   )    long  ->   x3         single-def
+;  V03 tmp1         [V03,T17] (  2,  2   )    long  ->   x0         single-def
 ;  V04 tmp2         [V04,T00] ( 10, 26.50)     int  ->   x1         "Inline stloc first use temp"
 ;* V05 tmp3         [V05    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;  V06 tmp4         [V06,T08] (  6, 10   )    long  ->   x3         "Inline stloc first use temp"
@@ -157,10 +157,10 @@ G_M7930_IG15:        ; bbWeight=3.96, gcrefRegs=0000 {}, byrefRegs=80001 {x0 x19
             cmp     w5, w6
             bgt     G_M7930_IG13
                        ;; size=32 bbWeight=3.96 PerfScore 37.62
-G_M7930_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref
+G_M7930_IG16:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref
             ; byrRegs -[x0]
             b       G_M7930_IG20
-                     ;; size=4 bbWeight=1 PerfScore 1.00
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M7930_IG17:        ; bbWeight=0.04, gcrefRegs=0000 {}, byrefRegs=80001 {x0 x19}, byref, isz
             ; byrRegs +[x0]
             cmp     w6, w5
@@ -186,23 +186,22 @@ G_M7930_IG19:        ; bbWeight=0.04, gcrefRegs=0000 {}, byrefRegs=80001 {x0 x19
                        ;; size=32 bbWeight=0.04 PerfScore 0.38
 G_M7930_IG20:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
             ; byrRegs -[x0]
-            subs    w0, w5, w1
+            subs    w6, w5, w1
             bvs     G_M7930_IG24
             b       G_M7930_IG22
                        ;; size=12 bbWeight=0.50 PerfScore 1.25
 G_M7930_IG21:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
-            subs    w0, w6, w1
+            subs    w6, w6, w1
             bvs     G_M7930_IG24
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M7930_IG22:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
-            sxtw    x1, w4
-            mul     x3, x3, x1
-            cbz     w0, G_M7930_IG26
-            adds    w0, w2, w0
+            sxtw    x0, w4
+            mul     x0, x3, x0
+            cbz     w6, G_M7930_IG26
+            adds    w1, w2, w6
             bvs     G_M7930_IG24
-            str     w0, [x19, #0x08]
-            mov     x0, x3
-                       ;; size=28 bbWeight=1 PerfScore 6.50
+            str     w1, [x19, #0x08]
+                       ;; size=24 bbWeight=1 PerfScore 6.00
 G_M7930_IG23:        ; bbWeight=1, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
@@ -294,7 +293,7 @@ RWD00   dd  G_M7930_IG07 - G_M7930_IG02
            dd  G_M7930_IG04 - G_M7930_IG02
 
 
-; Total bytes of code 496, prolog size 16, PerfScore 238.31, instruction count 124, allocated bytes for code 496 (MethodHash=bd94e105) for method Utf8Json.JsonReader:ReadInt64():long:this (FullOpts)
+; Total bytes of code 492, prolog size 16, PerfScore 237.31, instruction count 123, allocated bytes for code 492 (MethodHash=bd94e105) for method Utf8Json.JsonReader:ReadInt64():long:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -305,7 +304,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 124 (0x0007c) Actual length = 496 (0x0001f0)
+  Function Length   : 123 (0x0007b) Actual length = 492 (0x0001ec)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+16 (+2.25%) : 24105.dasm - Benchstone.BenchI.Array2:Bench(int):ubyte (FullOpts)
@@ -12,39 +12,41 @@
 ;  V02 loc1         [V02,T18] (  6,   9.64)     ref  ->  x21         class-hnd single-def <int[][][]>
 ;* V03 loc2         [V03    ] (  0,   0   )   ubyte  ->  zero-ref   
 ;  V04 loc3         [V04,T11] ( 14,  95.04)     int  ->   x2        
-;  V05 loc4         [V05,T08] ( 18, 282.19)     int  ->   x5        
-;  V06 loc5         [V06,T00] ( 21,1600   )     int  ->   x6        
+;  V05 loc4         [V05,T08] ( 18, 282.19)     int  ->   x0        
+;  V06 loc5         [V06,T00] ( 21,1600   )     int  ->   x1        
 ;# V07 OutArgs      [V07    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T01] (  9,1536.00)     ref  ->  x10         class-hnd "Strict ordering of exceptions for Array store" <int[]>
-;  V09 tmp2         [V09,T05] (  6,1024.00)     int  ->  x11         "Strict ordering of exceptions for Array store"
-;  V10 tmp3         [V10,T03] (  8,1034.19)     ref  ->  x10         "arr expr"
-;  V11 tmp4         [V11,T02] (  9,1536.00)     ref  ->  x11         "arr expr"
-;  V12 tmp5         [V12,T04] (  8,1034.19)     ref  ->  x11         "arr expr"
-;  V13 cse0         [V13,T25] (  2,   3.20)     ref  ->   x3         hoist "CSE - aggressive"
-;  V14 cse1         [V14,T09] (  6, 277.28)     ref  ->   x7         hoist multi-def "CSE - aggressive"
-;  V15 cse2         [V15,T10] (  6, 277.28)     ref  ->   x8         hoist multi-def "CSE - aggressive"
-;  V16 cse3         [V16,T13] (  6,  24.00)    long  ->   x6         hoist multi-def "CSE - aggressive"
-;  V17 cse4         [V17,T07] (  3, 564.54)    long  ->   x9         hoist "CSE - aggressive"
-;  V18 cse5         [V18,T06] (  3, 752.72)    long  ->  x13         "CSE - aggressive"
-;  V19 cse6         [V19,T24] (  3,   3.36)    long  ->   x7         hoist "CSE - aggressive"
-;  V20 cse7         [V20,T22] (  3,   5.76)    long  ->   x8         hoist "CSE - aggressive"
-;  V21 cse8         [V21,T23] (  3,   5.70)    long  ->   x9         hoist "CSE - aggressive"
-;  V22 cse9         [V22,T20] (  3,   7.68)    long  ->   x9         "CSE - aggressive"
-;  V23 cse10        [V23,T21] (  3,   7.60)    long  ->  x13         "CSE - aggressive"
-;  V24 cse11        [V24,T19] (  4,   9.64)   byref  ->   x0         hoist "CSE - aggressive"
-;  V25 cse12        [V25,T16] (  4,  11.56)   byref  ->   x1         hoist "CSE - aggressive"
-;  V26 cse13        [V26,T14] (  5,  21.12)     int  ->   x3         hoist multi-def "CSE - aggressive"
-;  V27 cse14        [V27,T12] (  5,  24.96)     int  ->   x4         multi-def "CSE - aggressive"
+;  V08 tmp1         [V08,T01] (  9,1536.00)     ref  ->   x6         class-hnd "Strict ordering of exceptions for Array store" <int[]>
+;  V09 tmp2         [V09,T05] (  6,1024.00)     int  ->   x7         "Strict ordering of exceptions for Array store"
+;  V10 tmp3         [V10,T03] (  8,1034.19)     ref  ->   x6         "arr expr"
+;  V11 tmp4         [V11,T02] (  9,1536.00)     ref  ->   x7         "arr expr"
+;  V12 tmp5         [V12,T04] (  8,1034.19)     ref  ->   x7         "arr expr"
+;  V13 cse0         [V13,T25] (  2,   3.20)     ref  ->   x4         hoist "CSE - aggressive"
+;  V14 cse1         [V14,T09] (  6, 277.28)     ref  ->   x3         hoist multi-def "CSE - aggressive"
+;  V15 cse2         [V15,T10] (  6, 277.28)     ref  ->   x4         hoist multi-def "CSE - aggressive"
+;  V16 cse3         [V16,T13] (  6,  24.00)    long  ->   x1         hoist multi-def "CSE - aggressive"
+;  V17 cse4         [V17,T07] (  3, 564.54)    long  ->   x5         hoist "CSE - aggressive"
+;  V18 cse5         [V18,T06] (  3, 752.72)    long  ->   x8         "CSE - aggressive"
+;  V19 cse6         [V19,T24] (  3,   3.36)    long  ->   x3         hoist "CSE - aggressive"
+;  V20 cse7         [V20,T22] (  3,   5.76)    long  ->   x5         hoist "CSE - aggressive"
+;  V21 cse8         [V21,T23] (  3,   5.70)    long  ->   x5         hoist "CSE - aggressive"
+;  V22 cse9         [V22,T20] (  3,   7.68)    long  ->   x8         "CSE - aggressive"
+;  V23 cse10        [V23,T21] (  3,   7.60)    long  ->   x8         "CSE - aggressive"
+;  V24 cse11        [V24,T19] (  4,   9.64)   byref  ->  x22         hoist "CSE - aggressive"
+;  V25 cse12        [V25,T16] (  4,  11.56)   byref  ->  x23         hoist "CSE - aggressive"
+;  V26 cse13        [V26,T14] (  5,  21.12)     int  ->  x24         hoist multi-def "CSE - aggressive"
+;  V27 cse14        [V27,T12] (  5,  24.96)     int  ->  x25         multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
 G_M17716_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
+            stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     x21, x22, [sp, #0x28]
+            stp     x23, x24, [sp, #0x38]
+            str     x25, [sp, #0x48]
             mov     fp, sp
             mov     w19, w0
-                      ;; size=20 bbWeight=1 PerfScore 4.00
+                      ;; size=28 bbWeight=1 PerfScore 6.00
 G_M17716_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             mov     w0, #10
             mov     w1, #10
@@ -80,237 +82,242 @@ G_M17716_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs -[x0]
             ; gcr arg pop 0
             cbz     w19, G_M17716_IG23
-            add     x0, x21, #16
-            ; byrRegs +[x0]
-            add     x1, x20, #16
-            ; byrRegs +[x1]
+            add     x22, x21, #16
+            ; byrRegs +[x22]
+            add     x23, x20, #16
+            ; byrRegs +[x23]
                        ;; size=108 bbWeight=1 PerfScore 23.00
-G_M17716_IG03:        ; bbWeight=4, gcrefRegs=300000 {x20 x21}, byrefRegs=0003 {x0 x1}, byref, isz
+G_M17716_IG03:        ; bbWeight=4, gcrefRegs=300000 {x20 x21}, byrefRegs=C00000 {x22 x23}, byref, isz
             mov     w2, wzr
             cbz     x21, G_M17716_IG17
                        ;; size=8 bbWeight=4 PerfScore 6.00
-G_M17716_IG04:        ; bbWeight=2, gcrefRegs=300000 {x20 x21}, byrefRegs=0003 {x0 x1}, byref, isz
+G_M17716_IG04:        ; bbWeight=2, gcrefRegs=300000 {x20 x21}, byrefRegs=C00000 {x22 x23}, byref, isz
             cbz     x20, G_M17716_IG17
-            ldr     w3, [x21, #0x08]
-            cmp     w3, #10
+            ldr     w24, [x21, #0x08]
+            cmp     w24, #10
             blt     G_M17716_IG17
-            ldr     w4, [x20, #0x08]
-            cmp     w4, #10
+            ldr     w25, [x20, #0x08]
+            cmp     w25, #10
             blt     G_M17716_IG17
                        ;; size=28 bbWeight=2 PerfScore 20.00
-G_M17716_IG05:        ; bbWeight=15.84, gcrefRegs=300000 {x20 x21}, byrefRegs=0003 {x0 x1}, byref, isz
-            mov     w5, wzr
-            cmp     w3, w2
-            ccmp    w4, w2, z, hi
+G_M17716_IG05:        ; bbWeight=15.84, gcrefRegs=300000 {x20 x21}, byrefRegs=C00000 {x22 x23}, byref, isz
+            mov     w0, wzr
+            cmp     w24, w2
+            ccmp    w25, w2, z, hi
             bls     G_M17716_IG11
                        ;; size=16 bbWeight=15.84 PerfScore 39.60
-G_M17716_IG06:        ; bbWeight=7.92, gcrefRegs=300000 {x20 x21}, byrefRegs=0003 {x0 x1}, byref, isz
-            ubfiz   x6, x2, #3, #32
-            ldr     x7, [x0, x6]
-            ; gcrRegs +[x7]
-            cbz     x7, G_M17716_IG11
-            ldr     x8, [x1, x6]
-            ; gcrRegs +[x8]
-            cbz     x8, G_M17716_IG11
-            ldr     w6, [x7, #0x08]
-            cmp     w6, #10
+G_M17716_IG06:        ; bbWeight=7.92, gcrefRegs=300000 {x20 x21}, byrefRegs=C00000 {x22 x23}, byref, isz
+            ubfiz   x1, x2, #3, #32
+            ldr     x3, [x22, x1]
+            ; gcrRegs +[x3]
+            cbz     x3, G_M17716_IG11
+            ldr     x4, [x23, x1]
+            ; gcrRegs +[x4]
+            cbz     x4, G_M17716_IG11
+            ldr     w1, [x3, #0x08]
+            cmp     w1, #10
             blt     G_M17716_IG11
-            ldr     w6, [x8, #0x08]
-            cmp     w6, #10
+            ldr     w1, [x4, #0x08]
+            cmp     w1, #10
             blt     G_M17716_IG11
                        ;; size=44 bbWeight=7.92 PerfScore 142.56
-G_M17716_IG07:        ; bbWeight=62.73, gcrefRegs=300180 {x7 x8 x20 x21}, byrefRegs=0003 {x0 x1}, byref
-            mov     w6, wzr
-            ubfiz   x9, x5, #3, #32
+G_M17716_IG07:        ; bbWeight=62.73, gcrefRegs=300018 {x3 x4 x20 x21}, byrefRegs=C00000 {x22 x23}, byref
+            mov     w1, wzr
+            ubfiz   x5, x0, #3, #32
                         ;; size=8 bbWeight=62.73 PerfScore 94.09
-G_M17716_IG08:        ; bbWeight=250.91, gcrefRegs=300180 {x7 x8 x20 x21}, byrefRegs=0003 {x0 x1}, byref, isz
-            mov     x10, x7
-            ; gcrRegs +[x10]
-            add     x10, x10, #16
-            ; gcrRegs -[x10]
-            ; byrRegs +[x10]
-            ldr     x10, [x10, x9]
-            ; gcrRegs +[x10]
-            ; byrRegs -[x10]
-            mov     x11, x8
-            ; gcrRegs +[x11]
-            add     x11, x11, #16
-            ; gcrRegs -[x11]
-            ; byrRegs +[x11]
-            ldr     x11, [x11, x9]
-            ; gcrRegs +[x11]
-            ; byrRegs -[x11]
-            ldr     w13, [x11, #0x08]
-            cmp     w6, w13
+G_M17716_IG08:        ; bbWeight=250.91, gcrefRegs=300018 {x3 x4 x20 x21}, byrefRegs=C00000 {x22 x23}, byref, isz
+            mov     x6, x3
+            ; gcrRegs +[x6]
+            add     x6, x6, #16
+            ; gcrRegs -[x6]
+            ; byrRegs +[x6]
+            ldr     x6, [x6, x5]
+            ; gcrRegs +[x6]
+            ; byrRegs -[x6]
+            mov     x7, x4
+            ; gcrRegs +[x7]
+            add     x7, x7, #16
+            ; gcrRegs -[x7]
+            ; byrRegs +[x7]
+            ldr     x7, [x7, x5]
+            ; gcrRegs +[x7]
+            ; byrRegs -[x7]
+            ldr     w8, [x7, #0x08]
+            cmp     w1, w8
             bhs     G_M17716_IG25
-            add     x11, x11, #16
-            ; gcrRegs -[x11]
-            ; byrRegs +[x11]
-            ubfiz   x13, x6, #2, #32
-            ldr     w11, [x11, x13]
-            ; byrRegs -[x11]
-            ldr     w14, [x10, #0x08]
-            cmp     w6, w14
+            add     x7, x7, #16
+            ; gcrRegs -[x7]
+            ; byrRegs +[x7]
+            ubfiz   x8, x1, #2, #32
+            ldr     w7, [x7, x8]
+            ; byrRegs -[x7]
+            ldr     w9, [x6, #0x08]
+            cmp     w1, w9
             bhs     G_M17716_IG25
-            add     x10, x10, #16
-            ; gcrRegs -[x10]
-            ; byrRegs +[x10]
-            str     w11, [x10, x13]
-            add     w6, w6, #1
-            cmp     w6, #10
+            add     x6, x6, #16
+            ; gcrRegs -[x6]
+            ; byrRegs +[x6]
+            str     w7, [x6, x8]
+            add     w1, w1, #1
+            cmp     w1, #10
             blt     G_M17716_IG08
                        ;; size=80 bbWeight=250.91 PerfScore 6272.64
-G_M17716_IG09:        ; bbWeight=62.73, gcrefRegs=300180 {x7 x8 x20 x21}, byrefRegs=0003 {x0 x1}, byref, isz
-            ; byrRegs -[x10]
-            add     w5, w5, #1
-            cmp     w5, #10
+G_M17716_IG09:        ; bbWeight=62.73, gcrefRegs=300018 {x3 x4 x20 x21}, byrefRegs=C00000 {x22 x23}, byref, isz
+            ; byrRegs -[x6]
+            add     w0, w0, #1
+            cmp     w0, #10
             blt     G_M17716_IG07
                        ;; size=12 bbWeight=62.73 PerfScore 125.45
-G_M17716_IG10:        ; bbWeight=7.92, gcrefRegs=300000 {x20 x21}, byrefRegs=0003 {x0 x1}, byref
-            ; gcrRegs -[x7-x8]
+G_M17716_IG10:        ; bbWeight=15.84, gcrefRegs=300000 {x20 x21}, byrefRegs=C00000 {x22 x23}, byref
+            ; gcrRegs -[x3-x4]
             b       G_M17716_IG15
-                      ;; size=4 bbWeight=7.92 PerfScore 7.92
-G_M17716_IG11:        ; bbWeight=0.08, gcrefRegs=300000 {x20 x21}, byrefRegs=0003 {x0 x1}, byref
-            ubfiz   x6, x2, #3, #32
-            ldr     x7, [x0, x6]
-            ; gcrRegs +[x7]
-            ldr     x8, [x1, x6]
-            ; gcrRegs +[x8]
+                      ;; size=4 bbWeight=15.84 PerfScore 15.84
+G_M17716_IG11:        ; bbWeight=0.08, gcrefRegs=300000 {x20 x21}, byrefRegs=C00000 {x22 x23}, byref
+            ubfiz   x1, x2, #3, #32
+            ldr     x3, [x22, x1]
+            ; gcrRegs +[x3]
+            ldr     x4, [x23, x1]
+            ; gcrRegs +[x4]
                         ;; size=12 bbWeight=0.08 PerfScore 0.55
-G_M17716_IG12:        ; bbWeight=0.63, gcrefRegs=300180 {x7 x8 x20 x21}, byrefRegs=0003 {x0 x1}, byref
-            mov     w6, wzr
-            ubfiz   x9, x5, #3, #32
+G_M17716_IG12:        ; bbWeight=0.63, gcrefRegs=300018 {x3 x4 x20 x21}, byrefRegs=C00000 {x22 x23}, byref
+            mov     w1, wzr
+            ubfiz   x5, x0, #3, #32
                         ;; size=8 bbWeight=0.63 PerfScore 0.95
...
  
+4 (+2.33%) : 14759.dasm - System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
@@ -47,7 +47,7 @@ G_M26551_IG03:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
 G_M26551_IG04:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             sub     w0, w0, #15
             cmp     w0, #1
-            bls     G_M26551_IG05
+            bls     G_M26551_IG08
             mov     x0, x19
             ; gcrRegs +[x0]
             ldr     x1, [x20, #0x88]
@@ -57,18 +57,9 @@ G_M26551_IG04:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             cbnz    w0, G_M26551_IG03
                        ;; size=32 bbWeight=4 PerfScore 42.00
 G_M26551_IG05:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            mov     x0, x19
-            ; gcrRegs +[x0]
-            ldr     x1, [x21, #0x28]
-                       ;; size=8 bbWeight=0.50 PerfScore 1.75
-G_M26551_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
-            br      x1
-                       ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M26551_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0]
+            b       G_M26551_IG08
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
+G_M26551_IG06:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             mov     x0, x19
             ; gcrRegs +[x0]
             ldr     x1, [x20, #0x88]
@@ -79,20 +70,32 @@ G_M26551_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=800
             ; gcrRegs +[x0]
             ldr     x1, [x21, #0x28]
                        ;; size=24 bbWeight=0.50 PerfScore 5.50
-G_M26551_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+G_M26551_IG07:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x30
             br      x1
                        ;; size=16 bbWeight=0.50 PerfScore 2.00
-RWD00      dd  G_M26551_IG05 - G_M26551_IG02
-           dd  G_M26551_IG07 - G_M26551_IG02
-           dd  G_M26551_IG05 - G_M26551_IG02
-           dd  G_M26551_IG05 - G_M26551_IG02
-           dd  G_M26551_IG05 - G_M26551_IG02
+G_M26551_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0]
+            mov     x0, x19
+            ; gcrRegs +[x0]
+            ldr     x1, [x21, #0x28]
+                       ;; size=8 bbWeight=0.50 PerfScore 1.75
+G_M26551_IG09:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x30
+            br      x1
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
+RWD00      dd  G_M26551_IG08 - G_M26551_IG02
+           dd  G_M26551_IG06 - G_M26551_IG02
+           dd  G_M26551_IG08 - G_M26551_IG02
+           dd  G_M26551_IG08 - G_M26551_IG02
+           dd  G_M26551_IG08 - G_M26551_IG02
 
 
-; Total bytes of code 172, prolog size 16, PerfScore 163.25, instruction count 43, allocated bytes for code 172 (MethodHash=17d09848) for method System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
+; Total bytes of code 176, prolog size 16, PerfScore 163.75, instruction count 44, allocated bytes for code 176 (MethodHash=17d09848) for method System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -103,7 +106,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 43 (0x0002b) Actual length = 172 (0x0000ac)
+  Function Length   : 44 (0x0002c) Actual length = 176 (0x0000b0)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+12 (+3.16%) : 22372.dasm - Benchstone.BenchI.XposMatrix:Test():ubyte:this (FullOpts)
@@ -10,136 +10,137 @@
 ;  V00 this         [V00,T06] (  3,  3   )     ref  ->   x0         this class-hnd single-def <Benchstone.BenchI.XposMatrix>
 ;  V01 loc0         [V01,T07] (  7,  4.58)     ref  ->   x0         class-hnd single-def <int[][]>
 ;* V02 loc1         [V02,T11] (  0,  0   )     int  ->  zero-ref    single-def
-;  V03 loc2         [V03,T03] ( 12, 19.04)     int  ->   x1        
-;  V04 loc3         [V04,T00] ( 16, 68.32)     int  ->   x3        
+;  V03 loc2         [V03,T03] ( 12, 19.04)     int  ->  x19        
+;  V04 loc3         [V04,T00] ( 16, 68.32)     int  ->   x1        
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06,T01] (  8, 64.64)     ref  ->  registers   "arr expr"
 ;  V07 tmp2         [V07,T05] (  3,  6   )     ref  ->   x1         single-def "arr expr"
 ;  V08 tmp3         [V08,T10] (  3,  3   )     ref  ->   x0         single-def "arr expr"
-;  V09 cse0         [V09,T12] (  2,  0.20)     ref  ->   x4         hoist "CSE - conservative"
-;  V10 cse1         [V10,T02] (  6, 21.80)     ref  ->   x5         hoist multi-def "CSE - aggressive"
-;  V11 cse2         [V11,T09] (  4,  4.00)    long  ->   x4         hoist multi-def "CSE - aggressive"
-;  V12 cse3         [V12,T13] (  2,  0.08)    long  ->   x4         hoist "CSE - conservative"
-;  V13 cse4         [V13,T08] (  7,  4.58)   byref  ->  x19         hoist multi-def "CSE - aggressive"
-;  V14 cse5         [V14,T04] (  6,  7.04)     int  ->   x2         hoist multi-def "CSE - aggressive"
+;  V09 cse0         [V09,T12] (  2,  0.20)     ref  ->   x2         hoist "CSE - conservative"
+;  V10 cse1         [V10,T02] (  6, 21.80)     ref  ->   x3         hoist multi-def "CSE - aggressive"
+;  V11 cse2         [V11,T09] (  4,  4.00)    long  ->   x2         hoist multi-def "CSE - aggressive"
+;  V12 cse3         [V12,T13] (  2,  0.08)    long  ->   x2         hoist "CSE - conservative"
+;  V13 cse4         [V13,T08] (  7,  4.58)   byref  ->  x21         hoist multi-def "CSE - aggressive"
+;  V14 cse5         [V14,T04] (  6,  7.04)     int  ->  x20         hoist multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
 G_M49643_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
+                      ;; size=16 bbWeight=1 PerfScore 3.50
 G_M49643_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x0, [x0, #0x08]
-            mov     w1, #1
+            mov     w19, #1
             cbz     x0, G_M49643_IG11
-            ldr     w2, [x0, #0x08]
-            cmp     w2, #100
+            ldr     w20, [x0, #0x08]
+            cmp     w20, #100
             ble     G_M49643_IG11
-            add     x19, x0, #16
-            ; byrRegs +[x19]
+            add     x21, x0, #16
+            ; byrRegs +[x21]
                        ;; size=28 bbWeight=1 PerfScore 9.50
-G_M49643_IG03:        ; bbWeight=3.96, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref, isz
-            mov     w3, #1
-            cmp     w2, w1
+G_M49643_IG03:        ; bbWeight=3.96, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref, isz
+            mov     w1, #1
+            cmp     w20, w19
             bls     G_M49643_IG07
                        ;; size=12 bbWeight=3.96 PerfScore 7.92
-G_M49643_IG04:        ; bbWeight=1.98, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref, isz
-            ubfiz   x4, x1, #3, #32
-            ldr     x5, [x19, x4]
-            ; gcrRegs +[x5]
-            cbz     x5, G_M49643_IG07
-            ldr     w4, [x5, #0x08]
-            cmp     w4, #100
+G_M49643_IG04:        ; bbWeight=1.98, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref, isz
+            ubfiz   x2, x19, #3, #32
+            ldr     x3, [x21, x2]
+            ; gcrRegs +[x3]
+            cbz     x3, G_M49643_IG07
+            ldr     w2, [x3, #0x08]
+            cmp     w2, #100
             ble     G_M49643_IG07
                        ;; size=24 bbWeight=1.98 PerfScore 18.81
-G_M49643_IG05:        ; bbWeight=15.68, gcrefRegs=0021 {x0 x5}, byrefRegs=80000 {x19}, byref, isz
-            mov     x4, x5
-            ; gcrRegs +[x4]
-            add     x4, x4, #16
-            ; gcrRegs -[x4]
-            ; byrRegs +[x4]
-            mov     w6, #1
-            str     w6, [x4, w3, UXTW #2]
-            add     w3, w3, #1
-            cmp     w3, #100
-            ble     G_M49643_IG05
-                       ;; size=28 bbWeight=15.68 PerfScore 70.57
-G_M49643_IG06:        ; bbWeight=1.98, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref
-            ; gcrRegs -[x5]
-            ; byrRegs -[x4]
-            b       G_M49643_IG09
-                       ;; size=4 bbWeight=1.98 PerfScore 1.98
-G_M49643_IG07:        ; bbWeight=0.02, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref
-            ubfiz   x4, x1, #3, #32
-            ldr     x5, [x19, x4]
-            ; gcrRegs +[x5]
-                       ;; size=8 bbWeight=0.02 PerfScore 0.08
-G_M49643_IG08:        ; bbWeight=0.16, gcrefRegs=0021 {x0 x5}, byrefRegs=80000 {x19}, byref, isz
-            mov     x4, x5
-            ; gcrRegs +[x4]
-            ldr     w6, [x4, #0x08]
-            cmp     w3, w6
-            bhs     G_M49643_IG19
-            add     x4, x4, #16
-            ; gcrRegs -[x4]
-            ; byrRegs +[x4]
-            mov     w6, #1
-            str     w6, [x4, w3, UXTW #2]
-            add     w3, w3, #1
-            cmp     w3, #100
-            ble     G_M49643_IG08
-                       ;; size=40 bbWeight=0.16 PerfScore 1.43
-G_M49643_IG09:        ; bbWeight=3.96, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref, isz
-            ; gcrRegs -[x5]
-            ; byrRegs -[x4]
+G_M49643_IG05:        ; bbWeight=15.68, gcrefRegs=0009 {x0 x3}, byrefRegs=200000 {x21}, byref, isz
+            mov     x2, x3
+            ; gcrRegs +[x2]
+            add     x2, x2, #16
+            ; gcrRegs -[x2]
+            ; byrRegs +[x2]
+            mov     w4, #1
+            str     w4, [x2, w1, UXTW #2]
             add     w1, w1, #1
             cmp     w1, #100
+            ble     G_M49643_IG05
+                       ;; size=28 bbWeight=15.68 PerfScore 70.57
+G_M49643_IG06:        ; bbWeight=3.96, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref
+            ; gcrRegs -[x3]
+            ; byrRegs -[x2]
+            b       G_M49643_IG09
+                       ;; size=4 bbWeight=3.96 PerfScore 3.96
+G_M49643_IG07:        ; bbWeight=0.02, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref
+            ubfiz   x2, x19, #3, #32
+            ldr     x3, [x21, x2]
+            ; gcrRegs +[x3]
+                       ;; size=8 bbWeight=0.02 PerfScore 0.08
+G_M49643_IG08:        ; bbWeight=0.16, gcrefRegs=0009 {x0 x3}, byrefRegs=200000 {x21}, byref, isz
+            mov     x2, x3
+            ; gcrRegs +[x2]
+            ldr     w4, [x2, #0x08]
+            cmp     w1, w4
+            bhs     G_M49643_IG19
+            add     x2, x2, #16
+            ; gcrRegs -[x2]
+            ; byrRegs +[x2]
+            mov     w4, #1
+            str     w4, [x2, w1, UXTW #2]
+            add     w1, w1, #1
+            cmp     w1, #100
+            ble     G_M49643_IG08
+                       ;; size=40 bbWeight=0.16 PerfScore 1.43
+G_M49643_IG09:        ; bbWeight=3.96, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref, isz
+            ; gcrRegs -[x3]
+            ; byrRegs -[x2]
+            add     w19, w19, #1
+            cmp     w19, #100
             ble     G_M49643_IG03
                        ;; size=12 bbWeight=3.96 PerfScore 7.92
-G_M49643_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref
+G_M49643_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref
             b       G_M49643_IG14
                        ;; size=4 bbWeight=1 PerfScore 1.00
 G_M49643_IG11:        ; bbWeight=0.04, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ; byrRegs -[x19]
-            mov     w3, #1
-            ldr     w2, [x0, #0x08]
-            add     x19, x0, #16
-            ; byrRegs +[x19]
-            ubfiz   x4, x1, #3, #32
-            cmp     w1, w2
+            ; byrRegs -[x21]
+            mov     w1, #1
+            ldr     w20, [x0, #0x08]
+            add     x21, x0, #16
+            ; byrRegs +[x21]
+            ubfiz   x2, x19, #3, #32
+            cmp     w19, w20
             bhs     G_M49643_IG19
-            ldr     x4, [x19, x4]
-            ; gcrRegs +[x4]
+            ldr     x2, [x21, x2]
+            ; gcrRegs +[x2]
                         ;; size=28 bbWeight=0.04 PerfScore 0.38
-G_M49643_IG12:        ; bbWeight=0.16, gcrefRegs=0011 {x0 x4}, byrefRegs=80000 {x19}, byref, isz
-            mov     x5, x4
-            ; gcrRegs +[x5]
-            ldr     w6, [x5, #0x08]
-            cmp     w3, w6
+G_M49643_IG12:        ; bbWeight=0.16, gcrefRegs=0005 {x0 x2}, byrefRegs=200000 {x21}, byref, isz
+            mov     x3, x2
+            ; gcrRegs +[x3]
+            ldr     w4, [x3, #0x08]
+            cmp     w1, w4
             bhs     G_M49643_IG19
-            add     x5, x5, #16
-            ; gcrRegs -[x5]
-            ; byrRegs +[x5]
-            mov     w6, #1
-            str     w6, [x5, w3, UXTW #2]
-            add     w3, w3, #1
-            cmp     w3, #100
-            ble     G_M49643_IG12
-                       ;; size=40 bbWeight=0.16 PerfScore 1.44
-G_M49643_IG13:        ; bbWeight=0.04, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref, isz
-            ; gcrRegs -[x4]
-            ; byrRegs -[x5]
+            add     x3, x3, #16
+            ; gcrRegs -[x3]
+            ; byrRegs +[x3]
+            mov     w4, #1
+            str     w4, [x3, w1, UXTW #2]
             add     w1, w1, #1
             cmp     w1, #100
+            ble     G_M49643_IG12
+                       ;; size=40 bbWeight=0.16 PerfScore 1.44
+G_M49643_IG13:        ; bbWeight=0.04, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref, isz
+            ; gcrRegs -[x2]
+            ; byrRegs -[x3]
+            add     w19, w19, #1
+            cmp     w19, #100
             ble     G_M49643_IG11
                        ;; size=12 bbWeight=0.04 PerfScore 0.08
-G_M49643_IG14:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref, isz
-            cmp     w2, #100
+G_M49643_IG14:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref, isz
+            cmp     w20, #100
             bls     G_M49643_IG19
-            ldr     x1, [x19, #0xD1FFAB1E]
+            ldr     x1, [x21, #0xD1FFAB1E]
             ; gcrRegs +[x1]
             ldr     w2, [x1, #0x08]
             cmp     w2, #100
@@ -151,17 +152,18 @@ G_M49643_IG14:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19},
                        ;; size=36 bbWeight=1 PerfScore 13.50
 G_M49643_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
-            ; byrRegs -[x19]
+            ; byrRegs -[x21]
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M49643_IG16:        ; bbWeight=0.50, 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=0.50 PerfScore 2.00
...
  
  
benchmarks.run_pgo.osx.arm64.checked.mch
-16 (-7.02%) : 8366.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
@@ -11,10 +11,10 @@
 ;
 ;  V00 arg0         [V00,T04] (  9,500.49)     ref  ->   x0         class-hnd single-def <int[,]>
 ;* V01 arg1         [V01    ] (  0,  0   )   byref  ->  zero-ref    single-def
-;  V02 loc0         [V02,T17] (  6,100.52)     int  ->   x3        
+;  V02 loc0         [V02,T17] (  5,100.52)     int  ->   x3        
 ;  V03 loc1         [V03,T11] (  2,199.00)     int  ->  x10        
 ;  V04 loc2         [V04,T12] (  2,199.00)     int  ->  x11        
-;  V05 loc3         [V05,T20] (  8, 99.54)     int  ->   x4        
+;  V05 loc3         [V05,T20] (  5, 99.54)     int  ->   x4        
 ;  V06 loc4         [V06,T16] (  6,101.02)     int  ->   x2        
 ;  V07 loc5         [V07,T05] (  6,399.00)     int  ->   x1        
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -95,13 +95,12 @@ G_M57584_IG07:        ; bbWeight=99.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {},
 G_M57584_IG08:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w2, w2, #1
             cmp     w2, w3
-            bgt     G_M57584_IG11
-            b       G_M57584_IG04
-                       ;; size=16 bbWeight=0.50 PerfScore 1.50
+            ble     G_M57584_IG04
+                       ;; size=12 bbWeight=0.50 PerfScore 1.00
 G_M57584_IG09:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w4, w4, #1
             cmp     w4, w3
-            bgt     G_M57584_IG12
+            bgt     G_M57584_IG11
             b       G_M57584_IG03
                        ;; size=16 bbWeight=0.01 PerfScore 0.03
 G_M57584_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -109,20 +108,13 @@ G_M57584_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M57584_IG11:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x0]
-            add     w4, w4, #1
-            cmp     w4, w3
-            ble     G_M57584_IG03
-                       ;; size=12 bbWeight=0 PerfScore 0.00
-G_M57584_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ; gcrRegs -[x0]
+G_M57584_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x10
             add     sp, sp, #64
             ret     lr
                        ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 228, prolog size 24, PerfScore 3200.01, instruction count 57, allocated bytes for code 228 (MethodHash=862a1f0f) for method Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
+; Total bytes of code 212, prolog size 24, PerfScore 3199.51, instruction count 53, allocated bytes for code 212 (MethodHash=862a1f0f) for method Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -133,7 +125,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)
  
-16 (-6.90%) : 8364.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
@@ -11,10 +11,10 @@
 ;
 ;  V00 arg0         [V00,T03] (  9,500.49)     ref  ->   x0         class-hnd single-def <int[,]>
 ;* V01 arg1         [V01    ] (  0,  0   )   byref  ->  zero-ref    single-def
-;  V02 loc0         [V02,T17] (  6,100.52)     int  ->   x3        
+;  V02 loc0         [V02,T17] (  5,100.52)     int  ->   x3        
 ;  V03 loc1         [V03,T11] (  2,198.99)     int  ->   x8        
 ;  V04 loc2         [V04,T12] (  2,198.99)     int  ->  x13        
-;  V05 loc3         [V05,T20] (  8,  0.54)     int  ->   x4        
+;  V05 loc3         [V05,T20] (  5,  0.54)     int  ->   x4        
 ;  V06 loc4         [V06,T16] (  6,101.03)     int  ->   x2        
 ;  V07 loc5         [V07,T05] (  6,398.99)     int  ->   x1        
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -96,13 +96,12 @@ G_M3571_IG07:        ; bbWeight=99.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
 G_M3571_IG08:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w2, w2, #1
             cmp     w2, w3
-            bgt     G_M3571_IG11
-            b       G_M3571_IG04
-                       ;; size=16 bbWeight=0.50 PerfScore 1.51
+            ble     G_M3571_IG04
+                       ;; size=12 bbWeight=0.50 PerfScore 1.01
 G_M3571_IG09:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w4, w4, #1
             cmp     w4, w3
-            bgt     G_M3571_IG12
+            bgt     G_M3571_IG11
             b       G_M3571_IG03
                        ;; size=16 bbWeight=0.01 PerfScore 0.03
 G_M3571_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -110,20 +109,13 @@ G_M3571_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M3571_IG11:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x0]
-            add     w4, w4, #1
-            cmp     w4, w3
-            ble     G_M3571_IG03
-                       ;; size=12 bbWeight=0 PerfScore 0.00
-G_M3571_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ; gcrRegs -[x0]
+G_M3571_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x10
             add     sp, sp, #64
             ret     lr
                        ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 232, prolog size 24, PerfScore 3200.22, instruction count 58, allocated bytes for code 232 (MethodHash=50acf20c) for method Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
+; Total bytes of code 216, prolog size 24, PerfScore 3199.72, instruction count 54, allocated bytes for code 216 (MethodHash=50acf20c) for method Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -134,7 +126,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 (-5.17%) : 27865.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
@@ -15,7 +15,7 @@
 ;* V03 loc0         [V03    ] (  0,  0   )     int  ->  zero-ref   
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V05 tmp1         [V05,T09] (  2,  4   )     ref  ->   x3         class-hnd single-def "impAppendStmt" <int[]>
-;  V06 tmp2         [V06,T12] (  2,  2   )     int  ->  x19         "Inline return value spill temp"
+;  V06 tmp2         [V06,T12] (  2,  2   )     int  ->   x9         "Inline return value spill temp"
 ;  V07 tmp3         [V07,T08] (  4,  4.17)   byref  ->   x3         single-def "Inline stloc first use temp"
 ;  V08 tmp4         [V08,T00] (  3,  6.17)    long  ->   x4         "Inlining Arg"
 ;  V09 tmp5         [V09,T07] (  4,  4.25)     int  ->   x5         "Inline stloc first use temp"
@@ -23,17 +23,16 @@
 ;  V11 tmp7         [V11,T04] (  5,  5.12)   byref  ->   x7         "Inline stloc first use temp"
 ;  V12 tmp8         [V12,T06] (  5,  4.33)     int  ->   x8         "Inline stloc first use temp"
 ;  V13 tmp9         [V13,T11] (  2,  2.17)    long  ->   x9         "Inline stloc first use temp"
-;  V14 tmp10        [V14,T10] (  3,  2.88)    long  ->  x19         "Inline stloc first use temp"
+;  V14 tmp10        [V14,T10] (  3,  2.88)    long  ->   x9         "Inline stloc first use temp"
 ;* V15 tmp11        [V15    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V16 tmp12        [V16    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M34926_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x20]!
-            str     x19, [sp, #0x18]
+            stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
-                        ;; size=12 bbWeight=1 PerfScore 2.50
+                      ;; size=8 bbWeight=1 PerfScore 1.50
 G_M34926_IG02:        ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0001 {x0}, byref
             ; gcrRegs +[x2]
             ; byrRegs +[x0]
@@ -71,8 +70,8 @@ G_M34926_IG03:        ; bbWeight=1.08, gcrefRegs=0004 {x2}, byrefRegs=0009 {x0 x
                        ;; size=36 bbWeight=1.08 PerfScore 12.45
 G_M34926_IG04:        ; bbWeight=0.94, gcrefRegs=0004 {x2}, byrefRegs=0089 {x0 x3 x7}, byref, isz
             ldr     x9, [x7, #0x10]
-            eor     x19, x9, x1
-            cmp     x19, #1
+            eor     x9, x9, x1
+            cmp     x9, #1
             bhi     G_M34926_IG07
             dmb     ishld
             ldr     w3, [x7]
@@ -82,7 +81,7 @@ G_M34926_IG04:        ; bbWeight=0.94, gcrefRegs=0004 {x2}, byrefRegs=0089 {x0 x
                        ;; size=32 bbWeight=0.94 PerfScore 18.29
 G_M34926_IG05:        ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0001 {x0}, byref, isz
             ; byrRegs -[x7]
-            cmp     w19, #1
+            cmp     w9, #1
             bne     G_M34926_IG09
             mov     x1, x2
             ; gcrRegs +[x1]
@@ -92,10 +91,9 @@ G_M34926_IG05:        ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0001 {x0}, by
             ; gcr arg pop 0
                        ;; size=16 bbWeight=1 PerfScore 3.00
 G_M34926_IG06:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x19, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x10
             ret     lr
-                       ;; size=12 bbWeight=1 PerfScore 4.00
+                      ;; size=8 bbWeight=1 PerfScore 2.00
 G_M34926_IG07:        ; bbWeight=0.14, gcVars=0000000000000000 {}, gcrefRegs=0004 {x2}, byrefRegs=0009 {x0 x3}, gcvars, byref, isz
             ; gcrRegs +[x2]
             ; byrRegs +[x0 x3]
@@ -104,8 +102,8 @@ G_M34926_IG07:        ; bbWeight=0.14, gcVars=0000000000000000 {}, gcrefRegs=000
 G_M34926_IG08:        ; bbWeight=1.08, gcrefRegs=0004 {x2}, byrefRegs=0009 {x0 x3}, byref, isz
             add     w6, w6, #1
             add     w5, w5, w6
-            ldr     w7, [x3, #0x04]
-            and     w5, w5, w7
+            ldr     w9, [x3, #0x04]
+            and     w5, w5, w9
             cmp     w6, #8
             blt     G_M34926_IG03
                        ;; size=24 bbWeight=1.08 PerfScore 6.50
@@ -121,23 +119,22 @@ G_M34926_IG09:        ; bbWeight=0.06, gcrefRegs=0004 {x2}, byrefRegs=0001 {x0},
             ; gcr arg pop 0
                        ;; size=20 bbWeight=0.06 PerfScore 0.34
 G_M34926_IG10:        ; bbWeight=0.06, epilog, nogc, extend
-            ldr     x19, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x10
             ret     lr
-                       ;; size=12 bbWeight=0.06 PerfScore 0.25
+                       ;; size=8 bbWeight=0.06 PerfScore 0.12
 
-; Total bytes of code 232, prolog size 12, PerfScore 64.98, instruction count 58, allocated bytes for code 232 (MethodHash=f2f07791) for method System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
+; Total bytes of code 220, prolog size 8, PerfScore 61.85, instruction count 55, allocated bytes for code 220 (MethodHash=f2f07791) for method System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
 ; ============================================================
 
 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   : 58 (0x0003a) Actual length = 232 (0x0000e8)
+  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)
@@ -148,10 +145,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]
-    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
-    E4          end
-    E4          end
+    81          save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]!
     E4          end
     E4          end
 
  
+20 (+9.43%) : 68448.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>cDisplayClass10_0[int]:b0():this (Tier1-OSR)
@@ -12,7 +12,7 @@
 ;
 ;  V00 this         [V00,T11] (  5, 201.99)     ref  ->  x19         this class-hnd single-def <System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[int]>
 ;  V01 loc0         [V01,T04] (  4, 299.98)     int  ->  x20        
-;  V02 loc1         [V02,T14] (  1,   1   )     int  ->  [fp+0x40]  ld-addr-op tier0-frame
+;  V02 loc1         [V02,T14] (  1,   1   )     int  ->  [fp+0x60]  ld-addr-op tier0-frame
 ;# V03 OutArgs      [V03    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V04 tmp1         [V04,T00] (  3,1199.88)     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Concurrent.ConcurrentQueue`1[int]>
 ;* V05 tmp2         [V05    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Threading.Barrier>
@@ -28,33 +28,35 @@
 ;  V15 tmp12        [V15,T02] (  6, 599.43)     int  ->   x4         "Inline stloc first use temp"
 ;  V16 tmp13        [V16,T06] (  3, 299.97)     int  ->   x5         "Inline stloc first use temp"
 ;* V17 tmp14        [V17    ] (  0,   0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V18 tmp15        [V18,T12] (  3, 200.15)     int  ->   x7         "Inline stloc first use temp"
+;  V18 tmp15        [V18,T12] (  3, 200.15)     int  ->   x5         "Inline stloc first use temp"
 ;* V19 tmp16        [V19    ] (  0,   0   )     ref  ->  zero-ref    "field V06._source (fldOffset=0x0)" P-INDEP
 ;* V20 tmp17        [V20    ] (  0,   0   )     ref  ->  zero-ref    "field V07._source (fldOffset=0x0)" P-INDEP
 ;* V21 tmp18        [V21    ] (  0,   0   )     ref  ->  zero-ref    "field V09._source (fldOffset=0x0)" P-INDEP
 ;* V22 tmp19        [V22    ] (  0,   0   )     ref  ->  zero-ref    "field V10._source (fldOffset=0x0)" P-INDEP
-;  V23 cse0         [V23,T07] (  3, 299.80)   byref  ->   x6         "CSE - aggressive"
-;  V24 cse1         [V24,T08] (  3, 299.80)   byref  ->   x5         "CSE - aggressive"
+;  V23 cse0         [V23,T07] (  3, 299.80)   byref  ->  x22         "CSE - aggressive"
+;  V24 cse1         [V24,T08] (  3, 299.80)   byref  ->  x21         "CSE - aggressive"
 ;  V25 cse2         [V25,T09] (  3, 299.80)   byref  ->   x3         hoist "CSE - aggressive"
-;  V26 cse3         [V26,T10] (  3, 299.46)     int  ->   x7         "CSE - aggressive"
+;  V26 cse3         [V26,T10] (  3, 299.46)     int  ->  x23         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M22719_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x20]!
-            stp     x19, x20, [sp, #0x10]
+            stp     fp, lr, [sp, #-0x40]!
+            stp     x19, x20, [sp, #0x18]
+            stp     x21, x22, [sp, #0x28]
+            str     x23, [sp, #0x38]
             mov     fp, sp
-            ldr     x19, [fp, #0x48]
+            ldr     x19, [fp, #0x68]
             ; gcrRegs +[x19]
-            ldr     w20, [fp, #0x44]
-                       ;; size=20 bbWeight=0.01 PerfScore 0.06
+            ldr     w20, [fp, #0x64]
+                       ;; size=28 bbWeight=0.01 PerfScore 0.08
 G_M22719_IG02:        ; bbWeight=0.01, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
             ldr     w0, [x0, #0x20]
             ; gcrRegs -[x0]
             cmp     w20, w0
-            bge     G_M22719_IG10
+            bge     G_M22719_IG11
                       ;; size=16 bbWeight=0.01 PerfScore 0.07
 G_M22719_IG03:        ; bbWeight=99.99, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ldr     x0, [x19, #0x10]
@@ -75,30 +77,28 @@ G_M22719_IG04:        ; bbWeight=99.99, gcrefRegs=80007 {x0 x1 x2 x19}, byrefReg
             and     w5, w4, w5
             ldr     w6, [x2, #0x08]
             cmp     w5, w6
-            bhs     G_M22719_IG09
+            bhs     G_M22719_IG10
             ubfiz   x5, x5, #3, #32
             add     x5, x5, #16
-            add     x5, x2, x5
-            ; byrRegs +[x5]
-            add     x6, x5, #4
-            ; byrRegs +[x6]
-            ldar    w7, [x6]
-            sub     w7, w7, w4
-            cbnz    w7, G_M22719_IG06
+            add     x21, x2, x5
+            ; byrRegs +[x21]
+            add     x22, x21, #4
+            ; byrRegs +[x22]
+            ldar    w5, [x22]
+            sub     w5, w5, w4
+            cbnz    w5, G_M22719_IG06
                       ;; size=52 bbWeight=99.99 PerfScore 1799.82
-G_M22719_IG05:        ; bbWeight=99.82, gcrefRegs=80007 {x0 x1 x2 x19}, byrefRegs=0068 {x3 x5 x6}, byref, isz
-            add     w7, w4, #1
-            mov     w8, w4
-            casal   w8, w7, [x3]
-            cmp     w8, w4
+G_M22719_IG05:        ; bbWeight=99.82, gcrefRegs=80007 {x0 x1 x2 x19}, byrefRegs=600008 {x3 x21 x22}, byref, isz
+            add     w23, w4, #1
+            mov     w5, w4
+            casal   w5, w23, [x3]
+            cmp     w5, w4
             bne     G_M22719_IG04
-            str     wzr, [x5]
-            stlr    w7, [x6]
-            b       G_M22719_IG08
-                       ;; size=32 bbWeight=99.82 PerfScore 848.48
+            b       G_M22719_IG09
+                       ;; size=24 bbWeight=99.82 PerfScore 648.84
 G_M22719_IG06:        ; bbWeight=0.17, gcrefRegs=80007 {x0 x1 x2 x19}, byrefRegs=0008 {x3}, byref, isz
-            ; byrRegs -[x5-x6]
-            tbz     w7, #31, G_M22719_IG04
+            ; byrRegs -[x21-x22]
+            tbz     w5, #31, G_M22719_IG04
                      ;; size=4 bbWeight=0.17 PerfScore 0.17
 G_M22719_IG07:        ; bbWeight=399.96, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x1-x2]
@@ -119,33 +119,42 @@ G_M22719_IG08:        ; bbWeight=99.99, gcrefRegs=80000 {x19}, byrefRegs=0000 {}
             ldr     w0, [x0, #0x20]
             ; gcrRegs -[x0]
             cmp     w20, w0
-            bge     G_M22719_IG10
+            bge     G_M22719_IG11
             b       G_M22719_IG03
                        ;; size=24 bbWeight=99.99 PerfScore 899.91
-G_M22719_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M22719_IG09:        ; bbWeight=99.82, gcrefRegs=80000 {x19}, byrefRegs=600000 {x21 x22}, byref
+            ; byrRegs +[x21-x22]
+            str     wzr, [x21]
+            stlr    w23, [x22]
+            b       G_M22719_IG08
+                       ;; size=12 bbWeight=99.82 PerfScore 299.46
+G_M22719_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
+            ; byrRegs -[x21-x22]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M22719_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+G_M22719_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ldr     x23, [sp, #0x38]
+            ldp     x21, x22, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x40
             add     sp, sp, #48
             ret     lr
-                       ;; size=16 bbWeight=0 PerfScore 0.00
+                      ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 212, prolog size 20, PerfScore 6948.18, instruction count 53, allocated bytes for code 212 (MethodHash=aac5a740) for method System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[int]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
+; Total bytes of code 232, prolog size 28, PerfScore 7048.02, instruction count 58, allocated bytes for code 232 (MethodHash=aac5a740) for method System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[int]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 2
+  Code Words        : 3
   Epilog Count      : 1
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 53 (0x00035) Actual length = 212 (0x0000d4)
+  Function Length   : 58 (0x0003a) Actual length = 232 (0x0000e8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -153,10 +162,13 @@ 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]
-    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    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]!
     03          alloc_s #3 (0x03); sub sp, sp, #48 (0x030)
     E4          end
     E4          end
     E4          end
+    E4          end
 
  
+16 (+10.26%) : 73308.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Canon]:Enqueue(System.Canon):this (Tier1)
@@ -9,116 +9,127 @@
 ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  4,  4   )     ref  ->   x0         this class-hnd single-def <System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]>
-;  V01 arg1         [V01,T03] (  4,  4   )     ref  ->   x1         class-hnd single-def <System.__Canon>
+;  V00 this         [V00,T02] (  4,  4.00)     ref  ->   x0         this class-hnd single-def <System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]>
+;  V01 arg1         [V01,T03] (  4,  4.00)     ref  ->   x1         class-hnd single-def <System.__Canon>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  4,  8.23)     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]>
 ;  V05 tmp3         [V05,T05] (  3,  3.23)     ref  ->   x3         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T01] (  6,  6.69)     int  ->  x14         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T04] (  3,  3.35)     int  ->  x15         "Inline stloc first use temp"
+;  V06 tmp4         [V06,T01] (  6,  6.69)     int  ->   x5         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T04] (  3,  3.35)     int  ->   x6         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V09 tmp7         [V09,T10] (  3,  2.23)     int  ->   x6         "Inline stloc first use temp"
-;  V10 cse0         [V10,T06] (  3,  3.23)   byref  ->   x5         "CSE - aggressive"
-;  V11 cse1         [V11,T07] (  3,  3.23)   byref  ->  x12         "CSE - aggressive"
+;  V10 cse0         [V10,T06] (  3,  3.23)   byref  ->  x19         "CSE - aggressive"
+;  V11 cse1         [V11,T07] (  3,  3.23)   byref  ->  x14         "CSE - aggressive"
 ;  V12 cse2         [V12,T08] (  3,  3.23)   byref  ->   x4         hoist "CSE - aggressive"
-;  V13 cse3         [V13,T09] (  3,  3.23)     int  ->   x6         "CSE - aggressive"
+;  V13 cse3         [V13,T09] (  3,  3.23)     int  ->  x20         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M15407_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-                      ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=12 bbWeight=1 PerfScore 2.50
 G_M15407_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0-x1]
-            add     x14, x0, #16
-            ; byrRegs +[x14]
-            ldar    x2, [x14]
+            add     x2, x0, #16
+            ; byrRegs +[x2]
+            ldar    x2, [x2]
             ; gcrRegs +[x2]
+            ; byrRegs -[x2]
             ldr     x3, [x2, #0x08]
             ; gcrRegs +[x3]
             add     x4, x2, #0xD1FFAB1E
             ; byrRegs +[x4]
                        ;; size=16 bbWeight=1 PerfScore 7.00
 G_M15407_IG03:        ; bbWeight=1.12, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, byref, isz
-            ; byrRegs -[x14]
-            ldar    w14, [x4]
-            ldr     w15, [x2, #0x18]
-            and     w15, w14, w15
-            ldr     w12, [x3, #0x08]
-            cmp     w15, w12
-            bhs     G_M15407_IG10
-            ubfiz   x15, x15, #4, #32
-            add     x15, x15, #16
-            add     x12, x3, x15
-            ; byrRegs +[x12]
-            add     x5, x12, #8
-            ; byrRegs +[x5]
-            ldar    w15, [x5]
-            sub     w6, w15, w14
-            cbnz    w6, G_M15407_IG07
+            ldar    w5, [x4]
+            ldr     w6, [x2, #0x18]
+            and     w6, w5, w6
+            ldr     w7, [x3, #0x08]
+            cmp     w6, w7
+            bhs     G_M15407_IG12
+            ubfiz   x6, x6, #4, #32
+            add     x6, x6, #16
+            add     x14, x3, x6
+            ; byrRegs +[x14]
+            add     x19, x14, #8
+            ; byrRegs +[x19]
+            ldar    w6, [x19]
+            sub     w6, w6, w5
+            cbnz    w6, G_M15407_IG06
                       ;; size=52 bbWeight=1.12 PerfScore 20.09
-G_M15407_IG04:        ; bbWeight=1.12, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=1030 {x4 x5 x12}, byref, isz
-            add     w6, w14, #1
-            mov     w15, w14
-            casal   w15, w6, [x4]
-            cmp     w15, w14
+G_M15407_IG04:        ; bbWeight=1.12, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=84010 {x4 x14 x19}, byref, isz
+            add     w20, w5, #1
+            mov     w6, w5
+            casal   w6, w20, [x4]
+            cmp     w6, w5
             bne     G_M15407_IG03
                        ;; size=20 bbWeight=1.12 PerfScore 6.14
-G_M15407_IG05:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=1020 {x5 x12}, byref
+G_M15407_IG05:        ; bbWeight=1.00, gcrefRegs=0002 {x1}, byrefRegs=84000 {x14 x19}, byref
             ; gcrRegs -[x0 x2-x3]
             ; byrRegs -[x4]
-            mov     x14, x12
-            ; byrRegs +[x14]
+            b       G_M15407_IG08
+                       ;; size=4 bbWeight=1.00 PerfScore 1.00
+G_M15407_IG06:        ; bbWeight=0.00, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, byref, isz
+            ; gcrRegs +[x0 x2-x3]
+            ; byrRegs -[x14 x19] +[x4]
+            tbz     w6, #31, G_M15407_IG03
+                       ;; size=4 bbWeight=0.00 PerfScore 0.00
+G_M15407_IG07:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x2-x3]
+            ; byrRegs -[x4]
+            b       G_M15407_IG10
+                       ;; size=4 bbWeight=1 PerfScore 1.00
+G_M15407_IG08:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=84000 {x14 x19}, byref
+            ; gcrRegs -[x0]
+            ; byrRegs +[x14 x19]
             mov     x15, x1
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             ; gcrRegs -[x1 x15]
-            ; byrRegs -[x12 x14]
-            stlr    w6, [x5]
-                       ;; size=16 bbWeight=1 PerfScore 3.00
-G_M15407_IG06:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ; byrRegs -[x14]
+            stlr    w20, [x19]
+                       ;; size=12 bbWeight=1 PerfScore 2.50
+G_M15407_IG09:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M15407_IG07:        ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, gcvars, byref, isz
-            ; gcrRegs +[x0-x3]
-            ; byrRegs -[x5] +[x4]
-            tbz     w6, #31, G_M15407_IG03
-                       ;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M15407_IG08:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x2-x3]
-            ; byrRegs -[x4]
+                      ;; size=12 bbWeight=1 PerfScore 3.00
+G_M15407_IG10:        ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs +[x0-x1]
+            ; byrRegs -[x19]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             ldr     x2, [x2]
-                     ;; size=16 bbWeight=1 PerfScore 4.50
-G_M15407_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+                      ;; size=16 bbWeight=1.00 PerfScore 4.50
+G_M15407_IG11:        ; bbWeight=1.00, epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             br      x2
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=1 PerfScore 2.00
-G_M15407_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                      ;; size=12 bbWeight=1.00 PerfScore 3.00
+G_M15407_IG12:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0-x1]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 156, prolog size 8, PerfScore 46.22, instruction count 39, allocated bytes for code 156 (MethodHash=96c6c3d0) for method System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
+; Total bytes of code 172, prolog size 12, PerfScore 50.72, instruction count 43, allocated bytes for code 172 (MethodHash=96c6c3d0) for method System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 39 (0x00027) Actual length = 156 (0x00009c)
+  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)
@@ -129,7 +140,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]!
+    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
     E4          end
     E4          end
 
  
+48 (+11.43%) : 63875.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
@@ -10,11 +10,11 @@
 ; 2 inlinees with PGO data; 10 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T04] (  8,102.00)     ref  ->  [fp+0xE0]  this class-hnd EH-live single-def tier0-frame <Microsoft.CodeAnalysis.PEModule>
+;  V00 this         [V00,T04] (  9,102.00)     ref  ->  [fp+0xE0]  this class-hnd EH-live single-def tier0-frame <Microsoft.CodeAnalysis.PEModule>
 ;  V01 loc0         [V01    ] (  8,500.99)  struct (16) [fp+0xD0]  do-not-enreg[XSFR] multireg-ret addr-exposed ld-addr-op tier0-frame <System.Reflection.Metadata.CustomAttributeHandleCollection+Enumerator>
 ;  V02 loc1         [V02    ] (  1,  1   )  struct (16) [fp+0xC0]  do-not-enreg[XS] addr-exposed ld-addr-op tier0-frame <System.Reflection.Metadata.CustomAttributeHandleCollection>
 ;* V03 loc2         [V03    ] (  0,  0   )  struct ( 8) zero-ref    <System.Reflection.Metadata.CustomAttributeHandle>
-;  V04 loc3         [V04,T02] (  3,199.99)     int  ->  x20        
+;  V04 loc3         [V04,T02] (  5,199.99)     int  ->  x20        
 ;* V05 loc4         [V05    ] (  0,  0   )  struct ( 8) zero-ref    <System.Reflection.Metadata.TypeDefinitionHandle>
 ;  V06 loc5         [V06,T06] (  4,  1   )  struct (16) [fp+0x98]  do-not-enreg[SFR] multireg-ret ld-addr-op tier0-frame <System.Reflection.Metadata.CustomAttribute>
 ;* V07 loc6         [V07,T15] (  0,  0   )   ubyte  ->  zero-ref   
@@ -31,14 +31,14 @@
 ;* V18 tmp10        [V18    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Reflection.Metadata.CustomAttributeHandle>
 ;* V19 tmp11        [V19    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp12        [V20    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.CustomAttributeHandle>
-;* V21 tmp13        [V21,T05] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V21 tmp13        [V21,T05] (  2,  0   )   ubyte  ->   x1         "Inline return value spill temp"
 ;* V22 tmp14        [V22    ] (  0,  0   )     int  ->  zero-ref    "field V03._rowId (fldOffset=0x0)" P-INDEP
 ;  V23 tmp15        [V23,T12] (  2,  0   )     int  ->   x1         "field V05._rowId (fldOffset=0x0)" P-INDEP
 ;  V24 tmp16        [V24,T13] (  2,  0   )     int  ->   x0         "field V10._vToken (fldOffset=0x0)" P-INDEP
 ;* V25 tmp17        [V25    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._reader (fldOffset=0x0)" P-INDEP
 ;* V26 tmp18        [V26    ] (  0,  0   )     int  ->  zero-ref    single-def "field V13._firstRowId (fldOffset=0x8)" P-INDEP
 ;* V27 tmp19        [V27    ] (  0,  0   )     int  ->  zero-ref    single-def "field V13._lastRowId (fldOffset=0xc)" P-INDEP
-;  V28 tmp20        [V28,T01] (  5,199.99)     int  ->  x19         "field V14._rowId (fldOffset=0x0)" P-INDEP
+;  V28 tmp20        [V28,T01] (  6,199.99)     int  ->  x19         "field V14._rowId (fldOffset=0x0)" P-INDEP
 ;  V29 tmp21        [V29,T03] (  2,199.99)     int  ->  x19         "field V16._rowId (fldOffset=0x0)" P-INDEP
 ;* V30 tmp22        [V30    ] (  0,  0   )     int  ->  zero-ref    "field V18._rowId (fldOffset=0x0)" P-INDEP
 ;  V31 tmp23        [V31,T14] (  2,  0   )     int  ->   x1         "field V20._rowId (fldOffset=0x0)" P-INDEP
@@ -60,18 +60,16 @@ G_M13056_IG01:        ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=000
                        ;; size=24 bbWeight=0.00 PerfScore 0.03
 G_M13056_IG02:        ; bbWeight=0.00, gcVars=0000000000000010 {V00}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars +{V00 V04}
-            b       G_M13056_IG05
+            b       G_M13056_IG04
                      ;; size=4 bbWeight=0.00 PerfScore 0.00
 G_M13056_IG03:        ; bbWeight=100.00, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldr     x1, [fp, #0xD0]    // [V01 loc0]
             ; gcrRegs +[x1]
             ldr     x1, [x1, #0xD1FFAB1E]
-            cbnz    x1, G_M13056_IG08
+            cbnz    x1, G_M13056_IG07
             ldr     w1, [fp, #0xDC] // [V01 loc0+0x0c]
             ; gcrRegs -[x1]
             and     w19, w1, #0xD1FFAB1E
-                     ;; size=20 bbWeight=100.00 PerfScore 849.96
-G_M13056_IG04:        ; bbWeight=100.00, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             mov     w1, w19
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
@@ -82,20 +80,56 @@ G_M13056_IG04:        ; bbWeight=100.00, gcrefRegs=0001 {x0}, byrefRegs=0000 {},
             ; gcr arg pop 0
             sxtw    w20, w0
             cmn     w20, #1
+            bne     G_M13056_IG08
+                       ;; size=56 bbWeight=100.00 PerfScore 1649.92
+G_M13056_IG04:        ; bbWeight=100, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [fp, #0xE0]  // [V00 this]
             ; gcrRegs +[x0]
-            bne     G_M13056_IG06
-                       ;; size=40 bbWeight=100.00 PerfScore 999.95
-G_M13056_IG05:        ; bbWeight=100, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldp     w2, w1, [fp, #0xD8]    // [V01 loc0+0x08], [V01 loc0+0x0c]
             cmp     w1, w2
-            bge     G_M13056_IG07
+            bge     G_M13056_IG06
             add     w1, w1, #1
             str     w1, [fp, #0xDC]    // [V01 loc0+0x0c]
             b       G_M13056_IG03
-                        ;; size=24 bbWeight=100 PerfScore 600.00
+                      ;; size=28 bbWeight=100 PerfScore 800.00
+G_M13056_IG05:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cbnz    w1, G_M13056_IG03
+            b       G_M13056_IG09
+                       ;; size=8 bbWeight=0 PerfScore 0.00
 G_M13056_IG06:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            mov     w1, #0xD1FFAB1E
+            str     w1, [fp, #0xDC]    // [V01 loc0+0x0c]
+            mov     w1, wzr
+            b       G_M13056_IG05
+                       ;; size=16 bbWeight=0 PerfScore 0.00
+G_M13056_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x0]
+            add     x0, fp, #208   // [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, #1 LSL #32
+            ldr     x1, [x1]
+            blr     x1
+            ; gcr arg pop 0
+            sxtw    w19, w0
+            ldr     x0, [fp, #0xE0]    // [V00 this]
+            ; gcrRegs +[x0]
+            mov     w1, w19
+            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #1 LSL #32
+            ldr     x2, [x2]
+            blr     x2
+            ; gcrRegs -[x0]
+            ; gcr arg pop 0
+            sxtw    w20, w0
+            cmn     w20, #1
+            beq     G_M13056_IG04
+                       ;; size=68 bbWeight=0 PerfScore 0.00
+G_M13056_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w1, #2
+            ldr     x0, [fp, #0xE0] // [V00 this]
+            ; gcrRegs +[x0]
             strb    w1, [x0, #0x65]
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.PEModule:get_MetadataReader():System.Reflection.Metadata.MetadataReader:this
             movk    x1, #0xD1FFAB1E LSL #16
@@ -145,29 +179,8 @@ G_M13056_IG06:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ; gcrRegs -[x0]
             ; gcr arg pop 0
             b       G_M13056_IG11
-                        ;; size=160 bbWeight=0 PerfScore 0.00
-G_M13056_IG07:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
-            ; gcrRegs +[x0]
-            mov     w1, #0xD1FFAB1E
-            str     w1, [fp, #0xDC]    // [V01 loc0+0x0c]
-            b       G_M13056_IG09
-                       ;; size=12 bbWeight=0 PerfScore 0.00
-G_M13056_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0]
-            add     x0, fp, #208   // [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, #1 LSL #32
-            ldr     x1, [x1]
-            blr     x1
-            ; gcr arg pop 0
-            sxtw    w19, w0
-            ldr     x0, [fp, #0xE0]    // [V00 this]
-            ; gcrRegs +[x0]
-            b       G_M13056_IG04
-                       ;; size=36 bbWeight=0 PerfScore 0.00
+                      ;; size=164 bbWeight=0 PerfScore 0.00
 G_M13056_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0]
             mov     w0, #1
             ldr     x19, [fp, #0xE0]   // [V00 this]
             ; gcrRegs +[x19]
@@ -211,7 +224,7 @@ G_M13056_IG15:        ; bbWeight=0, funclet epilog, nogc, extend
             ret     lr
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 420, prolog size 24, PerfScore 2449.94, instruction count 105, allocated bytes for code 420 (MethodHash=ddc4ccff) for method Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
+; Total bytes of code 468, prolog size 24, PerfScore 2449.95, instruction count 117, allocated bytes for code 468 (MethodHash=ddc4ccff) for method Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -222,7 +235,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 95 (0x0005f) Actual length = 380 (0x00017c)
+  Function Length   : 107 (0x0006b) Actual length = 428 (0x0001ac)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
benchmarks.run_tiered.osx.arm64.checked.mch
-24 (-1.10%) : 44159.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan1[ushort],System.ReadOnlySpan1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
@@ -30,8 +30,8 @@
 ;* V19 loc15        [V19    ] (  0,   0   )   ubyte  ->  zero-ref   
 ;* V20 loc16        [V20    ] (  0,   0   )  struct (16) zero-ref    <System.Span`1[int]>
 ;  V21 loc17        [V21,T28] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
-;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x13        
-;  V23 loc19        [V23,T01] (  7,1344   )     int  ->   x1        
+;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x14        
+;  V23 loc19        [V23,T01] (  7,1344   )     int  ->  x13        
 ;  V24 loc20        [V24,T02] (  3, 832   )     int  ->   x0        
 ;# V25 OutArgs      [V25    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V26 tmp1         [V26    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
@@ -40,15 +40,15 @@
 ;  V29 tmp4         [V29,T12] (  4, 256   )     int  ->   x7         "impSpillLclRefs"
 ;  V30 tmp5         [V30,T13] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V31 tmp6         [V31,T15] (  2, 256   )     int  ->  x10         "dup spill"
-;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x0         "impSpillLclRefs"
+;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V33 tmp8         [V33,T49] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
 ;* V34 tmp9         [V34    ] (  0,   0   )     int  ->  zero-ref    ptr
 ;  V35 tmp10        [V35,T37] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V36 tmp11        [V36,T38] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
 ;  V37 tmp12        [V37,T34] (  5,  80   )     int  ->  x13         "dup spill"
 ;  V38 tmp13        [V38,T39] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
-;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x1         "impSpillLclRefs"
-;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x1         "impSpillLclRefs"
+;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
+;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V41 tmp16        [V41,T30] (  3,  96   )     int  ->   x1        
 ;  V42 tmp17        [V42,T52] (  4,  16   )     int  ->  x25         "impSpillLclRefs"
 ;* V43 tmp18        [V43    ] (  0,   0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
@@ -310,10 +310,10 @@ G_M9731_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     x23, [fp, #-0x78]  // [V01 arg1]
             ; byrRegs +[x23]
             ldr     w24, [fp, #-0x70]  // [V01 arg1+0x08]
-            cbz     w22, G_M9731_IG68
+            cbz     w22, G_M9731_IG69
                         ;; size=20 bbWeight=1 PerfScore 9.00
 G_M9731_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref, isz
-            cbz     w24, G_M9731_IG68
+            cbz     w24, G_M9731_IG69
             ldrh    w0, [x21]
             cmp     w0, #42
             bne     G_M9731_IG08
@@ -393,7 +393,7 @@ G_M9731_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2A00000 {x21
 G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23 x25}, byref, isz
             ; byrRegs -[x21]
             cmp     w24, w26
-            blt     G_M9731_IG68
+            blt     G_M9731_IG69
             mov     x0, x23
             ; byrRegs +[x0]
             sxtw    w1, w24
@@ -410,7 +410,7 @@ G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23
             blr     x5
             ; byrRegs -[x0 x2 x23 x25]
             ; gcr arg pop 0
-            b       G_M9731_IG63
+            b       G_M9731_IG64
                         ;; size=60 bbWeight=0.50 PerfScore 5.75
 G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref
             ; byrRegs +[x21 x23]
@@ -437,7 +437,7 @@ G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21
             add     w1, w25, #1
             sxtw    w27, w1
             cmp     w25, w24
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldrh    w1, [x23, w25, UXTW #2]
             sxtw    w25, w1
             b       G_M9731_IG12
@@ -445,7 +445,7 @@ G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21
 G_M9731_IG11:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
             sub     w6, w26, #1
             cmp     w6, w4
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldr     w1, [x3, w6, UXTW #2]
             cmp     w1, w5
             beq     G_M9731_IG21
@@ -469,7 +469,7 @@ G_M9731_IG13:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x2
             str     w0, [fp, #-0x80]   // [V06 loc2]
             str     w4, [fp, #-0xC8]   // [V182 tmp157]
             cmp     w1, w4
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             str     x3, [fp, #-0xD8] // [V181 tmp156]
             ; GC ptr vars +{V181}
             ldr     w1, [x3, w1, UXTW #2]
@@ -477,14 +477,14 @@ G_M9731_IG13:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x2
             add     w1, w1, w1,  LSR #31
             asr     w10, w1, #1
             cmp     w10, w22
-            bge     G_M9731_IG51
+            bge     G_M9731_IG52
                        ;; size=48 bbWeight=16 PerfScore 192.00
 G_M9731_IG14:        ; bbWeight=64, gcVars=00000000000000000000000000000200 {V181}, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, gcvars, byref, isz
             ; byrRegs -[x3]
             lsl     w11, w10, #1
             str     w11, [fp, #-0x94]  // [V16 loc12]
             cmp     w10, w22
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             str     w10, [fp, #-0x7C]  // [V05 loc1]
             ldrh    w13, [x21, w10, UXTW #2]
             str     w13, [fp, #-0x8C]  // [V11 loc7]
@@ -513,7 +513,7 @@ G_M9731_IG15:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             str     w4, [fp, #-0xCC]   // [V244 tmp219]
             ldr     w5, [fp, #-0xC4]   // [V180 tmp155]
             cmp     w5, w4
-            bhi     G_M9731_IG71
+            bhi     G_M9731_IG72
             mov     w2, w5
             lsl     x2, x2, #2
             mov     x0, x3
@@ -548,7 +548,7 @@ G_M9731_IG15:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             str     w4, [fp, #-0xD0]   // [V248 tmp223]
             ldr     w5, [fp, #-0xC8]   // [V182 tmp157]
             cmp     w5, w4
-            bhi     G_M9731_IG71
+            bhi     G_M9731_IG72
             mov     w2, w5
             lsl     x2, x2, #2
             mov     x0, x3
@@ -579,29 +579,29 @@ G_M9731_IG16:        ; bbWeight=64, gcVars=00000000000000000000000000000200 {V18
             ; GC ptr vars -{V247}
             ldr     w13, [fp, #-0x8C]  // [V11 loc7]
             cmp     w13, #42
-            beq     G_M9731_IG28
+            beq     G_M9731_IG30
                        ;; size=12 bbWeight=64 PerfScore 224.00
 G_M9731_IG17:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             tst     w19, #255
             beq     G_M9731_IG26
             cmp     w13, #60
             bne     G_M9731_IG26
-            mov     w13, wzr
+            mov     w14, wzr
             cbnz    w6, G_M9731_IG24
             cmp     w25, #46
             bne     G_M9731_IG23
-            sxtw    w1, w27
-            cmp     w1, w24
+            sxtw    w13, w27
+            cmp     w13, w24
             bge     G_M9731_IG23
                        ;; size=44 bbWeight=32 PerfScore 256.00
 G_M9731_IG18:        ; bbWeight=256, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            cmp     w1, w24
-            bhs     G_M9731_IG70
-            ldrh    w0, [x23, w1, UXTW #2]
-            cmp     w0, #46
+            cmp     w13, w24
+            bhs     G_M9731_IG71
+            ldrh    w1, [x23, w13, UXTW #2]
+            cmp     w1, #46
             beq     G_M9731_IG22
-            add     w1, w1, #1
-            cmp     w1, w24
+            add     w13, w13, #1
+            cmp     w13, w24
             blt     G_M9731_IG18
                        ;; size=32 bbWeight=256 PerfScore 2048.00
 G_M9731_IG19:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
@@ -612,18 +612,18 @@ G_M9731_IG20:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, g
             ; GC ptr vars -{V181}
             str     x3, [fp, #-0xD8]   // [V181 tmp156]
             ; GC ptr vars +{V181}
-            b       G_M9731_IG61
+            b       G_M9731_IG62
                       ;; size=8 bbWeight=2 PerfScore 4.00
 G_M9731_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref
             ; byrRegs -[x21 x23 x28]
             ; GC ptr vars -{V181}
             ldr     w5, [fp, #-0x90]   // [V15 loc11]
-            b       G_M9731_IG62
+            b       G_M9731_IG63
                       ;; size=8 bbWeight=1 PerfScore 3.00
 G_M9731_IG22:        ; bbWeight=32, gcVars=00000000000000000000000000000200 {V181}, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, gcvars, byref
             ; byrRegs -[x3] +[x21 x23 x28]
             ; GC ptr vars +{V09 V181}
-            mov     w13, #1
+            mov     w14, #1
                         ;; size=4 bbWeight=32 PerfScore 16.00
 G_M9731_IG23:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
             cmp     w25, #46
@@ -634,174 +634,170 @@ G_M9731_IG24:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             mov     w1, #1
                        ;; size=4 bbWeight=32 PerfScore 16.00
 G_M9731_IG25:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            orr     w1, w1, w13
-            cbz     w1, G_M9731_IG29
-            b       G_M9731_IG28
+            orr     w1, w1, w14
+            cbz     w1, G_M9731_IG31
+            b       G_M9731_IG30
                        ;; size=12 bbWeight=32 PerfScore 80.00
 G_M9731_IG26:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w11, [fp, #-0x94]  // [V16 loc12]
             add     w11, w11, #2
             tst     w19, #255
-            beq     G_M9731_IG37
+            beq     G_M9731_IG38
             cmp     w13, #62
-            bne     G_M9731_IG27
-            cbnz    w6, G_M9731_IG30
+            bne     G_M9731_IG28
+            cbnz    w6, G_M9731_IG32
             cmp     w25, #46
-            beq     G_M9731_IG30
-            b       G_M9731_IG34
-                       ;; size=40 bbWeight=32 PerfScore 288.00
-G_M9731_IG27:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            cmp     w13, #34
-            bne     G_M9731_IG37
-            cbnz    w6, G_M9731_IG30
-            b       G_M9731_IG35
-                       ;; size=16 bbWeight=32 PerfScore 112.00
+            beq     G_M9731_IG32
+                       ;; size=36 bbWeight=32 PerfScore 256.00
+G_M9731_IG27:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
+            b       G_M9731_IG36
+                       ;; size=4 bbWeight=8 PerfScore 8.00
 G_M9731_IG28:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
+            cmp     w13, #34
+            bne     G_M9731_IG38
+            cbnz    w6, G_M9731_IG32
+                       ;; size=12 bbWeight=32 PerfScore 80.00
+G_M9731_IG29:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
+            b       G_M9731_IG37
+                       ;; size=4 bbWeight=8 PerfScore 8.00
+G_M9731_IG30:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w7, [fp, #-0x84]    // [V07 loc3]
             add     w13, w7, #1
             cmp     w7, w2
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldr     w11, [fp, #-0x94]    // [V16 loc12]
             str     w11, [x28, w7, UXTW #2]
             str     w13, [fp, #-0x84]  // [V07 loc3]
             str     w11, [fp, #-0x94]  // [V16 loc12]
                        ;; size=32 bbWeight=32 PerfScore 288.00
-G_M9731_IG29:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
+G_M9731_IG31:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w7, [fp, #-0x84]   // [V07 loc3]
             sxtw    w1, w7
             add     w7, w1, #1
             cmp     w1, w2
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldr     w11, [fp, #-0x94]    // [V16 loc12]
...
  
-4 (-0.44%) : 28334.dasm - System.Collections.Concurrent.ConcurrentDictionary2[int,int]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary2+Tables[int,int],ubyte,ubyte):this (Tier1-OSR)
@@ -193,20 +193,20 @@ G_M37192_IG08:        ; bbWeight=15.84, gcrefRegs=11F80000 {x19 x20 x21 x22 x23
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             ; gcrRegs -[x0 x15]
             ; byrRegs -[x14 x28]
-            ldr     w14, [x20, #0x08]
+            ldr     w1, [x20, #0x08]
             ldr     w28, [fp, #0xE8]  // [V20 loc16]
-            cmp     w28, w14
+            cmp     w28, w1
             bhs     G_M37192_IG13
-            add     x14, x20, #16
-            ; byrRegs +[x14]
-            ubfiz   x15, x28, #2, #32
-            add     x5, x14, x15
+            add     x1, x20, #16
+            ; byrRegs +[x1]
+            ubfiz   x0, x28, #2, #32
+            add     x5, x1, x0
             ; byrRegs +[x5]
-            ldr     w14, [x5]
-            ; byrRegs -[x14]
-            adds    w14, w14, #1
+            ldr     w1, [x5]
+            ; byrRegs -[x1]
+            adds    w1, w1, #1
             bvs     G_M37192_IG11
-            str     w14, [x5]
+            str     w1, [x5]
             ldr     x28, [fp, #0xF8]   // [V18 loc14]
             ; gcrRegs +[x28]
             cbnz    x28, G_M37192_IG05
@@ -237,11 +237,12 @@ G_M37192_IG10:        ; bbWeight=0.50, gcrefRegs=1880000 {x19 x23 x24}, byrefReg
             mov     x15, x19
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
-            ; gcrRegs -[x0 x15 x19 x23-x24]
+            ; gcrRegs -[x15 x19 x23-x24]
             ; byrRegs -[x14]
             b       G_M37192_IG21
                        ;; size=56 bbWeight=0.50 PerfScore 13.00
 G_M37192_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
             bl      CORINFO_HELP_OVERFLOW
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
@@ -353,20 +354,20 @@ G_M37192_IG19:        ; bbWeight=0.16, gcrefRegs=11F80000 {x19 x20 x21 x22 x23 x
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             ; gcrRegs -[x0 x15]
             ; byrRegs -[x14 x28]
-            ldr     w0, [x20, #0x08]
+            ldr     w14, [x20, #0x08]
             ldr     w28, [fp, #0xE8]  // [V20 loc16]
-            cmp     w28, w0
+            cmp     w28, w14
             bhs     G_M37192_IG13
-            add     x0, x20, #16
-            ; byrRegs +[x0]
-            ubfiz   x1, x28, #2, #32
-            add     x5, x0, x1
+            add     x14, x20, #16
+            ; byrRegs +[x14]
+            ubfiz   x15, x28, #2, #32
+            add     x5, x14, x15
             ; byrRegs +[x5]
-            ldr     w0, [x5]
-            ; byrRegs -[x0]
-            adds    w0, w0, #1
+            ldr     w14, [x5]
+            ; byrRegs -[x14]
+            adds    w14, w14, #1
             bvs     G_M37192_IG11
-            str     w0, [x5]
+            str     w14, [x5]
             ldr     x28, [fp, #0xF8] // [V18 loc14]
             ; gcrRegs +[x28]
             cbnz    x28, G_M37192_IG16
@@ -380,10 +381,8 @@ G_M37192_IG20:        ; bbWeight=0.04, gcVars=0000000000200000 {V00}, gcrefRegs=
             bgt     G_M37192_IG14
             b       G_M37192_IG10
                        ;; size=16 bbWeight=0.04 PerfScore 0.12
-G_M37192_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x19-x24]
-            ldr     x0, [fp, #0xD1FFAB1E]  // [V00 this]
-            ; gcrRegs +[x0]
+G_M37192_IG21:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x19-x24] +[x0]
             ldr     w1, [fp, #0xD1FFAB1E]    // [V04 loc0]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Concurrent.ConcurrentDictionary`2[int,int]:ReleaseLocks(int):this
             movk    x2, #0xD1FFAB1E LSL #16
@@ -393,7 +392,7 @@ G_M37192_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             blr     x2
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-                      ;; size=28 bbWeight=1 PerfScore 9.50
+                      ;; size=24 bbWeight=1 PerfScore 7.50
 G_M37192_IG22:        ; bbWeight=1, epilog, nogc, extend
             ldp     x27, x28, [sp, #0x60]
             ldp     x25, x26, [sp, #0x50]
@@ -440,7 +439,7 @@ G_M37192_IG25:        ; bbWeight=0, funclet epilog, nogc, extend
             ret     lr
                        ;; size=32 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 900, prolog size 52, PerfScore 1522.28, instruction count 225, allocated bytes for code 900 (MethodHash=aa026eb7) for method System.Collections.Concurrent.ConcurrentDictionary`2[int,int]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[int,int],ubyte,ubyte):this (Tier1-OSR)
+; Total bytes of code 896, prolog size 52, PerfScore 1520.28, instruction count 224, allocated bytes for code 896 (MethodHash=aa026eb7) for method System.Collections.Concurrent.ConcurrentDictionary`2[int,int]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[int,int],ubyte,ubyte):this (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -451,7 +450,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 201 (0x000c9) Actual length = 804 (0x000324)
+  Function Length   : 200 (0x000c8) Actual length = 800 (0x000320)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-0.41%) : 39715.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
@@ -67,7 +67,7 @@
 ;  V56 cse0         [V56,T16] (  3, 12   )    long  ->   x8         "CSE - aggressive"
 ;  V57 cse1         [V57,T09] (  2, 16   )     int  ->   x3         "CSE - aggressive"
 ;  V58 cse2         [V58,T17] (  3, 12   )    long  ->   x1         "CSE - aggressive"
-;  V59 cse3         [V59,T18] (  3, 10   )    long  ->   x3         "CSE - aggressive"
+;  V59 cse3         [V59,T18] (  3, 10   )    long  ->   x0         "CSE - aggressive"
 ;  V60 rat0         [V60,T28] (  3, 96   )  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 168
@@ -287,23 +287,22 @@ G_M52237_IG17:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
 G_M52237_IG18:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x20]
             ldr     x1, [x20]
-            movz    x3, #0xD1FFAB1E
-            movk    x3, #0xD1FFAB1E LSL #16
-            movk    x3, #1 LSL #32
-            cmp     x1, x3
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #1 LSL #32
+            cmp     x1, x0
             beq     G_M52237_IG20
                        ;; size=24 bbWeight=4 PerfScore 24.00
 G_M52237_IG19:        ; bbWeight=2, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             mov     x1, x20
             ; gcrRegs +[x1]
-            mov     x0, x3
             bl      CORINFO_HELP_UNBOX
             ; gcrRegs -[x1]
             ; gcr arg pop 0
-                      ;; size=12 bbWeight=2 PerfScore 4.00
+                      ;; size=8 bbWeight=2 PerfScore 3.00
 G_M52237_IG20:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
-            ldrb    w1, [x20, #0x08]
-            str     w1, [fp, #0x7C]    // [V09 loc5]
+            ldrb    w0, [x20, #0x08]
+            str     w0, [fp, #0x7C]    // [V09 loc5]
                        ;; size=8 bbWeight=4 PerfScore 16.00
 G_M52237_IG21:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x19-x20]
@@ -474,7 +473,7 @@ RWD00   dq  0070004F00730049h, 006E006F00690074h
 RWD16      dq  006900740070004Fh, 006C0061006E006Fh
 
 
-; Total bytes of code 976, prolog size 60, PerfScore 1437.50, instruction count 244, allocated bytes for code 976 (MethodHash=9e6933f2) for method Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
+; Total bytes of code 972, prolog size 60, PerfScore 1436.50, instruction count 243, allocated bytes for code 972 (MethodHash=9e6933f2) for method Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -485,7 +484,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 198 (0x000c6) Actual length = 792 (0x000318)
+  Function Length   : 197 (0x000c5) Actual length = 788 (0x000314)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+4 (+0.82%) : 44942.dasm - Benchstone.MDBenchF.MDInvMt:Inner(double[,],byref,byref) (Tier1-OSR)
@@ -22,19 +22,19 @@
 ;  V11 tmp2         [V11,T00] ( 12,135   )     int  ->  registers   "MD array shared temp"
 ;* V12 tmp3         [V12,T08] (  0,  0   )     int  ->  zero-ref    "MD array shared temp"
 ;* V13 tmp4         [V13,T09] (  0,  0   )     int  ->  zero-ref    "MD array shared temp"
-;  V14 tmp5         [V14,T15] (  3, 24   )     int  ->   x9         "MD array shared temp"
+;  V14 tmp5         [V14,T15] (  3, 24   )     int  ->  x11         "MD array shared temp"
 ;* V15 tmp6         [V15,T24] (  0,  0   )     int  ->  zero-ref    "MD array shared temp"
 ;  V16 cse0         [V16,T10] (  4, 36   )     int  ->   x4         "CSE - aggressive"
-;  V17 cse1         [V17,T05] (  3, 48   )     int  ->   x8         "CSE - aggressive"
-;  V18 cse2         [V18,T17] (  4, 16   )     int  ->  x11         "CSE - aggressive"
-;  V19 cse3         [V19,T20] (  3, 12   )     int  ->   x9         "CSE - aggressive"
-;  V20 cse4         [V20,T11] (  2,  4   )     int  ->   x4         "CSE - aggressive"
-;  V21 cse5         [V21,T06] (  2, 32   )     int  ->   x8         "CSE - aggressive"
+;  V17 cse1         [V17,T05] (  3, 48   )     int  ->   x6         "CSE - aggressive"
+;  V18 cse2         [V18,T17] (  4, 16   )     int  ->  x10         "CSE - aggressive"
+;  V19 cse3         [V19,T20] (  3, 12   )     int  ->  x11         "CSE - aggressive"
+;  V20 cse4         [V20,T11] (  2,  4   )     int  ->  x11         "CSE - aggressive"
+;  V21 cse5         [V21,T06] (  2, 32   )     int  ->   x6         "CSE - aggressive"
 ;  V22 cse6         [V22,T22] (  2,  5   )     int  ->   x6         hoist "CSE - aggressive"
-;  V23 cse7         [V23,T18] (  2,  8   )     int  ->  x11         "CSE - aggressive"
+;  V23 cse7         [V23,T18] (  2,  8   )     int  ->  x10         "CSE - aggressive"
 ;  V24 cse8         [V24,T01] ( 14, 75.50)     int  ->  registers   multi-def "CSE - aggressive"
 ;  V25 cse9         [V25,T21] (  7, 11   )     int  ->  registers   multi-def "CSE - aggressive"
-;  V26 cse10        [V26,T19] (  7, 14   )     int  ->  registers   hoist multi-def "CSE - aggressive"
+;  V26 cse10        [V26,T19] (  7, 14   )     int  ->   x7         hoist multi-def "CSE - aggressive"
 ;  V27 cse11        [V27,T14] (  7, 29   )     int  ->  registers   multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 0
@@ -52,62 +52,63 @@ G_M49005_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ldp     w5, w4, [fp, #0x48]
                        ;; size=28 bbWeight=0.01 PerfScore 0.12
 G_M49005_IG02:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0006 {x1 x2}, byref
-            b       G_M49005_IG12
+            b       G_M49005_IG11
                         ;; size=4 bbWeight=0.01 PerfScore 0.01
 G_M49005_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0006 {x1 x2}, byref, isz
-            ldr     w4, [x0, #0x18]
-            sub     w4, w3, w4
-            ldp     w5, w6, [x0, #0x10]
-            cmp     w4, w5
-            bhs     G_M49005_IG15
-            ldr     w7, [x0, #0x1C]
-            sub     w8, w3, w7
-            cmp     w8, w6
-            bhs     G_M49005_IG15
-            madd    w8, w4, w6, w8
-            ubfiz   x5, x8, #3, #32
+            ldr     w8, [x0, #0x18]
+            sub     w11, w3, w8
+            ldp     w7, w9, [x0, #0x10]
+            cmp     w11, w7
+            bhs     G_M49005_IG13
+            sxtw    w4, w11
+            ldr     w10, [x0, #0x1C]
+            sub     w5, w3, w10
+            cmp     w5, w9
+            bhs     G_M49005_IG13
+            madd    w5, w4, w9, w5
+            ubfiz   x5, x5, #3, #32
             add     x5, x5, #32
             ldr     d16, [x0, x5]
             ldr     d17, [x1]
             fmul    d17, d17, d16
             str     d17, [x1]
             mov     w5, #1
-            ldr     w8, [x2]
-            lsl     w8, w8, #1
-            add     w8, w8, #1
-            cmp     w8, #0
+            ldr     w6, [x2]
+            lsl     w6, w6, #1
+            add     w6, w6, #1
+            cmp     w6, #0
             ble     G_M49005_IG05
-                      ;; size=88 bbWeight=2 PerfScore 66.00
+                     ;; size=92 bbWeight=2 PerfScore 67.00
 G_M49005_IG04:        ; bbWeight=16, gcrefRegs=0001 {x0}, byrefRegs=0006 {x1 x2}, byref, isz
-            sub     w8, w5, w7
-            cmp     w8, w6
-            bhs     G_M49005_IG15
-            madd    w9, w4, w6, w8
-            ubfiz   x9, x9, #3, #32
-            add     x9, x9, #32
-            madd    w8, w4, w6, w8
-            ubfiz   x8, x8, #3, #32
-            add     x8, x8, #32
-            ldr     d17, [x0, x8]
+            sub     w6, w5, w10
+            cmp     w6, w9
+            bhs     G_M49005_IG13
+            madd    w7, w4, w9, w6
+            ubfiz   x7, x7, #3, #32
+            add     x7, x7, #32
+            madd    w6, w4, w9, w6
+            ubfiz   x6, x6, #3, #32
+            add     x6, x6, #32
+            ldr     d17, [x0, x6]
             fdiv    d17, d17, d16
-            str     d17, [x0, x9]
+            str     d17, [x0, x7]
             add     w5, w5, #1
-            ldr     w8, [x2]
-            lsl     w8, w8, #1
-            add     w8, w8, #1
-            cmp     w5, w8
+            ldr     w6, [x2]
+            lsl     w6, w6, #1
+            add     w6, w6, #1
+            cmp     w5, w6
             ble     G_M49005_IG04
                        ;; size=72 bbWeight=16 PerfScore 536.00
 G_M49005_IG05:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0006 {x1 x2}, byref, isz
             mov     w4, #1
-            ldr     w6, [x2]
-            cmp     w6, #0
+            ldr     w5, [x2]
+            cmp     w5, #0
             bgt     G_M49005_IG08
                        ;; size=16 bbWeight=2 PerfScore 10.00
 G_M49005_IG06:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0006 {x1 x2}, byref, isz
             add     w3, w3, #1
-            ldr     w4, [x2]
-            cmp     w3, w4
+            ldr     w8, [x2]
+            cmp     w3, w8
             ble     G_M49005_IG03
                        ;; size=16 bbWeight=8 PerfScore 40.00
 G_M49005_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
@@ -121,63 +122,61 @@ G_M49005_IG08:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0001 {
             ; gcrRegs +[x0]
             ; byrRegs +[x1-x2]
             cmp     w4, w3
-            bne     G_M49005_IG11
+            bne     G_M49005_IG10
                        ;; size=8 bbWeight=2 PerfScore 3.00
 G_M49005_IG09:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0006 {x1 x2}, byref, isz
             add     w4, w4, #1
             ldr     w5, [x2]
             cmp     w4, w5
             ble     G_M49005_IG08
-                        ;; size=16 bbWeight=8 PerfScore 40.00
-G_M49005_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0006 {x1 x2}, byref
             b       G_M49005_IG06
-                      ;; size=4 bbWeight=1 PerfScore 1.00
-G_M49005_IG11:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0006 {x1 x2}, byref, isz
-            ldr     w7, [x0, #0x18]
-            sub     w7, w4, w7
-            ldp     w5, w6, [x0, #0x10]
-            cmp     w7, w5
-            bhs     G_M49005_IG15
-            ldr     w5, [x0, #0x1C]
-            sub     w8, w3, w5
-            cmp     w8, w6
-            bhs     G_M49005_IG15
-            madd    w7, w7, w6, w8
-            ubfiz   x6, x7, #3, #32
-            add     x5, x6, #32
-            ldr     d16, [x0, x5]
+                        ;; size=20 bbWeight=8 PerfScore 48.00
+G_M49005_IG10:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0006 {x1 x2}, byref, isz
+            ldr     w5, [x0, #0x18]
+            sub     w6, w4, w5
+            ldp     w7, w8, [x0, #0x10]
+            cmp     w6, w7
+            bhs     G_M49005_IG13
+            ldr     w9, [x0, #0x1C]
+            sub     w10, w3, w9
+            cmp     w10, w8
+            bhs     G_M49005_IG13
+            madd    w5, w6, w8, w10
+            ubfiz   x7, x5, #3, #32
+            add     x6, x7, #32
+            ldr     d16, [x0, x6]
             mov     w5, #1
                        ;; size=56 bbWeight=0.50 PerfScore 10.00
-G_M49005_IG12:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0006 {x1 x2}, byref, isz
+G_M49005_IG11:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0006 {x1 x2}, byref, isz
             ldr     w6, [x2]
             lsl     w6, w6, #1
             add     w6, w6, #1
             cmp     w5, w6
             bgt     G_M49005_IG09
-            ldr     w7, [x0, #0x18]
-            sub     w6, w4, w7
-            ldr     w8, [x0, #0x10]
+            ldr     w8, [x0, #0x18]
+            sub     w6, w4, w8
+            ldr     w7, [x0, #0x10]
                         ;; size=32 bbWeight=1 PerfScore 12.50
-G_M49005_IG13:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0006 {x1 x2}, byref, isz
-            sxtw    w9, w6
-            cmp     w9, w8
-            bhs     G_M49005_IG15
-            ldr     w10, [x0, #0x14]
-            ldr     w11, [x0, #0x1C]
-            sub     w11, w5, w11
-            cmp     w11, w10
-            bhs     G_M49005_IG15
-            madd    w13, w9, w10, w11
+G_M49005_IG12:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0006 {x1 x2}, byref, isz
+            sxtw    w11, w6
+            cmp     w11, w7
+            bhs     G_M49005_IG13
+            ldr     w9, [x0, #0x14]
+            ldr     w10, [x0, #0x1C]
+            sub     w10, w5, w10
+            cmp     w10, w9
+            bhs     G_M49005_IG13
+            madd    w13, w11, w9, w10
             ubfiz   x13, x13, #3, #32
             add     x13, x13, #32
-            madd    w9, w9, w10, w11
-            ubfiz   x9, x9, #3, #32
-            add     x9, x9, #32
-            ldr     d17, [x0, x9]
-            sub     w9, w3, w7
-            cmp     w9, w8
-            bhs     G_M49005_IG15
-            madd    w9, w9, w10, w11
+            madd    w11, w11, w9, w10
+            ubfiz   x11, x11, #3, #32
+            add     x11, x11, #32
+            ldr     d17, [x0, x11]
+            sub     w11, w3, w8
+            cmp     w11, w7
+            bhs     G_M49005_IG13
+            madd    w9, w11, w9, w10
             ubfiz   x9, x9, #3, #32
             add     x9, x9, #32
             ldr     d18, [x0, x9]
@@ -189,12 +188,10 @@ G_M49005_IG13:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0006 {x1 x2},
             lsl     w9, w9, #1
             add     w9, w9, #1
             cmp     w5, w9
-            ble     G_M49005_IG13
-                       ;; size=124 bbWeight=4 PerfScore 168.00
-G_M49005_IG14:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0006 {x1 x2}, byref
+            ble     G_M49005_IG12
             b       G_M49005_IG09
-                        ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M49005_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                      ;; size=128 bbWeight=4 PerfScore 172.00
+G_M49005_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             ; byrRegs -[x1-x2]
             bl      CORINFO_HELP_RNGCHKFAIL
@@ -202,7 +199,7 @@ G_M49005_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
...
  
+4 (+1.08%) : 40287.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
@@ -56,16 +56,22 @@ G_M4144_IG02:        ; bbWeight=0.01, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {},
             ldr     w9, [x1, #0x10]
             b       G_M4144_IG12
                        ;; size=24 bbWeight=0.01 PerfScore 0.11
-G_M4144_IG03:        ; bbWeight=2, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG03:        ; bbWeight=1, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
+            ldr     w10, [x1, #0x1C]
+            add     w4, w10, w9
+            sub     w4, w4, #1
+            b       G_M4144_IG09
+                       ;; size=16 bbWeight=1 PerfScore 5.00
+G_M4144_IG04:        ; bbWeight=2, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
             sxtw    w5, w10
             cmp     w4, w5
-            bge     G_M4144_IG07
+            bge     G_M4144_IG08
                      ;; size=12 bbWeight=2 PerfScore 4.00
-G_M4144_IG04:        ; bbWeight=8, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG05:        ; bbWeight=8, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
             sub     w0, w0, #1
-            cbnz    w0, G_M4144_IG03
+            cbnz    w0, G_M4144_IG04
                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M4144_IG05:        ; bbWeight=1, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
+G_M4144_IG06:        ; bbWeight=1, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
             mov     x0, x1
             ; gcrRegs +[x0]
             mov     x1, x2
@@ -78,25 +84,23 @@ G_M4144_IG05:        ; bbWeight=1, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, by
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
                        ;; size=28 bbWeight=1 PerfScore 6.50
-G_M4144_IG06:        ; bbWeight=1, epilog, nogc, extend
+G_M4144_IG07:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             add     sp, sp, #80
             ret     lr
                        ;; size=12 bbWeight=1 PerfScore 2.50
-G_M4144_IG07:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M4144_IG08:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x1-x2]
             ldr     w11, [x1, #0x20]
             cmp     w3, w11
             bge     G_M4144_IG10
                        ;; size=12 bbWeight=2 PerfScore 9.00
-G_M4144_IG08:        ; bbWeight=8, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG09:        ; bbWeight=8, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
             add     w5, w5, #1
             cmp     w4, w5
-            bge     G_M4144_IG07
-                       ;; size=12 bbWeight=8 PerfScore 16.00
-G_M4144_IG09:        ; bbWeight=1, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
-            b       G_M4144_IG04
-                       ;; size=4 bbWeight=1 PerfScore 1.00
+            bge     G_M4144_IG08
+            b       G_M4144_IG05
+                       ;; size=16 bbWeight=8 PerfScore 24.00
 G_M4144_IG10:        ; bbWeight=1, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
             mov     w4, w11
                        ;; size=4 bbWeight=1 PerfScore 0.50
@@ -163,11 +167,8 @@ G_M4144_IG15:        ; bbWeight=8, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, by
             bge     G_M4144_IG11
                        ;; size=24 bbWeight=8 PerfScore 48.00
 G_M4144_IG16:        ; bbWeight=1, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
-            ldr     w10, [x1, #0x1C]
-            add     w4, w10, w9
-            sub     w4, w4, #1
-            b       G_M4144_IG08
-                       ;; size=16 bbWeight=1 PerfScore 5.00
+            b       G_M4144_IG03
+                       ;; size=4 bbWeight=1 PerfScore 1.00
 G_M4144_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x1-x2]
             bl      CORINFO_HELP_RNGCHKFAIL
@@ -175,7 +176,7 @@ G_M4144_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 372, prolog size 24, PerfScore 1039.72, instruction count 93, allocated bytes for code 372 (MethodHash=aa90efcf) for method Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
+; Total bytes of code 376, prolog size 24, PerfScore 1047.72, instruction count 94, allocated bytes for code 376 (MethodHash=aa90efcf) for method Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -186,7 +187,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 93 (0x0005d) Actual length = 372 (0x000174)
+  Function Length   : 94 (0x0005e) Actual length = 376 (0x000178)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+16 (+2.07%) : 43965.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
@@ -10,307 +10,307 @@
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <BenchmarksGame.FannkuchRedux_2>
 ;  V01 arg1         [V01,T15] ( 13, 66   )     int  ->   x1         single-def
-;  V02 loc0         [V02,T10] ( 17, 96.05)     ref  ->   x0         class-hnd exact <int[]>
+;  V02 loc0         [V02,T10] ( 17, 96.05)     ref  ->   x2         class-hnd exact <int[]>
 ;  V03 loc1         [V03,T34] (  5,  3.05)     ref  ->   x7         class-hnd exact <int[]>
-;  V04 loc2         [V04,T25] (  6, 20.73)     ref  ->   x5         class-hnd exact <int[]>
-;  V05 loc3         [V05,T24] (  4, 21   )     int  ->   x4        
+;  V04 loc2         [V04,T25] (  6, 20.73)     ref  ->   x6         class-hnd exact <int[]>
+;  V05 loc3         [V05,T24] (  4, 21   )     int  ->   x5        
 ;  V06 loc4         [V06,T38] (  3,  2.50)     int  ->  x20        
 ;  V07 loc5         [V07,T35] (  3,  3   )     int  ->  x19        
-;  V08 loc6         [V08,T16] (  2, 64   )     int  ->   x2        
+;  V08 loc6         [V08,T16] (  2, 64   )     int  ->   x3        
 ;* V09 loc7         [V09    ] (  0,  0   )     int  ->  zero-ref   
-;  V10 loc8         [V10,T21] (  9, 38   )     int  ->   x3        
-;  V11 loc9         [V11,T31] (  6, 11.50)     int  ->   x6        
-;  V12 loc10        [V12,T27] ( 13, 18.58)     int  ->   x6        
-;  V13 loc11        [V13,T26] (  3, 20   )     int  ->  x11        
-;  V14 loc12        [V14,T11] (  6, 82   )     int  ->  x14        
-;  V15 loc13        [V15,T12] (  6, 82   )     int  ->   x3        
-;  V16 loc14        [V16,T22] (  2, 32   )     int  ->  x15        
-;  V17 loc15        [V17,T33] (  2,  8   )     int  ->   x4        
-;  V18 loc16        [V18,T14] (  6, 80   )     int  ->   x6        
-;  V19 loc17        [V19,T00] ( 23,376.88)     int  ->  x13        
-;  V20 loc18        [V20,T07] (  5,132   )     int  ->   x6        
-;  V21 loc19        [V21,T01] ( 16,289.27)     int  ->   x3        
+;  V10 loc8         [V10,T21] (  9, 38   )     int  ->   x4        
+;  V11 loc9         [V11,T31] (  6, 11.50)     int  ->   x0        
+;  V12 loc10        [V12,T27] ( 13, 18.58)     int  ->   x0        
+;  V13 loc11        [V13,T26] (  3, 20   )     int  ->   x8        
+;  V14 loc12        [V14,T11] (  6, 82   )     int  ->   x9        
+;  V15 loc13        [V15,T12] (  6, 82   )     int  ->   x4        
+;  V16 loc14        [V16,T22] (  2, 32   )     int  ->  x13        
+;  V17 loc15        [V17,T33] (  2,  8   )     int  ->   x5        
+;  V18 loc16        [V18,T14] (  6, 80   )     int  ->  x25        
+;  V19 loc17        [V19,T00] ( 23,376.88)     int  ->  x26        
+;  V20 loc18        [V20,T07] (  5,132   )     int  ->   x4        
+;  V21 loc19        [V21,T01] ( 16,289.27)     int  ->   x0        
 ;# V22 OutArgs      [V22    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V23 tmp1         [V23,T23] (  2, 32   )     int  ->   x4         "Strict ordering of exceptions for Array store"
-;  V24 tmp2         [V24,T02] (  6,256.00)     int  ->  x12         "Strict ordering of exceptions for Array store"
+;  V23 tmp1         [V23,T23] (  2, 32   )     int  ->   x5         "Strict ordering of exceptions for Array store"
+;  V24 tmp2         [V24,T02] (  6,256.00)     int  ->   x8         "Strict ordering of exceptions for Array store"
 ;  V25 tmp3         [V25,T32] (  4,  8   )     ref  ->   x0         class-hnd exact single-def "dup spill" <int[]>
-;  V26 tmp4         [V26,T29] (  2, 16   )     int  ->  x11         "Strict ordering of exceptions for Array store"
-;  V27 tmp5         [V27,T28] (  4, 16   )     int  ->  x14         "Strict ordering of exceptions for Array store"
-;  V28 tmp6         [V28,T17] (  2, 64   )     int  ->  x21         "Strict ordering of exceptions for Array store"
-;  V29 cse0         [V29,T05] (  3,158.40)    long  ->   x3         "CSE - aggressive"
-;  V30 cse1         [V30,T18] (  3, 48   )    long  ->  x12         "CSE - aggressive"
-;  V31 cse2         [V31,T19] (  3, 48   )    long  ->  xip0         "CSE - aggressive"
-;  V32 cse3         [V32,T30] (  3, 11.88)    long  ->  x11         "CSE - moderate"
-;  V33 cse4         [V33,T40] (  3,  0.12)    long  ->  x11         "CSE - conservative"
-;  V34 cse5         [V34,T06] ( 17,139.27)     int  ->  x11         multi-def "CSE - aggressive"
-;  V35 cse6         [V35,T04] ( 11,164.01)   byref  ->   x9         hoist "CSE - aggressive"
-;  V36 cse7         [V36,T03] (  4,250.91)     int  ->  x14         "CSE - aggressive"
-;  V37 cse8         [V37,T09] (  6,100.01)   byref  ->   x8         hoist "CSE - aggressive"
-;  V38 cse9         [V38,T13] (  9, 80.01)   byref  ->  x10         hoist "CSE - aggressive"
-;  V39 cse10        [V39,T20] (  8, 43.08)     int  ->  x13         hoist multi-def "CSE - aggressive"
-;  V40 cse11        [V40,T08] (  4,126.72)     int  ->  x13         "CSE - aggressive"
-;  V41 cse12        [V41,T36] (  4,  2.56)     int  ->  x14         "CSE - moderate"
-;  V42 cse13        [V42,T37] (  4,  2.53)     int  ->  x14         "CSE - moderate"
-;  V43 cse14        [V43,T39] (  4,  1.28)     int  ->  x13         "CSE - moderate"
+;  V26 tmp4         [V26,T29] (  2, 16   )     int  ->   x4         "Strict ordering of exceptions for Array store"
+;  V27 tmp5         [V27,T28] (  4, 16   )     int  ->   x9         "Strict ordering of exceptions for Array store"
+;  V28 tmp6         [V28,T17] (  2, 64   )     int  ->  x12         "Strict ordering of exceptions for Array store"
+;  V29 cse0         [V29,T05] (  3,158.40)    long  ->   x0         "CSE - aggressive"
+;  V30 cse1         [V30,T18] (  3, 48   )    long  ->  x11         "CSE - aggressive"
+;  V31 cse2         [V31,T19] (  3, 48   )    long  ->  x14         "CSE - aggressive"
+;  V32 cse3         [V32,T30] (  3, 11.88)    long  ->   x8         "CSE - moderate"
+;  V33 cse4         [V33,T40] (  3,  0.12)    long  ->   x8         "CSE - conservative"
+;  V34 cse5         [V34,T06] ( 17,139.27)     int  ->  x24         multi-def "CSE - aggressive"
+;  V35 cse6         [V35,T04] ( 11,164.01)   byref  ->  x22         hoist "CSE - aggressive"
+;  V36 cse7         [V36,T03] (  4,250.91)     int  ->   x4         "CSE - aggressive"
+;  V37 cse8         [V37,T09] (  6,100.01)   byref  ->  x21         hoist "CSE - aggressive"
+;  V38 cse9         [V38,T13] (  9, 80.01)   byref  ->  x23         hoist "CSE - aggressive"
+;  V39 cse10        [V39,T20] (  8, 43.08)     int  ->  registers   hoist multi-def "CSE - aggressive"
+;  V40 cse11        [V40,T08] (  4,126.72)     int  ->  x26         "CSE - aggressive"
+;  V41 cse12        [V41,T36] (  4,  2.56)     int  ->   x4         "CSE - moderate"
+;  V42 cse13        [V42,T37] (  4,  2.53)     int  ->   x4         "CSE - moderate"
+;  V43 cse14        [V43,T39] (  4,  1.28)     int  ->  x26         "CSE - moderate"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M61974_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x50]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
+            stp     x23, x24, [sp, #0x30]
+            stp     x25, x26, [sp, #0x40]
             mov     fp, sp
-            ldr     w1, [fp, #0xD4]
-            ldp     x7, x0, [fp, #0xC0]
-            ; gcrRegs +[x0 x7]
-            ldr     x5, [fp, #0xB8]
-            ; gcrRegs +[x5]
-            ldp     w20, w4, [fp, #0xB0]
-            ldp     w2, w19, [fp, #0xA8]
-            ldr     w3, [fp, #0xA0]
-            ldr     w6, [fp, #0x98]
-                       ;; size=44 bbWeight=0.01 PerfScore 0.18
-G_M61974_IG02:        ; bbWeight=0.01, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0000 {}, byref
-            add     x8, x5, #16
-            ; byrRegs +[x8]
-            add     x9, x0, #16
-            ; byrRegs +[x9]
-            add     x10, x7, #16
-            ; byrRegs +[x10]
-            b       G_M61974_IG23
+            ldr     w1, [fp, #0xF4]
+            ldp     x7, x2, [fp, #0xE0]
+            ; gcrRegs +[x2 x7]
+            ldr     x6, [fp, #0xD8]
+            ; gcrRegs +[x6]
+            ldp     w20, w5, [fp, #0xD0]
+            ldp     w3, w19, [fp, #0xC8]
+            ldr     w4, [fp, #0xC0]
+            ldr     w0, [fp, #0xB8]
+                       ;; size=52 bbWeight=0.01 PerfScore 0.20
+G_M61974_IG02:        ; bbWeight=0.01, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=0000 {}, byref
+            add     x21, x6, #16
+            ; byrRegs +[x21]
+            add     x22, x2, #16
+            ; byrRegs +[x22]
+            add     x23, x7, #16
+            ; byrRegs +[x23]
+            b       G_M61974_IG22
                       ;; size=16 bbWeight=0.01 PerfScore 0.03
-G_M61974_IG03:        ; bbWeight=2, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            ldr     w3, [x0, #0x10]
-            cbnz    w3, G_M61974_IG22
+G_M61974_IG03:        ; bbWeight=2, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            ldr     w4, [x2, #0x10]
+            cbnz    w4, G_M61974_IG21
                       ;; size=8 bbWeight=2 PerfScore 8.00
-G_M61974_IG04:        ; bbWeight=8, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            cmp     w4, #1
+G_M61974_IG04:        ; bbWeight=8, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            cmp     w5, #1
             bne     G_M61974_IG06
                        ;; size=8 bbWeight=8 PerfScore 12.00
-G_M61974_IG05:        ; bbWeight=4, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            ldr     w11, [x0, #0x08]
-            cmp     w11, #1
-            bls     G_M61974_IG37
-            ldp     w11, w4, [x0, #0x10]
-            stp     w4, w11, [x0, #0x10]
-            movn    w4, #0
+G_M61974_IG05:        ; bbWeight=4, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            ldr     w24, [x2, #0x08]
+            cmp     w24, #1
+            bls     G_M61974_IG36
+            ldp     w4, w5, [x2, #0x10]
+            stp     w5, w4, [x2, #0x10]
+            movn    w5, #0
             b       G_M61974_IG03
                        ;; size=28 bbWeight=4 PerfScore 40.00
-G_M61974_IG06:        ; bbWeight=8, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            ldr     w11, [x0, #0x08]
-            cmp     w11, #1
-            bls     G_M61974_IG37
-            ldr     w6, [x0, #0x14]
-            cmp     w11, #2
-            bls     G_M61974_IG37
-            ldr     w4, [x0, #0x18]
-            stp     w4, w6, [x0, #0x14]
-            mov     w4, #1
-            mov     w13, #2
+G_M61974_IG06:        ; bbWeight=8, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            ldr     w24, [x2, #0x08]
+            cmp     w24, #1
+            bls     G_M61974_IG36
+            ldr     w25, [x2, #0x14]
+            cmp     w24, #2
+            bls     G_M61974_IG36
+            ldr     w5, [x2, #0x18]
+            stp     w5, w25, [x2, #0x14]
+            mov     w5, #1
+            mov     w26, #2
             cmp     w1, #2
             ble     G_M61974_IG03
-            cbz     x5, G_M61974_IG15
+            cbz     x6, G_M61974_IG15
             tbnz    w1, #31, G_M61974_IG15
-            ldr     w6, [x5, #0x08]
-            cmp     w6, w1
+            ldr     w4, [x6, #0x08]
+            cmp     w4, w1
             blt     G_M61974_IG15
                        ;; size=68 bbWeight=8 PerfScore 176.00
-G_M61974_IG07:        ; bbWeight=63.36, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            ubfiz   x3, x13, #2, #32
-            ldr     w6, [x8, x3]
-            cbnz    w6, G_M61974_IG21
-            cmp     w13, w2
-            beq     G_M61974_IG35
+G_M61974_IG07:        ; bbWeight=63.36, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            ubfiz   x0, x26, #2, #32
+            ldr     w4, [x21, x0]
+            cbnz    w4, G_M61974_IG20
+            cmp     w26, w3
+            beq     G_M61974_IG34
                       ;; size=20 bbWeight=63.36 PerfScore 411.84
-G_M61974_IG08:        ; bbWeight=31.68, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            str     w13, [x8, x3]
-            ldr     w6, [x0, #0x10]
-            mov     w3, wzr
-            tbnz    w13, #31, G_M61974_IG13
+G_M61974_IG08:        ; bbWeight=31.68, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            str     w26, [x21, x0]
+            ldr     w25, [x2, #0x10]
+            mov     w0, wzr
+            tbnz    w26, #31, G_M61974_IG13
                         ;; size=16 bbWeight=31.68 PerfScore 174.24
-G_M61974_IG09:        ; bbWeight=7.92, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            cmp     w11, w13
+G_M61974_IG09:        ; bbWeight=7.92, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            cmp     w24, w26
             ble     G_M61974_IG12
                        ;; size=8 bbWeight=7.92 PerfScore 11.88
-G_M61974_IG10:        ; bbWeight=62.73, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            add     w14, w3, #1
-            cmp     w14, w11
-            bhs     G_M61974_IG37
-            ldr     w12, [x9, w14, UXTW #2]
-            str     w12, [x9, w3, UXTW #2]
-            sxtw    w3, w14
-            cmp     w3, w13
+G_M61974_IG10:        ; bbWeight=62.73, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            add     w4, w0, #1
+            cmp     w4, w24
+            bhs     G_M61974_IG36
+            ldr     w8, [x22, w4, UXTW #2]
+            str     w8, [x22, w0, UXTW #2]
+            sxtw    w0, w4
+            cmp     w0, w26
             ble     G_M61974_IG10
                        ;; size=32 bbWeight=62.73 PerfScore 501.81
-G_M61974_IG11:        ; bbWeight=7.92, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref
+G_M61974_IG11:        ; bbWeight=31.68, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref
             b       G_M61974_IG13
-                        ;; size=4 bbWeight=7.92 PerfScore 7.92
-G_M61974_IG12:        ; bbWeight=0.63, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            add     w14, w3, #1
-            cmp     w14, w11
...
  
  
coreclr_tests.run.osx.arm64.checked.mch
-16 (-7.02%) : 238522.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
@@ -11,10 +11,10 @@
 ;
 ;  V00 arg0         [V00,T04] (  9,500.48)     ref  ->   x0         class-hnd single-def <int[,]>
 ;* V01 arg1         [V01    ] (  0,  0   )   byref  ->  zero-ref    single-def
-;  V02 loc0         [V02,T17] (  6,100.52)     int  ->   x3        
+;  V02 loc0         [V02,T17] (  5,100.52)     int  ->   x3        
 ;  V03 loc1         [V03,T11] (  2,198.99)     int  ->  x10        
 ;  V04 loc2         [V04,T12] (  2,198.99)     int  ->  x11        
-;  V05 loc3         [V05,T20] (  8, 99.54)     int  ->   x4        
+;  V05 loc3         [V05,T20] (  5, 99.54)     int  ->   x4        
 ;  V06 loc4         [V06,T16] (  6,101.03)     int  ->   x2        
 ;  V07 loc5         [V07,T05] (  6,398.99)     int  ->   x1        
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -95,13 +95,12 @@ G_M57584_IG07:        ; bbWeight=99.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {},
 G_M57584_IG08:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w2, w2, #1
             cmp     w2, w3
-            bgt     G_M57584_IG11
-            b       G_M57584_IG04
-                       ;; size=16 bbWeight=0.50 PerfScore 1.51
+            ble     G_M57584_IG04
+                       ;; size=12 bbWeight=0.50 PerfScore 1.01
 G_M57584_IG09:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w4, w4, #1
             cmp     w4, w3
-            bgt     G_M57584_IG12
+            bgt     G_M57584_IG11
             b       G_M57584_IG03
                        ;; size=16 bbWeight=0.01 PerfScore 0.03
 G_M57584_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -109,20 +108,13 @@ G_M57584_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M57584_IG11:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x0]
-            add     w4, w4, #1
-            cmp     w4, w3
-            ble     G_M57584_IG03
-                       ;; size=12 bbWeight=0 PerfScore 0.00
-G_M57584_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ; gcrRegs -[x0]
+G_M57584_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x10
             add     sp, sp, #64
             ret     lr
                        ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 228, prolog size 24, PerfScore 3199.96, instruction count 57, allocated bytes for code 228 (MethodHash=862a1f0f) for method Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
+; Total bytes of code 212, prolog size 24, PerfScore 3199.46, instruction count 53, allocated bytes for code 212 (MethodHash=862a1f0f) for method Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -133,7 +125,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)
  
-16 (-6.90%) : 238520.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
@@ -11,10 +11,10 @@
 ;
 ;  V00 arg0         [V00,T03] (  9,500.48)     ref  ->   x0         class-hnd single-def <int[,]>
 ;* V01 arg1         [V01    ] (  0,  0   )   byref  ->  zero-ref    single-def
-;  V02 loc0         [V02,T17] (  6,100.52)     int  ->   x3        
+;  V02 loc0         [V02,T17] (  5,100.52)     int  ->   x3        
 ;  V03 loc1         [V03,T11] (  2,198.99)     int  ->   x8        
 ;  V04 loc2         [V04,T12] (  2,198.99)     int  ->  x13        
-;  V05 loc3         [V05,T20] (  8,  0.54)     int  ->   x4        
+;  V05 loc3         [V05,T20] (  5,  0.54)     int  ->   x4        
 ;  V06 loc4         [V06,T16] (  6,101.03)     int  ->   x2        
 ;  V07 loc5         [V07,T05] (  6,398.99)     int  ->   x1        
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -96,13 +96,12 @@ G_M3571_IG07:        ; bbWeight=99.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
 G_M3571_IG08:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w2, w2, #1
             cmp     w2, w3
-            bgt     G_M3571_IG11
-            b       G_M3571_IG04
-                       ;; size=16 bbWeight=0.50 PerfScore 1.51
+            ble     G_M3571_IG04
+                       ;; size=12 bbWeight=0.50 PerfScore 1.01
 G_M3571_IG09:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w4, w4, #1
             cmp     w4, w3
-            bgt     G_M3571_IG12
+            bgt     G_M3571_IG11
             b       G_M3571_IG03
                        ;; size=16 bbWeight=0.01 PerfScore 0.03
 G_M3571_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -110,20 +109,13 @@ G_M3571_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M3571_IG11:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x0]
-            add     w4, w4, #1
-            cmp     w4, w3
-            ble     G_M3571_IG03
-                       ;; size=12 bbWeight=0 PerfScore 0.00
-G_M3571_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ; gcrRegs -[x0]
+G_M3571_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x10
             add     sp, sp, #64
             ret     lr
                        ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 232, prolog size 24, PerfScore 3200.22, instruction count 58, allocated bytes for code 232 (MethodHash=50acf20c) for method Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
+; Total bytes of code 216, prolog size 24, PerfScore 3199.71, instruction count 54, allocated bytes for code 216 (MethodHash=50acf20c) for method Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -134,7 +126,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 (-5.17%) : 352333.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
@@ -15,7 +15,7 @@
 ;* V03 loc0         [V03    ] (  0,  0   )     int  ->  zero-ref   
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V05 tmp1         [V05,T09] (  2,  4   )     ref  ->   x3         class-hnd single-def "impAppendStmt" <int[]>
-;  V06 tmp2         [V06,T12] (  2,  2.00)     int  ->  x19         "Inline return value spill temp"
+;  V06 tmp2         [V06,T12] (  2,  2.00)     int  ->   x9         "Inline return value spill temp"
 ;  V07 tmp3         [V07,T08] (  4,  4.74)   byref  ->   x3         single-def "Inline stloc first use temp"
 ;  V08 tmp4         [V08,T00] (  3,  6.74)    long  ->   x4         "Inlining Arg"
 ;  V09 tmp5         [V09,T06] (  4,  5.11)     int  ->   x5         "Inline stloc first use temp"
@@ -23,17 +23,16 @@
 ;  V11 tmp7         [V11,T02] (  5,  6.09)   byref  ->   x7         "Inline stloc first use temp"
 ;  V12 tmp8         [V12,T05] (  5,  5.47)     int  ->   x8         "Inline stloc first use temp"
 ;  V13 tmp9         [V13,T11] (  2,  2.74)    long  ->   x9         "Inline stloc first use temp"
-;  V14 tmp10        [V14,T10] (  3,  2.98)    long  ->  x19         "Inline stloc first use temp"
+;  V14 tmp10        [V14,T10] (  3,  2.98)    long  ->   x9         "Inline stloc first use temp"
 ;* V15 tmp11        [V15    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V16 tmp12        [V16    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M34926_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x20]!
-            str     x19, [sp, #0x18]
+            stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
-                        ;; size=12 bbWeight=1 PerfScore 2.50
+                      ;; size=8 bbWeight=1 PerfScore 1.50
 G_M34926_IG02:        ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0001 {x0}, byref
             ; gcrRegs +[x2]
             ; byrRegs +[x0]
@@ -71,8 +70,8 @@ G_M34926_IG03:        ; bbWeight=1.37, gcrefRegs=0004 {x2}, byrefRegs=0009 {x0 x
                        ;; size=36 bbWeight=1.37 PerfScore 15.73
 G_M34926_IG04:        ; bbWeight=0.99, gcrefRegs=0004 {x2}, byrefRegs=0089 {x0 x3 x7}, byref, isz
             ldr     x9, [x7, #0x10]
-            eor     x19, x9, x1
-            cmp     x19, #1
+            eor     x9, x9, x1
+            cmp     x9, #1
             bhi     G_M34926_IG08
                        ;; size=16 bbWeight=0.99 PerfScore 4.96
 G_M34926_IG05:        ; bbWeight=0.99, gcrefRegs=0004 {x2}, byrefRegs=0081 {x0 x7}, byref, isz
@@ -84,7 +83,7 @@ G_M34926_IG05:        ; bbWeight=0.99, gcrefRegs=0004 {x2}, byrefRegs=0081 {x0 x
                        ;; size=16 bbWeight=0.99 PerfScore 14.38
 G_M34926_IG06:        ; bbWeight=1.00, gcrefRegs=0004 {x2}, byrefRegs=0001 {x0}, byref, isz
             ; byrRegs -[x7]
-            cmp     w19, #1
+            cmp     w9, #1
             bne     G_M34926_IG10
             mov     x1, x2
             ; gcrRegs +[x1]
@@ -94,10 +93,9 @@ G_M34926_IG06:        ; bbWeight=1.00, gcrefRegs=0004 {x2}, byrefRegs=0001 {x0},
             ; gcr arg pop 0
                        ;; size=16 bbWeight=1.00 PerfScore 3.00
 G_M34926_IG07:        ; bbWeight=1.00, epilog, nogc, extend
-            ldr     x19, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x10
             ret     lr
-                       ;; size=12 bbWeight=1.00 PerfScore 4.00
+                       ;; size=8 bbWeight=1.00 PerfScore 2.00
 G_M34926_IG08:        ; bbWeight=0.38, gcVars=0000000000000000 {}, gcrefRegs=0004 {x2}, byrefRegs=0009 {x0 x3}, gcvars, byref, isz
             ; gcrRegs +[x2]
             ; byrRegs +[x0 x3]
@@ -106,8 +104,8 @@ G_M34926_IG08:        ; bbWeight=0.38, gcVars=0000000000000000 {}, gcrefRegs=000
 G_M34926_IG09:        ; bbWeight=1.37, gcrefRegs=0004 {x2}, byrefRegs=0009 {x0 x3}, byref, isz
             add     w6, w6, #1
             add     w5, w5, w6
-            ldr     w7, [x3, #0x04]
-            and     w5, w5, w7
+            ldr     w9, [x3, #0x04]
+            and     w5, w5, w9
             cmp     w6, #8
             blt     G_M34926_IG03
                        ;; size=24 bbWeight=1.37 PerfScore 8.22
@@ -123,23 +121,22 @@ G_M34926_IG10:        ; bbWeight=0.01, gcrefRegs=0004 {x2}, byrefRegs=0001 {x0},
             ; gcr arg pop 0
                        ;; size=20 bbWeight=0.01 PerfScore 0.05
 G_M34926_IG11:        ; bbWeight=0.01, epilog, nogc, extend
-            ldr     x19, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x10
             ret     lr
-                       ;; size=12 bbWeight=0.01 PerfScore 0.03
+                       ;; size=8 bbWeight=0.01 PerfScore 0.02
 
-; Total bytes of code 232, prolog size 12, PerfScore 70.74, instruction count 58, allocated bytes for code 232 (MethodHash=f2f07791) for method System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
+; Total bytes of code 220, prolog size 8, PerfScore 67.72, instruction count 55, allocated bytes for code 220 (MethodHash=f2f07791) for method System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
 ; ============================================================
 
 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   : 58 (0x0003a) Actual length = 232 (0x0000e8)
+  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)
@@ -150,10 +147,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]
-    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
-    E4          end
-    E4          end
+    81          save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]!
     E4          end
     E4          end
 
  
+12 (+7.89%) : 383315.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Canon]:Enqueue(System.Canon):this (Tier1)
@@ -15,21 +15,22 @@
 ;* V03 tmp1         [V03,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]>
 ;  V05 tmp3         [V05,T04] (  3,  3   )     ref  ->   x3         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T03] (  6,  4.50)     int  ->  x14         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T05] (  3,  3   )     int  ->  x15         "Inline stloc first use temp"
+;  V06 tmp4         [V06,T03] (  6,  4.50)     int  ->   x5         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T05] (  3,  3   )     int  ->   x6         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V09 tmp7         [V09,T09] (  3,  2.50)     int  ->   x6         "Inline stloc first use temp"
-;  V10 cse0         [V10,T06] (  3,  3.00)   byref  ->   x5         "CSE - aggressive"
-;  V11 cse1         [V11,T07] (  3,  3.00)   byref  ->  x12         "CSE - aggressive"
+;  V10 cse0         [V10,T06] (  3,  3.00)   byref  ->  x19         "CSE - aggressive"
+;  V11 cse1         [V11,T07] (  3,  3.00)   byref  ->  x14         "CSE - aggressive"
 ;  V12 cse2         [V12,T08] (  3,  2.50)   byref  ->   x4         hoist "CSE - aggressive"
-;  V13 cse3         [V13,T10] (  3,  2.00)     int  ->   x6         "CSE - moderate"
+;  V13 cse3         [V13,T10] (  3,  2.00)     int  ->  x20         "CSE - moderate"
 ;
 ; Lcl frame size = 0
 
 G_M15407_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-                      ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=12 bbWeight=1 PerfScore 2.50
 G_M15407_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0-x1]
             ldapur  x2, [x0, #0x10]
@@ -40,51 +41,35 @@ G_M15407_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, b
             ; byrRegs +[x4]
                        ;; size=12 bbWeight=1 PerfScore 6.50
 G_M15407_IG03:        ; bbWeight=1, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, byref, isz
-            ldapr   w14, [x4]
-            ldr     w15, [x2, #0x18]
-            and     w15, w14, w15
-            ldr     w12, [x3, #0x08]
-            cmp     w15, w12
+            ldapr   w5, [x4]
+            ldr     w6, [x2, #0x18]
+            and     w6, w5, w6
+            ldr     w7, [x3, #0x08]
+            cmp     w6, w7
             bhs     G_M15407_IG10
-            ubfiz   x15, x15, #4, #32
-            add     x15, x15, #16
-            add     x12, x3, x15
-            ; byrRegs +[x12]
-            add     x5, x12, #8
-            ; byrRegs +[x5]
-            ldapr   w15, [x5]
-            sub     w6, w15, w14
-            cbnz    w6, G_M15407_IG07
-                       ;; size=52 bbWeight=1 PerfScore 18.00
-G_M15407_IG04:        ; bbWeight=0.50, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=1030 {x4 x5 x12}, byref, isz
-            add     w6, w14, #1
-            mov     w15, w14
-            casal   w15, w6, [x4]
-            cmp     w15, w14
-            bne     G_M15407_IG03
-                       ;; size=20 bbWeight=0.50 PerfScore 2.75
-G_M15407_IG05:        ; bbWeight=1.00, gcrefRegs=0002 {x1}, byrefRegs=1020 {x5 x12}, byref
-            ; gcrRegs -[x0 x2-x3]
-            ; byrRegs -[x4]
-            mov     x14, x12
+            ubfiz   x6, x6, #4, #32
+            add     x6, x6, #16
+            add     x14, x3, x6
             ; byrRegs +[x14]
-            mov     x15, x1
-            ; gcrRegs +[x15]
-            bl      CORINFO_HELP_CHECKED_ASSIGN_REF
-            ; gcrRegs -[x1 x15]
-            ; byrRegs -[x12 x14]
-            stlr    w6, [x5]
-                       ;; size=16 bbWeight=1.00 PerfScore 3.00
-G_M15407_IG06:        ; bbWeight=1.00, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=1.00 PerfScore 2.00
-G_M15407_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, gcvars, byref, isz
-            ; gcrRegs +[x0-x3]
-            ; byrRegs -[x5] +[x4]
+            add     x19, x14, #8
+            ; byrRegs +[x19]
+            ldapr   w6, [x19]
+            sub     w6, w6, w5
+            cbnz    w6, G_M15407_IG05
+                       ;; size=52 bbWeight=1 PerfScore 18.00
+G_M15407_IG04:        ; bbWeight=0.50, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=84010 {x4 x14 x19}, byref, isz
+            add     w20, w5, #1
+            mov     w6, w5
+            casal   w6, w20, [x4]
+            cmp     w6, w5
+            bne     G_M15407_IG03
+            b       G_M15407_IG08
+                       ;; size=24 bbWeight=0.50 PerfScore 3.25
+G_M15407_IG05:        ; bbWeight=0.50, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, byref, isz
+            ; byrRegs -[x14 x19]
             tbz     w6, #31, G_M15407_IG03
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M15407_IG08:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
+G_M15407_IG06:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x2-x3]
             ; byrRegs -[x4]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
@@ -92,30 +77,46 @@ G_M15407_IG08:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, b
             movk    x2, #1 LSL #32
             ldr     x2, [x2]
                        ;; size=16 bbWeight=1 PerfScore 4.50
-G_M15407_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M15407_IG07:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             br      x2
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=1 PerfScore 2.00
+                       ;; size=12 bbWeight=1 PerfScore 3.00
+G_M15407_IG08:        ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=84000 {x14 x19}, gcvars, byref
+            ; gcrRegs -[x0]
+            ; byrRegs +[x14 x19]
+            mov     x15, x1
+            ; gcrRegs +[x15]
+            bl      CORINFO_HELP_CHECKED_ASSIGN_REF
+            ; gcrRegs -[x1 x15]
+            ; byrRegs -[x14]
+            stlr    w20, [x19]
+                       ;; size=12 bbWeight=1.00 PerfScore 2.50
+G_M15407_IG09:        ; bbWeight=1.00, epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
+            ret     lr
+                       ;; size=12 bbWeight=1.00 PerfScore 3.00
 G_M15407_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0-x1]
+            ; byrRegs -[x19]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 152, prolog size 8, PerfScore 40.75, instruction count 38, allocated bytes for code 152 (MethodHash=96c6c3d0) for method System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
+; Total bytes of code 164, prolog size 12, PerfScore 43.75, instruction count 41, allocated bytes for code 164 (MethodHash=96c6c3d0) for method System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 38 (0x00026) Actual length = 152 (0x000098)
+  Function Length   : 41 (0x00029) Actual length = 164 (0x0000a4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -126,7 +127,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]!
+    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
     E4          end
     E4          end
 
  
+12 (+7.89%) : 376780.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Canon]:Enqueue(System.Canon):this (Tier1)
@@ -15,21 +15,22 @@
 ;* V03 tmp1         [V03,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]>
 ;  V05 tmp3         [V05,T04] (  3,  3   )     ref  ->   x3         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T03] (  6,  4.50)     int  ->  x14         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T05] (  3,  3   )     int  ->  x15         "Inline stloc first use temp"
+;  V06 tmp4         [V06,T03] (  6,  4.50)     int  ->   x5         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T05] (  3,  3   )     int  ->   x6         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V09 tmp7         [V09,T09] (  3,  2.50)     int  ->   x6         "Inline stloc first use temp"
-;  V10 cse0         [V10,T06] (  3,  3.00)   byref  ->   x5         "CSE - aggressive"
-;  V11 cse1         [V11,T07] (  3,  3.00)   byref  ->  x12         "CSE - aggressive"
+;  V10 cse0         [V10,T06] (  3,  3.00)   byref  ->  x19         "CSE - aggressive"
+;  V11 cse1         [V11,T07] (  3,  3.00)   byref  ->  x14         "CSE - aggressive"
 ;  V12 cse2         [V12,T08] (  3,  2.50)   byref  ->   x4         hoist "CSE - aggressive"
-;  V13 cse3         [V13,T10] (  3,  2.00)     int  ->   x6         "CSE - moderate"
+;  V13 cse3         [V13,T10] (  3,  2.00)     int  ->  x20         "CSE - moderate"
 ;
 ; Lcl frame size = 0
 
 G_M15407_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-                      ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=12 bbWeight=1 PerfScore 2.50
 G_M15407_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0-x1]
             ldapur  x2, [x0, #0x10]
@@ -40,51 +41,35 @@ G_M15407_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, b
             ; byrRegs +[x4]
                        ;; size=12 bbWeight=1 PerfScore 6.50
 G_M15407_IG03:        ; bbWeight=1, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, byref, isz
-            ldapr   w14, [x4]
-            ldr     w15, [x2, #0x18]
-            and     w15, w14, w15
-            ldr     w12, [x3, #0x08]
-            cmp     w15, w12
+            ldapr   w5, [x4]
+            ldr     w6, [x2, #0x18]
+            and     w6, w5, w6
+            ldr     w7, [x3, #0x08]
+            cmp     w6, w7
             bhs     G_M15407_IG10
-            ubfiz   x15, x15, #4, #32
-            add     x15, x15, #16
-            add     x12, x3, x15
-            ; byrRegs +[x12]
-            add     x5, x12, #8
-            ; byrRegs +[x5]
-            ldapr   w15, [x5]
-            sub     w6, w15, w14
-            cbnz    w6, G_M15407_IG07
-                       ;; size=52 bbWeight=1 PerfScore 18.00
-G_M15407_IG04:        ; bbWeight=0.50, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=1030 {x4 x5 x12}, byref, isz
-            add     w6, w14, #1
-            mov     w15, w14
-            casal   w15, w6, [x4]
-            cmp     w15, w14
-            bne     G_M15407_IG03
-                       ;; size=20 bbWeight=0.50 PerfScore 2.75
-G_M15407_IG05:        ; bbWeight=1.00, gcrefRegs=0002 {x1}, byrefRegs=1020 {x5 x12}, byref
-            ; gcrRegs -[x0 x2-x3]
-            ; byrRegs -[x4]
-            mov     x14, x12
+            ubfiz   x6, x6, #4, #32
+            add     x6, x6, #16
+            add     x14, x3, x6
             ; byrRegs +[x14]
-            mov     x15, x1
-            ; gcrRegs +[x15]
-            bl      CORINFO_HELP_CHECKED_ASSIGN_REF
-            ; gcrRegs -[x1 x15]
-            ; byrRegs -[x12 x14]
-            stlr    w6, [x5]
-                       ;; size=16 bbWeight=1.00 PerfScore 3.00
-G_M15407_IG06:        ; bbWeight=1.00, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=1.00 PerfScore 2.00
-G_M15407_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, gcvars, byref, isz
-            ; gcrRegs +[x0-x3]
-            ; byrRegs -[x5] +[x4]
+            add     x19, x14, #8
+            ; byrRegs +[x19]
+            ldapr   w6, [x19]
+            sub     w6, w6, w5
+            cbnz    w6, G_M15407_IG05
+                       ;; size=52 bbWeight=1 PerfScore 18.00
+G_M15407_IG04:        ; bbWeight=0.50, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=84010 {x4 x14 x19}, byref, isz
+            add     w20, w5, #1
+            mov     w6, w5
+            casal   w6, w20, [x4]
+            cmp     w6, w5
+            bne     G_M15407_IG03
+            b       G_M15407_IG08
+                       ;; size=24 bbWeight=0.50 PerfScore 3.25
+G_M15407_IG05:        ; bbWeight=0.50, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, byref, isz
+            ; byrRegs -[x14 x19]
             tbz     w6, #31, G_M15407_IG03
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M15407_IG08:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
+G_M15407_IG06:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x2-x3]
             ; byrRegs -[x4]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
@@ -92,30 +77,46 @@ G_M15407_IG08:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, b
             movk    x2, #1 LSL #32
             ldr     x2, [x2]
                        ;; size=16 bbWeight=1 PerfScore 4.50
-G_M15407_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M15407_IG07:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             br      x2
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=1 PerfScore 2.00
+                       ;; size=12 bbWeight=1 PerfScore 3.00
+G_M15407_IG08:        ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=84000 {x14 x19}, gcvars, byref
+            ; gcrRegs -[x0]
+            ; byrRegs +[x14 x19]
+            mov     x15, x1
+            ; gcrRegs +[x15]
+            bl      CORINFO_HELP_CHECKED_ASSIGN_REF
+            ; gcrRegs -[x1 x15]
+            ; byrRegs -[x14]
+            stlr    w20, [x19]
+                       ;; size=12 bbWeight=1.00 PerfScore 2.50
+G_M15407_IG09:        ; bbWeight=1.00, epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
+            ret     lr
+                       ;; size=12 bbWeight=1.00 PerfScore 3.00
 G_M15407_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0-x1]
+            ; byrRegs -[x19]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 152, prolog size 8, PerfScore 40.75, instruction count 38, allocated bytes for code 152 (MethodHash=96c6c3d0) for method System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
+; Total bytes of code 164, prolog size 12, PerfScore 43.75, instruction count 41, allocated bytes for code 164 (MethodHash=96c6c3d0) for method System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 38 (0x00026) Actual length = 152 (0x000098)
+  Function Length   : 41 (0x00029) Actual length = 164 (0x0000a4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -126,7 +127,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]!
+    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
     E4          end
     E4          end
 
  
+44 (+8.94%) : 284056.dasm - RetBufferBug:Main():int (Tier1-OSR)
@@ -11,9 +11,9 @@
 ; Final local variable assignments
 ;
 ;  V00 loc0         [V00,T10] ( 10,  0   )     int  ->  x19        
-;  V01 loc1         [V01,T09] (  5, 87.50)     int  ->   x7        
-;  V02 loc2         [V02,T07] (  6, 87.51)     int  ->   x5        
-;  V03 loc3         [V03,T08] (  6, 87.51)     int  ->   x6        
+;  V01 loc1         [V01,T09] (  5, 87.53)     int  ->   x7        
+;  V02 loc2         [V02,T07] (  6, 87.54)     int  ->   x5        
+;  V03 loc3         [V03,T08] (  6, 87.54)     int  ->   x6        
 ;  V04 loc4         [V04,T06] (  6, 87.67)     int  ->   x4        
 ;  V05 loc5         [V05,T05] (  6, 88.68)     int  ->   x3        
 ;  V06 loc6         [V06,T04] (  6, 94.93)     int  ->   x2        
@@ -32,7 +32,7 @@
 ;
 ; Lcl frame size = 8
 
-G_M48272_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+G_M48272_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x20]!
             str     x19, [sp, #0x18]
             mov     fp, sp
@@ -46,123 +46,153 @@ G_M48272_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x8, #0xD1FFAB1E
             movk    x8, #0xD1FFAB1E LSL #16
             movk    x8, #1 LSL #32
-            b       G_M48272_IG10
+            b       G_M48272_IG19
                        ;; size=16 bbWeight=1 PerfScore 2.50
 G_M48272_IG03:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             str     w7, [x8, #-0x1C]
             mov     w5, wzr
-                      ;; size=8 bbWeight=0.01 PerfScore 0.02
-G_M48272_IG04:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG05
+                       ;; size=12 bbWeight=0.01 PerfScore 0.03
+G_M48272_IG04:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w7, w7, #1
+            cmp     w7, #7
+            bge     G_M48272_IG33
+            b       G_M48272_IG03
+                       ;; size=16 bbWeight=0.01 PerfScore 0.03
+G_M48272_IG05:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             str     w5, [x8, #-0x18]
             mov     w6, wzr
-                      ;; size=8 bbWeight=0.01 PerfScore 0.02
-G_M48272_IG05:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG07
+                       ;; size=12 bbWeight=0.01 PerfScore 0.03
+G_M48272_IG06:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w5, w5, #1
+            cmp     w5, #7
+            blt     G_M48272_IG05
+            b       G_M48272_IG04
+                       ;; size=16 bbWeight=0.01 PerfScore 0.03
+G_M48272_IG07:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             str     w6, [x8, #-0x14]
             mov     w4, wzr
-                      ;; size=8 bbWeight=0.01 PerfScore 0.02
-G_M48272_IG06:        ; bbWeight=0.04, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG09
+                       ;; size=12 bbWeight=0.01 PerfScore 0.03
+G_M48272_IG08:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w6, w6, #1
+            cmp     w6, #7
+            blt     G_M48272_IG07
+            b       G_M48272_IG06
+                       ;; size=16 bbWeight=0.01 PerfScore 0.03
+G_M48272_IG09:        ; bbWeight=0.04, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             str     w4, [x8, #-0x10]
             mov     w3, wzr
-                      ;; size=8 bbWeight=0.04 PerfScore 0.06
-G_M48272_IG07:        ; bbWeight=0.27, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG12
+                       ;; size=12 bbWeight=0.04 PerfScore 0.11
+G_M48272_IG10:        ; bbWeight=0.04, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w4, w4, #1
+            cmp     w4, #7
+            blt     G_M48272_IG09
+                       ;; size=12 bbWeight=0.04 PerfScore 0.08
+G_M48272_IG11:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG08
+                       ;; size=4 bbWeight=0.01 PerfScore 0.01
+G_M48272_IG12:        ; bbWeight=0.27, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             str     w3, [x8, #-0x0C]
             mov     w2, wzr
-                      ;; size=8 bbWeight=0.27 PerfScore 0.40
-G_M48272_IG08:        ; bbWeight=1.79, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG15
+                       ;; size=12 bbWeight=0.27 PerfScore 0.66
+G_M48272_IG13:        ; bbWeight=0.30, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w3, w3, #1
+            cmp     w3, #7
+            blt     G_M48272_IG12
+                       ;; size=12 bbWeight=0.30 PerfScore 0.59
+G_M48272_IG14:        ; bbWeight=0.04, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG10
+                       ;; size=4 bbWeight=0.04 PerfScore 0.04
+G_M48272_IG15:        ; bbWeight=1.79, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             str     w2, [x8, #-0x08]
             mov     w1, wzr
-                      ;; size=8 bbWeight=1.79 PerfScore 2.69
-G_M48272_IG09:        ; bbWeight=12.51, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG18
+                       ;; size=12 bbWeight=1.79 PerfScore 4.48
+G_M48272_IG16:        ; bbWeight=1.79, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w2, w2, #1
+            cmp     w2, #7
+            blt     G_M48272_IG15
+                       ;; size=12 bbWeight=1.79 PerfScore 3.59
+G_M48272_IG17:        ; bbWeight=0.30, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG13
+                       ;; size=4 bbWeight=0.30 PerfScore 0.30
+G_M48272_IG18:        ; bbWeight=12.51, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             str     w1, [x8, #-0x04]
             mov     w0, wzr
                        ;; size=8 bbWeight=12.51 PerfScore 18.77
-G_M48272_IG10:        ; bbWeight=12.51, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M48272_IG19:        ; bbWeight=12.51, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             cmp     w0, #7
-            bge     G_M48272_IG13
+            bge     G_M48272_IG22
                         ;; size=8 bbWeight=12.51 PerfScore 18.77
-G_M48272_IG11:        ; bbWeight=10.95, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M48272_IG20:        ; bbWeight=10.95, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     w9, [x8, #-0x1C]
                        ;; size=4 bbWeight=10.95 PerfScore 32.85
-G_M48272_IG12:        ; bbWeight=87.49, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M48272_IG21:        ; bbWeight=87.49, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             str     w0, [x8]
             cmp     w9, w7
-            bne     G_M48272_IG18
+            bne     G_M48272_IG24
             ldr     w10, [x8, #-0x18]
             cmp     w10, w5
-            bne     G_M48272_IG19
+            bne     G_M48272_IG25
             ldr     w10, [x8, #-0x14]
             cmp     w10, w6
-            bne     G_M48272_IG20
+            bne     G_M48272_IG26
             ldr     w10, [x8, #-0x10]
             cmp     w10, w4
-            bne     G_M48272_IG21
+            bne     G_M48272_IG27
             ldr     w10, [x8, #-0x0C]
             cmp     w10, w3
-            bne     G_M48272_IG22
+            bne     G_M48272_IG28
             ldr     w10, [x8, #-0x08]
             cmp     w10, w2
-            bne     G_M48272_IG23
+            bne     G_M48272_IG29
             ldr     w10, [x8, #-0x04]
             cmp     w10, w1
-            bne     G_M48272_IG24
+            bne     G_M48272_IG30
             add     w0, w0, #1
             cmp     w0, #7
-            blt     G_M48272_IG12
+            blt     G_M48272_IG21
                        ;; size=96 bbWeight=87.49 PerfScore 2755.79
-G_M48272_IG13:        ; bbWeight=12.51, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M48272_IG22:        ; bbWeight=12.51, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             add     w1, w1, #1
             cmp     w1, #7
-            blt     G_M48272_IG09
+            blt     G_M48272_IG18
                        ;; size=12 bbWeight=12.51 PerfScore 25.03
-G_M48272_IG14:        ; bbWeight=1.79, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            add     w2, w2, #1
-            cmp     w2, #7
-            blt     G_M48272_IG08
-                       ;; size=12 bbWeight=1.79 PerfScore 3.59
-G_M48272_IG15:        ; bbWeight=0.30, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            add     w3, w3, #1
-            cmp     w3, #7
-            blt     G_M48272_IG07
-                       ;; size=12 bbWeight=0.30 PerfScore 0.59
-G_M48272_IG16:        ; bbWeight=0.04, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            add     w4, w4, #1
-            cmp     w4, #7
-            blt     G_M48272_IG06
-                       ;; size=12 bbWeight=0.04 PerfScore 0.08
-G_M48272_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            add     w6, w6, #1
-            cmp     w6, #7
-            blt     G_M48272_IG05
-            b       G_M48272_IG29
-                       ;; size=16 bbWeight=0 PerfScore 0.00
-G_M48272_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w19, #99
-            b       G_M48272_IG25
-                       ;; size=8 bbWeight=0 PerfScore 0.00
-G_M48272_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w19, #98
-            b       G_M48272_IG25
-                       ;; size=8 bbWeight=0 PerfScore 0.00
-G_M48272_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w19, #97
-            b       G_M48272_IG25
-                       ;; size=8 bbWeight=0 PerfScore 0.00
-G_M48272_IG21:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w19, #96
-            b       G_M48272_IG25
-                       ;; size=8 bbWeight=0 PerfScore 0.00
-G_M48272_IG22:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w19, #95
-            b       G_M48272_IG25
-                       ;; size=8 bbWeight=0 PerfScore 0.00
-G_M48272_IG23:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w19, #94
-            b       G_M48272_IG25
-                       ;; size=8 bbWeight=0 PerfScore 0.00
+G_M48272_IG23:        ; bbWeight=1.79, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG16
+                       ;; size=4 bbWeight=1.79 PerfScore 1.79
 G_M48272_IG24:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w19, #99
+            b       G_M48272_IG31
+                       ;; size=8 bbWeight=0 PerfScore 0.00
+G_M48272_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w19, #98
+            b       G_M48272_IG31
+                       ;; size=8 bbWeight=0 PerfScore 0.00
+G_M48272_IG26:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w19, #97
+            b       G_M48272_IG31
+                       ;; size=8 bbWeight=0 PerfScore 0.00
+G_M48272_IG27:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w19, #96
+            b       G_M48272_IG31
+                       ;; size=8 bbWeight=0 PerfScore 0.00
+G_M48272_IG28:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w19, #95
+            b       G_M48272_IG31
+                       ;; size=8 bbWeight=0 PerfScore 0.00
+G_M48272_IG29:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w19, #94
+            b       G_M48272_IG31
+                       ;; size=8 bbWeight=0 PerfScore 0.00
+G_M48272_IG30:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w19, #93
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M48272_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M48272_IG31:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -185,18 +215,15 @@ G_M48272_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
...
  
  
libraries.crossgen2.osx.arm64.checked.mch
-4 (-0.19%) : 220.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
@@ -17,11 +17,11 @@
 ;  V05 loc0         [V05,T01] ( 39, 73.12)     int  ->  x24        
 ;  V06 loc1         [V06,T03] (  6, 67.36)     int  ->  [fp+0x6C] 
 ;  V07 loc2         [V07,T46] (  6,  4.08)     ref  ->  x23         class-hnd exact single-def <System.Type[]>
-;  V08 loc3         [V08,T41] (  7,  7.54)     ref  ->  x21         class-hnd single-def <System.Reflection.MethodBase[]>
+;  V08 loc3         [V08,T41] (  7,  7.54)     ref  ->  x22         class-hnd single-def <System.Reflection.MethodBase[]>
 ;  V09 loc4         [V09,T32] ( 10, 12   )     int  ->  registers  
-;  V10 loc5         [V10,T33] (  9, 11.50)     int  ->  x20        
-;  V11 loc6         [V11,T44] (  6,  5   )   ubyte  ->  x26        
-;  V12 loc7         [V12,T36] (  9,  9.58)     ref  ->  x27         class-hnd exact single-def <int[]>
+;  V10 loc5         [V10,T33] (  9, 11.50)     int  ->  x27        
+;  V11 loc6         [V11,T44] (  6,  5   )   ubyte  ->  x20        
+;  V12 loc7         [V12,T36] (  9,  9.58)     ref  ->  x26         class-hnd exact single-def <int[]>
 ;  V13 loc8         [V13,T48] (  3,  1   )     ref  ->   x0         class-hnd single-def <System.Reflection.MethodBase>
 ;  V14 loc9         [V14,T23] (  3, 23.84)     ref  ->  x27         class-hnd <System.Reflection.ParameterInfo[]>
 ;  V15 loc10        [V15,T07] (  5, 47.52)     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Type>
@@ -35,7 +35,7 @@
 ;  V23 tmp4         [V23,T52] (  3,  0   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V24 tmp5         [V24,T54] (  2,  0   )     ref  ->  x19         class-hnd single-def "finalizable newobj spill" <<unknown class>>
 ;* V25 tmp6         [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "non-inline candidate call" <System.Type>
-;  V26 tmp7         [V26,T29] (  4, 16   )     int  ->  x22         "impSpillLclRefs"
+;  V26 tmp7         [V26,T29] (  4, 16   )     int  ->  x21         "impSpillLclRefs"
 ;  V27 tmp8         [V27,T39] (  2,  8   )     ref  ->  x15         class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.MethodBase>
 ;* V28 tmp9         [V28,T47] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V29 tmp10        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
@@ -67,10 +67,10 @@
 ;* V55 cse4         [V55,T49] (  0,  0   )    long  ->  zero-ref    "CSE - conservative"
 ;  V56 cse5         [V56,T50] (  5,  0.18)    long  ->  x28         "CSE - conservative"
 ;  V57 cse6         [V57,T11] ( 15, 35.92)     int  ->  x25         multi-def "CSE - aggressive"
-;  V58 cse7         [V58,T19] ( 13, 29.46)   byref  ->  x28         hoist multi-def "CSE - moderate"
+;  V58 cse7         [V58,T19] ( 13, 29.46)   byref  ->  x23         hoist multi-def "CSE - moderate"
 ;  V59 cse8         [V59,T06] ( 11, 50.64)   byref  ->  [fp+0x18]  hoist multi-def "CSE - aggressive"
 ;  V60 cse9         [V60,T09] (  3, 47.52)   byref  ->  [fp+0x10]  spill-single-def multi-def "CSE - aggressive"
-;  V61 cse10        [V61,T31] ( 10, 13.54)     int  ->  x23         "CSE - moderate"
+;  V61 cse10        [V61,T31] ( 10, 13.54)     int  ->  x28         "CSE - moderate"
 ;  V62 cse11        [V62,T37] (  6,  8   )     int  ->  x22         "CSE - moderate"
 ;  V63 cse12        [V63,T45] (  4,  4.54)   byref  ->   x0         hoist multi-def "CSE - conservative"
 ;  V64 cse13        [V64,T43] (  4,  5.04)   byref  ->  x25         hoist multi-def "CSE - moderate"
@@ -301,20 +301,20 @@ G_M46704_IG12:        ; bbWeight=1, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=00
             blr     x1
             ; gcrRegs -[x21 x23]
             ; gcr arg pop 0
-            mov     x21, x0
-            ; gcrRegs +[x21]
-            mov     w22, wzr
+            mov     x22, x0
+            ; gcrRegs +[x22]
+            mov     w21, wzr
             mov     w24, wzr
-            ldr     w23, [x21, #0x08]
-            cmp     w23, #0
+            ldr     w28, [x22, #0x08]
+            cmp     w28, #0
             ble     G_M46704_IG28
                        ;; size=60 bbWeight=1 PerfScore 17.00
-G_M46704_IG13:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG13:        ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
-            add     x28, x21, #16
-            ; byrRegs +[x28]
+            add     x23, x22, #16
+            ; byrRegs +[x23]
             ubfiz   x26, x24, #3, #32
-            ldr     x0, [x28, x26]
+            ldr     x0, [x23, x26]
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
@@ -329,12 +329,12 @@ G_M46704_IG13:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
             cmp     w0, w25
             bne     G_M46704_IG27
                        ;; size=48 bbWeight=4 PerfScore 70.00
-G_M46704_IG14:        ; bbWeight=2, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG14:        ; bbWeight=2, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
             mov     w1, wzr
             cmp     w25, #0
             ble     G_M46704_IG17
                        ;; size=12 bbWeight=2 PerfScore 4.00
-G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
             add     x2, x27, #16
             ; byrRegs +[x2]
             str     x2, [fp, #0x10]    // [V60 cse9]
@@ -386,7 +386,7 @@ G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=8380000 {x19 x20 x21 x27}, byr
             ; gcr arg pop 0
             cbz     w0, G_M46704_IG18
                        ;; size=120 bbWeight=15.84 PerfScore 657.36
-G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref
+G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref
             ldr     x0, [fp, #0x28]  // [V36 tmp17]
             ; gcrRegs +[x0]
             ldr     x11, [fp, #0x48]   // [V66 cse15]
@@ -407,13 +407,13 @@ G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byre
             ; gcr arg pop 0
             b       G_M46704_IG19
                        ;; size=48 bbWeight=7.92 PerfScore 154.44
-G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, gcvars, byref
+G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, gcvars, byref
             ; gcrRegs -[x27]
             ; GC ptr vars -{V15 V59}
             str     w1, [fp, #0x6C]    // [V06 loc1]
             b       G_M46704_IG26
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M46704_IG18:        ; bbWeight=7.92, gcVars=00000000000000E1 {V15 V35 V36 V59}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+G_M46704_IG18:        ; bbWeight=7.92, gcVars=00000000000000E1 {V15 V35 V36 V59}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs +[x27]
             ; GC ptr vars +{V00 V05 V06 V07 V15 V35 V36 V59}
             ldr     x0, [fp, #0x28]    // [V36 tmp17]
@@ -430,12 +430,12 @@ G_M46704_IG18:        ; bbWeight=7.92, gcVars=00000000000000E1 {V15 V35 V36 V59}
             beq     G_M46704_IG24
             b       G_M46704_IG20
                        ;; size=36 bbWeight=7.92 PerfScore 122.76
-G_M46704_IG19:        ; bbWeight=7.92, gcVars=00000000000000C0 {V15 V59}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+G_M46704_IG19:        ; bbWeight=7.92, gcVars=00000000000000C0 {V15 V59}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs -[x0-x1]
             ; GC ptr vars -{V35}
             cbnz    w0, G_M46704_IG24
                        ;; size=4 bbWeight=7.92 PerfScore 7.92
-G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // const ptr
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x1]
@@ -474,7 +474,7 @@ G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byre
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
             cbz     w0, G_M46704_IG21
-            ldr     x0, [x28, x26]
+            ldr     x0, [x23, x26]
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
@@ -503,7 +503,7 @@ G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byre
             ; GC ptr vars +{V16}
             cbz     x1, G_M46704_IG26
                        ;; size=172 bbWeight=7.92 PerfScore 463.32
-G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000090 {V15 V16}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000090 {V15 V16}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs -[x0-x1]
             ldr     x0, [fp, #0x40]    // [V15 loc10]
             ; gcrRegs +[x0]
@@ -583,11 +583,11 @@ G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000090 {V15 V16}, gcrefR
             ; gcr arg pop 0
             cbnz    w0, G_M46704_IG24
                        ;; size=216 bbWeight=7.92 PerfScore 621.72
-G_M46704_IG22:        ; bbWeight=8, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, byref
+G_M46704_IG22:        ; bbWeight=2, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, byref
             ; gcrRegs -[x27]
             b       G_M46704_IG26
-                        ;; size=4 bbWeight=8 PerfScore 8.00
-G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000090 {V15 V16}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+                      ;; size=4 bbWeight=2 PerfScore 2.00
+G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000090 {V15 V16}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs +[x27]
             ; GC ptr vars +{V07 V15 V16}
             ldp     x1, x0, [fp, #0x38]    // [V16 loc11], [V15 loc10]
@@ -601,48 +601,47 @@ G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000090 {V15 V16}, gcrefR
             ; gcr arg pop 0
             cbz     w0, G_M46704_IG26
                        ;; size=24 bbWeight=7.92 PerfScore 71.28
-G_M46704_IG24:        ; bbWeight=15.84, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
-            ldr     w14, [fp, #0x6C]   // [V06 loc1]
-            add     w14, w14, #1
-            cmp     w25, w14
-            mov     w1, w14
+G_M46704_IG24:        ; bbWeight=15.84, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
+            ldr     w1, [fp, #0x6C]    // [V06 loc1]
+            add     w1, w1, #1
+            cmp     w25, w1
             bgt     G_M46704_IG15
-                     ;; size=20 bbWeight=15.84 PerfScore 71.28
-G_M46704_IG25:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, byref
+                      ;; size=16 bbWeight=15.84 PerfScore 63.36
+G_M46704_IG25:        ; bbWeight=2, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, byref
             ; gcrRegs -[x27]
             str     w1, [fp, #0x6C]    // [V06 loc1]
                        ;; size=4 bbWeight=2 PerfScore 2.00
-G_M46704_IG26:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG26:        ; bbWeight=2, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, byref, isz
             ldr     w1, [fp, #0x6C]    // [V06 loc1]
             cmp     w25, w1
             bne     G_M46704_IG27
-            add     w14, w22, #1
+            add     w14, w21, #1
             sxtw    w27, w14
-            ldr     x15, [x28, x26]
+            ldr     x15, [x23, x26]
             ; gcrRegs +[x15]
-            cmp     w22, w23
+            cmp     w21, w28
             bhs     G_M46704_IG49
-            add     x14, x28, x22,  LSL #3
+            add     x14, x23, x21,  LSL #3
             ; byrRegs +[x14]
             adrp    x12, [HIGH RELOC #0xD1FFAB1E]      // CORINFO_HELP_CHECKED_ASSIGN_REF
             add     x12, x12, [LOW RELOC #0xD1FFAB1E]
             ldr     x12, [x12]
             blr     x12
             ; gcrRegs -[x15]
-            ; byrRegs -[x14 x28]
-            mov     w22, w27
+            ; byrRegs -[x14 x23]
+            mov     w21, w27
                        ;; size=56 bbWeight=2 PerfScore 31.00
-G_M46704_IG27:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG27:        ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
-            cmp     w23, w24
+            cmp     w28, w24
             bgt     G_M46704_IG13
                        ;; size=12 bbWeight=4 PerfScore 8.00
-G_M46704_IG28:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG28:        ; bbWeight=1, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x20]
-            cbnz    w22, G_M46704_IG31
+            cbnz    w21, G_M46704_IG31
                       ;; size=4 bbWeight=1 PerfScore 1.00
 G_M46704_IG29:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x19 x21]
+            ; gcrRegs -[x19 x22]
             mov     x0, xzr
             ; gcrRegs +[x0]
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
@@ -655,13 +654,13 @@ G_M46704_IG30:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0xC0
             ret     lr
                        ;; size=28 bbWeight=0.50 PerfScore 3.50
-G_M46704_IG31:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs -[x0] +[x19 x21]
-            cmp     w22, #1
+G_M46704_IG31:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs -[x0] +[x19 x22]
+            cmp     w21, #1
             bne     G_M46704_IG33
-            cmp     w23, #0
+            cmp     w28, #0
             bls     G_M46704_IG49
-            ldr     x0, [x21, #0x10]
+            ldr     x0, [x22, #0x10]
             ; gcrRegs +[x0]
                        ;; size=20 bbWeight=0.50 PerfScore 3.00
 G_M46704_IG32:        ; bbWeight=0.50, epilog, nogc, extend
@@ -673,10 +672,10 @@ G_M46704_IG32:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0xC0
             ret     lr
                        ;; size=28 bbWeight=0.50 PerfScore 3.50
-G_M46704_IG33:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG33:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
+            mov     w27, wzr
...
  
-4 (-0.19%) : 302.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
@@ -17,11 +17,11 @@
 ;  V05 loc0         [V05,T01] ( 39, 73.12)     int  ->  x24        
 ;  V06 loc1         [V06,T03] (  6, 67.36)     int  ->  [fp+0x6C] 
 ;  V07 loc2         [V07,T46] (  6,  4.08)     ref  ->  x23         class-hnd exact single-def <System.Type[]>
-;  V08 loc3         [V08,T41] (  7,  7.54)     ref  ->  x21         class-hnd single-def <System.Reflection.MethodBase[]>
+;  V08 loc3         [V08,T41] (  7,  7.54)     ref  ->  x22         class-hnd single-def <System.Reflection.MethodBase[]>
 ;  V09 loc4         [V09,T32] ( 10, 12   )     int  ->  registers  
-;  V10 loc5         [V10,T33] (  9, 11.50)     int  ->  x20        
-;  V11 loc6         [V11,T44] (  6,  5   )   ubyte  ->  x26        
-;  V12 loc7         [V12,T36] (  9,  9.58)     ref  ->  x27         class-hnd exact single-def <int[]>
+;  V10 loc5         [V10,T33] (  9, 11.50)     int  ->  x27        
+;  V11 loc6         [V11,T44] (  6,  5   )   ubyte  ->  x20        
+;  V12 loc7         [V12,T36] (  9,  9.58)     ref  ->  x26         class-hnd exact single-def <int[]>
 ;  V13 loc8         [V13,T23] (  3, 23.84)     ref  ->  x27         class-hnd <System.Reflection.ParameterInfo[]>
 ;  V14 loc9         [V14,T07] (  5, 47.52)     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Type>
 ;  V15 loc10        [V15,T04] (  8, 63.36)     ref  ->  [fp+0x38]  class-hnd <System.Type>
@@ -34,7 +34,7 @@
 ;  V22 tmp4         [V22,T51] (  3,  0   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V23 tmp5         [V23,T54] (  2,  0   )     ref  ->  x19         class-hnd single-def "finalizable newobj spill" <<unknown class>>
 ;* V24 tmp6         [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "non-inline candidate call" <System.Type>
-;  V25 tmp7         [V25,T29] (  4, 16   )     int  ->  x22         "impSpillLclRefs"
+;  V25 tmp7         [V25,T29] (  4, 16   )     int  ->  x21         "impSpillLclRefs"
 ;  V26 tmp8         [V26,T39] (  2,  8   )     ref  ->  x15         class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.MethodBase>
 ;  V27 tmp9         [V27,T52] (  3,  0   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V28 tmp10        [V28,T55] (  2,  0   )     ref  ->  x19         class-hnd single-def "finalizable newobj spill" <<unknown class>>
@@ -68,10 +68,10 @@
 ;* V56 cse4         [V56,T48] (  0,  0   )    long  ->  zero-ref    "CSE - conservative"
 ;  V57 cse5         [V57,T49] (  5,  0.18)    long  ->  x28         "CSE - conservative"
 ;  V58 cse6         [V58,T11] ( 15, 35.92)     int  ->  x25         multi-def "CSE - aggressive"
-;  V59 cse7         [V59,T19] ( 13, 29.46)   byref  ->  x28         hoist multi-def "CSE - moderate"
+;  V59 cse7         [V59,T19] ( 13, 29.46)   byref  ->  x23         hoist multi-def "CSE - moderate"
 ;  V60 cse8         [V60,T06] ( 11, 50.64)   byref  ->  [fp+0x18]  hoist multi-def "CSE - aggressive"
 ;  V61 cse9         [V61,T09] (  3, 47.52)   byref  ->  [fp+0x10]  spill-single-def multi-def "CSE - aggressive"
-;  V62 cse10        [V62,T31] ( 10, 13.54)     int  ->  x23         "CSE - moderate"
+;  V62 cse10        [V62,T31] ( 10, 13.54)     int  ->  x28         "CSE - moderate"
 ;  V63 cse11        [V63,T37] (  6,  8   )     int  ->  x22         "CSE - moderate"
 ;  V64 cse12        [V64,T45] (  4,  4.54)   byref  ->   x0         hoist multi-def "CSE - conservative"
 ;  V65 cse13        [V65,T43] (  4,  5.04)   byref  ->  x25         hoist multi-def "CSE - moderate"
@@ -302,20 +302,20 @@ G_M46704_IG12:        ; bbWeight=1, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=00
             blr     x1
             ; gcrRegs -[x21 x23]
             ; gcr arg pop 0
-            mov     x21, x0
-            ; gcrRegs +[x21]
-            mov     w22, wzr
+            mov     x22, x0
+            ; gcrRegs +[x22]
+            mov     w21, wzr
             mov     w24, wzr
-            ldr     w23, [x21, #0x08]
-            cmp     w23, #0
+            ldr     w28, [x22, #0x08]
+            cmp     w28, #0
             ble     G_M46704_IG28
                        ;; size=60 bbWeight=1 PerfScore 17.00
-G_M46704_IG13:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG13:        ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
-            add     x28, x21, #16
-            ; byrRegs +[x28]
+            add     x23, x22, #16
+            ; byrRegs +[x23]
             ubfiz   x26, x24, #3, #32
-            ldr     x0, [x28, x26]
+            ldr     x0, [x23, x26]
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
@@ -330,12 +330,12 @@ G_M46704_IG13:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
             cmp     w0, w25
             bne     G_M46704_IG27
                        ;; size=48 bbWeight=4 PerfScore 70.00
-G_M46704_IG14:        ; bbWeight=2, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG14:        ; bbWeight=2, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
             mov     w1, wzr
             cmp     w25, #0
             ble     G_M46704_IG17
                        ;; size=12 bbWeight=2 PerfScore 4.00
-G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
             add     x2, x27, #16
             ; byrRegs +[x2]
             str     x2, [fp, #0x10]    // [V61 cse9]
@@ -387,7 +387,7 @@ G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=8380000 {x19 x20 x21 x27}, byr
             ; gcr arg pop 0
             cbz     w0, G_M46704_IG18
                        ;; size=120 bbWeight=15.84 PerfScore 657.36
-G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref
+G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref
             ldr     x0, [fp, #0x28]  // [V37 tmp19]
             ; gcrRegs +[x0]
             ldr     x11, [fp, #0x48]   // [V67 cse15]
@@ -408,13 +408,13 @@ G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byre
             ; gcr arg pop 0
             b       G_M46704_IG19
                        ;; size=48 bbWeight=7.92 PerfScore 154.44
-G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, gcvars, byref
+G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, gcvars, byref
             ; gcrRegs -[x27]
             ; GC ptr vars -{V14 V60}
             str     w1, [fp, #0x6C]    // [V06 loc1]
             b       G_M46704_IG26
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M46704_IG18:        ; bbWeight=7.92, gcVars=00000000000000E1 {V14 V36 V37 V60}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+G_M46704_IG18:        ; bbWeight=7.92, gcVars=00000000000000E1 {V14 V36 V37 V60}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs +[x27]
             ; GC ptr vars +{V00 V05 V06 V07 V14 V36 V37 V60}
             ldr     x0, [fp, #0x28]    // [V37 tmp19]
@@ -431,12 +431,12 @@ G_M46704_IG18:        ; bbWeight=7.92, gcVars=00000000000000E1 {V14 V36 V37 V60}
             beq     G_M46704_IG24
             b       G_M46704_IG20
                        ;; size=36 bbWeight=7.92 PerfScore 122.76
-G_M46704_IG19:        ; bbWeight=7.92, gcVars=00000000000000C0 {V14 V60}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+G_M46704_IG19:        ; bbWeight=7.92, gcVars=00000000000000C0 {V14 V60}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs -[x0-x1]
             ; GC ptr vars -{V36}
             cbnz    w0, G_M46704_IG24
                        ;; size=4 bbWeight=7.92 PerfScore 7.92
-G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // const ptr
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x1]
@@ -475,7 +475,7 @@ G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byre
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
             cbz     w0, G_M46704_IG21
-            ldr     x0, [x28, x26]
+            ldr     x0, [x23, x26]
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
@@ -504,7 +504,7 @@ G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byre
             ; GC ptr vars +{V15}
             cbz     x1, G_M46704_IG26
                        ;; size=172 bbWeight=7.92 PerfScore 463.32
-G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000090 {V14 V15}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000090 {V14 V15}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs -[x0-x1]
             ldr     x0, [fp, #0x40]    // [V14 loc9]
             ; gcrRegs +[x0]
@@ -584,11 +584,11 @@ G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000090 {V14 V15}, gcrefR
             ; gcr arg pop 0
             cbnz    w0, G_M46704_IG24
                        ;; size=216 bbWeight=7.92 PerfScore 621.72
-G_M46704_IG22:        ; bbWeight=8, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, byref
+G_M46704_IG22:        ; bbWeight=2, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, byref
             ; gcrRegs -[x27]
             b       G_M46704_IG26
-                        ;; size=4 bbWeight=8 PerfScore 8.00
-G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000090 {V14 V15}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+                      ;; size=4 bbWeight=2 PerfScore 2.00
+G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000090 {V14 V15}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs +[x27]
             ; GC ptr vars +{V07 V14 V15}
             ldp     x1, x0, [fp, #0x38]    // [V15 loc10], [V14 loc9]
@@ -602,48 +602,47 @@ G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000090 {V14 V15}, gcrefR
             ; gcr arg pop 0
             cbz     w0, G_M46704_IG26
                        ;; size=24 bbWeight=7.92 PerfScore 71.28
-G_M46704_IG24:        ; bbWeight=15.84, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
-            ldr     w14, [fp, #0x6C]   // [V06 loc1]
-            add     w14, w14, #1
-            cmp     w25, w14
-            mov     w1, w14
+G_M46704_IG24:        ; bbWeight=15.84, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
+            ldr     w1, [fp, #0x6C]    // [V06 loc1]
+            add     w1, w1, #1
+            cmp     w25, w1
             bgt     G_M46704_IG15
-                     ;; size=20 bbWeight=15.84 PerfScore 71.28
-G_M46704_IG25:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, byref
+                      ;; size=16 bbWeight=15.84 PerfScore 63.36
+G_M46704_IG25:        ; bbWeight=2, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, byref
             ; gcrRegs -[x27]
             str     w1, [fp, #0x6C]    // [V06 loc1]
                        ;; size=4 bbWeight=2 PerfScore 2.00
-G_M46704_IG26:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG26:        ; bbWeight=2, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, byref, isz
             ldr     w1, [fp, #0x6C]    // [V06 loc1]
             cmp     w25, w1
             bne     G_M46704_IG27
-            add     w14, w22, #1
+            add     w14, w21, #1
             sxtw    w27, w14
-            ldr     x15, [x28, x26]
+            ldr     x15, [x23, x26]
             ; gcrRegs +[x15]
-            cmp     w22, w23
+            cmp     w21, w28
             bhs     G_M46704_IG49
-            add     x14, x28, x22,  LSL #3
+            add     x14, x23, x21,  LSL #3
             ; byrRegs +[x14]
             adrp    x12, [HIGH RELOC #0xD1FFAB1E]      // CORINFO_HELP_CHECKED_ASSIGN_REF
             add     x12, x12, [LOW RELOC #0xD1FFAB1E]
             ldr     x12, [x12]
             blr     x12
             ; gcrRegs -[x15]
-            ; byrRegs -[x14 x28]
-            mov     w22, w27
+            ; byrRegs -[x14 x23]
+            mov     w21, w27
                        ;; size=56 bbWeight=2 PerfScore 31.00
-G_M46704_IG27:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG27:        ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
-            cmp     w23, w24
+            cmp     w28, w24
             bgt     G_M46704_IG13
                        ;; size=12 bbWeight=4 PerfScore 8.00
-G_M46704_IG28:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG28:        ; bbWeight=1, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x20]
-            cbnz    w22, G_M46704_IG31
+            cbnz    w21, G_M46704_IG31
                       ;; size=4 bbWeight=1 PerfScore 1.00
 G_M46704_IG29:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x19 x21]
+            ; gcrRegs -[x19 x22]
             mov     x0, xzr
             ; gcrRegs +[x0]
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
@@ -656,13 +655,13 @@ G_M46704_IG30:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0xC0
             ret     lr
                        ;; size=28 bbWeight=0.50 PerfScore 3.50
-G_M46704_IG31:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs -[x0] +[x19 x21]
-            cmp     w22, #1
+G_M46704_IG31:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs -[x0] +[x19 x22]
+            cmp     w21, #1
             bne     G_M46704_IG33
-            cmp     w23, #0
+            cmp     w28, #0
             bls     G_M46704_IG49
-            ldr     x0, [x21, #0x10]
+            ldr     x0, [x22, #0x10]
             ; gcrRegs +[x0]
                        ;; size=20 bbWeight=0.50 PerfScore 3.00
 G_M46704_IG32:        ; bbWeight=0.50, epilog, nogc, extend
@@ -674,10 +673,10 @@ G_M46704_IG32:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0xC0
             ret     lr
                        ;; size=28 bbWeight=0.50 PerfScore 3.50
-G_M46704_IG33:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG33:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
+            mov     w27, wzr
...
  
+0 (0.00%) : 1789.dasm - System.CommandLine.Helpers:AppendExpandedPaths(System.Collections.Generic.Dictionary`2[System.String,System.String],System.String,ubyte) (FullOpts)
@@ -21,8 +21,8 @@
 ;  V09 loc6         [V09,T02] (  3, 10   )     ref  ->  x22         class-hnd <System.String>
 ;  V10 loc7         [V10    ] (  2,  4   )     ref  ->  [fp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String>
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V12 tmp1         [V12,T18] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.CommandLine.CommandLineException>
-;  V13 tmp2         [V13,T19] (  3,  0   )     ref  ->  x20         class-hnd exact "NewObj constructor temp" <System.CommandLine.CommandLineException>
+;  V12 tmp1         [V12,T18] (  3,  0   )     ref  ->  x28         class-hnd exact single-def "NewObj constructor temp" <System.CommandLine.CommandLineException>
+;  V13 tmp2         [V13,T19] (  3,  0   )     ref  ->  x19         class-hnd exact "NewObj constructor temp" <System.CommandLine.CommandLineException>
 ;* V14 tmp3         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.String>
 ;* V15 tmp4         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.String>
 ;  V16 tmp5         [V16,T14] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
@@ -196,10 +196,10 @@ G_M40753_IG09:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ; gcr arg pop 0
             cbnz    w0, G_M40753_IG07
                        ;; size=24 bbWeight=4 PerfScore 32.00
-G_M40753_IG10:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
+G_M40753_IG10:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
             b       G_M40753_IG13
-                        ;; size=4 bbWeight=0.50 PerfScore 0.50
+                        ;; size=4 bbWeight=1 PerfScore 1.00
 G_M40753_IG11:        ; bbWeight=0, gcrefRegs=10000000 {x28}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x20] +[x28]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -208,8 +208,8 @@ G_M40753_IG11:        ; bbWeight=0, gcrefRegs=10000000 {x28}, byrefRegs=0000 {},
             blr     x0
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            mov     x20, x0
-            ; gcrRegs +[x20]
+            mov     x19, x0
+            ; gcrRegs +[x19]
             adrp    x2, [HIGH RELOC #0xD1FFAB1E]      // const ptr
             add     x2, x2, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x2]
@@ -233,20 +233,20 @@ G_M40753_IG11:        ; bbWeight=0, gcrefRegs=10000000 {x28}, byrefRegs=0000 {},
             ; gcr arg pop 0
             mov     x1, x0
             ; gcrRegs +[x1]
-            mov     x0, x20
+            mov     x0, x19
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            mov     x0, x20
+            mov     x0, x19
             ; gcrRegs +[x0]
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x1]
             blr     x1
-            ; gcrRegs -[x0 x20]
+            ; gcrRegs -[x0 x19]
             ; gcr arg pop 0
                        ;; size=120 bbWeight=0 PerfScore 0.00
 G_M40753_IG12:        ; bbWeight=2, gcrefRegs=10580000 {x19 x20 x22 x28}, byrefRegs=0000 {}, byref
@@ -318,8 +318,8 @@ G_M40753_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=100000
             blr     x0
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            mov     x19, x0
-            ; gcrRegs +[x19]
+            mov     x28, x0
+            ; gcrRegs +[x28]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // const ptr
             ; gcrRegs -[x0]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
@@ -336,20 +336,20 @@ G_M40753_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=100000
             ; gcr arg pop 0
             mov     x1, x0
             ; gcrRegs +[x1]
-            mov     x0, x19
+            mov     x0, x28
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            mov     x0, x19
+            mov     x0, x28
             ; gcrRegs +[x0]
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x1]
             blr     x1
-            ; gcrRegs -[x0 x19]
+            ; gcrRegs -[x0 x28]
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=104 bbWeight=0 PerfScore 0.00
@@ -386,7 +386,7 @@ G_M40753_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 860, prolog size 52, PerfScore 242.75, instruction count 215, allocated bytes for code 860 (MethodHash=e8c560ce) for method System.CommandLine.Helpers:AppendExpandedPaths(System.Collections.Generic.Dictionary`2[System.String,System.String],System.String,ubyte) (FullOpts)
+; Total bytes of code 860, prolog size 52, PerfScore 243.25, instruction count 215, allocated bytes for code 860 (MethodHash=e8c560ce) for method System.CommandLine.Helpers:AppendExpandedPaths(System.Collections.Generic.Dictionary`2[System.String,System.String],System.String,ubyte) (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+8 (+0.22%) : 997.dasm - System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte
@@ -654,11 +654,13 @@ G_M1714_IG29:        ; bbWeight=15.84, gcrefRegs=1780000 {x19 x20 x21 x22 x24},
             cmp     w4, w3
             bgt     G_M1714_IG31
                        ;; size=68 bbWeight=15.84 PerfScore 308.88
-G_M1714_IG30:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, gcvars, byref
+G_M1714_IG30:        ; bbWeight=8, gcVars=00000000000000000000000000000000 {}, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x24]
             ; GC ptr vars -{V17 V18 V19}
+            mov     w24, w2
+            mov     w2, w24
             b       G_M1714_IG36
-                      ;; size=4 bbWeight=2 PerfScore 2.00
+                       ;; size=12 bbWeight=8 PerfScore 16.00
 G_M1714_IG31:        ; bbWeight=7.92, gcVars=000000000000000000000000000C0000 {V17 V18}, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars +{V17 V18 V19}
             ldr     x2, [fp, #0x30]    // [V18 loc16]
@@ -1599,7 +1601,7 @@ G_M1714_IG76:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 3592, prolog size 48, PerfScore 2463.16, instruction count 898, allocated bytes for code 3592 (MethodHash=3a03f94d) for method System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte[] (FullOpts)
+; Total bytes of code 3600, prolog size 48, PerfScore 2477.16, instruction count 900, allocated bytes for code 3600 (MethodHash=3a03f94d) for method System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte[] (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -1610,7 +1612,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 876 (0x0036c) Actual length = 3504 (0x000db0)
+  Function Length   : 878 (0x0036e) Actual length = 3512 (0x000db8)
   ---- 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
-4 (-3.57%) : 57998.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
@@ -25,7 +25,7 @@ G_M65070_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ; gcrRegs +[x0]
             mov     x19, x0
             ; gcrRegs +[x19]
-            cbz     x19, G_M65070_IG09
+            cbz     x19, G_M65070_IG06
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M65070_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -39,12 +39,12 @@ G_M65070_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs -[x0]
             mov     w1, #0xD1FFAB1E
             cmp     w0, w1
-            beq     G_M65070_IG07
+            beq     G_M65070_IG08
                        ;; size=36 bbWeight=4 PerfScore 32.00
 G_M65070_IG04:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     w1, #0xD1FFAB1E
             cmp     w0, w1
-            beq     G_M65070_IG07
+            beq     G_M65070_IG08
                        ;; size=12 bbWeight=2 PerfScore 4.00
 G_M65070_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x19, #0x08]
@@ -52,26 +52,23 @@ G_M65070_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
                        ;; size=8 bbWeight=4 PerfScore 16.00
 G_M65070_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
-            b       G_M65070_IG09
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M65070_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #1
-                       ;; size=4 bbWeight=2 PerfScore 1.00
-G_M65070_IG08:        ; bbWeight=2, epilog, nogc, extend
+            mov     w0, wzr
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M65070_IG07:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
-                       ;; size=12 bbWeight=2 PerfScore 8.00
-G_M65070_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            mov     w0, wzr
+                      ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M65070_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, #1
                      ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M65070_IG10:        ; bbWeight=0.50, epilog, nogc, extend
+G_M65070_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 112, prolog size 12, PerfScore 67.75, instruction count 28, allocated bytes for code 112 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
+; Total bytes of code 108, prolog size 12, PerfScore 60.50, instruction count 27, allocated bytes for code 108 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -82,7 +79,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
+  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-3.57%) : 62006.dasm - Microsoft.CodeAnalysis.CSharp.ObjectDisplay:ContainsNewLine(System.String):ubyte (FullOpts)
@@ -13,8 +13,8 @@
 ;  V02 loc1         [V02,T01] (  5, 17   )     int  ->   x1        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V05 tmp2         [V05,T00] (  6, 44   )  ushort  ->   x0         "Inlining Arg"
-;  V06 cse0         [V06,T04] (  2,  5   )   byref  ->   x3         hoist "CSE - aggressive"
+;  V05 tmp2         [V05,T00] (  6, 44   )  ushort  ->   x3         "Inlining Arg"
+;  V06 cse0         [V06,T04] (  2,  5   )   byref  ->   x0         hoist "CSE - aggressive"
 ;  V07 cse1         [V07,T02] (  3,  6   )     int  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
@@ -28,51 +28,48 @@ G_M7834_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             mov     w1, wzr
             ldr     w2, [x0, #0x08]
             cmp     w2, #0
-            ble     G_M7834_IG09
-            add     x3, x0, #12
-            ; byrRegs +[x3]
-                       ;; size=20 bbWeight=1 PerfScore 5.50
-G_M7834_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref, isz
+            ble     G_M7834_IG06
+            add     x0, x0, #12
             ; gcrRegs -[x0]
-            ldrh    w0, [x3, w1, UXTW #2]
+            ; byrRegs +[x0]
+                       ;; size=20 bbWeight=1 PerfScore 5.50
+G_M7834_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            ldrh    w3, [x0, w1, UXTW #2]
             mov     w4, #133
             mov     w5, #0xD1FFAB1E
-            cmp     w0, #13
-            ccmp    w0, #10, z, ne
-            ccmp    w0, w4, z, ne
-            ccmp    w0, w5, z, ne
-            beq     G_M7834_IG07
+            cmp     w3, #13
+            ccmp    w3, #10, z, ne
+            ccmp    w3, w4, z, ne
+            ccmp    w3, w5, z, ne
+            beq     G_M7834_IG08
                        ;; size=32 bbWeight=4 PerfScore 28.00
-G_M7834_IG04:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref, isz
+G_M7834_IG04:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             mov     w4, #0xD1FFAB1E
-            cmp     w0, w4
-            beq     G_M7834_IG07
+            cmp     w3, w4
+            beq     G_M7834_IG08
                        ;; size=12 bbWeight=2 PerfScore 4.00
-G_M7834_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref, isz
+G_M7834_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             add     w1, w1, #1
             cmp     w2, w1
             bgt     G_M7834_IG03
                        ;; size=12 bbWeight=4 PerfScore 8.00
 G_M7834_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x3]
-            b       G_M7834_IG09
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M7834_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #1
-                       ;; size=4 bbWeight=2 PerfScore 1.00
-G_M7834_IG08:        ; bbWeight=2, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=2 PerfScore 4.00
-G_M7834_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            ; byrRegs -[x0]
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M7834_IG10:        ; bbWeight=0.50, epilog, nogc, extend
+G_M7834_IG07:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     fp, lr, [sp], #0x10
+            ret     lr
+                       ;; size=8 bbWeight=0.50 PerfScore 1.00
+G_M7834_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, #1
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M7834_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
 
-; Total bytes of code 112, prolog size 8, PerfScore 53.75, instruction count 28, allocated bytes for code 112 (MethodHash=c046e165) for method Microsoft.CodeAnalysis.CSharp.ObjectDisplay:ContainsNewLine(System.String):ubyte (FullOpts)
+; Total bytes of code 108, prolog size 8, PerfScore 49.50, instruction count 27, allocated bytes for code 108 (MethodHash=c046e165) for method Microsoft.CodeAnalysis.CSharp.ObjectDisplay:ContainsNewLine(System.String):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -83,7 +80,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
+  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-28 (-3.37%) : 203431.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>cDisplayClass11_0[ubyte]:gexecuteExecutableCodeActions|2():this (FullOpts)
@@ -22,20 +22,20 @@
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.DeclarationInfo[]>
 ;* V12 tmp5         [V12    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IOperation]>
 ;* V13 tmp6         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ubyte]>
-;  V14 tmp7         [V14,T03] (  4, 12.50)     int  ->   x4         "Inline stloc first use temp"
+;  V14 tmp7         [V14,T03] (  4, 12.50)     int  ->   x3         "Inline stloc first use temp"
 ;  V15 tmp8         [V15,T06] (  5,  5.50)     ref  ->  x19         "field V01.array (fldOffset=0x0)" P-INDEP
 ;  V16 tmp9         [V16,T08] (  2,  4.50)     ref  ->   x1         single-def "field V03._array (fldOffset=0x0)" P-INDEP
-;  V17 tmp10        [V17,T02] (  4, 12.50)     int  ->   x5         "field V03._index (fldOffset=0x8)" P-INDEP
-;  V18 tmp11        [V18,T04] (  3, 10   )     ref  ->   x6         "field V04.<DeclaredNode>k__BackingField (fldOffset=0x0)" P-INDEP
+;  V17 tmp10        [V17,T02] (  4, 12.50)     int  ->   x4         "field V03._index (fldOffset=0x8)" P-INDEP
+;  V18 tmp11        [V18,T04] (  3, 10   )     ref  ->   x5         "field V04.<DeclaredNode>k__BackingField (fldOffset=0x0)" P-INDEP
 ;* V19 tmp12        [V19    ] (  0,  0   )     ref  ->  zero-ref    "field V04.<DeclaredSymbol>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V20 tmp13        [V20,T05] (  2,  6   )     ref  ->   x4         "field V04.<ExecutableCodeBlocks>k__BackingField (fldOffset=0x10)" P-INDEP
+;  V20 tmp13        [V20,T05] (  2,  6   )     ref  ->   x3         "field V04.<ExecutableCodeBlocks>k__BackingField (fldOffset=0x10)" P-INDEP
 ;  V21 tmp14        [V21,T11] (  5,  2   )     ref  ->  [fp+0x18]  do-not-enreg[H] EH-live "field V05.array (fldOffset=0x0)" P-INDEP
-;  V22 tmp15        [V22,T10] (  5,  2.50)     ref  ->  x20         "field V06.array (fldOffset=0x0)" P-INDEP
+;  V22 tmp15        [V22,T10] (  5,  2.50)     ref  ->  x21         "field V06.array (fldOffset=0x0)" P-INDEP
 ;  V23 tmp16        [V23,T12] (  3,  1.50)     ref  ->   x1         single-def "field V09.array (fldOffset=0x0)" P-INDEP
 ;  V24 tmp17        [V24,T13] (  2,  1   )     ref  ->   x1         single-def "field V10._array (fldOffset=0x0)" P-INDEP
 ;* V25 tmp18        [V25,T15] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x8)" P-INDEP
 ;* V26 tmp19        [V26    ] (  0,  0   )     ref  ->  zero-ref    "field V12.array (fldOffset=0x0)" P-INDEP
-;  V27 tmp20        [V27,T00] (  3, 24   )   byref  ->   x4         "BlockOp address local"
+;  V27 tmp20        [V27,T00] (  3, 24   )   byref  ->   x3         "BlockOp address local"
 ;  V28 PSPSym       [V28,T14] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
 ;  V29 cse0         [V29,T07] (  3,  5   )     int  ->   x2         "CSE - aggressive"
 ;
@@ -103,96 +103,95 @@ G_M3645_IG05:        ; bbWeight=0.50, gcVars=0000000000000002 {V00}, gcrefRegs=0
             ldr     wzr, [x0]
             blr     x1
             ; gcr arg pop 0
-            mov     x3, x0
-            ; gcrRegs +[x3]
-            str     x3, [fp, #0x20]    // [V02 loc1]
+            str     x0, [fp, #0x20]  // [V02 loc1]
             ; GC ptr vars +{V02}
-                     ;; size=108 bbWeight=0.50 PerfScore 14.00
-G_M3645_IG06:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=80008 {x3 x19}, byrefRegs=0000 {}, gcvars, byref, isz
+                     ;; size=104 bbWeight=0.50 PerfScore 13.75
+G_M3645_IG06:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [fp, #0x28]  // [V00 this]
-            ; gcrRegs +[x0]
-            ldr     x1, [x0, #0x68]
+            ldr     x20, [fp, #0x28]  // [V00 this]
+            ; gcrRegs +[x20]
+            ldr     x1, [x20, #0x68]
             ; gcrRegs +[x1]
             ldr     w2, [x1, #0x08]
+            mov     w3, wzr
             mov     w4, wzr
-            mov     w5, wzr
             cmp     w2, #0
             ble     G_M3645_IG11
                        ;; size=28 bbWeight=0.50 PerfScore 5.25
-G_M3645_IG07:        ; bbWeight=4, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0000 {}, byref, isz
-            mov     w6, #24
-            mov     x7, #16
-            umaddl  x4, w4, w6, x7
-            add     x4, x1, x4
-            ; byrRegs +[x4]
-            ldr     x6, [x4]
+G_M3645_IG07:        ; bbWeight=4, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=0000 {}, byref, isz
+            mov     w5, #24
+            mov     x6, #16
+            umaddl  x3, w3, w5, x6
+            add     x3, x1, x3
+            ; byrRegs +[x3]
+            ldr     x5, [x3]
+            ; gcrRegs +[x5]
+            ldr     x3, [x3, #0x10]
+            ; gcrRegs +[x3]
+            ; byrRegs -[x3]
+            ldr     x6, [x20, #0x50]
             ; gcrRegs +[x6]
-            ldr     x4, [x4, #0x10]
-            ; gcrRegs +[x4]
-            ; byrRegs -[x4]
-            ldr     x7, [x0, #0x50]
-            ; gcrRegs +[x7]
-            cmp     x6, x7
+            cmp     x5, x6
             beq     G_M3645_IG09
                        ;; size=36 bbWeight=4 PerfScore 68.00
-G_M3645_IG08:        ; bbWeight=2, gcrefRegs=8005B {x0 x1 x3 x4 x6 x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x7]
-            ldr     x7, [x0, #0x48]
-            ; gcrRegs +[x7]
-            cmp     x6, x7
+G_M3645_IG08:        ; bbWeight=2, gcrefRegs=18002A {x1 x3 x5 x19 x20}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x6]
+            ldr     x6, [x20, #0x48]
+            ; gcrRegs +[x6]
+            cmp     x5, x6
             bne     G_M3645_IG10
                        ;; size=12 bbWeight=2 PerfScore 9.00
-G_M3645_IG09:        ; bbWeight=2, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x6-x7 x19]
-            mov     x19, x4
+G_M3645_IG09:        ; bbWeight=2, gcrefRegs=10000A {x1 x3 x20}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x5-x6 x19]
+            mov     x19, x3
             ; gcrRegs +[x19]
-            ldr     w4, [x19, #0x08]
-            ; gcrRegs -[x4]
-            cbnz    w4, G_M3645_IG12
+            ldr     w3, [x19, #0x08]
+            ; gcrRegs -[x3]
+            cbnz    w3, G_M3645_IG12
                        ;; size=12 bbWeight=2 PerfScore 9.00
-G_M3645_IG10:        ; bbWeight=4, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0000 {}, byref, isz
-            add     w4, w5, #1
-            sxtw    w5, w4
-            cmp     w2, w5
+G_M3645_IG10:        ; bbWeight=4, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=0000 {}, byref, isz
+            add     w3, w4, #1
+            sxtw    w4, w3
+            cmp     w2, w4
             bgt     G_M3645_IG07
                        ;; size=16 bbWeight=4 PerfScore 10.00
-G_M3645_IG11:        ; bbWeight=0.50, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0000 {}, byref
+G_M3645_IG11:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x1]
+            mov     x0, x20
+            ; gcrRegs +[x0]
             mov     x1, x19
             ; gcrRegs +[x1]
-            mov     x2, x3
+            ldr     x2, [fp, #0x20]   // [V02 loc1]
             ; gcrRegs +[x2]
-            movz    x4, #0xD1FFAB1E      // code for <unknown method>
-            movk    x4, #0xD1FFAB1E LSL #16
-            movk    x4, #1 LSL #32
-            ldr     x4, [x4]
+            movz    x3, #0xD1FFAB1E      // code for <unknown method>
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #1 LSL #32
+            ldr     x3, [x3]
             ; GC ptr vars -{V00}
-            blr     x4
-            ; gcrRegs -[x0-x3 x19]
+            blr     x3
+            ; gcrRegs -[x0-x2 x19-x20]
             ; gcr arg pop 0
             b       G_M3645_IG17
-                     ;; size=32 bbWeight=0.50 PerfScore 3.75
-G_M3645_IG12:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x3 x19]
+                       ;; size=36 bbWeight=0.50 PerfScore 4.75
+G_M3645_IG12:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x19-x20]
             ; GC ptr vars +{V00}
-            ldrb    w1, [x0, #0x42]
-            ldrb    w2, [x0, #0x44]
+            ldrb    w1, [x20, #0x42]
+            ldrb    w2, [x20, #0x44]
             orr     w1, w1, w2
             cbz     w1, G_M3645_IG13
-            ldr     x0, [x0, #0x08]
-            ldr     x20, [fp, #0x28]   // [V00 this]
-            ; gcrRegs +[x20]
+            ldr     x0, [x20, #0x08]
+            ; gcrRegs +[x0]
             ldr     x1, [x20, #0x18]
             ; gcrRegs +[x1]
-            mov     x2, x3
+            ldr     x2, [fp, #0x20]   // [V02 loc1]
             ; gcrRegs +[x2]
-            movz    x4, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ubyte]:<ExecuteDeclaringReferenceActions>g__addExecutableCodeBlockAnalyzerActions|11_8(Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+GroupedAnalyzerActions[ubyte],Microsoft.CodeAnalysis.Diagnostics.AnalysisScope,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+ExecutableCodeBlockAnalyzerActions[ubyte]])
-            movk    x4, #0xD1FFAB1E LSL #16
-            movk    x4, #1 LSL #32
-            ldr     x4, [x4]
-            blr     x4
-            ; gcrRegs -[x0-x3]
+            movz    x3, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ubyte]:<ExecuteDeclaringReferenceActions>g__addExecutableCodeBlockAnalyzerActions|11_8(Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+GroupedAnalyzerActions[ubyte],Microsoft.CodeAnalysis.Diagnostics.AnalysisScope,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+ExecutableCodeBlockAnalyzerActions[ubyte]])
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #1 LSL #32
+            ldr     x3, [x3]
+            blr     x3
+            ; gcrRegs -[x0-x2]
             ; gcr arg pop 0
             ldp     x0, x1, [x20, #0x10]
             ; gcrRegs +[x0-x1]
@@ -205,32 +204,28 @@ G_M3645_IG12:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRe
             blr     x3
             ; gcrRegs -[x0-x2]
             ; gcr arg pop 0
-            mov     x0, x20
-            ; gcrRegs +[x0]
-            ldr     x3, [fp, #0x20]    // [V02 loc1]
-            ; gcrRegs +[x3]
-                       ;; size=88 bbWeight=0.50 PerfScore 17.75
-G_M3645_IG13:        ; bbWeight=0.50, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x20]
-            ldrb    w2, [x0, #0x43]
-            ldrb    w1, [x0, #0x44]
+                      ;; size=76 bbWeight=0.50 PerfScore 16.25
+G_M3645_IG13:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
+            ldrb    w2, [x20, #0x43]
+            ldrb    w1, [x20, #0x44]
             orr     w2, w2, w1
             cbz     w2, G_M3645_IG11
-            ldr     x2, [x0, #0x70]
+            ldr     x2, [x20, #0x70]
             ; gcrRegs +[x2]
-            ldr     x1, [x0, #0x28]
+            ldr     x1, [x20, #0x28]
             ; gcrRegs +[x1]
             mov     x0, x19
-            movz    x4, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ubyte]:GetOperationBlocksToAnalyze(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxNode],Microsoft.CodeAnalysis.SemanticModel,System.Threading.CancellationToken):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IOperation]
-            movk    x4, #0xD1FFAB1E LSL #16
-            movk    x4, #1 LSL #32
-            ldr     x4, [x4]
-            blr     x4
-            ; gcrRegs -[x1-x3]
+            ; gcrRegs +[x0]
+            movz    x3, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ubyte]:GetOperationBlocksToAnalyze(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxNode],Microsoft.CodeAnalysis.SemanticModel,System.Threading.CancellationToken):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IOperation]
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #1 LSL #32
+            ldr     x3, [x3]
+            blr     x3
+            ; gcrRegs -[x1-x2]
             ; gcr arg pop 0
             str     x0, [fp, #0x18]    // [V21 tmp14]
             ; GC ptr vars +{V21}
-            ldr     x0, [fp, #0x28]  // [V00 this]
+            mov     x0, x20
             ldr     x1, [fp, #0x18]   // [V21 tmp14]
             ; gcrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
@@ -240,22 +235,22 @@ G_M3645_IG13:        ; bbWeight=0.50, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=000
             blr     x2
             ; gcrRegs -[x1]
             ; gcr arg pop 0
-            mov     x20, x0
-            ; gcrRegs +[x20]
-            ldr     w2, [x20, #0x08]
-            ldp     x3, x0, [fp, #0x20]    // [V02 loc1], [V00 this]
-            ; gcrRegs +[x3]
+            mov     x21, x0
+            ; gcrRegs +[x21]
+            ldr     w2, [x21, #0x08]
             cbz     w2, G_M3645_IG11
-                     ;; size=96 bbWeight=0.50 PerfScore 18.75
-G_M3645_IG14:        ; bbWeight=0.50, gcrefRegs=180009 {x0 x3 x19 x20}, byrefRegs=0000 {}, byref, isz
-            ldrb    w2, [x0, #0x43]
+                      ;; size=92 bbWeight=0.50 PerfScore 16.50
+G_M3645_IG14:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x0]
+            ldrb    w2, [x20, #0x43]
...
  
+16 (+4.40%) : 223131.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
@@ -11,82 +11,83 @@
 ;  V00 arg0         [V00,T07] (  7, 12   )     ref  ->   x0         class-hnd single-def <System.String>
 ;  V01 arg1         [V01,T00] ( 33, 83.50)     int  ->   x1        
 ;  V02 arg2         [V02,T10] (  5,  3.50)   byref  ->   x2         single-def
-;  V03 loc0         [V03,T16] (  3,  2   )     int  ->   x4        
-;  V04 loc1         [V04,T17] (  2,  1   )     int  ->   x6        
+;  V03 loc0         [V03,T16] (  3,  2   )     int  ->   x3        
+;  V04 loc1         [V04,T17] (  2,  1   )     int  ->   x4        
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V07 tmp2         [V07,T03] (  3, 24   )  ushort  ->   x4         "Inlining Arg"
+;  V07 tmp2         [V07,T03] (  3, 24   )  ushort  ->   x3         "Inlining Arg"
 ;* V08 tmp3         [V08,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp4         [V09,T04] (  3, 24   )  ushort  ->   x6         "Inlining Arg"
+;  V09 tmp4         [V09,T04] (  3, 24   )  ushort  ->   x4         "Inlining Arg"
 ;* V10 tmp5         [V10,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V11 tmp6         [V11,T15] (  3,  3   )  ushort  ->   x7         "Inlining Arg"
+;  V11 tmp6         [V11,T15] (  3,  3   )  ushort  ->   x5         "Inlining Arg"
 ;* V12 tmp7         [V12,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V13 tmp8         [V13,T05] (  3, 24   )  ushort  ->   x7         "Inlining Arg"
+;  V13 tmp8         [V13,T05] (  3, 24   )  ushort  ->   x5         "Inlining Arg"
 ;* V14 tmp9         [V14,T14] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V15 tmp10        [V15,T06] (  3, 24   )  ushort  ->   x8         "Inlining Arg"
-;  V16 cse0         [V16,T09] (  3, 12   )     int  ->   x7         "CSE - aggressive"
+;  V15 tmp10        [V15,T06] (  3, 24   )  ushort  ->   x6         "Inlining Arg"
+;  V16 cse0         [V16,T09] (  3, 12   )     int  ->   x5         "CSE - aggressive"
 ;  V17 cse1         [V17,T08] (  5, 13   )     int  ->  registers   multi-def "CSE - aggressive"
-;  V18 cse2         [V18,T01] ( 13, 46.50)     int  ->   x3         hoist "CSE - aggressive"
-;  V19 cse3         [V19,T02] (  9, 25.50)   byref  ->  registers   multi-def "CSE - aggressive"
+;  V18 cse2         [V18,T01] ( 13, 46.50)     int  ->  x19         hoist "CSE - aggressive"
+;  V19 cse3         [V19,T02] (  9, 25.50)   byref  ->  x20         multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M63854_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-                      ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=12 bbWeight=1 PerfScore 2.50
 G_M63854_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
             ; gcrRegs +[x0]
             ; byrRegs +[x2]
-            ldr     w3, [x0, #0x08]
+            ldr     w19, [x0, #0x08]
             b       G_M63854_IG04
                        ;; size=8 bbWeight=1 PerfScore 4.00
 G_M63854_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
 G_M63854_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w3, w1
+            cmp     w19, w1
             ble     G_M63854_IG06
                        ;; size=8 bbWeight=8 PerfScore 12.00
 G_M63854_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x4, x0, #12
-            ; byrRegs +[x4]
-            ldrh    w4, [x4, w1, UXTW #2]
-            ; byrRegs -[x4]
-            cmp     w4, #32
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w3, [x20, w1, UXTW #2]
+            cmp     w3, #32
             beq     G_M63854_IG03
-            cmp     w4, #9
+            cmp     w3, #9
             beq     G_M63854_IG03
                        ;; size=32 bbWeight=4 PerfScore 32.00
 G_M63854_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
-            sxtw    w4, w1
+            ; byrRegs -[x20]
+            sxtw    w3, w1
             b       G_M63854_IG08
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M63854_IG07:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
 G_M63854_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w3, w1
+            cmp     w19, w1
             ble     G_M63854_IG10
                        ;; size=8 bbWeight=8 PerfScore 12.00
 G_M63854_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x5, x0, #12
-            ; byrRegs +[x5]
-            ldrh    w6, [x5, w1, UXTW #2]
-            cmp     w6, #61
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w4, [x20, w1, UXTW #2]
+            cmp     w4, #61
             beq     G_M63854_IG10
-            cmp     w6, #32
+            cmp     w4, #32
             beq     G_M63854_IG10
-            cmp     w6, #9
+            cmp     w4, #9
             bne     G_M63854_IG07
                        ;; size=40 bbWeight=4 PerfScore 38.00
 G_M63854_IG10:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            ; byrRegs -[x5]
-            cmp     w3, w1
+            ; byrRegs -[x20]
+            cmp     w19, w1
             bne     G_M63854_IG13
                        ;; size=8 bbWeight=4 PerfScore 6.00
 G_M63854_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, byref
@@ -95,80 +96,82 @@ G_M63854_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, b
             mov     x0, xzr
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M63854_IG12:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=0.50 PerfScore 1.00
+                        ;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M63854_IG13:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, gcvars, byref, isz
             ; gcrRegs +[x0]
-            sub     w6, w1, w4
-            cmp     w1, w3
+            sub     w4, w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x5, x0, #12
-            ; byrRegs +[x5]
-            ldrh    w7, [x5, w1, UXTW #2]
-            cmp     w7, #32
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w5, [x20, w1, UXTW #2]
+            cmp     w5, #32
             beq     G_M63854_IG15
-            cmp     w7, #9
+            cmp     w5, #9
             bne     G_M63854_IG20
             b       G_M63854_IG15
                        ;; size=40 bbWeight=0.50 PerfScore 4.75
-G_M63854_IG14:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref
+G_M63854_IG14:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M63854_IG15:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref, isz
-            cmp     w3, w1
+G_M63854_IG15:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             ble     G_M63854_IG16
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w7, [x5, w1, UXTW #2]
-            cmp     w7, #32
+            ldrh    w5, [x20, w1, UXTW #2]
+            cmp     w5, #32
             beq     G_M63854_IG14
-            cmp     w7, #9
+            cmp     w5, #9
             beq     G_M63854_IG14
                        ;; size=36 bbWeight=4 PerfScore 36.00
-G_M63854_IG16:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref, isz
-            cmp     w3, w1
+G_M63854_IG16:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             beq     G_M63854_IG17
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w7, [x5, w1, UXTW #2]
-            cmp     w7, #61
+            ldrh    w5, [x20, w1, UXTW #2]
+            cmp     w5, #61
             beq     G_M63854_IG20
                        ;; size=28 bbWeight=0.50 PerfScore 3.75
 G_M63854_IG17:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, byref
             ; gcrRegs -[x0]
-            ; byrRegs -[x5]
+            ; byrRegs -[x20]
             str     w1, [x2]
             mov     x0, xzr
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M63854_IG18:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M63854_IG19:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, gcvars, byref
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
+G_M63854_IG19:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, gcvars, byref
             ; gcrRegs +[x0]
-            ; byrRegs +[x5]
+            ; byrRegs +[x20]
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref, isz
-            cmp     w3, w1
+G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             ble     G_M63854_IG21
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w7, [x5, w1, UXTW #2]
-            sxtw    w8, w7
-            cmp     w8, #32
+            ldrh    w5, [x20, w1, UXTW #2]
+            sxtw    w6, w5
+            cmp     w6, #32
             beq     G_M63854_IG19
-            cmp     w8, #9
+            cmp     w6, #9
             beq     G_M63854_IG19
-            cmp     w7, #61
+            cmp     w5, #61
             beq     G_M63854_IG19
                        ;; size=48 bbWeight=4 PerfScore 44.00
 G_M63854_IG21:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
-            ; byrRegs -[x5]
+            ; byrRegs -[x20]
             str     w1, [x2]
-            mov     w1, w4
-            mov     w2, w6
+            mov     w1, w3
+            mov     w2, w4
             ; byrRegs -[x2]
             movz    x3, #0xD1FFAB1E      // code for System.String:Substring(int,int):System.String:this
             movk    x3, #0xD1FFAB1E LSL #16
@@ -176,10 +179,11 @@ G_M63854_IG21:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2},
             ldr     x3, [x3]
                        ;; size=28 bbWeight=0.50 PerfScore 3.25
 G_M63854_IG22:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             br      x3
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=0.50 PerfScore 1.00
+                        ;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M63854_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
...
  
+28 (+4.90%) : 238715.dasm - Microsoft.Build.Shared.FileUtilities:PathsEqual(System.String,System.String):ubyte (FullOpts)
@@ -9,30 +9,32 @@
 ;
 ;  V00 arg0         [V00,T13] (  9,  5.08)     ref  ->   x0         class-hnd single-def <System.String>
 ;  V01 arg1         [V01,T12] ( 10,  5.08)     ref  ->   x1         class-hnd single-def <System.String>
-;  V02 loc0         [V02,T05] ( 15, 16.50)     int  ->   x2        
-;  V03 loc1         [V03,T09] (  9, 10.50)     int  ->   x5        
-;  V04 loc2         [V04,T03] ( 10, 16.54)     int  ->   x6        
-;  V05 loc3         [V05,T06] (  6, 12   )  ushort  ->   x8        
-;  V06 loc4         [V06,T04] ( 10, 16.54)     int  ->   x6        
-;  V07 loc5         [V07,T07] (  6, 12   )  ushort  ->   x8        
-;  V08 loc6         [V08,T02] ( 13, 17.58)     int  ->   x5        
+;  V02 loc0         [V02,T05] ( 15, 16.50)     int  ->  x20        
+;  V03 loc1         [V03,T09] (  9, 10.50)     int  ->  x22        
+;  V04 loc2         [V04,T03] ( 10, 16.54)     int  ->   x3        
+;  V05 loc3         [V05,T06] (  6, 12   )  ushort  ->   x4        
+;  V06 loc4         [V06,T04] ( 10, 16.54)     int  ->   x3        
+;  V07 loc5         [V07,T07] (  6, 12   )  ushort  ->   x4        
+;  V08 loc6         [V08,T02] ( 13, 17.58)     int  ->   x2        
 ;  V09 loc7         [V09,T00] ( 16, 26   )     int  ->   x6        
-;  V10 loc8         [V10,T01] ( 16, 26   )     int  ->  registers  
+;  V10 loc8         [V10,T01] ( 16, 26   )     int  ->   x5        
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V12 tmp1         [V12    ] (  0,  0   )     int  ->  zero-ref    "Single return block return value"
-;  V13 cse0         [V13,T08] (  3, 11.88)    long  ->   x4         "CSE - aggressive"
-;  V14 cse1         [V14,T16] (  3,  0.12)    long  ->   x8         "CSE - conservative"
-;  V15 cse2         [V15,T10] (  8,  9.08)   byref  ->   x7         hoist multi-def "CSE - aggressive"
+;  V13 cse0         [V13,T08] (  3, 11.88)    long  ->   x5         "CSE - aggressive"
+;  V14 cse1         [V14,T16] (  3,  0.12)    long  ->   x5         "CSE - conservative"
+;  V15 cse2         [V15,T10] (  8,  9.08)   byref  ->  registers   hoist multi-def "CSE - aggressive"
 ;  V16 cse3         [V16,T11] (  8,  9.08)   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V17 cse4         [V17,T14] (  6,  2.08)     int  ->   x3         "CSE - aggressive"
-;  V18 cse5         [V18,T15] (  6,  2.08)     int  ->   x4         "CSE - aggressive"
+;  V17 cse4         [V17,T14] (  6,  2.08)     int  ->  x19         "CSE - aggressive"
+;  V18 cse5         [V18,T15] (  6,  2.08)     int  ->  x21         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M43039_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
-                      ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M43039_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0-x1]
             cbnz    x0, G_M43039_IG04
@@ -45,174 +47,176 @@ G_M43039_IG03:        ; bbWeight=0.50, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, b
 G_M43039_IG04:        ; bbWeight=0.50, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             cbz     x1, G_M43039_IG36
-            ldr     w3, [x0, #0x08]
-            sub     w2, w3, #1
-            ldr     w4, [x1, #0x08]
-            sub     w5, w4, #1
-            sxtw    w6, w2
-            tbnz    w2, #31, G_M43039_IG08
-            cmp     w3, w2
+            ldr     w19, [x0, #0x08]
+            sub     w20, w19, #1
+            ldr     w21, [x1, #0x08]
+            sub     w22, w21, #1
+            sxtw    w3, w20
+            tbnz    w20, #31, G_M43039_IG08
+            cmp     w19, w20
             ble     G_M43039_IG07
-            add     x7, x0, #12
-            ; byrRegs +[x7]
+            add     x2, x0, #12
+            ; byrRegs +[x2]
                         ;; size=40 bbWeight=0.50 PerfScore 5.75
-G_M43039_IG05:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0080 {x7}, byref, isz
-            ldrh    w8, [x7, w6, UXTW #2]
-            mov     w9, #92
-            cmp     w8, #47
-            ccmp    w8, w9, z, ne
+G_M43039_IG05:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0004 {x2}, byref, isz
+            ldrh    w4, [x2, w3, UXTW #2]
+            mov     w5, #92
+            cmp     w4, #47
+            ccmp    w4, w5, z, ne
             bne     G_M43039_IG08
-            sub     w2, w2, #1
-            sub     w6, w6, #1
-            tbz     w6, #31, G_M43039_IG05
+            sub     w20, w20, #1
+            sub     w3, w3, #1
+            tbz     w3, #31, G_M43039_IG05
                      ;; size=32 bbWeight=3.96 PerfScore 29.70
 G_M43039_IG06:        ; bbWeight=0.50, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x7]
+            ; byrRegs -[x2]
             b       G_M43039_IG08
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M43039_IG07:        ; bbWeight=0.04, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
-            cmp     w6, w3
+            cmp     w3, w19
             bhs     G_M43039_IG38
-            add     x7, x0, #12
-            ; byrRegs +[x7]
-            ldrh    w8, [x7, w6, UXTW #2]
-            mov     w7, #92
-            ; byrRegs -[x7]
-            cmp     w8, #47
-            ccmp    w8, w7, z, ne
+            add     x2, x0, #12
+            ; byrRegs +[x2]
+            ldrh    w4, [x2, w3, UXTW #2]
+            mov     w2, #92
+            ; byrRegs -[x2]
+            cmp     w4, #47
+            ccmp    w4, w2, z, ne
             bne     G_M43039_IG08
-            sub     w2, w2, #1
-            sub     w6, w6, #1
-            tbz     w6, #31, G_M43039_IG07
+            sub     w20, w20, #1
+            sub     w3, w3, #1
+            tbz     w3, #31, G_M43039_IG07
                      ;; size=44 bbWeight=0.04 PerfScore 0.38
 G_M43039_IG08:        ; bbWeight=0.50, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
-            sxtw    w6, w5
-            tbnz    w5, #31, G_M43039_IG12
-            cmp     w4, w5
+            sxtw    w3, w22
+            tbnz    w22, #31, G_M43039_IG12
+            cmp     w21, w22
             ble     G_M43039_IG11
-            add     x7, x1, #12
-            ; byrRegs +[x7]
+            add     x2, x1, #12
+            ; byrRegs +[x2]
                         ;; size=20 bbWeight=0.50 PerfScore 1.75
-G_M43039_IG09:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0080 {x7}, byref, isz
-            ldrh    w8, [x7, w6, UXTW #2]
-            mov     w9, #92
-            cmp     w8, #47
-            ccmp    w8, w9, z, ne
+G_M43039_IG09:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0004 {x2}, byref, isz
+            ldrh    w4, [x2, w3, UXTW #2]
+            mov     w5, #92
+            cmp     w4, #47
+            ccmp    w4, w5, z, ne
             bne     G_M43039_IG12
-            sub     w5, w5, #1
-            sub     w6, w6, #1
-            tbz     w6, #31, G_M43039_IG09
+            sub     w22, w22, #1
+            sub     w3, w3, #1
+            tbz     w3, #31, G_M43039_IG09
                      ;; size=32 bbWeight=3.96 PerfScore 29.70
 G_M43039_IG10:        ; bbWeight=0.50, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x7]
+            ; byrRegs -[x2]
             b       G_M43039_IG12
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M43039_IG11:        ; bbWeight=0.04, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
-            cmp     w6, w4
+            cmp     w3, w21
             bhs     G_M43039_IG38
-            add     x7, x1, #12
-            ; byrRegs +[x7]
-            ldrh    w8, [x7, w6, UXTW #2]
-            mov     w7, #92
-            ; byrRegs -[x7]
-            cmp     w8, #47
-            ccmp    w8, w7, z, ne
+            add     x2, x1, #12
+            ; byrRegs +[x2]
+            ldrh    w4, [x2, w3, UXTW #2]
+            mov     w2, #92
+            ; byrRegs -[x2]
+            cmp     w4, #47
+            ccmp    w4, w2, z, ne
             bne     G_M43039_IG12
-            sub     w5, w5, #1
-            sub     w6, w6, #1
-            tbz     w6, #31, G_M43039_IG11
+            sub     w22, w22, #1
+            sub     w3, w3, #1
+            tbz     w3, #31, G_M43039_IG11
                      ;; size=44 bbWeight=0.04 PerfScore 0.38
 G_M43039_IG12:        ; bbWeight=0.50, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
-            cmp     w2, w5
+            cmp     w20, w22
             bne     G_M43039_IG36
-            mov     w5, wzr
-            tbnz    w2, #31, G_M43039_IG32
-            cmp     w3, w2
-            ccmp    w4, w2, nzc, gt
+            mov     w2, wzr
+            tbnz    w20, #31, G_M43039_IG32
+            cmp     w19, w20
+            ccmp    w21, w20, nzc, gt
             ble     G_M43039_IG23
-            add     x7, x0, #12
-            ; byrRegs +[x7]
-            add     x3, x1, #12
+            add     x3, x0, #12
             ; byrRegs +[x3]
+            add     x4, x1, #12
+            ; byrRegs +[x4]
                         ;; size=36 bbWeight=0.50 PerfScore 3.00
-G_M43039_IG13:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref, isz
-            ubfiz   x4, x5, #1, #32
-            ldrh    w6, [x7, x4]
-            ldrh    w4, [x3, x4]
-            orr     w8, w6, w4
-            cmp     w8, #127
+G_M43039_IG13:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0018 {x3 x4}, byref, isz
+            ubfiz   x5, x2, #1, #32
+            ldrh    w6, [x3, x5]
+            ldrh    w5, [x4, x5]
+            orr     w7, w6, w5
+            cmp     w7, #127
             bhi     G_M43039_IG34
-            sub     w8, w6, #97
-            cmp     w8, #25
+            sub     w7, w6, #97
+            cmp     w7, #25
             bhi     G_M43039_IG15
                        ;; size=36 bbWeight=3.96 PerfScore 43.56
-G_M43039_IG14:        ; bbWeight=1.98, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref
+G_M43039_IG14:        ; bbWeight=1.98, gcrefRegs=0003 {x0 x1}, byrefRegs=0018 {x3 x4}, byref
             sub     w6, w6, #32
                        ;; size=4 bbWeight=1.98 PerfScore 0.99
-G_M43039_IG15:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref, isz
-            sub     w8, w4, #97
-            cmp     w8, #25
+G_M43039_IG15:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0018 {x3 x4}, byref, isz
+            sub     w7, w5, #97
+            cmp     w7, #25
             bhi     G_M43039_IG17
                        ;; size=12 bbWeight=3.96 PerfScore 7.92
-G_M43039_IG16:        ; bbWeight=1.98, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref
-            sub     w4, w4, #32
+G_M43039_IG16:        ; bbWeight=1.98, gcrefRegs=0003 {x0 x1}, byrefRegs=0018 {x3 x4}, byref
+            sub     w5, w5, #32
                         ;; size=4 bbWeight=1.98 PerfScore 0.99
-G_M43039_IG17:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref, isz
+G_M43039_IG17:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0018 {x3 x4}, byref, isz
             cmp     w6, #92
             bne     G_M43039_IG19
                        ;; size=8 bbWeight=3.96 PerfScore 5.94
-G_M43039_IG18:        ; bbWeight=1.98, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref
+G_M43039_IG18:        ; bbWeight=1.98, gcrefRegs=0003 {x0 x1}, byrefRegs=0018 {x3 x4}, byref
             mov     w6, #47
                        ;; size=4 bbWeight=1.98 PerfScore 0.99
-G_M43039_IG19:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref, isz
...
  
+24 (+5.71%) : 218579.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
@@ -11,34 +11,35 @@
 ;  V00 this         [V00,T10] (  8,  5   )     ref  ->  x19         this class-hnd single-def <System.Xml.Xsl.Runtime.XmlStringSortKey>
 ;  V01 arg1         [V01,T11] (  4,  3.50)     ref  ->   x1         class-hnd single-def <System.Object>
 ;  V02 loc0         [V02,T13] (  7,  4.25)     ref  ->  x20         class-hnd exact <System.Xml.Xsl.Runtime.XmlStringSortKey>
-;  V03 loc1         [V03,T00] (  7, 24.50)     int  ->   x3        
+;  V03 loc1         [V03,T00] (  7, 24.50)     int  ->   x1        
 ;  V04 loc2         [V04,T12] (  3,  5   )     int  ->   x0        
 ;  V05 loc3         [V05,T14] (  6,  3   )     int  ->   x0        
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Xml.Xsl.Runtime.XmlStringSortKey>
 ;  V08 tmp2         [V08,T17] (  3,  1.50)     int  ->   x0        
 ;  V09 tmp3         [V09,T18] (  2,  1   )     int  ->   x0         "Inline return value spill temp"
-;  V10 tmp4         [V10,T01] (  3, 24   )     ref  ->   x4         "arr expr"
-;  V11 tmp5         [V11,T02] (  3, 24   )     ref  ->   x6         "arr expr"
+;  V10 tmp4         [V10,T01] (  3, 24   )     ref  ->   x2         "arr expr"
+;  V11 tmp5         [V11,T02] (  3, 24   )     ref  ->   x4         "arr expr"
 ;* V12 tmp6         [V12,T08] (  0,  0   )     ref  ->  zero-ref    "arr expr"
 ;* V13 tmp7         [V13,T09] (  0,  0   )     ref  ->  zero-ref    "arr expr"
-;  V14 cse0         [V14,T03] (  3, 12   )     int  ->   x4         "CSE - aggressive"
-;  V15 cse1         [V15,T04] (  3, 12   )     int  ->   x5         "CSE - aggressive"
-;  V16 cse2         [V16,T06] (  6,  6.50)     ref  ->   x1         "CSE - aggressive"
-;  V17 cse3         [V17,T07] (  6,  6.50)     ref  ->   x2         "CSE - aggressive"
+;  V14 cse0         [V14,T03] (  3, 12   )     int  ->   x2         "CSE - aggressive"
+;  V15 cse1         [V15,T04] (  3, 12   )     int  ->   x3         "CSE - aggressive"
+;  V16 cse2         [V16,T06] (  6,  6.50)     ref  ->  x21         "CSE - aggressive"
+;  V17 cse3         [V17,T07] (  6,  6.50)     ref  ->  x22         "CSE - aggressive"
 ;  V18 cse4         [V18,T16] (  3,  1.50)     ref  ->   x0         "CSE - moderate"
 ;  V19 cse5         [V19,T15] (  4,  2   )     ref  ->   x0         "CSE - moderate"
-;  V20 cse6         [V20,T05] (  3, 12   )    long  ->   x5         "CSE - aggressive"
+;  V20 cse6         [V20,T05] (  3, 12   )    long  ->   x3         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M15280_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x20]!
+            stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
-                     ;; size=16 bbWeight=1 PerfScore 3.00
+                      ;; size=20 bbWeight=1 PerfScore 4.00
 G_M15280_IG02:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x1]
             mov     x20, x1
@@ -63,11 +64,12 @@ G_M15280_IG04:        ; bbWeight=0.50, gcrefRegs=80002 {x1 x19}, byrefRegs=0000
             ldr     x2, [x2]
                        ;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M15280_IG05:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             br      x2
             ; gcr arg pop 0
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0-x1] +[x20]
             ldr     x0, [x19, #0x18]
@@ -85,60 +87,60 @@ G_M15280_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             b       G_M15280_IG15
                        ;; size=36 bbWeight=0.50 PerfScore 6.75
 G_M15280_IG07:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ldr     x1, [x19, #0x20]
-            ; gcrRegs +[x1]
-            ldr     w0, [x1, #0x08]
-            ldr     x2, [x20, #0x20]
-            ; gcrRegs +[x2]
-            ldr     w3, [x2, #0x08]
-            cmp     w0, w3
+            ldr     x21, [x19, #0x20]
+            ; gcrRegs +[x21]
+            ldr     w0, [x21, #0x08]
+            ldr     x22, [x20, #0x20]
+            ; gcrRegs +[x22]
+            ldr     w1, [x22, #0x08]
+            cmp     w0, w1
             blt     G_M15280_IG08
-            ldr     w0, [x2, #0x08]
+            ldr     w0, [x22, #0x08]
             b       G_M15280_IG09
                        ;; size=32 bbWeight=0.50 PerfScore 8.75
-G_M15280_IG08:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref
-            ldr     w0, [x1, #0x08]
+G_M15280_IG08:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref
+            ldr     w0, [x21, #0x08]
                        ;; size=4 bbWeight=0.50 PerfScore 1.50
-G_M15280_IG09:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref, isz
-            mov     w3, wzr
+G_M15280_IG09:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            mov     w1, wzr
             cmp     w0, #0
             ble     G_M15280_IG14
                        ;; size=12 bbWeight=0.50 PerfScore 1.00
-G_M15280_IG10:        ; bbWeight=4, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref, isz
-            mov     x4, x1
+G_M15280_IG10:        ; bbWeight=4, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            mov     x2, x21
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x08]
+            cmp     w1, w3
+            bhs     G_M15280_IG24
+            add     x2, x2, #16
+            ; gcrRegs -[x2]
+            ; byrRegs +[x2]
+            mov     w3, w1
+            ldrb    w2, [x2, x3]
+            ; byrRegs -[x2]
+            mov     x4, x22
             ; gcrRegs +[x4]
             ldr     w5, [x4, #0x08]
-            cmp     w3, w5
+            cmp     w1, w5
             bhs     G_M15280_IG24
             add     x4, x4, #16
             ; gcrRegs -[x4]
             ; byrRegs +[x4]
-            mov     w5, w3
-            ldrb    w4, [x4, x5]
-            ; byrRegs -[x4]
-            mov     x6, x2
-            ; gcrRegs +[x6]
-            ldr     w7, [x6, #0x08]
-            cmp     w3, w7
-            bhs     G_M15280_IG24
-            add     x6, x6, #16
-            ; gcrRegs -[x6]
-            ; byrRegs +[x6]
-            ldrb    w5, [x6, x5]
-            cmp     w4, w5
+            ldrb    w3, [x4, x3]
+            cmp     w2, w3
             blt     G_M15280_IG12
-            cmp     w4, w5
+            cmp     w2, w3
             bgt     G_M15280_IG13
-            add     w3, w3, #1
-            cmp     w3, w0
+            add     w1, w1, #1
+            cmp     w1, w0
             blt     G_M15280_IG10
                        ;; size=80 bbWeight=4 PerfScore 90.00
-G_M15280_IG11:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x6]
+G_M15280_IG11:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x4]
             b       G_M15280_IG14
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M15280_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x1-x2 x20]
+            ; gcrRegs -[x20-x22]
             movn    w0, #0
             b       G_M15280_IG20
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
@@ -146,21 +148,20 @@ G_M15280_IG13:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             mov     w0, #1
             b       G_M15280_IG20
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M15280_IG14:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x1-x2 x20]
-            ldr     w0, [x1, #0x08]
-            ldr     w3, [x2, #0x08]
-            cmp     w0, w3
+G_M15280_IG14:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs +[x20-x22]
+            ldr     w0, [x21, #0x08]
+            ldr     w1, [x22, #0x08]
+            cmp     w0, w1
             blt     G_M15280_IG12
-            ldr     w0, [x1, #0x08]
-            ldr     w1, [x2, #0x08]
-            ; gcrRegs -[x1]
+            ldr     w0, [x21, #0x08]
+            ldr     w1, [x22, #0x08]
             cmp     w0, w1
             bgt     G_M15280_IG13
             b       G_M15280_IG16
                        ;; size=36 bbWeight=0.50 PerfScore 8.00
 G_M15280_IG15:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x2]
+            ; gcrRegs -[x21-x22]
             cbnz    w0, G_M15280_IG20
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M15280_IG16:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
@@ -174,11 +175,12 @@ G_M15280_IG16:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ldr     x2, [x2, #0x20]
                        ;; size=24 bbWeight=0.50 PerfScore 8.00
 G_M15280_IG17:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             br      x2
             ; gcr arg pop 0
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG18:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0-x1]
             ldr     w0, [x19, #0x10]
@@ -189,36 +191,39 @@ G_M15280_IG18:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             csel    w0, w2, w3, lt
                        ;; size=24 bbWeight=0.50 PerfScore 4.00
 G_M15280_IG19:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG20:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x20]
             ldrb    w1, [x19, #0x14]
             cbnz    w1, G_M15280_IG22
                        ;; size=8 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG21:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG22:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x19]
             neg     w0, w0
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M15280_IG23:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG24:        ; 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 420, prolog size 16, PerfScore 148.75, instruction count 105, allocated bytes for code 420 (MethodHash=95cfc44f) for method System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
+; Total bytes of code 444, prolog size 20, PerfScore 152.25, instruction count 111, allocated bytes for code 444 (MethodHash=95cfc44f) for method System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -229,7 +234,7 @@ Unwind Info:
   E bit             : 0
...
  
  
libraries_tests.run.osx.arm64.Release.mch
-24 (-7.69%) : 214145.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalListInOrder(System.Canon[]):this (Tier1)
@@ -10,13 +10,13 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T07] (  5,  4   )     ref  ->  x20         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T02] (  9, 11.67)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T02] (  8, 13.33)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
 ;  V02 loc0         [V02,T08] (  3,  2.02)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V03 loc1         [V03,T10] (  4,  0.21)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V04 loc2         [V04,T09] (  5,  0.38)     int  ->  x22        
-;  V05 loc3         [V05,T03] (  6, 11.94)     ref  ->  x23         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T01] (  9, 15.60)     int  ->  x24        
-;  V07 loc5         [V07,T00] (  5, 17.18)     ref  ->   x0         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T03] (  6, 13.60)     ref  ->  x23         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T00] (  6, 17.26)     int  ->  x24        
+;  V07 loc5         [V07,T01] (  5, 17.18)     ref  ->   x0         class-hnd <System.__Canon>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T06] (  2,  6.93)     int  ->   x0         "guarded devirt return temp"
 ;* V10 tmp2         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
@@ -41,7 +41,7 @@ G_M50755_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M50755_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x21, [x20, #0x08]
             ; gcrRegs +[x21]
-            cbnz    x21, G_M50755_IG07
+            cbnz    x21, G_M50755_IG05
                        ;; size=8 bbWeight=1 PerfScore 4.00
 G_M50755_IG03:        ; bbWeight=0.98, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
@@ -60,39 +60,28 @@ G_M50755_IG04:        ; bbWeight=0.98, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0.98 PerfScore 4.92
-G_M50755_IG05:        ; bbWeight=3.33, gcVars=0000000000000000 {}, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x19-x21 x23]
-            ldr     x1, [x23, #0x50]
-            ldr     x0, [x0, #0x50]
-            ; gcrRegs -[x0]
-            cmp     x1, x0
-            bne     G_M50755_IG14
-                       ;; size=16 bbWeight=3.33 PerfScore 24.94
-G_M50755_IG06:        ; bbWeight=26.60, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
-            b       G_M50755_IG15
-                       ;; size=4 bbWeight=26.60 PerfScore 26.60
-G_M50755_IG07:        ; bbWeight=0.02, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x23]
+G_M50755_IG05:        ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x19-x21]
             mov     w22, wzr
             ldr     w0, [x21, #0x08]
             cmp     w0, #0
-            ble     G_M50755_IG17
+            ble     G_M50755_IG15
                        ;; size=16 bbWeight=0.02 PerfScore 0.08
-G_M50755_IG08:        ; bbWeight=0.08, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG06:        ; bbWeight=0.08, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     x0, x21, #16
             ; byrRegs +[x0]
             ldr     x23, [x0, w22, UXTW #3]
             ; gcrRegs +[x23]
-            cbz     x23, G_M50755_IG17
+            cbz     x23, G_M50755_IG15
                        ;; size=12 bbWeight=0.08 PerfScore 0.37
-G_M50755_IG09:        ; bbWeight=0.08, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG07:        ; bbWeight=0.08, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0]
             mov     w24, wzr
             ldr     w0, [x19, #0x08]
             cmp     w0, #0
-            ble     G_M50755_IG16
+            ble     G_M50755_IG14
                        ;; size=16 bbWeight=0.08 PerfScore 0.40
-G_M50755_IG10:        ; bbWeight=3.46, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG08:        ; bbWeight=3.46, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     x0, x19, #16
             ; byrRegs +[x0]
             ldr     x0, [x0, w24, UXTW #3]
@@ -103,21 +92,23 @@ G_M50755_IG10:        ; bbWeight=3.46, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             cmp     x1, x2
-            bne     G_M50755_IG13
+            bne     G_M50755_IG10
                        ;; size=32 bbWeight=3.46 PerfScore 32.91
-G_M50755_IG11:        ; bbWeight=3.33, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG09:        ; bbWeight=3.33, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             mov     x1, x23
             ; gcrRegs +[x1]
             ldr     x1, [x1]
             ; gcrRegs -[x1]
             cmp     x1, x2
-            beq     G_M50755_IG05
-                       ;; size=16 bbWeight=3.33 PerfScore 16.63
-G_M50755_IG12:        ; bbWeight=0.83, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bne     G_M50755_IG11
+            ldr     x1, [x23, #0x50]
+            ldr     x0, [x0, #0x50]
             ; gcrRegs -[x0]
-            b       G_M50755_IG19
-                       ;; size=4 bbWeight=0.83 PerfScore 0.83
-G_M50755_IG13:        ; bbWeight=3.46, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+            cmp     x1, x0
+            bne     G_M50755_IG11
+            b       G_M50755_IG13
+                       ;; size=36 bbWeight=3.33 PerfScore 44.89
+G_M50755_IG10:        ; bbWeight=3.46, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             mov     x1, x23
             ; gcrRegs +[x1]
@@ -127,16 +118,20 @@ G_M50755_IG13:        ; bbWeight=3.46, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, by
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M50755_IG15
+            cbnz    w0, G_M50755_IG13
                       ;; size=24 bbWeight=3.46 PerfScore 39.83
-G_M50755_IG14:        ; bbWeight=3.46, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG11:        ; bbWeight=3.46, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
             ldr     w1, [x19, #0x08]
             cmp     w1, w24
-            ble     G_M50755_IG16
-            b       G_M50755_IG10
-                       ;; size=20 bbWeight=3.46 PerfScore 20.78
-G_M50755_IG15:        ; bbWeight=1.66, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bgt     G_M50755_IG08
+                       ;; size=16 bbWeight=3.46 PerfScore 17.32
+G_M50755_IG12:        ; bbWeight=0.09, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x23]
+            b       G_M50755_IG14
+                       ;; size=4 bbWeight=0.09 PerfScore 0.09
+G_M50755_IG13:        ; bbWeight=3.33, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x23]
             sxtw    x1, w24
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -145,14 +140,14 @@ G_M50755_IG15:        ; bbWeight=1.66, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2 x23]
             ; gcr arg pop 0
-                      ;; size=16 bbWeight=1.66 PerfScore 4.16
-G_M50755_IG16:        ; bbWeight=0.09, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+                     ;; size=16 bbWeight=3.33 PerfScore 8.31
+G_M50755_IG14:        ; bbWeight=0.09, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     w22, w22, #1
             ldr     w14, [x21, #0x08]
             cmp     w14, w22
-            bgt     G_M50755_IG08
+            bgt     G_M50755_IG06
                      ;; size=16 bbWeight=0.09 PerfScore 0.47
-G_M50755_IG17:        ; bbWeight=0.02, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M50755_IG15:        ; bbWeight=0.02, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             add     x14, x20, #8
             ; byrRegs +[x14]
@@ -162,23 +157,15 @@ G_M50755_IG17:        ; bbWeight=0.02, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ; gcrRegs -[x15 x19-x20]
             ; byrRegs -[x14]
                        ;; size=12 bbWeight=0.02 PerfScore 0.03
-G_M50755_IG18:        ; bbWeight=0.02, epilog, nogc, extend
+G_M50755_IG16:        ; bbWeight=0.02, 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=0.02 PerfScore 0.08
-G_M50755_IG19:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x19-x21 x23]
-            add     w24, w24, #1
-            ldr     w0, [x19, #0x08]
-            cmp     w0, w24
-            bgt     G_M50755_IG10
-            b       G_M50755_IG16
-                       ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 312, prolog size 28, PerfScore 184.49, instruction count 78, allocated bytes for code 312 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
+; Total bytes of code 288, prolog size 28, PerfScore 161.17, instruction count 72, allocated bytes for code 288 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -189,7 +176,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 78 (0x0004e) Actual length = 312 (0x000138)
+  Function Length   : 72 (0x00048) Actual length = 288 (0x000120)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-24 (-7.41%) : 422669.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalListInOrder(System.Canon[]):this (Tier1)
@@ -9,14 +9,14 @@
 ; 2 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  5,  4   )     ref  ->  x19         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T01] (  9,  3.87)     ref  ->  x20         class-hnd single-def <System.__Canon[]>
+;  V00 this         [V00,T01] (  5,  4   )     ref  ->  x20         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
+;  V01 arg1         [V01,T00] (  8,  4.03)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
 ;  V02 loc0         [V02,T02] (  3,  2.03)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V03 loc1         [V03,T09] (  4,  0.19)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V04 loc2         [V04,T08] (  5,  0.31)     int  ->  x22        
-;  V05 loc3         [V05,T05] (  6,  1.22)     ref  ->  x23         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T04] (  9,  1.55)     int  ->  x24        
-;  V07 loc5         [V07,T03] (  5,  1.66)     ref  ->   x0         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T05] (  6,  1.37)     ref  ->  x23         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T03] (  6,  1.70)     int  ->  x24        
+;  V07 loc5         [V07,T04] (  5,  1.66)     ref  ->   x0         class-hnd <System.__Canon>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T07] (  2,  0.67)     int  ->   x0         "guarded devirt return temp"
 ;* V10 tmp2         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
@@ -32,21 +32,21 @@ G_M50755_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     x21, x22, [sp, #0x20]
             stp     x23, x24, [sp, #0x30]
             mov     fp, sp
-            mov     x19, x0
-            ; gcrRegs +[x19]
-            mov     x20, x1
+            mov     x20, x0
             ; gcrRegs +[x20]
+            mov     x19, x1
+            ; gcrRegs +[x19]
                        ;; size=28 bbWeight=1 PerfScore 5.50
 G_M50755_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ldr     x21, [x19, #0x08]
+            ldr     x21, [x20, #0x08]
             ; gcrRegs +[x21]
-            cbnz    x21, G_M50755_IG07
+            cbnz    x21, G_M50755_IG05
                         ;; size=8 bbWeight=1 PerfScore 4.00
 G_M50755_IG03:        ; bbWeight=0.97, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
-            add     x14, x19, #8
+            add     x14, x20, #8
             ; byrRegs +[x14]
-            mov     x15, x20
+            mov     x15, x19
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15 x19-x20]
@@ -59,40 +59,29 @@ G_M50755_IG04:        ; bbWeight=0.97, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0.97 PerfScore 4.83
-G_M50755_IG05:        ; bbWeight=0.31, gcVars=0000000000000000 {}, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x19-x21 x23]
-            ldr     x1, [x23, #0x50]
-            ldr     x0, [x0, #0x50]
-            ; gcrRegs -[x0]
-            cmp     x1, x0
-            bne     G_M50755_IG14
-                       ;; size=16 bbWeight=0.31 PerfScore 2.35
-G_M50755_IG06:        ; bbWeight=2.51, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
-            b       G_M50755_IG15
-                       ;; size=4 bbWeight=2.51 PerfScore 2.51
-G_M50755_IG07:        ; bbWeight=0.03, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x23]
+G_M50755_IG05:        ; bbWeight=0.03, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x19-x21]
             mov     w22, wzr
             ldr     w0, [x21, #0x08]
             cmp     w0, #0
-            ble     G_M50755_IG17
+            ble     G_M50755_IG15
                        ;; size=16 bbWeight=0.03 PerfScore 0.17
-G_M50755_IG08:        ; bbWeight=0.05, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG06:        ; bbWeight=0.05, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     x0, x21, #16
             ; byrRegs +[x0]
             ldr     x23, [x0, w22, UXTW #3]
             ; gcrRegs +[x23]
-            cbz     x23, G_M50755_IG17
+            cbz     x23, G_M50755_IG15
                        ;; size=12 bbWeight=0.05 PerfScore 0.21
-G_M50755_IG09:        ; bbWeight=0.04, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG07:        ; bbWeight=0.04, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0]
             mov     w24, wzr
-            ldr     w0, [x20, #0x08]
+            ldr     w0, [x19, #0x08]
             cmp     w0, #0
-            ble     G_M50755_IG16
+            ble     G_M50755_IG14
                        ;; size=16 bbWeight=0.04 PerfScore 0.21
-G_M50755_IG10:        ; bbWeight=0.34, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
-            add     x0, x20, #16
+G_M50755_IG08:        ; bbWeight=0.34, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+            add     x0, x19, #16
             ; byrRegs +[x0]
             ldr     x0, [x0, w24, UXTW #3]
             ; gcrRegs +[x0]
@@ -102,9 +91,9 @@ G_M50755_IG10:        ; bbWeight=0.34, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             cmp     x1, x2
-            bne     G_M50755_IG13
+            bne     G_M50755_IG10
                        ;; size=32 bbWeight=0.34 PerfScore 3.20
-G_M50755_IG11:        ; bbWeight=0.31, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG09:        ; bbWeight=0.31, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             mov     x1, x23
             ; gcrRegs +[x1]
             ldr     x1, [x1]
@@ -113,13 +102,15 @@ G_M50755_IG11:        ; bbWeight=0.31, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, by
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             cmp     x1, x2
-            beq     G_M50755_IG05
-                       ;; size=28 bbWeight=0.31 PerfScore 2.04
-G_M50755_IG12:        ; bbWeight=0.08, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bne     G_M50755_IG11
+            ldr     x1, [x23, #0x50]
+            ldr     x0, [x0, #0x50]
             ; gcrRegs -[x0]
-            b       G_M50755_IG19
-                       ;; size=4 bbWeight=0.08 PerfScore 0.08
-G_M50755_IG13:        ; bbWeight=0.34, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+            cmp     x1, x0
+            bne     G_M50755_IG11
+            b       G_M50755_IG13
+                       ;; size=48 bbWeight=0.31 PerfScore 4.70
+G_M50755_IG10:        ; bbWeight=0.34, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             mov     x1, x23
             ; gcrRegs +[x1]
@@ -129,58 +120,54 @@ G_M50755_IG13:        ; bbWeight=0.34, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, by
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M50755_IG15
+            cbnz    w0, G_M50755_IG13
                       ;; size=24 bbWeight=0.34 PerfScore 3.88
-G_M50755_IG14:        ; bbWeight=0.34, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG11:        ; bbWeight=0.34, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
-            ldr     w1, [x20, #0x08]
+            ldr     w1, [x19, #0x08]
             cmp     w1, w24
-            ble     G_M50755_IG16
-            b       G_M50755_IG10
-                       ;; size=20 bbWeight=0.34 PerfScore 2.02
-G_M50755_IG15:        ; bbWeight=0.16, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bgt     G_M50755_IG08
+                       ;; size=16 bbWeight=0.34 PerfScore 1.69
+G_M50755_IG12:        ; bbWeight=0.08, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x23]
+            b       G_M50755_IG14
+                       ;; size=4 bbWeight=0.08 PerfScore 0.08
+G_M50755_IG13:        ; bbWeight=0.31, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x23]
             sxtw    x1, w24
-            mov     x0, x20
+            mov     x0, x19
             ; gcrRegs +[x0]
             mov     x2, x23
             ; gcrRegs +[x2]
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2 x23]
             ; gcr arg pop 0
-                      ;; size=16 bbWeight=0.16 PerfScore 0.39
-G_M50755_IG16:        ; bbWeight=0.08, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+                     ;; size=16 bbWeight=0.31 PerfScore 0.78
+G_M50755_IG14:        ; bbWeight=0.08, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     w22, w22, #1
             ldr     w14, [x21, #0x08]
             cmp     w14, w22
-            bgt     G_M50755_IG08
+            bgt     G_M50755_IG06
                      ;; size=16 bbWeight=0.08 PerfScore 0.38
-G_M50755_IG17:        ; bbWeight=0.03, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M50755_IG15:        ; bbWeight=0.03, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
-            add     x14, x19, #8
+            add     x14, x20, #8
             ; byrRegs +[x14]
-            mov     x15, x20
+            mov     x15, x19
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15 x19-x20]
             ; byrRegs -[x14]
                        ;; size=12 bbWeight=0.03 PerfScore 0.07
-G_M50755_IG18:        ; bbWeight=0.03, epilog, nogc, extend
+G_M50755_IG16:        ; bbWeight=0.03, 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=0.03 PerfScore 0.17
-G_M50755_IG19:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x19-x21 x23]
-            add     w24, w24, #1
-            ldr     w0, [x20, #0x08]
-            cmp     w0, w24
-            bgt     G_M50755_IG10
-            b       G_M50755_IG16
-                       ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 324, prolog size 28, PerfScore 33.95, instruction count 81, allocated bytes for code 324 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
+; Total bytes of code 300, prolog size 28, PerfScore 31.81, instruction count 75, allocated bytes for code 300 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -191,7 +178,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 81 (0x00051) Actual length = 324 (0x000144)
+  Function Length   : 75 (0x0004b) Actual length = 300 (0x00012c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-24 (-7.41%) : 467830.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalListInOrder(System.Canon[]):this (Tier1)
@@ -10,13 +10,13 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  5,  4   )     ref  ->  x20         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T00] (  9,  4.10)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
-;  V02 loc0         [V02,T03] (  3,  2.03)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T00] (  8,  4.31)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
+;  V02 loc0         [V02,T04] (  3,  2.03)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V03 loc1         [V03,T09] (  4,  0.13)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V04 loc2         [V04,T08] (  5,  0.16)     int  ->  x22        
-;  V05 loc3         [V05,T05] (  6,  1.53)     ref  ->  x23         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T04] (  9,  1.97)     int  ->  x24        
-;  V07 loc5         [V07,T02] (  5,  2.14)     ref  ->   x0         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T05] (  6,  1.74)     ref  ->  x23         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T02] (  6,  2.17)     int  ->  x24        
+;  V07 loc5         [V07,T03] (  5,  2.14)     ref  ->   x0         class-hnd <System.__Canon>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T07] (  2,  0.86)     int  ->   x0         "guarded devirt return temp"
 ;* V10 tmp2         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
@@ -40,7 +40,7 @@ G_M50755_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M50755_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x21, [x20, #0x08]
             ; gcrRegs +[x21]
-            cbnz    x21, G_M50755_IG07
+            cbnz    x21, G_M50755_IG05
                        ;; size=8 bbWeight=1 PerfScore 4.00
 G_M50755_IG03:        ; bbWeight=0.97, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
@@ -59,37 +59,26 @@ G_M50755_IG04:        ; bbWeight=0.97, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0.97 PerfScore 4.84
-G_M50755_IG05:        ; bbWeight=0.41, gcVars=0000000000000000 {}, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x19-x21 x23]
-            ldr     x1, [x23, #0x50]
-            ldr     x0, [x0, #0x50]
-            ; gcrRegs -[x0]
-            cmp     x1, x0
-            bne     G_M50755_IG13
-                       ;; size=16 bbWeight=0.41 PerfScore 3.11
-G_M50755_IG06:        ; bbWeight=3.32, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
-            b       G_M50755_IG14
-                       ;; size=4 bbWeight=3.32 PerfScore 3.32
-G_M50755_IG07:        ; bbWeight=0.03, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x23]
+G_M50755_IG05:        ; bbWeight=0.03, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x19-x21]
             mov     w22, wzr
             ldr     w0, [x21, #0x08]
             cmp     w0, #0
-            ble     G_M50755_IG16
+            ble     G_M50755_IG14
                        ;; size=16 bbWeight=0.03 PerfScore 0.16
-G_M50755_IG08:        ; bbWeight=0.03, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG06:        ; bbWeight=0.03, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     x0, x21, #16
             ; byrRegs +[x0]
             ldr     x23, [x0, w22, UXTW #3]
             ; gcrRegs +[x23]
-            cbz     x23, G_M50755_IG16
+            cbz     x23, G_M50755_IG14
             mov     w24, wzr
             ldr     w0, [x19, #0x08]
             ; byrRegs -[x0]
             cmp     w0, #0
-            ble     G_M50755_IG15
+            ble     G_M50755_IG13
                        ;; size=28 bbWeight=0.03 PerfScore 0.30
-G_M50755_IG09:        ; bbWeight=0.43, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG07:        ; bbWeight=0.43, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     x0, x19, #16
             ; byrRegs +[x0]
             ldr     x0, [x0, w24, UXTW #3]
@@ -100,9 +89,9 @@ G_M50755_IG09:        ; bbWeight=0.43, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             cmp     x1, x2
-            bne     G_M50755_IG12
+            bne     G_M50755_IG09
                        ;; size=32 bbWeight=0.43 PerfScore 4.10
-G_M50755_IG10:        ; bbWeight=0.41, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG08:        ; bbWeight=0.41, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             mov     x1, x23
             ; gcrRegs +[x1]
             ldr     x1, [x1]
@@ -111,13 +100,15 @@ G_M50755_IG10:        ; bbWeight=0.41, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, by
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             cmp     x1, x2
-            beq     G_M50755_IG05
-                       ;; size=28 bbWeight=0.41 PerfScore 2.69
-G_M50755_IG11:        ; bbWeight=0.10, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bne     G_M50755_IG10
+            ldr     x1, [x23, #0x50]
+            ldr     x0, [x0, #0x50]
             ; gcrRegs -[x0]
-            b       G_M50755_IG18
-                       ;; size=4 bbWeight=0.10 PerfScore 0.10
-G_M50755_IG12:        ; bbWeight=0.43, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+            cmp     x1, x0
+            bne     G_M50755_IG10
+            b       G_M50755_IG12
+                       ;; size=48 bbWeight=0.41 PerfScore 6.22
+G_M50755_IG09:        ; bbWeight=0.43, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             mov     x1, x23
             ; gcrRegs +[x1]
@@ -127,16 +118,20 @@ G_M50755_IG12:        ; bbWeight=0.43, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, by
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M50755_IG14
+            cbnz    w0, G_M50755_IG12
                       ;; size=24 bbWeight=0.43 PerfScore 4.97
-G_M50755_IG13:        ; bbWeight=0.43, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG10:        ; bbWeight=0.43, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
             ldr     w1, [x19, #0x08]
             cmp     w1, w24
-            ble     G_M50755_IG15
-            b       G_M50755_IG09
-                       ;; size=20 bbWeight=0.43 PerfScore 2.59
-G_M50755_IG14:        ; bbWeight=0.21, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bgt     G_M50755_IG07
+                       ;; size=16 bbWeight=0.43 PerfScore 2.16
+G_M50755_IG11:        ; bbWeight=0.03, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x23]
+            b       G_M50755_IG13
+                       ;; size=4 bbWeight=0.03 PerfScore 0.03
+G_M50755_IG12:        ; bbWeight=0.41, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x23]
             sxtw    x1, w24
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -145,14 +140,14 @@ G_M50755_IG14:        ; bbWeight=0.21, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2 x23]
             ; gcr arg pop 0
-                      ;; size=16 bbWeight=0.21 PerfScore 0.52
-G_M50755_IG15:        ; bbWeight=0.03, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+                     ;; size=16 bbWeight=0.41 PerfScore 1.04
+G_M50755_IG13:        ; bbWeight=0.03, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     w22, w22, #1
             ldr     w14, [x21, #0x08]
             cmp     w14, w22
-            bgt     G_M50755_IG08
+            bgt     G_M50755_IG06
                      ;; size=16 bbWeight=0.03 PerfScore 0.16
-G_M50755_IG16:        ; bbWeight=0.03, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M50755_IG14:        ; bbWeight=0.03, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             add     x14, x20, #8
             ; byrRegs +[x14]
@@ -162,23 +157,15 @@ G_M50755_IG16:        ; bbWeight=0.03, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ; gcrRegs -[x15 x19-x20]
             ; byrRegs -[x14]
                        ;; size=12 bbWeight=0.03 PerfScore 0.06
-G_M50755_IG17:        ; bbWeight=0.03, epilog, nogc, extend
+G_M50755_IG15:        ; bbWeight=0.03, 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=0.03 PerfScore 0.16
-G_M50755_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x19-x21 x23]
-            add     w24, w24, #1
-            ldr     w0, [x19, #0x08]
-            cmp     w0, w24
-            bgt     G_M50755_IG09
-            b       G_M50755_IG15
-                       ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 324, prolog size 28, PerfScore 38.52, instruction count 81, allocated bytes for code 324 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
+; Total bytes of code 300, prolog size 28, PerfScore 35.63, instruction count 75, allocated bytes for code 300 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -189,7 +176,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 81 (0x00051) Actual length = 324 (0x000144)
+  Function Length   : 75 (0x0004b) Actual length = 300 (0x00012c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+28 (+17.95%) : 617606.dasm - System.Collections.Concurrent.ConcurrentQueue1[System.Collections.Generic.KeyValuePair2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
@@ -14,111 +14,114 @@
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  4,  8   )     ref  ->   x3         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Collections.Generic.KeyValuePair`2[int,long]]>
-;  V05 tmp3         [V05,T06] (  5,  4.98)     ref  ->   x4         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T02] (  6,  5.96)     int  ->   x6         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->   x7         "Inline stloc first use temp"
+;  V05 tmp3         [V05,T06] (  5,  4.98)     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V06 tmp4         [V06,T02] (  6,  5.96)     int  ->   x5         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->   x6         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V09 tmp7         [V09,T11] (  3,  2.01)     int  ->   x8         "Inline stloc first use temp"
+;  V09 tmp7         [V09,T11] (  3,  2.01)     int  ->   x6         "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T04] (  3,  2.99)     int  ->   x1         single-def "field V01.key (fldOffset=0x0)" P-INDEP
 ;  V11 tmp9         [V11,T05] (  3,  2.99)    long  ->   x2         single-def "field V01.value (fldOffset=0x8)" P-INDEP
-;  V12 tmp10        [V12,T03] (  3,  5.93)   byref  ->   x3         single-def "BlockOp address local"
-;  V13 cse0         [V13,T07] (  4,  3.98)    long  ->   x7         "CSE - aggressive"
-;  V14 cse1         [V14,T09] (  3,  2.99)   byref  ->   x5         hoist "CSE - aggressive"
-;  V15 cse2         [V15,T12] (  2,  2   )     int  ->   x8         "CSE - aggressive"
-;  V16 cse3         [V16,T10] (  3,  2.96)     int  ->   x8         "CSE - aggressive"
+;  V12 tmp10        [V12,T03] (  3,  5.93)   byref  ->   x0         single-def "BlockOp address local"
+;  V13 cse0         [V13,T07] (  4,  3.98)    long  ->  x20         "CSE - aggressive"
+;  V14 cse1         [V14,T09] (  3,  2.99)   byref  ->   x4         hoist "CSE - aggressive"
+;  V15 cse2         [V15,T12] (  2,  2   )     int  ->   x7         "CSE - aggressive"
+;  V16 cse3         [V16,T10] (  3,  2.96)     int  ->  x21         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M53455_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-                       ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M53455_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0]
             ldapur  x3, [x0, #0x10]
             ; gcrRegs +[x3]
-            ldr     x4, [x3, #0x08]
-            ; gcrRegs +[x4]
-            add     x5, x3, #0xD1FFAB1E
-            ; byrRegs +[x5]
-                       ;; size=12 bbWeight=1 PerfScore 6.50
-G_M53455_IG03:        ; bbWeight=1, gcrefRegs=0019 {x0 x3 x4}, byrefRegs=0020 {x5}, byref, isz
-            ldapr   w6, [x5]
-            ldr     w7, [x3, #0x18]
-            and     w7, w6, w7
-            ldr     w8, [x4, #0x08]
-            cmp     w7, w8
-            bhs     G_M53455_IG10
-            mov     w8, #24
-            mov     x9, #16
-            umaddl  x7, w7, w8, x9
-            add     x8, x4, x7
-            ; byrRegs +[x8]
-            ldapr   w8, [x8]
-            ; byrRegs -[x8]
-            sub     w8, w8, w6
-            cbnz    w8, G_M53455_IG07
-                       ;; size=52 bbWeight=1 PerfScore 22.00
-G_M53455_IG04:        ; bbWeight=0.99, gcrefRegs=0019 {x0 x3 x4}, byrefRegs=0020 {x5}, byref, isz
-            add     w8, w6, #1
-            mov     w9, w6
-            casal   w9, w8, [x5]
-            cmp     w9, w6
-            bne     G_M53455_IG03
-                       ;; size=20 bbWeight=0.99 PerfScore 5.44
-G_M53455_IG05:        ; bbWeight=0.99, gcrefRegs=0010 {x4}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0 x3]
-            ; byrRegs -[x5]
-            add     x3, x4, x7
-            ; byrRegs +[x3]
-            str     w1, [x3, #0x08]
-            str     x2, [x3, #0x10]
-            add     x4, x4, x7
-            ; gcrRegs -[x4]
+            ldr     x19, [x3, #0x08]
+            ; gcrRegs +[x19]
+            add     x4, x3, #0xD1FFAB1E
             ; byrRegs +[x4]
-            stlr    w8, [x4]
-                       ;; size=20 bbWeight=0.99 PerfScore 3.95
-G_M53455_IG06:        ; bbWeight=0.99, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=0.99 PerfScore 1.98
-G_M53455_IG07:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=0019 {x0 x3 x4}, byrefRegs=0020 {x5}, gcvars, byref, isz
-            ; gcrRegs +[x0 x3-x4]
-            ; byrRegs -[x3-x4] +[x5]
-            tbz     w8, #31, G_M53455_IG03
+                       ;; size=12 bbWeight=1 PerfScore 6.50
+G_M53455_IG03:        ; bbWeight=1, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            ldapr   w5, [x4]
+            ldr     w6, [x3, #0x18]
+            and     w6, w5, w6
+            ldr     w7, [x19, #0x08]
+            cmp     w6, w7
+            bhs     G_M53455_IG10
+            mov     w7, #24
+            mov     x8, #16
+            umaddl  x20, w6, w7, x8
+            add     x6, x19, x20
+            ; byrRegs +[x6]
+            ldapr   w6, [x6]
+            ; byrRegs -[x6]
+            sub     w6, w6, w5
+            cbnz    w6, G_M53455_IG05
+                       ;; size=52 bbWeight=1 PerfScore 22.00
+G_M53455_IG04:        ; bbWeight=0.99, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            add     w21, w5, #1
+            mov     w6, w5
+            casal   w6, w21, [x4]
+            cmp     w6, w5
+            bne     G_M53455_IG03
+            b       G_M53455_IG08
+                       ;; size=24 bbWeight=0.99 PerfScore 6.42
+G_M53455_IG05:        ; bbWeight=0.01, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            tbz     w6, #31, G_M53455_IG03
                      ;; size=4 bbWeight=0.01 PerfScore 0.01
-G_M53455_IG08:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x3-x4]
-            ; byrRegs -[x5]
+G_M53455_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x3 x19]
+            ; byrRegs -[x4]
             movz    x3, #0xD1FFAB1E      // code for <unknown method>
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #1 LSL #32
             ldr     x3, [x3]
                        ;; size=16 bbWeight=1 PerfScore 4.50
-G_M53455_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M53455_IG07:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             br      x3
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=1 PerfScore 2.00
+                       ;; size=16 bbWeight=1 PerfScore 5.00
+G_M53455_IG08:        ; bbWeight=0.99, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0] +[x19]
+            add     x0, x19, x20
+            ; byrRegs +[x0]
+            str     w1, [x0, #0x08]
+            str     x2, [x0, #0x10]
+            add     x0, x19, x20
+            stlr    w21, [x0]
+                       ;; size=20 bbWeight=0.99 PerfScore 3.95
+G_M53455_IG09:        ; bbWeight=0.99, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
+            ret     lr
+                       ;; size=16 bbWeight=0.99 PerfScore 4.94
 G_M53455_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0]
+            ; gcrRegs -[x19]
+            ; byrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 156, prolog size 8, PerfScore 47.88, instruction count 39, allocated bytes for code 156 (MethodHash=d16f2f30) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
+; Total bytes of code 184, prolog size 16, PerfScore 56.83, instruction count 46, allocated bytes for code 184 (MethodHash=d16f2f30) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 39 (0x00027) Actual length = 156 (0x00009c)
+  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)
@@ -129,7 +132,9 @@ 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 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
 
  
+28 (+17.95%) : 620218.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Threading.CancellationToken]:Enqueue(System.Threading.CancellationToken):this (Tier1)
@@ -14,59 +14,85 @@
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  4,  8.03)     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Threading.CancellationToken]>
-;  V05 tmp3         [V05,T04] (  5,  4.95)     ref  ->   x3         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T02] (  6,  5.83)     int  ->  x14         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T06] (  3,  3.05)     int  ->  x15         "Inline stloc first use temp"
+;  V05 tmp3         [V05,T04] (  5,  4.95)     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V06 tmp4         [V06,T02] (  6,  5.83)     int  ->   x4         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T06] (  3,  3.05)     int  ->   x5         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V09 tmp7         [V09,T09] (  3,  2.12)     int  ->   x6         "Inline stloc first use temp"
+;  V09 tmp7         [V09,T09] (  3,  2.12)     int  ->   x5         "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T03] (  3,  2.96)     ref  ->   x1         single-def "field V01._source (fldOffset=0x0)" P-INDEP
-;  V11 cse0         [V11,T05] (  4,  3.95)    long  ->   x5         "CSE - aggressive"
-;  V12 cse1         [V12,T07] (  3,  2.94)   byref  ->   x4         hoist "CSE - aggressive"
-;  V13 cse2         [V13,T10] (  2,  2.03)     int  ->  x12         "CSE - aggressive"
-;  V14 cse3         [V14,T08] (  3,  2.81)     int  ->   x6         "CSE - aggressive"
+;  V11 cse0         [V11,T05] (  4,  3.95)    long  ->  x20         "CSE - aggressive"
+;  V12 cse1         [V12,T07] (  3,  2.94)   byref  ->   x3         hoist "CSE - aggressive"
+;  V13 cse2         [V13,T10] (  2,  2.03)     int  ->   x6         "CSE - aggressive"
+;  V14 cse3         [V14,T08] (  3,  2.81)     int  ->  x21         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M43759_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-                       ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M43759_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0-x1]
             ldapur  x2, [x0, #0x10]
             ; gcrRegs +[x2]
-            ldr     x3, [x2, #0x08]
-            ; gcrRegs +[x3]
-            add     x4, x2, #0xD1FFAB1E
-            ; byrRegs +[x4]
+            ldr     x19, [x2, #0x08]
+            ; gcrRegs +[x19]
+            add     x3, x2, #0xD1FFAB1E
+            ; byrRegs +[x3]
                         ;; size=12 bbWeight=1 PerfScore 6.50
-G_M43759_IG03:        ; bbWeight=1.02, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, byref, isz
-            ldapr   w14, [x4]
-            ldr     w15, [x2, #0x18]
-            and     w15, w14, w15
-            ldr     w12, [x3, #0x08]
-            cmp     w15, w12
-            bhs     G_M43759_IG10
-            ubfiz   x15, x15, #4, #32
-            add     x5, x15, #16
-            add     x15, x3, x5
-            ; byrRegs +[x15]
-            ldapr   w15, [x15]
-            ; byrRegs -[x15]
-            sub     w6, w15, w14
-            cbnz    w6, G_M43759_IG07
+G_M43759_IG03:        ; bbWeight=1.02, gcrefRegs=80007 {x0 x1 x2 x19}, byrefRegs=0008 {x3}, byref, isz
+            ldapr   w4, [x3]
+            ldr     w5, [x2, #0x18]
+            and     w5, w4, w5
+            ldr     w6, [x19, #0x08]
+            cmp     w5, w6
+            bhs     G_M43759_IG11
+            ubfiz   x5, x5, #4, #32
+            add     x20, x5, #16
+            add     x5, x19, x20
+            ; byrRegs +[x5]
+            ldapr   w5, [x5]
+            ; byrRegs -[x5]
+            sub     w5, w5, w4
+            cbnz    w5, G_M43759_IG06
                       ;; size=48 bbWeight=1.02 PerfScore 17.77
-G_M43759_IG04:        ; bbWeight=0.93, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, byref, isz
-            add     w6, w14, #1
-            mov     w15, w14
-            casal   w15, w6, [x4]
-            cmp     w15, w14
+G_M43759_IG04:        ; bbWeight=0.93, gcrefRegs=80007 {x0 x1 x2 x19}, byrefRegs=0008 {x3}, byref, isz
+            add     w21, w4, #1
+            mov     w5, w4
+            casal   w5, w21, [x3]
+            cmp     w5, w4
             bne     G_M43759_IG03
                        ;; size=20 bbWeight=0.93 PerfScore 5.10
-G_M43759_IG05:        ; bbWeight=0.96, gcrefRegs=000A {x1 x3}, byrefRegs=0000 {}, byref
+G_M43759_IG05:        ; bbWeight=0.91, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0 x2]
-            ; byrRegs -[x4]
-            add     x14, x3, x5
+            ; byrRegs -[x3]
+            b       G_M43759_IG09
+                       ;; size=4 bbWeight=0.91 PerfScore 0.91
+G_M43759_IG06:        ; bbWeight=0.09, gcrefRegs=80007 {x0 x1 x2 x19}, byrefRegs=0008 {x3}, byref, isz
+            ; gcrRegs +[x0 x2]
+            ; byrRegs +[x3]
+            tbz     w5, #31, G_M43759_IG03
+                       ;; size=4 bbWeight=0.09 PerfScore 0.09
+G_M43759_IG07:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x2 x19]
+            ; byrRegs -[x3]
+            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #1 LSL #32
+            ldr     x2, [x2]
+                       ;; size=16 bbWeight=1 PerfScore 4.50
+G_M43759_IG08:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
+            br      x2
+            ; gcr arg pop 0
+                       ;; size=16 bbWeight=1 PerfScore 5.00
+G_M43759_IG09:        ; bbWeight=0.96, gcVars=0000000000000000 {}, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0] +[x19]
+            add     x14, x19, x20
             ; byrRegs +[x14]
             add     x14, x14, #8
             mov     x15, x1
@@ -74,51 +100,36 @@ G_M43759_IG05:        ; bbWeight=0.96, gcrefRegs=000A {x1 x3}, byrefRegs=0000 {}
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x1 x15]
             ; byrRegs -[x14]
-            add     x2, x3, x5
-            ; byrRegs +[x2]
-            stlr    w6, [x2]
+            add     x0, x19, x20
+            ; byrRegs +[x0]
+            stlr    w21, [x0]
                       ;; size=24 bbWeight=0.96 PerfScore 3.84
-G_M43759_IG06:        ; bbWeight=0.96, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M43759_IG10:        ; bbWeight=0.96, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=8 bbWeight=0.96 PerfScore 1.92
-G_M43759_IG07:        ; bbWeight=0.09, gcVars=0000000000000000 {}, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, gcvars, byref, isz
-            ; gcrRegs +[x0-x2]
-            ; byrRegs -[x2] +[x4]
-            tbz     w6, #31, G_M43759_IG03
-                       ;; size=4 bbWeight=0.09 PerfScore 0.09
-G_M43759_IG08:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x2-x3]
-            ; byrRegs -[x4]
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #1 LSL #32
-            ldr     x2, [x2]
-                       ;; size=16 bbWeight=1 PerfScore 4.50
-G_M43759_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            br      x2
-            ; gcr arg pop 0
-                       ;; size=8 bbWeight=1 PerfScore 2.00
-G_M43759_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0-x1]
+                       ;; size=16 bbWeight=0.96 PerfScore 4.80
+G_M43759_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x19]
+            ; byrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 156, prolog size 8, PerfScore 43.21, instruction count 39, allocated bytes for code 156 (MethodHash=45c55510) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Threading.CancellationToken]:Enqueue(System.Threading.CancellationToken):this (Tier1)
+; Total bytes of code 184, prolog size 16, PerfScore 52.00, instruction count 46, allocated bytes for code 184 (MethodHash=45c55510) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Threading.CancellationToken]:Enqueue(System.Threading.CancellationToken):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 39 (0x00027) Actual length = 156 (0x00009c)
+  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)
@@ -129,7 +140,9 @@ 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 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
 
  
+28 (+19.44%) : 533226.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
@@ -18,18 +18,20 @@
 ;  V06 tmp4         [V06,T03] (  6,  5.97)     int  ->   x5         "Inline stloc first use temp"
 ;  V07 tmp5         [V07,T05] (  3,  3   )     int  ->   x6         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V09 tmp7         [V09,T10] (  3,  2.01)     int  ->   x8         "Inline stloc first use temp"
-;  V10 cse0         [V10,T06] (  3,  3.00)   byref  ->   x7         "CSE - aggressive"
-;  V11 cse1         [V11,T07] (  3,  3.00)   byref  ->   x6         "CSE - aggressive"
+;  V09 tmp7         [V09,T10] (  3,  2.01)     int  ->   x6         "Inline stloc first use temp"
+;  V10 cse0         [V10,T06] (  3,  3.00)   byref  ->  x20         "CSE - aggressive"
+;  V11 cse1         [V11,T07] (  3,  3.00)   byref  ->  x19         "CSE - aggressive"
 ;  V12 cse2         [V12,T08] (  3,  2.99)   byref  ->   x4         hoist "CSE - aggressive"
-;  V13 cse3         [V13,T09] (  3,  2.98)     int  ->   x8         "CSE - aggressive"
+;  V13 cse3         [V13,T09] (  3,  2.98)     int  ->  x21         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M7919_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-                       ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M7919_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0]
             ldapur  x2, [x0, #0x10]
@@ -48,37 +50,27 @@ G_M7919_IG03:        ; bbWeight=1, gcrefRegs=000D {x0 x2 x3}, byrefRegs=0010 {x4
             bhs     G_M7919_IG10
             ubfiz   x6, x6, #3, #32
             add     x6, x6, #16
-            add     x6, x3, x6
-            ; byrRegs +[x6]
-            add     x7, x6, #4
-            ; byrRegs +[x7]
-            ldapr   w8, [x7]
-            sub     w8, w8, w5
-            cbnz    w8, G_M7919_IG07
+            add     x19, x3, x6
+            ; byrRegs +[x19]
+            add     x20, x19, #4
+            ; byrRegs +[x20]
+            ldapr   w6, [x20]
+            sub     w6, w6, w5
+            cbnz    w6, G_M7919_IG05
                        ;; size=52 bbWeight=1 PerfScore 18.00
-G_M7919_IG04:        ; bbWeight=0.99, gcrefRegs=000D {x0 x2 x3}, byrefRegs=00D0 {x4 x6 x7}, byref, isz
-            add     w8, w5, #1
-            mov     w9, w5
-            casal   w9, w8, [x4]
-            cmp     w9, w5
+G_M7919_IG04:        ; bbWeight=0.99, gcrefRegs=000D {x0 x2 x3}, byrefRegs=180010 {x4 x19 x20}, byref, isz
+            add     w21, w5, #1
+            mov     w6, w5
+            casal   w6, w21, [x4]
+            cmp     w6, w5
             bne     G_M7919_IG03
-                       ;; size=20 bbWeight=0.99 PerfScore 5.45
-G_M7919_IG05:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=00C0 {x6 x7}, byref
-            ; gcrRegs -[x0 x2-x3]
-            ; byrRegs -[x4]
-            str     w1, [x6]
-            stlr    w8, [x7]
-                       ;; size=8 bbWeight=1.00 PerfScore 1.99
-G_M7919_IG06:        ; bbWeight=1.00, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=1.00 PerfScore 1.99
-G_M7919_IG07:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=000D {x0 x2 x3}, byrefRegs=0010 {x4}, gcvars, byref, isz
-            ; gcrRegs +[x0 x2-x3]
-            ; byrRegs -[x6-x7] +[x4]
-            tbz     w8, #31, G_M7919_IG03
+            b       G_M7919_IG08
+                       ;; size=24 bbWeight=0.99 PerfScore 6.44
+G_M7919_IG05:        ; bbWeight=0.01, gcrefRegs=000D {x0 x2 x3}, byrefRegs=0010 {x4}, byref, isz
+            ; byrRegs -[x19-x20]
+            tbz     w6, #31, G_M7919_IG03
                       ;; size=4 bbWeight=0.01 PerfScore 0.01
-G_M7919_IG08:        ; bbWeight=1.00, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M7919_IG06:        ; bbWeight=1.00, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x2-x3]
             ; byrRegs -[x4]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
@@ -86,30 +78,44 @@ G_M7919_IG08:        ; bbWeight=1.00, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, by
             movk    x2, #1 LSL #32
             ldr     x2, [x2]
                        ;; size=16 bbWeight=1.00 PerfScore 4.50
-G_M7919_IG09:        ; bbWeight=1.00, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M7919_IG07:        ; bbWeight=1.00, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             br      x2
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=1.00 PerfScore 2.00
-G_M7919_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                       ;; size=16 bbWeight=1.00 PerfScore 5.00
+G_M7919_IG08:        ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=180000 {x19 x20}, gcvars, byref
             ; gcrRegs -[x0]
+            ; byrRegs +[x19-x20]
+            str     w1, [x19]
+            stlr    w21, [x20]
+                       ;; size=8 bbWeight=1.00 PerfScore 1.99
+G_M7919_IG09:        ; bbWeight=1.00, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
+            ret     lr
+                       ;; size=16 bbWeight=1.00 PerfScore 4.98
+G_M7919_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            ; byrRegs -[x19-x20]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 144, prolog size 8, PerfScore 41.94, instruction count 36, allocated bytes for code 144 (MethodHash=ce54e110) for method System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
+; Total bytes of code 172, prolog size 16, PerfScore 50.91, instruction count 43, allocated bytes for code 172 (MethodHash=ce54e110) for method System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 36 (0x00024) Actual length = 144 (0x000090)
+  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)
@@ -120,7 +126,9 @@ 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 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
 
  
  
librariestestsnotieredcompilation.run.osx.arm64.Release.mch
-4 (-3.57%) : 10178.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
@@ -25,7 +25,7 @@ G_M65070_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ; gcrRegs +[x0]
             mov     x19, x0
             ; gcrRegs +[x19]
-            cbz     x19, G_M65070_IG09
+            cbz     x19, G_M65070_IG06
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M65070_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -39,12 +39,12 @@ G_M65070_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs -[x0]
             mov     w1, #0xD1FFAB1E
             cmp     w0, w1
-            beq     G_M65070_IG07
+            beq     G_M65070_IG08
                        ;; size=36 bbWeight=4 PerfScore 32.00
 G_M65070_IG04:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     w1, #0xD1FFAB1E
             cmp     w0, w1
-            beq     G_M65070_IG07
+            beq     G_M65070_IG08
                        ;; size=12 bbWeight=2 PerfScore 4.00
 G_M65070_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x19, #0x08]
@@ -52,26 +52,23 @@ G_M65070_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
                        ;; size=8 bbWeight=4 PerfScore 16.00
 G_M65070_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
-            b       G_M65070_IG09
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M65070_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #1
-                       ;; size=4 bbWeight=2 PerfScore 1.00
-G_M65070_IG08:        ; bbWeight=2, epilog, nogc, extend
+            mov     w0, wzr
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M65070_IG07:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
-                       ;; size=12 bbWeight=2 PerfScore 8.00
-G_M65070_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            mov     w0, wzr
+                      ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M65070_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, #1
                      ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M65070_IG10:        ; bbWeight=0.50, epilog, nogc, extend
+G_M65070_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 112, prolog size 12, PerfScore 67.75, instruction count 28, allocated bytes for code 112 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
+; Total bytes of code 108, prolog size 12, PerfScore 60.50, instruction count 27, allocated bytes for code 108 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -82,7 +79,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
+  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-3.57%) : 50270.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
@@ -25,7 +25,7 @@ G_M65070_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ; gcrRegs +[x0]
             mov     x19, x0
             ; gcrRegs +[x19]
-            cbz     x19, G_M65070_IG09
+            cbz     x19, G_M65070_IG06
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M65070_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -39,12 +39,12 @@ G_M65070_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs -[x0]
             mov     w1, #0xD1FFAB1E
             cmp     w0, w1
-            beq     G_M65070_IG07
+            beq     G_M65070_IG08
                        ;; size=36 bbWeight=4 PerfScore 32.00
 G_M65070_IG04:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     w1, #0xD1FFAB1E
             cmp     w0, w1
-            beq     G_M65070_IG07
+            beq     G_M65070_IG08
                        ;; size=12 bbWeight=2 PerfScore 4.00
 G_M65070_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x19, #0x08]
@@ -52,26 +52,23 @@ G_M65070_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
                        ;; size=8 bbWeight=4 PerfScore 16.00
 G_M65070_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
-            b       G_M65070_IG09
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M65070_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #1
-                       ;; size=4 bbWeight=2 PerfScore 1.00
-G_M65070_IG08:        ; bbWeight=2, epilog, nogc, extend
+            mov     w0, wzr
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M65070_IG07:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
-                       ;; size=12 bbWeight=2 PerfScore 8.00
-G_M65070_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            mov     w0, wzr
+                      ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M65070_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, #1
                      ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M65070_IG10:        ; bbWeight=0.50, epilog, nogc, extend
+G_M65070_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 112, prolog size 12, PerfScore 67.75, instruction count 28, allocated bytes for code 112 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
+; Total bytes of code 108, prolog size 12, PerfScore 60.50, instruction count 27, allocated bytes for code 108 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -82,7 +79,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
+  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-28 (-3.45%) : 10107.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>cDisplayClass11_0[ushort]:gexecuteExecutableCodeActions|2():this (FullOpts)
@@ -22,20 +22,20 @@
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.DeclarationInfo[]>
 ;* V12 tmp5         [V12    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IOperation]>
 ;* V13 tmp6         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ushort]>
-;  V14 tmp7         [V14,T03] (  4, 12.50)     int  ->   x4         "Inline stloc first use temp"
+;  V14 tmp7         [V14,T03] (  4, 12.50)     int  ->   x3         "Inline stloc first use temp"
 ;  V15 tmp8         [V15,T06] (  5,  5.50)     ref  ->  x19         "field V01.array (fldOffset=0x0)" P-INDEP
 ;  V16 tmp9         [V16,T08] (  2,  4.50)     ref  ->   x1         single-def "field V03._array (fldOffset=0x0)" P-INDEP
-;  V17 tmp10        [V17,T02] (  4, 12.50)     int  ->   x5         "field V03._index (fldOffset=0x8)" P-INDEP
-;  V18 tmp11        [V18,T04] (  3, 10   )     ref  ->   x6         "field V04.<DeclaredNode>k__BackingField (fldOffset=0x0)" P-INDEP
+;  V17 tmp10        [V17,T02] (  4, 12.50)     int  ->   x4         "field V03._index (fldOffset=0x8)" P-INDEP
+;  V18 tmp11        [V18,T04] (  3, 10   )     ref  ->   x5         "field V04.<DeclaredNode>k__BackingField (fldOffset=0x0)" P-INDEP
 ;* V19 tmp12        [V19    ] (  0,  0   )     ref  ->  zero-ref    "field V04.<DeclaredSymbol>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V20 tmp13        [V20,T05] (  2,  6   )     ref  ->   x4         "field V04.<ExecutableCodeBlocks>k__BackingField (fldOffset=0x10)" P-INDEP
+;  V20 tmp13        [V20,T05] (  2,  6   )     ref  ->   x3         "field V04.<ExecutableCodeBlocks>k__BackingField (fldOffset=0x10)" P-INDEP
 ;  V21 tmp14        [V21,T11] (  5,  2   )     ref  ->  [fp+0x18]  do-not-enreg[H] EH-live "field V05.array (fldOffset=0x0)" P-INDEP
-;  V22 tmp15        [V22,T10] (  5,  2.50)     ref  ->  x20         "field V06.array (fldOffset=0x0)" P-INDEP
+;  V22 tmp15        [V22,T10] (  5,  2.50)     ref  ->  x21         "field V06.array (fldOffset=0x0)" P-INDEP
 ;  V23 tmp16        [V23,T12] (  3,  1.50)     ref  ->   x1         single-def "field V09.array (fldOffset=0x0)" P-INDEP
 ;  V24 tmp17        [V24,T13] (  2,  1   )     ref  ->   x1         single-def "field V10._array (fldOffset=0x0)" P-INDEP
 ;* V25 tmp18        [V25,T15] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x8)" P-INDEP
 ;* V26 tmp19        [V26    ] (  0,  0   )     ref  ->  zero-ref    "field V12.array (fldOffset=0x0)" P-INDEP
-;  V27 tmp20        [V27,T00] (  3, 24   )   byref  ->   x4         "BlockOp address local"
+;  V27 tmp20        [V27,T00] (  3, 24   )   byref  ->   x3         "BlockOp address local"
 ;  V28 PSPSym       [V28,T14] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
 ;  V29 cse0         [V29,T07] (  3,  5   )     int  ->   x2         "CSE - aggressive"
 ;
@@ -97,96 +97,95 @@ G_M10501_IG05:        ; bbWeight=0.50, gcVars=0000000000000002 {V00}, gcrefRegs=
             ldr     wzr, [x0]
             blr     x1
             ; gcr arg pop 0
-            mov     x3, x0
-            ; gcrRegs +[x3]
-            str     x3, [fp, #0x20]    // [V02 loc1]
+            str     x0, [fp, #0x20]  // [V02 loc1]
             ; GC ptr vars +{V02}
-                     ;; size=88 bbWeight=0.50 PerfScore 12.50
-G_M10501_IG06:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=80008 {x3 x19}, byrefRegs=0000 {}, gcvars, byref, isz
+                        ;; size=84 bbWeight=0.50 PerfScore 12.25
+G_M10501_IG06:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [fp, #0x28] // [V00 this]
-            ; gcrRegs +[x0]
-            ldr     x1, [x0, #0x68]
+            ldr     x20, [fp, #0x28]  // [V00 this]
+            ; gcrRegs +[x20]
+            ldr     x1, [x20, #0x68]
             ; gcrRegs +[x1]
             ldr     w2, [x1, #0x08]
+            mov     w3, wzr
             mov     w4, wzr
-            mov     w5, wzr
             cmp     w2, #0
             ble     G_M10501_IG11
                        ;; size=28 bbWeight=0.50 PerfScore 5.25
-G_M10501_IG07:        ; bbWeight=4, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0000 {}, byref, isz
-            mov     w6, #24
-            mov     x7, #16
-            umaddl  x4, w4, w6, x7
-            add     x4, x1, x4
-            ; byrRegs +[x4]
-            ldr     x6, [x4]
+G_M10501_IG07:        ; bbWeight=4, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=0000 {}, byref, isz
+            mov     w5, #24
+            mov     x6, #16
+            umaddl  x3, w3, w5, x6
+            add     x3, x1, x3
+            ; byrRegs +[x3]
+            ldr     x5, [x3]
+            ; gcrRegs +[x5]
+            ldr     x3, [x3, #0x10]
+            ; gcrRegs +[x3]
+            ; byrRegs -[x3]
+            ldr     x6, [x20, #0x50]
             ; gcrRegs +[x6]
-            ldr     x4, [x4, #0x10]
-            ; gcrRegs +[x4]
-            ; byrRegs -[x4]
-            ldr     x7, [x0, #0x50]
-            ; gcrRegs +[x7]
-            cmp     x6, x7
+            cmp     x5, x6
             beq     G_M10501_IG09
                        ;; size=36 bbWeight=4 PerfScore 68.00
-G_M10501_IG08:        ; bbWeight=2, gcrefRegs=8005B {x0 x1 x3 x4 x6 x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x7]
-            ldr     x7, [x0, #0x48]
-            ; gcrRegs +[x7]
-            cmp     x6, x7
+G_M10501_IG08:        ; bbWeight=2, gcrefRegs=18002A {x1 x3 x5 x19 x20}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x6]
+            ldr     x6, [x20, #0x48]
+            ; gcrRegs +[x6]
+            cmp     x5, x6
             bne     G_M10501_IG10
                        ;; size=12 bbWeight=2 PerfScore 9.00
-G_M10501_IG09:        ; bbWeight=2, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x6-x7 x19]
-            mov     x19, x4
+G_M10501_IG09:        ; bbWeight=2, gcrefRegs=10000A {x1 x3 x20}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x5-x6 x19]
+            mov     x19, x3
             ; gcrRegs +[x19]
-            ldr     w4, [x19, #0x08]
-            ; gcrRegs -[x4]
-            cbnz    w4, G_M10501_IG12
+            ldr     w3, [x19, #0x08]
+            ; gcrRegs -[x3]
+            cbnz    w3, G_M10501_IG12
                       ;; size=12 bbWeight=2 PerfScore 9.00
-G_M10501_IG10:        ; bbWeight=4, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0000 {}, byref, isz
-            add     w4, w5, #1
-            sxtw    w5, w4
-            cmp     w2, w5
+G_M10501_IG10:        ; bbWeight=4, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=0000 {}, byref, isz
+            add     w3, w4, #1
+            sxtw    w4, w3
+            cmp     w2, w4
             bgt     G_M10501_IG07
                        ;; size=16 bbWeight=4 PerfScore 10.00
-G_M10501_IG11:        ; bbWeight=0.50, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0000 {}, byref
+G_M10501_IG11:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x1]
+            mov     x0, x20
+            ; gcrRegs +[x0]
             mov     x1, x19
             ; gcrRegs +[x1]
-            mov     x2, x3
+            ldr     x2, [fp, #0x20]   // [V02 loc1]
             ; gcrRegs +[x2]
-            movz    x4, #0xD1FFAB1E      // code for <unknown method>
-            movk    x4, #0xD1FFAB1E LSL #16
-            movk    x4, #1 LSL #32
-            ldr     x4, [x4]
+            movz    x3, #0xD1FFAB1E      // code for <unknown method>
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #1 LSL #32
+            ldr     x3, [x3]
             ; GC ptr vars -{V00}
-            blr     x4
-            ; gcrRegs -[x0-x3 x19]
+            blr     x3
+            ; gcrRegs -[x0-x2 x19-x20]
             ; gcr arg pop 0
             b       G_M10501_IG17
-                        ;; size=32 bbWeight=0.50 PerfScore 3.75
-G_M10501_IG12:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x3 x19]
+                       ;; size=36 bbWeight=0.50 PerfScore 4.75
+G_M10501_IG12:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x19-x20]
             ; GC ptr vars +{V00}
-            ldrb    w1, [x0, #0x42]
-            ldrb    w2, [x0, #0x44]
+            ldrb    w1, [x20, #0x42]
+            ldrb    w2, [x20, #0x44]
             orr     w1, w1, w2
             cbz     w1, G_M10501_IG13
-            ldr     x0, [x0, #0x08]
-            ldr     x20, [fp, #0x28]   // [V00 this]
-            ; gcrRegs +[x20]
+            ldr     x0, [x20, #0x08]
+            ; gcrRegs +[x0]
             ldr     x1, [x20, #0x18]
             ; gcrRegs +[x1]
-            mov     x2, x3
+            ldr     x2, [fp, #0x20]   // [V02 loc1]
             ; gcrRegs +[x2]
-            movz    x4, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ushort]:<ExecuteDeclaringReferenceActions>g__addExecutableCodeBlockAnalyzerActions|11_8(Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+GroupedAnalyzerActions[ushort],Microsoft.CodeAnalysis.Diagnostics.AnalysisScope,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+ExecutableCodeBlockAnalyzerActions[ushort]])
-            movk    x4, #0xD1FFAB1E LSL #16
-            movk    x4, #1 LSL #32
-            ldr     x4, [x4]
-            blr     x4
-            ; gcrRegs -[x0-x3]
+            movz    x3, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ushort]:<ExecuteDeclaringReferenceActions>g__addExecutableCodeBlockAnalyzerActions|11_8(Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+GroupedAnalyzerActions[ushort],Microsoft.CodeAnalysis.Diagnostics.AnalysisScope,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+ExecutableCodeBlockAnalyzerActions[ushort]])
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #1 LSL #32
+            ldr     x3, [x3]
+            blr     x3
+            ; gcrRegs -[x0-x2]
             ; gcr arg pop 0
             ldp     x0, x1, [x20, #0x10]
             ; gcrRegs +[x0-x1]
@@ -199,32 +198,28 @@ G_M10501_IG12:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefR
             blr     x3
             ; gcrRegs -[x0-x2]
             ; gcr arg pop 0
-            mov     x0, x20
-            ; gcrRegs +[x0]
-            ldr     x3, [fp, #0x20]    // [V02 loc1]
-            ; gcrRegs +[x3]
-                       ;; size=88 bbWeight=0.50 PerfScore 17.75
-G_M10501_IG13:        ; bbWeight=0.50, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x20]
-            ldrb    w2, [x0, #0x43]
-            ldrb    w1, [x0, #0x44]
+                      ;; size=76 bbWeight=0.50 PerfScore 16.25
+G_M10501_IG13:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
+            ldrb    w2, [x20, #0x43]
+            ldrb    w1, [x20, #0x44]
             orr     w2, w2, w1
             cbz     w2, G_M10501_IG11
-            ldr     x2, [x0, #0x70]
+            ldr     x2, [x20, #0x70]
             ; gcrRegs +[x2]
-            ldr     x1, [x0, #0x28]
+            ldr     x1, [x20, #0x28]
             ; gcrRegs +[x1]
             mov     x0, x19
-            movz    x4, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ushort]:GetOperationBlocksToAnalyze(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxNode],Microsoft.CodeAnalysis.SemanticModel,System.Threading.CancellationToken):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IOperation]
-            movk    x4, #0xD1FFAB1E LSL #16
-            movk    x4, #1 LSL #32
-            ldr     x4, [x4]
-            blr     x4
-            ; gcrRegs -[x1-x3]
+            ; gcrRegs +[x0]
+            movz    x3, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ushort]:GetOperationBlocksToAnalyze(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxNode],Microsoft.CodeAnalysis.SemanticModel,System.Threading.CancellationToken):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IOperation]
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #1 LSL #32
+            ldr     x3, [x3]
+            blr     x3
+            ; gcrRegs -[x1-x2]
             ; gcr arg pop 0
             str     x0, [fp, #0x18]    // [V21 tmp14]
             ; GC ptr vars +{V21}
-            ldr     x0, [fp, #0x28]  // [V00 this]
+            mov     x0, x20
             ldr     x1, [fp, #0x18]   // [V21 tmp14]
             ; gcrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
@@ -234,22 +229,22 @@ G_M10501_IG13:        ; bbWeight=0.50, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=00
             blr     x2
             ; gcrRegs -[x1]
             ; gcr arg pop 0
-            mov     x20, x0
-            ; gcrRegs +[x20]
-            ldr     w2, [x20, #0x08]
-            ldp     x3, x0, [fp, #0x20]    // [V02 loc1], [V00 this]
-            ; gcrRegs +[x3]
+            mov     x21, x0
+            ; gcrRegs +[x21]
+            ldr     w2, [x21, #0x08]
             cbz     w2, G_M10501_IG11
-                        ;; size=96 bbWeight=0.50 PerfScore 18.75
-G_M10501_IG14:        ; bbWeight=0.50, gcrefRegs=180009 {x0 x3 x19 x20}, byrefRegs=0000 {}, byref, isz
-            ldrb    w2, [x0, #0x43]
+                      ;; size=92 bbWeight=0.50 PerfScore 16.50
+G_M10501_IG14:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x0]
+            ldrb    w2, [x20, #0x43]
...
  
+16 (+2.82%) : 65807.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct]:EnqueueSlow(System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct):this (FullOpts)
@@ -16,121 +16,121 @@
 ;* V05 loc3         [V05    ] (  0,  0   )     int  ->  zero-ref   
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct]>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T16] (  3,  6   )     int  ->  x24        
+;  V08 tmp1         [V08,T16] (  3,  6   )     int  ->  x26        
 ;  V09 tmp2         [V09,T08] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct]>
 ;* V10 tmp3         [V10,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V11 tmp4         [V11,T03] (  5,140   )     ref  ->   x1         class-hnd exact "Inline stloc first use temp" <<unknown class>>
-;  V12 tmp5         [V12,T00] (  7,242   )     int  ->   x0         "Inline stloc first use temp"
-;  V13 tmp6         [V13,T01] (  5,196   )     int  ->   x2         "Inline stloc first use temp"
+;  V11 tmp4         [V11,T03] (  5,140   )     ref  ->  x23         class-hnd exact "Inline stloc first use temp" <<unknown class>>
+;  V12 tmp5         [V12,T00] (  7,242   )     int  ->  x25         "Inline stloc first use temp"
+;  V13 tmp6         [V13,T01] (  5,196   )     int  ->  x26         "Inline stloc first use temp"
 ;* V14 tmp7         [V14    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V15 tmp8         [V15,T02] (  3,144   )     int  ->   x3         "Inline stloc first use temp"
+;  V15 tmp8         [V15,T02] (  3,144   )     int  ->   x1         "Inline stloc first use temp"
 ;  V16 tmp9         [V16,T09] (  2, 16   )   ubyte  ->   x0         "Inlining Arg"
-;  V17 tmp10        [V17,T13] (  2,  8   )   byref  ->  x23         "impAppendStmt"
+;  V17 tmp10        [V17,T13] (  2,  8   )   byref  ->  x24         "impAppendStmt"
 ;  V18 tmp11        [V18,T14] (  2,  8   )     int  ->   x0         "Inlining Arg"
-;  V19 tmp12        [V19,T17] (  3,  4   )     int  ->  x24         "Inline return value spill temp"
-;  V20 tmp13        [V20,T11] (  3, 10.96)     int  ->  x23         "Inlining Arg"
+;  V19 tmp12        [V19,T17] (  3,  4   )     int  ->  x26         "Inline return value spill temp"
+;  V20 tmp13        [V20,T11] (  3, 10.96)     int  ->  x25         "Inlining Arg"
 ;  V21 PSPSym       [V21,T19] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
-;  V22 cse0         [V22,T05] (  4, 90   )   byref  ->  x23         hoist "CSE - aggressive"
+;  V22 cse0         [V22,T05] (  4, 90   )   byref  ->  x24         hoist "CSE - aggressive"
 ;  V23 cse1         [V23,T06] (  4, 22   )   byref  ->  x21         "CSE - aggressive"
 ;  V24 cse2         [V24,T15] (  3,  6   )     ref  ->   x1         "CSE - aggressive"
 ;
 ; Lcl frame size = 32
 
 G_M53544_IG01:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x60]!
+            stp     fp, lr, [sp, #-0x70]!
             stp     x19, x20, [sp, #0x30]
             stp     x21, x22, [sp, #0x40]
             stp     x23, x24, [sp, #0x50]
+            stp     x25, x26, [sp, #0x60]
             mov     fp, sp
-            add     x2, sp, #96
+            add     x2, sp, #112
             str     x2, [fp, #0x28]   // [V21 PSPSym]
             mov     x19, x0
             ; gcrRegs +[x19]
             mov     x20, x1
             ; byrRegs +[x20]
-                     ;; size=36 bbWeight=8 PerfScore 56.00
+                     ;; size=40 bbWeight=8 PerfScore 64.00
 G_M53544_IG02:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref
             add     x21, x19, #16
             ; byrRegs +[x21]
             ldapr   x22, [x21]
             ; gcrRegs +[x22]
-            ldr     x1, [x22, #0x08]
-            ; gcrRegs +[x1]
-            add     x23, x22, #0xD1FFAB1E
-            ; byrRegs +[x23]
+            ldr     x23, [x22, #0x08]
+            ; gcrRegs +[x23]
+            add     x24, x22, #0xD1FFAB1E
+            ; byrRegs +[x24]
                        ;; size=16 bbWeight=8 PerfScore 56.00
-G_M53544_IG03:        ; bbWeight=64, gcrefRegs=480002 {x1 x19 x22}, byrefRegs=B00000 {x20 x21 x23}, byref, isz
-            ldapr   w0, [x23]
-            ldr     w2, [x22, #0x18]
-            and     w2, w0, w2
-            ldr     w3, [x1, #0x08]
-            cmp     w2, w3
+G_M53544_IG03:        ; bbWeight=64, gcrefRegs=C80000 {x19 x22 x23}, byrefRegs=1300000 {x20 x21 x24}, byref, isz
+            ldapr   w25, [x24]
+            ldr     w1, [x22, #0x18]
+            and     w26, w25, w1
+            ldr     w1, [x23, #0x08]
+            cmp     w26, w1
             bhs     G_M53544_IG24
-            mov     w3, #72
-            mov     x4, #16
-            umaddl  x3, w2, w3, x4
-            add     x3, x1, x3
-            ; byrRegs +[x3]
-            ldapr   w3, [x3]
-            ; byrRegs -[x3]
-            sub     w3, w3, w0
-            cbnz    w3, G_M53544_IG06
+            mov     w1, #72
+            mov     x0, #16
+            umaddl  x1, w26, w1, x0
+            add     x1, x23, x1
+            ; byrRegs +[x1]
+            ldapr   w1, [x1]
+            ; byrRegs -[x1]
+            sub     w1, w1, w25
+            cbnz    w1, G_M53544_IG06
                       ;; size=52 bbWeight=64 PerfScore 1408.00
-G_M53544_IG04:        ; bbWeight=16, gcrefRegs=480002 {x1 x19 x22}, byrefRegs=B00000 {x20 x21 x23}, byref, isz
-            add     w3, w0, #1
-            mov     w4, w0
-            casal   w4, w3, [x23]
-            cmp     w4, w0
+G_M53544_IG04:        ; bbWeight=16, gcrefRegs=C80000 {x19 x22 x23}, byrefRegs=1300000 {x20 x21 x24}, byref, isz
+            add     w1, w25, #1
+            mov     w0, w25
+            casal   w0, w1, [x24]
+            cmp     w0, w25
             bne     G_M53544_IG03
                        ;; size=20 bbWeight=16 PerfScore 88.00
-G_M53544_IG05:        ; bbWeight=8, gcrefRegs=0002 {x1}, byrefRegs=100000 {x20}, byref
+G_M53544_IG05:        ; bbWeight=2, gcrefRegs=800000 {x23}, byrefRegs=100000 {x20}, byref
             ; gcrRegs -[x19 x22]
-            ; byrRegs -[x21 x23]
+            ; byrRegs -[x21 x24]
             b       G_M53544_IG08
-                        ;; size=4 bbWeight=8 PerfScore 8.00
-G_M53544_IG06:        ; bbWeight=16, gcrefRegs=480002 {x1 x19 x22}, byrefRegs=B00000 {x20 x21 x23}, byref, isz
+                       ;; size=4 bbWeight=2 PerfScore 2.00
+G_M53544_IG06:        ; bbWeight=16, gcrefRegs=C80000 {x19 x22 x23}, byrefRegs=1300000 {x20 x21 x24}, byref, isz
             ; gcrRegs +[x19 x22]
-            ; byrRegs +[x21 x23]
-            tbz     w3, #31, G_M53544_IG03
+            ; byrRegs +[x21 x24]
+            tbz     w1, #31, G_M53544_IG03
                      ;; size=4 bbWeight=16 PerfScore 16.00
-G_M53544_IG07:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=B00000 {x20 x21 x23}, byref
-            ; gcrRegs -[x1]
+G_M53544_IG07:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=1300000 {x20 x21 x24}, byref
+            ; gcrRegs -[x23]
             b       G_M53544_IG09
                        ;; size=4 bbWeight=2 PerfScore 2.00
-G_M53544_IG08:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs -[x19 x22] +[x1]
-            ; byrRegs -[x21 x23]
-            mov     w3, #72
-            mov     x4, #16
-            umaddl  x3, w2, w3, x4
-            add     x3, x1, x3
-            ; byrRegs +[x3]
-            add     x3, x3, #8
+G_M53544_IG08:        ; bbWeight=2, gcrefRegs=800000 {x23}, byrefRegs=100000 {x20}, byref
+            ; gcrRegs -[x19 x22] +[x23]
+            ; byrRegs -[x21 x24]
+            mov     w0, #72
+            mov     x1, #16
+            umaddl  x0, w26, w0, x1
+            add     x0, x23, x0
+            ; byrRegs +[x0]
+            add     x0, x0, #8
             ldp     q16, q17, [x20]
-            stp     q16, q17, [x3]
+            stp     q16, q17, [x0]
             ldp     q16, q17, [x20, #0x20]
-            stp     q16, q17, [x3, #0x20]
-            mov     w3, #72
-            ; byrRegs -[x3]
-            mov     x4, #16
-            umaddl  x2, w2, w3, x4
-            add     x1, x1, x2
-            ; gcrRegs -[x1]
-            ; byrRegs +[x1]
-            add     w0, w0, #1
-            stlr    w0, [x1]
+            stp     q16, q17, [x0, #0x20]
+            mov     w0, #72
+            ; byrRegs -[x0]
+            mov     x1, #16
+            umaddl  x0, w26, w0, x1
+            add     x0, x23, x0
+            ; byrRegs +[x0]
+            add     w1, w25, #1
+            stlr    w1, [x0]
             b       G_M53544_IG23
                        ;; size=64 bbWeight=2 PerfScore 48.00
-G_M53544_IG09:        ; bbWeight=4, gcrefRegs=480000 {x19 x22}, byrefRegs=B00000 {x20 x21 x23}, byref
-            ; gcrRegs +[x19 x22]
-            ; byrRegs -[x1] +[x21 x23]
+G_M53544_IG09:        ; bbWeight=4, gcrefRegs=480000 {x19 x22}, byrefRegs=1300000 {x20 x21 x24}, byref
+            ; gcrRegs -[x23] +[x19 x22]
+            ; byrRegs -[x0] +[x21 x24]
             ldr     x1, [x19, #0x08]
             ; gcrRegs +[x1]
             str     x1, [fp, #0x18]    // [V03 loc1]
             ; GC ptr vars +{V03}
             str     wzr, [fp, #0x20]   // [V04 loc2]
                        ;; size=12 bbWeight=4 PerfScore 20.00
-G_M53544_IG10:        ; bbWeight=4, gcVars=0000000000000400 {V03}, gcrefRegs=480000 {x19 x22}, byrefRegs=B00000 {x20 x21 x23}, gcvars, byref, isz
+G_M53544_IG10:        ; bbWeight=4, gcVars=0000000000000400 {V03}, gcrefRegs=480000 {x19 x22}, byrefRegs=1300000 {x20 x21 x24}, gcvars, byref, isz
             ; gcrRegs -[x1]
             ldrb    w1, [fp, #0x20]    // [V04 loc2]
             cbnz    w1, G_M53544_IG18
@@ -143,7 +143,7 @@ G_M53544_IG10:        ; bbWeight=4, gcVars=0000000000000400 {V03}, gcrefRegs=480
             ldrb    w0, [fp, #0x20]    // [V04 loc2]
             cbnz    w0, G_M53544_IG12
                        ;; size=28 bbWeight=4 PerfScore 38.00
-G_M53544_IG11:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=B00000 {x20 x21 x23}, byref
+G_M53544_IG11:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=1300000 {x20 x21 x24}, byref
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #1 LSL #32
@@ -157,13 +157,13 @@ G_M53544_IG11:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=B00000
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=36 bbWeight=2 PerfScore 15.00
-G_M53544_IG12:        ; bbWeight=4, gcrefRegs=480000 {x19 x22}, byrefRegs=B00000 {x20 x21 x23}, byref, isz
+G_M53544_IG12:        ; bbWeight=4, gcrefRegs=480000 {x19 x22}, byrefRegs=1300000 {x20 x21 x24}, byref, isz
             ldapr   x0, [x21]
             ; gcrRegs +[x0]
             cmp     x22, x0
             bne     G_M53544_IG22
                        ;; size=12 bbWeight=4 PerfScore 18.00
-G_M53544_IG13:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=B00000 {x20 x21 x23}, byref, isz
+G_M53544_IG13:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=1300000 {x20 x21 x24}, byref, isz
             ; gcrRegs -[x0]
             ldrb    w0, [x22, #0x1D]
             cbnz    w0, G_M53544_IG14
@@ -174,10 +174,10 @@ G_M53544_IG13:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=B00000
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
             lsl     w0, w0, #1
-            ldaddal w0, w0, [x23]
+            ldaddal w0, w0, [x24]
                        ;; size=32 bbWeight=2 PerfScore 31.00
 G_M53544_IG14:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=300000 {x20 x21}, byref, isz
-            ; byrRegs -[x23]
+            ; byrRegs -[x24]
             ldrb    w0, [x22, #0x1C]
             cbnz    w0, G_M53544_IG20
                        ;; size=8 bbWeight=2 PerfScore 8.00
@@ -186,12 +186,12 @@ G_M53544_IG15:        ; bbWeight=2.00, gcrefRegs=480000 {x19 x22}, byrefRegs=300
             ; gcrRegs +[x0]
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
-            lsl     w23, w0, #1
-            cmp     w23, #0xD1FFAB1E, LSL #12
+            lsl     w25, w0, #1
+            cmp     w25, #0xD1FFAB1E, LSL #12
             bgt     G_M53544_IG19
                        ;; size=20 bbWeight=2.00 PerfScore 17.00
 G_M53544_IG16:        ; bbWeight=1.48, gcrefRegs=480000 {x19 x22}, byrefRegs=300000 {x20 x21}, byref
-            sxtw    w24, w23
+            sxtw    w26, w25
                        ;; size=4 bbWeight=1.48 PerfScore 0.74
 G_M53544_IG17:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=300000 {x20 x21}, byref
             b       G_M53544_IG21
@@ -210,11 +210,11 @@ G_M53544_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
 G_M53544_IG19:        ; bbWeight=0.52, gcrefRegs=480000 {x19 x22}, byrefRegs=300000 {x20 x21}, byref
             ; gcrRegs +[x19 x22]
             ; byrRegs +[x20-x21]
-            mov     w24, #0xD1FFAB1E
+            mov     w26, #0xD1FFAB1E
...
  
+16 (+4.40%) : 146497.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
@@ -11,82 +11,83 @@
 ;  V00 arg0         [V00,T07] (  7, 12   )     ref  ->   x0         class-hnd single-def <System.String>
 ;  V01 arg1         [V01,T00] ( 33, 83.50)     int  ->   x1        
 ;  V02 arg2         [V02,T10] (  5,  3.50)   byref  ->   x2         single-def
-;  V03 loc0         [V03,T16] (  3,  2   )     int  ->   x4         single-def
-;  V04 loc1         [V04,T17] (  2,  1   )     int  ->   x6         single-def
+;  V03 loc0         [V03,T16] (  3,  2   )     int  ->   x3         single-def
+;  V04 loc1         [V04,T17] (  2,  1   )     int  ->   x4         single-def
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V07 tmp2         [V07,T03] (  3, 24   )  ushort  ->   x4         "Inlining Arg"
+;  V07 tmp2         [V07,T03] (  3, 24   )  ushort  ->   x3         "Inlining Arg"
 ;* V08 tmp3         [V08,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp4         [V09,T04] (  3, 24   )  ushort  ->   x6         "Inlining Arg"
+;  V09 tmp4         [V09,T04] (  3, 24   )  ushort  ->   x4         "Inlining Arg"
 ;* V10 tmp5         [V10,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V11 tmp6         [V11,T15] (  3,  3   )  ushort  ->   x7         "Inlining Arg"
+;  V11 tmp6         [V11,T15] (  3,  3   )  ushort  ->   x5         "Inlining Arg"
 ;* V12 tmp7         [V12,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V13 tmp8         [V13,T05] (  3, 24   )  ushort  ->   x7         "Inlining Arg"
+;  V13 tmp8         [V13,T05] (  3, 24   )  ushort  ->   x5         "Inlining Arg"
 ;* V14 tmp9         [V14,T14] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V15 tmp10        [V15,T06] (  3, 24   )  ushort  ->   x8         "Inlining Arg"
-;  V16 cse0         [V16,T09] (  3, 12   )     int  ->   x7         "CSE - aggressive"
+;  V15 tmp10        [V15,T06] (  3, 24   )  ushort  ->   x6         "Inlining Arg"
+;  V16 cse0         [V16,T09] (  3, 12   )     int  ->   x5         "CSE - aggressive"
 ;  V17 cse1         [V17,T08] (  5, 13   )     int  ->  registers   multi-def "CSE - aggressive"
-;  V18 cse2         [V18,T01] ( 13, 46.50)     int  ->   x3         hoist "CSE - aggressive"
-;  V19 cse3         [V19,T02] (  9, 25.50)   byref  ->  registers   multi-def "CSE - aggressive"
+;  V18 cse2         [V18,T01] ( 13, 46.50)     int  ->  x19         hoist "CSE - aggressive"
+;  V19 cse3         [V19,T02] (  9, 25.50)   byref  ->  x20         multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M63854_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-                      ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=12 bbWeight=1 PerfScore 2.50
 G_M63854_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
             ; gcrRegs +[x0]
             ; byrRegs +[x2]
-            ldr     w3, [x0, #0x08]
+            ldr     w19, [x0, #0x08]
             b       G_M63854_IG04
                        ;; size=8 bbWeight=1 PerfScore 4.00
 G_M63854_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
 G_M63854_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w3, w1
+            cmp     w19, w1
             ble     G_M63854_IG06
                        ;; size=8 bbWeight=8 PerfScore 12.00
 G_M63854_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x4, x0, #12
-            ; byrRegs +[x4]
-            ldrh    w4, [x4, w1, UXTW #2]
-            ; byrRegs -[x4]
-            cmp     w4, #32
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w3, [x20, w1, UXTW #2]
+            cmp     w3, #32
             beq     G_M63854_IG03
-            cmp     w4, #9
+            cmp     w3, #9
             beq     G_M63854_IG03
                        ;; size=32 bbWeight=4 PerfScore 32.00
 G_M63854_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
-            sxtw    w4, w1
+            ; byrRegs -[x20]
+            sxtw    w3, w1
             b       G_M63854_IG08
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M63854_IG07:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
 G_M63854_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w3, w1
+            cmp     w19, w1
             ble     G_M63854_IG10
                        ;; size=8 bbWeight=8 PerfScore 12.00
 G_M63854_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x5, x0, #12
-            ; byrRegs +[x5]
-            ldrh    w6, [x5, w1, UXTW #2]
-            cmp     w6, #61
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w4, [x20, w1, UXTW #2]
+            cmp     w4, #61
             beq     G_M63854_IG10
-            cmp     w6, #32
+            cmp     w4, #32
             beq     G_M63854_IG10
-            cmp     w6, #9
+            cmp     w4, #9
             bne     G_M63854_IG07
                        ;; size=40 bbWeight=4 PerfScore 38.00
 G_M63854_IG10:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            ; byrRegs -[x5]
-            cmp     w3, w1
+            ; byrRegs -[x20]
+            cmp     w19, w1
             bne     G_M63854_IG13
                        ;; size=8 bbWeight=4 PerfScore 6.00
 G_M63854_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, byref
@@ -95,80 +96,82 @@ G_M63854_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, b
             mov     x0, xzr
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M63854_IG12:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=0.50 PerfScore 1.00
+                        ;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M63854_IG13:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, gcvars, byref, isz
             ; gcrRegs +[x0]
-            sub     w6, w1, w4
-            cmp     w1, w3
+            sub     w4, w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x5, x0, #12
-            ; byrRegs +[x5]
-            ldrh    w7, [x5, w1, UXTW #2]
-            cmp     w7, #32
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w5, [x20, w1, UXTW #2]
+            cmp     w5, #32
             beq     G_M63854_IG15
-            cmp     w7, #9
+            cmp     w5, #9
             bne     G_M63854_IG20
             b       G_M63854_IG15
                        ;; size=40 bbWeight=0.50 PerfScore 4.75
-G_M63854_IG14:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref
+G_M63854_IG14:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M63854_IG15:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref, isz
-            cmp     w3, w1
+G_M63854_IG15:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             ble     G_M63854_IG16
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w7, [x5, w1, UXTW #2]
-            cmp     w7, #32
+            ldrh    w5, [x20, w1, UXTW #2]
+            cmp     w5, #32
             beq     G_M63854_IG14
-            cmp     w7, #9
+            cmp     w5, #9
             beq     G_M63854_IG14
                        ;; size=36 bbWeight=4 PerfScore 36.00
-G_M63854_IG16:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref, isz
-            cmp     w3, w1
+G_M63854_IG16:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             beq     G_M63854_IG17
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w7, [x5, w1, UXTW #2]
-            cmp     w7, #61
+            ldrh    w5, [x20, w1, UXTW #2]
+            cmp     w5, #61
             beq     G_M63854_IG20
                        ;; size=28 bbWeight=0.50 PerfScore 3.75
 G_M63854_IG17:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, byref
             ; gcrRegs -[x0]
-            ; byrRegs -[x5]
+            ; byrRegs -[x20]
             str     w1, [x2]
             mov     x0, xzr
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M63854_IG18:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M63854_IG19:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, gcvars, byref
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
+G_M63854_IG19:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, gcvars, byref
             ; gcrRegs +[x0]
-            ; byrRegs +[x5]
+            ; byrRegs +[x20]
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref, isz
-            cmp     w3, w1
+G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             ble     G_M63854_IG21
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w7, [x5, w1, UXTW #2]
-            sxtw    w8, w7
-            cmp     w8, #32
+            ldrh    w5, [x20, w1, UXTW #2]
+            sxtw    w6, w5
+            cmp     w6, #32
             beq     G_M63854_IG19
-            cmp     w8, #9
+            cmp     w6, #9
             beq     G_M63854_IG19
-            cmp     w7, #61
+            cmp     w5, #61
             beq     G_M63854_IG19
                        ;; size=48 bbWeight=4 PerfScore 44.00
 G_M63854_IG21:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
-            ; byrRegs -[x5]
+            ; byrRegs -[x20]
             str     w1, [x2]
-            mov     w1, w4
-            mov     w2, w6
+            mov     w1, w3
+            mov     w2, w4
             ; byrRegs -[x2]
             movz    x3, #0xD1FFAB1E      // code for System.String:Substring(int,int):System.String:this
             movk    x3, #0xD1FFAB1E LSL #16
@@ -176,10 +179,11 @@ G_M63854_IG21:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2},
             ldr     x3, [x3]
                        ;; size=28 bbWeight=0.50 PerfScore 3.25
 G_M63854_IG22:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             br      x3
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=0.50 PerfScore 1.00
+                        ;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M63854_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
...
  
+24 (+5.71%) : 168987.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
@@ -11,34 +11,35 @@
 ;  V00 this         [V00,T10] (  8,  5   )     ref  ->  x19         this class-hnd single-def <System.Xml.Xsl.Runtime.XmlStringSortKey>
 ;  V01 arg1         [V01,T11] (  4,  3.50)     ref  ->   x1         class-hnd single-def <System.Object>
 ;  V02 loc0         [V02,T13] (  7,  4.25)     ref  ->  x20         class-hnd exact <System.Xml.Xsl.Runtime.XmlStringSortKey>
-;  V03 loc1         [V03,T00] (  7, 24.50)     int  ->   x3        
+;  V03 loc1         [V03,T00] (  7, 24.50)     int  ->   x1        
 ;  V04 loc2         [V04,T12] (  3,  5   )     int  ->   x0        
 ;  V05 loc3         [V05,T14] (  6,  3   )     int  ->   x0        
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Xml.Xsl.Runtime.XmlStringSortKey>
 ;  V08 tmp2         [V08,T17] (  3,  1.50)     int  ->   x0        
 ;  V09 tmp3         [V09,T18] (  2,  1   )     int  ->   x0         "Inline return value spill temp"
-;  V10 tmp4         [V10,T01] (  3, 24   )     ref  ->   x4         "arr expr"
-;  V11 tmp5         [V11,T02] (  3, 24   )     ref  ->   x6         "arr expr"
+;  V10 tmp4         [V10,T01] (  3, 24   )     ref  ->   x2         "arr expr"
+;  V11 tmp5         [V11,T02] (  3, 24   )     ref  ->   x4         "arr expr"
 ;* V12 tmp6         [V12,T08] (  0,  0   )     ref  ->  zero-ref    "arr expr"
 ;* V13 tmp7         [V13,T09] (  0,  0   )     ref  ->  zero-ref    "arr expr"
-;  V14 cse0         [V14,T03] (  3, 12   )     int  ->   x4         "CSE - aggressive"
-;  V15 cse1         [V15,T04] (  3, 12   )     int  ->   x5         "CSE - aggressive"
-;  V16 cse2         [V16,T06] (  6,  6.50)     ref  ->   x1         "CSE - aggressive"
-;  V17 cse3         [V17,T07] (  6,  6.50)     ref  ->   x2         "CSE - aggressive"
+;  V14 cse0         [V14,T03] (  3, 12   )     int  ->   x2         "CSE - aggressive"
+;  V15 cse1         [V15,T04] (  3, 12   )     int  ->   x3         "CSE - aggressive"
+;  V16 cse2         [V16,T06] (  6,  6.50)     ref  ->  x21         "CSE - aggressive"
+;  V17 cse3         [V17,T07] (  6,  6.50)     ref  ->  x22         "CSE - aggressive"
 ;  V18 cse4         [V18,T16] (  3,  1.50)     ref  ->   x0         "CSE - moderate"
 ;  V19 cse5         [V19,T15] (  4,  2   )     ref  ->   x0         "CSE - moderate"
-;  V20 cse6         [V20,T05] (  3, 12   )    long  ->   x5         "CSE - aggressive"
+;  V20 cse6         [V20,T05] (  3, 12   )    long  ->   x3         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M15280_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x20]!
+            stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
-                     ;; size=16 bbWeight=1 PerfScore 3.00
+                      ;; size=20 bbWeight=1 PerfScore 4.00
 G_M15280_IG02:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x1]
             mov     x20, x1
@@ -63,11 +64,12 @@ G_M15280_IG04:        ; bbWeight=0.50, gcrefRegs=80002 {x1 x19}, byrefRegs=0000
             ldr     x2, [x2]
                        ;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M15280_IG05:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             br      x2
             ; gcr arg pop 0
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0-x1] +[x20]
             ldr     x0, [x19, #0x18]
@@ -85,60 +87,60 @@ G_M15280_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             b       G_M15280_IG15
                        ;; size=36 bbWeight=0.50 PerfScore 6.75
 G_M15280_IG07:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ldr     x1, [x19, #0x20]
-            ; gcrRegs +[x1]
-            ldr     w0, [x1, #0x08]
-            ldr     x2, [x20, #0x20]
-            ; gcrRegs +[x2]
-            ldr     w3, [x2, #0x08]
-            cmp     w0, w3
+            ldr     x21, [x19, #0x20]
+            ; gcrRegs +[x21]
+            ldr     w0, [x21, #0x08]
+            ldr     x22, [x20, #0x20]
+            ; gcrRegs +[x22]
+            ldr     w1, [x22, #0x08]
+            cmp     w0, w1
             blt     G_M15280_IG08
-            ldr     w0, [x2, #0x08]
+            ldr     w0, [x22, #0x08]
             b       G_M15280_IG09
                        ;; size=32 bbWeight=0.50 PerfScore 8.75
-G_M15280_IG08:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref
-            ldr     w0, [x1, #0x08]
+G_M15280_IG08:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref
+            ldr     w0, [x21, #0x08]
                        ;; size=4 bbWeight=0.50 PerfScore 1.50
-G_M15280_IG09:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref, isz
-            mov     w3, wzr
+G_M15280_IG09:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            mov     w1, wzr
             cmp     w0, #0
             ble     G_M15280_IG14
                        ;; size=12 bbWeight=0.50 PerfScore 1.00
-G_M15280_IG10:        ; bbWeight=4, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref, isz
-            mov     x4, x1
+G_M15280_IG10:        ; bbWeight=4, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            mov     x2, x21
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x08]
+            cmp     w1, w3
+            bhs     G_M15280_IG24
+            add     x2, x2, #16
+            ; gcrRegs -[x2]
+            ; byrRegs +[x2]
+            mov     w3, w1
+            ldrb    w2, [x2, x3]
+            ; byrRegs -[x2]
+            mov     x4, x22
             ; gcrRegs +[x4]
             ldr     w5, [x4, #0x08]
-            cmp     w3, w5
+            cmp     w1, w5
             bhs     G_M15280_IG24
             add     x4, x4, #16
             ; gcrRegs -[x4]
             ; byrRegs +[x4]
-            mov     w5, w3
-            ldrb    w4, [x4, x5]
-            ; byrRegs -[x4]
-            mov     x6, x2
-            ; gcrRegs +[x6]
-            ldr     w7, [x6, #0x08]
-            cmp     w3, w7
-            bhs     G_M15280_IG24
-            add     x6, x6, #16
-            ; gcrRegs -[x6]
-            ; byrRegs +[x6]
-            ldrb    w5, [x6, x5]
-            cmp     w4, w5
+            ldrb    w3, [x4, x3]
+            cmp     w2, w3
             blt     G_M15280_IG12
-            cmp     w4, w5
+            cmp     w2, w3
             bgt     G_M15280_IG13
-            add     w3, w3, #1
-            cmp     w3, w0
+            add     w1, w1, #1
+            cmp     w1, w0
             blt     G_M15280_IG10
                        ;; size=80 bbWeight=4 PerfScore 90.00
-G_M15280_IG11:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x6]
+G_M15280_IG11:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x4]
             b       G_M15280_IG14
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M15280_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x1-x2 x20]
+            ; gcrRegs -[x20-x22]
             movn    w0, #0
             b       G_M15280_IG20
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
@@ -146,21 +148,20 @@ G_M15280_IG13:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             mov     w0, #1
             b       G_M15280_IG20
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M15280_IG14:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x1-x2 x20]
-            ldr     w0, [x1, #0x08]
-            ldr     w3, [x2, #0x08]
-            cmp     w0, w3
+G_M15280_IG14:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs +[x20-x22]
+            ldr     w0, [x21, #0x08]
+            ldr     w1, [x22, #0x08]
+            cmp     w0, w1
             blt     G_M15280_IG12
-            ldr     w0, [x1, #0x08]
-            ldr     w1, [x2, #0x08]
-            ; gcrRegs -[x1]
+            ldr     w0, [x21, #0x08]
+            ldr     w1, [x22, #0x08]
             cmp     w0, w1
             bgt     G_M15280_IG13
             b       G_M15280_IG16
                        ;; size=36 bbWeight=0.50 PerfScore 8.00
 G_M15280_IG15:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x2]
+            ; gcrRegs -[x21-x22]
             cbnz    w0, G_M15280_IG20
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M15280_IG16:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
@@ -174,11 +175,12 @@ G_M15280_IG16:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ldr     x2, [x2, #0x20]
                        ;; size=24 bbWeight=0.50 PerfScore 8.00
 G_M15280_IG17:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             br      x2
             ; gcr arg pop 0
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG18:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0-x1]
             ldr     w0, [x19, #0x10]
@@ -189,36 +191,39 @@ G_M15280_IG18:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             csel    w0, w2, w3, lt
                        ;; size=24 bbWeight=0.50 PerfScore 4.00
 G_M15280_IG19:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG20:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x20]
             ldrb    w1, [x19, #0x14]
             cbnz    w1, G_M15280_IG22
                        ;; size=8 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG21:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG22:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x19]
             neg     w0, w0
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M15280_IG23:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG24:        ; 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 420, prolog size 16, PerfScore 148.75, instruction count 105, allocated bytes for code 420 (MethodHash=95cfc44f) for method System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
+; Total bytes of code 444, prolog size 20, PerfScore 152.25, instruction count 111, allocated bytes for code 444 (MethodHash=95cfc44f) for method System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -229,7 +234,7 @@ Unwind Info:
   E bit             : 0
...
  
  
realworld.run.osx.arm64.checked.mch
-4 (-1.23%) : 18309.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
@@ -47,7 +47,7 @@ G_M43028_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ldr     w21, [x20, #0x08]
             mov     w22, wzr
             cmp     w21, #0
-            ble     G_M43028_IG13
+            ble     G_M43028_IG10
             cbz     x19, G_M43028_IG07
             ldr     w0, [x19, #0x08]
             cmp     w0, w21
@@ -71,7 +71,7 @@ G_M43028_IG03:        ; bbWeight=3.96, gcrefRegs=80000 {x19}, byrefRegs=800000 {
             ; gcrRegs +[x26]
             cmp     x24, x26
             ccmp    w25, #1, 0, eq
-            bne     G_M43028_IG11
+            bne     G_M43028_IG12
                        ;; size=48 bbWeight=3.96 PerfScore 67.32
 G_M43028_IG04:        ; bbWeight=1.98, gcrefRegs=80002 {x1 x19}, byrefRegs=800000 {x23}, byref, isz
             ; gcrRegs -[x24 x26]
@@ -86,23 +86,23 @@ G_M43028_IG04:        ; bbWeight=1.98, gcrefRegs=80002 {x1 x19}, byrefRegs=80000
             ; gcr arg pop 0
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
-            cbnz    w0, G_M43028_IG11
+            cbnz    w0, G_M43028_IG12
                       ;; size=28 bbWeight=1.98 PerfScore 28.71
 G_M43028_IG05:        ; bbWeight=3.96, gcrefRegs=80000 {x19}, byrefRegs=800000 {x23}, byref, isz
             add     w22, w22, #1
             cmp     w22, w21
             blt     G_M43028_IG03
                        ;; size=12 bbWeight=3.96 PerfScore 7.92
-G_M43028_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M43028_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
             ; byrRegs -[x23]
-            b       G_M43028_IG13
-                       ;; size=4 bbWeight=1 PerfScore 1.00
+            b       G_M43028_IG10
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M43028_IG07:        ; bbWeight=0.04, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x19-x20]
             ldr     w0, [x19, #0x08]
             cmp     w22, w0
-            bhs     G_M43028_IG15
+            bhs     G_M43028_IG14
             mov     w0, #24
             mov     x1, #16
             umaddl  x0, w22, w0, x1
@@ -117,7 +117,7 @@ G_M43028_IG07:        ; bbWeight=0.04, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ; gcrRegs +[x26]
             cmp     x24, x26
             ccmp    w25, #1, 0, eq
-            bne     G_M43028_IG11
+            bne     G_M43028_IG12
                        ;; size=56 bbWeight=0.04 PerfScore 0.94
 G_M43028_IG08:        ; bbWeight=0.02, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x24 x26]
@@ -132,7 +132,7 @@ G_M43028_IG08:        ; bbWeight=0.02, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=
             ; gcr arg pop 0
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
-            cbnz    w0, G_M43028_IG11
+            cbnz    w0, G_M43028_IG12
                       ;; size=28 bbWeight=0.02 PerfScore 0.29
 G_M43028_IG09:        ; bbWeight=0.04, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             add     w22, w22, #1
@@ -141,23 +141,9 @@ G_M43028_IG09:        ; bbWeight=0.04, gcrefRegs=180000 {x19 x20}, byrefRegs=000
                        ;; size=12 bbWeight=0.04 PerfScore 0.08
 G_M43028_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19-x20]
-            b       G_M43028_IG13
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M43028_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, wzr
-                       ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M43028_IG12:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x25, x26, [sp, #0x40]
-            ldp     x23, x24, [sp, #0x30]
-            ldp     x21, x22, [sp, #0x20]
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x50
-            ret     lr
-                       ;; size=24 bbWeight=0.50 PerfScore 3.00
-G_M43028_IG13:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M43028_IG14:        ; bbWeight=0.50, epilog, nogc, extend
+G_M43028_IG11:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x25, x26, [sp, #0x40]
             ldp     x23, x24, [sp, #0x30]
             ldp     x21, x22, [sp, #0x20]
@@ -165,13 +151,24 @@ G_M43028_IG14:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x50
             ret     lr
                        ;; size=24 bbWeight=0.50 PerfScore 3.00
-G_M43028_IG15:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M43028_IG12:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, wzr
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M43028_IG13:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x25, x26, [sp, #0x40]
+            ldp     x23, x24, [sp, #0x30]
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x50
+            ret     lr
+                       ;; size=24 bbWeight=0.50 PerfScore 3.00
+G_M43028_IG14:        ; 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 324, prolog size 32, PerfScore 130.76, instruction count 81, allocated bytes for code 324 (MethodHash=8c6257eb) for method Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
+; Total bytes of code 320, prolog size 32, PerfScore 129.76, instruction count 80, allocated bytes for code 320 (MethodHash=8c6257eb) for method Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -182,7 +179,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 81 (0x00051) Actual length = 324 (0x000144)
+  Function Length   : 80 (0x00050) Actual length = 320 (0x000140)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-20 (-0.84%) : 23935.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:g_findMostSpecificImplementationInBases|921(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
@@ -274,7 +274,6 @@ G_M19054_IG04:        ; bbWeight=2, gcrefRegs=9900000 {x20 x23 x24 x27}, byrefRe
             str     x1, [fp, #0x30]    // [V111 tmp93]
             ; GC ptr vars +{V111}
             cbz     x28, G_M19054_IG33
-            ldr     x1, [fp, #0x30]    // [V111 tmp93]
             mov     x0, x28
             ldr     x0, [x0]
             ; gcrRegs -[x0]
@@ -285,9 +284,9 @@ G_M19054_IG04:        ; bbWeight=2, gcrefRegs=9900000 {x20 x23 x24 x27}, byrefRe
             bne     G_M19054_IG05
             ldr     w0, [x28, #0x20]
             cbz     w0, G_M19054_IG33
-                        ;; size=80 bbWeight=2 PerfScore 43.00
-G_M19054_IG05:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
-            ; GC ptr vars -{V111}
+                        ;; size=76 bbWeight=2 PerfScore 39.00
+G_M19054_IG05:        ; bbWeight=2, gcVars=00000000000000000020000000000000 {V111}, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref, isz
+            ; gcrRegs -[x1]
             mov     w2, wzr
             ldr     x0, [x24, #0x08]
             ; gcrRegs +[x0]
@@ -296,13 +295,11 @@ G_M19054_IG05:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28},
             cmp     w0, #0
             ble     G_M19054_IG12
                        ;; size=20 bbWeight=2 PerfScore 16.00
-G_M19054_IG06:        ; bbWeight=16, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
+G_M19054_IG06:        ; bbWeight=16, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
             ldr     x0, [x24, #0x08]
             ; gcrRegs +[x0]
             ldr     w3, [x0, #0x10]
             cmp     w2, w3
-            str     x1, [fp, #0x30]    // [V111 tmp93]
-            ; GC ptr vars +{V111}
             bge     G_M19054_IG50
             ldr     x0, [x0, #0x08]
             ldr     w3, [x0, #0x08]
@@ -335,7 +332,7 @@ G_M19054_IG06:        ; bbWeight=16, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            ; gcrRegs -[x1 x4-x6] +[x0]
+            ; gcrRegs -[x4-x6] +[x0]
             add     x14, x0, #8
             ; byrRegs +[x14]
             ldr     x15, [fp, #0x20]   // [V126 tmp108]
@@ -386,7 +383,7 @@ G_M19054_IG06:        ; bbWeight=16, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}
             ldr     x2, [fp, #0x60]    // [V12 loc7]
             ; gcrRegs +[x2]
             cbnz    x2, G_M19054_IG08
-                        ;; size=240 bbWeight=16 PerfScore 1360.00
+                     ;; size=236 bbWeight=16 PerfScore 1344.00
 G_M19054_IG07:        ; bbWeight=8, gcVars=00000000000000000020000000070000 {V13 V111 V126 V127}, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref, isz
             ; gcrRegs -[x2]
             ; GC ptr vars -{V12 V125}
@@ -466,20 +463,14 @@ G_M19054_IG08:        ; bbWeight=16, gcrefRegs=19900004 {x2 x20 x23 x24 x27 x28}
             ; gcrRegs -[x15]
             cmp     w14, w15
             mov     w2, w14
-            ldr     x1, [fp, #0x30]   // [V111 tmp93]
-            ; gcrRegs +[x1]
             blt     G_M19054_IG06
-                     ;; size=68 bbWeight=16 PerfScore 408.00
-G_M19054_IG09:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref
+                       ;; size=64 bbWeight=16 PerfScore 376.00
+G_M19054_IG09:        ; bbWeight=2, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref
             ; byrRegs -[x0]
-            ; GC ptr vars -{V111}
             b       G_M19054_IG12
                        ;; size=4 bbWeight=2 PerfScore 2.00
 G_M19054_IG10:        ; bbWeight=2, gcVars=00000000000000000020000002000000 {V111 V125}, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref, isz
-            ; gcrRegs -[x1]
-            ; GC ptr vars +{V25 V111 V125}
-            ldr     x1, [fp, #0x30]    // [V111 tmp93]
-            ; gcrRegs +[x1]
+            ; GC ptr vars +{V25 V125}
             ldr     x15, [x24, #0x08]
             ; gcrRegs +[x15]
             ldr     w12, [x15, #0x10]
@@ -496,7 +487,7 @@ G_M19054_IG10:        ; bbWeight=2, gcVars=00000000000000000020000002000000 {V11
             ldr     x15, [fp, #0x28]   // [V125 tmp107]
             mov     x14, x0
             ; byrRegs +[x14]
-            ; GC ptr vars -{V25 V111 V125}
+            ; GC ptr vars -{V25 V125}
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             ; gcrRegs -[x15]
             ; byrRegs -[x14]
@@ -509,22 +500,20 @@ G_M19054_IG10:        ; bbWeight=2, gcVars=00000000000000000020000002000000 {V11
             ; byrRegs -[x14]
             add     x14, x0, #16
             ; byrRegs +[x14]
-            mov     x15, x1
+            ldr     x15, [fp, #0x30]    // [V111 tmp93]
             ; gcrRegs +[x15]
+            ; GC ptr vars -{V111}
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
-            ; gcrRegs -[x1 x15]
+            ; gcrRegs -[x15]
             ; byrRegs -[x0 x14]
-                       ;; size=84 bbWeight=2 PerfScore 58.00
+                     ;; size=80 bbWeight=2 PerfScore 57.00
 G_M19054_IG11:        ; bbWeight=2, gcrefRegs=9900000 {x20 x23 x24 x27}, byrefRegs=680000 {x19 x21 x22}, byref
             mov     x28, xzr
             ; gcrRegs +[x28]
             str     xzr, [fp, #0x30]   // [V111 tmp93]
             ; GC ptr vars +{V111}
-            ldr     x1, [fp, #0x30] // [V111 tmp93]
-            ; gcrRegs +[x1]
-                       ;; size=12 bbWeight=2 PerfScore 7.00
-G_M19054_IG12:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
-            ; GC ptr vars -{V111}
+                        ;; size=8 bbWeight=2 PerfScore 3.00
+G_M19054_IG12:        ; bbWeight=2, gcVars=00000000000000000020000000000000 {V111}, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref, isz
             cbz     x28, G_M19054_IG33
             mov     x0, x28
             ; gcrRegs +[x0]
@@ -538,17 +527,14 @@ G_M19054_IG12:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28},
             ; gcrRegs -[x0]
             cbz     w0, G_M19054_IG33
                        ;; size=40 bbWeight=2 PerfScore 23.00
-G_M19054_IG13:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
+G_M19054_IG13:        ; bbWeight=2, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
             ldr     x2, [x24, #0x08]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x10]
             cbz     w3, G_M19054_IG29
-            str     x1, [fp, #0x30] // [V111 tmp93]
-            ; GC ptr vars +{V111}
             mov     x0, x27
             ; gcrRegs +[x0]
             mov     x1, x19
-            ; gcrRegs -[x1]
             ; byrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             ; gcrRegs -[x2]
@@ -565,7 +551,7 @@ G_M19054_IG13:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28},
             ; gcrRegs -[x0]
             sub     w1, w0, #1
             tbnz    w1, #31, G_M19054_IG19
-                       ;; size=64 bbWeight=2 PerfScore 45.00
+                     ;; size=60 bbWeight=2 PerfScore 43.00
 G_M19054_IG14:        ; bbWeight=16, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
             ldr     x0, [x24, #0x08]
             ; gcrRegs +[x0]
@@ -837,9 +823,11 @@ G_M19054_IG28:        ; bbWeight=2, gcrefRegs=19900004 {x2 x20 x23 x24 x27 x28},
             str     w3, [x2, #0x10]
             b       G_M19054_IG33
                        ;; size=80 bbWeight=2 PerfScore 53.00
-G_M19054_IG29:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, gcrefRegs=11900006 {x1 x2 x20 x23 x24 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref, isz
-            ; gcrRegs +[x1 x28]
-            ; GC ptr vars -{V66}
+G_M19054_IG29:        ; bbWeight=2, gcVars=00000000000000000020000000000000 {V111}, gcrefRegs=11900004 {x2 x20 x23 x24 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref, isz
+            ; gcrRegs +[x28]
+            ; GC ptr vars -{V66} +{V111}
+            ldr     x1, [fp, #0x30]    // [V111 tmp93]
+            ; gcrRegs +[x1]
             mov     x27, x2
             ; gcrRegs +[x27]
             add     w3, w3, #1
@@ -855,10 +843,9 @@ G_M19054_IG29:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {},
             bge     G_M19054_IG30
             sxtw    w2, w3
             str     x1, [fp, #0x30]    // [V111 tmp93]
-            ; GC ptr vars +{V111}
             b       G_M19054_IG31
-                       ;; size=56 bbWeight=2 PerfScore 35.00
-G_M19054_IG30:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref
+                       ;; size=60 bbWeight=2 PerfScore 39.00
+G_M19054_IG30:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref
             ; GC ptr vars -{V111}
             str     x1, [fp, #0x30]    // [V111 tmp93]
             ; GC ptr vars +{V111}
@@ -1166,7 +1153,7 @@ G_M19054_IG51:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2380, prolog size 56, PerfScore 4117.50, instruction count 595, allocated bytes for code 2380 (MethodHash=53aab591) for method Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:<FindMostSpecificImplementationInBases>g__findMostSpecificImplementationInBases|92_1(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
+; Total bytes of code 2360, prolog size 56, PerfScore 4062.50, instruction count 590, allocated bytes for code 2360 (MethodHash=53aab591) for method Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:<FindMostSpecificImplementationInBases>g__findMostSpecificImplementationInBases|92_1(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -1177,7 +1164,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 595 (0x00253) Actual length = 2380 (0x00094c)
+  Function Length   : 590 (0x0024e) Actual length = 2360 (0x000938)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-16 (-0.70%) : 1751.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan1[ushort],System.ReadOnlySpan1[ushort],ubyte,ubyte):ubyte (FullOpts)
@@ -30,8 +30,8 @@
 ;* V19 loc15        [V19    ] (  0,   0   )   ubyte  ->  zero-ref   
 ;* V20 loc16        [V20    ] (  0,   0   )  struct (16) zero-ref    <System.Span`1[int]>
 ;  V21 loc17        [V21,T28] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
-;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x13        
-;  V23 loc19        [V23,T01] (  7,1344   )     int  ->   x1        
+;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x14        
+;  V23 loc19        [V23,T01] (  7,1344   )     int  ->  x13        
 ;  V24 loc20        [V24,T02] (  3, 832   )     int  ->   x0        
 ;# V25 OutArgs      [V25    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V26 tmp1         [V26    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
@@ -40,15 +40,15 @@
 ;  V29 tmp4         [V29,T12] (  4, 256   )     int  ->   x7         "impSpillLclRefs"
 ;  V30 tmp5         [V30,T13] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V31 tmp6         [V31,T15] (  2, 256   )     int  ->  x10         "dup spill"
-;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x0         "impSpillLclRefs"
+;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V33 tmp8         [V33,T49] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
 ;* V34 tmp9         [V34    ] (  0,   0   )     int  ->  zero-ref    ptr
 ;  V35 tmp10        [V35,T37] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V36 tmp11        [V36,T38] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
 ;  V37 tmp12        [V37,T34] (  5,  80   )     int  ->  x13         "dup spill"
 ;  V38 tmp13        [V38,T39] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
-;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x1         "impSpillLclRefs"
-;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x1         "impSpillLclRefs"
+;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
+;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V41 tmp16        [V41,T30] (  3,  96   )     int  ->   x1        
 ;  V42 tmp17        [V42,T52] (  4,  16   )     int  ->  x25         "impSpillLclRefs"
 ;* V43 tmp18        [V43    ] (  0,   0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
@@ -159,7 +159,7 @@
 ;  V148 tmp123      [V148,T24] (  2, 128   )    long  ->   x2         "Inlining Arg"
 ;* V149 tmp124      [V149    ] (  0,   0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V150 tmp125      [V150,T50] (  3,  24   )  ushort  ->  registers   ptr "Inline return value spill temp"
-;  V151 tmp126      [V151,T42] (  4,  64   )  ushort  ->  x10         "Inlining Arg"
+;  V151 tmp126      [V151,T42] (  4,  64   )  ushort  ->  x12         "Inlining Arg"
 ;* V152 tmp127      [V152    ] (  0,   0   )  ushort  ->  zero-ref    "Inline return value spill temp"
 ;* V153 tmp128      [V153    ] (  0,   0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V154 tmp129      [V154    ] (  0,   0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
@@ -310,10 +310,10 @@ G_M9731_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     x23, [fp, #-0x78]  // [V01 arg1]
             ; byrRegs +[x23]
             ldr     w24, [fp, #-0x70]  // [V01 arg1+0x08]
-            cbz     w22, G_M9731_IG70
+            cbz     w22, G_M9731_IG71
                         ;; size=20 bbWeight=1 PerfScore 9.00
 G_M9731_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref, isz
-            cbz     w24, G_M9731_IG70
+            cbz     w24, G_M9731_IG71
             ldrh    w0, [x21]
             cmp     w0, #42
             bne     G_M9731_IG08
@@ -393,7 +393,7 @@ G_M9731_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2A00000 {x21
 G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23 x25}, byref, isz
             ; byrRegs -[x21]
             cmp     w24, w26
-            blt     G_M9731_IG70
+            blt     G_M9731_IG71
             mov     x0, x23
             ; byrRegs +[x0]
             sxtw    w1, w24
@@ -410,7 +410,7 @@ G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23
             blr     x5
             ; byrRegs -[x0 x2 x23 x25]
             ; gcr arg pop 0
-            b       G_M9731_IG65
+            b       G_M9731_IG66
                         ;; size=60 bbWeight=0.50 PerfScore 5.75
 G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref
             ; byrRegs +[x21 x23]
@@ -437,7 +437,7 @@ G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21
             add     w1, w25, #1
             sxtw    w27, w1
             cmp     w25, w24
-            bhs     G_M9731_IG72
+            bhs     G_M9731_IG73
             ldrh    w1, [x23, w25, UXTW #2]
             sxtw    w25, w1
             b       G_M9731_IG12
@@ -445,7 +445,7 @@ G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21
 G_M9731_IG11:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
             sub     w6, w26, #1
             cmp     w6, w4
-            bhs     G_M9731_IG72
+            bhs     G_M9731_IG73
             ldr     w1, [x3, w6, UXTW #2]
             cmp     w1, w5
             beq     G_M9731_IG21
@@ -469,7 +469,7 @@ G_M9731_IG13:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x2
             str     w0, [fp, #-0x80]   // [V06 loc2]
             str     w4, [fp, #-0xC8]   // [V182 tmp157]
             cmp     w1, w4
-            bhs     G_M9731_IG72
+            bhs     G_M9731_IG73
             str     x3, [fp, #-0xD8] // [V181 tmp156]
             ; GC ptr vars +{V181}
             ldr     w1, [x3, w1, UXTW #2]
@@ -477,14 +477,14 @@ G_M9731_IG13:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x2
             add     w1, w1, w1,  LSR #31
             asr     w10, w1, #1
             cmp     w10, w22
-            bge     G_M9731_IG53
+            bge     G_M9731_IG54
                        ;; size=48 bbWeight=16 PerfScore 192.00
 G_M9731_IG14:        ; bbWeight=64, gcVars=00000000000000000000000000000200 {V181}, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, gcvars, byref, isz
             ; byrRegs -[x3]
             lsl     w11, w10, #1
             str     w11, [fp, #-0x94]  // [V16 loc12]
             cmp     w10, w22
-            bhs     G_M9731_IG72
+            bhs     G_M9731_IG73
             str     w10, [fp, #-0x7C]  // [V05 loc1]
             ldrh    w13, [x21, w10, UXTW #2]
             str     w13, [fp, #-0x8C]  // [V11 loc7]
@@ -513,7 +513,7 @@ G_M9731_IG15:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             str     w4, [fp, #-0xCC]   // [V244 tmp219]
             ldr     w5, [fp, #-0xC4]   // [V180 tmp155]
             cmp     w5, w4
-            bhi     G_M9731_IG75
+            bhi     G_M9731_IG76
             mov     w2, w5
             lsl     x2, x2, #2
             mov     x0, x3
@@ -548,7 +548,7 @@ G_M9731_IG15:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             str     w4, [fp, #-0xD0]   // [V248 tmp223]
             ldr     w5, [fp, #-0xC8]   // [V182 tmp157]
             cmp     w5, w4
-            bhi     G_M9731_IG75
+            bhi     G_M9731_IG76
             mov     w2, w5
             lsl     x2, x2, #2
             mov     x0, x3
@@ -579,29 +579,29 @@ G_M9731_IG16:        ; bbWeight=64, gcVars=00000000000000000000000000000200 {V18
             ; GC ptr vars -{V247}
             ldr     w13, [fp, #-0x8C]  // [V11 loc7]
             cmp     w13, #42
-            beq     G_M9731_IG28
+            beq     G_M9731_IG30
                        ;; size=12 bbWeight=64 PerfScore 224.00
 G_M9731_IG17:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             tst     w19, #255
             beq     G_M9731_IG26
             cmp     w13, #60
             bne     G_M9731_IG26
-            mov     w13, wzr
+            mov     w14, wzr
             cbnz    w6, G_M9731_IG24
             cmp     w25, #46
             bne     G_M9731_IG23
-            sxtw    w1, w27
-            cmp     w1, w24
+            sxtw    w13, w27
+            cmp     w13, w24
             bge     G_M9731_IG23
                        ;; size=44 bbWeight=32 PerfScore 256.00
 G_M9731_IG18:        ; bbWeight=256, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            cmp     w1, w24
-            bhs     G_M9731_IG72
-            ldrh    w0, [x23, w1, UXTW #2]
-            cmp     w0, #46
+            cmp     w13, w24
+            bhs     G_M9731_IG73
+            ldrh    w1, [x23, w13, UXTW #2]
+            cmp     w1, #46
             beq     G_M9731_IG22
-            add     w1, w1, #1
-            cmp     w1, w24
+            add     w13, w13, #1
+            cmp     w13, w24
             blt     G_M9731_IG18
                        ;; size=32 bbWeight=256 PerfScore 2048.00
 G_M9731_IG19:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
@@ -612,18 +612,18 @@ G_M9731_IG20:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, g
             ; GC ptr vars -{V181}
             str     x3, [fp, #-0xD8]   // [V181 tmp156]
             ; GC ptr vars +{V181}
-            b       G_M9731_IG63
+            b       G_M9731_IG64
                       ;; size=8 bbWeight=2 PerfScore 4.00
 G_M9731_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref
             ; byrRegs -[x21 x23 x28]
             ; GC ptr vars -{V181}
             ldr     w5, [fp, #-0x90]   // [V15 loc11]
-            b       G_M9731_IG64
+            b       G_M9731_IG65
                       ;; size=8 bbWeight=1 PerfScore 3.00
 G_M9731_IG22:        ; bbWeight=32, gcVars=00000000000000000000000000000200 {V181}, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, gcvars, byref
             ; byrRegs -[x3] +[x21 x23 x28]
             ; GC ptr vars +{V09 V181}
-            mov     w13, #1
+            mov     w14, #1
                         ;; size=4 bbWeight=32 PerfScore 16.00
 G_M9731_IG23:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
             cmp     w25, #46
@@ -634,183 +634,181 @@ G_M9731_IG24:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             mov     w1, #1
                        ;; size=4 bbWeight=32 PerfScore 16.00
 G_M9731_IG25:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            orr     w1, w1, w13
-            cbz     w1, G_M9731_IG29
-            b       G_M9731_IG28
+            orr     w1, w1, w14
+            cbz     w1, G_M9731_IG31
+            b       G_M9731_IG30
                        ;; size=12 bbWeight=32 PerfScore 80.00
 G_M9731_IG26:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w11, [fp, #-0x94]  // [V16 loc12]
             add     w11, w11, #2
             tst     w19, #255
-            beq     G_M9731_IG37
+            beq     G_M9731_IG38
             cmp     w13, #62
-            bne     G_M9731_IG27
-            cbnz    w6, G_M9731_IG30
+            bne     G_M9731_IG28
+            cbnz    w6, G_M9731_IG32
             cmp     w25, #46
-            beq     G_M9731_IG30
-            b       G_M9731_IG34
-                       ;; size=40 bbWeight=32 PerfScore 288.00
-G_M9731_IG27:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            cmp     w13, #34
-            bne     G_M9731_IG37
-            cbnz    w6, G_M9731_IG30
-            b       G_M9731_IG35
-                       ;; size=16 bbWeight=32 PerfScore 112.00
+            beq     G_M9731_IG32
+                       ;; size=36 bbWeight=32 PerfScore 256.00
+G_M9731_IG27:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
+            b       G_M9731_IG36
+                       ;; size=4 bbWeight=8 PerfScore 8.00
 G_M9731_IG28:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
+            cmp     w13, #34
+            bne     G_M9731_IG38
+            cbnz    w6, G_M9731_IG32
+                       ;; size=12 bbWeight=32 PerfScore 80.00
+G_M9731_IG29:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
+            b       G_M9731_IG37
+                       ;; size=4 bbWeight=8 PerfScore 8.00
+G_M9731_IG30:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w7, [fp, #-0x84]    // [V07 loc3]
             add     w13, w7, #1
             cmp     w7, w2
-            bhs     G_M9731_IG72
+            bhs     G_M9731_IG73
             ldr     w11, [fp, #-0x94]    // [V16 loc12]
             str     w11, [x28, w7, UXTW #2]
             str     w13, [fp, #-0x84]  // [V07 loc3]
             str     w11, [fp, #-0x94]  // [V16 loc12]
                        ;; size=32 bbWeight=32 PerfScore 288.00
...
  
+12 (+1.24%) : 5757.dasm - FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5int,int,int,int,int
@@ -78,7 +78,7 @@ G_M22428_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
 G_M22428_IG03:        ; bbWeight=8, gcrefRegs=2080000 {x19 x25}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             ldrb    w0, [x19, #0x14]
-            cbnz    w0, G_M22428_IG20
+            cbnz    w0, G_M22428_IG21
                      ;; size=8 bbWeight=8 PerfScore 32.00
 G_M22428_IG04:        ; bbWeight=4, gcrefRegs=2080000 {x19 x25}, byrefRegs=0000 {}, byref, isz
             mov     w26, wzr
@@ -106,9 +106,9 @@ G_M22428_IG06:        ; bbWeight=15.84, gcrefRegs=2080000 {x19 x25}, byrefRegs=1
             cmp     w26, #16
             blt     G_M22428_IG06
                        ;; size=40 bbWeight=15.84 PerfScore 142.56
-G_M22428_IG07:        ; bbWeight=2, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref
+G_M22428_IG07:        ; bbWeight=4, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref
             b       G_M22428_IG10
-                       ;; size=4 bbWeight=2 PerfScore 2.00
+                       ;; size=4 bbWeight=4 PerfScore 4.00
 G_M22428_IG08:        ; bbWeight=0.02, gcrefRegs=2080000 {x19 x25}, byrefRegs=0000 {}, byref
             ; byrRegs -[x28]
             add     x28, x25, #16
@@ -126,7 +126,7 @@ G_M22428_IG09:        ; bbWeight=0.16, gcrefRegs=2080000 {x19 x25}, byrefRegs=10
             ; gcr arg pop 0
             ldr     w27, [x25, #0x08]
             cmp     w26, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             str     w0, [x28, w26, UXTW #2]
             add     w26, w26, #1
             cmp     w26, #16
@@ -140,21 +140,21 @@ G_M22428_IG10:        ; bbWeight=4, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000
 G_M22428_IG11:        ; bbWeight=15.84, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref, isz
             sub     w0, w26, #3
             cmp     w0, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             ldr     w0, [x28, w0, UXTW #2]
             sub     w1, w26, #8
             cmp     w1, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             ldr     w1, [x28, w1, UXTW #2]
             eor     w0, w0, w1
             sub     w1, w26, #14
             cmp     w1, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             ldr     w1, [x28, w1, UXTW #2]
             eor     w0, w0, w1
             sub     w1, w26, #16
             cmp     w1, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             ldr     w1, [x28, w1, UXTW #2]
             eor     w0, w0, w1
             ror     w0, w0, #31
@@ -163,35 +163,35 @@ G_M22428_IG11:        ; bbWeight=15.84, gcrefRegs=2080000 {x19 x25}, byrefRegs=1
             cmp     w26, #80
             blt     G_M22428_IG11
                        ;; size=96 bbWeight=15.84 PerfScore 403.92
-G_M22428_IG12:        ; bbWeight=2, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref
+G_M22428_IG12:        ; bbWeight=4, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref
             b       G_M22428_IG14
-                       ;; size=4 bbWeight=2 PerfScore 2.00
+                       ;; size=4 bbWeight=4 PerfScore 4.00
 G_M22428_IG13:        ; bbWeight=0.16, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref, isz
             sub     w0, w26, #3
             cmp     w0, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             sub     w0, w26, #3
             ldr     w0, [x28, w0, UXTW #2]
             sub     w1, w26, #8
             cmp     w1, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             sub     w1, w26, #8
             ldr     w1, [x28, w1, UXTW #2]
             eor     w0, w0, w1
             sub     w1, w26, #14
             cmp     w1, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             sub     w1, w26, #14
             ldr     w1, [x28, w1, UXTW #2]
             eor     w0, w0, w1
             sub     w1, w26, #16
             cmp     w1, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             sub     w1, w26, #16
             ldr     w1, [x28, w1, UXTW #2]
             eor     w0, w0, w1
             cmp     w26, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             ror     w0, w0, #31
             str     w0, [x28, w26, UXTW #2]
             add     w26, w26, #1
@@ -255,10 +255,13 @@ G_M22428_IG15:        ; bbWeight=15.84, gcrefRegs=2080000 {x19 x25}, byrefRegs=1
             mov     w6, w8
             blt     G_M22428_IG17
                        ;; size=172 bbWeight=15.84 PerfScore 689.04
-G_M22428_IG16:        ; bbWeight=2, gcrefRegs=2080000 {x19 x25}, byrefRegs=0000 {}, byref
+G_M22428_IG16:        ; bbWeight=4, gcrefRegs=2080000 {x19 x25}, byrefRegs=0000 {}, byref
             ; byrRegs -[x28]
+            mov     w1, w5
+            mov     w3, w6
+            ldr     w2, [fp, #0x20]    // [V10 loc9]
             b       G_M22428_IG19
-                        ;; size=4 bbWeight=2 PerfScore 2.00
+                       ;; size=16 bbWeight=4 PerfScore 16.00
 G_M22428_IG17:        ; bbWeight=7.92, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref
             ; byrRegs +[x28]
             mov     w8, w27
@@ -285,7 +288,7 @@ G_M22428_IG18:        ; bbWeight=0.16, gcrefRegs=2080000 {x19 x25}, byrefRegs=10
             add     w0, w0, w1
             ldr     w2, [fp, #0x1C]    // [V12 loc11]
             cmp     w2, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             ldr     w1, [x28, w2, UXTW #2]
             add     w4, w0, w1
             stp     w4, w2, [fp, #0x18]    // [V19 tmp5], [V12 loc11]
@@ -299,34 +302,38 @@ G_M22428_IG18:        ; bbWeight=0.16, gcrefRegs=2080000 {x19 x25}, byrefRegs=10
             ldr     w1, [fp, #0x18]    // [V19 tmp5]
             add     w5, w0, w1
             ldr     w1, [fp, #0x24]    // [V09 loc8]
-            sxtw    w0, w1
-            ldr     w1, [fp, #0x28]    // [V08 loc7]
             sxtw    w2, w1
+            ldr     w1, [fp, #0x28]    // [V08 loc7]
+            sxtw    w3, w1
             ldr     w4, [fp, #0x2C]  // [V07 loc6]
             ror     w1, w4, #2
             sxtw    w4, w26
             sxtw    w26, w5
-            ldr     w3, [fp, #0x1C]   // [V12 loc11]
-            add     w3, w3, #1
-            cmp     w3, #80
-            str     w0, [fp, #0x20]    // [V10 loc9]
-            mov     w5, w1
-            mov     w6, w2
-            mov     w8, w3
-            blt     G_M22428_IG18
-                       ;; size=188 bbWeight=0.16 PerfScore 7.60
+            ldr     w0, [fp, #0x1C]   // [V12 loc11]
+            add     w0, w0, #1
+            cmp     w0, #80
+            mov     w8, w0
+            blt     G_M22428_IG20
+                       ;; size=176 bbWeight=0.16 PerfScore 7.28
 G_M22428_IG19:        ; bbWeight=4, gcrefRegs=2080000 {x19 x25}, byrefRegs=0000 {}, byref
             ; byrRegs -[x28]
             add     w20, w20, w26
             add     w21, w21, w4
-            add     w22, w22, w5
-            add     w23, w23, w6
-            ldr     w7, [fp, #0x20]    // [V10 loc9]
-            add     w24, w24, w7
+            add     w22, w22, w1
+            add     w23, w23, w3
+            add     w24, w24, w2
             b       G_M22428_IG03
-                        ;; size=28 bbWeight=4 PerfScore 22.00
-G_M22428_IG20:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                      ;; size=24 bbWeight=4 PerfScore 14.00
+G_M22428_IG20:        ; bbWeight=0.08, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref
+            ; byrRegs +[x28]
+            str     w2, [fp, #0x20]    // [V10 loc9]
+            mov     w5, w1
+            mov     w6, w3
+            b       G_M22428_IG18
+                       ;; size=16 bbWeight=0.08 PerfScore 0.24
+G_M22428_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x25]
+            ; byrRegs -[x28]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #2 LSL #32
@@ -337,7 +344,7 @@ G_M22428_IG20:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             stp     w22, w23, [x0, #0x10]
             str     w24, [x0, #0x18]
                        ;; size=28 bbWeight=1 PerfScore 5.50
-G_M22428_IG21:        ; bbWeight=1, epilog, nogc, extend
+G_M22428_IG22:        ; bbWeight=1, epilog, nogc, extend
             ldp     x27, x28, [sp, #0x70]
             ldp     x25, x26, [sp, #0x60]
             ldp     x23, x24, [sp, #0x50]
@@ -346,14 +353,14 @@ G_M22428_IG21:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x80
             ret     lr
                        ;; size=28 bbWeight=1 PerfScore 7.00
-G_M22428_IG22:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M22428_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 964, prolog size 32, PerfScore 1397.31, instruction count 241, allocated bytes for code 964 (MethodHash=57dda863) for method FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5[int,int,int,int,int] (FullOpts)
+; Total bytes of code 976, prolog size 32, PerfScore 1407.23, instruction count 244, allocated bytes for code 976 (MethodHash=57dda863) for method FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5[int,int,int,int,int] (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -364,7 +371,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 241 (0x000f1) Actual length = 964 (0x0003c4)
+  Function Length   : 244 (0x000f4) Actual length = 976 (0x0003d0)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+4 (+2.70%) : 16084.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
@@ -47,7 +47,7 @@ G_M5512_IG03:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byr
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            cbnz    w0, G_M5512_IG09
+            cbnz    w0, G_M5512_IG08
                         ;; size=44 bbWeight=2 PerfScore 35.00
 G_M5512_IG04:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x1, [x19, #0x10]
@@ -56,11 +56,11 @@ G_M5512_IG04:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byr
             mov     w1, #0xD1FFAB1E
             ; gcrRegs -[x1]
             cmp     w0, w1
-            beq     G_M5512_IG07
+            beq     G_M5512_IG10
             ldr     x19, [x19, #0x08]
                        ;; size=24 bbWeight=2 PerfScore 22.00
 G_M5512_IG05:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            cbz     x19, G_M5512_IG07
+            cbz     x19, G_M5512_IG10
                       ;; size=4 bbWeight=8 PerfScore 8.00
 G_M5512_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             movz    x1, #0xD1FFAB1E
@@ -73,23 +73,26 @@ G_M5512_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byr
                        ;; size=24 bbWeight=4 PerfScore 24.00
 G_M5512_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x1 x19]
-            mov     w0, wzr
+            b       G_M5512_IG10
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
+G_M5512_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w0, #1
                      ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M5512_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+G_M5512_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=0.50 PerfScore 2.00
-G_M5512_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            mov     w0, #1
+G_M5512_IG10:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, wzr
                         ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M5512_IG10:        ; bbWeight=0.50, epilog, nogc, extend
+G_M5512_IG11:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 148, prolog size 12, PerfScore 100.00, instruction count 37, allocated bytes for code 148 (MethodHash=0d76ea77) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
+; Total bytes of code 152, prolog size 12, PerfScore 100.50, instruction count 38, allocated bytes for code 152 (MethodHash=0d76ea77) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -100,7 +103,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 37 (0x00025) Actual length = 148 (0x000094)
+  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)
  
+16 (+2.88%) : 20651.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
@@ -19,36 +19,37 @@
 ;* V08 tmp1         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol>
 ;  V09 tmp2         [V09,T02] (  5, 16   )     ref  ->  x23         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol>
 ;  V10 tmp3         [V10,T03] (  4, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol>
-;  V11 tmp4         [V11    ] (  4,  8   )  struct (24) [fp+0x28]  do-not-enreg[XS] must-init addr-exposed "Inline stloc first use temp" <Microsoft.CodeAnalysis.UseSiteInfo`1[Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol]>
+;  V11 tmp4         [V11    ] (  4,  8   )  struct (24) [fp+0x30]  do-not-enreg[XS] must-init addr-exposed "Inline stloc first use temp" <Microsoft.CodeAnalysis.UseSiteInfo`1[Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol]>
 ;* V12 tmp5         [V12    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Immutable.ImmutableArray`1+Enumerator[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]>
 ;* V14 tmp7         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon[]>
-;  V15 tmp8         [V15,T05] (  4, 12.50)     int  ->   x1         "Inline stloc first use temp"
+;  V15 tmp8         [V15,T05] (  4, 12.50)     int  ->  x23         "Inline stloc first use temp"
 ;  V16 tmp9         [V16,T15] (  2,  1   )     ref  ->   x0         single-def "field V05._array (fldOffset=0x0)" P-INDEP
-;  V17 tmp10        [V17,T04] (  4, 12.50)     int  ->  x23         "field V05._index (fldOffset=0x8)" P-INDEP
+;  V17 tmp10        [V17,T04] (  4, 12.50)     int  ->  x24         "field V05._index (fldOffset=0x8)" P-INDEP
 ;  V18 tmp11        [V18,T14] (  3,  1.50)     ref  ->   x0         "field V06.array (fldOffset=0x0)" P-INDEP
-;  V19 tmp12        [V19    ] (  4,  8   )     ref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V11.DiagnosticInfo (fldOffset=0x0)" P-DEP
-;  V20 tmp13        [V20    ] (  4,  8   )     ref  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V11.PrimaryDependency (fldOffset=0x8)" P-DEP
-;  V21 tmp14        [V21    ] (  4,  8   )     ref  ->  [fp+0x38]  do-not-enreg[X] addr-exposed "field V11.SecondaryDependencies (fldOffset=0x10)" P-DEP
+;  V19 tmp12        [V19    ] (  4,  8   )     ref  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V11.DiagnosticInfo (fldOffset=0x0)" P-DEP
+;  V20 tmp13        [V20    ] (  4,  8   )     ref  ->  [fp+0x38]  do-not-enreg[X] addr-exposed "field V11.PrimaryDependency (fldOffset=0x8)" P-DEP
+;  V21 tmp14        [V21    ] (  4,  8   )     ref  ->  [fp+0x40]  do-not-enreg[X] addr-exposed "field V11.SecondaryDependencies (fldOffset=0x10)" P-DEP
 ;* V22 tmp15        [V22    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V12.array (fldOffset=0x0)" P-INDEP
 ;  V23 tmp16        [V23,T16] (  2,  1   )     ref  ->   x0         single-def "field V13._array (fldOffset=0x0)" P-INDEP
 ;* V24 tmp17        [V24,T17] (  0,  0   )     int  ->  zero-ref    single-def "field V13._index (fldOffset=0x8)" P-INDEP
-;  V25 tmp18        [V25    ] (  4, 16   )  struct (24) [fp+0x10]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.CodeAnalysis.UseSiteInfo`1[Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol]>
+;  V25 tmp18        [V25    ] (  4, 16   )  struct (24) [fp+0x18]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.CodeAnalysis.UseSiteInfo`1[Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol]>
 ;  V26 tmp19        [V26,T00] (  3, 24   )     ref  ->   x0         "argument with side effect"
 ;  V27 cse0         [V27,T12] (  3,  5   )     int  ->  x19         "CSE - aggressive"
-;  V28 cse1         [V28,T13] (  2,  4.50)   byref  ->  x24         hoist "CSE - aggressive"
+;  V28 cse1         [V28,T13] (  2,  4.50)   byref  ->  x25         hoist "CSE - aggressive"
 ;  V29 cse2         [V29,T06] (  3, 12   )    long  ->  x24         "CSE - aggressive"
 ;  V30 cse3         [V30,T11] (  3,  6   )    long  ->  x24         "CSE - aggressive"
 ;
-; Lcl frame size = 48
+; Lcl frame size = 56
 
 G_M31465_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x70]!
-            stp     x19, x20, [sp, #0x40]
-            stp     x21, x22, [sp, #0x50]
-            stp     x23, x24, [sp, #0x60]
+            stp     fp, lr, [sp, #-0x80]!
+            stp     x19, x20, [sp, #0x48]
+            stp     x21, x22, [sp, #0x58]
+            stp     x23, x24, [sp, #0x68]
+            str     x25, [sp, #0x78]
             mov     fp, sp
-            add     x9, fp, #16
+            add     x9, fp, #24
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     xzr, xzr, [x9, #0x20]
@@ -58,7 +59,7 @@ G_M31465_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; gcrRegs +[x20]
             mov     x19, x2
             ; byrRegs +[x19]
-                     ;; size=48 bbWeight=1 PerfScore 9.00
+                      ;; size=52 bbWeight=1 PerfScore 10.00
 G_M31465_IG02:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=80000 {x19}, byref, isz
             mov     x0, x21
             ; gcrRegs +[x0]
@@ -99,13 +100,13 @@ G_M31465_IG04:        ; bbWeight=2, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefReg
             ldr     x1, [x1, #0xD1FFAB1E]
             ldr     x1, [x1]
             blr     x1
-            stp     xzr, xzr, [fp, #0x28]
-            str     xzr, [fp, #0x38]
+            stp     xzr, xzr, [fp, #0x30]
+            str     xzr, [fp, #0x40]
             cbz     x0, G_M31465_IG09
             ldrb    w8, [x19, #0x19]
             cmp     w8, #2
             beq     G_M31465_IG09
-            add     x8, fp, #40 // [V11 tmp4]
+            add     x8, fp, #48  // [V11 tmp4]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x80]
             ldr     x1, [x1, #0x20]
@@ -113,13 +114,13 @@ G_M31465_IG04:        ; bbWeight=2, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefReg
             ; gcrRegs -[x0]
                        ;; size=64 bbWeight=2 PerfScore 57.00
 G_M31465_IG05:        ; bbWeight=2, nogc, extend
-            ldp     x0, x1, [fp, #0x28]
-            stp     x0, x1, [fp, #0x10]
-            ldr     x0, [fp, #0x38]
-            str     x0, [fp, #0x20]
+            ldp     x0, x1, [fp, #0x30]
+            stp     x0, x1, [fp, #0x18]
+            ldr     x0, [fp, #0x40]
+            str     x0, [fp, #0x28]
                         ;; size=16 bbWeight=2 PerfScore 14.00
 G_M31465_IG06:        ; bbWeight=2, extend
-            add     x2, fp, #16    // [V25 tmp18]
+            add     x2, fp, #24 // [V25 tmp18]
             mov     x0, x19
             ; byrRegs +[x0]
             movz    x24, #0xD1FFAB1E
@@ -134,13 +135,13 @@ G_M31465_IG06:        ; bbWeight=2, extend
             ; byrRegs -[x0]
                        ;; size=44 bbWeight=2 PerfScore 17.00
 G_M31465_IG07:        ; bbWeight=2, nogc, extend
-            ldp     x0, x1, [fp, #0x28]
-            stp     x0, x1, [fp, #0x10]
-            ldr     x0, [fp, #0x38]
-            str     x0, [fp, #0x20]
+            ldp     x0, x1, [fp, #0x30]
+            stp     x0, x1, [fp, #0x18]
+            ldr     x0, [fp, #0x40]
+            str     x0, [fp, #0x28]
                         ;; size=16 bbWeight=2 PerfScore 14.00
 G_M31465_IG08:        ; bbWeight=2, extend
-            add     x2, fp, #16    // [V25 tmp18]
+            add     x2, fp, #24 // [V25 tmp18]
             mov     x0, x19
             ; byrRegs +[x0]
             mov     x1, x24
@@ -176,16 +177,16 @@ G_M31465_IG10:        ; bbWeight=0.50, gcrefRegs=700000 {x20 x21 x22}, byrefRegs
             blr     x2
             ; byrRegs -[x1 x19]
             ldr     w19, [x0, #0x08]
-            mov     w1, wzr
             mov     w23, wzr
+            mov     w24, wzr
             cmp     w19, #0
             ble     G_M31465_IG12
-            add     x24, x0, #16
-            ; byrRegs +[x24]
+            add     x25, x0, #16
+            ; byrRegs +[x25]
                        ;; size=80 bbWeight=0.50 PerfScore 13.50
-G_M31465_IG11:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=1000000 {x24}, byref, isz
+G_M31465_IG11:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=2000000 {x25}, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [x24, w1, UXTW #3]
+            ldr     x0, [x25, w23, UXTW #3]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
             ldr     x1, [x1, #0xD1FFAB1E]
@@ -193,14 +194,14 @@ G_M31465_IG11:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=10
             blr     x1
             cmp     x0, x22
             beq     G_M31465_IG14
-            add     w1, w23, #1
-            sxtw    w23, w1
-            cmp     w19, w23
+            add     w23, w24, #1
+            sxtw    w24, w23
+            cmp     w19, w24
             bgt     G_M31465_IG11
                        ;; size=44 bbWeight=4 PerfScore 68.00
 G_M31465_IG12:        ; bbWeight=0.50, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0 x22]
-            ; byrRegs -[x24]
+            ; byrRegs -[x25]
             mov     x0, x21
             ; gcrRegs +[x0]
             ldr     x1, [x21]
@@ -221,45 +222,48 @@ G_M31465_IG12:        ; bbWeight=0.50, gcrefRegs=300000 {x20 x21}, byrefRegs=000
             cset    x0, eq
                        ;; size=56 bbWeight=0.50 PerfScore 11.75
 G_M31465_IG13:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x23, x24, [sp, #0x60]
-            ldp     x21, x22, [sp, #0x50]
-            ldp     x19, x20, [sp, #0x40]
-            ldp     fp, lr, [sp], #0x70
+            ldr     x25, [sp, #0x78]
+            ldp     x23, x24, [sp, #0x68]
+            ldp     x21, x22, [sp, #0x58]
+            ldp     x19, x20, [sp, #0x48]
+            ldp     fp, lr, [sp], #0x80
             ret     lr
-                        ;; size=20 bbWeight=0.50 PerfScore 2.50
+                       ;; size=24 bbWeight=0.50 PerfScore 3.50
 G_M31465_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M31465_IG15:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x23, x24, [sp, #0x60]
-            ldp     x21, x22, [sp, #0x50]
-            ldp     x19, x20, [sp, #0x40]
-            ldp     fp, lr, [sp], #0x70
+            ldr     x25, [sp, #0x78]
+            ldp     x23, x24, [sp, #0x68]
+            ldp     x21, x22, [sp, #0x58]
+            ldp     x19, x20, [sp, #0x48]
+            ldp     fp, lr, [sp], #0x80
             ret     lr
-                        ;; size=20 bbWeight=0.50 PerfScore 2.50
+                       ;; size=24 bbWeight=0.50 PerfScore 3.50
 G_M31465_IG16:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M31465_IG17:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x23, x24, [sp, #0x60]
-            ldp     x21, x22, [sp, #0x50]
-            ldp     x19, x20, [sp, #0x40]
-            ldp     fp, lr, [sp], #0x70
+            ldr     x25, [sp, #0x78]
+            ldp     x23, x24, [sp, #0x68]
+            ldp     x21, x22, [sp, #0x58]
+            ldp     x19, x20, [sp, #0x48]
+            ldp     fp, lr, [sp], #0x80
             ret     lr
-                        ;; size=20 bbWeight=0.50 PerfScore 2.50
+                       ;; size=24 bbWeight=0.50 PerfScore 3.50
 
-; Total bytes of code 556, prolog size 36, PerfScore 326.75, instruction count 139, allocated bytes for code 556 (MethodHash=11448516) for method Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
+; Total bytes of code 572, prolog size 40, PerfScore 330.75, instruction count 143, allocated bytes for code 572 (MethodHash=11448516) for method Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 2
+  Code Words        : 3
   Epilog Count      : 3
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 139 (0x0008b) Actual length = 556 (0x00022c)
+  Function Length   : 143 (0x0008f) Actual length = 572 (0x00023c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -273,10 +277,13 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
+    D1 8F       save_reg X#6 Z#15 (0x0F); str x25, [sp, #120]
     E6          save_next
     E6          save_next
-    C8 08       save_regp X#0 Z#8 (0x08); stp x19, x20, [sp, #64]
-    8D          save_fplr_x #13 (0x0D); stp fp, lr, [sp, #-112]!
+    C8 09       save_regp X#0 Z#9 (0x09); stp x19, x20, [sp, #72]
+    8F          save_fplr_x #15 (0x0F); stp fp, lr, [sp, #-128]!
+    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.osx.arm64.checked.mch | 195 | 32 | 29 | 134 | -188 | +252 | 
| benchmarks.run_pgo.osx.arm64.checked.mch | 1,784 | 364 | 633 | 787 | -4,356 | +5,200 | 
| benchmarks.run_tiered.osx.arm64.checked.mch | 88 | 12 | 13 | 63 | -700 | +88 | 
| coreclr_tests.run.osx.arm64.checked.mch | 1,345 | 299 | 237 | 809 | -2,928 | +2,312 | 
| libraries.crossgen2.osx.arm64.checked.mch | 4 | 2 | 1 | 1 | -8 | +8 | 
| libraries.pmi.osx.arm64.checked.mch | 1,084 | 156 | 113 | 815 | -1,408 | +1,104 | 
| libraries_tests.run.osx.arm64.Release.mch | 6,134 | 1,534 | 1,360 | 3,240 | -17,360 | +14,348 | 
| librariestestsnotieredcompilation.run.osx.arm64.Release.mch | 1,309 | 217 | 137 | 955 | -2,256 | +1,400 | 
| realworld.run.osx.arm64.checked.mch | 259 | 39 | 26 | 194 | -336 | +212 | 
|  | 12,202 | 2,655 | 2,549 | 6,998 | -29,540 | +24,924 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| benchmarks.run.osx.arm64.checked.mch | 24,866 | 4 | 24,862 | 0 (0.00%) | 0 (0.00%) | 
| benchmarks.run_pgo.osx.arm64.checked.mch | 84,239 | 48,188 | 36,051 | 0 (0.00%) | 0 (0.00%) | 
| benchmarks.run_tiered.osx.arm64.checked.mch | 48,311 | 37,361 | 10,950 | 0 (0.00%) | 0 (0.00%) | 
| coreclr_tests.run.osx.arm64.checked.mch | 586,054 | 356,848 | 229,206 | 0 (0.00%) | 0 (0.00%) | 
| libraries.crossgen2.osx.arm64.checked.mch | 1,870 | 0 | 1,870 | 0 (0.00%) | 0 (0.00%) | 
| libraries.pmi.osx.arm64.checked.mch | 316,128 | 18 | 316,110 | 0 (0.00%) | 0 (0.00%) | 
| libraries_tests.run.osx.arm64.Release.mch | 634,649 | 463,650 | 170,999 | 0 (0.00%) | 0 (0.00%) | 
| librariestestsnotieredcompilation.run.osx.arm64.Release.mch | 303,146 | 21,597 | 281,549 | 0 (0.00%) | 0 (0.00%) | 
| realworld.run.osx.arm64.checked.mch | 31,546 | 3 | 31,543 | 0 (0.00%) | 0 (0.00%) | 
|  | 2,030,809 | 927,669 | 1,103,140 | 0 (0.00%) | 0 (0.00%) | 
jit-analyze output
benchmarks.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: 11184544 (overridden on cmd)
Total bytes of diff: 11184608 (overridden on cmd)
Total bytes of delta: 64 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          20 : 14189.dasm (0.89 % of base)
          20 : 16824.dasm (0.53 % of base)
          16 : 22106.dasm (1.67 % of base)
          16 : 24095.dasm (1.01 % of base)
          16 : 23121.dasm (0.20 % of base)
          16 : 13207.dasm (0.21 % of base)
          16 : 24105.dasm (2.25 % of base)
          12 : 1581.dasm (1.74 % of base)
          12 : 22372.dasm (3.16 % of base)
          12 : 10652.dasm (0.15 % of base)
           8 : 13092.dasm (1.13 % of base)
           8 : 23065.dasm (1.80 % of base)
           8 : 14771.dasm (0.31 % of base)
           8 : 23387.dasm (0.54 % of base)
           8 : 24641.dasm (1.89 % of base)
           4 : 1871.dasm (0.06 % of base)
           4 : 13637.dasm (0.29 % of base)
           4 : 17694.dasm (0.27 % of base)
           4 : 18459.dasm (0.44 % of base)
           4 : 23888.dasm (0.42 % of base)
Top file improvements (bytes):
         -24 : 22308.dasm (-1.10 % of base)
         -16 : 5010.dasm (-0.45 % of base)
         -12 : 18630.dasm (-0.43 % of base)
          -8 : 17695.dasm (-0.26 % of base)
          -8 : 23118.dasm (-0.14 % of base)
          -8 : 10673.dasm (-0.08 % of base)
          -8 : 17458.dasm (-0.10 % of base)
          -8 : 5216.dasm (-0.40 % of base)
          -4 : 16700.dasm (-0.33 % of base)
          -4 : 17651.dasm (-0.16 % of base)
          -4 : 17707.dasm (-0.17 % of base)
          -4 : 17741.dasm (-0.14 % of base)
          -4 : 19892.dasm (-0.43 % of base)
          -4 : 22801.dasm (-0.02 % of base)
          -4 : 1145.dasm (-0.22 % of base)
          -4 : 13065.dasm (-0.36 % of base)
          -4 : 14760.dasm (-0.46 % of base)
          -4 : 15496.dasm (-1.56 % of base)
          -4 : 4695.dasm (-0.38 % of base)
          -4 : 6150.dasm (-0.09 % of base)
54 total files with Code Size differences (30 improved, 24 regressed), 20 unchanged.
Top method regressions (bytes):
          20 (0.53 % of base) : 16824.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (FullOpts)
          20 (0.89 % of base) : 14189.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (FullOpts)
          16 (1.67 % of base) : 22106.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (FullOpts)
          16 (2.25 % of base) : 24105.dasm - Benchstone.BenchI.Array2:Bench(int):ubyte (FullOpts)
          16 (0.21 % of base) : 13207.dasm - Jil.Deserialize.Methods:_ReadISO8601Date(System.IO.TextReader,ushort[]):System.DateTime (FullOpts)
          16 (0.20 % of base) : 23121.dasm - Jil.Deserialize.Methods:_ReadISO8601DateWithOffset(System.IO.TextReader,ushort[]):System.DateTimeOffset (FullOpts)
          16 (1.01 % of base) : 24095.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
          12 (0.15 % of base) : 10652.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
          12 (3.16 % of base) : 22372.dasm - Benchstone.BenchI.XposMatrix:Test():ubyte:this (FullOpts)
          12 (1.74 % of base) : 1581.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
           8 (0.54 % of base) : 23387.dasm - BenchmarksGame.KNucleotide_9:loadThreeData(System.IO.Stream) (FullOpts)
           8 (1.80 % of base) : 23065.dasm - Benchstone.BenchF.SqMtx:Test():ubyte:this (FullOpts)
           8 (1.89 % of base) : 24641.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           8 (0.31 % of base) : 14771.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
           8 (1.13 % of base) : 13092.dasm - System.Xml.XmlUTF8TextReader:ReadQualifiedName(System.Xml.PrefixHandle,System.Xml.StringHandle):this (FullOpts)
           4 (0.27 % of base) : 17694.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbolsWithNoPiaLocalTypes(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):ubyte:this (FullOpts)
           4 (0.44 % of base) : 18459.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:WhereAsArrayImpl[System.__Canon,int](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte],System.Func`3[System.__Canon,int,ubyte],int):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (FullOpts)
           4 (0.24 % of base) : 14166.dasm - Newtonsoft.Json.JsonTextReader:ReadAsBytes():ubyte[]:this (FullOpts)
           4 (0.42 % of base) : 23888.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:get_Count():int:this (FullOpts)
           4 (0.29 % of base) : 13637.dasm - System.IO.RandomAccess:WriteGatherAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList`1[System.ReadOnlyMemory`1[ubyte]],long) (FullOpts)
Top method improvements (bytes):
         -24 (-1.10 % of base) : 22308.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -16 (-0.45 % of base) : 5010.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[]):System.Reflection.Assembly (FullOpts)
         -12 (-0.43 % of base) : 18630.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckAbstractClassImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -8 (-0.14 % of base) : 23118.dasm - Jil.Deserialize.Methods:SkipWithLeadChar(System.IO.TextReader,int) (FullOpts)
          -8 (-0.08 % of base) : 10673.dasm - Jil.Deserialize.Methods:SkipWithLeadCharThunkReader(byref,int) (FullOpts)
          -8 (-0.10 % of base) : 17458.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)
          -8 (-0.26 % of base) : 17695.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 (FullOpts)
          -8 (-0.40 % of base) : 5216.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
          -4 (-0.02 % of base) : 22801.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.07 % of base) : 16309.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.09 % of base) : 16287.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.33 % of base) : 16700.dasm - Interop+libproc:GetAllThreadsInProcess(int):System.Collections.Generic.List`1[System.Collections.Generic.KeyValuePair`2[ulong,System.Nullable`1[Interop+libproc+proc_threadinfo]]] (FullOpts)
          -4 (-0.24 % of base) : 21843.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (FullOpts)
          -4 (-0.43 % of base) : 19892.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
          -4 (-0.17 % of base) : 17707.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:BuildReferencedAssembliesAndModulesMaps(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]],int,int,System.Collections.Generic.IReadOnlyDictionary`2[System.__Canon,System.__Canon],ubyte,byref,byref,byref,byref) (FullOpts)
          -4 (-0.16 % of base) : 17651.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:TryAddAssembly(Microsoft.CodeAnalysis.AssemblyIdentity,Microsoft.CodeAnalysis.MetadataReference,int,Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.Location,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],ubyte):Microsoft.CodeAnalysis.MetadataReference:this (FullOpts)
          -4 (-0.14 % of base) : 17741.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation+ReferenceManager:SetupReferencesForSourceAssembly(Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.PEModule],int,Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol][],byref,byref) (FullOpts)
          -4 (-0.32 % of base) : 18385.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddDeclaredNontypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -4 (-0.40 % of base) : 18226.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (FullOpts)
          -4 (-0.22 % of base) : 1145.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (FullOpts)
Top method regressions (percentages):
          12 (3.16 % of base) : 22372.dasm - Benchstone.BenchI.XposMatrix:Test():ubyte:this (FullOpts)
           4 (2.33 % of base) : 14759.dasm - System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
          16 (2.25 % of base) : 24105.dasm - Benchstone.BenchI.Array2:Bench(int):ubyte (FullOpts)
           8 (1.89 % of base) : 24641.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           8 (1.80 % of base) : 23065.dasm - Benchstone.BenchF.SqMtx:Test():ubyte:this (FullOpts)
          12 (1.74 % of base) : 1581.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          16 (1.67 % of base) : 22106.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (FullOpts)
           8 (1.13 % of base) : 13092.dasm - System.Xml.XmlUTF8TextReader:ReadQualifiedName(System.Xml.PrefixHandle,System.Xml.StringHandle):this (FullOpts)
          16 (1.01 % of base) : 24095.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
          20 (0.89 % of base) : 14189.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (FullOpts)
           8 (0.54 % of base) : 23387.dasm - BenchmarksGame.KNucleotide_9:loadThreeData(System.IO.Stream) (FullOpts)
          20 (0.53 % of base) : 16824.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (FullOpts)
           4 (0.44 % of base) : 18459.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:WhereAsArrayImpl[System.__Canon,int](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte],System.Func`3[System.__Canon,int,ubyte],int):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (FullOpts)
           4 (0.42 % of base) : 23888.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:get_Count():int:this (FullOpts)
           4 (0.35 % of base) : 1273.dasm - System.Reflection.CustomAttributeEncodedArgument:ParseNamedArgs(byref,System.Reflection.CustomAttributeNamedParameter[],System.Reflection.RuntimeModule) (FullOpts)
           8 (0.31 % of base) : 14771.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
           4 (0.29 % of base) : 13637.dasm - System.IO.RandomAccess:WriteGatherAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList`1[System.ReadOnlyMemory`1[ubyte]],long) (FullOpts)
           4 (0.27 % of base) : 17694.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbolsWithNoPiaLocalTypes(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):ubyte:this (FullOpts)
           4 (0.27 % of base) : 2875.dasm - System.Threading.Barrier:SignalAndWait(int,System.Threading.CancellationToken):ubyte:this (FullOpts)
           4 (0.24 % of base) : 14166.dasm - Newtonsoft.Json.JsonTextReader:ReadAsBytes():ubyte[]:this (FullOpts)
Top method improvements (percentages):
          -4 (-1.56 % of base) : 15496.dasm - Struct.GSeq:FilterSkipMapSum():int:this (FullOpts)
         -24 (-1.10 % of base) : 22308.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -4 (-0.81 % of base) : 6216.dasm - Utf8Json.JsonReader:ReadInt64():long:this (FullOpts)
          -4 (-0.46 % of base) : 14760.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (FullOpts)
         -16 (-0.45 % of base) : 5010.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[]):System.Reflection.Assembly (FullOpts)
          -4 (-0.43 % of base) : 19892.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
         -12 (-0.43 % of base) : 18630.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckAbstractClassImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -4 (-0.41 % of base) : 20343.dasm - System.Net.MultiMemory:CopyFrom(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
          -8 (-0.40 % of base) : 5216.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
          -4 (-0.40 % of base) : 18226.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (FullOpts)
          -4 (-0.38 % of base) : 4695.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[long,System.Net.Sockets.SocketAsyncEngine+SocketAsyncContextWrapper]:TryRemoveInternal(long,byref,ubyte,System.Net.Sockets.SocketAsyncEngine+SocketAsyncContextWrapper):ubyte:this (FullOpts)
          -4 (-0.36 % of base) : 13065.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:get_Count():int:this (FullOpts)
          -4 (-0.33 % of base) : 16700.dasm - Interop+libproc:GetAllThreadsInProcess(int):System.Collections.Generic.List`1[System.Collections.Generic.KeyValuePair`2[ulong,System.Nullable`1[Interop+libproc+proc_threadinfo]]] (FullOpts)
          -4 (-0.33 % of base) : 23227.dasm - System.Threading.TimerQueue:FireNextTimers():this (FullOpts)
          -4 (-0.32 % of base) : 18385.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddDeclaredNontypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -8 (-0.26 % of base) : 17695.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 (FullOpts)
          -4 (-0.24 % of base) : 21843.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (FullOpts)
          -4 (-0.22 % of base) : 1145.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (FullOpts)
          -4 (-0.21 % of base) : 3464.dasm - ProtoBuf.Meta.MetaType:ResolveTupleConstructor(System.Type,byref):System.Reflection.ConstructorInfo (FullOpts)
          -4 (-0.17 % of base) : 17707.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:BuildReferencedAssembliesAndModulesMaps(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]],int,int,System.Collections.Generic.IReadOnlyDictionary`2[System.__Canon,System.__Canon],ubyte,byref,byref,byref,byref) (FullOpts)
  
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: 34491188 (overridden on cmd)
Total bytes of diff: 34492032 (overridden on cmd)
Total bytes of delta: 844 (0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          48 : 63875.dasm (11.43 % of base)
          32 : 83275.dasm (2.22 % of base)
          32 : 16866.dasm (2.22 % of base)
          32 : 67419.dasm (2.22 % of base)
          32 : 74167.dasm (2.22 % of base)
          32 : 81280.dasm (2.19 % of base)
          32 : 39182.dasm (2.22 % of base)
          32 : 64943.dasm (2.22 % of base)
          28 : 82850.dasm (0.80 % of base)
          28 : 74054.dasm (6.54 % of base)
          28 : 9001.dasm (1.91 % of base)
          28 : 25315.dasm (1.59 % of base)
          28 : 36111.dasm (1.59 % of base)
          24 : 68328.dasm (1.36 % of base)
          24 : 70800.dasm (1.36 % of base)
          24 : 81916.dasm (1.36 % of base)
          24 : 83816.dasm (1.36 % of base)
          24 : 84212.dasm (0.73 % of base)
          24 : 70948.dasm (0.73 % of base)
          24 : 76688.dasm (1.36 % of base)
Top file improvements (bytes):
        -476 : 82696.dasm (-32.25 % of base)
        -476 : 82705.dasm (-33.06 % of base)
        -156 : 46178.dasm (-21.67 % of base)
        -156 : 46156.dasm (-21.67 % of base)
         -56 : 36217.dasm (-1.67 % of base)
         -56 : 40505.dasm (-0.47 % of base)
         -56 : 68030.dasm (-6.64 % of base)
         -56 : 36692.dasm (-0.47 % of base)
         -56 : 45366.dasm (-0.47 % of base)
         -48 : 63713.dasm (-1.07 % of base)
         -44 : 28140.dasm (-1.33 % of base)
         -44 : 74976.dasm (-1.33 % of base)
         -44 : 76448.dasm (-1.33 % of base)
         -44 : 8746.dasm (-1.33 % of base)
         -36 : 43684.dasm (-0.30 % of base)
         -28 : 82768.dasm (-0.84 % of base)
         -24 : 38918.dasm (-0.72 % of base)
         -24 : 41210.dasm (-0.73 % of base)
         -24 : 69208.dasm (-1.10 % of base)
         -24 : 71489.dasm (-0.73 % of base)
83 total files with Code Size differences (42 improved, 41 regressed), 20 unchanged.
Top method regressions (bytes):
          48 (11.43 % of base) : 63875.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          32 (2.22 % of base) : 83275.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.22 % of base) : 16866.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.22 % of base) : 67419.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.22 % of base) : 74167.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.19 % of base) : 81280.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.22 % of base) : 39182.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.22 % of base) : 64943.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          28 (1.59 % of base) : 25315.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          28 (1.59 % of base) : 36111.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          28 (1.91 % of base) : 9001.dasm - System.IO.Tests.StringReaderReadLineTests:ReadLine():this (Tier1-OSR)
          28 (0.80 % of base) : 82850.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          28 (6.54 % of base) : 74054.dasm - System.Threading.ThreadPoolWorkQueue:TryStartProcessingHighPriorityWorkItemsAndDequeue(System.Threading.ThreadPoolWorkQueueThreadLocals,byref):ubyte:this (Tier1)
          24 (1.36 % of base) : 68328.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          24 (1.36 % of base) : 70800.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          24 (1.36 % of base) : 81916.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          24 (1.36 % of base) : 83816.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          24 (1.36 % of base) : 76688.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          24 (0.73 % of base) : 84212.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          24 (0.73 % of base) : 70948.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
Top method improvements (bytes):
        -476 (-32.25 % of base) : 82696.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -476 (-33.06 % of base) : 82705.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -156 (-21.67 % of base) : 46178.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 46156.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -56 (-6.64 % of base) : 68030.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -56 (-0.47 % of base) : 40505.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)
         -56 (-0.47 % of base) : 36692.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)
         -56 (-0.47 % of base) : 45366.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)
         -56 (-1.67 % of base) : 36217.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -48 (-1.07 % of base) : 63713.dasm - Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass:VisitBlock(Microsoft.CodeAnalysis.CSharp.BoundBlock):Microsoft.CodeAnalysis.CSharp.BoundNode:this (Tier1)
         -44 (-1.33 % of base) : 28140.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -44 (-1.33 % of base) : 74976.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -44 (-1.33 % of base) : 76448.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -44 (-1.33 % of base) : 8746.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -36 (-0.30 % of base) : 43684.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)
         -28 (-0.84 % of base) : 82768.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -24 (-1.10 % of base) : 69208.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
         -24 (-0.72 % of base) : 38918.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -24 (-0.73 % of base) : 41210.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -24 (-0.73 % of base) : 71489.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
Top method regressions (percentages):
          48 (11.43 % of base) : 63875.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          16 (10.26 % of base) : 73308.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          20 (9.43 % of base) : 68448.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[int]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
          20 (9.43 % of base) : 72266.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[System.__Canon]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
          12 (7.69 % of base) : 45891.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 67586.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 74018.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 61903.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 68173.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 47115.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 65020.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 66042.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 42274.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 44589.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          28 (6.54 % of base) : 74054.dasm - System.Threading.ThreadPoolWorkQueue:TryStartProcessingHighPriorityWorkItemsAndDequeue(System.Threading.ThreadPoolWorkQueueThreadLocals,byref):ubyte:this (Tier1)
           8 (4.08 % of base) : 39723.dasm - Benchstone.BenchI.LogicArray:Inner(byref):ubyte (Tier1-OSR)
           8 (3.64 % of base) : 79169.dasm - Benchstone.MDBenchI.MDLogicArray:Inner(byref):ubyte (Tier1-OSR)
          16 (3.08 % of base) : 76206.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:EnqueueSlow(int):this (Tier1)
          20 (2.56 % of base) : 83832.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1-OSR)
          20 (2.56 % of base) : 65628.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 improvements (percentages):
        -476 (-33.06 % of base) : 82705.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -476 (-32.25 % of base) : 82696.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -156 (-21.67 % of base) : 46178.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 46156.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -16 (-7.02 % of base) : 8366.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
         -16 (-6.90 % of base) : 8364.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
         -56 (-6.64 % of base) : 68030.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -12 (-5.17 % of base) : 38203.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 7822.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 27865.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 59703.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 29632.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.08 % of base) : 73396.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.08 % of base) : 84026.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.08 % of base) : 42368.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.08 % of base) : 44276.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.08 % of base) : 45043.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -20 (-4.42 % of base) : 45967.dasm - Benchstone.BenchF.InvMt:Inner(double[][],byref,byref) (Tier1-OSR)
         -12 (-4.23 % of base) : 45041.dasm - System.Runtime.CompilerServices.CastHelpers:ChkCastAny(ulong,System.Object):System.Object (Tier1)
         -12 (-4.23 % of base) : 44493.dasm - System.Runtime.CompilerServices.CastHelpers:ChkCastAny(ulong,System.Object):System.Object (Tier1)
  
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: 15561300 (overridden on cmd)
Total bytes of diff: 15560688 (overridden on cmd)
Total bytes of delta: -612 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          20 : 32730.dasm (0.54 % of base)
          16 : 43965.dasm (2.07 % of base)
          12 : 22890.dasm (0.15 % of base)
           4 : 24352.dasm (0.30 % of base)
           4 : 31395.dasm (0.13 % of base)
           4 : 32624.dasm (0.49 % of base)
           4 : 13237.dasm (0.14 % of base)
           4 : 32492.dasm (0.04 % of base)
           4 : 40287.dasm (1.08 % of base)
           4 : 43078.dasm (0.29 % of base)
           4 : 43082.dasm (0.27 % of base)
           4 : 44942.dasm (0.82 % of base)
           4 : 18826.dasm (0.07 % of base)
Top file improvements (bytes):
        -436 : 47863.dasm (-31.87 % of base)
        -152 : 32620.dasm (-14.13 % of base)
         -56 : 43601.dasm (-6.97 % of base)
         -24 : 44159.dasm (-1.10 % of base)
          -4 : 28334.dasm (-0.44 % of base)
          -4 : 31400.dasm (-0.07 % of base)
          -4 : 45788.dasm (-0.33 % of base)
          -4 : 31493.dasm (-0.09 % of base)
          -4 : 39715.dasm (-0.41 % of base)
          -4 : 45482.dasm (-0.02 % of base)
          -4 : 25708.dasm (-0.10 % of base)
          -4 : 44897.dasm (-0.02 % of base)
25 total files with Code Size differences (12 improved, 13 regressed), 31 unchanged.
Top method regressions (bytes):
          20 (0.54 % of base) : 32730.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (Tier0-FullOpts)
          16 (2.07 % of base) : 43965.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
          12 (0.15 % of base) : 22890.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
           4 (0.29 % of base) : 43078.dasm - Benchstone.BenchF.MatInv4:MinV1(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.27 % of base) : 43082.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.13 % of base) : 31395.dasm - Benchstone.BenchI.MulMatrix:Inner(int[][],int[][],int[][]) (Tier1-OSR)
           4 (0.82 % of base) : 44942.dasm - Benchstone.MDBenchF.MDInvMt:Inner(double[,],byref,byref) (Tier1-OSR)
           4 (1.08 % of base) : 40287.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
           4 (0.49 % of base) : 32624.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1-OSR)
           4 (0.14 % of base) : 13237.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength8OrLongerOrUnknown,System.Buffers.StringSearchValuesHelper+CaseInsensitiveAsciiLetters]:IndexOf(byref,int):int:this (Tier1)
           4 (0.30 % of base) : 24352.dasm - System.IO.RandomAccess:WriteGatherAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList`1[System.ReadOnlyMemory`1[ubyte]],long) (Tier0-FullOpts)
           4 (0.07 % of base) : 18826.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1)
           4 (0.04 % of base) : 32492.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
Top method improvements (bytes):
        -436 (-31.87 % of base) : 47863.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -152 (-14.13 % of base) : 32620.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -56 (-6.97 % of base) : 43601.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -24 (-1.10 % of base) : 44159.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -4 (-0.02 % of base) : 44897.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.07 % of base) : 31400.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.02 % of base) : 45482.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.09 % of base) : 31493.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.41 % of base) : 39715.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
          -4 (-0.44 % of base) : 28334.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,int]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[int,int],ubyte,ubyte):this (Tier1-OSR)
          -4 (-0.10 % of base) : 25708.dasm - System.Number:FormatBigInteger(ubyte,System.Numerics.BigInteger,System.String,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo,System.Span`1[ushort],byref,byref):System.String (Tier0-FullOpts)
          -4 (-0.33 % of base) : 45788.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
Top method regressions (percentages):
          16 (2.07 % of base) : 43965.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
           4 (1.08 % of base) : 40287.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
           4 (0.82 % of base) : 44942.dasm - Benchstone.MDBenchF.MDInvMt:Inner(double[,],byref,byref) (Tier1-OSR)
          20 (0.54 % of base) : 32730.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (Tier0-FullOpts)
           4 (0.49 % of base) : 32624.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1-OSR)
           4 (0.30 % of base) : 24352.dasm - System.IO.RandomAccess:WriteGatherAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList`1[System.ReadOnlyMemory`1[ubyte]],long) (Tier0-FullOpts)
           4 (0.29 % of base) : 43078.dasm - Benchstone.BenchF.MatInv4:MinV1(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.27 % of base) : 43082.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
          12 (0.15 % of base) : 22890.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
           4 (0.14 % of base) : 13237.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength8OrLongerOrUnknown,System.Buffers.StringSearchValuesHelper+CaseInsensitiveAsciiLetters]:IndexOf(byref,int):int:this (Tier1)
           4 (0.13 % of base) : 31395.dasm - Benchstone.BenchI.MulMatrix:Inner(int[][],int[][],int[][]) (Tier1-OSR)
           4 (0.07 % of base) : 18826.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1)
           4 (0.04 % of base) : 32492.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
Top method improvements (percentages):
        -436 (-31.87 % of base) : 47863.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -152 (-14.13 % of base) : 32620.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -56 (-6.97 % of base) : 43601.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -24 (-1.10 % of base) : 44159.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -4 (-0.44 % of base) : 28334.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,int]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[int,int],ubyte,ubyte):this (Tier1-OSR)
          -4 (-0.41 % of base) : 39715.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
          -4 (-0.33 % of base) : 45788.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
          -4 (-0.10 % of base) : 25708.dasm - System.Number:FormatBigInteger(ubyte,System.Numerics.BigInteger,System.String,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo,System.Span`1[ushort],byref,byref):System.String (Tier0-FullOpts)
          -4 (-0.09 % of base) : 31493.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.07 % of base) : 31400.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.02 % of base) : 45482.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.02 % of base) : 44897.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
  
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: 486155516 (overridden on cmd)
Total bytes of diff: 486154900 (overridden on cmd)
Total bytes of delta: -616 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          88 : 519224.dasm (3.96 % of base)
          72 : 383436.dasm (0.60 % of base)
          72 : 381459.dasm (0.63 % of base)
          64 : 377815.dasm (0.53 % of base)
          56 : 383342.dasm (2.70 % of base)
          56 : 383545.dasm (2.79 % of base)
          56 : 378036.dasm (2.78 % of base)
          56 : 384414.dasm (0.55 % of base)
          52 : 306478.dasm (24.07 % of base)
          52 : 306480.dasm (24.07 % of base)
          44 : 284056.dasm (8.94 % of base)
          36 : 376660.dasm (0.44 % of base)
          36 : 256684.dasm (1.84 % of base)
          28 : 383195.dasm (1.22 % of base)
          24 : 378198.dasm (0.99 % of base)
          24 : 383441.dasm (0.42 % of base)
          24 : 377067.dasm (1.04 % of base)
          20 : 286807.dasm (2.18 % of base)
          20 : 492680.dasm (0.89 % of base)
          20 : 291504.dasm (1.60 % of base)
Top file improvements (bytes):
        -476 : 239246.dasm (-32.25 % of base)
        -168 : 299215.dasm (-31.82 % of base)
        -156 : 242505.dasm (-21.67 % of base)
        -156 : 242521.dasm (-21.67 % of base)
         -64 : 381003.dasm (-0.85 % of base)
         -36 : 514728.dasm (-1.17 % of base)
         -36 : 514964.dasm (-1.17 % of base)
         -36 : 380903.dasm (-0.42 % of base)
         -28 : 305210.dasm (-3.59 % of base)
         -28 : 381675.dasm (-1.72 % of base)
         -28 : 381656.dasm (-1.69 % of base)
         -28 : 384494.dasm (-1.69 % of base)
         -28 : 384497.dasm (-1.69 % of base)
         -24 : 381260.dasm (-3.21 % of base)
         -24 : 383494.dasm (-0.21 % of base)
         -24 : 506050.dasm (-0.26 % of base)
         -20 : 384338.dasm (-2.67 % of base)
         -20 : 524860.dasm (-0.43 % of base)
         -16 : 238522.dasm (-7.02 % of base)
         -16 : 238520.dasm (-6.90 % of base)
69 total files with Code Size differences (35 improved, 34 regressed), 20 unchanged.
Top method regressions (bytes):
          88 (3.96 % of base) : 519224.dasm - JitTest_array1_refany_il.Test:Main():int (FullOpts)
          72 (0.60 % of base) : 383436.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (Tier1)
          72 (0.63 % of base) : 381459.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
          64 (0.53 % of base) : 377815.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (Tier1)
          56 (2.79 % of base) : 383545.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          56 (2.78 % of base) : 378036.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          56 (2.70 % of base) : 383342.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          56 (0.55 % of base) : 384414.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
          52 (24.07 % of base) : 306478.dasm - testout1:Test1(int):int (Tier1-OSR)
          52 (24.07 % of base) : 306480.dasm - testout1:Test2(int):int (Tier1-OSR)
          44 (8.94 % of base) : 284056.dasm - RetBufferBug:Main():int (Tier1-OSR)
          36 (0.44 % of base) : 376660.dasm - ILCompiler.ReadyToRunVisibilityRootProvider:RootMethods(Internal.TypeSystem.MetadataType,System.String,ILCompiler.IRootingServiceProvider,ubyte):this (Tier1-OSR)
          36 (1.84 % of base) : 256684.dasm - System.Net.Sockets.SocketAsyncEngine:System.Threading.IThreadPoolWorkItem.Execute():this (Tier1)
          28 (1.22 % of base) : 383195.dasm - Internal.TypeSystem.MetadataVirtualMethodAlgorithm+<EnumAllVirtualSlots>d__29:MoveNext():ubyte:this (Tier1)
          24 (0.42 % of base) : 383441.dasm - ILCompiler.CompilerTypeSystemContext:EnsureLoadableTypeUncached(Internal.TypeSystem.TypeDesc):Internal.TypeSystem.TypeDesc (Tier1)
          24 (0.99 % of base) : 378198.dasm - ILCompiler.LazyGenericsSupport+GraphBuilder:.ctor(Internal.TypeSystem.Ecma.EcmaType):this (Tier1)
          24 (1.04 % of base) : 377067.dasm - Internal.TypeSystem.MetadataVirtualMethodAlgorithm+<EnumAllVirtualSlots>d__29:MoveNext():ubyte:this (Tier1)
          20 (2.18 % of base) : 286807.dasm - JitTest_lcs_long_arrays_il.LCS:findLCS(long[,,,],long[,,,],ushort[][],long[]) (Tier1-OSR)
          20 (0.89 % of base) : 492680.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (FullOpts)
          20 (1.60 % of base) : 291504.dasm - System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (Tier1)
Top method improvements (bytes):
        -476 (-32.25 % of base) : 239246.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -168 (-31.82 % of base) : 299215.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -156 (-21.67 % of base) : 242505.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 242521.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -64 (-0.85 % of base) : 381003.dasm - System.Collections.Generic.ArraySortHelper`1[System.__Canon]:InsertionSort(System.Span`1[System.__Canon],System.Comparison`1[System.__Canon]) (Tier1)
         -36 (-1.17 % of base) : 514728.dasm - plainarr:gaussj(double[,],int,double[,],int) (FullOpts)
         -36 (-1.17 % of base) : 514964.dasm - structarr:gaussj(MatrixStruct,int,MatrixStruct,int) (FullOpts)
         -36 (-0.42 % of base) : 380903.dasm - System.Collections.Generic.ArraySortHelper`1[System.__Canon]:IntroSort(System.Span`1[System.__Canon],int,System.Comparison`1[System.__Canon]) (Tier1)
         -28 (-1.72 % of base) : 381675.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ILCompiler.DependencyAnalysis.NodeFactory+TypeFixupKey,System.__Canon]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[ILCompiler.DependencyAnalysis.NodeFactory+TypeFixupKey,System.__Canon],ubyte,ubyte):this (Tier1)
         -28 (-1.69 % of base) : 384497.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ILCompiler.DependencyAnalysis.NodeFactory+TypeFixupKey,System.__Canon]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[ILCompiler.DependencyAnalysis.NodeFactory+TypeFixupKey,System.__Canon],ubyte,ubyte):this (Tier1)
         -28 (-1.69 % of base) : 381656.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ILCompiler.DependencyAnalysis.ReadyToRun.ModuleToken,System.__Canon]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[ILCompiler.DependencyAnalysis.ReadyToRun.ModuleToken,System.__Canon],ubyte,ubyte):this (Tier1)
         -28 (-1.69 % of base) : 384494.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ILCompiler.DependencyAnalysis.ReadyToRun.ModuleToken,System.__Canon]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[ILCompiler.DependencyAnalysis.ReadyToRun.ModuleToken,System.__Canon],ubyte,ubyte):this (Tier1)
         -28 (-3.59 % of base) : 305210.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -24 (-0.21 % of base) : 383494.dasm - ILCompiler.ReadyToRunMetadataFieldLayoutAlgorithm+ModuleFieldLayoutMap:CalculateTypeLayout(Internal.TypeSystem.DefType,Internal.TypeSystem.Ecma.EcmaModule,byref):Internal.TypeSystem.FieldAndOffset[]:this (Tier1)
         -24 (-0.26 % of base) : 506050.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)
         -24 (-3.21 % of base) : 381260.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -20 (-0.43 % of base) : 524860.dasm - Co1245GetBytes_double:runTest():ubyte:this (FullOpts)
         -20 (-2.67 % of base) : 384338.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -16 (-6.90 % of base) : 238520.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
         -16 (-7.02 % of base) : 238522.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
Top method regressions (percentages):
          52 (24.07 % of base) : 306478.dasm - testout1:Test1(int):int (Tier1-OSR)
          52 (24.07 % of base) : 306480.dasm - testout1:Test2(int):int (Tier1-OSR)
          44 (8.94 % of base) : 284056.dasm - RetBufferBug:Main():int (Tier1-OSR)
          12 (7.89 % of base) : 376780.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.89 % of base) : 383315.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          16 (4.40 % of base) : 523378.dasm - Default.Graph:BuildEdge(int,int):this (FullOpts)
           8 (4.08 % of base) : 238474.dasm - Benchstone.BenchI.LogicArray:Inner(byref):ubyte (Tier1-OSR)
          88 (3.96 % of base) : 519224.dasm - JitTest_array1_refany_il.Test:Main():int (FullOpts)
          16 (3.81 % of base) : 493833.dasm - Benchstone.BenchF.SqMtx:Bench():ubyte (FullOpts)
           8 (3.64 % of base) : 238559.dasm - Benchstone.MDBenchI.MDLogicArray:Inner(byref):ubyte (Tier1-OSR)
          12 (3.19 % of base) : 493856.dasm - Benchstone.BenchI.XposMatrix:Bench(int[][]):ubyte (FullOpts)
          56 (2.79 % of base) : 383545.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          56 (2.78 % of base) : 378036.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          56 (2.70 % of base) : 383342.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,byref):ubyte:this (Tier1)
           4 (2.56 % of base) : 377857.dasm - Internal.TypeSystem.InstantiatedType:IsCanonicalSubtype(int):ubyte:this (Tier1)
           4 (2.56 % of base) : 383455.dasm - Internal.TypeSystem.InstantiatedType:IsCanonicalSubtype(int):ubyte:this (Tier1)
          16 (2.25 % of base) : 491587.dasm - Benchstone.BenchI.Array2:Bench(int):ubyte (FullOpts)
          20 (2.18 % of base) : 286807.dasm - JitTest_lcs_long_arrays_il.LCS:findLCS(long[,,,],long[,,,],ushort[][],long[]) (Tier1-OSR)
          36 (1.84 % of base) : 256684.dasm - System.Net.Sockets.SocketAsyncEngine:System.Threading.IThreadPoolWorkItem.Execute():this (Tier1)
          16 (1.67 % of base) : 492703.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (FullOpts)
Top method improvements (percentages):
        -476 (-32.25 % of base) : 239246.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -168 (-31.82 % of base) : 299215.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -156 (-21.67 % of base) : 242505.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 242521.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -16 (-7.02 % of base) : 238522.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
         -16 (-6.90 % of base) : 238520.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
         -12 (-5.17 % of base) : 265574.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 303987.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 352333.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 253168.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 30352.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -28 (-3.59 % of base) : 305210.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
          -4 (-3.57 % of base) : 382178.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.ByteArrayComparer:Equals(ubyte[],ubyte[]):ubyte:this (Tier1)
          -4 (-3.57 % of base) : 384656.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.ByteArrayComparer:Equals(ubyte[],ubyte[]):ubyte:this (Tier1)
          -4 (-3.57 % of base) : 491247.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
         -12 (-3.53 % of base) : 252425.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:TryDequeue(byref):ubyte:this (Tier1)
         -12 (-3.53 % of base) : 349746.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:TryDequeue(byref):ubyte:this (Tier1)
          -4 (-3.33 % of base) : 381386.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
          -4 (-3.33 % of base) : 384389.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
         -24 (-3.21 % of base) : 381260.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (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: 308756 (overridden on cmd)
Total bytes of diff: 308756 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
           8 : 997.dasm (0.22 % of base)
Top file improvements (bytes):
          -4 : 220.dasm (-0.19 % of base)
          -4 : 302.dasm (-0.19 % of base)
3 total files with Code Size differences (2 improved, 1 regressed), 1 unchanged.
Top method regressions (bytes):
           8 (0.22 % of base) : 997.dasm - System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte[] (FullOpts)
Top method improvements (bytes):
          -4 (-0.19 % of base) : 220.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
          -4 (-0.19 % of base) : 302.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
Top method regressions (percentages):
           8 (0.22 % of base) : 997.dasm - System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte[] (FullOpts)
Top method improvements (percentages):
          -4 (-0.19 % of base) : 220.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
          -4 (-0.19 % of base) : 302.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
3 total methods with Code Size differences (2 improved, 1 regressed).
  
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: 80181600 (overridden on cmd)
Total bytes of diff: 80181296 (overridden on cmd)
Total bytes of delta: -304 (-0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          76 : 254195.dasm (1.84 % of base)
          56 : 110803.dasm (0.24 % of base)
          44 : 211336.dasm (0.69 % of base)
          40 : 235119.dasm (1.65 % of base)
          28 : 225223.dasm (1.66 % of base)
          28 : 238715.dasm (4.90 % of base)
          28 : 240141.dasm (1.68 % of base)
          24 : 206590.dasm (1.43 % of base)
          24 : 218579.dasm (5.71 % of base)
          20 : 170003.dasm (0.89 % of base)
          20 : 52797.dasm (0.26 % of base)
          20 : 53464.dasm (1.54 % of base)
          16 : 164715.dasm (0.93 % of base)
          16 : 223131.dasm (4.40 % of base)
          16 : 168714.dasm (0.43 % of base)
          16 : 211306.dasm (1.05 % of base)
          16 : 220467.dasm (1.20 % of base)
          16 : 254575.dasm (1.81 % of base)
          16 : 258697.dasm (0.51 % of base)
          16 : 80949.dasm (2.88 % of base)
Top file improvements (bytes):
         -80 : 181107.dasm (-2.51 % of base)
         -72 : 168716.dasm (-7.32 % of base)
         -52 : 168712.dasm (-0.19 % of base)
         -28 : 203431.dasm (-3.37 % of base)
         -28 : 18016.dasm (-3.37 % of base)
         -28 : 274856.dasm (-1.50 % of base)
         -28 : 48984.dasm (-1.24 % of base)
         -24 : 180090.dasm (-0.26 % of base)
         -20 : 133641.dasm (-1.10 % of base)
         -20 : 59530.dasm (-0.35 % of base)
         -20 : 83799.dasm (-0.84 % of base)
         -16 : 194310.dasm (-0.63 % of base)
         -16 : 168726.dasm (-0.27 % of base)
         -16 : 220079.dasm (-0.44 % of base)
         -16 : 272955.dasm (-0.39 % of base)
         -16 : 8073.dasm (-0.63 % of base)
         -12 : 4649.dasm (-0.44 % of base)
         -12 : 53293.dasm (-0.37 % of base)
         -12 : 80521.dasm (-2.13 % of base)
         -12 : 9809.dasm (-0.54 % of base)
66 total files with Code Size differences (33 improved, 33 regressed), 20 unchanged.
Top method regressions (bytes):
          76 (1.84 % of base) : 254195.dasm - System.Net.Mail.SmtpClient:SendAsync(System.Net.Mail.MailMessage,System.Object):this (FullOpts)
          56 (0.24 % of base) : 110803.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)
          44 (0.69 % of base) : 211336.dasm - System.Xml.XmlTextReaderImpl+<ParseAttributeValueSlowAsync>d__532:MoveNext():this (FullOpts)
          40 (1.65 % of base) : 235119.dasm - Microsoft.Build.Evaluation.ExpressionShredder:GetReferencedItemExpressions(System.String,int,int):System.Collections.Generic.List`1[Microsoft.Build.Evaluation.ExpressionShredder+ItemExpressionCapture] (FullOpts)
          28 (1.68 % of base) : 240141.dasm - Microsoft.Build.BackEnd.RequestBuilder+<StartNewBuildRequests>d__61:MoveNext():this (FullOpts)
          28 (4.90 % of base) : 238715.dasm - Microsoft.Build.Shared.FileUtilities:PathsEqual(System.String,System.String):ubyte (FullOpts)
          28 (1.66 % of base) : 225223.dasm - System.Text.DBCSCodePageEncoding:ReadBestFitTable():this (FullOpts)
          24 (5.71 % of base) : 218579.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          24 (1.43 % of base) : 206590.dasm - Xunit.Sdk.XunitTestCollectionRunner+<CreateCollectionFixturesAsync>d__12:MoveNext():this (FullOpts)
          20 (0.26 % of base) : 52797.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindAnonymousObjectCreation(Microsoft.CodeAnalysis.CSharp.Syntax.AnonymousObjectCreationExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          20 (1.54 % of base) : 53464.dasm - Microsoft.CodeAnalysis.CSharp.Binder:ReportQueryInferenceFailedSelectMany(Microsoft.CodeAnalysis.CSharp.Syntax.FromClauseSyntax,System.String,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbol],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):ubyte (FullOpts)
          20 (0.89 % of base) : 170003.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (FullOpts)
          16 (2.88 % of base) : 80949.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
          16 (1.27 % of base) : 137820.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation+DocumentationCommentCompiler:GetDocumentationCommentForSymbol(Microsoft.CodeAnalysis.VisualBasic.Symbol,Microsoft.CodeAnalysis.VisualBasic.Syntax.DocumentationCommentTriviaSyntax,System.Collections.Generic.Dictionary`2[int,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax]]):System.String:this (FullOpts)
          16 (0.43 % of base) : 168714.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMostSpecific(System.Reflection.MethodBase,System.Reflection.MethodBase,int[],System.Object[],ubyte,int,int,System.Object[]):int:this (FullOpts)
          16 (0.93 % of base) : 164715.dasm - System.Data.Select:CreateIndex():this (FullOpts)
          16 (4.40 % of base) : 223131.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          16 (1.81 % of base) : 254575.dasm - System.Net.Mime.MimeBasePart:DecodeHeaderValue(System.String):System.String (FullOpts)
          16 (0.51 % of base) : 258697.dasm - System.Security.Cryptography.Xml.Utils:BuildBagOfCerts(System.Security.Cryptography.Xml.KeyInfoX509Data,int):System.Security.Cryptography.X509Certificates.X509Certificate2Collection (FullOpts)
          16 (1.20 % of base) : 220467.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteElements(System.Object,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,ubyte,ubyte):this (FullOpts)
Top method improvements (bytes):
         -80 (-2.51 % of base) : 181107.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -72 (-7.32 % of base) : 168716.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:MethodsDifferOnlyByReturnType(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte:this (FullOpts)
         -52 (-0.19 % of base) : 168712.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)
         -28 (-3.37 % of base) : 203431.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -28 (-3.37 % of base) : 18016.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -28 (-1.50 % of base) : 274856.dasm - System.Buffers.SequenceReader`1[double]:TryReadTo(byref,double,double,ubyte):ubyte:this (FullOpts)
         -28 (-1.24 % of base) : 48984.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -24 (-0.26 % of base) : 180090.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)
         -20 (-0.35 % of base) : 59530.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArguments>g__visitArguments|231_0(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Conversion],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,ubyte):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte,Microsoft.CodeAnalysis.CSharp.NullableWalker+ArgumentsCompletionDelegate]:this (FullOpts)
         -20 (-0.84 % of base) : 83799.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:<FindMostSpecificImplementationInBases>g__findMostSpecificImplementationInBases|92_1(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
         -20 (-1.10 % of base) : 133641.dasm - Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyImmediateVarianceCompatibility(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,int,byref):int (FullOpts)
         -16 (-0.63 % of base) : 194310.dasm - Microsoft.CodeAnalysis.VersionHelper:TryParse(System.String,ubyte,ushort,ubyte,byref):ubyte (FullOpts)
         -16 (-0.63 % of base) : 8073.dasm - Microsoft.CodeAnalysis.VersionHelper:TryParse(System.String,ubyte,ushort,ubyte,byref):ubyte (FullOpts)
         -16 (-0.27 % of base) : 168726.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -16 (-0.39 % of base) : 272955.dasm - System.Net.HttpWebRequest+<SendRequest>d__196:MoveNext():this (FullOpts)
         -16 (-0.44 % of base) : 220079.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[]):System.Reflection.Assembly (FullOpts)
         -12 (-0.44 % of base) : 4649.dasm - Microsoft.CodeAnalysis.CommonCompiler:<ReportDiagnostics>g__reportDiagnostic|61_0(Microsoft.CodeAnalysis.Diagnostic,Microsoft.CodeAnalysis.Diagnostics.SuppressionInfo,byref):this (FullOpts)
         -12 (-0.37 % of base) : 53293.dasm - Microsoft.CodeAnalysis.CSharp.Binder:AddLookupSymbolsInfoInAliases(System.Collections.Immutable.ImmutableDictionary`2[System.String,Microsoft.CodeAnalysis.CSharp.AliasAndUsingDirective],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.AliasAndExternAliasDirective],Microsoft.CodeAnalysis.CSharp.LookupSymbolsInfo,int,Microsoft.CodeAnalysis.CSharp.Binder):this (FullOpts)
         -12 (-2.13 % of base) : 80521.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstraintsHelper:CheckConstraints(Microsoft.CodeAnalysis.CSharp.Symbol,byref,Microsoft.CodeAnalysis.CSharp.Symbols.TypeMap,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterDiagnosticInfo],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterDiagnosticInfo],byref,Microsoft.CodeAnalysis.BitVector,System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol]):ubyte (FullOpts)
         -12 (-0.54 % of base) : 9809.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver:ComputeShouldTreatAllCodeAsNonGeneratedCode(System.Collections.Immutable.ImmutableHashSet`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer,int]):ubyte (FullOpts)
Top method regressions (percentages):
          24 (5.71 % of base) : 218579.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          28 (4.90 % of base) : 238715.dasm - Microsoft.Build.Shared.FileUtilities:PathsEqual(System.String,System.String):ubyte (FullOpts)
          16 (4.40 % of base) : 223131.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          16 (2.88 % of base) : 80949.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
           4 (2.86 % of base) : 198913.dasm - Microsoft.CodeAnalysis.Emit.SymbolChanges:IsReplaced(Microsoft.CodeAnalysis.ISymbol,ubyte):ubyte:this (FullOpts)
           4 (2.86 % of base) : 13360.dasm - Microsoft.CodeAnalysis.Emit.SymbolChanges:IsReplaced(Microsoft.CodeAnalysis.Symbols.ISymbolInternal,ubyte):ubyte:this (FullOpts)
           8 (2.78 % of base) : 93887.dasm - ILCompiler.LazyGenericsSupport+Graph`1+Vertex[ubyte]:AddEdge(ILCompiler.LazyGenericsSupport+Graph`1+Vertex[ubyte],ubyte):this (FullOpts)
          12 (2.40 % of base) : 114880.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol:GenerateVarianceDiagnosticsForConstraints(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol],Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,byref):this (FullOpts)
           4 (2.38 % of base) : 71559.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
           4 (2.33 % of base) : 210438.dasm - System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
           8 (2.25 % of base) : 239190.dasm - Microsoft.Build.Graph.ProjectGraph+ProjectGraphBuildRequest:GetHashCode():int:this (FullOpts)
          12 (1.91 % of base) : 257649.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadLibraries(byref):System.Collections.Generic.Dictionary`2[System.String,Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+LibraryStub]:this (FullOpts)
           8 (1.89 % of base) : 289255.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
          76 (1.84 % of base) : 254195.dasm - System.Net.Mail.SmtpClient:SendAsync(System.Net.Mail.MailMessage,System.Object):this (FullOpts)
          12 (1.83 % of base) : 220475.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteEnumMethod(System.Xml.Serialization.EnumMapping,System.Object):System.String:this (FullOpts)
          12 (1.82 % of base) : 280246.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          16 (1.81 % of base) : 254575.dasm - System.Net.Mime.MimeBasePart:DecodeHeaderValue(System.String):System.String (FullOpts)
           4 (1.69 % of base) : 162019.dasm - System.Xml.XPathNodePointer:DecideXPNodeTypeForTextNodes(System.Xml.XmlNode):int:this (FullOpts)
          28 (1.68 % of base) : 240141.dasm - Microsoft.Build.BackEnd.RequestBuilder+<StartNewBuildRequests>d__61:MoveNext():this (FullOpts)
          28 (1.66 % of base) : 225223.dasm - System.Text.DBCSCodePageEncoding:ReadBestFitTable():this (FullOpts)
Top method improvements (percentages):
         -72 (-7.32 % of base) : 168716.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:MethodsDifferOnlyByReturnType(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte:this (FullOpts)
          -4 (-3.57 % of base) : 62006.dasm - Microsoft.CodeAnalysis.CSharp.ObjectDisplay:ContainsNewLine(System.String):ubyte (FullOpts)
          -4 (-3.57 % of base) : 57998.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
         -28 (-3.37 % of base) : 203431.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -28 (-3.37 % of base) : 18016.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
          -4 (-3.23 % of base) : 194354.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
          -4 (-3.23 % of base) : 8123.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
         -80 (-2.51 % of base) : 181107.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
          -8 (-2.15 % of base) : 136551.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder+MemberLookup:IsDerivedInterface(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BasesBeingResolved,byref):ubyte (FullOpts)
         -12 (-2.13 % of base) : 80521.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstraintsHelper:CheckConstraints(Microsoft.CodeAnalysis.CSharp.Symbol,byref,Microsoft.CodeAnalysis.CSharp.Symbols.TypeMap,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterDiagnosticInfo],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterDiagnosticInfo],byref,Microsoft.CodeAnalysis.BitVector,System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol]):ubyte (FullOpts)
          -8 (-1.55 % of base) : 257641.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
         -28 (-1.50 % of base) : 274856.dasm - System.Buffers.SequenceReader`1[double]:TryReadTo(byref,double,double,ubyte):ubyte:this (FullOpts)
          -4 (-1.49 % of base) : 110264.dasm - Microsoft.CodeAnalysis.VisualBasic.DataFlowPass:IsConvertedLambda(Microsoft.CodeAnalysis.VisualBasic.BoundExpression):ubyte (FullOpts)
          -8 (-1.38 % of base) : 23950.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
          -4 (-1.32 % of base) : 192657.dasm - Microsoft.CodeAnalysis.RealParser:ConvertBigIntegerToFloatingPointBits(ubyte[],uint,ubyte,Microsoft.CodeAnalysis.RealParser+FloatingPointType,byref):int (FullOpts)
          -4 (-1.32 % of base) : 6302.dasm - Microsoft.CodeAnalysis.RealParser:ConvertBigIntegerToFloatingPointBits(ubyte[],uint,ubyte,Microsoft.CodeAnalysis.RealParser+FloatingPointType,byref):int (FullOpts)
          -8 (-1.31 % of base) : 257642.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTarget(byref,System.String):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target:this (FullOpts)
          -8 (-1.29 % of base) : 264858.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
          -4 (-1.28 % of base) : 235122.dasm - Microsoft.Build.Evaluation.ExpressionShredder:SinkArgumentsInParentheses(System.String,byref,int):ubyte (FullOpts)
         -28 (-1.24 % of base) : 48984.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (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: 314052980 (overridden on cmd)
Total bytes of diff: 314049968 (overridden on cmd)
Total bytes of delta: -3012 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         216 : 315873.dasm (2.74 % of base)
         160 : 586666.dasm (1.43 % of base)
         156 : 602963.dasm (1.55 % of base)
         136 : 584014.dasm (1.09 % of base)
         112 : 606798.dasm (1.61 % of base)
         100 : 55100.dasm (0.84 % of base)
         100 : 102232.dasm (0.95 % of base)
         100 : 491455.dasm (0.46 % of base)
         100 : 497152.dasm (2.57 % of base)
          96 : 586112.dasm (4.69 % of base)
          96 : 588521.dasm (0.81 % of base)
          88 : 589213.dasm (0.83 % of base)
          84 : 194076.dasm (4.86 % of base)
          76 : 83720.dasm (0.64 % of base)
          72 : 587616.dasm (2.13 % of base)
          68 : 603284.dasm (1.05 % of base)
          68 : 298851.dasm (0.78 % of base)
          64 : 158909.dasm (0.82 % of base)
          64 : 118836.dasm (0.51 % of base)
          60 : 560820.dasm (0.52 % of base)
Top file improvements (bytes):
        -256 : 531942.dasm (-2.69 % of base)
        -244 : 340126.dasm (-1.89 % of base)
        -228 : 85677.dasm (-1.13 % of base)
        -176 : 79382.dasm (-5.35 % of base)
        -152 : 603367.dasm (-1.29 % of base)
        -140 : 85772.dasm (-1.59 % of base)
        -116 : 56532.dasm (-0.58 % of base)
         -92 : 269388.dasm (-2.44 % of base)
         -92 : 574663.dasm (-3.46 % of base)
         -88 : 306382.dasm (-0.75 % of base)
         -84 : 196365.dasm (-0.60 % of base)
         -80 : 389442.dasm (-1.80 % of base)
         -80 : 429189.dasm (-4.13 % of base)
         -72 : 161238.dasm (-0.30 % of base)
         -68 : 603335.dasm (-0.79 % of base)
         -64 : 532568.dasm (-0.53 % of base)
         -64 : 476142.dasm (-0.45 % of base)
         -60 : 608173.dasm (-0.34 % of base)
         -56 : 601909.dasm (-0.77 % of base)
         -56 : 563459.dasm (-0.76 % of base)
88 total files with Code Size differences (48 improved, 40 regressed), 20 unchanged.
Top method regressions (bytes):
         216 (2.74 % of base) : 315873.dasm - System.SpanTests.SpanTests:TestMatchMany_Char() (Tier1-OSR)
         160 (1.43 % of base) : 586666.dasm - Microsoft.CodeAnalysis.CSharp.DeclarationTreeBuilder:VisitTypeDeclaration(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax,ubyte):Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration:this (Tier1)
         156 (1.55 % of base) : 602963.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindExtensionMethod(Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte):Microsoft.CodeAnalysis.CSharp.MethodGroupResolution:this (Tier1)
         136 (1.09 % of base) : 584014.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         112 (1.61 % of base) : 606798.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (Tier1)
         100 (0.95 % of base) : 102232.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 (Tier1)
         100 (0.84 % of base) : 55100.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier1)
         100 (2.57 % of base) : 497152.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (Tier1)
         100 (0.46 % of base) : 491455.dasm - System.Xml.XmlLoader:LoadNode(ubyte):System.Xml.XmlNode:this (Tier1-OSR)
          96 (0.81 % of base) : 588521.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:IsApplicable(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.OverloadResolution+EffectiveParameters,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[int],ubyte,ubyte,ubyte,ubyte,byref):Microsoft.CodeAnalysis.CSharp.MemberAnalysisResult:this (Tier1)
          96 (4.69 % of base) : 586112.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:AddNewToken():this (Tier1)
          88 (0.83 % of base) : 589213.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArguments>g__visitArguments|231_0(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Conversion],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitResult],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,ubyte):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitResult],ubyte,Microsoft.CodeAnalysis.CSharp.NullableWalker+ArgumentsCompletionDelegate]:this (Tier1)
          84 (4.86 % of base) : 194076.dasm - System.Collections.Tests.IEnumerable_Generic_Tests`1[System.Collections.Generic.KeyValuePair`2[System.Collections.Tests.SimpleInt,int]]:IEnumerable_Generic_GetEnumerator_ReturnsUniqueEnumerator(int):this (Tier1-OSR)
          76 (0.64 % of base) : 83720.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier1)
          72 (2.13 % of base) : 587616.dasm - Microsoft.CodeAnalysis.CSharp.Symbol:GetAttributesToBind(Roslyn.Utilities.OneOrMany`1[Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax]],short,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.CSharp.CSharpCompilation,System.Func`2[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,ubyte],Microsoft.CodeAnalysis.CSharp.Binder,byref):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax]:this (Tier1)
          68 (1.05 % of base) : 603284.dasm - Microsoft.CodeAnalysis.CSharp.RefSafetyAnalysis:GetInvocationEscapeWithUpdatedRules(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.BoundExpression,ubyte,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[int],uint,ubyte):uint:this (Tier1)
          68 (0.78 % of base) : 298851.dasm - Xunit.Sdk.TypeUtility:ResolveGenericTypes(Xunit.Abstractions.IMethodInfo,System.Object[]):Xunit.Abstractions.ITypeInfo[] (Tier1)
          64 (0.82 % of base) : 158909.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<ResultSymbol>g__resultSymbol|1054_0(Microsoft.CodeAnalysis.CSharp.LookupResult,System.String,int,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,byref,Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceOrTypeSymbol,int):Microsoft.CodeAnalysis.CSharp.Symbol:this (Tier1)
          64 (0.51 % of base) : 118836.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
          60 (0.52 % of base) : 560820.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
Top method improvements (bytes):
        -256 (-2.69 % of base) : 531942.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.__Canon]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -244 (-1.89 % of base) : 340126.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
        -228 (-1.13 % of base) : 85677.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)
        -176 (-5.35 % of base) : 79382.dasm - Microsoft.CodeAnalysis.CSharp.Symbol:GetAttributesToBind(Roslyn.Utilities.OneOrMany`1[Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax]],short,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.CSharp.CSharpCompilation,System.Func`2[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,ubyte],Microsoft.CodeAnalysis.CSharp.Binder,byref):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax]:this (Tier1)
        -152 (-1.29 % of base) : 603367.dasm - Microsoft.CodeAnalysis.CSharp.BestTypeInferrer:GetBestType(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.ConversionsBase,byref):Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol (Tier1)
        -140 (-1.59 % of base) : 85772.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:IsConstructorApplicableInNormalForm(Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,ubyte,byref):Microsoft.CodeAnalysis.CSharp.MemberAnalysisResult:this (Tier1)
        -116 (-0.58 % of base) : 56532.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)
         -92 (-2.44 % of base) : 269388.dasm - System.Globalization.Tests.CompareInfoCompareTests:TestHiraganaAndKatakana(int[],int[]):this (Tier1-OSR)
         -92 (-3.46 % of base) : 574663.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[ulong]:FindSubcaptures[System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1+NoZAnchorInputReader[ulong]](System.ReadOnlySpan`1[ushort],int,int,System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1+PerThreadData[ulong]):System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1+Registers[ulong]:this (Tier1-OSR)
         -88 (-0.75 % of base) : 306382.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         -84 (-0.60 % of base) : 196365.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         -80 (-4.13 % of base) : 429189.dasm - System.Number:TryParseNumber(byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (Tier1-OSR)
         -80 (-1.80 % of base) : 389442.dasm - System.Xml.Xsl.Xslt.XsltInput:GetAttributes(System.Xml.Xsl.Xslt.XsltInput+XsltAttribute[]):System.Xml.Xsl.Xslt.XsltInput+ContextInfo:this (Tier1)
         -72 (-0.30 % of base) : 161238.dasm - Microsoft.Extensions.Options.Generators.Parser:GetValidatorTypes(System.Collections.Generic.IEnumerable`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax,Microsoft.CodeAnalysis.SemanticModel]]):System.Collections.Generic.IReadOnlyList`1[Microsoft.Extensions.Options.Generators.ValidatorType]:this (Tier1)
         -68 (-0.79 % of base) : 603335.dasm - Microsoft.CodeAnalysis.CSharp.Symbol:BindAttributes(Roslyn.Utilities.OneOrMany`1[Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax]],Microsoft.CodeAnalysis.CSharp.Binder):System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData,Microsoft.CodeAnalysis.CSharp.BoundAttribute]]:this (Tier1)
         -64 (-0.45 % of base) : 476142.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
         -64 (-0.53 % of base) : 532568.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.__Canon]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
         -60 (-0.34 % of base) : 608173.dasm - Microsoft.Cci.MetadataWriter:PopulateTypeDefTableRows():this (Tier1)
         -56 (-0.77 % of base) : 601909.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:InferMethodTypeArguments(Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.OverloadResolution+EffectiveParameters,byref,byref,byref):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]:this (Tier1)
         -56 (-0.76 % of base) : 563459.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Collections.Generic.KeyValuePair`2[int,int]]:ReadConstructorArgumentsWithContinuation(byref,byref,System.Text.Json.JsonSerializerOptions):ubyte:this (Tier1)
Top method regressions (percentages):
          28 (19.44 % of base) : 533226.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
          28 (17.95 % of base) : 617606.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
          28 (17.95 % of base) : 620218.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Threading.CancellationToken]:Enqueue(System.Threading.CancellationToken):this (Tier1)
          28 (15.91 % of base) : 333020.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Diagnostics.Metrics.Measurement`1[double]]:Enqueue(System.Diagnostics.Metrics.Measurement`1[double]):this (Tier1)
          48 (11.43 % of base) : 157082.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          48 (11.43 % of base) : 107649.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          16 (10.53 % of base) : 285553.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          44 (8.87 % of base) : 182472.dasm - System.Collections.Frozen.FrozenSetInternalBase`2[System.__Canon,System.Collections.Frozen.DefaultFrozenSet`1+GSW[System.__Canon]]:IsSubsetOfSetWithCompatibleComparer(System.Collections.Generic.IReadOnlySet`1[System.__Canon]):ubyte:this (Tier1-OSR)
          12 (7.89 % of base) : 103694.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.89 % of base) : 109951.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.89 % of base) : 340428.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.89 % of base) : 548323.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.89 % of base) : 271886.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.89 % of base) : 325964.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.89 % of base) : 584044.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.89 % of base) : 612478.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.89 % of base) : 197198.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.89 % of base) : 279430.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.89 % of base) : 619127.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.89 % of base) : 628234.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
Top method improvements (percentages):
         -24 (-7.69 % of base) : 214145.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -24 (-7.41 % of base) : 422669.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -24 (-7.41 % of base) : 230076.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -24 (-7.41 % of base) : 439008.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -24 (-7.41 % of base) : 467830.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.49 % of base) : 621805.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.25 % of base) : 279176.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-5.95 % of base) : 324688.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-5.81 % of base) : 331754.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-5.81 % of base) : 628339.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
        -176 (-5.35 % of base) : 79382.dasm - Microsoft.CodeAnalysis.CSharp.Symbol:GetAttributesToBind(Roslyn.Utilities.OneOrMany`1[Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax]],short,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.CSharp.CSharpCompilation,System.Func`2[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,ubyte],Microsoft.CodeAnalysis.CSharp.Binder,byref):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax]:this (Tier1)
         -12 (-5.17 % of base) : 241661.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 244714.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 287968.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 330622.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 93290.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -16 (-4.17 % of base) : 87512.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (Tier1)
         -80 (-4.13 % of base) : 429189.dasm - System.Number:TryParseNumber(byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (Tier1-OSR)
         -32 (-3.77 % of base) : 382239.dasm - System.Xml.XmlConvert:ToXPathDouble(System.Object):double (Tier1)
         -28 (-3.72 % of base) : 285904.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (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: 163157008 (overridden on cmd)
Total bytes of diff: 163156152 (overridden on cmd)
Total bytes of delta: -856 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          56 : 164243.dasm (0.80 % of base)
          56 : 121439.dasm (1.83 % of base)
          40 : 163399.dasm (0.66 % of base)
          40 : 164087.dasm (0.66 % of base)
          36 : 95785.dasm (0.27 % of base)
          36 : 284107.dasm (0.95 % of base)
          32 : 12386.dasm (0.86 % of base)
          28 : 129001.dasm (1.67 % of base)
          28 : 301751.dasm (0.44 % of base)
          24 : 267268.dasm (1.01 % of base)
          24 : 168987.dasm (5.71 % of base)
          20 : 163657.dasm (0.55 % of base)
          20 : 273227.dasm (0.46 % of base)
          20 : 273263.dasm (0.68 % of base)
          20 : 54507.dasm (0.18 % of base)
          20 : 38570.dasm (1.92 % of base)
          16 : 162636.dasm (1.20 % of base)
          16 : 146497.dasm (4.40 % of base)
          16 : 149199.dasm (0.41 % of base)
          16 : 163488.dasm (0.21 % of base)
Top file improvements (bytes):
        -140 : 59055.dasm (-0.48 % of base)
        -104 : 15607.dasm (-1.78 % of base)
         -92 : 44211.dasm (-1.57 % of base)
         -80 : 24471.dasm (-2.55 % of base)
         -68 : 4209.dasm (-1.39 % of base)
         -52 : 162530.dasm (-0.45 % of base)
         -44 : 43112.dasm (-1.59 % of base)
         -44 : 48801.dasm (-1.59 % of base)
         -40 : 50049.dasm (-0.69 % of base)
         -36 : 51787.dasm (-0.78 % of base)
         -28 : 10107.dasm (-3.45 % of base)
         -24 : 24636.dasm (-0.26 % of base)
         -24 : 173934.dasm (-1.51 % of base)
         -24 : 40176.dasm (-1.05 % of base)
         -20 : 12410.dasm (-0.83 % of base)
         -20 : 162670.dasm (-0.44 % of base)
         -20 : 53858.dasm (-0.32 % of base)
         -16 : 91121.dasm (-0.44 % of base)
         -16 : 94297.dasm (-0.80 % of base)
         -16 : 78861.dasm (-1.89 % of base)
66 total files with Code Size differences (31 improved, 35 regressed), 20 unchanged.
Top method regressions (bytes):
          56 (0.80 % of base) : 164243.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderTypeWithGetSetArrayMembers:Read3_TypeWithGetSetArrayMembers(ubyte,ubyte):SerializationTypes.TypeWithGetSetArrayMembers:this (FullOpts)
          56 (1.83 % of base) : 121439.dasm - System.IO.Compression.Tests.ZipFile_Unix:CreateFiles(System.String,System.String[]):System.String[] (FullOpts)
          40 (0.66 % of base) : 163399.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderXmlSerializerAttributes:Read3_XmlSerializerAttributes(ubyte,ubyte):SerializationTypes.XmlSerializerAttributes:this (FullOpts)
          40 (0.66 % of base) : 164087.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderXmlSerializerAttributes:Read3_XmlSerializerAttributes(ubyte,ubyte):SerializationTypes.XmlSerializerAttributes:this (FullOpts)
          36 (0.27 % of base) : 95785.dasm - System.Data.Tests.DataTableTest2:GetChanges_ByDataRowState():this (FullOpts)
          36 (0.95 % of base) : 284107.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex21060_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          32 (0.86 % of base) : 12386.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:ComputeImplementationForInterfaceMember(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
          28 (1.67 % of base) : 129001.dasm - System.Text.DBCSCodePageEncoding:ReadBestFitTable():this (FullOpts)
          28 (0.44 % of base) : 301751.dasm - System.Xml.XmlTextReaderImpl+<ParseAttributeValueSlowAsync>d__532:MoveNext():this (FullOpts)
          24 (1.01 % of base) : 267268.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2713_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          24 (5.71 % of base) : 168987.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          20 (0.18 % of base) : 54507.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)
          20 (1.92 % of base) : 38570.dasm - Microsoft.Extensions.FileSystemGlobbing.InMemoryDirectoryInfo:.ctor(System.String,System.Collections.Generic.IEnumerable`1[System.String],ubyte):this (FullOpts)
          20 (0.55 % of base) : 163657.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderPurchaseOrder:Read4_PurchaseOrder(ubyte,ubyte):PurchaseOrder:this (FullOpts)
          20 (0.46 % of base) : 273227.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1280_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          20 (0.68 % of base) : 273263.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1317_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          16 (2.82 % of base) : 65807.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct]:EnqueueSlow(System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct):this (FullOpts)
          16 (4.40 % of base) : 146497.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          16 (0.41 % of base) : 149199.dasm - System.Net.Mail.SmtpClient:SendAsync(System.Net.Mail.MailMessage,System.Object):this (FullOpts)
          16 (0.53 % of base) : 225408.dasm - System.Security.Cryptography.Xml.Utils:BuildBagOfCerts(System.Security.Cryptography.Xml.KeyInfoX509Data,int):System.Security.Cryptography.X509Certificates.X509Certificate2Collection (FullOpts)
Top method improvements (bytes):
        -140 (-0.48 % of base) : 59055.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)
        -104 (-1.78 % of base) : 15607.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:ReportDiagnostics[System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.String,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[System.__Canon],Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,ubyte,System.Nullable`1[ubyte],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):this (FullOpts)
         -92 (-1.57 % of base) : 44211.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitArguments(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte]:this (FullOpts)
         -80 (-2.55 % of base) : 24471.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -68 (-1.39 % of base) : 4209.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 (FullOpts)
         -52 (-0.45 % of base) : 162530.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
         -44 (-1.59 % of base) : 43112.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 (FullOpts)
         -44 (-1.59 % of base) : 48801.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 (FullOpts)
         -40 (-0.69 % of base) : 50049.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitArguments(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte]:this (FullOpts)
         -36 (-0.78 % of base) : 51787.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:ReportDiagnostics[System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.String,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[System.__Canon],Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,ubyte,System.Nullable`1[ubyte],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):this (FullOpts)
         -28 (-3.45 % of base) : 10107.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ushort]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -24 (-0.26 % of base) : 24636.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)
         -24 (-1.05 % of base) : 40176.dasm - Microsoft.Extensions.Hosting.Internal.HostTests+<AppCrashesOnStartWhenFirstHostedServiceThrows>d__12:MoveNext():this (FullOpts)
         -24 (-1.51 % of base) : 173934.dasm - System.Xml.RwFactoryWriterTests.CXmlDriverEngine:ProcessIncludes(System.String[],System.String,System.Xml.Linq.XElement,OLEDB.Test.ModuleCore.MyDict`2[System.String,System.Object],System.Collections.IList):this (FullOpts)
         -20 (-0.32 % of base) : 53858.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArguments>g__visitArguments|231_0(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Conversion],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitResult],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,ubyte):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitResult],ubyte,Microsoft.CodeAnalysis.CSharp.NullableWalker+ArgumentsCompletionDelegate]:this (FullOpts)
         -20 (-0.83 % of base) : 12410.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:<FindMostSpecificImplementationInBases>g__findMostSpecificImplementationInBases|92_1(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
         -20 (-0.44 % of base) : 162670.dasm - System.Xml.Serialization.XmlSerializationReader:ReadArray(System.String,System.String):System.Array:this (FullOpts)
         -16 (-1.67 % of base) : 45980.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:CanBePassedByReference(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
         -16 (-1.89 % of base) : 78861.dasm - System.ComponentModel.Composition.ReflectionModel.GenericSpecializationPartCreationInfo:TranslateExportMetadata(System.ComponentModel.Composition.ReflectionModel.ReflectionMemberExportDefinition):System.Collections.Generic.Dictionary`2[System.String,System.Object]:this (FullOpts)
         -16 (-0.80 % of base) : 94297.dasm - System.Data.Tests.DataTableCollectionTest:Add():this (FullOpts)
Top method regressions (percentages):
          24 (5.71 % of base) : 168987.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          16 (4.40 % of base) : 146497.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          16 (2.82 % of base) : 65807.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct]:EnqueueSlow(System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct):this (FullOpts)
           4 (2.70 % of base) : 21469.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
           4 (2.33 % of base) : 42164.dasm - System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
          20 (1.92 % of base) : 38570.dasm - Microsoft.Extensions.FileSystemGlobbing.InMemoryDirectoryInfo:.ctor(System.String,System.Collections.Generic.IEnumerable`1[System.String],ubyte):this (FullOpts)
          12 (1.91 % of base) : 37687.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadLibraries(byref):System.Collections.Generic.Dictionary`2[System.String,Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+LibraryStub]:this (FullOpts)
           8 (1.89 % of base) : 148338.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
          56 (1.83 % of base) : 121439.dasm - System.IO.Compression.Tests.ZipFile_Unix:CreateFiles(System.String,System.String[]):System.String[] (FullOpts)
          12 (1.83 % of base) : 163848.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteEnumMethod(System.Xml.Serialization.EnumMapping,System.Object):System.String:this (FullOpts)
          12 (1.82 % of base) : 65993.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          28 (1.67 % of base) : 129001.dasm - System.Text.DBCSCodePageEncoding:ReadBestFitTable():this (FullOpts)
          12 (1.44 % of base) : 16486.dasm - System.IO.PathInternal:RemoveRelativeSegments(System.ReadOnlySpan`1[ushort],int,byref):ubyte (FullOpts)
          12 (1.33 % of base) : 59286.dasm - Microsoft.VisualBasic.Strings:SplitHelper(System.String,System.String,int,int):System.String[] (FullOpts)
           8 (1.26 % of base) : 143687.dasm - System.SpanTests.ReadOnlySpanTests:SequenceEqualNoMatch_Byte() (FullOpts)
           8 (1.23 % of base) : 144613.dasm - System.SpanTests.SpanTests:SequenceEqualNoMatch_Char() (FullOpts)
           8 (1.22 % of base) : 144592.dasm - System.SpanTests.SpanTests:SequenceEqualNoMatch_Byte() (FullOpts)
          16 (1.20 % of base) : 162636.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteElements(System.Object,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,ubyte,ubyte):this (FullOpts)
           8 (1.16 % of base) : 184316.dasm - System.Runtime.Caching.ExpiresBucket:Expand():this (FullOpts)
           8 (1.16 % of base) : 184310.dasm - System.Runtime.Caching.UsageBucket:Expand():this (FullOpts)
Top method improvements (percentages):
          -4 (-3.57 % of base) : 50270.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
          -4 (-3.57 % of base) : 10178.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
         -28 (-3.45 % of base) : 10107.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ushort]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -80 (-2.55 % of base) : 24471.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -16 (-1.89 % of base) : 78861.dasm - System.ComponentModel.Composition.ReflectionModel.GenericSpecializationPartCreationInfo:TranslateExportMetadata(System.ComponentModel.Composition.ReflectionModel.ReflectionMemberExportDefinition):System.Collections.Generic.Dictionary`2[System.String,System.Object]:this (FullOpts)
        -104 (-1.78 % of base) : 15607.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:ReportDiagnostics[System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.String,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[System.__Canon],Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,ubyte,System.Nullable`1[ubyte],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):this (FullOpts)
         -16 (-1.67 % of base) : 45980.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:CanBePassedByReference(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
         -44 (-1.59 % of base) : 43112.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 (FullOpts)
         -44 (-1.59 % of base) : 48801.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 (FullOpts)
         -92 (-1.57 % of base) : 44211.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitArguments(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte]:this (FullOpts)
          -8 (-1.55 % of base) : 37617.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
         -24 (-1.51 % of base) : 173934.dasm - System.Xml.RwFactoryWriterTests.CXmlDriverEngine:ProcessIncludes(System.String[],System.String,System.Xml.Linq.XElement,OLEDB.Test.ModuleCore.MyDict`2[System.String,System.Object],System.Collections.IList):this (FullOpts)
         -68 (-1.39 % of base) : 4209.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 (FullOpts)
          -4 (-1.32 % of base) : 31308.dasm - Microsoft.CodeAnalysis.RealParser:ConvertBigIntegerToFloatingPointBits(ubyte[],uint,ubyte,Microsoft.CodeAnalysis.RealParser+FloatingPointType,byref):int (FullOpts)
          -8 (-1.31 % of base) : 37646.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTarget(byref,System.String):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target:this (FullOpts)
         -16 (-1.25 % of base) : 273152.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1108_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -4 (-1.23 % of base) : 6981.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
          -4 (-1.23 % of base) : 44740.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
          -4 (-1.23 % of base) : 50633.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
          -8 (-1.22 % of base) : 252449.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:PopulateParameterInfoValues(System.Text.Json.Serialization.Metadata.JsonTypeInfo) (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: 15079352 (overridden on cmd)
Total bytes of diff: 15079228 (overridden on cmd)
Total bytes of delta: -124 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          28 : 9002.dasm (0.26 % of base)
          20 : 22323.dasm (0.18 % of base)
          16 : 12986.dasm (0.50 % of base)
          16 : 12564.dasm (0.34 % of base)
          16 : 20651.dasm (2.88 % of base)
          12 : 5757.dasm (1.24 % of base)
          12 : 13171.dasm (0.14 % of base)
          12 : 4826.dasm (0.19 % of base)
           8 : 1989.dasm (0.31 % of base)
           8 : 1456.dasm (0.99 % of base)
           4 : 16910.dasm (0.27 % of base)
           4 : 18578.dasm (0.44 % of base)
           4 : 21851.dasm (0.44 % of base)
           4 : 15061.dasm (0.25 % of base)
           4 : 1635.dasm (0.19 % of base)
           4 : 2991.dasm (0.04 % of base)
           4 : 13621.dasm (0.35 % of base)
           4 : 1415.dasm (0.17 % of base)
           4 : 16084.dasm (2.70 % of base)
           4 : 16359.dasm (0.17 % of base)
Top file improvements (bytes):
         -68 : 4928.dasm (-0.92 % of base)
         -20 : 23935.dasm (-0.84 % of base)
         -20 : 17986.dasm (-0.35 % of base)
         -16 : 1751.dasm (-0.70 % of base)
         -12 : 11515.dasm (-0.66 % of base)
         -12 : 21339.dasm (-0.40 % of base)
         -12 : 3212.dasm (-0.20 % of base)
         -12 : 19018.dasm (-0.43 % of base)
         -12 : 22271.dasm (-0.27 % of base)
          -8 : 15668.dasm (-0.39 % of base)
          -8 : 14278.dasm (-0.37 % of base)
          -8 : 14814.dasm (-0.16 % of base)
          -8 : 14259.dasm (-0.26 % of base)
          -8 : 16911.dasm (-0.26 % of base)
          -8 : 14872.dasm (-0.24 % of base)
          -8 : 16482.dasm (-0.10 % of base)
          -8 : 7255.dasm (-0.08 % of base)
          -4 : 17455.dasm (-0.40 % of base)
          -4 : 1951.dasm (-0.46 % of base)
          -4 : 27343.dasm (-0.43 % of base)
50 total files with Code Size differences (28 improved, 22 regressed), 20 unchanged.
Top method regressions (bytes):
          28 (0.26 % of base) : 9002.dasm - FSharp.Compiler.ConstraintSolver:SolveTypeSubsumesType(FSharp.Compiler.ConstraintSolver+ConstraintSolverEnv,int,FSharp.Compiler.Text.Range,FSharp.Compiler.ConstraintSolver+OptionalTrace,Microsoft.FSharp.Core.FSharpOption`1[System.Tuple`2[FSharp.Compiler.TypedTree+TraitConstraintInfo,FSharp.Compiler.TypedTree+TraitConstraintSln]],FSharp.Compiler.TypedTree+TType,FSharp.Compiler.TypedTree+TType):FSharp.Compiler.ErrorLogger+OperationResult`1[Microsoft.FSharp.Core.Unit] (FullOpts)
          20 (0.18 % of base) : 22323.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)
          16 (2.88 % of base) : 20651.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
          16 (0.50 % of base) : 12986.dasm - Microsoft.ML.Trainers.SdcaMulticlassTrainerBase`1[System.__Canon]:CheckConvergence(Microsoft.ML.Runtime.IProgressChannel,int,Microsoft.ML.Trainers.FloatLabelCursor+Factory,Microsoft.ML.Trainers.SdcaTrainerBase`3+DualsTableBase[System.__Canon,System.__Canon,System.__Canon],Microsoft.ML.Trainers.SdcaTrainerBase`3+IdToIdxLookup[System.__Canon,System.__Canon,System.__Canon],Microsoft.ML.Data.VBuffer`1[float][],Microsoft.ML.Data.VBuffer`1[float][],float[],float[],float[],float[],long,double[],byref,byref):ubyte:this (FullOpts)
          16 (0.34 % of base) : 12564.dasm - Microsoft.ML.Transforms.ValueToKeyMappingTransformer:Train(Microsoft.ML.Runtime.IHostEnvironment,Microsoft.ML.Runtime.IChannel,Microsoft.ML.Transforms.ValueToKeyMappingTransformer+ColInfo[],Microsoft.ML.IDataView,Microsoft.ML.Transforms.ValueToKeyMappingEstimator+ColumnOptionsBase[],Microsoft.ML.IDataView,ubyte):Microsoft.ML.Transforms.ValueToKeyMappingTransformer+TermMap[] (FullOpts)
          12 (1.24 % of base) : 5757.dasm - FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5[int,int,int,int,int] (FullOpts)
          12 (0.19 % of base) : 4826.dasm - FSharp.Compiler.CompilerOptions:attempt@284(Microsoft.FSharp.Core.FSharpFunc`2[System.String,Microsoft.FSharp.Core.Unit],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerOptions+CompilerOptionBlock],Microsoft.FSharp.Collections.FSharpList`1[System.String],Microsoft.FSharp.Collections.FSharpList`1[System.String],System.String,System.String,System.String,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerOptions+CompilerOption]):Microsoft.FSharp.Collections.FSharpList`1[System.String] (FullOpts)
          12 (0.14 % of base) : 13171.dasm - Microsoft.ML.Transforms.Text.TextFeaturizingEstimator:Fit(Microsoft.ML.IDataView):Microsoft.ML.ITransformer:this (FullOpts)
           8 (0.99 % of base) : 1456.dasm - BepuPhysics.CollisionDetection.ConstraintRemover:RemoveConstraintsFromBodyLists():this (FullOpts)
           8 (0.31 % of base) : 1989.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
           4 (0.17 % of base) : 1415.dasm - BepuPhysics.CollisionDetection.NarrowPhase`1[DemoBenchmarks.RagdollTubeBenchmark+SubgroupFilteredCallbacks]:UpdateConstraint[BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.EmptyCollisionCache,BepuPhysics.CollisionDetection.ConstraintCache1](int,byref,int,byref,byref,byref,BepuPhysics.CollisionDetection.TwoBodyHandles):this (FullOpts)
           4 (0.19 % of base) : 1635.dasm - BepuPhysics.CollisionDetection.NarrowPhase`1[DemoBenchmarks.ShapePileBenchmark+DemoNarrowPhaseCallbacks]:UpdateConstraint[int,BepuPhysics.Constraints.Contact.Contact1OneBody,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.EmptyCollisionCache,BepuPhysics.CollisionDetection.ConstraintCache1](int,byref,int,byref,byref,byref,int):this (FullOpts)
           4 (0.04 % of base) : 2991.dasm - FSharp.Compiler.AbstractIL.ILBinaryReader:openMetadataReader(System.String,FSharp.Compiler.AbstractIL.ILBinaryReader+BinaryFile,int,System.Tuple`8[ushort,System.Tuple`2[int,int],ubyte,ubyte,ubyte,ubyte,ubyte,System.Tuple`5[Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.AbstractIL.IL+ILPlatform],ubyte,int,int,int]],FSharp.Compiler.AbstractIL.ILBinaryReader+PEReader,FSharp.Compiler.IO.ReadOnlyByteMemory,Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.AbstractIL.ILBinaryReader+PEReader],ubyte):System.Tuple`2[FSharp.Compiler.AbstractIL.IL+ILModuleDef,System.Lazy`1[Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.AbstractIL.IL+ILAssemblyRef]]] (FullOpts)
           4 (0.27 % of base) : 16910.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbolsWithNoPiaLocalTypes(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):ubyte:this (FullOpts)
           4 (0.11 % of base) : 22315.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindForOrUsingOrFixedDeclarations(Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclarationSyntax,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref):Microsoft.CodeAnalysis.CSharp.BoundStatement:this (FullOpts)
           4 (2.70 % of base) : 16084.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
           4 (0.25 % of base) : 15061.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlText(byref):this (FullOpts)
           4 (0.44 % of base) : 18578.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:WhereAsArrayImpl[System.__Canon,int](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte],System.Func`3[System.__Canon,int,ubyte],int):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (FullOpts)
           4 (0.44 % of base) : 21851.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:WhereAsArrayImpl[System.__Canon,System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte],System.Func`3[System.__Canon,System.__Canon,ubyte],System.__Canon):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (FullOpts)
           4 (0.35 % of base) : 13621.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionerForIEnumerable`1+InternalPartitionEnumerable[System.__Canon]:GrabChunk_Buffered(System.Collections.Generic.KeyValuePair`2[long,System.__Canon][],int,byref):ubyte:this (FullOpts)
Top method improvements (bytes):
         -68 (-0.92 % of base) : 4928.dasm - FSharp.Compiler.LexFilter:undentationLimit@727(FSharp.Compiler.LexFilter+LexFilterImpl,FSharp.Compiler.LexFilter+Context,ubyte,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.LexFilter+Context]):FSharp.Compiler.LexFilter+PositionWithColumn (FullOpts)
         -20 (-0.35 % of base) : 17986.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArguments>g__visitArguments|231_0(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Conversion],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,ubyte):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte,Microsoft.CodeAnalysis.CSharp.NullableWalker+ArgumentsCompletionDelegate]:this (FullOpts)
         -20 (-0.84 % of base) : 23935.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:<FindMostSpecificImplementationInBases>g__findMostSpecificImplementationInBases|92_1(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
         -16 (-0.70 % of base) : 1751.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -12 (-0.20 % of base) : 3212.dasm - FSharp.Compiler.CompilerImports:TcConfig.TryResolveLibsUsingMSBuildRules.Static(FSharp.Compiler.CompilerConfig+TcConfig,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+AssemblyReference],FSharp.Compiler.Text.Range,FSharp.Compiler.CompilerImports+ResolveAssemblyReferenceMode):System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerImports+AssemblyResolution],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+UnresolvedAssemblyReference]] (FullOpts)
         -12 (-0.27 % of base) : 22271.dasm - Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder:<MakeDecisionDag>g__uniquifyState|32_0(Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+FrozenArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+StateForCase],System.Collections.Immutable.ImmutableDictionary`2[Microsoft.CodeAnalysis.CSharp.BoundDagTemp,Microsoft.CodeAnalysis.CSharp.IValueSet],byref):Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+DagState (FullOpts)
         -12 (-0.40 % of base) : 21339.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:Populate(Microsoft.CodeAnalysis.CSharp.NullableWalker+VariablesSnapshot):this (FullOpts)
         -12 (-0.43 % of base) : 19018.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckAbstractClassImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -12 (-0.66 % of base) : 11515.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.HuffmanScanDecoder:ParseBaselineDataSingleComponent():this (FullOpts)
          -8 (-0.08 % of base) : 7255.dasm - FSharp.Compiler.Lexer:singleQuoteString(FSharp.Compiler.IO.ByteBuffer,FSharp.Compiler.Lexhelp+LexerStringFinisher,FSharp.Compiler.Text.Range,FSharp.Compiler.ParseHelpers+LexerStringKind,FSharp.Compiler.Lexhelp+LexArgs,ubyte,Internal.Utilities.Text.Lexing.LexBuffer`1[ushort]):FSharp.Compiler.Parser+token (FullOpts)
          -8 (-0.24 % of base) : 14872.dasm - Microsoft.CodeAnalysis.AnalyzerConfigSet:ParseSectionOptions(Microsoft.CodeAnalysis.AnalyzerConfig+Section,System.Collections.Immutable.ImmutableDictionary`2+Builder[System.String,int],System.Collections.Immutable.ImmutableDictionary`2+Builder[System.String,System.String],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostic],System.String,System.Collections.Concurrent.ConcurrentDictionary`2[System.ReadOnlyMemory`1[ushort],System.String]) (FullOpts)
          -8 (-0.16 % of base) : 14814.dasm - Microsoft.CodeAnalysis.AnalyzerConfigSet+GlobalAnalyzerConfigBuilder:Build(Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.AnalyzerConfigSet+GlobalAnalyzerConfig:this (FullOpts)
          -8 (-0.10 % of base) : 16482.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)
          -8 (-0.26 % of base) : 16911.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 (FullOpts)
          -8 (-0.39 % of base) : 15668.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlEntity(byref):this (FullOpts)
          -8 (-0.26 % of base) : 14259.dasm - Microsoft.CodeAnalysis.RuleSet:GetDiagnosticOptionsFromRulesetFile(System.Collections.Generic.Dictionary`2[System.String,int],System.String,System.Collections.Generic.IList`1[Microsoft.CodeAnalysis.Diagnostic],Microsoft.CodeAnalysis.CommonMessageProvider):int (FullOpts)
          -8 (-0.37 % of base) : 14278.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
          -4 (-0.33 % of base) : 28582.dasm - Interop+libproc:GetAllThreadsInProcess(int):System.Collections.Generic.List`1[System.Collections.Generic.KeyValuePair`2[ulong,System.Nullable`1[Interop+libproc+proc_threadinfo]]] (FullOpts)
          -4 (-0.43 % of base) : 27343.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
          -4 (-0.30 % of base) : 22406.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstraintsHelper:CheckConstraints(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref,Microsoft.CodeAnalysis.SyntaxNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Location],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)
Top method regressions (percentages):
          16 (2.88 % of base) : 20651.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
           4 (2.70 % of base) : 16084.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
          12 (1.24 % of base) : 5757.dasm - FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5[int,int,int,int,int] (FullOpts)
           8 (0.99 % of base) : 1456.dasm - BepuPhysics.CollisionDetection.ConstraintRemover:RemoveConstraintsFromBodyLists():this (FullOpts)
          16 (0.50 % of base) : 12986.dasm - Microsoft.ML.Trainers.SdcaMulticlassTrainerBase`1[System.__Canon]:CheckConvergence(Microsoft.ML.Runtime.IProgressChannel,int,Microsoft.ML.Trainers.FloatLabelCursor+Factory,Microsoft.ML.Trainers.SdcaTrainerBase`3+DualsTableBase[System.__Canon,System.__Canon,System.__Canon],Microsoft.ML.Trainers.SdcaTrainerBase`3+IdToIdxLookup[System.__Canon,System.__Canon,System.__Canon],Microsoft.ML.Data.VBuffer`1[float][],Microsoft.ML.Data.VBuffer`1[float][],float[],float[],float[],float[],long,double[],byref,byref):ubyte:this (FullOpts)
           4 (0.44 % of base) : 18578.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:WhereAsArrayImpl[System.__Canon,int](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte],System.Func`3[System.__Canon,int,ubyte],int):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (FullOpts)
           4 (0.44 % of base) : 21851.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:WhereAsArrayImpl[System.__Canon,System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte],System.Func`3[System.__Canon,System.__Canon,ubyte],System.__Canon):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (FullOpts)
           4 (0.36 % of base) : 29230.dasm - System.Management.Automation.LocationGlobber:GetGlobbedProviderPathsFromMonadPath(System.String,ubyte,System.Management.Automation.CmdletProviderContext,byref,byref):System.Collections.ObjectModel.Collection`1[System.String]:this (FullOpts)
           4 (0.35 % of base) : 13621.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionerForIEnumerable`1+InternalPartitionEnumerable[System.__Canon]:GrabChunk_Buffered(System.Collections.Generic.KeyValuePair`2[long,System.__Canon][],int,byref):ubyte:this (FullOpts)
          16 (0.34 % of base) : 12564.dasm - Microsoft.ML.Transforms.ValueToKeyMappingTransformer:Train(Microsoft.ML.Runtime.IHostEnvironment,Microsoft.ML.Runtime.IChannel,Microsoft.ML.Transforms.ValueToKeyMappingTransformer+ColInfo[],Microsoft.ML.IDataView,Microsoft.ML.Transforms.ValueToKeyMappingEstimator+ColumnOptionsBase[],Microsoft.ML.IDataView,ubyte):Microsoft.ML.Transforms.ValueToKeyMappingTransformer+TermMap[] (FullOpts)
           8 (0.31 % of base) : 1989.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
           4 (0.27 % of base) : 16910.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbolsWithNoPiaLocalTypes(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):ubyte:this (FullOpts)
          28 (0.26 % of base) : 9002.dasm - FSharp.Compiler.ConstraintSolver:SolveTypeSubsumesType(FSharp.Compiler.ConstraintSolver+ConstraintSolverEnv,int,FSharp.Compiler.Text.Range,FSharp.Compiler.ConstraintSolver+OptionalTrace,Microsoft.FSharp.Core.FSharpOption`1[System.Tuple`2[FSharp.Compiler.TypedTree+TraitConstraintInfo,FSharp.Compiler.TypedTree+TraitConstraintSln]],FSharp.Compiler.TypedTree+TType,FSharp.Compiler.TypedTree+TType):FSharp.Compiler.ErrorLogger+OperationResult`1[Microsoft.FSharp.Core.Unit] (FullOpts)
           4 (0.25 % of base) : 15061.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlText(byref):this (FullOpts)
          12 (0.19 % of base) : 4826.dasm - FSharp.Compiler.CompilerOptions:attempt@284(Microsoft.FSharp.Core.FSharpFunc`2[System.String,Microsoft.FSharp.Core.Unit],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerOptions+CompilerOptionBlock],Microsoft.FSharp.Collections.FSharpList`1[System.String],Microsoft.FSharp.Collections.FSharpList`1[System.String],System.String,System.String,System.String,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerOptions+CompilerOption]):Microsoft.FSharp.Collections.FSharpList`1[System.String] (FullOpts)
           4 (0.19 % of base) : 1635.dasm - BepuPhysics.CollisionDetection.NarrowPhase`1[DemoBenchmarks.ShapePileBenchmark+DemoNarrowPhaseCallbacks]:UpdateConstraint[int,BepuPhysics.Constraints.Contact.Contact1OneBody,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.EmptyCollisionCache,BepuPhysics.CollisionDetection.ConstraintCache1](int,byref,int,byref,byref,byref,int):this (FullOpts)
          20 (0.18 % of base) : 22323.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)
           4 (0.17 % of base) : 16359.dasm - System.Number:TryParseNumber(byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (FullOpts)
           4 (0.17 % of base) : 1415.dasm - BepuPhysics.CollisionDetection.NarrowPhase`1[DemoBenchmarks.RagdollTubeBenchmark+SubgroupFilteredCallbacks]:UpdateConstraint[BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.EmptyCollisionCache,BepuPhysics.CollisionDetection.ConstraintCache1](int,byref,int,byref,byref,byref,BepuPhysics.CollisionDetection.TwoBodyHandles):this (FullOpts)
          12 (0.14 % of base) : 13171.dasm - Microsoft.ML.Transforms.Text.TextFeaturizingEstimator:Fit(Microsoft.ML.IDataView):Microsoft.ML.ITransformer:this (FullOpts)
Top method improvements (percentages):
          -4 (-1.23 % of base) : 18309.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
         -68 (-0.92 % of base) : 4928.dasm - FSharp.Compiler.LexFilter:undentationLimit@727(FSharp.Compiler.LexFilter+LexFilterImpl,FSharp.Compiler.LexFilter+Context,ubyte,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.LexFilter+Context]):FSharp.Compiler.LexFilter+PositionWithColumn (FullOpts)
         -20 (-0.84 % of base) : 23935.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:<FindMostSpecificImplementationInBases>g__findMostSpecificImplementationInBases|92_1(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
         -16 (-0.70 % of base) : 1751.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -12 (-0.66 % of base) : 11515.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.HuffmanScanDecoder:ParseBaselineDataSingleComponent():this (FullOpts)
          -4 (-0.46 % of base) : 1951.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (FullOpts)
          -4 (-0.43 % of base) : 27343.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
         -12 (-0.43 % of base) : 19018.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckAbstractClassImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -4 (-0.40 % of base) : 17455.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (FullOpts)
         -12 (-0.40 % of base) : 21339.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:Populate(Microsoft.CodeAnalysis.CSharp.NullableWalker+VariablesSnapshot):this (FullOpts)
          -4 (-0.39 % of base) : 12985.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,System.__Canon]:TryRemoveInternal(int,byref,ubyte,System.__Canon):ubyte:this (FullOpts)
          -8 (-0.39 % of base) : 15668.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlEntity(byref):this (FullOpts)
          -4 (-0.39 % of base) : 29807.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[long,System.Net.Sockets.SocketAsyncEngine+SocketAsyncContextWrapper]:TryRemoveInternal(long,byref,ubyte,System.Net.Sockets.SocketAsyncEngine+SocketAsyncContextWrapper):ubyte:this (FullOpts)
          -8 (-0.37 % of base) : 14278.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
          -4 (-0.36 % of base) : 12632.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:get_Count():int:this (FullOpts)
         -20 (-0.35 % of base) : 17986.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArguments>g__visitArguments|231_0(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Conversion],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,ubyte):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte,Microsoft.CodeAnalysis.CSharp.NullableWalker+ArgumentsCompletionDelegate]:this (FullOpts)
          -4 (-0.33 % of base) : 28582.dasm - Interop+libproc:GetAllThreadsInProcess(int):System.Collections.Generic.List`1[System.Collections.Generic.KeyValuePair`2[ulong,System.Nullable`1[Interop+libproc+proc_threadinfo]]] (FullOpts)
          -4 (-0.32 % of base) : 18624.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddDeclaredNontypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -4 (-0.30 % of base) : 22406.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstraintsHelper:CheckConstraints(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref,Microsoft.CodeAnalysis.SyntaxNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Location],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)
         -12 (-0.27 % of base) : 22271.dasm - Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder:<MakeDecisionDag>g__uniquifyState|32_0(Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+FrozenArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+StateForCase],System.Collections.Immutable.ImmutableDictionary`2[Microsoft.CodeAnalysis.CSharp.BoundDagTemp,Microsoft.CodeAnalysis.CSharp.IValueSet],byref):Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+DagState (FullOpts)
  
  
windows arm64
Diffs are based on 2,072,648 contexts (937,487 MinOpts, 1,135,161 FullOpts).
Overall (-12,148 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.windows.arm64.checked.mch | 10,966,036 | +72 | 
| benchmarks.run_pgo.windows.arm64.checked.mch | 46,766,976 | -452 | 
| benchmarks.run_tiered.windows.arm64.checked.mch | 15,393,212 | -572 | 
| coreclr_tests.run.windows.arm64.checked.mch | 497,219,372 | +20 | 
| libraries.crossgen2.windows.arm64.checked.mch | 335,900 | -4 | 
| libraries.pmi.windows.arm64.checked.mch | 79,809,824 | -244 | 
| libraries_tests.run.windows.arm64.Release.mch | 324,497,004 | -9,836 | 
| librariestestsnotieredcompilation.run.windows.arm64.Release.mch | 171,318,912 | -1,004 | 
| realworld.run.windows.arm64.checked.mch | 15,894,808 | -128 | 
  
FullOpts (-12,148 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.windows.arm64.checked.mch | 10,965,500 | +72 | 
| benchmarks.run_pgo.windows.arm64.checked.mch | 30,571,404 | -452 | 
| benchmarks.run_tiered.windows.arm64.checked.mch | 4,214,816 | -572 | 
| coreclr_tests.run.windows.arm64.checked.mch | 156,385,884 | +20 | 
| libraries.crossgen2.windows.arm64.checked.mch | 335,900 | -4 | 
| libraries.pmi.windows.arm64.checked.mch | 79,689,840 | -244 | 
| libraries_tests.run.windows.arm64.Release.mch | 121,354,180 | -9,836 | 
| librariestestsnotieredcompilation.run.windows.arm64.Release.mch | 158,165,416 | -1,004 | 
| realworld.run.windows.arm64.checked.mch | 15,330,828 | -128 | 
  
Example diffs
benchmarks.run.windows.arm64.checked.mch
-4 (-1.56%) : 15218.dasm - Struct.GSeq:FilterSkipMapSum():int:this (FullOpts)
@@ -26,7 +26,7 @@
 ;* V15 tmp7         [V15    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <Struct.Plus15Mapper>
 ;* V16 tmp8         [V16    ] (  0,  0   )  struct (40) zero-ref    do-not-enreg[SF] ld-addr-op "Inlining Arg" <Struct.MapEnumerator`4[int,int,Struct.SkipEnumerator`2[int,Struct.FilterEnumerator`3[int,Struct.ArrayEnumerator`1[int],Struct.FilterIsOdd]],Struct.Plus15Mapper]>
 ;* V17 tmp9         [V17    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <Struct.FoldPlus>
-;  V18 tmp10        [V18,T07] (  4, 12   )     int  ->   x3         "Inlining Arg"
+;  V18 tmp10        [V18,T07] (  4, 12   )     int  ->   x0         "Inlining Arg"
 ;* V19 tmp11        [V19    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp12        [V20    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp13        [V21,T08] (  2,  8   )   ubyte  ->   x6         "Inline return value spill temp"
@@ -34,16 +34,16 @@
 ;* V23 tmp15        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V24 tmp16        [V24,T09] (  3,  8   )   ubyte  ->   x6         "Inline return value spill temp"
 ;* V25 tmp17        [V25    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V26 tmp18        [V26,T12] (  2,  2   )     ref  ->   x0         single-def "field V01._array (fldOffset=0x0)" P-INDEP
+;  V26 tmp18        [V26,T12] (  2,  2   )     ref  ->   x1         single-def "field V01._array (fldOffset=0x0)" P-INDEP
 ;* V27 tmp19        [V27    ] (  0,  0   )     int  ->  zero-ref    single-def "field V01._count (fldOffset=0x8)" P-INDEP
 ;* V28 tmp20        [V28    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V09._array (fldOffset=0x0)" P-INDEP
 ;* V29 tmp21        [V29    ] (  0,  0   )     int  ->  zero-ref    single-def "field V09._count (fldOffset=0x8)" P-INDEP
 ;* V30 tmp22        [V30    ] (  0,  0   )     int  ->  zero-ref    single-def "V03.[000..004)"
 ;* V31 tmp23        [V31    ] (  0,  0   )     ref  ->  zero-ref    single-def "V03.[008..016)"
 ;* V32 tmp24        [V32    ] (  0,  0   )     int  ->  zero-ref    single-def "V03.[016..020)"
-;  V33 tmp25        [V33,T06] (  4, 13   )     int  ->   x1         "V16.[000..004)"
-;  V34 tmp26        [V34,T05] (  4, 14   )     ref  ->   x0         single-def "V16.[008..016)"
-;  V35 tmp27        [V35,T00] ( 20,187.16)     int  ->   x2         "V16.[016..020)"
+;  V33 tmp25        [V33,T06] (  4, 13   )     int  ->   x2         "V16.[000..004)"
+;  V34 tmp26        [V34,T05] (  4, 14   )     ref  ->   x1         single-def "V16.[008..016)"
+;  V35 tmp27        [V35,T00] ( 20,187.16)     int  ->   x3         "V16.[016..020)"
 ;* V36 tmp28        [V36    ] (  0,  0   )     ref  ->  zero-ref    single-def "V02.[000..008)"
 ;* V37 tmp29        [V37    ] (  0,  0   )     int  ->  zero-ref    single-def "V02.[008..012)"
 ;* V38 tmp30        [V38    ] (  0,  0   )     int  ->  zero-ref    single-def "V04.[000..004)"
@@ -67,115 +67,114 @@ G_M1723_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M1723_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0]
-            ldr     x0, [x0, #0x08]
-            mov     w1, #5
-            movn    w2, #0
-            mov     w3, wzr
-            add     x4, x0, #16
+            ldr     x1, [x0, #0x08]
+            ; gcrRegs +[x1]
+            mov     w2, #5
+            movn    w3, #0
+            mov     w0, wzr
+            ; gcrRegs -[x0]
+            add     x4, x1, #16
             ; byrRegs +[x4]
             b       G_M1723_IG09
                        ;; size=24 bbWeight=1 PerfScore 6.00
-G_M1723_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            cmp     w2, w5
-            bhs     G_M1723_IG20
-            ldr     w5, [x4, w2, UXTW #2]
-            add     w3, w5, w3
-            add     w3, w3, #15
+G_M1723_IG03:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            cmp     w3, w5
+            bhs     G_M1723_IG19
+            ldr     w5, [x4, w3, UXTW #2]
+            add     w0, w5, w0
+            add     w0, w0, #15
             b       G_M1723_IG09
                        ;; size=24 bbWeight=2 PerfScore 13.00
-G_M1723_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref
-            ldr     w5, [x0, #0x08]
+G_M1723_IG04:        ; bbWeight=8, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref
+            ldr     w5, [x1, #0x08]
             b       G_M1723_IG06
                        ;; size=8 bbWeight=8 PerfScore 32.00
-G_M1723_IG05:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            ldr     w6, [x4, w2, UXTW #2]
+G_M1723_IG05:        ; bbWeight=8, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            ldr     w6, [x4, w3, UXTW #2]
             and     w7, w6, #1
             cmp     w6, #0
             cneg    w6, w7, lt
             cmp     w6, #1
             beq     G_M1723_IG08
                        ;; size=24 bbWeight=8 PerfScore 48.00
-G_M1723_IG06:        ; bbWeight=32, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            add     w2, w2, #1
-            cmp     w5, w2
+G_M1723_IG06:        ; bbWeight=32, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            add     w3, w3, #1
+            cmp     w5, w3
             bhi     G_M1723_IG05
                        ;; size=12 bbWeight=32 PerfScore 64.00
 G_M1723_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0]
+            ; gcrRegs -[x1]
             ; byrRegs -[x4]
             b       G_M1723_IG18
                        ;; size=4 bbWeight=2 PerfScore 2.00
-G_M1723_IG08:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref
-            ; gcrRegs +[x0]
+G_M1723_IG08:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref
+            ; gcrRegs +[x1]
             ; byrRegs +[x4]
-            sub     w1, w1, #1
+            sub     w2, w2, #1
                      ;; size=4 bbWeight=2 PerfScore 1.00
-G_M1723_IG09:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            cmp     w1, #0
+G_M1723_IG09:        ; bbWeight=8, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            cmp     w2, #0
             bgt     G_M1723_IG04
                        ;; size=8 bbWeight=8 PerfScore 12.00
-G_M1723_IG10:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            add     w2, w2, #1
-            ldr     w5, [x0, #0x08]
-            cmp     w5, w2
+G_M1723_IG10:        ; bbWeight=4, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            add     w3, w3, #1
+            ldr     w5, [x1, #0x08]
+            cmp     w5, w3
             bls     G_M1723_IG15
                        ;; size=16 bbWeight=4 PerfScore 20.00
-G_M1723_IG11:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            tbnz    w2, #31, G_M1723_IG14
+G_M1723_IG11:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            tbnz    w3, #31, G_M1723_IG14
                       ;; size=4 bbWeight=2 PerfScore 2.00
-G_M1723_IG12:        ; bbWeight=15.84, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            ldr     w6, [x4, w2, UXTW #2]
+G_M1723_IG12:        ; bbWeight=15.84, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            ldr     w6, [x4, w3, UXTW #2]
             and     w7, w6, #1
             cmp     w6, #0
             cneg    w6, w7, lt
             cmp     w6, #1
             beq     G_M1723_IG16
-            add     w2, w2, #1
-            cmp     w5, w2
+            add     w3, w3, #1
+            cmp     w5, w3
             bhi     G_M1723_IG12
                        ;; size=36 bbWeight=15.84 PerfScore 126.72
-G_M1723_IG13:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref
+G_M1723_IG13:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref
             b       G_M1723_IG15
                        ;; size=4 bbWeight=2 PerfScore 2.00
-G_M1723_IG14:        ; bbWeight=0.16, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
-            cmp     w2, w5
-            bhs     G_M1723_IG20
-            ldr     w6, [x4, w2, UXTW #2]
+G_M1723_IG14:        ; bbWeight=0.16, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
+            cmp     w3, w5
+            bhs     G_M1723_IG19
+            ldr     w6, [x4, w3, UXTW #2]
             and     w7, w6, #1
             cmp     w6, #0
             cneg    w6, w7, lt
             cmp     w6, #1
             beq     G_M1723_IG16
-            add     w2, w2, #1
-            cmp     w5, w2
+            add     w3, w3, #1
+            cmp     w5, w3
             bhi     G_M1723_IG14
                        ;; size=44 bbWeight=0.16 PerfScore 1.52
-G_M1723_IG15:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref
+G_M1723_IG15:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref
             mov     w6, wzr
             b       G_M1723_IG17
                        ;; size=8 bbWeight=2 PerfScore 3.00
-G_M1723_IG16:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref
+G_M1723_IG16:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref
             mov     w6, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M1723_IG17:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
+G_M1723_IG17:        ; bbWeight=4, gcrefRegs=0002 {x1}, byrefRegs=0010 {x4}, byref, isz
             cbnz    w6, G_M1723_IG03
                        ;; size=4 bbWeight=4 PerfScore 4.00
-G_M1723_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0]
+G_M1723_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ; gcrRegs -[x1]
             ; byrRegs -[x4]
-            mov     w0, w3
-                       ;; size=4 bbWeight=1 PerfScore 0.50
-G_M1723_IG19:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M1723_IG20:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M1723_IG19:        ; 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 256, prolog size 8, PerfScore 342.24, instruction count 64, allocated bytes for code 256 (MethodHash=ee60f944) for method Struct.GSeq:FilterSkipMapSum():int:this (FullOpts)
+; Total bytes of code 252, prolog size 8, PerfScore 341.74, instruction count 63, allocated bytes for code 252 (MethodHash=ee60f944) for method Struct.GSeq:FilterSkipMapSum():int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -186,7 +185,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 64 (0x00040) Actual length = 256 (0x000100)
+  Function Length   : 63 (0x0003f) Actual length = 252 (0x0000fc)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-24 (-1.10%) : 21894.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan1[ushort],System.ReadOnlySpan1[ushort],ubyte,ubyte):ubyte (FullOpts)
@@ -30,8 +30,8 @@
 ;* V19 loc15        [V19    ] (  0,   0   )   ubyte  ->  zero-ref   
 ;* V20 loc16        [V20    ] (  0,   0   )  struct (16) zero-ref    <System.Span`1[int]>
 ;  V21 loc17        [V21,T28] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
-;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x13        
-;  V23 loc19        [V23,T01] (  7,1344   )     int  ->   x1        
+;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x14        
+;  V23 loc19        [V23,T01] (  7,1344   )     int  ->  x13        
 ;  V24 loc20        [V24,T02] (  3, 832   )     int  ->   x0        
 ;# V25 OutArgs      [V25    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V26 tmp1         [V26    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
@@ -40,15 +40,15 @@
 ;  V29 tmp4         [V29,T12] (  4, 256   )     int  ->   x7         "impSpillLclRefs"
 ;  V30 tmp5         [V30,T13] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V31 tmp6         [V31,T15] (  2, 256   )     int  ->  x10         "dup spill"
-;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x0         "impSpillLclRefs"
+;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V33 tmp8         [V33,T49] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
 ;* V34 tmp9         [V34    ] (  0,   0   )     int  ->  zero-ref    ptr
 ;  V35 tmp10        [V35,T37] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V36 tmp11        [V36,T38] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
 ;  V37 tmp12        [V37,T34] (  5,  80   )     int  ->  x13         "dup spill"
 ;  V38 tmp13        [V38,T39] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
-;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x1         "impSpillLclRefs"
-;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x1         "impSpillLclRefs"
+;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
+;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V41 tmp16        [V41,T30] (  3,  96   )     int  ->   x1        
 ;  V42 tmp17        [V42,T52] (  4,  16   )     int  ->  x25         "impSpillLclRefs"
 ;* V43 tmp18        [V43    ] (  0,   0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
@@ -310,10 +310,10 @@ G_M9731_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     x23, [fp, #-0x78]  // [V01 arg1]
             ; byrRegs +[x23]
             ldr     w24, [fp, #-0x70]  // [V01 arg1+0x08]
-            cbz     w22, G_M9731_IG68
+            cbz     w22, G_M9731_IG69
                         ;; size=20 bbWeight=1 PerfScore 9.00
 G_M9731_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref, isz
-            cbz     w24, G_M9731_IG68
+            cbz     w24, G_M9731_IG69
             ldrh    w0, [x21]
             cmp     w0, #42
             bne     G_M9731_IG08
@@ -393,7 +393,7 @@ G_M9731_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2A00000 {x21
 G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23 x25}, byref, isz
             ; byrRegs -[x21]
             cmp     w24, w26
-            blt     G_M9731_IG68
+            blt     G_M9731_IG69
             mov     x0, x23
             ; byrRegs +[x0]
             sxtw    w1, w24
@@ -410,7 +410,7 @@ G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23
             blr     x5
             ; byrRegs -[x0 x2 x23 x25]
             ; gcr arg pop 0
-            b       G_M9731_IG63
+            b       G_M9731_IG64
                         ;; size=60 bbWeight=0.50 PerfScore 5.75
 G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref
             ; byrRegs +[x21 x23]
@@ -437,7 +437,7 @@ G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21
             add     w1, w25, #1
             sxtw    w27, w1
             cmp     w25, w24
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldrh    w1, [x23, w25, UXTW #2]
             sxtw    w25, w1
             b       G_M9731_IG12
@@ -445,7 +445,7 @@ G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21
 G_M9731_IG11:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
             sub     w6, w26, #1
             cmp     w6, w4
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldr     w1, [x3, w6, UXTW #2]
             cmp     w1, w5
             beq     G_M9731_IG21
@@ -469,7 +469,7 @@ G_M9731_IG13:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x2
             str     w0, [fp, #-0x80]   // [V06 loc2]
             str     w4, [fp, #-0xC8]   // [V182 tmp157]
             cmp     w1, w4
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             str     x3, [fp, #-0xD8] // [V181 tmp156]
             ; GC ptr vars +{V181}
             ldr     w1, [x3, w1, UXTW #2]
@@ -477,14 +477,14 @@ G_M9731_IG13:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x2
             add     w1, w1, w1,  LSR #31
             asr     w10, w1, #1
             cmp     w10, w22
-            bge     G_M9731_IG51
+            bge     G_M9731_IG52
                        ;; size=48 bbWeight=16 PerfScore 192.00
 G_M9731_IG14:        ; bbWeight=64, gcVars=00000000000000000000000000000200 {V181}, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, gcvars, byref, isz
             ; byrRegs -[x3]
             lsl     w11, w10, #1
             str     w11, [fp, #-0x94]  // [V16 loc12]
             cmp     w10, w22
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             str     w10, [fp, #-0x7C]  // [V05 loc1]
             ldrh    w13, [x21, w10, UXTW #2]
             str     w13, [fp, #-0x8C]  // [V11 loc7]
@@ -513,7 +513,7 @@ G_M9731_IG15:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             str     w4, [fp, #-0xCC]   // [V244 tmp219]
             ldr     w5, [fp, #-0xC4]   // [V180 tmp155]
             cmp     w5, w4
-            bhi     G_M9731_IG71
+            bhi     G_M9731_IG72
             mov     w2, w5
             lsl     x2, x2, #2
             mov     x0, x3
@@ -548,7 +548,7 @@ G_M9731_IG15:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             str     w4, [fp, #-0xD0]   // [V248 tmp223]
             ldr     w5, [fp, #-0xC8]   // [V182 tmp157]
             cmp     w5, w4
-            bhi     G_M9731_IG71
+            bhi     G_M9731_IG72
             mov     w2, w5
             lsl     x2, x2, #2
             mov     x0, x3
@@ -579,29 +579,29 @@ G_M9731_IG16:        ; bbWeight=64, gcVars=00000000000000000000000000000200 {V18
             ; GC ptr vars -{V247}
             ldr     w13, [fp, #-0x8C]  // [V11 loc7]
             cmp     w13, #42
-            beq     G_M9731_IG28
+            beq     G_M9731_IG30
                        ;; size=12 bbWeight=64 PerfScore 224.00
 G_M9731_IG17:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             tst     w19, #255
             beq     G_M9731_IG26
             cmp     w13, #60
             bne     G_M9731_IG26
-            mov     w13, wzr
+            mov     w14, wzr
             cbnz    w6, G_M9731_IG24
             cmp     w25, #46
             bne     G_M9731_IG23
-            sxtw    w1, w27
-            cmp     w1, w24
+            sxtw    w13, w27
+            cmp     w13, w24
             bge     G_M9731_IG23
                        ;; size=44 bbWeight=32 PerfScore 256.00
 G_M9731_IG18:        ; bbWeight=256, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            cmp     w1, w24
-            bhs     G_M9731_IG70
-            ldrh    w0, [x23, w1, UXTW #2]
-            cmp     w0, #46
+            cmp     w13, w24
+            bhs     G_M9731_IG71
+            ldrh    w1, [x23, w13, UXTW #2]
+            cmp     w1, #46
             beq     G_M9731_IG22
-            add     w1, w1, #1
-            cmp     w1, w24
+            add     w13, w13, #1
+            cmp     w13, w24
             blt     G_M9731_IG18
                        ;; size=32 bbWeight=256 PerfScore 2048.00
 G_M9731_IG19:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
@@ -612,18 +612,18 @@ G_M9731_IG20:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, g
             ; GC ptr vars -{V181}
             str     x3, [fp, #-0xD8]   // [V181 tmp156]
             ; GC ptr vars +{V181}
-            b       G_M9731_IG61
+            b       G_M9731_IG62
                       ;; size=8 bbWeight=2 PerfScore 4.00
 G_M9731_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref
             ; byrRegs -[x21 x23 x28]
             ; GC ptr vars -{V181}
             ldr     w5, [fp, #-0x90]   // [V15 loc11]
-            b       G_M9731_IG62
+            b       G_M9731_IG63
                       ;; size=8 bbWeight=1 PerfScore 3.00
 G_M9731_IG22:        ; bbWeight=32, gcVars=00000000000000000000000000000200 {V181}, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, gcvars, byref
             ; byrRegs -[x3] +[x21 x23 x28]
             ; GC ptr vars +{V09 V181}
-            mov     w13, #1
+            mov     w14, #1
                         ;; size=4 bbWeight=32 PerfScore 16.00
 G_M9731_IG23:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
             cmp     w25, #46
@@ -634,174 +634,170 @@ G_M9731_IG24:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             mov     w1, #1
                        ;; size=4 bbWeight=32 PerfScore 16.00
 G_M9731_IG25:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            orr     w1, w1, w13
-            cbz     w1, G_M9731_IG29
-            b       G_M9731_IG28
+            orr     w1, w1, w14
+            cbz     w1, G_M9731_IG31
+            b       G_M9731_IG30
                        ;; size=12 bbWeight=32 PerfScore 80.00
 G_M9731_IG26:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w11, [fp, #-0x94]  // [V16 loc12]
             add     w11, w11, #2
             tst     w19, #255
-            beq     G_M9731_IG37
+            beq     G_M9731_IG38
             cmp     w13, #62
-            bne     G_M9731_IG27
-            cbnz    w6, G_M9731_IG30
+            bne     G_M9731_IG28
+            cbnz    w6, G_M9731_IG32
             cmp     w25, #46
-            beq     G_M9731_IG30
-            b       G_M9731_IG34
-                       ;; size=40 bbWeight=32 PerfScore 288.00
-G_M9731_IG27:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            cmp     w13, #34
-            bne     G_M9731_IG37
-            cbnz    w6, G_M9731_IG30
-            b       G_M9731_IG35
-                       ;; size=16 bbWeight=32 PerfScore 112.00
+            beq     G_M9731_IG32
+                       ;; size=36 bbWeight=32 PerfScore 256.00
+G_M9731_IG27:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
+            b       G_M9731_IG36
+                       ;; size=4 bbWeight=8 PerfScore 8.00
 G_M9731_IG28:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
+            cmp     w13, #34
+            bne     G_M9731_IG38
+            cbnz    w6, G_M9731_IG32
+                       ;; size=12 bbWeight=32 PerfScore 80.00
+G_M9731_IG29:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
+            b       G_M9731_IG37
+                       ;; size=4 bbWeight=8 PerfScore 8.00
+G_M9731_IG30:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w7, [fp, #-0x84]    // [V07 loc3]
             add     w13, w7, #1
             cmp     w7, w2
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldr     w11, [fp, #-0x94]    // [V16 loc12]
             str     w11, [x28, w7, UXTW #2]
             str     w13, [fp, #-0x84]  // [V07 loc3]
             str     w11, [fp, #-0x94]  // [V16 loc12]
                        ;; size=32 bbWeight=32 PerfScore 288.00
-G_M9731_IG29:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
+G_M9731_IG31:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w7, [fp, #-0x84]   // [V07 loc3]
             sxtw    w1, w7
             add     w7, w1, #1
             cmp     w1, w2
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldr     w11, [fp, #-0x94]    // [V16 loc12]
...
  
-4 (-0.81%) : 6897.dasm - Utf8Json.JsonReader:ReadInt64():long:this (FullOpts)
@@ -9,9 +9,9 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T05] ( 13, 16.50)   byref  ->  x19         this single-def
-;  V01 loc0         [V01,T13] (  4,  3   )     int  ->   x0         ld-addr-op
+;  V01 loc0         [V01,T13] (  4,  3   )     int  ->   x6         ld-addr-op
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T17] (  2,  2   )    long  ->   x3         single-def
+;  V03 tmp1         [V03,T17] (  2,  2   )    long  ->   x0         single-def
 ;  V04 tmp2         [V04,T00] ( 10, 26.50)     int  ->   x1         "Inline stloc first use temp"
 ;* V05 tmp3         [V05    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;  V06 tmp4         [V06,T08] (  6, 10   )    long  ->   x3         "Inline stloc first use temp"
@@ -157,10 +157,10 @@ G_M7930_IG15:        ; bbWeight=3.96, gcrefRegs=0000 {}, byrefRegs=80001 {x0 x19
             cmp     w5, w6
             bgt     G_M7930_IG13
                        ;; size=32 bbWeight=3.96 PerfScore 37.62
-G_M7930_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref
+G_M7930_IG16:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref
             ; byrRegs -[x0]
             b       G_M7930_IG20
-                     ;; size=4 bbWeight=1 PerfScore 1.00
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M7930_IG17:        ; bbWeight=0.04, gcrefRegs=0000 {}, byrefRegs=80001 {x0 x19}, byref, isz
             ; byrRegs +[x0]
             cmp     w6, w5
@@ -186,23 +186,22 @@ G_M7930_IG19:        ; bbWeight=0.04, gcrefRegs=0000 {}, byrefRegs=80001 {x0 x19
                        ;; size=32 bbWeight=0.04 PerfScore 0.38
 G_M7930_IG20:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
             ; byrRegs -[x0]
-            subs    w0, w5, w1
+            subs    w6, w5, w1
             bvs     G_M7930_IG24
             b       G_M7930_IG22
                        ;; size=12 bbWeight=0.50 PerfScore 1.25
 G_M7930_IG21:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
-            subs    w0, w6, w1
+            subs    w6, w6, w1
             bvs     G_M7930_IG24
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M7930_IG22:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
-            sxtw    x1, w4
-            mul     x3, x3, x1
-            cbz     w0, G_M7930_IG26
-            adds    w0, w2, w0
+            sxtw    x0, w4
+            mul     x0, x3, x0
+            cbz     w6, G_M7930_IG26
+            adds    w1, w2, w6
             bvs     G_M7930_IG24
-            str     w0, [x19, #0x08]
-            mov     x0, x3
-                       ;; size=28 bbWeight=1 PerfScore 6.50
+            str     w1, [x19, #0x08]
+                       ;; size=24 bbWeight=1 PerfScore 6.00
 G_M7930_IG23:        ; bbWeight=1, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
@@ -294,7 +293,7 @@ RWD00   dd  G_M7930_IG07 - G_M7930_IG02
            dd  G_M7930_IG04 - G_M7930_IG02
 
 
-; Total bytes of code 496, prolog size 16, PerfScore 238.31, instruction count 124, allocated bytes for code 496 (MethodHash=bd94e105) for method Utf8Json.JsonReader:ReadInt64():long:this (FullOpts)
+; Total bytes of code 492, prolog size 16, PerfScore 237.31, instruction count 123, allocated bytes for code 492 (MethodHash=bd94e105) for method Utf8Json.JsonReader:ReadInt64():long:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -305,7 +304,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 124 (0x0007c) Actual length = 496 (0x0001f0)
+  Function Length   : 123 (0x0007b) Actual length = 492 (0x0001ec)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+16 (+2.25%) : 23550.dasm - Benchstone.BenchI.Array2:Bench(int):ubyte (FullOpts)
@@ -12,39 +12,41 @@
 ;  V02 loc1         [V02,T18] (  6,   9.64)     ref  ->  x21         class-hnd single-def <int[][][]>
 ;* V03 loc2         [V03    ] (  0,   0   )   ubyte  ->  zero-ref   
 ;  V04 loc3         [V04,T11] ( 14,  95.04)     int  ->   x2        
-;  V05 loc4         [V05,T08] ( 18, 282.19)     int  ->   x5        
-;  V06 loc5         [V06,T00] ( 21,1600   )     int  ->   x6        
+;  V05 loc4         [V05,T08] ( 18, 282.19)     int  ->   x0        
+;  V06 loc5         [V06,T00] ( 21,1600   )     int  ->   x1        
 ;# V07 OutArgs      [V07    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T01] (  9,1536.00)     ref  ->  x10         class-hnd "Strict ordering of exceptions for Array store" <int[]>
-;  V09 tmp2         [V09,T05] (  6,1024.00)     int  ->  x11         "Strict ordering of exceptions for Array store"
-;  V10 tmp3         [V10,T03] (  8,1034.19)     ref  ->  x10         "arr expr"
-;  V11 tmp4         [V11,T02] (  9,1536.00)     ref  ->  x11         "arr expr"
-;  V12 tmp5         [V12,T04] (  8,1034.19)     ref  ->  x11         "arr expr"
-;  V13 cse0         [V13,T25] (  2,   3.20)     ref  ->   x3         hoist "CSE - aggressive"
-;  V14 cse1         [V14,T09] (  6, 277.28)     ref  ->   x7         hoist multi-def "CSE - aggressive"
-;  V15 cse2         [V15,T10] (  6, 277.28)     ref  ->   x8         hoist multi-def "CSE - aggressive"
-;  V16 cse3         [V16,T13] (  6,  24.00)    long  ->   x6         hoist multi-def "CSE - aggressive"
-;  V17 cse4         [V17,T07] (  3, 564.54)    long  ->   x9         hoist "CSE - aggressive"
-;  V18 cse5         [V18,T06] (  3, 752.72)    long  ->  x13         "CSE - aggressive"
-;  V19 cse6         [V19,T24] (  3,   3.36)    long  ->   x7         hoist "CSE - aggressive"
-;  V20 cse7         [V20,T22] (  3,   5.76)    long  ->   x8         hoist "CSE - aggressive"
-;  V21 cse8         [V21,T23] (  3,   5.70)    long  ->   x9         hoist "CSE - aggressive"
-;  V22 cse9         [V22,T20] (  3,   7.68)    long  ->   x9         "CSE - aggressive"
-;  V23 cse10        [V23,T21] (  3,   7.60)    long  ->  x13         "CSE - aggressive"
-;  V24 cse11        [V24,T19] (  4,   9.64)   byref  ->   x0         hoist "CSE - aggressive"
-;  V25 cse12        [V25,T16] (  4,  11.56)   byref  ->   x1         hoist "CSE - aggressive"
-;  V26 cse13        [V26,T14] (  5,  21.12)     int  ->   x3         hoist multi-def "CSE - aggressive"
-;  V27 cse14        [V27,T12] (  5,  24.96)     int  ->   x4         multi-def "CSE - aggressive"
+;  V08 tmp1         [V08,T01] (  9,1536.00)     ref  ->   x6         class-hnd "Strict ordering of exceptions for Array store" <int[]>
+;  V09 tmp2         [V09,T05] (  6,1024.00)     int  ->   x7         "Strict ordering of exceptions for Array store"
+;  V10 tmp3         [V10,T03] (  8,1034.19)     ref  ->   x6         "arr expr"
+;  V11 tmp4         [V11,T02] (  9,1536.00)     ref  ->   x7         "arr expr"
+;  V12 tmp5         [V12,T04] (  8,1034.19)     ref  ->   x7         "arr expr"
+;  V13 cse0         [V13,T25] (  2,   3.20)     ref  ->   x4         hoist "CSE - aggressive"
+;  V14 cse1         [V14,T09] (  6, 277.28)     ref  ->   x3         hoist multi-def "CSE - aggressive"
+;  V15 cse2         [V15,T10] (  6, 277.28)     ref  ->   x4         hoist multi-def "CSE - aggressive"
+;  V16 cse3         [V16,T13] (  6,  24.00)    long  ->   x1         hoist multi-def "CSE - aggressive"
+;  V17 cse4         [V17,T07] (  3, 564.54)    long  ->   x5         hoist "CSE - aggressive"
+;  V18 cse5         [V18,T06] (  3, 752.72)    long  ->   x8         "CSE - aggressive"
+;  V19 cse6         [V19,T24] (  3,   3.36)    long  ->   x3         hoist "CSE - aggressive"
+;  V20 cse7         [V20,T22] (  3,   5.76)    long  ->   x5         hoist "CSE - aggressive"
+;  V21 cse8         [V21,T23] (  3,   5.70)    long  ->   x5         hoist "CSE - aggressive"
+;  V22 cse9         [V22,T20] (  3,   7.68)    long  ->   x8         "CSE - aggressive"
+;  V23 cse10        [V23,T21] (  3,   7.60)    long  ->   x8         "CSE - aggressive"
+;  V24 cse11        [V24,T19] (  4,   9.64)   byref  ->  x22         hoist "CSE - aggressive"
+;  V25 cse12        [V25,T16] (  4,  11.56)   byref  ->  x23         hoist "CSE - aggressive"
+;  V26 cse13        [V26,T14] (  5,  21.12)     int  ->  x24         hoist multi-def "CSE - aggressive"
+;  V27 cse14        [V27,T12] (  5,  24.96)     int  ->  x25         multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
 G_M17716_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
+            stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     x21, x22, [sp, #0x28]
+            stp     x23, x24, [sp, #0x38]
+            str     x25, [sp, #0x48]
             mov     fp, sp
             mov     w19, w0
-                      ;; size=20 bbWeight=1 PerfScore 4.00
+                      ;; size=28 bbWeight=1 PerfScore 6.00
 G_M17716_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             mov     w0, #10
             mov     w1, #10
@@ -80,237 +82,242 @@ G_M17716_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs -[x0]
             ; gcr arg pop 0
             cbz     w19, G_M17716_IG23
-            add     x0, x21, #16
-            ; byrRegs +[x0]
-            add     x1, x20, #16
-            ; byrRegs +[x1]
+            add     x22, x21, #16
+            ; byrRegs +[x22]
+            add     x23, x20, #16
+            ; byrRegs +[x23]
                        ;; size=108 bbWeight=1 PerfScore 23.00
-G_M17716_IG03:        ; bbWeight=4, gcrefRegs=300000 {x20 x21}, byrefRegs=0003 {x0 x1}, byref, isz
+G_M17716_IG03:        ; bbWeight=4, gcrefRegs=300000 {x20 x21}, byrefRegs=C00000 {x22 x23}, byref, isz
             mov     w2, wzr
             cbz     x21, G_M17716_IG17
                        ;; size=8 bbWeight=4 PerfScore 6.00
-G_M17716_IG04:        ; bbWeight=2, gcrefRegs=300000 {x20 x21}, byrefRegs=0003 {x0 x1}, byref, isz
+G_M17716_IG04:        ; bbWeight=2, gcrefRegs=300000 {x20 x21}, byrefRegs=C00000 {x22 x23}, byref, isz
             cbz     x20, G_M17716_IG17
-            ldr     w3, [x21, #0x08]
-            cmp     w3, #10
+            ldr     w24, [x21, #0x08]
+            cmp     w24, #10
             blt     G_M17716_IG17
-            ldr     w4, [x20, #0x08]
-            cmp     w4, #10
+            ldr     w25, [x20, #0x08]
+            cmp     w25, #10
             blt     G_M17716_IG17
                        ;; size=28 bbWeight=2 PerfScore 20.00
-G_M17716_IG05:        ; bbWeight=15.84, gcrefRegs=300000 {x20 x21}, byrefRegs=0003 {x0 x1}, byref, isz
-            mov     w5, wzr
-            cmp     w3, w2
-            ccmp    w4, w2, z, hi
+G_M17716_IG05:        ; bbWeight=15.84, gcrefRegs=300000 {x20 x21}, byrefRegs=C00000 {x22 x23}, byref, isz
+            mov     w0, wzr
+            cmp     w24, w2
+            ccmp    w25, w2, z, hi
             bls     G_M17716_IG11
                        ;; size=16 bbWeight=15.84 PerfScore 39.60
-G_M17716_IG06:        ; bbWeight=7.92, gcrefRegs=300000 {x20 x21}, byrefRegs=0003 {x0 x1}, byref, isz
-            ubfiz   x6, x2, #3, #32
-            ldr     x7, [x0, x6]
-            ; gcrRegs +[x7]
-            cbz     x7, G_M17716_IG11
-            ldr     x8, [x1, x6]
-            ; gcrRegs +[x8]
-            cbz     x8, G_M17716_IG11
-            ldr     w6, [x7, #0x08]
-            cmp     w6, #10
+G_M17716_IG06:        ; bbWeight=7.92, gcrefRegs=300000 {x20 x21}, byrefRegs=C00000 {x22 x23}, byref, isz
+            ubfiz   x1, x2, #3, #32
+            ldr     x3, [x22, x1]
+            ; gcrRegs +[x3]
+            cbz     x3, G_M17716_IG11
+            ldr     x4, [x23, x1]
+            ; gcrRegs +[x4]
+            cbz     x4, G_M17716_IG11
+            ldr     w1, [x3, #0x08]
+            cmp     w1, #10
             blt     G_M17716_IG11
-            ldr     w6, [x8, #0x08]
-            cmp     w6, #10
+            ldr     w1, [x4, #0x08]
+            cmp     w1, #10
             blt     G_M17716_IG11
                        ;; size=44 bbWeight=7.92 PerfScore 142.56
-G_M17716_IG07:        ; bbWeight=62.73, gcrefRegs=300180 {x7 x8 x20 x21}, byrefRegs=0003 {x0 x1}, byref
-            mov     w6, wzr
-            ubfiz   x9, x5, #3, #32
+G_M17716_IG07:        ; bbWeight=62.73, gcrefRegs=300018 {x3 x4 x20 x21}, byrefRegs=C00000 {x22 x23}, byref
+            mov     w1, wzr
+            ubfiz   x5, x0, #3, #32
                         ;; size=8 bbWeight=62.73 PerfScore 94.09
-G_M17716_IG08:        ; bbWeight=250.91, gcrefRegs=300180 {x7 x8 x20 x21}, byrefRegs=0003 {x0 x1}, byref, isz
-            mov     x10, x7
-            ; gcrRegs +[x10]
-            add     x10, x10, #16
-            ; gcrRegs -[x10]
-            ; byrRegs +[x10]
-            ldr     x10, [x10, x9]
-            ; gcrRegs +[x10]
-            ; byrRegs -[x10]
-            mov     x11, x8
-            ; gcrRegs +[x11]
-            add     x11, x11, #16
-            ; gcrRegs -[x11]
-            ; byrRegs +[x11]
-            ldr     x11, [x11, x9]
-            ; gcrRegs +[x11]
-            ; byrRegs -[x11]
-            ldr     w13, [x11, #0x08]
-            cmp     w6, w13
+G_M17716_IG08:        ; bbWeight=250.91, gcrefRegs=300018 {x3 x4 x20 x21}, byrefRegs=C00000 {x22 x23}, byref, isz
+            mov     x6, x3
+            ; gcrRegs +[x6]
+            add     x6, x6, #16
+            ; gcrRegs -[x6]
+            ; byrRegs +[x6]
+            ldr     x6, [x6, x5]
+            ; gcrRegs +[x6]
+            ; byrRegs -[x6]
+            mov     x7, x4
+            ; gcrRegs +[x7]
+            add     x7, x7, #16
+            ; gcrRegs -[x7]
+            ; byrRegs +[x7]
+            ldr     x7, [x7, x5]
+            ; gcrRegs +[x7]
+            ; byrRegs -[x7]
+            ldr     w8, [x7, #0x08]
+            cmp     w1, w8
             bhs     G_M17716_IG25
-            add     x11, x11, #16
-            ; gcrRegs -[x11]
-            ; byrRegs +[x11]
-            ubfiz   x13, x6, #2, #32
-            ldr     w11, [x11, x13]
-            ; byrRegs -[x11]
-            ldr     w14, [x10, #0x08]
-            cmp     w6, w14
+            add     x7, x7, #16
+            ; gcrRegs -[x7]
+            ; byrRegs +[x7]
+            ubfiz   x8, x1, #2, #32
+            ldr     w7, [x7, x8]
+            ; byrRegs -[x7]
+            ldr     w9, [x6, #0x08]
+            cmp     w1, w9
             bhs     G_M17716_IG25
-            add     x10, x10, #16
-            ; gcrRegs -[x10]
-            ; byrRegs +[x10]
-            str     w11, [x10, x13]
-            add     w6, w6, #1
-            cmp     w6, #10
+            add     x6, x6, #16
+            ; gcrRegs -[x6]
+            ; byrRegs +[x6]
+            str     w7, [x6, x8]
+            add     w1, w1, #1
+            cmp     w1, #10
             blt     G_M17716_IG08
                        ;; size=80 bbWeight=250.91 PerfScore 6272.64
-G_M17716_IG09:        ; bbWeight=62.73, gcrefRegs=300180 {x7 x8 x20 x21}, byrefRegs=0003 {x0 x1}, byref, isz
-            ; byrRegs -[x10]
-            add     w5, w5, #1
-            cmp     w5, #10
+G_M17716_IG09:        ; bbWeight=62.73, gcrefRegs=300018 {x3 x4 x20 x21}, byrefRegs=C00000 {x22 x23}, byref, isz
+            ; byrRegs -[x6]
+            add     w0, w0, #1
+            cmp     w0, #10
             blt     G_M17716_IG07
                        ;; size=12 bbWeight=62.73 PerfScore 125.45
-G_M17716_IG10:        ; bbWeight=7.92, gcrefRegs=300000 {x20 x21}, byrefRegs=0003 {x0 x1}, byref
-            ; gcrRegs -[x7-x8]
+G_M17716_IG10:        ; bbWeight=15.84, gcrefRegs=300000 {x20 x21}, byrefRegs=C00000 {x22 x23}, byref
+            ; gcrRegs -[x3-x4]
             b       G_M17716_IG15
-                      ;; size=4 bbWeight=7.92 PerfScore 7.92
-G_M17716_IG11:        ; bbWeight=0.08, gcrefRegs=300000 {x20 x21}, byrefRegs=0003 {x0 x1}, byref
-            ubfiz   x6, x2, #3, #32
-            ldr     x7, [x0, x6]
-            ; gcrRegs +[x7]
-            ldr     x8, [x1, x6]
-            ; gcrRegs +[x8]
+                      ;; size=4 bbWeight=15.84 PerfScore 15.84
+G_M17716_IG11:        ; bbWeight=0.08, gcrefRegs=300000 {x20 x21}, byrefRegs=C00000 {x22 x23}, byref
+            ubfiz   x1, x2, #3, #32
+            ldr     x3, [x22, x1]
+            ; gcrRegs +[x3]
+            ldr     x4, [x23, x1]
+            ; gcrRegs +[x4]
                         ;; size=12 bbWeight=0.08 PerfScore 0.55
-G_M17716_IG12:        ; bbWeight=0.63, gcrefRegs=300180 {x7 x8 x20 x21}, byrefRegs=0003 {x0 x1}, byref
-            mov     w6, wzr
-            ubfiz   x9, x5, #3, #32
+G_M17716_IG12:        ; bbWeight=0.63, gcrefRegs=300018 {x3 x4 x20 x21}, byrefRegs=C00000 {x22 x23}, byref
+            mov     w1, wzr
+            ubfiz   x5, x0, #3, #32
                         ;; size=8 bbWeight=0.63 PerfScore 0.95
...
  
+4 (+2.33%) : 14264.dasm - System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
@@ -47,7 +47,7 @@ G_M26551_IG03:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
 G_M26551_IG04:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             sub     w0, w0, #15
             cmp     w0, #1
-            bls     G_M26551_IG05
+            bls     G_M26551_IG08
             mov     x0, x19
             ; gcrRegs +[x0]
             ldr     x1, [x20, #0x88]
@@ -57,18 +57,9 @@ G_M26551_IG04:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             cbnz    w0, G_M26551_IG03
                        ;; size=32 bbWeight=4 PerfScore 42.00
 G_M26551_IG05:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            mov     x0, x19
-            ; gcrRegs +[x0]
-            ldr     x1, [x21, #0x28]
-                       ;; size=8 bbWeight=0.50 PerfScore 1.75
-G_M26551_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
-            br      x1
-                       ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M26551_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0]
+            b       G_M26551_IG08
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
+G_M26551_IG06:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             mov     x0, x19
             ; gcrRegs +[x0]
             ldr     x1, [x20, #0x88]
@@ -79,20 +70,32 @@ G_M26551_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=800
             ; gcrRegs +[x0]
             ldr     x1, [x21, #0x28]
                        ;; size=24 bbWeight=0.50 PerfScore 5.50
-G_M26551_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+G_M26551_IG07:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x30
             br      x1
                        ;; size=16 bbWeight=0.50 PerfScore 2.00
-RWD00      dd  G_M26551_IG05 - G_M26551_IG02
-           dd  G_M26551_IG07 - G_M26551_IG02
-           dd  G_M26551_IG05 - G_M26551_IG02
-           dd  G_M26551_IG05 - G_M26551_IG02
-           dd  G_M26551_IG05 - G_M26551_IG02
+G_M26551_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0]
+            mov     x0, x19
+            ; gcrRegs +[x0]
+            ldr     x1, [x21, #0x28]
+                       ;; size=8 bbWeight=0.50 PerfScore 1.75
+G_M26551_IG09:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x30
+            br      x1
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
+RWD00      dd  G_M26551_IG08 - G_M26551_IG02
+           dd  G_M26551_IG06 - G_M26551_IG02
+           dd  G_M26551_IG08 - G_M26551_IG02
+           dd  G_M26551_IG08 - G_M26551_IG02
+           dd  G_M26551_IG08 - G_M26551_IG02
 
 
-; Total bytes of code 172, prolog size 16, PerfScore 163.25, instruction count 43, allocated bytes for code 172 (MethodHash=17d09848) for method System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
+; Total bytes of code 176, prolog size 16, PerfScore 163.75, instruction count 44, allocated bytes for code 176 (MethodHash=17d09848) for method System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -103,7 +106,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 43 (0x0002b) Actual length = 172 (0x0000ac)
+  Function Length   : 44 (0x0002c) Actual length = 176 (0x0000b0)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+12 (+3.16%) : 22027.dasm - Benchstone.BenchI.XposMatrix:Test():ubyte:this (FullOpts)
@@ -10,136 +10,137 @@
 ;  V00 this         [V00,T06] (  3,  3   )     ref  ->   x0         this class-hnd single-def <Benchstone.BenchI.XposMatrix>
 ;  V01 loc0         [V01,T07] (  7,  4.58)     ref  ->   x0         class-hnd single-def <int[][]>
 ;* V02 loc1         [V02,T11] (  0,  0   )     int  ->  zero-ref    single-def
-;  V03 loc2         [V03,T03] ( 12, 19.04)     int  ->   x1        
-;  V04 loc3         [V04,T00] ( 16, 68.32)     int  ->   x3        
+;  V03 loc2         [V03,T03] ( 12, 19.04)     int  ->  x19        
+;  V04 loc3         [V04,T00] ( 16, 68.32)     int  ->   x1        
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06,T01] (  8, 64.64)     ref  ->  registers   "arr expr"
 ;  V07 tmp2         [V07,T05] (  3,  6   )     ref  ->   x1         single-def "arr expr"
 ;  V08 tmp3         [V08,T10] (  3,  3   )     ref  ->   x0         single-def "arr expr"
-;  V09 cse0         [V09,T12] (  2,  0.20)     ref  ->   x4         hoist "CSE - conservative"
-;  V10 cse1         [V10,T02] (  6, 21.80)     ref  ->   x5         hoist multi-def "CSE - aggressive"
-;  V11 cse2         [V11,T09] (  4,  4.00)    long  ->   x4         hoist multi-def "CSE - aggressive"
-;  V12 cse3         [V12,T13] (  2,  0.08)    long  ->   x4         hoist "CSE - conservative"
-;  V13 cse4         [V13,T08] (  7,  4.58)   byref  ->  x19         hoist multi-def "CSE - aggressive"
-;  V14 cse5         [V14,T04] (  6,  7.04)     int  ->   x2         hoist multi-def "CSE - aggressive"
+;  V09 cse0         [V09,T12] (  2,  0.20)     ref  ->   x2         hoist "CSE - conservative"
+;  V10 cse1         [V10,T02] (  6, 21.80)     ref  ->   x3         hoist multi-def "CSE - aggressive"
+;  V11 cse2         [V11,T09] (  4,  4.00)    long  ->   x2         hoist multi-def "CSE - aggressive"
+;  V12 cse3         [V12,T13] (  2,  0.08)    long  ->   x2         hoist "CSE - conservative"
+;  V13 cse4         [V13,T08] (  7,  4.58)   byref  ->  x21         hoist multi-def "CSE - aggressive"
+;  V14 cse5         [V14,T04] (  6,  7.04)     int  ->  x20         hoist multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
 G_M49643_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
+                      ;; size=16 bbWeight=1 PerfScore 3.50
 G_M49643_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x0, [x0, #0x08]
-            mov     w1, #1
+            mov     w19, #1
             cbz     x0, G_M49643_IG11
-            ldr     w2, [x0, #0x08]
-            cmp     w2, #100
+            ldr     w20, [x0, #0x08]
+            cmp     w20, #100
             ble     G_M49643_IG11
-            add     x19, x0, #16
-            ; byrRegs +[x19]
+            add     x21, x0, #16
+            ; byrRegs +[x21]
                        ;; size=28 bbWeight=1 PerfScore 9.50
-G_M49643_IG03:        ; bbWeight=3.96, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref, isz
-            mov     w3, #1
-            cmp     w2, w1
+G_M49643_IG03:        ; bbWeight=3.96, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref, isz
+            mov     w1, #1
+            cmp     w20, w19
             bls     G_M49643_IG07
                        ;; size=12 bbWeight=3.96 PerfScore 7.92
-G_M49643_IG04:        ; bbWeight=1.98, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref, isz
-            ubfiz   x4, x1, #3, #32
-            ldr     x5, [x19, x4]
-            ; gcrRegs +[x5]
-            cbz     x5, G_M49643_IG07
-            ldr     w4, [x5, #0x08]
-            cmp     w4, #100
+G_M49643_IG04:        ; bbWeight=1.98, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref, isz
+            ubfiz   x2, x19, #3, #32
+            ldr     x3, [x21, x2]
+            ; gcrRegs +[x3]
+            cbz     x3, G_M49643_IG07
+            ldr     w2, [x3, #0x08]
+            cmp     w2, #100
             ble     G_M49643_IG07
                        ;; size=24 bbWeight=1.98 PerfScore 18.81
-G_M49643_IG05:        ; bbWeight=15.68, gcrefRegs=0021 {x0 x5}, byrefRegs=80000 {x19}, byref, isz
-            mov     x4, x5
-            ; gcrRegs +[x4]
-            add     x4, x4, #16
-            ; gcrRegs -[x4]
-            ; byrRegs +[x4]
-            mov     w6, #1
-            str     w6, [x4, w3, UXTW #2]
-            add     w3, w3, #1
-            cmp     w3, #100
-            ble     G_M49643_IG05
-                       ;; size=28 bbWeight=15.68 PerfScore 70.57
-G_M49643_IG06:        ; bbWeight=1.98, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref
-            ; gcrRegs -[x5]
-            ; byrRegs -[x4]
-            b       G_M49643_IG09
-                       ;; size=4 bbWeight=1.98 PerfScore 1.98
-G_M49643_IG07:        ; bbWeight=0.02, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref
-            ubfiz   x4, x1, #3, #32
-            ldr     x5, [x19, x4]
-            ; gcrRegs +[x5]
-                       ;; size=8 bbWeight=0.02 PerfScore 0.08
-G_M49643_IG08:        ; bbWeight=0.16, gcrefRegs=0021 {x0 x5}, byrefRegs=80000 {x19}, byref, isz
-            mov     x4, x5
-            ; gcrRegs +[x4]
-            ldr     w6, [x4, #0x08]
-            cmp     w3, w6
-            bhs     G_M49643_IG19
-            add     x4, x4, #16
-            ; gcrRegs -[x4]
-            ; byrRegs +[x4]
-            mov     w6, #1
-            str     w6, [x4, w3, UXTW #2]
-            add     w3, w3, #1
-            cmp     w3, #100
-            ble     G_M49643_IG08
-                       ;; size=40 bbWeight=0.16 PerfScore 1.43
-G_M49643_IG09:        ; bbWeight=3.96, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref, isz
-            ; gcrRegs -[x5]
-            ; byrRegs -[x4]
+G_M49643_IG05:        ; bbWeight=15.68, gcrefRegs=0009 {x0 x3}, byrefRegs=200000 {x21}, byref, isz
+            mov     x2, x3
+            ; gcrRegs +[x2]
+            add     x2, x2, #16
+            ; gcrRegs -[x2]
+            ; byrRegs +[x2]
+            mov     w4, #1
+            str     w4, [x2, w1, UXTW #2]
             add     w1, w1, #1
             cmp     w1, #100
+            ble     G_M49643_IG05
+                       ;; size=28 bbWeight=15.68 PerfScore 70.57
+G_M49643_IG06:        ; bbWeight=3.96, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref
+            ; gcrRegs -[x3]
+            ; byrRegs -[x2]
+            b       G_M49643_IG09
+                       ;; size=4 bbWeight=3.96 PerfScore 3.96
+G_M49643_IG07:        ; bbWeight=0.02, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref
+            ubfiz   x2, x19, #3, #32
+            ldr     x3, [x21, x2]
+            ; gcrRegs +[x3]
+                       ;; size=8 bbWeight=0.02 PerfScore 0.08
+G_M49643_IG08:        ; bbWeight=0.16, gcrefRegs=0009 {x0 x3}, byrefRegs=200000 {x21}, byref, isz
+            mov     x2, x3
+            ; gcrRegs +[x2]
+            ldr     w4, [x2, #0x08]
+            cmp     w1, w4
+            bhs     G_M49643_IG19
+            add     x2, x2, #16
+            ; gcrRegs -[x2]
+            ; byrRegs +[x2]
+            mov     w4, #1
+            str     w4, [x2, w1, UXTW #2]
+            add     w1, w1, #1
+            cmp     w1, #100
+            ble     G_M49643_IG08
+                       ;; size=40 bbWeight=0.16 PerfScore 1.43
+G_M49643_IG09:        ; bbWeight=3.96, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref, isz
+            ; gcrRegs -[x3]
+            ; byrRegs -[x2]
+            add     w19, w19, #1
+            cmp     w19, #100
             ble     G_M49643_IG03
                        ;; size=12 bbWeight=3.96 PerfScore 7.92
-G_M49643_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref
+G_M49643_IG10:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref
             b       G_M49643_IG14
                        ;; size=4 bbWeight=1 PerfScore 1.00
 G_M49643_IG11:        ; bbWeight=0.04, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ; byrRegs -[x19]
-            mov     w3, #1
-            ldr     w2, [x0, #0x08]
-            add     x19, x0, #16
-            ; byrRegs +[x19]
-            ubfiz   x4, x1, #3, #32
-            cmp     w1, w2
+            ; byrRegs -[x21]
+            mov     w1, #1
+            ldr     w20, [x0, #0x08]
+            add     x21, x0, #16
+            ; byrRegs +[x21]
+            ubfiz   x2, x19, #3, #32
+            cmp     w19, w20
             bhs     G_M49643_IG19
-            ldr     x4, [x19, x4]
-            ; gcrRegs +[x4]
+            ldr     x2, [x21, x2]
+            ; gcrRegs +[x2]
                         ;; size=28 bbWeight=0.04 PerfScore 0.38
-G_M49643_IG12:        ; bbWeight=0.16, gcrefRegs=0011 {x0 x4}, byrefRegs=80000 {x19}, byref, isz
-            mov     x5, x4
-            ; gcrRegs +[x5]
-            ldr     w6, [x5, #0x08]
-            cmp     w3, w6
+G_M49643_IG12:        ; bbWeight=0.16, gcrefRegs=0005 {x0 x2}, byrefRegs=200000 {x21}, byref, isz
+            mov     x3, x2
+            ; gcrRegs +[x3]
+            ldr     w4, [x3, #0x08]
+            cmp     w1, w4
             bhs     G_M49643_IG19
-            add     x5, x5, #16
-            ; gcrRegs -[x5]
-            ; byrRegs +[x5]
-            mov     w6, #1
-            str     w6, [x5, w3, UXTW #2]
-            add     w3, w3, #1
-            cmp     w3, #100
-            ble     G_M49643_IG12
-                       ;; size=40 bbWeight=0.16 PerfScore 1.44
-G_M49643_IG13:        ; bbWeight=0.04, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref, isz
-            ; gcrRegs -[x4]
-            ; byrRegs -[x5]
+            add     x3, x3, #16
+            ; gcrRegs -[x3]
+            ; byrRegs +[x3]
+            mov     w4, #1
+            str     w4, [x3, w1, UXTW #2]
             add     w1, w1, #1
             cmp     w1, #100
+            ble     G_M49643_IG12
+                       ;; size=40 bbWeight=0.16 PerfScore 1.44
+G_M49643_IG13:        ; bbWeight=0.04, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref, isz
+            ; gcrRegs -[x2]
+            ; byrRegs -[x3]
+            add     w19, w19, #1
+            cmp     w19, #100
             ble     G_M49643_IG11
                        ;; size=12 bbWeight=0.04 PerfScore 0.08
-G_M49643_IG14:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19}, byref, isz
-            cmp     w2, #100
+G_M49643_IG14:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=200000 {x21}, byref, isz
+            cmp     w20, #100
             bls     G_M49643_IG19
-            ldr     x1, [x19, #0xD1FFAB1E]
+            ldr     x1, [x21, #0xD1FFAB1E]
             ; gcrRegs +[x1]
             ldr     w2, [x1, #0x08]
             cmp     w2, #100
@@ -151,17 +152,18 @@ G_M49643_IG14:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19},
                        ;; size=36 bbWeight=1 PerfScore 13.50
 G_M49643_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
-            ; byrRegs -[x19]
+            ; byrRegs -[x21]
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M49643_IG16:        ; bbWeight=0.50, 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=0.50 PerfScore 2.00
...
  
  
benchmarks.run_pgo.windows.arm64.checked.mch
-24 (-7.41%) : 32591.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalListInOrder(System.Canon[]):this (Tier1)
@@ -10,13 +10,13 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  5,  4   )     ref  ->  x20         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T02] (  9, 27.06)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T02] (  8, 30.38)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
 ;  V02 loc0         [V02,T07] (  3,  2.05)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V03 loc1         [V03,T09] (  4,  0.58)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V04 loc2         [V04,T08] (  5,  1.02)     int  ->  x22        
-;  V05 loc3         [V05,T03] (  6, 27.37)     ref  ->  x23         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T01] (  9, 44.54)     int  ->  x24        
-;  V07 loc5         [V07,T00] (  5, 47.63)     ref  ->   x0         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T03] (  6, 30.70)     ref  ->  x23         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T00] (  6, 47.87)     int  ->  x24        
+;  V07 loc5         [V07,T01] (  5, 47.63)     ref  ->   x0         class-hnd <System.__Canon>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T04] (  2, 20.48)     int  ->   x0         "guarded devirt return temp"
 ;* V10 tmp2         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
@@ -40,7 +40,7 @@ G_M50755_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M50755_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x21, [x20, #0x08]
             ; gcrRegs +[x21]
-            cbnz    x21, G_M50755_IG07
+            cbnz    x21, G_M50755_IG05
                        ;; size=8 bbWeight=1 PerfScore 4.00
 G_M50755_IG03:        ; bbWeight=0.95, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
@@ -59,37 +59,26 @@ G_M50755_IG04:        ; bbWeight=0.95, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0.95 PerfScore 4.77
-G_M50755_IG05:        ; bbWeight=6.66, gcVars=0000000000000000 {}, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x19-x21 x23]
-            ldr     x1, [x23, #0x50]
-            ldr     x0, [x0, #0x50]
-            ; gcrRegs -[x0]
-            cmp     x1, x0
-            bne     G_M50755_IG13
-                       ;; size=16 bbWeight=6.66 PerfScore 49.93
-G_M50755_IG06:        ; bbWeight=53.26, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
-            b       G_M50755_IG14
-                       ;; size=4 bbWeight=53.26 PerfScore 53.26
-G_M50755_IG07:        ; bbWeight=0.05, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x23]
+G_M50755_IG05:        ; bbWeight=0.05, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x19-x21]
             mov     w22, wzr
             ldr     w0, [x21, #0x08]
             cmp     w0, #0
-            ble     G_M50755_IG16
+            ble     G_M50755_IG15
                        ;; size=16 bbWeight=0.05 PerfScore 0.23
-G_M50755_IG08:        ; bbWeight=0.24, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG06:        ; bbWeight=0.24, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     x0, x21, #16
             ; byrRegs +[x0]
             ldr     x23, [x0, w22, UXTW #3]
             ; gcrRegs +[x23]
-            cbz     x23, G_M50755_IG16
+            cbz     x23, G_M50755_IG15
             mov     w24, wzr
             ldr     w0, [x19, #0x08]
             ; byrRegs -[x0]
             cmp     w0, #0
-            ble     G_M50755_IG15
+            ble     G_M50755_IG14
                        ;; size=28 bbWeight=0.24 PerfScore 2.30
-G_M50755_IG09:        ; bbWeight=10.24, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG07:        ; bbWeight=10.24, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     x0, x19, #16
             ; byrRegs +[x0]
             ldr     x0, [x0, w24, UXTW #3]
@@ -100,9 +89,9 @@ G_M50755_IG09:        ; bbWeight=10.24, gcrefRegs=B80000 {x19 x20 x21 x23}, byre
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            bne     G_M50755_IG12
+            bne     G_M50755_IG10
                        ;; size=32 bbWeight=10.24 PerfScore 97.30
-G_M50755_IG10:        ; bbWeight=6.66, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG08:        ; bbWeight=6.66, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             mov     x1, x23
             ; gcrRegs +[x1]
             ldr     x1, [x1]
@@ -111,13 +100,17 @@ G_M50755_IG10:        ; bbWeight=6.66, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, by
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            beq     G_M50755_IG05
-                       ;; size=28 bbWeight=6.66 PerfScore 43.27
-G_M50755_IG11:        ; bbWeight=1.66, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bne     G_M50755_IG11
+            ldr     x1, [x23, #0x50]
+            ldr     x0, [x0, #0x50]
             ; gcrRegs -[x0]
-            b       G_M50755_IG18
-                       ;; size=4 bbWeight=1.66 PerfScore 1.66
-G_M50755_IG12:        ; bbWeight=10.24, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+            cmp     x1, x0
+            bne     G_M50755_IG11
+                       ;; size=44 bbWeight=6.66 PerfScore 93.21
+G_M50755_IG09:        ; bbWeight=6.66, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            b       G_M50755_IG13
+                       ;; size=4 bbWeight=6.66 PerfScore 6.66
+G_M50755_IG10:        ; bbWeight=10.24, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             mov     x1, x23
             ; gcrRegs +[x1]
@@ -127,16 +120,20 @@ G_M50755_IG12:        ; bbWeight=10.24, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, b
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M50755_IG14
+            cbnz    w0, G_M50755_IG13
                       ;; size=24 bbWeight=10.24 PerfScore 117.79
-G_M50755_IG13:        ; bbWeight=10.24, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG11:        ; bbWeight=10.24, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
             ldr     w1, [x19, #0x08]
             cmp     w1, w24
-            ble     G_M50755_IG15
-            b       G_M50755_IG09
-                       ;; size=20 bbWeight=10.24 PerfScore 61.45
-G_M50755_IG14:        ; bbWeight=3.33, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bgt     G_M50755_IG07
+                       ;; size=16 bbWeight=10.24 PerfScore 51.21
+G_M50755_IG12:        ; bbWeight=0.24, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x23]
+            b       G_M50755_IG14
+                       ;; size=4 bbWeight=0.24 PerfScore 0.24
+G_M50755_IG13:        ; bbWeight=6.66, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x23]
             sxtw    x1, w24
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -145,14 +142,14 @@ G_M50755_IG14:        ; bbWeight=3.33, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2 x23]
             ; gcr arg pop 0
-                      ;; size=16 bbWeight=3.33 PerfScore 8.32
-G_M50755_IG15:        ; bbWeight=0.24, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+                     ;; size=16 bbWeight=6.66 PerfScore 16.64
+G_M50755_IG14:        ; bbWeight=0.24, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     w22, w22, #1
             ldr     w14, [x21, #0x08]
             cmp     w14, w22
-            bgt     G_M50755_IG08
+            bgt     G_M50755_IG06
                      ;; size=16 bbWeight=0.24 PerfScore 1.21
-G_M50755_IG16:        ; bbWeight=0.05, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M50755_IG15:        ; bbWeight=0.05, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             add     x14, x20, #8
             ; byrRegs +[x14]
@@ -162,23 +159,15 @@ G_M50755_IG16:        ; bbWeight=0.05, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ; gcrRegs -[x15 x19-x20]
             ; byrRegs -[x14]
                        ;; size=12 bbWeight=0.05 PerfScore 0.09
-G_M50755_IG17:        ; bbWeight=0.05, epilog, nogc, extend
+G_M50755_IG16:        ; bbWeight=0.05, 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=0.05 PerfScore 0.23
-G_M50755_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x19-x21 x23]
-            add     w24, w24, #1
-            ldr     w0, [x19, #0x08]
-            cmp     w0, w24
-            bgt     G_M50755_IG09
-            b       G_M50755_IG15
-                       ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 324, prolog size 28, PerfScore 453.24, instruction count 81, allocated bytes for code 324 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
+; Total bytes of code 300, prolog size 28, PerfScore 403.30, instruction count 75, allocated bytes for code 300 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -189,7 +178,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 81 (0x00051) Actual length = 324 (0x000144)
+  Function Length   : 75 (0x0004b) Actual length = 300 (0x00012c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-16 (-7.02%) : 15914.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
@@ -11,10 +11,10 @@
 ;
 ;  V00 arg0         [V00,T04] (  9,500.49)     ref  ->   x0         class-hnd single-def <int[,]>
 ;* V01 arg1         [V01    ] (  0,  0   )   byref  ->  zero-ref    single-def
-;  V02 loc0         [V02,T17] (  6,100.52)     int  ->   x3        
+;  V02 loc0         [V02,T17] (  5,100.52)     int  ->   x3        
 ;  V03 loc1         [V03,T11] (  2,199.00)     int  ->  x10        
 ;  V04 loc2         [V04,T12] (  2,199.00)     int  ->  x11        
-;  V05 loc3         [V05,T20] (  8, 99.54)     int  ->   x4        
+;  V05 loc3         [V05,T20] (  5, 99.54)     int  ->   x4        
 ;  V06 loc4         [V06,T16] (  6,101.02)     int  ->   x2        
 ;  V07 loc5         [V07,T05] (  6,399.00)     int  ->   x1        
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -95,13 +95,12 @@ G_M57584_IG07:        ; bbWeight=99.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {},
 G_M57584_IG08:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w2, w2, #1
             cmp     w2, w3
-            bgt     G_M57584_IG11
-            b       G_M57584_IG04
-                       ;; size=16 bbWeight=0.50 PerfScore 1.50
+            ble     G_M57584_IG04
+                       ;; size=12 bbWeight=0.50 PerfScore 1.00
 G_M57584_IG09:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w4, w4, #1
             cmp     w4, w3
-            bgt     G_M57584_IG12
+            bgt     G_M57584_IG11
             b       G_M57584_IG03
                        ;; size=16 bbWeight=0.01 PerfScore 0.03
 G_M57584_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -109,20 +108,13 @@ G_M57584_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M57584_IG11:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x0]
-            add     w4, w4, #1
-            cmp     w4, w3
-            ble     G_M57584_IG03
-                       ;; size=12 bbWeight=0 PerfScore 0.00
-G_M57584_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ; gcrRegs -[x0]
+G_M57584_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x10
             add     sp, sp, #64
             ret     lr
                        ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 228, prolog size 24, PerfScore 3200.03, instruction count 57, allocated bytes for code 228 (MethodHash=862a1f0f) for method Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
+; Total bytes of code 212, prolog size 24, PerfScore 3199.53, instruction count 53, allocated bytes for code 212 (MethodHash=862a1f0f) for method Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -133,7 +125,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)
  
-16 (-6.90%) : 15912.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
@@ -11,10 +11,10 @@
 ;
 ;  V00 arg0         [V00,T03] (  9,500.49)     ref  ->   x0         class-hnd single-def <int[,]>
 ;* V01 arg1         [V01    ] (  0,  0   )   byref  ->  zero-ref    single-def
-;  V02 loc0         [V02,T17] (  6,100.52)     int  ->   x3        
+;  V02 loc0         [V02,T17] (  5,100.52)     int  ->   x3        
 ;  V03 loc1         [V03,T11] (  2,198.99)     int  ->   x8        
 ;  V04 loc2         [V04,T12] (  2,198.99)     int  ->  x13        
-;  V05 loc3         [V05,T20] (  8,  0.54)     int  ->   x4        
+;  V05 loc3         [V05,T20] (  5,  0.54)     int  ->   x4        
 ;  V06 loc4         [V06,T16] (  6,101.03)     int  ->   x2        
 ;  V07 loc5         [V07,T05] (  6,398.99)     int  ->   x1        
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -96,13 +96,12 @@ G_M3571_IG07:        ; bbWeight=99.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
 G_M3571_IG08:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w2, w2, #1
             cmp     w2, w3
-            bgt     G_M3571_IG11
-            b       G_M3571_IG04
-                       ;; size=16 bbWeight=0.50 PerfScore 1.51
+            ble     G_M3571_IG04
+                       ;; size=12 bbWeight=0.50 PerfScore 1.01
 G_M3571_IG09:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w4, w4, #1
             cmp     w4, w3
-            bgt     G_M3571_IG12
+            bgt     G_M3571_IG11
             b       G_M3571_IG03
                        ;; size=16 bbWeight=0.01 PerfScore 0.03
 G_M3571_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -110,20 +109,13 @@ G_M3571_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M3571_IG11:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x0]
-            add     w4, w4, #1
-            cmp     w4, w3
-            ble     G_M3571_IG03
-                       ;; size=12 bbWeight=0 PerfScore 0.00
-G_M3571_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ; gcrRegs -[x0]
+G_M3571_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x10
             add     sp, sp, #64
             ret     lr
                        ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 232, prolog size 24, PerfScore 3200.22, instruction count 58, allocated bytes for code 232 (MethodHash=50acf20c) for method Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
+; Total bytes of code 216, prolog size 24, PerfScore 3199.72, instruction count 54, allocated bytes for code 216 (MethodHash=50acf20c) for method Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -134,7 +126,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 (+7.69%) : 26892.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Canon]:Enqueue(System.Canon):this (Tier1)
@@ -15,79 +15,69 @@
 ;* V03 tmp1         [V03,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  4,  8.00)     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]>
 ;  V05 tmp3         [V05,T05] (  3,  3.00)     ref  ->   x3         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T01] (  6,  6.00)     int  ->  x14         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T04] (  3,  3.00)     int  ->  x15         "Inline stloc first use temp"
+;  V06 tmp4         [V06,T01] (  6,  6.00)     int  ->   x5         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T04] (  3,  3.00)     int  ->   x6         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V09 tmp7         [V09,T10] (  3,  2.00)     int  ->   x6         "Inline stloc first use temp"
-;  V10 cse0         [V10,T06] (  3,  3.00)   byref  ->   x5         "CSE - aggressive"
-;  V11 cse1         [V11,T07] (  3,  3.00)   byref  ->  x12         "CSE - aggressive"
+;  V10 cse0         [V10,T06] (  3,  3.00)   byref  ->  x19         "CSE - aggressive"
+;  V11 cse1         [V11,T07] (  3,  3.00)   byref  ->  x14         "CSE - aggressive"
 ;  V12 cse2         [V12,T08] (  3,  3.00)   byref  ->   x4         hoist "CSE - aggressive"
-;  V13 cse3         [V13,T09] (  3,  3.00)     int  ->   x6         "CSE - aggressive"
+;  V13 cse3         [V13,T09] (  3,  3.00)     int  ->  x20         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M15407_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-                      ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=12 bbWeight=1 PerfScore 2.50
 G_M15407_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0-x1]
-            add     x14, x0, #16
-            ; byrRegs +[x14]
-            ldapr   x2, [x14]
+            add     x2, x0, #16
+            ; byrRegs +[x2]
+            ldapr   x2, [x2]
             ; gcrRegs +[x2]
+            ; byrRegs -[x2]
             ldr     x3, [x2, #0x08]
             ; gcrRegs +[x3]
             add     x4, x2, #0xD1FFAB1E
             ; byrRegs +[x4]
                        ;; size=16 bbWeight=1 PerfScore 7.00
 G_M15407_IG03:        ; bbWeight=1.00, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, byref, isz
-            ; byrRegs -[x14]
-            ldapr   w14, [x4]
-            ldr     w15, [x2, #0x18]
-            and     w15, w14, w15
-            ldr     w12, [x3, #0x08]
-            cmp     w15, w12
-            bhs     G_M15407_IG10
-            ubfiz   x15, x15, #4, #32
-            add     x15, x15, #16
-            add     x12, x3, x15
-            ; byrRegs +[x12]
-            add     x5, x12, #8
-            ; byrRegs +[x5]
-            ldapr   w15, [x5]
-            sub     w6, w15, w14
-            cbnz    w6, G_M15407_IG07
+            ldapr   w5, [x4]
+            ldr     w6, [x2, #0x18]
+            and     w6, w5, w6
+            ldr     w7, [x3, #0x08]
+            cmp     w6, w7
+            bhs     G_M15407_IG11
+            ubfiz   x6, x6, #4, #32
+            add     x6, x6, #16
+            add     x14, x3, x6
+            ; byrRegs +[x14]
+            add     x19, x14, #8
+            ; byrRegs +[x19]
+            ldapr   w6, [x19]
+            sub     w6, w6, w5
+            cbnz    w6, G_M15407_IG06
                       ;; size=52 bbWeight=1.00 PerfScore 18.00
-G_M15407_IG04:        ; bbWeight=1.00, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=1030 {x4 x5 x12}, byref, isz
-            add     w6, w14, #1
-            mov     w15, w14
-            casal   w15, w6, [x4]
-            cmp     w15, w14
+G_M15407_IG04:        ; bbWeight=1.00, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=84010 {x4 x14 x19}, byref, isz
+            add     w20, w5, #1
+            mov     w6, w5
+            casal   w6, w20, [x4]
+            cmp     w6, w5
             bne     G_M15407_IG03
                        ;; size=20 bbWeight=1.00 PerfScore 5.50
-G_M15407_IG05:        ; bbWeight=1.00, gcrefRegs=0002 {x1}, byrefRegs=1020 {x5 x12}, byref
+G_M15407_IG05:        ; bbWeight=1.00, gcrefRegs=0002 {x1}, byrefRegs=84000 {x14 x19}, byref
             ; gcrRegs -[x0 x2-x3]
             ; byrRegs -[x4]
-            mov     x14, x12
-            ; byrRegs +[x14]
-            mov     x15, x1
-            ; gcrRegs +[x15]
-            bl      CORINFO_HELP_CHECKED_ASSIGN_REF
-            ; gcrRegs -[x1 x15]
-            ; byrRegs -[x12 x14]
-            stlr    w6, [x5]
-                       ;; size=16 bbWeight=1.00 PerfScore 3.00
-G_M15407_IG06:        ; bbWeight=1.00, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=1.00 PerfScore 2.00
-G_M15407_IG07:        ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, gcvars, byref, isz
-            ; gcrRegs +[x0-x3]
-            ; byrRegs -[x5] +[x4]
+            b       G_M15407_IG09
+                       ;; size=4 bbWeight=1.00 PerfScore 1.00
+G_M15407_IG06:        ; bbWeight=0.00, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, byref, isz
+            ; gcrRegs +[x0 x2-x3]
+            ; byrRegs -[x14 x19] +[x4]
             tbz     w6, #31, G_M15407_IG03
                        ;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M15407_IG08:        ; bbWeight=1.00, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
+G_M15407_IG07:        ; bbWeight=1.00, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x2-x3]
             ; byrRegs -[x4]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
@@ -95,30 +85,46 @@ G_M15407_IG08:        ; bbWeight=1.00, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
                        ;; size=16 bbWeight=1.00 PerfScore 4.50
-G_M15407_IG09:        ; bbWeight=1.00, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M15407_IG08:        ; bbWeight=1.00, epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             br      x2
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=1.00 PerfScore 2.00
-G_M15407_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0-x1]
+                       ;; size=12 bbWeight=1.00 PerfScore 3.00
+G_M15407_IG09:        ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=84000 {x14 x19}, gcvars, byref
+            ; gcrRegs -[x0]
+            ; byrRegs +[x14 x19]
+            mov     x15, x1
+            ; gcrRegs +[x15]
+            bl      CORINFO_HELP_CHECKED_ASSIGN_REF
+            ; gcrRegs -[x1 x15]
+            ; byrRegs -[x14]
+            stlr    w20, [x19]
+                       ;; size=12 bbWeight=1.00 PerfScore 2.50
+G_M15407_IG10:        ; bbWeight=1.00, epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
+            ret     lr
+                       ;; size=12 bbWeight=1.00 PerfScore 3.00
+G_M15407_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            ; byrRegs -[x19]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 156, prolog size 8, PerfScore 43.50, instruction count 39, allocated bytes for code 156 (MethodHash=96c6c3d0) for method System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
+; Total bytes of code 168, prolog size 12, PerfScore 47.00, instruction count 42, allocated bytes for code 168 (MethodHash=96c6c3d0) for method System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 39 (0x00027) Actual length = 156 (0x00009c)
+  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)
@@ -129,7 +135,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]!
+    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
     E4          end
     E4          end
 
  
+20 (+9.43%) : 74765.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>cDisplayClass10_0[int]:b0():this (Tier1-OSR)
@@ -12,7 +12,7 @@
 ;
 ;  V00 this         [V00,T11] (  5, 201.99)     ref  ->  x19         this class-hnd single-def <System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[int]>
 ;  V01 loc0         [V01,T04] (  4, 299.98)     int  ->  x20        
-;  V02 loc1         [V02,T14] (  1,   1   )     int  ->  [fp+0x40]  ld-addr-op tier0-frame
+;  V02 loc1         [V02,T14] (  1,   1   )     int  ->  [fp+0x60]  ld-addr-op tier0-frame
 ;# V03 OutArgs      [V03    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V04 tmp1         [V04,T00] (  3,1199.88)     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Concurrent.ConcurrentQueue`1[int]>
 ;* V05 tmp2         [V05    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Threading.Barrier>
@@ -28,33 +28,35 @@
 ;  V15 tmp12        [V15,T02] (  6, 599.46)     int  ->   x4         "Inline stloc first use temp"
 ;  V16 tmp13        [V16,T06] (  3, 299.97)     int  ->   x5         "Inline stloc first use temp"
 ;* V17 tmp14        [V17    ] (  0,   0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V18 tmp15        [V18,T12] (  3, 200.14)     int  ->   x7         "Inline stloc first use temp"
+;  V18 tmp15        [V18,T12] (  3, 200.14)     int  ->   x5         "Inline stloc first use temp"
 ;* V19 tmp16        [V19    ] (  0,   0   )     ref  ->  zero-ref    "field V06._source (fldOffset=0x0)" P-INDEP
 ;* V20 tmp17        [V20    ] (  0,   0   )     ref  ->  zero-ref    "field V07._source (fldOffset=0x0)" P-INDEP
 ;* V21 tmp18        [V21    ] (  0,   0   )     ref  ->  zero-ref    "field V09._source (fldOffset=0x0)" P-INDEP
 ;* V22 tmp19        [V22    ] (  0,   0   )     ref  ->  zero-ref    "field V10._source (fldOffset=0x0)" P-INDEP
-;  V23 cse0         [V23,T07] (  3, 299.81)   byref  ->   x6         "CSE - aggressive"
-;  V24 cse1         [V24,T08] (  3, 299.81)   byref  ->   x5         "CSE - aggressive"
+;  V23 cse0         [V23,T07] (  3, 299.81)   byref  ->  x22         "CSE - aggressive"
+;  V24 cse1         [V24,T08] (  3, 299.81)   byref  ->  x21         "CSE - aggressive"
 ;  V25 cse2         [V25,T09] (  3, 299.81)   byref  ->   x3         hoist "CSE - aggressive"
-;  V26 cse3         [V26,T10] (  3, 299.49)     int  ->   x7         "CSE - aggressive"
+;  V26 cse3         [V26,T10] (  3, 299.49)     int  ->  x23         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M22719_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x20]!
-            stp     x19, x20, [sp, #0x10]
+            stp     fp, lr, [sp, #-0x40]!
+            stp     x19, x20, [sp, #0x18]
+            stp     x21, x22, [sp, #0x28]
+            str     x23, [sp, #0x38]
             mov     fp, sp
-            ldr     x19, [fp, #0x48]
+            ldr     x19, [fp, #0x68]
             ; gcrRegs +[x19]
-            ldr     w20, [fp, #0x44]
-                       ;; size=20 bbWeight=0.01 PerfScore 0.06
+            ldr     w20, [fp, #0x64]
+                       ;; size=28 bbWeight=0.01 PerfScore 0.08
 G_M22719_IG02:        ; bbWeight=0.01, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
             ldr     w0, [x0, #0x20]
             ; gcrRegs -[x0]
             cmp     w20, w0
-            bge     G_M22719_IG10
+            bge     G_M22719_IG11
                       ;; size=16 bbWeight=0.01 PerfScore 0.07
 G_M22719_IG03:        ; bbWeight=99.99, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ldr     x0, [x19, #0x10]
@@ -75,30 +77,28 @@ G_M22719_IG04:        ; bbWeight=99.99, gcrefRegs=80007 {x0 x1 x2 x19}, byrefReg
             and     w5, w4, w5
             ldr     w6, [x2, #0x08]
             cmp     w5, w6
-            bhs     G_M22719_IG09
+            bhs     G_M22719_IG10
             ubfiz   x5, x5, #3, #32
             add     x5, x5, #16
-            add     x5, x2, x5
-            ; byrRegs +[x5]
-            add     x6, x5, #4
-            ; byrRegs +[x6]
-            ldapr   w7, [x6]
-            sub     w7, w7, w4
-            cbnz    w7, G_M22719_IG06
+            add     x21, x2, x5
+            ; byrRegs +[x21]
+            add     x22, x21, #4
+            ; byrRegs +[x22]
+            ldapr   w5, [x22]
+            sub     w5, w5, w4
+            cbnz    w5, G_M22719_IG06
                       ;; size=52 bbWeight=99.99 PerfScore 1799.82
-G_M22719_IG05:        ; bbWeight=99.83, gcrefRegs=80007 {x0 x1 x2 x19}, byrefRegs=0068 {x3 x5 x6}, byref, isz
-            add     w7, w4, #1
-            mov     w8, w4
-            casal   w8, w7, [x3]
-            cmp     w8, w4
+G_M22719_IG05:        ; bbWeight=99.83, gcrefRegs=80007 {x0 x1 x2 x19}, byrefRegs=600008 {x3 x21 x22}, byref, isz
+            add     w23, w4, #1
+            mov     w5, w4
+            casal   w5, w23, [x3]
+            cmp     w5, w4
             bne     G_M22719_IG04
-            str     wzr, [x5]
-            stlr    w7, [x6]
-            b       G_M22719_IG08
-                       ;; size=32 bbWeight=99.83 PerfScore 848.56
+            b       G_M22719_IG09
+                       ;; size=24 bbWeight=99.83 PerfScore 648.90
 G_M22719_IG06:        ; bbWeight=0.16, gcrefRegs=80007 {x0 x1 x2 x19}, byrefRegs=0008 {x3}, byref, isz
-            ; byrRegs -[x5-x6]
-            tbz     w7, #31, G_M22719_IG04
+            ; byrRegs -[x21-x22]
+            tbz     w5, #31, G_M22719_IG04
                      ;; size=4 bbWeight=0.16 PerfScore 0.16
 G_M22719_IG07:        ; bbWeight=399.96, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x1-x2]
@@ -119,33 +119,42 @@ G_M22719_IG08:        ; bbWeight=99.99, gcrefRegs=80000 {x19}, byrefRegs=0000 {}
             ldr     w0, [x0, #0x20]
             ; gcrRegs -[x0]
             cmp     w20, w0
-            bge     G_M22719_IG10
+            bge     G_M22719_IG11
             b       G_M22719_IG03
                        ;; size=24 bbWeight=99.99 PerfScore 899.91
-G_M22719_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M22719_IG09:        ; bbWeight=99.83, gcrefRegs=80000 {x19}, byrefRegs=600000 {x21 x22}, byref
+            ; byrRegs +[x21-x22]
+            str     wzr, [x21]
+            stlr    w23, [x22]
+            b       G_M22719_IG08
+                       ;; size=12 bbWeight=99.83 PerfScore 299.49
+G_M22719_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
+            ; byrRegs -[x21-x22]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M22719_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+G_M22719_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ldr     x23, [sp, #0x38]
+            ldp     x21, x22, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x40
             add     sp, sp, #48
             ret     lr
-                       ;; size=16 bbWeight=0 PerfScore 0.00
+                      ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 212, prolog size 20, PerfScore 6948.26, instruction count 53, allocated bytes for code 212 (MethodHash=aac5a740) for method System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[int]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
+; Total bytes of code 232, prolog size 28, PerfScore 7048.11, instruction count 58, allocated bytes for code 232 (MethodHash=aac5a740) for method System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[int]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 2
+  Code Words        : 3
   Epilog Count      : 1
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 53 (0x00035) Actual length = 212 (0x0000d4)
+  Function Length   : 58 (0x0003a) Actual length = 232 (0x0000e8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -153,10 +162,13 @@ 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]
-    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    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]!
     03          alloc_s #3 (0x03); sub sp, sp, #48 (0x030)
     E4          end
     E4          end
     E4          end
+    E4          end
 
  
+20 (+9.43%) : 79632.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>cDisplayClass10_0[System.Canon]:b__0():this (Tier1-OSR)
@@ -12,7 +12,7 @@
 ;
 ;  V00 this         [V00,T11] (  5, 201.99)     ref  ->  x19         this class-hnd single-def <System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[System.__Canon]>
 ;  V01 loc0         [V01,T04] (  4, 299.98)     int  ->  x20        
-;  V02 loc1         [V02,T14] (  1,   1   )     ref  ->  [fp+0x40]  ld-addr-op class-hnd tier0-frame <System.__Canon>
+;  V02 loc1         [V02,T14] (  1,   1   )     ref  ->  [fp+0x60]  ld-addr-op class-hnd tier0-frame <System.__Canon>
 ;# V03 OutArgs      [V03    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V04 tmp1         [V04,T00] (  3,1199.88)     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]>
 ;* V05 tmp2         [V05    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Threading.Barrier>
@@ -28,33 +28,35 @@
 ;  V15 tmp12        [V15,T02] (  6, 599.46)     int  ->   x4         "Inline stloc first use temp"
 ;  V16 tmp13        [V16,T06] (  3, 299.97)     int  ->   x5         "Inline stloc first use temp"
 ;* V17 tmp14        [V17    ] (  0,   0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V18 tmp15        [V18,T12] (  3, 200.14)     int  ->   x7         "Inline stloc first use temp"
+;  V18 tmp15        [V18,T12] (  3, 200.14)     int  ->   x5         "Inline stloc first use temp"
 ;* V19 tmp16        [V19    ] (  0,   0   )     ref  ->  zero-ref    "field V06._source (fldOffset=0x0)" P-INDEP
 ;* V20 tmp17        [V20    ] (  0,   0   )     ref  ->  zero-ref    "field V07._source (fldOffset=0x0)" P-INDEP
 ;* V21 tmp18        [V21    ] (  0,   0   )     ref  ->  zero-ref    "field V09._source (fldOffset=0x0)" P-INDEP
 ;* V22 tmp19        [V22    ] (  0,   0   )     ref  ->  zero-ref    "field V10._source (fldOffset=0x0)" P-INDEP
-;  V23 cse0         [V23,T07] (  3, 299.81)   byref  ->   x6         "CSE - aggressive"
-;  V24 cse1         [V24,T08] (  3, 299.81)   byref  ->   x5         "CSE - aggressive"
+;  V23 cse0         [V23,T07] (  3, 299.81)   byref  ->  x22         "CSE - aggressive"
+;  V24 cse1         [V24,T08] (  3, 299.81)   byref  ->  x21         "CSE - aggressive"
 ;  V25 cse2         [V25,T09] (  3, 299.81)   byref  ->   x3         hoist "CSE - aggressive"
-;  V26 cse3         [V26,T10] (  3, 299.49)     int  ->   x7         "CSE - aggressive"
+;  V26 cse3         [V26,T10] (  3, 299.49)     int  ->  x23         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M39530_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x20]!
-            stp     x19, x20, [sp, #0x10]
+            stp     fp, lr, [sp, #-0x40]!
+            stp     x19, x20, [sp, #0x18]
+            stp     x21, x22, [sp, #0x28]
+            str     x23, [sp, #0x38]
             mov     fp, sp
-            ldr     x19, [fp, #0x50]
+            ldr     x19, [fp, #0x70]
             ; gcrRegs +[x19]
-            ldr     w20, [fp, #0x4C]
-                       ;; size=20 bbWeight=0.01 PerfScore 0.06
+            ldr     w20, [fp, #0x6C]
+                       ;; size=28 bbWeight=0.01 PerfScore 0.08
 G_M39530_IG02:        ; bbWeight=0.01, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
             ldr     w0, [x0, #0x20]
             ; gcrRegs -[x0]
             cmp     w20, w0
-            bge     G_M39530_IG10
+            bge     G_M39530_IG11
                       ;; size=16 bbWeight=0.01 PerfScore 0.07
 G_M39530_IG03:        ; bbWeight=99.99, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ldr     x0, [x19, #0x10]
@@ -75,30 +77,28 @@ G_M39530_IG04:        ; bbWeight=99.99, gcrefRegs=80007 {x0 x1 x2 x19}, byrefReg
             and     w5, w4, w5
             ldr     w6, [x2, #0x08]
             cmp     w5, w6
-            bhs     G_M39530_IG09
+            bhs     G_M39530_IG10
             ubfiz   x5, x5, #4, #32
             add     x5, x5, #16
-            add     x5, x2, x5
-            ; byrRegs +[x5]
-            add     x6, x5, #8
-            ; byrRegs +[x6]
-            ldapr   w7, [x6]
-            sub     w7, w7, w4
-            cbnz    w7, G_M39530_IG06
+            add     x21, x2, x5
+            ; byrRegs +[x21]
+            add     x22, x21, #8
+            ; byrRegs +[x22]
+            ldapr   w5, [x22]
+            sub     w5, w5, w4
+            cbnz    w5, G_M39530_IG06
                       ;; size=52 bbWeight=99.99 PerfScore 1799.82
-G_M39530_IG05:        ; bbWeight=99.83, gcrefRegs=80007 {x0 x1 x2 x19}, byrefRegs=0068 {x3 x5 x6}, byref, isz
-            add     w7, w4, #1
-            mov     w8, w4
-            casal   w8, w7, [x3]
-            cmp     w8, w4
+G_M39530_IG05:        ; bbWeight=99.83, gcrefRegs=80007 {x0 x1 x2 x19}, byrefRegs=600008 {x3 x21 x22}, byref, isz
+            add     w23, w4, #1
+            mov     w5, w4
+            casal   w5, w23, [x3]
+            cmp     w5, w4
             bne     G_M39530_IG04
-            str     xzr, [x5]
-            stlr    w7, [x6]
-            b       G_M39530_IG08
-                       ;; size=32 bbWeight=99.83 PerfScore 848.57
+            b       G_M39530_IG09
+                       ;; size=24 bbWeight=99.83 PerfScore 648.90
 G_M39530_IG06:        ; bbWeight=0.16, gcrefRegs=80007 {x0 x1 x2 x19}, byrefRegs=0008 {x3}, byref, isz
-            ; byrRegs -[x5-x6]
-            tbz     w7, #31, G_M39530_IG04
+            ; byrRegs -[x21-x22]
+            tbz     w5, #31, G_M39530_IG04
                      ;; size=4 bbWeight=0.16 PerfScore 0.16
 G_M39530_IG07:        ; bbWeight=399.96, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x1-x2]
@@ -119,33 +119,42 @@ G_M39530_IG08:        ; bbWeight=99.99, gcrefRegs=80000 {x19}, byrefRegs=0000 {}
             ldr     w0, [x0, #0x20]
             ; gcrRegs -[x0]
             cmp     w20, w0
-            bge     G_M39530_IG10
+            bge     G_M39530_IG11
             b       G_M39530_IG03
                        ;; size=24 bbWeight=99.99 PerfScore 899.91
-G_M39530_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M39530_IG09:        ; bbWeight=99.83, gcrefRegs=80000 {x19}, byrefRegs=600000 {x21 x22}, byref
+            ; byrRegs +[x21-x22]
+            str     xzr, [x21]
+            stlr    w23, [x22]
+            b       G_M39530_IG08
+                       ;; size=12 bbWeight=99.83 PerfScore 299.49
+G_M39530_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
+            ; byrRegs -[x21-x22]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M39530_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+G_M39530_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ldr     x23, [sp, #0x38]
+            ldp     x21, x22, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x40
             add     sp, sp, #64
             ret     lr
-                       ;; size=16 bbWeight=0 PerfScore 0.00
+                      ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 212, prolog size 20, PerfScore 6948.26, instruction count 53, allocated bytes for code 212 (MethodHash=64006595) for method System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[System.__Canon]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
+; Total bytes of code 232, prolog size 28, PerfScore 7048.11, instruction count 58, allocated bytes for code 232 (MethodHash=64006595) for method System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[System.__Canon]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 2
+  Code Words        : 3
   Epilog Count      : 1
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 53 (0x00035) Actual length = 212 (0x0000d4)
+  Function Length   : 58 (0x0003a) Actual length = 232 (0x0000e8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -153,10 +162,13 @@ 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]
-    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    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]!
     04          alloc_s #4 (0x04); sub sp, sp, #64 (0x040)
     E4          end
     E4          end
     E4          end
+    E4          end
 
  
  
benchmarks.run_tiered.windows.arm64.checked.mch
-24 (-1.10%) : 44573.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan1[ushort],System.ReadOnlySpan1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
@@ -30,8 +30,8 @@
 ;* V19 loc15        [V19    ] (  0,   0   )   ubyte  ->  zero-ref   
 ;* V20 loc16        [V20    ] (  0,   0   )  struct (16) zero-ref    <System.Span`1[int]>
 ;  V21 loc17        [V21,T28] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
-;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x13        
-;  V23 loc19        [V23,T01] (  7,1344   )     int  ->   x1        
+;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x14        
+;  V23 loc19        [V23,T01] (  7,1344   )     int  ->  x13        
 ;  V24 loc20        [V24,T02] (  3, 832   )     int  ->   x0        
 ;# V25 OutArgs      [V25    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V26 tmp1         [V26    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
@@ -40,15 +40,15 @@
 ;  V29 tmp4         [V29,T12] (  4, 256   )     int  ->   x7         "impSpillLclRefs"
 ;  V30 tmp5         [V30,T13] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V31 tmp6         [V31,T15] (  2, 256   )     int  ->  x10         "dup spill"
-;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x0         "impSpillLclRefs"
+;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V33 tmp8         [V33,T49] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
 ;* V34 tmp9         [V34    ] (  0,   0   )     int  ->  zero-ref    ptr
 ;  V35 tmp10        [V35,T37] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V36 tmp11        [V36,T38] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
 ;  V37 tmp12        [V37,T34] (  5,  80   )     int  ->  x13         "dup spill"
 ;  V38 tmp13        [V38,T39] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
-;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x1         "impSpillLclRefs"
-;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x1         "impSpillLclRefs"
+;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
+;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V41 tmp16        [V41,T30] (  3,  96   )     int  ->   x1        
 ;  V42 tmp17        [V42,T52] (  4,  16   )     int  ->  x25         "impSpillLclRefs"
 ;* V43 tmp18        [V43    ] (  0,   0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
@@ -310,10 +310,10 @@ G_M9731_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     x23, [fp, #-0x78]  // [V01 arg1]
             ; byrRegs +[x23]
             ldr     w24, [fp, #-0x70]  // [V01 arg1+0x08]
-            cbz     w22, G_M9731_IG68
+            cbz     w22, G_M9731_IG69
                         ;; size=20 bbWeight=1 PerfScore 9.00
 G_M9731_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref, isz
-            cbz     w24, G_M9731_IG68
+            cbz     w24, G_M9731_IG69
             ldrh    w0, [x21]
             cmp     w0, #42
             bne     G_M9731_IG08
@@ -393,7 +393,7 @@ G_M9731_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2A00000 {x21
 G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23 x25}, byref, isz
             ; byrRegs -[x21]
             cmp     w24, w26
-            blt     G_M9731_IG68
+            blt     G_M9731_IG69
             mov     x0, x23
             ; byrRegs +[x0]
             sxtw    w1, w24
@@ -410,7 +410,7 @@ G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23
             blr     x5
             ; byrRegs -[x0 x2 x23 x25]
             ; gcr arg pop 0
-            b       G_M9731_IG63
+            b       G_M9731_IG64
                         ;; size=60 bbWeight=0.50 PerfScore 5.75
 G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref
             ; byrRegs +[x21 x23]
@@ -437,7 +437,7 @@ G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21
             add     w1, w25, #1
             sxtw    w27, w1
             cmp     w25, w24
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldrh    w1, [x23, w25, UXTW #2]
             sxtw    w25, w1
             b       G_M9731_IG12
@@ -445,7 +445,7 @@ G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21
 G_M9731_IG11:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
             sub     w6, w26, #1
             cmp     w6, w4
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldr     w1, [x3, w6, UXTW #2]
             cmp     w1, w5
             beq     G_M9731_IG21
@@ -469,7 +469,7 @@ G_M9731_IG13:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x2
             str     w0, [fp, #-0x80]   // [V06 loc2]
             str     w4, [fp, #-0xC8]   // [V182 tmp157]
             cmp     w1, w4
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             str     x3, [fp, #-0xD8] // [V181 tmp156]
             ; GC ptr vars +{V181}
             ldr     w1, [x3, w1, UXTW #2]
@@ -477,14 +477,14 @@ G_M9731_IG13:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x2
             add     w1, w1, w1,  LSR #31
             asr     w10, w1, #1
             cmp     w10, w22
-            bge     G_M9731_IG51
+            bge     G_M9731_IG52
                        ;; size=48 bbWeight=16 PerfScore 192.00
 G_M9731_IG14:        ; bbWeight=64, gcVars=00000000000000000000000000000200 {V181}, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, gcvars, byref, isz
             ; byrRegs -[x3]
             lsl     w11, w10, #1
             str     w11, [fp, #-0x94]  // [V16 loc12]
             cmp     w10, w22
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             str     w10, [fp, #-0x7C]  // [V05 loc1]
             ldrh    w13, [x21, w10, UXTW #2]
             str     w13, [fp, #-0x8C]  // [V11 loc7]
@@ -513,7 +513,7 @@ G_M9731_IG15:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             str     w4, [fp, #-0xCC]   // [V244 tmp219]
             ldr     w5, [fp, #-0xC4]   // [V180 tmp155]
             cmp     w5, w4
-            bhi     G_M9731_IG71
+            bhi     G_M9731_IG72
             mov     w2, w5
             lsl     x2, x2, #2
             mov     x0, x3
@@ -548,7 +548,7 @@ G_M9731_IG15:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             str     w4, [fp, #-0xD0]   // [V248 tmp223]
             ldr     w5, [fp, #-0xC8]   // [V182 tmp157]
             cmp     w5, w4
-            bhi     G_M9731_IG71
+            bhi     G_M9731_IG72
             mov     w2, w5
             lsl     x2, x2, #2
             mov     x0, x3
@@ -579,29 +579,29 @@ G_M9731_IG16:        ; bbWeight=64, gcVars=00000000000000000000000000000200 {V18
             ; GC ptr vars -{V247}
             ldr     w13, [fp, #-0x8C]  // [V11 loc7]
             cmp     w13, #42
-            beq     G_M9731_IG28
+            beq     G_M9731_IG30
                        ;; size=12 bbWeight=64 PerfScore 224.00
 G_M9731_IG17:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             tst     w19, #255
             beq     G_M9731_IG26
             cmp     w13, #60
             bne     G_M9731_IG26
-            mov     w13, wzr
+            mov     w14, wzr
             cbnz    w6, G_M9731_IG24
             cmp     w25, #46
             bne     G_M9731_IG23
-            sxtw    w1, w27
-            cmp     w1, w24
+            sxtw    w13, w27
+            cmp     w13, w24
             bge     G_M9731_IG23
                        ;; size=44 bbWeight=32 PerfScore 256.00
 G_M9731_IG18:        ; bbWeight=256, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            cmp     w1, w24
-            bhs     G_M9731_IG70
-            ldrh    w0, [x23, w1, UXTW #2]
-            cmp     w0, #46
+            cmp     w13, w24
+            bhs     G_M9731_IG71
+            ldrh    w1, [x23, w13, UXTW #2]
+            cmp     w1, #46
             beq     G_M9731_IG22
-            add     w1, w1, #1
-            cmp     w1, w24
+            add     w13, w13, #1
+            cmp     w13, w24
             blt     G_M9731_IG18
                        ;; size=32 bbWeight=256 PerfScore 2048.00
 G_M9731_IG19:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
@@ -612,18 +612,18 @@ G_M9731_IG20:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, g
             ; GC ptr vars -{V181}
             str     x3, [fp, #-0xD8]   // [V181 tmp156]
             ; GC ptr vars +{V181}
-            b       G_M9731_IG61
+            b       G_M9731_IG62
                       ;; size=8 bbWeight=2 PerfScore 4.00
 G_M9731_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref
             ; byrRegs -[x21 x23 x28]
             ; GC ptr vars -{V181}
             ldr     w5, [fp, #-0x90]   // [V15 loc11]
-            b       G_M9731_IG62
+            b       G_M9731_IG63
                       ;; size=8 bbWeight=1 PerfScore 3.00
 G_M9731_IG22:        ; bbWeight=32, gcVars=00000000000000000000000000000200 {V181}, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, gcvars, byref
             ; byrRegs -[x3] +[x21 x23 x28]
             ; GC ptr vars +{V09 V181}
-            mov     w13, #1
+            mov     w14, #1
                         ;; size=4 bbWeight=32 PerfScore 16.00
 G_M9731_IG23:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
             cmp     w25, #46
@@ -634,174 +634,170 @@ G_M9731_IG24:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             mov     w1, #1
                        ;; size=4 bbWeight=32 PerfScore 16.00
 G_M9731_IG25:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            orr     w1, w1, w13
-            cbz     w1, G_M9731_IG29
-            b       G_M9731_IG28
+            orr     w1, w1, w14
+            cbz     w1, G_M9731_IG31
+            b       G_M9731_IG30
                        ;; size=12 bbWeight=32 PerfScore 80.00
 G_M9731_IG26:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w11, [fp, #-0x94]  // [V16 loc12]
             add     w11, w11, #2
             tst     w19, #255
-            beq     G_M9731_IG37
+            beq     G_M9731_IG38
             cmp     w13, #62
-            bne     G_M9731_IG27
-            cbnz    w6, G_M9731_IG30
+            bne     G_M9731_IG28
+            cbnz    w6, G_M9731_IG32
             cmp     w25, #46
-            beq     G_M9731_IG30
-            b       G_M9731_IG34
-                       ;; size=40 bbWeight=32 PerfScore 288.00
-G_M9731_IG27:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            cmp     w13, #34
-            bne     G_M9731_IG37
-            cbnz    w6, G_M9731_IG30
-            b       G_M9731_IG35
-                       ;; size=16 bbWeight=32 PerfScore 112.00
+            beq     G_M9731_IG32
+                       ;; size=36 bbWeight=32 PerfScore 256.00
+G_M9731_IG27:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
+            b       G_M9731_IG36
+                       ;; size=4 bbWeight=8 PerfScore 8.00
 G_M9731_IG28:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
+            cmp     w13, #34
+            bne     G_M9731_IG38
+            cbnz    w6, G_M9731_IG32
+                       ;; size=12 bbWeight=32 PerfScore 80.00
+G_M9731_IG29:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
+            b       G_M9731_IG37
+                       ;; size=4 bbWeight=8 PerfScore 8.00
+G_M9731_IG30:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w7, [fp, #-0x84]    // [V07 loc3]
             add     w13, w7, #1
             cmp     w7, w2
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldr     w11, [fp, #-0x94]    // [V16 loc12]
             str     w11, [x28, w7, UXTW #2]
             str     w13, [fp, #-0x84]  // [V07 loc3]
             str     w11, [fp, #-0x94]  // [V16 loc12]
                        ;; size=32 bbWeight=32 PerfScore 288.00
-G_M9731_IG29:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
+G_M9731_IG31:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w7, [fp, #-0x84]   // [V07 loc3]
             sxtw    w1, w7
             add     w7, w1, #1
             cmp     w1, w2
-            bhs     G_M9731_IG70
+            bhs     G_M9731_IG71
             ldr     w11, [fp, #-0x94]    // [V16 loc12]
...
  
-4 (-0.41%) : 39139.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
@@ -67,7 +67,7 @@
 ;  V56 cse0         [V56,T16] (  3, 12   )    long  ->   x8         "CSE - aggressive"
 ;  V57 cse1         [V57,T09] (  2, 16   )     int  ->   x3         "CSE - aggressive"
 ;  V58 cse2         [V58,T17] (  3, 12   )    long  ->   x1         "CSE - aggressive"
-;  V59 cse3         [V59,T18] (  3, 10   )    long  ->   x3         "CSE - aggressive"
+;  V59 cse3         [V59,T18] (  3, 10   )    long  ->   x0         "CSE - aggressive"
 ;  V60 rat0         [V60,T28] (  3, 96   )  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 168
@@ -287,23 +287,22 @@ G_M52237_IG17:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
 G_M52237_IG18:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x20]
             ldr     x1, [x20]
-            movz    x3, #0xD1FFAB1E
-            movk    x3, #0xD1FFAB1E LSL #16
-            movk    x3, #0xD1FFAB1E LSL #32
-            cmp     x1, x3
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            cmp     x1, x0
             beq     G_M52237_IG20
                        ;; size=24 bbWeight=4 PerfScore 24.00
 G_M52237_IG19:        ; bbWeight=2, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             mov     x1, x20
             ; gcrRegs +[x1]
-            mov     x0, x3
             bl      CORINFO_HELP_UNBOX
             ; gcrRegs -[x1]
             ; gcr arg pop 0
-                      ;; size=12 bbWeight=2 PerfScore 4.00
+                      ;; size=8 bbWeight=2 PerfScore 3.00
 G_M52237_IG20:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
-            ldrb    w1, [x20, #0x08]
-            str     w1, [fp, #0x7C]    // [V09 loc5]
+            ldrb    w0, [x20, #0x08]
+            str     w0, [fp, #0x7C]    // [V09 loc5]
                        ;; size=8 bbWeight=4 PerfScore 16.00
 G_M52237_IG21:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x19-x20]
@@ -474,7 +473,7 @@ RWD00   dq  0070004F00730049h, 006E006F00690074h
 RWD16      dq  006900740070004Fh, 006C0061006E006Fh
 
 
-; Total bytes of code 976, prolog size 60, PerfScore 1437.50, instruction count 244, allocated bytes for code 976 (MethodHash=9e6933f2) for method Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
+; Total bytes of code 972, prolog size 60, PerfScore 1436.50, instruction count 243, allocated bytes for code 972 (MethodHash=9e6933f2) for method Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -485,7 +484,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 198 (0x000c6) Actual length = 792 (0x000318)
+  Function Length   : 197 (0x000c5) Actual length = 788 (0x000314)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-0.32%) : 48572.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
@@ -472,16 +472,15 @@ G_M40395_IG34:        ; bbWeight=0.50, gcrefRegs=80001 {x0 x19}, byrefRegs=0000
             ldr     x2, [x0, #0x08]
             ; gcrRegs +[x2]
             cbnz    x2, G_M40395_IG10
-            ldr     x0, [fp, #0x10] // [V00 this]
             ldr     x2, [x0, #0x10]
             cbz     x2, G_M40395_IG10
             add     w21, w1, #1
             b       G_M40395_IG11
-                        ;; size=28 bbWeight=0.50 PerfScore 5.75
+                       ;; size=24 bbWeight=0.50 PerfScore 4.75
 G_M40395_IG35:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0 x2]
-            ldrb    w1, [fp, #0x18]    // [V03 loc2]
-            cbz     w1, G_M40395_IG37
+            ldrb    w0, [fp, #0x18] // [V03 loc2]
+            cbz     w0, G_M40395_IG37
                       ;; size=8 bbWeight=1 PerfScore 3.00
 G_M40395_IG36:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ldr     x0, [fp, #0x10]    // [V00 this]
@@ -546,7 +545,7 @@ G_M40395_IG42:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1240, prolog size 40, PerfScore 544.25, instruction count 310, allocated bytes for code 1240 (MethodHash=a3f86234) for method System.Threading.TimerQueue:FireNextTimers():this (Tier1)
+; Total bytes of code 1236, prolog size 40, PerfScore 543.25, instruction count 309, allocated bytes for code 1236 (MethodHash=a3f86234) for method System.Threading.TimerQueue:FireNextTimers():this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -557,7 +556,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 291 (0x00123) Actual length = 1164 (0x00048c)
+  Function Length   : 290 (0x00122) Actual length = 1160 (0x000488)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+12 (+1.16%) : 43302.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (Tier1)
@@ -28,9 +28,9 @@
 ;* V17 tmp7         [V17    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V18 tmp8         [V18    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]>
 ;* V19 tmp9         [V19    ] (  0,  0   )  struct ( 8) zero-ref    <System.Nullable`1[ubyte]>
-;  V20 tmp10        [V20,T43] (  2,  0   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Net.Security.SafeFreeCredentials>
-;  V21 tmp11        [V21,T44] (  2,  0   )     ref  ->   x1         class-hnd exact "impAppendStmt" <System.Net.Security.SafeDeleteSslContext>
-;  V22 tmp12        [V22,T45] (  2,  0   )     ref  ->   x2         class-hnd exact "impAppendStmt" <System.Net.Security.SslAuthenticationOptions>
+;  V20 tmp10        [V20,T43] (  2,  0   )     ref  ->   x1         class-hnd "impAppendStmt" <System.Net.Security.SafeFreeCredentials>
+;  V21 tmp11        [V21,T44] (  2,  0   )     ref  ->   x2         class-hnd exact "impAppendStmt" <System.Net.Security.SafeDeleteSslContext>
+;  V22 tmp12        [V22,T45] (  2,  0   )     ref  ->   x5         class-hnd exact "impAppendStmt" <System.Net.Security.SslAuthenticationOptions>
 ;* V23 tmp13        [V23    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;* V24 tmp14        [V24    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
 ;* V25 tmp15        [V25    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
@@ -251,13 +251,13 @@ G_M15651_IG14:        ; bbWeight=1, gcrefRegs=400000 {x22}, byrefRegs=0000 {}, b
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M15651_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0 x22]
-            ldr     x22, [fp, #0x28]  // [V00 this]
-            ; gcrRegs +[x22]
-            ldp     x0, x1, [x22, #0x48]
-            ; gcrRegs +[x0-x1]
-            ldr     x2, [x22, #0x38]
-            ; gcrRegs +[x2]
-            ldr     x3, [x22, #0xB8]
+            ldr     x0, [fp, #0x28]  // [V00 this]
+            ; gcrRegs +[x0]
+            ldp     x1, x2, [x0, #0x48]
+            ; gcrRegs +[x1-x2]
+            ldr     x5, [x0, #0x38]
+            ; gcrRegs +[x5]
+            ldr     x3, [x0, #0xB8]
             ; gcrRegs +[x3]
             cbnz    x3, G_M15651_IG16
             mov     x3, xzr
@@ -266,21 +266,26 @@ G_M15651_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mov     w4, wzr
             b       G_M15651_IG17
                        ;; size=32 bbWeight=0 PerfScore 0.00
-G_M15651_IG16:        ; bbWeight=0, gcrefRegs=40000F {x0 x1 x2 x3 x22}, byrefRegs=0000 {}, byref
-            ; gcrRegs +[x3]
+G_M15651_IG16:        ; bbWeight=0, gcrefRegs=002E {x1 x2 x3 x5}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0] +[x3]
             ; byrRegs -[x3]
             add     x4, x3, #16
             ; byrRegs +[x4]
             ldr     w3, [x3, #0x08]
             ; gcrRegs -[x3]
-            sxtw    w5, w3
+            sxtw    w6, w3
             mov     x3, x4
             ; byrRegs +[x3]
-            mov     w4, w5
+            mov     w4, w6
             ; byrRegs -[x4]
                        ;; size=20 bbWeight=0 PerfScore 0.00
-G_M15651_IG17:        ; bbWeight=0, gcrefRegs=400007 {x0 x1 x2 x22}, byrefRegs=0008 {x3}, byref
+G_M15651_IG17:        ; bbWeight=0, gcrefRegs=0026 {x1 x2 x5}, byrefRegs=0008 {x3}, byref
+            mov     x0, x1
+            ; gcrRegs +[x0]
+            mov     x1, x2
+            mov     x2, x5
             movz    x5, #0xD1FFAB1E      // code for System.Net.Security.SslStreamPal:SelectApplicationProtocol(System.Net.Security.SafeFreeCredentials,System.Net.Security.SafeDeleteSslContext,System.Net.Security.SslAuthenticationOptions,System.ReadOnlySpan`1[ubyte]):System.Net.SecurityStatusPal
+            ; gcrRegs -[x5]
             movk    x5, #0xD1FFAB1E LSL #16
             movk    x5, #0xD1FFAB1E LSL #32
             ldr     x5, [x5]
@@ -290,9 +295,9 @@ G_M15651_IG17:        ; bbWeight=0, gcrefRegs=400007 {x0 x1 x2 x22}, byrefRegs=0
             ; gcr arg pop 0
             str     x0, [fp, #0x48]    // [V06 loc3+0x10]
             str     w1, [fp, #0x50]    // [V06 loc3+0x18]
-                        ;; size=28 bbWeight=0 PerfScore 0.00
+                      ;; size=40 bbWeight=0 PerfScore 0.00
 G_M15651_IG18:        ; bbWeight=4, gcrefRegs=0010 {x4}, byrefRegs=80000 {x19}, byref, isz
-            ; gcrRegs -[x0 x22] +[x4]
+            ; gcrRegs -[x0] +[x4]
             ; byrRegs +[x19]
             ldr     x0, [x4, #0x08]
             ; gcrRegs +[x0]
@@ -547,7 +552,7 @@ G_M15651_IG29:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=20 bbWeight=1 PerfScore 13.00
 
-; Total bytes of code 1036, prolog size 56, PerfScore 998.00, instruction count 259, allocated bytes for code 1036 (MethodHash=4b4ec2dc) for method System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (Tier1)
+; Total bytes of code 1048, prolog size 56, PerfScore 998.00, instruction count 262, allocated bytes for code 1048 (MethodHash=4b4ec2dc) for method System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -558,7 +563,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 200 (0x000c8) Actual length = 800 (0x000320)
+  Function Length   : 203 (0x000cb) Actual length = 812 (0x00032c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+16 (+2.07%) : 44289.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
@@ -10,307 +10,307 @@
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <BenchmarksGame.FannkuchRedux_2>
 ;  V01 arg1         [V01,T15] ( 13, 66   )     int  ->   x1         single-def
-;  V02 loc0         [V02,T10] ( 17, 96.05)     ref  ->   x0         class-hnd exact <int[]>
+;  V02 loc0         [V02,T10] ( 17, 96.05)     ref  ->   x2         class-hnd exact <int[]>
 ;  V03 loc1         [V03,T34] (  5,  3.05)     ref  ->   x7         class-hnd exact <int[]>
-;  V04 loc2         [V04,T25] (  6, 20.73)     ref  ->   x5         class-hnd exact <int[]>
-;  V05 loc3         [V05,T24] (  4, 21   )     int  ->   x4        
+;  V04 loc2         [V04,T25] (  6, 20.73)     ref  ->   x6         class-hnd exact <int[]>
+;  V05 loc3         [V05,T24] (  4, 21   )     int  ->   x5        
 ;  V06 loc4         [V06,T38] (  3,  2.50)     int  ->  x20        
 ;  V07 loc5         [V07,T35] (  3,  3   )     int  ->  x19        
-;  V08 loc6         [V08,T16] (  2, 64   )     int  ->   x2        
+;  V08 loc6         [V08,T16] (  2, 64   )     int  ->   x3        
 ;* V09 loc7         [V09    ] (  0,  0   )     int  ->  zero-ref   
-;  V10 loc8         [V10,T21] (  9, 38   )     int  ->   x3        
-;  V11 loc9         [V11,T31] (  6, 11.50)     int  ->   x6        
-;  V12 loc10        [V12,T27] ( 13, 18.58)     int  ->   x6        
-;  V13 loc11        [V13,T26] (  3, 20   )     int  ->  x11        
-;  V14 loc12        [V14,T11] (  6, 82   )     int  ->  x14        
-;  V15 loc13        [V15,T12] (  6, 82   )     int  ->   x3        
-;  V16 loc14        [V16,T22] (  2, 32   )     int  ->  x15        
-;  V17 loc15        [V17,T33] (  2,  8   )     int  ->   x4        
-;  V18 loc16        [V18,T14] (  6, 80   )     int  ->   x6        
-;  V19 loc17        [V19,T00] ( 23,376.88)     int  ->  x13        
-;  V20 loc18        [V20,T07] (  5,132   )     int  ->   x6        
-;  V21 loc19        [V21,T01] ( 16,289.27)     int  ->   x3        
+;  V10 loc8         [V10,T21] (  9, 38   )     int  ->   x4        
+;  V11 loc9         [V11,T31] (  6, 11.50)     int  ->   x0        
+;  V12 loc10        [V12,T27] ( 13, 18.58)     int  ->   x0        
+;  V13 loc11        [V13,T26] (  3, 20   )     int  ->   x8        
+;  V14 loc12        [V14,T11] (  6, 82   )     int  ->   x9        
+;  V15 loc13        [V15,T12] (  6, 82   )     int  ->   x4        
+;  V16 loc14        [V16,T22] (  2, 32   )     int  ->  x13        
+;  V17 loc15        [V17,T33] (  2,  8   )     int  ->   x5        
+;  V18 loc16        [V18,T14] (  6, 80   )     int  ->  x25        
+;  V19 loc17        [V19,T00] ( 23,376.88)     int  ->  x26        
+;  V20 loc18        [V20,T07] (  5,132   )     int  ->   x4        
+;  V21 loc19        [V21,T01] ( 16,289.27)     int  ->   x0        
 ;# V22 OutArgs      [V22    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V23 tmp1         [V23,T23] (  2, 32   )     int  ->   x4         "Strict ordering of exceptions for Array store"
-;  V24 tmp2         [V24,T02] (  6,256.00)     int  ->  x12         "Strict ordering of exceptions for Array store"
+;  V23 tmp1         [V23,T23] (  2, 32   )     int  ->   x5         "Strict ordering of exceptions for Array store"
+;  V24 tmp2         [V24,T02] (  6,256.00)     int  ->   x8         "Strict ordering of exceptions for Array store"
 ;  V25 tmp3         [V25,T32] (  4,  8   )     ref  ->   x0         class-hnd exact single-def "dup spill" <int[]>
-;  V26 tmp4         [V26,T29] (  2, 16   )     int  ->  x11         "Strict ordering of exceptions for Array store"
-;  V27 tmp5         [V27,T28] (  4, 16   )     int  ->  x14         "Strict ordering of exceptions for Array store"
-;  V28 tmp6         [V28,T17] (  2, 64   )     int  ->  x21         "Strict ordering of exceptions for Array store"
-;  V29 cse0         [V29,T05] (  3,158.40)    long  ->   x3         "CSE - aggressive"
-;  V30 cse1         [V30,T18] (  3, 48   )    long  ->  x12         "CSE - aggressive"
-;  V31 cse2         [V31,T19] (  3, 48   )    long  ->  xip0         "CSE - aggressive"
-;  V32 cse3         [V32,T30] (  3, 11.88)    long  ->  x11         "CSE - moderate"
-;  V33 cse4         [V33,T40] (  3,  0.12)    long  ->  x11         "CSE - conservative"
-;  V34 cse5         [V34,T06] ( 17,139.27)     int  ->  x11         multi-def "CSE - aggressive"
-;  V35 cse6         [V35,T04] ( 11,164.01)   byref  ->   x9         hoist "CSE - aggressive"
-;  V36 cse7         [V36,T03] (  4,250.91)     int  ->  x14         "CSE - aggressive"
-;  V37 cse8         [V37,T09] (  6,100.01)   byref  ->   x8         hoist "CSE - aggressive"
-;  V38 cse9         [V38,T13] (  9, 80.01)   byref  ->  x10         hoist "CSE - aggressive"
-;  V39 cse10        [V39,T20] (  8, 43.08)     int  ->  x13         hoist multi-def "CSE - aggressive"
-;  V40 cse11        [V40,T08] (  4,126.72)     int  ->  x13         "CSE - aggressive"
-;  V41 cse12        [V41,T36] (  4,  2.56)     int  ->  x14         "CSE - moderate"
-;  V42 cse13        [V42,T37] (  4,  2.53)     int  ->  x14         "CSE - moderate"
-;  V43 cse14        [V43,T39] (  4,  1.28)     int  ->  x13         "CSE - moderate"
+;  V26 tmp4         [V26,T29] (  2, 16   )     int  ->   x4         "Strict ordering of exceptions for Array store"
+;  V27 tmp5         [V27,T28] (  4, 16   )     int  ->   x9         "Strict ordering of exceptions for Array store"
+;  V28 tmp6         [V28,T17] (  2, 64   )     int  ->  x12         "Strict ordering of exceptions for Array store"
+;  V29 cse0         [V29,T05] (  3,158.40)    long  ->   x0         "CSE - aggressive"
+;  V30 cse1         [V30,T18] (  3, 48   )    long  ->  x11         "CSE - aggressive"
+;  V31 cse2         [V31,T19] (  3, 48   )    long  ->  x14         "CSE - aggressive"
+;  V32 cse3         [V32,T30] (  3, 11.88)    long  ->   x8         "CSE - moderate"
+;  V33 cse4         [V33,T40] (  3,  0.12)    long  ->   x8         "CSE - conservative"
+;  V34 cse5         [V34,T06] ( 17,139.27)     int  ->  x24         multi-def "CSE - aggressive"
+;  V35 cse6         [V35,T04] ( 11,164.01)   byref  ->  x22         hoist "CSE - aggressive"
+;  V36 cse7         [V36,T03] (  4,250.91)     int  ->   x4         "CSE - aggressive"
+;  V37 cse8         [V37,T09] (  6,100.01)   byref  ->  x21         hoist "CSE - aggressive"
+;  V38 cse9         [V38,T13] (  9, 80.01)   byref  ->  x23         hoist "CSE - aggressive"
+;  V39 cse10        [V39,T20] (  8, 43.08)     int  ->  registers   hoist multi-def "CSE - aggressive"
+;  V40 cse11        [V40,T08] (  4,126.72)     int  ->  x26         "CSE - aggressive"
+;  V41 cse12        [V41,T36] (  4,  2.56)     int  ->   x4         "CSE - moderate"
+;  V42 cse13        [V42,T37] (  4,  2.53)     int  ->   x4         "CSE - moderate"
+;  V43 cse14        [V43,T39] (  4,  1.28)     int  ->  x26         "CSE - moderate"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M61974_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x50]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
+            stp     x23, x24, [sp, #0x30]
+            stp     x25, x26, [sp, #0x40]
             mov     fp, sp
-            ldr     w1, [fp, #0xD4]
-            ldp     x7, x0, [fp, #0xC0]
-            ; gcrRegs +[x0 x7]
-            ldr     x5, [fp, #0xB8]
-            ; gcrRegs +[x5]
-            ldp     w20, w4, [fp, #0xB0]
-            ldp     w2, w19, [fp, #0xA8]
-            ldr     w3, [fp, #0xA0]
-            ldr     w6, [fp, #0x98]
-                       ;; size=44 bbWeight=0.01 PerfScore 0.18
-G_M61974_IG02:        ; bbWeight=0.01, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0000 {}, byref
-            add     x8, x5, #16
-            ; byrRegs +[x8]
-            add     x9, x0, #16
-            ; byrRegs +[x9]
-            add     x10, x7, #16
-            ; byrRegs +[x10]
-            b       G_M61974_IG23
+            ldr     w1, [fp, #0xF4]
+            ldp     x7, x2, [fp, #0xE0]
+            ; gcrRegs +[x2 x7]
+            ldr     x6, [fp, #0xD8]
+            ; gcrRegs +[x6]
+            ldp     w20, w5, [fp, #0xD0]
+            ldp     w3, w19, [fp, #0xC8]
+            ldr     w4, [fp, #0xC0]
+            ldr     w0, [fp, #0xB8]
+                       ;; size=52 bbWeight=0.01 PerfScore 0.20
+G_M61974_IG02:        ; bbWeight=0.01, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=0000 {}, byref
+            add     x21, x6, #16
+            ; byrRegs +[x21]
+            add     x22, x2, #16
+            ; byrRegs +[x22]
+            add     x23, x7, #16
+            ; byrRegs +[x23]
+            b       G_M61974_IG22
                       ;; size=16 bbWeight=0.01 PerfScore 0.03
-G_M61974_IG03:        ; bbWeight=2, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            ldr     w3, [x0, #0x10]
-            cbnz    w3, G_M61974_IG22
+G_M61974_IG03:        ; bbWeight=2, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            ldr     w4, [x2, #0x10]
+            cbnz    w4, G_M61974_IG21
                       ;; size=8 bbWeight=2 PerfScore 8.00
-G_M61974_IG04:        ; bbWeight=8, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            cmp     w4, #1
+G_M61974_IG04:        ; bbWeight=8, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            cmp     w5, #1
             bne     G_M61974_IG06
                        ;; size=8 bbWeight=8 PerfScore 12.00
-G_M61974_IG05:        ; bbWeight=4, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            ldr     w11, [x0, #0x08]
-            cmp     w11, #1
-            bls     G_M61974_IG37
-            ldp     w11, w4, [x0, #0x10]
-            stp     w4, w11, [x0, #0x10]
-            movn    w4, #0
+G_M61974_IG05:        ; bbWeight=4, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            ldr     w24, [x2, #0x08]
+            cmp     w24, #1
+            bls     G_M61974_IG36
+            ldp     w4, w5, [x2, #0x10]
+            stp     w5, w4, [x2, #0x10]
+            movn    w5, #0
             b       G_M61974_IG03
                        ;; size=28 bbWeight=4 PerfScore 40.00
-G_M61974_IG06:        ; bbWeight=8, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            ldr     w11, [x0, #0x08]
-            cmp     w11, #1
-            bls     G_M61974_IG37
-            ldr     w6, [x0, #0x14]
-            cmp     w11, #2
-            bls     G_M61974_IG37
-            ldr     w4, [x0, #0x18]
-            stp     w4, w6, [x0, #0x14]
-            mov     w4, #1
-            mov     w13, #2
+G_M61974_IG06:        ; bbWeight=8, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            ldr     w24, [x2, #0x08]
+            cmp     w24, #1
+            bls     G_M61974_IG36
+            ldr     w25, [x2, #0x14]
+            cmp     w24, #2
+            bls     G_M61974_IG36
+            ldr     w5, [x2, #0x18]
+            stp     w5, w25, [x2, #0x14]
+            mov     w5, #1
+            mov     w26, #2
             cmp     w1, #2
             ble     G_M61974_IG03
-            cbz     x5, G_M61974_IG15
+            cbz     x6, G_M61974_IG15
             tbnz    w1, #31, G_M61974_IG15
-            ldr     w6, [x5, #0x08]
-            cmp     w6, w1
+            ldr     w4, [x6, #0x08]
+            cmp     w4, w1
             blt     G_M61974_IG15
                        ;; size=68 bbWeight=8 PerfScore 176.00
-G_M61974_IG07:        ; bbWeight=63.36, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            ubfiz   x3, x13, #2, #32
-            ldr     w6, [x8, x3]
-            cbnz    w6, G_M61974_IG21
-            cmp     w13, w2
-            beq     G_M61974_IG35
+G_M61974_IG07:        ; bbWeight=63.36, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            ubfiz   x0, x26, #2, #32
+            ldr     w4, [x21, x0]
+            cbnz    w4, G_M61974_IG20
+            cmp     w26, w3
+            beq     G_M61974_IG34
                       ;; size=20 bbWeight=63.36 PerfScore 411.84
-G_M61974_IG08:        ; bbWeight=31.68, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            str     w13, [x8, x3]
-            ldr     w6, [x0, #0x10]
-            mov     w3, wzr
-            tbnz    w13, #31, G_M61974_IG13
+G_M61974_IG08:        ; bbWeight=31.68, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            str     w26, [x21, x0]
+            ldr     w25, [x2, #0x10]
+            mov     w0, wzr
+            tbnz    w26, #31, G_M61974_IG13
                         ;; size=16 bbWeight=31.68 PerfScore 174.24
-G_M61974_IG09:        ; bbWeight=7.92, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            cmp     w11, w13
+G_M61974_IG09:        ; bbWeight=7.92, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            cmp     w24, w26
             ble     G_M61974_IG12
                        ;; size=8 bbWeight=7.92 PerfScore 11.88
-G_M61974_IG10:        ; bbWeight=62.73, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            add     w14, w3, #1
-            cmp     w14, w11
-            bhs     G_M61974_IG37
-            ldr     w12, [x9, w14, UXTW #2]
-            str     w12, [x9, w3, UXTW #2]
-            sxtw    w3, w14
-            cmp     w3, w13
+G_M61974_IG10:        ; bbWeight=62.73, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref, isz
+            add     w4, w0, #1
+            cmp     w4, w24
+            bhs     G_M61974_IG36
+            ldr     w8, [x22, w4, UXTW #2]
+            str     w8, [x22, w0, UXTW #2]
+            sxtw    w0, w4
+            cmp     w0, w26
             ble     G_M61974_IG10
                        ;; size=32 bbWeight=62.73 PerfScore 501.81
-G_M61974_IG11:        ; bbWeight=7.92, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref
+G_M61974_IG11:        ; bbWeight=31.68, gcrefRegs=00C4 {x2 x6 x7}, byrefRegs=E00000 {x21 x22 x23}, byref
             b       G_M61974_IG13
-                        ;; size=4 bbWeight=7.92 PerfScore 7.92
-G_M61974_IG12:        ; bbWeight=0.63, gcrefRegs=00A1 {x0 x5 x7}, byrefRegs=0700 {x8 x9 x10}, byref, isz
-            add     w14, w3, #1
-            cmp     w14, w11
...
  
+4 (+2.33%) : 30203.dasm - System.Xml.XmlReader:MoveToContent():int:this (Tier1)
@@ -47,7 +47,7 @@ G_M26551_IG03:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
 G_M26551_IG04:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             sub     w0, w0, #15
             cmp     w0, #1
-            bls     G_M26551_IG05
+            bls     G_M26551_IG08
             mov     x0, x19
             ; gcrRegs +[x0]
             ldr     x1, [x20, #0x88]
@@ -57,18 +57,9 @@ G_M26551_IG04:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             cbnz    w0, G_M26551_IG03
                        ;; size=32 bbWeight=4 PerfScore 42.00
 G_M26551_IG05:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            mov     x0, x19
-            ; gcrRegs +[x0]
-            ldr     x1, [x21, #0x28]
-                       ;; size=8 bbWeight=0.50 PerfScore 1.75
-G_M26551_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
-            br      x1
-                       ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M26551_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0]
+            b       G_M26551_IG08
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
+G_M26551_IG06:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             mov     x0, x19
             ; gcrRegs +[x0]
             ldr     x1, [x20, #0x88]
@@ -79,20 +70,32 @@ G_M26551_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=800
             ; gcrRegs +[x0]
             ldr     x1, [x21, #0x28]
                        ;; size=24 bbWeight=0.50 PerfScore 5.50
-G_M26551_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+G_M26551_IG07:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x30
             br      x1
                        ;; size=16 bbWeight=0.50 PerfScore 2.00
-RWD00      dd  G_M26551_IG05 - G_M26551_IG02
-           dd  G_M26551_IG07 - G_M26551_IG02
-           dd  G_M26551_IG05 - G_M26551_IG02
-           dd  G_M26551_IG05 - G_M26551_IG02
-           dd  G_M26551_IG05 - G_M26551_IG02
+G_M26551_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0]
+            mov     x0, x19
+            ; gcrRegs +[x0]
+            ldr     x1, [x21, #0x28]
+                       ;; size=8 bbWeight=0.50 PerfScore 1.75
+G_M26551_IG09:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x30
+            br      x1
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
+RWD00      dd  G_M26551_IG08 - G_M26551_IG02
+           dd  G_M26551_IG06 - G_M26551_IG02
+           dd  G_M26551_IG08 - G_M26551_IG02
+           dd  G_M26551_IG08 - G_M26551_IG02
+           dd  G_M26551_IG08 - G_M26551_IG02
 
 
-; Total bytes of code 172, prolog size 16, PerfScore 163.25, instruction count 43, allocated bytes for code 172 (MethodHash=17d09848) for method System.Xml.XmlReader:MoveToContent():int:this (Tier1)
+; Total bytes of code 176, prolog size 16, PerfScore 163.75, instruction count 44, allocated bytes for code 176 (MethodHash=17d09848) for method System.Xml.XmlReader:MoveToContent():int:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -103,7 +106,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 43 (0x0002b) Actual length = 172 (0x0000ac)
+  Function Length   : 44 (0x0002c) Actual length = 176 (0x0000b0)
   ---- 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
-16 (-7.02%) : 474238.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
@@ -11,10 +11,10 @@
 ;
 ;  V00 arg0         [V00,T04] (  9,500.50)     ref  ->   x0         class-hnd single-def <int[,]>
 ;* V01 arg1         [V01    ] (  0,  0   )   byref  ->  zero-ref    single-def
-;  V02 loc0         [V02,T17] (  6,100.52)     int  ->   x3        
+;  V02 loc0         [V02,T17] (  5,100.52)     int  ->   x3        
 ;  V03 loc1         [V03,T11] (  2,199.00)     int  ->  x10        
 ;  V04 loc2         [V04,T12] (  2,199.00)     int  ->  x11        
-;  V05 loc3         [V05,T20] (  8, 99.54)     int  ->   x4        
+;  V05 loc3         [V05,T20] (  5, 99.54)     int  ->   x4        
 ;  V06 loc4         [V06,T16] (  6,101.02)     int  ->   x2        
 ;  V07 loc5         [V07,T05] (  6,399.00)     int  ->   x1        
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -95,13 +95,12 @@ G_M57584_IG07:        ; bbWeight=99.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {},
 G_M57584_IG08:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w2, w2, #1
             cmp     w2, w3
-            bgt     G_M57584_IG11
-            b       G_M57584_IG04
-                       ;; size=16 bbWeight=0.50 PerfScore 1.50
+            ble     G_M57584_IG04
+                       ;; size=12 bbWeight=0.50 PerfScore 1.00
 G_M57584_IG09:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w4, w4, #1
             cmp     w4, w3
-            bgt     G_M57584_IG12
+            bgt     G_M57584_IG11
             b       G_M57584_IG03
                        ;; size=16 bbWeight=0.01 PerfScore 0.03
 G_M57584_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -109,20 +108,13 @@ G_M57584_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M57584_IG11:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x0]
-            add     w4, w4, #1
-            cmp     w4, w3
-            ble     G_M57584_IG03
-                       ;; size=12 bbWeight=0 PerfScore 0.00
-G_M57584_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ; gcrRegs -[x0]
+G_M57584_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x10
             add     sp, sp, #64
             ret     lr
                        ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 228, prolog size 24, PerfScore 3200.05, instruction count 57, allocated bytes for code 228 (MethodHash=862a1f0f) for method Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
+; Total bytes of code 212, prolog size 24, PerfScore 3199.55, instruction count 53, allocated bytes for code 212 (MethodHash=862a1f0f) for method Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -133,7 +125,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)
  
-16 (-6.90%) : 474236.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
@@ -11,10 +11,10 @@
 ;
 ;  V00 arg0         [V00,T03] (  9,500.48)     ref  ->   x0         class-hnd single-def <int[,]>
 ;* V01 arg1         [V01    ] (  0,  0   )   byref  ->  zero-ref    single-def
-;  V02 loc0         [V02,T17] (  6,100.52)     int  ->   x3        
+;  V02 loc0         [V02,T17] (  5,100.52)     int  ->   x3        
 ;  V03 loc1         [V03,T11] (  2,198.99)     int  ->   x8        
 ;  V04 loc2         [V04,T12] (  2,198.99)     int  ->  x13        
-;  V05 loc3         [V05,T20] (  8,  0.54)     int  ->   x4        
+;  V05 loc3         [V05,T20] (  5,  0.54)     int  ->   x4        
 ;  V06 loc4         [V06,T16] (  6,101.03)     int  ->   x2        
 ;  V07 loc5         [V07,T05] (  6,398.99)     int  ->   x1        
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -96,13 +96,12 @@ G_M3571_IG07:        ; bbWeight=99.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
 G_M3571_IG08:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w2, w2, #1
             cmp     w2, w3
-            bgt     G_M3571_IG11
-            b       G_M3571_IG04
-                       ;; size=16 bbWeight=0.50 PerfScore 1.51
+            ble     G_M3571_IG04
+                       ;; size=12 bbWeight=0.50 PerfScore 1.01
 G_M3571_IG09:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             add     w4, w4, #1
             cmp     w4, w3
-            bgt     G_M3571_IG12
+            bgt     G_M3571_IG11
             b       G_M3571_IG03
                        ;; size=16 bbWeight=0.01 PerfScore 0.03
 G_M3571_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -110,20 +109,13 @@ G_M3571_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M3571_IG11:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x0]
-            add     w4, w4, #1
-            cmp     w4, w3
-            ble     G_M3571_IG03
-                       ;; size=12 bbWeight=0 PerfScore 0.00
-G_M3571_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ; gcrRegs -[x0]
+G_M3571_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x10
             add     sp, sp, #64
             ret     lr
                        ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 232, prolog size 24, PerfScore 3200.19, instruction count 58, allocated bytes for code 232 (MethodHash=50acf20c) for method Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
+; Total bytes of code 216, prolog size 24, PerfScore 3199.68, instruction count 54, allocated bytes for code 216 (MethodHash=50acf20c) for method Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -134,7 +126,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)
  
-20 (-6.49%) : 473615.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalListInOrder(System.Canon[]):this (Tier1)
@@ -10,20 +10,20 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  5,  4   )     ref  ->  x20         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T01] (  9, 15.22)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T01] (  8, 17.65)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
 ;  V02 loc0         [V02,T07] (  3,  2.04)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V03 loc1         [V03,T09] (  4,  0.17)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V04 loc2         [V04,T08] (  5,  0.22)     int  ->  x22        
-;  V05 loc3         [V05,T04] (  6, 12.26)     ref  ->  x23         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T00] (  9, 21.96)     int  ->  x24        
-;  V07 loc5         [V07,T03] (  5, 14.61)     ref  ->   x0         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T02] (  6, 14.70)     ref  ->  x23         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T00] (  6, 24.39)     int  ->  x24        
+;  V07 loc5         [V07,T04] (  5, 14.61)     ref  ->   x0         class-hnd <System.__Canon>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T10] (  2,  0   )     int  ->   x0         "guarded devirt return temp"
 ;* V10 tmp2         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
 ;* V11 tmp3         [V11    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V12 tmp4         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Reflection.RuntimeMethodInfo>
 ;  V13 tmp5         [V13,T05] (  2,  9.74)     ref  ->   x1         class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
-;  V14 cse0         [V14,T02] (  3, 14.61)    long  ->   x2         hoist multi-def "CSE - aggressive"
+;  V14 cse0         [V14,T03] (  3, 14.61)    long  ->   x2         hoist multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -41,7 +41,7 @@ G_M50755_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M50755_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x21, [x20, #0x08]
             ; gcrRegs +[x21]
-            cbnz    x21, G_M50755_IG07
+            cbnz    x21, G_M50755_IG05
                        ;; size=8 bbWeight=1 PerfScore 4.00
 G_M50755_IG03:        ; bbWeight=0.96, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
@@ -60,37 +60,26 @@ G_M50755_IG04:        ; bbWeight=0.96, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0.96 PerfScore 4.78
-G_M50755_IG05:        ; bbWeight=4.87, gcVars=0000000000000000 {}, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x19-x21 x23]
-            ldr     x1, [x23, #0x50]
-            ldr     x0, [x0, #0x50]
-            ; gcrRegs -[x0]
-            cmp     x1, x0
-            bne     G_M50755_IG10
-                       ;; size=16 bbWeight=4.87 PerfScore 36.52
-G_M50755_IG06:        ; bbWeight=38.96, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
-            b       G_M50755_IG11
-                       ;; size=4 bbWeight=38.96 PerfScore 38.96
-G_M50755_IG07:        ; bbWeight=0.04, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x23]
+G_M50755_IG05:        ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x19-x21]
             mov     w22, wzr
             ldr     w1, [x21, #0x08]
             cmp     w1, #0
-            ble     G_M50755_IG13
+            ble     G_M50755_IG12
                        ;; size=16 bbWeight=0.04 PerfScore 0.22
-G_M50755_IG08:        ; bbWeight=0.04, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG06:        ; bbWeight=0.04, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     x1, x21, #16
             ; byrRegs +[x1]
             ldr     x23, [x1, w22, UXTW #3]
             ; gcrRegs +[x23]
-            cbz     x23, G_M50755_IG13
+            cbz     x23, G_M50755_IG12
             mov     w24, wzr
             ldr     w1, [x19, #0x08]
             ; byrRegs -[x1]
             cmp     w1, #0
-            ble     G_M50755_IG12
+            ble     G_M50755_IG11
                        ;; size=28 bbWeight=0.04 PerfScore 0.41
-G_M50755_IG09:        ; bbWeight=4.87, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG07:        ; bbWeight=4.87, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     x1, x19, #16
             ; byrRegs +[x1]
             ldr     x0, [x1, w24, UXTW #3]
@@ -101,23 +90,31 @@ G_M50755_IG09:        ; bbWeight=4.87, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            bne     G_M50755_IG15
+            bne     G_M50755_IG14
             mov     x1, x23
             ; gcrRegs +[x1]
             ldr     x1, [x1]
             ; gcrRegs -[x1]
             cmp     x1, x2
-            beq     G_M50755_IG05
-                       ;; size=48 bbWeight=4.87 PerfScore 70.61
-G_M50755_IG10:        ; bbWeight=4.87, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+            bne     G_M50755_IG08
+            ldr     x1, [x23, #0x50]
+            ldr     x0, [x0, #0x50]
             ; gcrRegs -[x0]
+            cmp     x1, x0
+            beq     G_M50755_IG10
+                       ;; size=64 bbWeight=4.87 PerfScore 107.13
+G_M50755_IG08:        ; bbWeight=4.87, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
-            ldr     w0, [x19, #0x08]
-            cmp     w0, w24
-            ble     G_M50755_IG12
-            b       G_M50755_IG09
-                       ;; size=20 bbWeight=4.87 PerfScore 29.22
-G_M50755_IG11:        ; bbWeight=2.43, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            ldr     w1, [x19, #0x08]
+            cmp     w1, w24
+            bgt     G_M50755_IG07
+                       ;; size=16 bbWeight=4.87 PerfScore 24.35
+G_M50755_IG09:        ; bbWeight=0.04, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x23]
+            b       G_M50755_IG11
+                       ;; size=4 bbWeight=0.04 PerfScore 0.04
+G_M50755_IG10:        ; bbWeight=4.87, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x23]
             sxtw    x1, w24
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -126,14 +123,14 @@ G_M50755_IG11:        ; bbWeight=2.43, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2 x23]
             ; gcr arg pop 0
-                      ;; size=16 bbWeight=2.43 PerfScore 6.09
-G_M50755_IG12:        ; bbWeight=0.04, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+                     ;; size=16 bbWeight=4.87 PerfScore 12.17
+G_M50755_IG11:        ; bbWeight=0.04, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             add     w22, w22, #1
             ldr     w14, [x21, #0x08]
             cmp     w14, w22
-            bgt     G_M50755_IG08
+            bgt     G_M50755_IG06
                      ;; size=16 bbWeight=0.04 PerfScore 0.22
-G_M50755_IG13:        ; bbWeight=0.04, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M50755_IG12:        ; bbWeight=0.04, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             add     x14, x20, #8
             ; byrRegs +[x14]
@@ -143,14 +140,14 @@ G_M50755_IG13:        ; bbWeight=0.04, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ; gcrRegs -[x15 x19-x20]
             ; byrRegs -[x14]
                        ;; size=12 bbWeight=0.04 PerfScore 0.09
-G_M50755_IG14:        ; bbWeight=0.04, epilog, nogc, extend
+G_M50755_IG13:        ; bbWeight=0.04, 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=0.04 PerfScore 0.22
-G_M50755_IG15:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M50755_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x0 x19-x21 x23]
             mov     x1, x23
             ; gcrRegs +[x1]
@@ -160,15 +157,11 @@ G_M50755_IG15:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=B80001
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M50755_IG11
-            add     w24, w24, #1
-            ldr     w0, [x19, #0x08]
-            cmp     w0, w24
-            bgt     G_M50755_IG09
-            b       G_M50755_IG12
-                       ;; size=44 bbWeight=0 PerfScore 0.00
+            cbnz    w0, G_M50755_IG10
+            b       G_M50755_IG08
+                       ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 308, prolog size 28, PerfScore 198.74, instruction count 77, allocated bytes for code 308 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
+; Total bytes of code 288, prolog size 28, PerfScore 161.04, instruction count 72, allocated bytes for code 288 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -179,7 +172,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 77 (0x0004d) Actual length = 308 (0x000134)
+  Function Length   : 72 (0x00048) Actual length = 288 (0x000120)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+16 (+4.40%) : 247944.dasm - Default.Graph:BuildEdge(int,int):this (FullOpts)
@@ -13,121 +13,123 @@
 ;  V02 arg2         [V02,T03] (  4, 10   )     int  ->   x2         single-def
 ;  V03 loc0         [V03,T09] (  7,  5   )     ref  ->  x20         class-hnd <Default.Vertex>
 ;  V04 loc1         [V04,T10] (  4,  2.50)     ref  ->  x21         class-hnd <Default.Vertex>
-;  V05 loc2         [V05,T00] ( 14, 36   )     ref  ->   x3         class-hnd <Default.Vertex>
+;  V05 loc2         [V05,T00] ( 14, 36   )     ref  ->   x0         class-hnd <Default.Vertex>
 ;* V06 loc3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <Default.Edge>
-;  V07 loc4         [V07,T02] (  6, 21   )     int  ->   x3        
-;  V08 loc5         [V08,T14] (  3,  1.50)     int  ->   x1         single-def
+;  V07 loc4         [V07,T02] (  6, 21   )     int  ->   x0        
+;  V08 loc5         [V08,T14] (  3,  1.50)     int  ->  x23         single-def
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V10 tmp1         [V10,T12] (  2,  2   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <<unknown class>>
 ;  V11 tmp2         [V11,T07] (  6,  6   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <Default.Edge>
 ;  V12 tmp3         [V12,T13] (  2,  2   )     ref  ->  x14         class-hnd single-def "Inlining Arg" <Default.Edge>
-;  V13 tmp4         [V13,T01] (  3, 24   )     ref  ->   x5         "arr expr"
-;  V14 cse0         [V14,T06] (  4,  6.50)     int  ->   x1         "CSE - aggressive"
-;  V15 cse1         [V15,T08] (  4,  6   )     ref  ->   x4         hoist multi-def "CSE - aggressive"
-;  V16 cse2         [V16,T11] (  3,  2.50)     ref  ->   x0         "CSE - aggressive"
+;  V13 tmp4         [V13,T01] (  3, 24   )     ref  ->   x3         "arr expr"
+;  V14 cse0         [V14,T06] (  4,  6.50)     int  ->  x23         "CSE - aggressive"
+;  V15 cse1         [V15,T08] (  4,  6   )     ref  ->   x1         hoist multi-def "CSE - aggressive"
+;  V16 cse2         [V16,T11] (  3,  2.50)     ref  ->  x22         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M24077_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x10]
-            stp     x21, x22, [sp, #0x20]
+            stp     fp, lr, [sp, #-0x40]!
+            stp     x19, x20, [sp, #0x18]
+            stp     x21, x22, [sp, #0x28]
+            str     x23, [sp, #0x38]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
-                     ;; size=20 bbWeight=1 PerfScore 4.00
+                      ;; size=24 bbWeight=1 PerfScore 5.00
 G_M24077_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     x20, xzr
             ; gcrRegs +[x20]
             mov     x21, xzr
             ; gcrRegs +[x21]
-            ldr     x0, [x19, #0x08]
+            ldr     x22, [x19, #0x08]
+            ; gcrRegs +[x22]
+            mov     x0, x22
             ; gcrRegs +[x0]
-            mov     x3, x0
-            ; gcrRegs +[x3]
-            cbz     x3, G_M24077_IG06
+            cbz     x0, G_M24077_IG06
                        ;; size=20 bbWeight=1 PerfScore 5.50
-G_M24077_IG03:        ; bbWeight=4, gcrefRegs=380009 {x0 x3 x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ldr     w4, [x3, #0x20]
-            cmp     w1, w4
+G_M24077_IG03:        ; bbWeight=4, gcrefRegs=780001 {x0 x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            ldr     w3, [x0, #0x20]
+            cmp     w1, w3
             beq     G_M24077_IG05
-            ldr     x3, [x3, #0x08]
-            cbnz    x3, G_M24077_IG03
+            ldr     x0, [x0, #0x08]
+            cbnz    x0, G_M24077_IG03
                       ;; size=20 bbWeight=4 PerfScore 34.00
-G_M24077_IG04:        ; bbWeight=0.50, gcrefRegs=380001 {x0 x19 x20 x21}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x3]
+G_M24077_IG04:        ; bbWeight=1, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0]
             b       G_M24077_IG06
-                     ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M24077_IG05:        ; bbWeight=0.50, gcrefRegs=280009 {x0 x3 x19 x21}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x20] +[x3]
-            mov     x20, x3
+                      ;; size=4 bbWeight=1 PerfScore 1.00
+G_M24077_IG05:        ; bbWeight=0.50, gcrefRegs=680001 {x0 x19 x21 x22}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x20] +[x0]
+            mov     x20, x0
             ; gcrRegs +[x20]
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M24077_IG06:        ; bbWeight=1, gcrefRegs=380001 {x0 x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x3]
-            mov     w3, wzr
-            ldr     w1, [x20, #0x24]
-            cmp     w1, #0
+G_M24077_IG06:        ; bbWeight=1, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x0]
+            mov     w0, wzr
+            ldr     w23, [x20, #0x24]
+            cmp     w23, #0
             ble     G_M24077_IG08
-            ldr     x4, [x20, #0x10]
-            ; gcrRegs +[x4]
+            ldr     x1, [x20, #0x10]
+            ; gcrRegs +[x1]
                         ;; size=20 bbWeight=1 PerfScore 8.00
-G_M24077_IG07:        ; bbWeight=4, gcrefRegs=380011 {x0 x4 x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            mov     x5, x4
-            ; gcrRegs +[x5]
-            ldr     w6, [x5, #0x08]
-            cmp     w3, w6
+G_M24077_IG07:        ; bbWeight=4, gcrefRegs=780002 {x1 x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            mov     x3, x1
+            ; gcrRegs +[x3]
+            ldr     w4, [x3, #0x08]
+            cmp     w0, w4
             bhs     G_M24077_IG17
-            add     x5, x5, #16
-            ; gcrRegs -[x5]
-            ; byrRegs +[x5]
-            ldr     x5, [x5, w3, UXTW #3]
-            ; gcrRegs +[x5]
-            ; byrRegs -[x5]
-            ldr     w5, [x5, #0x20]
-            ; gcrRegs -[x5]
-            cmp     w5, w2
+            add     x3, x3, #16
+            ; gcrRegs -[x3]
+            ; byrRegs +[x3]
+            ldr     x3, [x3, w0, UXTW #3]
+            ; gcrRegs +[x3]
+            ; byrRegs -[x3]
+            ldr     w3, [x3, #0x20]
+            ; gcrRegs -[x3]
+            cmp     w3, w2
             beq     G_M24077_IG14
-            add     w3, w3, #1
-            cmp     w3, w1
+            add     w0, w0, #1
+            cmp     w0, w23
             blt     G_M24077_IG07
                        ;; size=48 bbWeight=4 PerfScore 60.00
-G_M24077_IG08:        ; bbWeight=0.50, gcrefRegs=380001 {x0 x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x4]
-            mov     x3, x0
-            ; gcrRegs +[x3]
-            cbz     x3, G_M24077_IG12
+G_M24077_IG08:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x1]
+            mov     x0, x22
+            ; gcrRegs +[x0]
+            cbz     x0, G_M24077_IG12
                       ;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M24077_IG09:        ; bbWeight=4, gcrefRegs=380008 {x3 x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x0]
-            ldr     w4, [x3, #0x20]
-            cmp     w2, w4
+G_M24077_IG09:        ; bbWeight=4, gcrefRegs=380001 {x0 x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x22]
+            ldr     w1, [x0, #0x20]
+            cmp     w2, w1
             beq     G_M24077_IG11
-            ldr     x3, [x3, #0x08]
-            cbnz    x3, G_M24077_IG09
+            ldr     x0, [x0, #0x08]
+            cbnz    x0, G_M24077_IG09
                       ;; size=20 bbWeight=4 PerfScore 34.00
 G_M24077_IG10:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x3]
+            ; gcrRegs -[x0]
             b       G_M24077_IG12
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M24077_IG11:        ; bbWeight=0.50, gcrefRegs=180008 {x3 x19 x20}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x21] +[x3]
-            mov     x21, x3
+G_M24077_IG11:        ; bbWeight=0.50, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x21] +[x0]
+            mov     x21, x0
             ; gcrRegs +[x21]
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M24077_IG12:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x3]
-            ldr     x4, [x20, #0x10]
-            ; gcrRegs +[x4]
-            mov     x0, x4
+            ; gcrRegs -[x0]
+            ldr     x1, [x20, #0x10]
+            ; gcrRegs +[x1]
+            mov     x0, x1
             ; gcrRegs +[x0]
-            add     w2, w1, #1
-            str     w2, [x20, #0x24]
-            sxtw    x1, w1
+            add     w1, w23, #1
+            ; gcrRegs -[x1]
+            str     w1, [x20, #0x24]
+            sxtw    x1, w23
             mov     x2, x21
             ; gcrRegs +[x2]
             bl      CORINFO_HELP_ARRADDR_ST
-            ; gcrRegs -[x0 x2 x4]
+            ; gcrRegs -[x0 x2]
             ; gcr arg pop 0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -168,17 +170,19 @@ G_M24077_IG12:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs
             ; byrRegs -[x14]
                        ;; size=108 bbWeight=0.50 PerfScore 12.25
 G_M24077_IG13:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
+            ldr     x23, [sp, #0x38]
+            ldp     x21, x22, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x40
             ret     lr
-                        ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=20 bbWeight=0.50 PerfScore 3.00
 G_M24077_IG14:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldp     x21, x22, [sp, #0x20]
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
+            ldr     x23, [sp, #0x38]
+            ldp     x21, x22, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x40
             ret     lr
-                        ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=20 bbWeight=0.50 PerfScore 3.00
 G_M24077_IG15:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x19 x22]
             ldr     x14, [x19, #0x20]
@@ -200,18 +204,19 @@ G_M24077_IG15:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480
             ; byrRegs -[x14]
                        ;; size=28 bbWeight=0.50 PerfScore 3.50
 G_M24077_IG16:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x20]
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x30
+            ldr     x23, [sp, #0x38]
+            ldp     x21, x22, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x40
             ret     lr
-                        ;; size=16 bbWeight=0.50 PerfScore 2.00
+                       ;; size=20 bbWeight=0.50 PerfScore 3.00
 G_M24077_IG17:        ; 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 364, prolog size 20, PerfScore 169.50, instruction count 91, allocated bytes for code 364 (MethodHash=47bea1f2) for method Default.Graph:BuildEdge(int,int):this (FullOpts)
+; Total bytes of code 380, prolog size 24, PerfScore 174.00, instruction count 95, allocated bytes for code 380 (MethodHash=47bea1f2) for method Default.Graph:BuildEdge(int,int):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
...
  
+12 (+7.69%) : 591305.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Canon]:Enqueue(System.Canon):this (Tier1)
@@ -15,79 +15,64 @@
 ;* V03 tmp1         [V03,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]>
 ;  V05 tmp3         [V05,T04] (  3,  3   )     ref  ->   x3         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T03] (  6,  5.40)     int  ->  x14         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T05] (  3,  3   )     int  ->  x15         "Inline stloc first use temp"
+;  V06 tmp4         [V06,T03] (  6,  5.40)     int  ->   x5         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T05] (  3,  3   )     int  ->   x6         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V09 tmp7         [V09,T10] (  3,  2.20)     int  ->   x6         "Inline stloc first use temp"
-;  V10 cse0         [V10,T06] (  3,  3.00)   byref  ->   x5         "CSE - aggressive"
-;  V11 cse1         [V11,T07] (  3,  3.00)   byref  ->  x12         "CSE - aggressive"
+;  V10 cse0         [V10,T06] (  3,  3.00)   byref  ->  x19         "CSE - aggressive"
+;  V11 cse1         [V11,T07] (  3,  3.00)   byref  ->  x14         "CSE - aggressive"
 ;  V12 cse2         [V12,T08] (  3,  2.80)   byref  ->   x4         hoist "CSE - aggressive"
-;  V13 cse3         [V13,T09] (  3,  2.60)     int  ->   x6         "CSE - aggressive"
+;  V13 cse3         [V13,T09] (  3,  2.60)     int  ->  x20         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M15407_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-                      ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=12 bbWeight=1 PerfScore 2.50
 G_M15407_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0-x1]
-            add     x14, x0, #16
-            ; byrRegs +[x14]
-            ldapr   x2, [x14]
+            add     x2, x0, #16
+            ; byrRegs +[x2]
+            ldapr   x2, [x2]
             ; gcrRegs +[x2]
+            ; byrRegs -[x2]
             ldr     x3, [x2, #0x08]
             ; gcrRegs +[x3]
             add     x4, x2, #0xD1FFAB1E
             ; byrRegs +[x4]
                        ;; size=16 bbWeight=1 PerfScore 7.00
 G_M15407_IG03:        ; bbWeight=1, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, byref, isz
-            ; byrRegs -[x14]
-            ldapr   w14, [x4]
-            ldr     w15, [x2, #0x18]
-            and     w15, w14, w15
-            ldr     w12, [x3, #0x08]
-            cmp     w15, w12
+            ldapr   w5, [x4]
+            ldr     w6, [x2, #0x18]
+            and     w6, w5, w6
+            ldr     w7, [x3, #0x08]
+            cmp     w6, w7
             bhs     G_M15407_IG10
-            ubfiz   x15, x15, #4, #32
-            add     x15, x15, #16
-            add     x12, x3, x15
-            ; byrRegs +[x12]
-            add     x5, x12, #8
-            ; byrRegs +[x5]
-            ldapr   w15, [x5]
-            sub     w6, w15, w14
-            cbnz    w6, G_M15407_IG07
-                       ;; size=52 bbWeight=1 PerfScore 18.00
-G_M15407_IG04:        ; bbWeight=0.80, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=1030 {x4 x5 x12}, byref, isz
-            add     w6, w14, #1
-            mov     w15, w14
-            casal   w15, w6, [x4]
-            cmp     w15, w14
-            bne     G_M15407_IG03
-                       ;; size=20 bbWeight=0.80 PerfScore 4.40
-G_M15407_IG05:        ; bbWeight=1.00, gcrefRegs=0002 {x1}, byrefRegs=1020 {x5 x12}, byref
-            ; gcrRegs -[x0 x2-x3]
-            ; byrRegs -[x4]
-            mov     x14, x12
+            ubfiz   x6, x6, #4, #32
+            add     x6, x6, #16
+            add     x14, x3, x6
             ; byrRegs +[x14]
-            mov     x15, x1
-            ; gcrRegs +[x15]
-            bl      CORINFO_HELP_CHECKED_ASSIGN_REF
-            ; gcrRegs -[x1 x15]
-            ; byrRegs -[x12 x14]
-            stlr    w6, [x5]
-                       ;; size=16 bbWeight=1.00 PerfScore 3.00
-G_M15407_IG06:        ; bbWeight=1.00, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=1.00 PerfScore 2.00
-G_M15407_IG07:        ; bbWeight=0.20, gcVars=0000000000000000 {}, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, gcvars, byref, isz
-            ; gcrRegs +[x0-x3]
-            ; byrRegs -[x5] +[x4]
+            add     x19, x14, #8
+            ; byrRegs +[x19]
+            ldapr   w6, [x19]
+            sub     w6, w6, w5
+            cbnz    w6, G_M15407_IG05
+                       ;; size=52 bbWeight=1 PerfScore 18.00
+G_M15407_IG04:        ; bbWeight=0.80, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=84010 {x4 x14 x19}, byref, isz
+            add     w20, w5, #1
+            mov     w6, w5
+            casal   w6, w20, [x4]
+            cmp     w6, w5
+            bne     G_M15407_IG03
+            b       G_M15407_IG08
+                       ;; size=24 bbWeight=0.80 PerfScore 5.20
+G_M15407_IG05:        ; bbWeight=0.20, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, byref, isz
+            ; byrRegs -[x14 x19]
             tbz     w6, #31, G_M15407_IG03
                        ;; size=4 bbWeight=0.20 PerfScore 0.20
-G_M15407_IG08:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
+G_M15407_IG06:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x2-x3]
             ; byrRegs -[x4]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
@@ -95,30 +80,46 @@ G_M15407_IG08:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, b
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
                        ;; size=16 bbWeight=1 PerfScore 4.50
-G_M15407_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M15407_IG07:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             br      x2
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=1 PerfScore 2.00
+                       ;; size=12 bbWeight=1 PerfScore 3.00
+G_M15407_IG08:        ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=84000 {x14 x19}, gcvars, byref
+            ; gcrRegs -[x0]
+            ; byrRegs +[x14 x19]
+            mov     x15, x1
+            ; gcrRegs +[x15]
+            bl      CORINFO_HELP_CHECKED_ASSIGN_REF
+            ; gcrRegs -[x1 x15]
+            ; byrRegs -[x14]
+            stlr    w20, [x19]
+                       ;; size=12 bbWeight=1.00 PerfScore 2.50
+G_M15407_IG09:        ; bbWeight=1.00, epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
+            ret     lr
+                       ;; size=12 bbWeight=1.00 PerfScore 3.00
 G_M15407_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0-x1]
+            ; byrRegs -[x19]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 156, prolog size 8, PerfScore 42.60, instruction count 39, allocated bytes for code 156 (MethodHash=96c6c3d0) for method System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
+; Total bytes of code 168, prolog size 12, PerfScore 45.90, instruction count 42, allocated bytes for code 168 (MethodHash=96c6c3d0) for method System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 39 (0x00027) Actual length = 156 (0x00009c)
+  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)
@@ -129,7 +130,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]!
+    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
     E4          end
     E4          end
 
  
+44 (+8.94%) : 496151.dasm - RetBufferBug:Main():int (Tier1-OSR)
@@ -11,9 +11,9 @@
 ; Final local variable assignments
 ;
 ;  V00 loc0         [V00,T10] ( 10,  0   )     int  ->  x19        
-;  V01 loc1         [V01,T09] (  5, 87.52)     int  ->   x7        
-;  V02 loc2         [V02,T07] (  6, 87.53)     int  ->   x5        
-;  V03 loc3         [V03,T08] (  6, 87.53)     int  ->   x6        
+;  V01 loc1         [V01,T09] (  5, 87.55)     int  ->   x7        
+;  V02 loc2         [V02,T07] (  6, 87.56)     int  ->   x5        
+;  V03 loc3         [V03,T08] (  6, 87.56)     int  ->   x6        
 ;  V04 loc4         [V04,T06] (  6, 87.69)     int  ->   x4        
 ;  V05 loc5         [V05,T05] (  6, 88.70)     int  ->   x3        
 ;  V06 loc6         [V06,T04] (  6, 94.93)     int  ->   x2        
@@ -32,7 +32,7 @@
 ;
 ; Lcl frame size = 8
 
-G_M48272_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+G_M48272_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x20]!
             str     x19, [sp, #0x18]
             mov     fp, sp
@@ -46,123 +46,153 @@ G_M48272_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x8, #0xD1FFAB1E
             movk    x8, #0xD1FFAB1E LSL #16
             movk    x8, #0xD1FFAB1E LSL #32
-            b       G_M48272_IG10
+            b       G_M48272_IG19
                       ;; size=16 bbWeight=1 PerfScore 2.50
 G_M48272_IG03:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             str     w7, [x8, #-0x1C]
             mov     w5, wzr
-                      ;; size=8 bbWeight=0.01 PerfScore 0.02
-G_M48272_IG04:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG05
+                       ;; size=12 bbWeight=0.01 PerfScore 0.03
+G_M48272_IG04:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w7, w7, #1
+            cmp     w7, #7
+            bge     G_M48272_IG33
+            b       G_M48272_IG03
+                       ;; size=16 bbWeight=0.01 PerfScore 0.03
+G_M48272_IG05:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             str     w5, [x8, #-0x18]
             mov     w6, wzr
-                      ;; size=8 bbWeight=0.01 PerfScore 0.02
-G_M48272_IG05:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG07
+                       ;; size=12 bbWeight=0.01 PerfScore 0.03
+G_M48272_IG06:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w5, w5, #1
+            cmp     w5, #7
+            blt     G_M48272_IG05
+            b       G_M48272_IG04
+                       ;; size=16 bbWeight=0.01 PerfScore 0.03
+G_M48272_IG07:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             str     w6, [x8, #-0x14]
             mov     w4, wzr
-                      ;; size=8 bbWeight=0.01 PerfScore 0.02
-G_M48272_IG06:        ; bbWeight=0.04, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG09
+                       ;; size=12 bbWeight=0.01 PerfScore 0.03
+G_M48272_IG08:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w6, w6, #1
+            cmp     w6, #7
+            blt     G_M48272_IG07
+            b       G_M48272_IG06
+                       ;; size=16 bbWeight=0.01 PerfScore 0.03
+G_M48272_IG09:        ; bbWeight=0.04, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             str     w4, [x8, #-0x10]
             mov     w3, wzr
-                      ;; size=8 bbWeight=0.04 PerfScore 0.06
-G_M48272_IG07:        ; bbWeight=0.26, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG12
+                       ;; size=12 bbWeight=0.04 PerfScore 0.11
+G_M48272_IG10:        ; bbWeight=0.04, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w4, w4, #1
+            cmp     w4, #7
+            blt     G_M48272_IG09
+                       ;; size=12 bbWeight=0.04 PerfScore 0.08
+G_M48272_IG11:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG08
+                       ;; size=4 bbWeight=0.01 PerfScore 0.01
+G_M48272_IG12:        ; bbWeight=0.26, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             str     w3, [x8, #-0x0C]
             mov     w2, wzr
-                      ;; size=8 bbWeight=0.26 PerfScore 0.40
-G_M48272_IG08:        ; bbWeight=1.79, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG15
+                       ;; size=12 bbWeight=0.26 PerfScore 0.66
+G_M48272_IG13:        ; bbWeight=0.30, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w3, w3, #1
+            cmp     w3, #7
+            blt     G_M48272_IG12
+                       ;; size=12 bbWeight=0.30 PerfScore 0.59
+G_M48272_IG14:        ; bbWeight=0.04, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG10
+                       ;; size=4 bbWeight=0.04 PerfScore 0.04
+G_M48272_IG15:        ; bbWeight=1.79, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             str     w2, [x8, #-0x08]
             mov     w1, wzr
-                      ;; size=8 bbWeight=1.79 PerfScore 2.69
-G_M48272_IG09:        ; bbWeight=12.49, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG18
+                       ;; size=12 bbWeight=1.79 PerfScore 4.48
+G_M48272_IG16:        ; bbWeight=1.79, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            add     w2, w2, #1
+            cmp     w2, #7
+            blt     G_M48272_IG15
+                       ;; size=12 bbWeight=1.79 PerfScore 3.58
+G_M48272_IG17:        ; bbWeight=0.30, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG13
+                       ;; size=4 bbWeight=0.30 PerfScore 0.30
+G_M48272_IG18:        ; bbWeight=12.49, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             str     w1, [x8, #-0x04]
             mov     w0, wzr
                        ;; size=8 bbWeight=12.49 PerfScore 18.74
-G_M48272_IG10:        ; bbWeight=12.49, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M48272_IG19:        ; bbWeight=12.49, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             cmp     w0, #7
-            bge     G_M48272_IG13
+            bge     G_M48272_IG22
                         ;; size=8 bbWeight=12.49 PerfScore 18.74
-G_M48272_IG11:        ; bbWeight=10.93, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M48272_IG20:        ; bbWeight=10.93, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     w9, [x8, #-0x1C]
                        ;; size=4 bbWeight=10.93 PerfScore 32.80
-G_M48272_IG12:        ; bbWeight=87.51, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M48272_IG21:        ; bbWeight=87.51, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             str     w0, [x8]
             cmp     w9, w7
-            bne     G_M48272_IG18
+            bne     G_M48272_IG24
             ldr     w10, [x8, #-0x18]
             cmp     w10, w5
-            bne     G_M48272_IG19
+            bne     G_M48272_IG25
             ldr     w10, [x8, #-0x14]
             cmp     w10, w6
-            bne     G_M48272_IG20
+            bne     G_M48272_IG26
             ldr     w10, [x8, #-0x10]
             cmp     w10, w4
-            bne     G_M48272_IG21
+            bne     G_M48272_IG27
             ldr     w10, [x8, #-0x0C]
             cmp     w10, w3
-            bne     G_M48272_IG22
+            bne     G_M48272_IG28
             ldr     w10, [x8, #-0x08]
             cmp     w10, w2
-            bne     G_M48272_IG23
+            bne     G_M48272_IG29
             ldr     w10, [x8, #-0x04]
             cmp     w10, w1
-            bne     G_M48272_IG24
+            bne     G_M48272_IG30
             add     w0, w0, #1
             cmp     w0, #7
-            blt     G_M48272_IG12
+            blt     G_M48272_IG21
                        ;; size=96 bbWeight=87.51 PerfScore 2756.46
-G_M48272_IG13:        ; bbWeight=12.49, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M48272_IG22:        ; bbWeight=12.49, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             add     w1, w1, #1
             cmp     w1, #7
-            blt     G_M48272_IG09
+            blt     G_M48272_IG18
                        ;; size=12 bbWeight=12.49 PerfScore 24.99
-G_M48272_IG14:        ; bbWeight=1.79, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            add     w2, w2, #1
-            cmp     w2, #7
-            blt     G_M48272_IG08
-                       ;; size=12 bbWeight=1.79 PerfScore 3.58
-G_M48272_IG15:        ; bbWeight=0.30, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            add     w3, w3, #1
-            cmp     w3, #7
-            blt     G_M48272_IG07
-                       ;; size=12 bbWeight=0.30 PerfScore 0.59
-G_M48272_IG16:        ; bbWeight=0.04, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            add     w4, w4, #1
-            cmp     w4, #7
-            blt     G_M48272_IG06
-                       ;; size=12 bbWeight=0.04 PerfScore 0.08
-G_M48272_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            add     w6, w6, #1
-            cmp     w6, #7
-            blt     G_M48272_IG05
-            b       G_M48272_IG29
-                       ;; size=16 bbWeight=0 PerfScore 0.00
-G_M48272_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w19, #99
-            b       G_M48272_IG25
-                       ;; size=8 bbWeight=0 PerfScore 0.00
-G_M48272_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w19, #98
-            b       G_M48272_IG25
-                       ;; size=8 bbWeight=0 PerfScore 0.00
-G_M48272_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w19, #97
-            b       G_M48272_IG25
-                       ;; size=8 bbWeight=0 PerfScore 0.00
-G_M48272_IG21:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w19, #96
-            b       G_M48272_IG25
-                       ;; size=8 bbWeight=0 PerfScore 0.00
-G_M48272_IG22:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w19, #95
-            b       G_M48272_IG25
-                       ;; size=8 bbWeight=0 PerfScore 0.00
-G_M48272_IG23:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w19, #94
-            b       G_M48272_IG25
-                       ;; size=8 bbWeight=0 PerfScore 0.00
+G_M48272_IG23:        ; bbWeight=1.79, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M48272_IG16
+                       ;; size=4 bbWeight=1.79 PerfScore 1.79
 G_M48272_IG24:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w19, #99
+            b       G_M48272_IG31
+                       ;; size=8 bbWeight=0 PerfScore 0.00
+G_M48272_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w19, #98
+            b       G_M48272_IG31
+                       ;; size=8 bbWeight=0 PerfScore 0.00
+G_M48272_IG26:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w19, #97
+            b       G_M48272_IG31
+                       ;; size=8 bbWeight=0 PerfScore 0.00
+G_M48272_IG27:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w19, #96
+            b       G_M48272_IG31
+                       ;; size=8 bbWeight=0 PerfScore 0.00
+G_M48272_IG28:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w19, #95
+            b       G_M48272_IG31
+                       ;; size=8 bbWeight=0 PerfScore 0.00
+G_M48272_IG29:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w19, #94
+            b       G_M48272_IG31
+                       ;; size=8 bbWeight=0 PerfScore 0.00
+G_M48272_IG30:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w19, #93
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M48272_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M48272_IG31:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -185,18 +215,15 @@ G_M48272_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
...
  
  
libraries.crossgen2.windows.arm64.checked.mch
-4 (-0.23%) : 1302.dasm - System.Security.AccessControl.GenericAce:CreateFromBinaryForm(ubyte[],int):System.Security.AccessControl.GenericAce (FullOpts)
@@ -32,9 +32,9 @@
 ;  V20 loc18        [V20    ] (  2,  1   )     int  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op
 ;  V21 loc19        [V21    ] (  2,  1   )     ref  ->  [fp+0x10]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Security.Principal.SecurityIdentifier>
 ;  V22 loc20        [V22,T41] (  2,  1   )   ubyte  ->  x25        
-;  V23 loc21        [V23,T42] (  2,  1   )   ubyte  ->  x25        
-;  V24 loc22        [V24,T23] (  7,  2.58)     ref  ->  x20         class-hnd <ubyte[]>
-;  V25 loc23        [V25,T24] (  5,  2.04)     int  ->  x24        
+;  V23 loc21        [V23,T42] (  2,  1   )   ubyte  ->  x20        
+;  V24 loc22        [V24,T23] (  7,  2.58)     ref  ->  x24         class-hnd <ubyte[]>
+;  V25 loc23        [V25,T24] (  5,  2.04)     int  ->  x25        
 ;  V26 loc24        [V26,T11] (  8,  6.54)     int  ->  x26        
 ;  V27 loc25        [V27,T01] ( 12, 20.54)     int  ->  x11        
 ;  V28 OutArgs      [V28    ] (  1,  1   )  struct (16) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -45,7 +45,7 @@
 ;  V33 tmp5         [V33,T27] (  2,  2   )     int  ->  x19         "non-inline candidate call"
 ;* V34 tmp6         [V34    ] (  0,  0   )     int  ->  zero-ref    "non-inline candidate call"
 ;  V35 tmp7         [V35,T05] ( 12, 12   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <System.Security.AccessControl.ObjectAce>
-;  V36 tmp8         [V36,T19] (  3,  3   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Security.AccessControl.CustomAce>
+;  V36 tmp8         [V36,T19] (  3,  3   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Security.AccessControl.CustomAce>
 ;  V37 tmp9         [V37,T03] (  4, 16   )     int  ->   x3         "Strict ordering of exceptions for Array store"
 ;  V38 tmp10        [V38,T10] (  7,  7   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Security.AccessControl.CompoundAce>
 ;  V39 tmp11        [V39,T28] (  2,  2   )   ubyte  ->   x0         "Inlining Arg"
@@ -444,9 +444,9 @@ G_M55254_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=400000 {x22}
             add     w24, w19, #1
             cmp     w24, w21
             bhs     G_M55254_IG19
-            ldrb    w25, [x22, w24, UXTW #2]
-            mov     x20, xzr
-            ; gcrRegs +[x20]
+            ldrb    w20, [x22, w24, UXTW #2]
+            mov     x24, xzr
+            ; gcrRegs +[x24]
             add     w0, w19, #2
             cmp     w0, w21
             bhs     G_M55254_IG19
@@ -457,10 +457,10 @@ G_M55254_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=400000 {x22}
             bhs     G_M55254_IG19
             add     w11, w19, #3
             ldrb    w11, [x22, w11, UXTW #2]
-            add     w24, w0, w11,  LSL #8
-            tst     w24, #3
+            add     w25, w0, w11,  LSL #8
+            tst     w25, #3
             bne     G_M55254_IG20
-            sub     w26, w24, #4
+            sub     w26, w25, #4
             cmp     w26, #0
             ble     G_M55254_IG12
             sxtw    x0, w26
@@ -468,21 +468,21 @@ G_M55254_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=400000 {x22}
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x11]
             blr     x1
-            ; gcrRegs -[x20] +[x0]
+            ; gcrRegs -[x24] +[x0]
             ; gcr arg pop 0
-            mov     x20, x0
-            ; gcrRegs +[x20]
+            mov     x24, x0
+            ; gcrRegs +[x24]
             mov     w11, wzr
-            ldr     w0, [x20, #0x08]
+            ldr     w0, [x24, #0x08]
             ; gcrRegs -[x0]
             cmp     w0, w26
             blt     G_M55254_IG11
-            add     w0, w19, w24
+            add     w0, w19, w25
             sub     w0, w0, w26
-            add     x1, x20, #16
+            add     x1, x24, #16
             ; byrRegs +[x1]
                        ;; size=136 bbWeight=0.50 PerfScore 16.75
-G_M55254_IG09:        ; bbWeight=3.96, gcrefRegs=100000 {x20}, byrefRegs=400002 {x1 x22}, byref, isz
+G_M55254_IG09:        ; bbWeight=3.96, gcrefRegs=1000000 {x24}, byrefRegs=400002 {x1 x22}, byref, isz
             add     w2, w0, w11
             cmp     w2, w21
             bhs     G_M55254_IG19
@@ -492,28 +492,28 @@ G_M55254_IG09:        ; bbWeight=3.96, gcrefRegs=100000 {x20}, byrefRegs=400002
             cmp     w11, w26
             blt     G_M55254_IG09
                        ;; size=32 bbWeight=3.96 PerfScore 31.68
-G_M55254_IG10:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=400000 {x22}, byref
+G_M55254_IG10:        ; bbWeight=0.50, gcrefRegs=1000000 {x24}, byrefRegs=400000 {x22}, byref
             ; byrRegs -[x1]
             b       G_M55254_IG12
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M55254_IG11:        ; bbWeight=0.04, gcrefRegs=100000 {x20}, byrefRegs=400000 {x22}, byref, isz
-            add     w0, w19, w24
+G_M55254_IG11:        ; bbWeight=0.04, gcrefRegs=1000000 {x24}, byrefRegs=400000 {x22}, byref, isz
+            add     w0, w19, w25
             sub     w0, w0, w26
             add     w2, w0, w11
             cmp     w2, w21
             bhs     G_M55254_IG19
             ldrb    w3, [x22, w2, UXTW #2]
-            ldr     w1, [x20, #0x08]
+            ldr     w1, [x24, #0x08]
             cmp     w11, w1
             bhs     G_M55254_IG19
-            add     x1, x20, #16
+            add     x1, x24, #16
             ; byrRegs +[x1]
             strb    w3, [x1, w11, UXTW #2]
             add     w11, w11, #1
             cmp     w11, w26
             blt     G_M55254_IG11
                        ;; size=56 bbWeight=0.04 PerfScore 0.56
-G_M55254_IG12:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=400000 {x22}, byref
+G_M55254_IG12:        ; bbWeight=0.50, gcrefRegs=1000000 {x24}, byrefRegs=400000 {x22}, byref
             ; byrRegs -[x1]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
@@ -521,23 +521,20 @@ G_M55254_IG12:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=400000
             blr     x0
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            mov     x24, x0
-            ; gcrRegs +[x24]
-            mov     x3, x20
+            mov     x25, x0
+            ; gcrRegs +[x25]
+            mov     x3, x24
             ; gcrRegs +[x3]
             mov     w1, w23
-            mov     w2, w25
+            mov     w2, w20
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x4, [x11]
             blr     x4
-            ; gcrRegs -[x0 x3 x20]
+            ; gcrRegs -[x0 x3 x24]
             ; gcr arg pop 0
-            mov     x25, x24
-            ; gcrRegs +[x25]
-                       ;; size=52 bbWeight=0.50 PerfScore 6.25
+                       ;; size=48 bbWeight=0.50 PerfScore 6.00
 G_M55254_IG13:        ; bbWeight=1, gcrefRegs=2000000 {x25}, byrefRegs=400000 {x22}, byref, isz
-            ; gcrRegs -[x24]
             mov     x0, x25
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -589,7 +586,7 @@ G_M55254_IG16:        ; bbWeight=0.50, gcrefRegs=2000000 {x25}, byrefRegs=400000
             bhs     G_M55254_IG19
             add     w11, w19, #3
             ldrb    w11, [x22, w11, UXTW #2]
-            add     w20, w0, w11,  LSL #8
+            add     w21, w0, w11,  LSL #8
             mov     x0, x25
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -599,7 +596,7 @@ G_M55254_IG16:        ; bbWeight=0.50, gcrefRegs=2000000 {x25}, byrefRegs=400000
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            cmp     w20, w0
+            cmp     w21, w0
             beq     G_M55254_IG17
             add     w0, w19, #2
             ldrb    w0, [x22, w0, UXTW #2]
@@ -686,7 +683,7 @@ G_M55254_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_windows #0
                        ;; size=104 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1736, prolog size 72, PerfScore 262.99, instruction count 434, allocated bytes for code 1736 (MethodHash=1d7f2829) for method System.Security.AccessControl.GenericAce:CreateFromBinaryForm(ubyte[],int):System.Security.AccessControl.GenericAce (FullOpts)
+; Total bytes of code 1732, prolog size 72, PerfScore 262.74, instruction count 433, allocated bytes for code 1732 (MethodHash=1d7f2829) for method System.Security.AccessControl.GenericAce:CreateFromBinaryForm(ubyte[],int):System.Security.AccessControl.GenericAce (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -697,7 +694,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 434 (0x001b2) Actual length = 1736 (0x0006c8)
+  Function Length   : 433 (0x001b1) Actual length = 1732 (0x0006c4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-0.19%) : 480.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
@@ -17,11 +17,11 @@
 ;  V05 loc0         [V05,T01] ( 39, 73.12)     int  ->  x24        
 ;  V06 loc1         [V06,T03] (  6, 67.36)     int  ->  [fp+0x6C] 
 ;  V07 loc2         [V07,T46] (  6,  4.08)     ref  ->  x23         class-hnd exact single-def <System.Type[]>
-;  V08 loc3         [V08,T41] (  7,  7.54)     ref  ->  x21         class-hnd single-def <System.Reflection.MethodBase[]>
+;  V08 loc3         [V08,T41] (  7,  7.54)     ref  ->  x22         class-hnd single-def <System.Reflection.MethodBase[]>
 ;  V09 loc4         [V09,T32] ( 10, 12   )     int  ->  registers  
-;  V10 loc5         [V10,T33] (  9, 11.50)     int  ->  x20        
-;  V11 loc6         [V11,T44] (  6,  5   )   ubyte  ->  x26        
-;  V12 loc7         [V12,T36] (  9,  9.58)     ref  ->  x27         class-hnd exact single-def <int[]>
+;  V10 loc5         [V10,T33] (  9, 11.50)     int  ->  x27        
+;  V11 loc6         [V11,T44] (  6,  5   )   ubyte  ->  x20        
+;  V12 loc7         [V12,T36] (  9,  9.58)     ref  ->  x26         class-hnd exact single-def <int[]>
 ;  V13 loc8         [V13,T48] (  3,  1   )     ref  ->   x0         class-hnd single-def <System.Reflection.MethodBase>
 ;  V14 loc9         [V14,T23] (  3, 23.84)     ref  ->  x27         class-hnd <System.Reflection.ParameterInfo[]>
 ;  V15 loc10        [V15,T07] (  5, 47.52)     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Type>
@@ -35,7 +35,7 @@
 ;  V23 tmp4         [V23,T52] (  3,  0   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V24 tmp5         [V24,T54] (  2,  0   )     ref  ->  x19         class-hnd single-def "finalizable newobj spill" <<unknown class>>
 ;* V25 tmp6         [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "non-inline candidate call" <System.Type>
-;  V26 tmp7         [V26,T29] (  4, 16   )     int  ->  x22         "impSpillLclRefs"
+;  V26 tmp7         [V26,T29] (  4, 16   )     int  ->  x21         "impSpillLclRefs"
 ;  V27 tmp8         [V27,T39] (  2,  8   )     ref  ->  x15         class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.MethodBase>
 ;* V28 tmp9         [V28,T47] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V29 tmp10        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
@@ -67,10 +67,10 @@
 ;* V55 cse4         [V55,T49] (  0,  0   )    long  ->  zero-ref    "CSE - conservative"
 ;  V56 cse5         [V56,T50] (  5,  0.18)    long  ->  x28         "CSE - conservative"
 ;  V57 cse6         [V57,T11] ( 15, 35.92)     int  ->  x25         multi-def "CSE - aggressive"
-;  V58 cse7         [V58,T19] ( 13, 29.46)   byref  ->  x28         hoist multi-def "CSE - moderate"
+;  V58 cse7         [V58,T19] ( 13, 29.46)   byref  ->  x23         hoist multi-def "CSE - moderate"
 ;  V59 cse8         [V59,T06] ( 11, 50.64)   byref  ->  [fp+0x18]  hoist multi-def "CSE - aggressive"
 ;  V60 cse9         [V60,T09] (  3, 47.52)   byref  ->  [fp+0x10]  spill-single-def multi-def "CSE - aggressive"
-;  V61 cse10        [V61,T31] ( 10, 13.54)     int  ->  x23         "CSE - moderate"
+;  V61 cse10        [V61,T31] ( 10, 13.54)     int  ->  x28         "CSE - moderate"
 ;  V62 cse11        [V62,T37] (  6,  8   )     int  ->  x22         "CSE - moderate"
 ;  V63 cse12        [V63,T45] (  4,  4.54)   byref  ->   x0         hoist multi-def "CSE - conservative"
 ;  V64 cse13        [V64,T43] (  4,  5.04)   byref  ->  x25         hoist multi-def "CSE - moderate"
@@ -301,20 +301,20 @@ G_M46704_IG12:        ; bbWeight=1, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=00
             blr     x1
             ; gcrRegs -[x21 x23]
             ; gcr arg pop 0
-            mov     x21, x0
-            ; gcrRegs +[x21]
-            mov     w22, wzr
+            mov     x22, x0
+            ; gcrRegs +[x22]
+            mov     w21, wzr
             mov     w24, wzr
-            ldr     w23, [x21, #0x08]
-            cmp     w23, #0
+            ldr     w28, [x22, #0x08]
+            cmp     w28, #0
             ble     G_M46704_IG28
                        ;; size=60 bbWeight=1 PerfScore 17.00
-G_M46704_IG13:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG13:        ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
-            add     x28, x21, #16
-            ; byrRegs +[x28]
+            add     x23, x22, #16
+            ; byrRegs +[x23]
             ubfiz   x26, x24, #3, #32
-            ldr     x0, [x28, x26]
+            ldr     x0, [x23, x26]
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
@@ -329,12 +329,12 @@ G_M46704_IG13:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
             cmp     w0, w25
             bne     G_M46704_IG27
                        ;; size=48 bbWeight=4 PerfScore 70.00
-G_M46704_IG14:        ; bbWeight=2, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG14:        ; bbWeight=2, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
             mov     w1, wzr
             cmp     w25, #0
             ble     G_M46704_IG17
                        ;; size=12 bbWeight=2 PerfScore 4.00
-G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
             add     x2, x27, #16
             ; byrRegs +[x2]
             str     x2, [fp, #0x10]    // [V60 cse9]
@@ -386,7 +386,7 @@ G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=8380000 {x19 x20 x21 x27}, byr
             ; gcr arg pop 0
             cbz     w0, G_M46704_IG18
                        ;; size=120 bbWeight=15.84 PerfScore 657.36
-G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref
+G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref
             ldr     x0, [fp, #0x28]  // [V36 tmp17]
             ; gcrRegs +[x0]
             ldr     x11, [fp, #0x48]   // [V66 cse15]
@@ -407,13 +407,13 @@ G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byre
             ; gcr arg pop 0
             b       G_M46704_IG19
                        ;; size=48 bbWeight=7.92 PerfScore 154.44
-G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, gcvars, byref
+G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, gcvars, byref
             ; gcrRegs -[x27]
             ; GC ptr vars -{V15 V59}
             str     w1, [fp, #0x6C]    // [V06 loc1]
             b       G_M46704_IG26
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M46704_IG18:        ; bbWeight=7.92, gcVars=00000000000000E1 {V15 V35 V36 V59}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+G_M46704_IG18:        ; bbWeight=7.92, gcVars=00000000000000E1 {V15 V35 V36 V59}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs +[x27]
             ; GC ptr vars +{V00 V05 V06 V07 V15 V35 V36 V59}
             ldr     x0, [fp, #0x28]    // [V36 tmp17]
@@ -430,12 +430,12 @@ G_M46704_IG18:        ; bbWeight=7.92, gcVars=00000000000000E1 {V15 V35 V36 V59}
             beq     G_M46704_IG24
             b       G_M46704_IG20
                        ;; size=36 bbWeight=7.92 PerfScore 122.76
-G_M46704_IG19:        ; bbWeight=7.92, gcVars=00000000000000C0 {V15 V59}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+G_M46704_IG19:        ; bbWeight=7.92, gcVars=00000000000000C0 {V15 V59}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs -[x0-x1]
             ; GC ptr vars -{V35}
             cbnz    w0, G_M46704_IG24
                        ;; size=4 bbWeight=7.92 PerfScore 7.92
-G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // const ptr
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x1]
@@ -474,7 +474,7 @@ G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byre
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
             cbz     w0, G_M46704_IG21
-            ldr     x0, [x28, x26]
+            ldr     x0, [x23, x26]
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
@@ -503,7 +503,7 @@ G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byre
             ; GC ptr vars +{V16}
             cbz     x1, G_M46704_IG26
                        ;; size=172 bbWeight=7.92 PerfScore 463.32
-G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000090 {V15 V16}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000090 {V15 V16}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs -[x0-x1]
             ldr     x0, [fp, #0x40]    // [V15 loc10]
             ; gcrRegs +[x0]
@@ -583,11 +583,11 @@ G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000090 {V15 V16}, gcrefR
             ; gcr arg pop 0
             cbnz    w0, G_M46704_IG24
                        ;; size=216 bbWeight=7.92 PerfScore 621.72
-G_M46704_IG22:        ; bbWeight=8, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, byref
+G_M46704_IG22:        ; bbWeight=2, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, byref
             ; gcrRegs -[x27]
             b       G_M46704_IG26
-                        ;; size=4 bbWeight=8 PerfScore 8.00
-G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000090 {V15 V16}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+                      ;; size=4 bbWeight=2 PerfScore 2.00
+G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000090 {V15 V16}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs +[x27]
             ; GC ptr vars +{V07 V15 V16}
             ldp     x1, x0, [fp, #0x38]    // [V16 loc11], [V15 loc10]
@@ -601,48 +601,47 @@ G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000090 {V15 V16}, gcrefR
             ; gcr arg pop 0
             cbz     w0, G_M46704_IG26
                        ;; size=24 bbWeight=7.92 PerfScore 71.28
-G_M46704_IG24:        ; bbWeight=15.84, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
-            ldr     w14, [fp, #0x6C]   // [V06 loc1]
-            add     w14, w14, #1
-            cmp     w25, w14
-            mov     w1, w14
+G_M46704_IG24:        ; bbWeight=15.84, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
+            ldr     w1, [fp, #0x6C]    // [V06 loc1]
+            add     w1, w1, #1
+            cmp     w25, w1
             bgt     G_M46704_IG15
-                     ;; size=20 bbWeight=15.84 PerfScore 71.28
-G_M46704_IG25:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, byref
+                      ;; size=16 bbWeight=15.84 PerfScore 63.36
+G_M46704_IG25:        ; bbWeight=2, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, byref
             ; gcrRegs -[x27]
             str     w1, [fp, #0x6C]    // [V06 loc1]
                        ;; size=4 bbWeight=2 PerfScore 2.00
-G_M46704_IG26:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG26:        ; bbWeight=2, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, byref, isz
             ldr     w1, [fp, #0x6C]    // [V06 loc1]
             cmp     w25, w1
             bne     G_M46704_IG27
-            add     w14, w22, #1
+            add     w14, w21, #1
             sxtw    w27, w14
-            ldr     x15, [x28, x26]
+            ldr     x15, [x23, x26]
             ; gcrRegs +[x15]
-            cmp     w22, w23
+            cmp     w21, w28
             bhs     G_M46704_IG49
-            add     x14, x28, x22,  LSL #3
+            add     x14, x23, x21,  LSL #3
             ; byrRegs +[x14]
             adrp    x12, [HIGH RELOC #0xD1FFAB1E]      // CORINFO_HELP_CHECKED_ASSIGN_REF
             add     x12, x12, [LOW RELOC #0xD1FFAB1E]
             ldr     x12, [x12]
             blr     x12
             ; gcrRegs -[x15]
-            ; byrRegs -[x14 x28]
-            mov     w22, w27
+            ; byrRegs -[x14 x23]
+            mov     w21, w27
                        ;; size=56 bbWeight=2 PerfScore 31.00
-G_M46704_IG27:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG27:        ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
-            cmp     w23, w24
+            cmp     w28, w24
             bgt     G_M46704_IG13
                        ;; size=12 bbWeight=4 PerfScore 8.00
-G_M46704_IG28:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG28:        ; bbWeight=1, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x20]
-            cbnz    w22, G_M46704_IG31
+            cbnz    w21, G_M46704_IG31
                       ;; size=4 bbWeight=1 PerfScore 1.00
 G_M46704_IG29:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x19 x21]
+            ; gcrRegs -[x19 x22]
             mov     x0, xzr
             ; gcrRegs +[x0]
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
@@ -655,13 +654,13 @@ G_M46704_IG30:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0xC0
             ret     lr
                        ;; size=28 bbWeight=0.50 PerfScore 3.50
-G_M46704_IG31:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs -[x0] +[x19 x21]
-            cmp     w22, #1
+G_M46704_IG31:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs -[x0] +[x19 x22]
+            cmp     w21, #1
             bne     G_M46704_IG33
-            cmp     w23, #0
+            cmp     w28, #0
             bls     G_M46704_IG49
-            ldr     x0, [x21, #0x10]
+            ldr     x0, [x22, #0x10]
             ; gcrRegs +[x0]
                        ;; size=20 bbWeight=0.50 PerfScore 3.00
 G_M46704_IG32:        ; bbWeight=0.50, epilog, nogc, extend
@@ -673,10 +672,10 @@ G_M46704_IG32:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0xC0
             ret     lr
                        ;; size=28 bbWeight=0.50 PerfScore 3.50
-G_M46704_IG33:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG33:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
+            mov     w27, wzr
...
  
-4 (-0.19%) : 1179.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
@@ -17,11 +17,11 @@
 ;  V05 loc0         [V05,T01] ( 39, 73.12)     int  ->  x24        
 ;  V06 loc1         [V06,T03] (  6, 67.36)     int  ->  [fp+0x6C] 
 ;  V07 loc2         [V07,T46] (  6,  4.08)     ref  ->  x23         class-hnd exact single-def <System.Type[]>
-;  V08 loc3         [V08,T41] (  7,  7.54)     ref  ->  x21         class-hnd single-def <System.Reflection.MethodBase[]>
+;  V08 loc3         [V08,T41] (  7,  7.54)     ref  ->  x22         class-hnd single-def <System.Reflection.MethodBase[]>
 ;  V09 loc4         [V09,T32] ( 10, 12   )     int  ->  registers  
-;  V10 loc5         [V10,T33] (  9, 11.50)     int  ->  x20        
-;  V11 loc6         [V11,T44] (  6,  5   )   ubyte  ->  x26        
-;  V12 loc7         [V12,T36] (  9,  9.58)     ref  ->  x27         class-hnd exact single-def <int[]>
+;  V10 loc5         [V10,T33] (  9, 11.50)     int  ->  x27        
+;  V11 loc6         [V11,T44] (  6,  5   )   ubyte  ->  x20        
+;  V12 loc7         [V12,T36] (  9,  9.58)     ref  ->  x26         class-hnd exact single-def <int[]>
 ;  V13 loc8         [V13,T23] (  3, 23.84)     ref  ->  x27         class-hnd <System.Reflection.ParameterInfo[]>
 ;  V14 loc9         [V14,T07] (  5, 47.52)     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Type>
 ;  V15 loc10        [V15,T04] (  8, 63.36)     ref  ->  [fp+0x38]  class-hnd <System.Type>
@@ -34,7 +34,7 @@
 ;  V22 tmp4         [V22,T51] (  3,  0   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V23 tmp5         [V23,T54] (  2,  0   )     ref  ->  x19         class-hnd single-def "finalizable newobj spill" <<unknown class>>
 ;* V24 tmp6         [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "non-inline candidate call" <System.Type>
-;  V25 tmp7         [V25,T29] (  4, 16   )     int  ->  x22         "impSpillLclRefs"
+;  V25 tmp7         [V25,T29] (  4, 16   )     int  ->  x21         "impSpillLclRefs"
 ;  V26 tmp8         [V26,T39] (  2,  8   )     ref  ->  x15         class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.MethodBase>
 ;  V27 tmp9         [V27,T52] (  3,  0   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V28 tmp10        [V28,T55] (  2,  0   )     ref  ->  x19         class-hnd single-def "finalizable newobj spill" <<unknown class>>
@@ -68,10 +68,10 @@
 ;* V56 cse4         [V56,T48] (  0,  0   )    long  ->  zero-ref    "CSE - conservative"
 ;  V57 cse5         [V57,T49] (  5,  0.18)    long  ->  x28         "CSE - conservative"
 ;  V58 cse6         [V58,T11] ( 15, 35.92)     int  ->  x25         multi-def "CSE - aggressive"
-;  V59 cse7         [V59,T19] ( 13, 29.46)   byref  ->  x28         hoist multi-def "CSE - moderate"
+;  V59 cse7         [V59,T19] ( 13, 29.46)   byref  ->  x23         hoist multi-def "CSE - moderate"
 ;  V60 cse8         [V60,T06] ( 11, 50.64)   byref  ->  [fp+0x18]  hoist multi-def "CSE - aggressive"
 ;  V61 cse9         [V61,T09] (  3, 47.52)   byref  ->  [fp+0x10]  spill-single-def multi-def "CSE - aggressive"
-;  V62 cse10        [V62,T31] ( 10, 13.54)     int  ->  x23         "CSE - moderate"
+;  V62 cse10        [V62,T31] ( 10, 13.54)     int  ->  x28         "CSE - moderate"
 ;  V63 cse11        [V63,T37] (  6,  8   )     int  ->  x22         "CSE - moderate"
 ;  V64 cse12        [V64,T45] (  4,  4.54)   byref  ->   x0         hoist multi-def "CSE - conservative"
 ;  V65 cse13        [V65,T43] (  4,  5.04)   byref  ->  x25         hoist multi-def "CSE - moderate"
@@ -302,20 +302,20 @@ G_M46704_IG12:        ; bbWeight=1, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=00
             blr     x1
             ; gcrRegs -[x21 x23]
             ; gcr arg pop 0
-            mov     x21, x0
-            ; gcrRegs +[x21]
-            mov     w22, wzr
+            mov     x22, x0
+            ; gcrRegs +[x22]
+            mov     w21, wzr
             mov     w24, wzr
-            ldr     w23, [x21, #0x08]
-            cmp     w23, #0
+            ldr     w28, [x22, #0x08]
+            cmp     w28, #0
             ble     G_M46704_IG28
                        ;; size=60 bbWeight=1 PerfScore 17.00
-G_M46704_IG13:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG13:        ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
-            add     x28, x21, #16
-            ; byrRegs +[x28]
+            add     x23, x22, #16
+            ; byrRegs +[x23]
             ubfiz   x26, x24, #3, #32
-            ldr     x0, [x28, x26]
+            ldr     x0, [x23, x26]
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
@@ -330,12 +330,12 @@ G_M46704_IG13:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
             cmp     w0, w25
             bne     G_M46704_IG27
                        ;; size=48 bbWeight=4 PerfScore 70.00
-G_M46704_IG14:        ; bbWeight=2, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG14:        ; bbWeight=2, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
             mov     w1, wzr
             cmp     w25, #0
             ble     G_M46704_IG17
                        ;; size=12 bbWeight=2 PerfScore 4.00
-G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
             add     x2, x27, #16
             ; byrRegs +[x2]
             str     x2, [fp, #0x10]    // [V61 cse9]
@@ -387,7 +387,7 @@ G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=8380000 {x19 x20 x21 x27}, byr
             ; gcr arg pop 0
             cbz     w0, G_M46704_IG18
                        ;; size=120 bbWeight=15.84 PerfScore 657.36
-G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref
+G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref
             ldr     x0, [fp, #0x28]  // [V37 tmp19]
             ; gcrRegs +[x0]
             ldr     x11, [fp, #0x48]   // [V67 cse15]
@@ -408,13 +408,13 @@ G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byre
             ; gcr arg pop 0
             b       G_M46704_IG19
                        ;; size=48 bbWeight=7.92 PerfScore 154.44
-G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, gcvars, byref
+G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, gcvars, byref
             ; gcrRegs -[x27]
             ; GC ptr vars -{V14 V60}
             str     w1, [fp, #0x6C]    // [V06 loc1]
             b       G_M46704_IG26
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M46704_IG18:        ; bbWeight=7.92, gcVars=00000000000000E1 {V14 V36 V37 V60}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+G_M46704_IG18:        ; bbWeight=7.92, gcVars=00000000000000E1 {V14 V36 V37 V60}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs +[x27]
             ; GC ptr vars +{V00 V05 V06 V07 V14 V36 V37 V60}
             ldr     x0, [fp, #0x28]    // [V37 tmp19]
@@ -431,12 +431,12 @@ G_M46704_IG18:        ; bbWeight=7.92, gcVars=00000000000000E1 {V14 V36 V37 V60}
             beq     G_M46704_IG24
             b       G_M46704_IG20
                        ;; size=36 bbWeight=7.92 PerfScore 122.76
-G_M46704_IG19:        ; bbWeight=7.92, gcVars=00000000000000C0 {V14 V60}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+G_M46704_IG19:        ; bbWeight=7.92, gcVars=00000000000000C0 {V14 V60}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs -[x0-x1]
             ; GC ptr vars -{V36}
             cbnz    w0, G_M46704_IG24
                        ;; size=4 bbWeight=7.92 PerfScore 7.92
-G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // const ptr
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x1]
@@ -475,7 +475,7 @@ G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byre
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
             cbz     w0, G_M46704_IG21
-            ldr     x0, [x28, x26]
+            ldr     x0, [x23, x26]
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
@@ -504,7 +504,7 @@ G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=8380000 {x19 x20 x21 x27}, byre
             ; GC ptr vars +{V15}
             cbz     x1, G_M46704_IG26
                        ;; size=172 bbWeight=7.92 PerfScore 463.32
-G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000090 {V14 V15}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000090 {V14 V15}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs -[x0-x1]
             ldr     x0, [fp, #0x40]    // [V14 loc9]
             ; gcrRegs +[x0]
@@ -584,11 +584,11 @@ G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000090 {V14 V15}, gcrefR
             ; gcr arg pop 0
             cbnz    w0, G_M46704_IG24
                        ;; size=216 bbWeight=7.92 PerfScore 621.72
-G_M46704_IG22:        ; bbWeight=8, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, byref
+G_M46704_IG22:        ; bbWeight=2, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, byref
             ; gcrRegs -[x27]
             b       G_M46704_IG26
-                        ;; size=4 bbWeight=8 PerfScore 8.00
-G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000090 {V14 V15}, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
+                      ;; size=4 bbWeight=2 PerfScore 2.00
+G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000090 {V14 V15}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs +[x27]
             ; GC ptr vars +{V07 V14 V15}
             ldp     x1, x0, [fp, #0x38]    // [V15 loc10], [V14 loc9]
@@ -602,48 +602,47 @@ G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000090 {V14 V15}, gcrefR
             ; gcr arg pop 0
             cbz     w0, G_M46704_IG26
                        ;; size=24 bbWeight=7.92 PerfScore 71.28
-G_M46704_IG24:        ; bbWeight=15.84, gcrefRegs=8380000 {x19 x20 x21 x27}, byrefRegs=10000000 {x28}, byref, isz
-            ldr     w14, [fp, #0x6C]   // [V06 loc1]
-            add     w14, w14, #1
-            cmp     w25, w14
-            mov     w1, w14
+G_M46704_IG24:        ; bbWeight=15.84, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=800000 {x23}, byref, isz
+            ldr     w1, [fp, #0x6C]    // [V06 loc1]
+            add     w1, w1, #1
+            cmp     w25, w1
             bgt     G_M46704_IG15
-                     ;; size=20 bbWeight=15.84 PerfScore 71.28
-G_M46704_IG25:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, byref
+                      ;; size=16 bbWeight=15.84 PerfScore 63.36
+G_M46704_IG25:        ; bbWeight=2, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, byref
             ; gcrRegs -[x27]
             str     w1, [fp, #0x6C]    // [V06 loc1]
                        ;; size=4 bbWeight=2 PerfScore 2.00
-G_M46704_IG26:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10000000 {x28}, byref, isz
+G_M46704_IG26:        ; bbWeight=2, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=800000 {x23}, byref, isz
             ldr     w1, [fp, #0x6C]    // [V06 loc1]
             cmp     w25, w1
             bne     G_M46704_IG27
-            add     w14, w22, #1
+            add     w14, w21, #1
             sxtw    w27, w14
-            ldr     x15, [x28, x26]
+            ldr     x15, [x23, x26]
             ; gcrRegs +[x15]
-            cmp     w22, w23
+            cmp     w21, w28
             bhs     G_M46704_IG49
-            add     x14, x28, x22,  LSL #3
+            add     x14, x23, x21,  LSL #3
             ; byrRegs +[x14]
             adrp    x12, [HIGH RELOC #0xD1FFAB1E]      // CORINFO_HELP_CHECKED_ASSIGN_REF
             add     x12, x12, [LOW RELOC #0xD1FFAB1E]
             ldr     x12, [x12]
             blr     x12
             ; gcrRegs -[x15]
-            ; byrRegs -[x14 x28]
-            mov     w22, w27
+            ; byrRegs -[x14 x23]
+            mov     w21, w27
                        ;; size=56 bbWeight=2 PerfScore 31.00
-G_M46704_IG27:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG27:        ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
-            cmp     w23, w24
+            cmp     w28, w24
             bgt     G_M46704_IG13
                        ;; size=12 bbWeight=4 PerfScore 8.00
-G_M46704_IG28:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG28:        ; bbWeight=1, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x20]
-            cbnz    w22, G_M46704_IG31
+            cbnz    w21, G_M46704_IG31
                       ;; size=4 bbWeight=1 PerfScore 1.00
 G_M46704_IG29:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x19 x21]
+            ; gcrRegs -[x19 x22]
             mov     x0, xzr
             ; gcrRegs +[x0]
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
@@ -656,13 +655,13 @@ G_M46704_IG30:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0xC0
             ret     lr
                        ;; size=28 bbWeight=0.50 PerfScore 3.50
-G_M46704_IG31:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs -[x0] +[x19 x21]
-            cmp     w22, #1
+G_M46704_IG31:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs -[x0] +[x19 x22]
+            cmp     w21, #1
             bne     G_M46704_IG33
-            cmp     w23, #0
+            cmp     w28, #0
             bls     G_M46704_IG49
-            ldr     x0, [x21, #0x10]
+            ldr     x0, [x22, #0x10]
             ; gcrRegs +[x0]
                        ;; size=20 bbWeight=0.50 PerfScore 3.00
 G_M46704_IG32:        ; bbWeight=0.50, epilog, nogc, extend
@@ -674,10 +673,10 @@ G_M46704_IG32:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0xC0
             ret     lr
                        ;; size=28 bbWeight=0.50 PerfScore 3.50
-G_M46704_IG33:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG33:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
+            mov     w27, wzr
...
  
+0 (0.00%) : 1242.dasm - System.CommandLine.Helpers:AppendExpandedPaths(System.Collections.Generic.Dictionary`2[System.String,System.String],System.String,ubyte) (FullOpts)
@@ -21,8 +21,8 @@
 ;  V09 loc6         [V09,T02] (  3, 10   )     ref  ->  x22         class-hnd <System.String>
 ;  V10 loc7         [V10    ] (  2,  4   )     ref  ->  [fp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String>
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V12 tmp1         [V12,T18] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.CommandLine.CommandLineException>
-;  V13 tmp2         [V13,T19] (  3,  0   )     ref  ->  x20         class-hnd exact "NewObj constructor temp" <System.CommandLine.CommandLineException>
+;  V12 tmp1         [V12,T18] (  3,  0   )     ref  ->  x28         class-hnd exact single-def "NewObj constructor temp" <System.CommandLine.CommandLineException>
+;  V13 tmp2         [V13,T19] (  3,  0   )     ref  ->  x19         class-hnd exact "NewObj constructor temp" <System.CommandLine.CommandLineException>
 ;* V14 tmp3         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.String>
 ;* V15 tmp4         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.String>
 ;  V16 tmp5         [V16,T14] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
@@ -196,10 +196,10 @@ G_M40753_IG09:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ; gcr arg pop 0
             cbnz    w0, G_M40753_IG07
                        ;; size=24 bbWeight=4 PerfScore 32.00
-G_M40753_IG10:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
+G_M40753_IG10:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
             b       G_M40753_IG13
-                        ;; size=4 bbWeight=0.50 PerfScore 0.50
+                        ;; size=4 bbWeight=1 PerfScore 1.00
 G_M40753_IG11:        ; bbWeight=0, gcrefRegs=10000000 {x28}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x20] +[x28]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -208,8 +208,8 @@ G_M40753_IG11:        ; bbWeight=0, gcrefRegs=10000000 {x28}, byrefRegs=0000 {},
             blr     x0
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            mov     x20, x0
-            ; gcrRegs +[x20]
+            mov     x19, x0
+            ; gcrRegs +[x19]
             adrp    x2, [HIGH RELOC #0xD1FFAB1E]      // const ptr
             add     x2, x2, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x2]
@@ -233,20 +233,20 @@ G_M40753_IG11:        ; bbWeight=0, gcrefRegs=10000000 {x28}, byrefRegs=0000 {},
             ; gcr arg pop 0
             mov     x1, x0
             ; gcrRegs +[x1]
-            mov     x0, x20
+            mov     x0, x19
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            mov     x0, x20
+            mov     x0, x19
             ; gcrRegs +[x0]
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x1]
             blr     x1
-            ; gcrRegs -[x0 x20]
+            ; gcrRegs -[x0 x19]
             ; gcr arg pop 0
                        ;; size=120 bbWeight=0 PerfScore 0.00
 G_M40753_IG12:        ; bbWeight=2, gcrefRegs=10580000 {x19 x20 x22 x28}, byrefRegs=0000 {}, byref
@@ -318,8 +318,8 @@ G_M40753_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=100000
             blr     x0
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            mov     x19, x0
-            ; gcrRegs +[x19]
+            mov     x28, x0
+            ; gcrRegs +[x28]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // const ptr
             ; gcrRegs -[x0]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
@@ -336,20 +336,20 @@ G_M40753_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=100000
             ; gcr arg pop 0
             mov     x1, x0
             ; gcrRegs +[x1]
-            mov     x0, x19
+            mov     x0, x28
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x11]
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            mov     x0, x19
+            mov     x0, x28
             ; gcrRegs +[x0]
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x1]
             blr     x1
-            ; gcrRegs -[x0 x19]
+            ; gcrRegs -[x0 x28]
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=104 bbWeight=0 PerfScore 0.00
@@ -386,7 +386,7 @@ G_M40753_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 860, prolog size 52, PerfScore 242.75, instruction count 215, allocated bytes for code 860 (MethodHash=e8c560ce) for method System.CommandLine.Helpers:AppendExpandedPaths(System.Collections.Generic.Dictionary`2[System.String,System.String],System.String,ubyte) (FullOpts)
+; Total bytes of code 860, prolog size 52, PerfScore 243.25, instruction count 215, allocated bytes for code 860 (MethodHash=e8c560ce) for method System.CommandLine.Helpers:AppendExpandedPaths(System.Collections.Generic.Dictionary`2[System.String,System.String],System.String,ubyte) (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+8 (+0.22%) : 410.dasm - System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte
@@ -653,11 +653,13 @@ G_M1714_IG29:        ; bbWeight=15.84, gcrefRegs=1780000 {x19 x20 x21 x22 x24},
             cmp     w4, w3
             bgt     G_M1714_IG31
                        ;; size=68 bbWeight=15.84 PerfScore 308.88
-G_M1714_IG30:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, gcvars, byref
+G_M1714_IG30:        ; bbWeight=8, gcVars=00000000000000000000000000000000 {}, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x24]
             ; GC ptr vars -{V17 V18 V19 V20}
+            mov     w24, w2
+            mov     w2, w24
             b       G_M1714_IG36
-                      ;; size=4 bbWeight=2 PerfScore 2.00
+                       ;; size=12 bbWeight=8 PerfScore 16.00
 G_M1714_IG31:        ; bbWeight=7.92, gcVars=00000000000000000000000000180000 {V17 V18}, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars +{V17 V18 V19 V20}
             ldr     x2, [fp, #0x30]    // [V18 loc16]
@@ -1607,7 +1609,7 @@ G_M1714_IG76:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 3608, prolog size 48, PerfScore 2564.16, instruction count 902, allocated bytes for code 3608 (MethodHash=3a03f94d) for method System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte[] (FullOpts)
+; Total bytes of code 3616, prolog size 48, PerfScore 2578.16, instruction count 904, allocated bytes for code 3616 (MethodHash=3a03f94d) for method System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte[] (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -1618,7 +1620,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 880 (0x00370) Actual length = 3520 (0x000dc0)
+  Function Length   : 882 (0x00372) Actual length = 3528 (0x000dc8)
   ---- 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
-4 (-3.57%) : 40825.dasm - Microsoft.CodeAnalysis.CSharp.ObjectDisplay:ContainsNewLine(System.String):ubyte (FullOpts)
@@ -13,8 +13,8 @@
 ;  V02 loc1         [V02,T01] (  5, 17   )     int  ->   x1        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V05 tmp2         [V05,T00] (  6, 44   )  ushort  ->   x0         "Inlining Arg"
-;  V06 cse0         [V06,T04] (  2,  5   )   byref  ->   x3         hoist "CSE - aggressive"
+;  V05 tmp2         [V05,T00] (  6, 44   )  ushort  ->   x3         "Inlining Arg"
+;  V06 cse0         [V06,T04] (  2,  5   )   byref  ->   x0         hoist "CSE - aggressive"
 ;  V07 cse1         [V07,T02] (  3,  6   )     int  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
@@ -28,51 +28,48 @@ G_M7834_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             mov     w1, wzr
             ldr     w2, [x0, #0x08]
             cmp     w2, #0
-            ble     G_M7834_IG09
-            add     x3, x0, #12
-            ; byrRegs +[x3]
-                       ;; size=20 bbWeight=1 PerfScore 5.50
-G_M7834_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref, isz
+            ble     G_M7834_IG06
+            add     x0, x0, #12
             ; gcrRegs -[x0]
-            ldrh    w0, [x3, w1, UXTW #2]
+            ; byrRegs +[x0]
+                       ;; size=20 bbWeight=1 PerfScore 5.50
+G_M7834_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
+            ldrh    w3, [x0, w1, UXTW #2]
             mov     w4, #133
             mov     w5, #0xD1FFAB1E
-            cmp     w0, #13
-            ccmp    w0, #10, z, ne
-            ccmp    w0, w4, z, ne
-            ccmp    w0, w5, z, ne
-            beq     G_M7834_IG07
+            cmp     w3, #13
+            ccmp    w3, #10, z, ne
+            ccmp    w3, w4, z, ne
+            ccmp    w3, w5, z, ne
+            beq     G_M7834_IG08
                        ;; size=32 bbWeight=4 PerfScore 28.00
-G_M7834_IG04:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref, isz
+G_M7834_IG04:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             mov     w4, #0xD1FFAB1E
-            cmp     w0, w4
-            beq     G_M7834_IG07
+            cmp     w3, w4
+            beq     G_M7834_IG08
                        ;; size=12 bbWeight=2 PerfScore 4.00
-G_M7834_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref, isz
+G_M7834_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             add     w1, w1, #1
             cmp     w2, w1
             bgt     G_M7834_IG03
                        ;; size=12 bbWeight=4 PerfScore 8.00
 G_M7834_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x3]
-            b       G_M7834_IG09
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M7834_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #1
-                       ;; size=4 bbWeight=2 PerfScore 1.00
-G_M7834_IG08:        ; bbWeight=2, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=2 PerfScore 4.00
-G_M7834_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            ; byrRegs -[x0]
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M7834_IG10:        ; bbWeight=0.50, epilog, nogc, extend
+G_M7834_IG07:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     fp, lr, [sp], #0x10
+            ret     lr
+                       ;; size=8 bbWeight=0.50 PerfScore 1.00
+G_M7834_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, #1
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M7834_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
 
-; Total bytes of code 112, prolog size 8, PerfScore 53.75, instruction count 28, allocated bytes for code 112 (MethodHash=c046e165) for method Microsoft.CodeAnalysis.CSharp.ObjectDisplay:ContainsNewLine(System.String):ubyte (FullOpts)
+; Total bytes of code 108, prolog size 8, PerfScore 49.50, instruction count 27, allocated bytes for code 108 (MethodHash=c046e165) for method Microsoft.CodeAnalysis.CSharp.ObjectDisplay:ContainsNewLine(System.String):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -83,7 +80,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
+  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-3.57%) : 36703.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
@@ -25,7 +25,7 @@ G_M65070_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ; gcrRegs +[x0]
             mov     x19, x0
             ; gcrRegs +[x19]
-            cbz     x19, G_M65070_IG09
+            cbz     x19, G_M65070_IG06
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M65070_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -39,12 +39,12 @@ G_M65070_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs -[x0]
             mov     w1, #0xD1FFAB1E
             cmp     w0, w1
-            beq     G_M65070_IG07
+            beq     G_M65070_IG08
                        ;; size=36 bbWeight=4 PerfScore 32.00
 G_M65070_IG04:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     w1, #0xD1FFAB1E
             cmp     w0, w1
-            beq     G_M65070_IG07
+            beq     G_M65070_IG08
                        ;; size=12 bbWeight=2 PerfScore 4.00
 G_M65070_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x19, #0x08]
@@ -52,26 +52,23 @@ G_M65070_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
                        ;; size=8 bbWeight=4 PerfScore 16.00
 G_M65070_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
-            b       G_M65070_IG09
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M65070_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #1
-                       ;; size=4 bbWeight=2 PerfScore 1.00
-G_M65070_IG08:        ; bbWeight=2, epilog, nogc, extend
+            mov     w0, wzr
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M65070_IG07:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
-                       ;; size=12 bbWeight=2 PerfScore 8.00
-G_M65070_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            mov     w0, wzr
+                      ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M65070_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, #1
                      ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M65070_IG10:        ; bbWeight=0.50, epilog, nogc, extend
+G_M65070_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 112, prolog size 12, PerfScore 67.75, instruction count 28, allocated bytes for code 112 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
+; Total bytes of code 108, prolog size 12, PerfScore 60.50, instruction count 27, allocated bytes for code 108 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -82,7 +79,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
+  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-28 (-3.37%) : 168818.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>cDisplayClass11_0[ubyte]:gexecuteExecutableCodeActions|2():this (FullOpts)
@@ -22,20 +22,20 @@
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.DeclarationInfo[]>
 ;* V12 tmp5         [V12    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IOperation]>
 ;* V13 tmp6         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ubyte]>
-;  V14 tmp7         [V14,T03] (  4, 12.50)     int  ->   x4         "Inline stloc first use temp"
+;  V14 tmp7         [V14,T03] (  4, 12.50)     int  ->   x3         "Inline stloc first use temp"
 ;  V15 tmp8         [V15,T06] (  5,  5.50)     ref  ->  x19         "field V01.array (fldOffset=0x0)" P-INDEP
 ;  V16 tmp9         [V16,T08] (  2,  4.50)     ref  ->   x1         single-def "field V03._array (fldOffset=0x0)" P-INDEP
-;  V17 tmp10        [V17,T02] (  4, 12.50)     int  ->   x5         "field V03._index (fldOffset=0x8)" P-INDEP
-;  V18 tmp11        [V18,T04] (  3, 10   )     ref  ->   x6         "field V04.<DeclaredNode>k__BackingField (fldOffset=0x0)" P-INDEP
+;  V17 tmp10        [V17,T02] (  4, 12.50)     int  ->   x4         "field V03._index (fldOffset=0x8)" P-INDEP
+;  V18 tmp11        [V18,T04] (  3, 10   )     ref  ->   x5         "field V04.<DeclaredNode>k__BackingField (fldOffset=0x0)" P-INDEP
 ;* V19 tmp12        [V19    ] (  0,  0   )     ref  ->  zero-ref    "field V04.<DeclaredSymbol>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V20 tmp13        [V20,T05] (  2,  6   )     ref  ->   x4         "field V04.<ExecutableCodeBlocks>k__BackingField (fldOffset=0x10)" P-INDEP
+;  V20 tmp13        [V20,T05] (  2,  6   )     ref  ->   x3         "field V04.<ExecutableCodeBlocks>k__BackingField (fldOffset=0x10)" P-INDEP
 ;  V21 tmp14        [V21,T11] (  5,  2   )     ref  ->  [fp+0x18]  do-not-enreg[H] EH-live "field V05.array (fldOffset=0x0)" P-INDEP
-;  V22 tmp15        [V22,T10] (  5,  2.50)     ref  ->  x20         "field V06.array (fldOffset=0x0)" P-INDEP
+;  V22 tmp15        [V22,T10] (  5,  2.50)     ref  ->  x21         "field V06.array (fldOffset=0x0)" P-INDEP
 ;  V23 tmp16        [V23,T12] (  3,  1.50)     ref  ->   x1         single-def "field V09.array (fldOffset=0x0)" P-INDEP
 ;  V24 tmp17        [V24,T13] (  2,  1   )     ref  ->   x1         single-def "field V10._array (fldOffset=0x0)" P-INDEP
 ;* V25 tmp18        [V25,T15] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x8)" P-INDEP
 ;* V26 tmp19        [V26    ] (  0,  0   )     ref  ->  zero-ref    "field V12.array (fldOffset=0x0)" P-INDEP
-;  V27 tmp20        [V27,T00] (  3, 24   )   byref  ->   x4         "BlockOp address local"
+;  V27 tmp20        [V27,T00] (  3, 24   )   byref  ->   x3         "BlockOp address local"
 ;  V28 PSPSym       [V28,T14] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
 ;  V29 cse0         [V29,T07] (  3,  5   )     int  ->   x2         "CSE - aggressive"
 ;
@@ -103,96 +103,95 @@ G_M3645_IG05:        ; bbWeight=0.50, gcVars=0000000000000002 {V00}, gcrefRegs=0
             ldr     wzr, [x0]
             blr     x1
             ; gcr arg pop 0
-            mov     x3, x0
-            ; gcrRegs +[x3]
-            str     x3, [fp, #0x20]    // [V02 loc1]
+            str     x0, [fp, #0x20]  // [V02 loc1]
             ; GC ptr vars +{V02}
-                     ;; size=108 bbWeight=0.50 PerfScore 14.00
-G_M3645_IG06:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=80008 {x3 x19}, byrefRegs=0000 {}, gcvars, byref, isz
+                     ;; size=104 bbWeight=0.50 PerfScore 13.75
+G_M3645_IG06:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [fp, #0x28]  // [V00 this]
-            ; gcrRegs +[x0]
-            ldr     x1, [x0, #0x68]
+            ldr     x20, [fp, #0x28]  // [V00 this]
+            ; gcrRegs +[x20]
+            ldr     x1, [x20, #0x68]
             ; gcrRegs +[x1]
             ldr     w2, [x1, #0x08]
+            mov     w3, wzr
             mov     w4, wzr
-            mov     w5, wzr
             cmp     w2, #0
             ble     G_M3645_IG11
                        ;; size=28 bbWeight=0.50 PerfScore 5.25
-G_M3645_IG07:        ; bbWeight=4, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0000 {}, byref, isz
-            mov     w6, #24
-            mov     x7, #16
-            umaddl  x4, w4, w6, x7
-            add     x4, x1, x4
-            ; byrRegs +[x4]
-            ldr     x6, [x4]
+G_M3645_IG07:        ; bbWeight=4, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=0000 {}, byref, isz
+            mov     w5, #24
+            mov     x6, #16
+            umaddl  x3, w3, w5, x6
+            add     x3, x1, x3
+            ; byrRegs +[x3]
+            ldr     x5, [x3]
+            ; gcrRegs +[x5]
+            ldr     x3, [x3, #0x10]
+            ; gcrRegs +[x3]
+            ; byrRegs -[x3]
+            ldr     x6, [x20, #0x50]
             ; gcrRegs +[x6]
-            ldr     x4, [x4, #0x10]
-            ; gcrRegs +[x4]
-            ; byrRegs -[x4]
-            ldr     x7, [x0, #0x50]
-            ; gcrRegs +[x7]
-            cmp     x6, x7
+            cmp     x5, x6
             beq     G_M3645_IG09
                        ;; size=36 bbWeight=4 PerfScore 68.00
-G_M3645_IG08:        ; bbWeight=2, gcrefRegs=8005B {x0 x1 x3 x4 x6 x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x7]
-            ldr     x7, [x0, #0x48]
-            ; gcrRegs +[x7]
-            cmp     x6, x7
+G_M3645_IG08:        ; bbWeight=2, gcrefRegs=18002A {x1 x3 x5 x19 x20}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x6]
+            ldr     x6, [x20, #0x48]
+            ; gcrRegs +[x6]
+            cmp     x5, x6
             bne     G_M3645_IG10
                        ;; size=12 bbWeight=2 PerfScore 9.00
-G_M3645_IG09:        ; bbWeight=2, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x6-x7 x19]
-            mov     x19, x4
+G_M3645_IG09:        ; bbWeight=2, gcrefRegs=10000A {x1 x3 x20}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x5-x6 x19]
+            mov     x19, x3
             ; gcrRegs +[x19]
-            ldr     w4, [x19, #0x08]
-            ; gcrRegs -[x4]
-            cbnz    w4, G_M3645_IG12
+            ldr     w3, [x19, #0x08]
+            ; gcrRegs -[x3]
+            cbnz    w3, G_M3645_IG12
                        ;; size=12 bbWeight=2 PerfScore 9.00
-G_M3645_IG10:        ; bbWeight=4, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0000 {}, byref, isz
-            add     w4, w5, #1
-            sxtw    w5, w4
-            cmp     w2, w5
+G_M3645_IG10:        ; bbWeight=4, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=0000 {}, byref, isz
+            add     w3, w4, #1
+            sxtw    w4, w3
+            cmp     w2, w4
             bgt     G_M3645_IG07
                        ;; size=16 bbWeight=4 PerfScore 10.00
-G_M3645_IG11:        ; bbWeight=0.50, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0000 {}, byref
+G_M3645_IG11:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x1]
+            mov     x0, x20
+            ; gcrRegs +[x0]
             mov     x1, x19
             ; gcrRegs +[x1]
-            mov     x2, x3
+            ldr     x2, [fp, #0x20]   // [V02 loc1]
             ; gcrRegs +[x2]
-            movz    x4, #0xD1FFAB1E      // code for <unknown method>
-            movk    x4, #0xD1FFAB1E LSL #16
-            movk    x4, #0xD1FFAB1E LSL #32
-            ldr     x4, [x4]
+            movz    x3, #0xD1FFAB1E      // code for <unknown method>
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     x3, [x3]
             ; GC ptr vars -{V00}
-            blr     x4
-            ; gcrRegs -[x0-x3 x19]
+            blr     x3
+            ; gcrRegs -[x0-x2 x19-x20]
             ; gcr arg pop 0
             b       G_M3645_IG17
-                     ;; size=32 bbWeight=0.50 PerfScore 3.75
-G_M3645_IG12:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x3 x19]
+                       ;; size=36 bbWeight=0.50 PerfScore 4.75
+G_M3645_IG12:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x19-x20]
             ; GC ptr vars +{V00}
-            ldrb    w1, [x0, #0x42]
-            ldrb    w2, [x0, #0x44]
+            ldrb    w1, [x20, #0x42]
+            ldrb    w2, [x20, #0x44]
             orr     w1, w1, w2
             cbz     w1, G_M3645_IG13
-            ldr     x0, [x0, #0x08]
-            ldr     x20, [fp, #0x28]   // [V00 this]
-            ; gcrRegs +[x20]
+            ldr     x0, [x20, #0x08]
+            ; gcrRegs +[x0]
             ldr     x1, [x20, #0x18]
             ; gcrRegs +[x1]
-            mov     x2, x3
+            ldr     x2, [fp, #0x20]   // [V02 loc1]
             ; gcrRegs +[x2]
-            movz    x4, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ubyte]:<ExecuteDeclaringReferenceActions>g__addExecutableCodeBlockAnalyzerActions|11_8(Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+GroupedAnalyzerActions[ubyte],Microsoft.CodeAnalysis.Diagnostics.AnalysisScope,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+ExecutableCodeBlockAnalyzerActions[ubyte]])
-            movk    x4, #0xD1FFAB1E LSL #16
-            movk    x4, #0xD1FFAB1E LSL #32
-            ldr     x4, [x4]
-            blr     x4
-            ; gcrRegs -[x0-x3]
+            movz    x3, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ubyte]:<ExecuteDeclaringReferenceActions>g__addExecutableCodeBlockAnalyzerActions|11_8(Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+GroupedAnalyzerActions[ubyte],Microsoft.CodeAnalysis.Diagnostics.AnalysisScope,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+ExecutableCodeBlockAnalyzerActions[ubyte]])
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     x3, [x3]
+            blr     x3
+            ; gcrRegs -[x0-x2]
             ; gcr arg pop 0
             ldp     x0, x1, [x20, #0x10]
             ; gcrRegs +[x0-x1]
@@ -205,32 +204,28 @@ G_M3645_IG12:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRe
             blr     x3
             ; gcrRegs -[x0-x2]
             ; gcr arg pop 0
-            mov     x0, x20
-            ; gcrRegs +[x0]
-            ldr     x3, [fp, #0x20]    // [V02 loc1]
-            ; gcrRegs +[x3]
-                       ;; size=88 bbWeight=0.50 PerfScore 17.75
-G_M3645_IG13:        ; bbWeight=0.50, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x20]
-            ldrb    w2, [x0, #0x43]
-            ldrb    w1, [x0, #0x44]
+                      ;; size=76 bbWeight=0.50 PerfScore 16.25
+G_M3645_IG13:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
+            ldrb    w2, [x20, #0x43]
+            ldrb    w1, [x20, #0x44]
             orr     w2, w2, w1
             cbz     w2, G_M3645_IG11
-            ldr     x2, [x0, #0x70]
+            ldr     x2, [x20, #0x70]
             ; gcrRegs +[x2]
-            ldr     x1, [x0, #0x28]
+            ldr     x1, [x20, #0x28]
             ; gcrRegs +[x1]
             mov     x0, x19
-            movz    x4, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ubyte]:GetOperationBlocksToAnalyze(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxNode],Microsoft.CodeAnalysis.SemanticModel,System.Threading.CancellationToken):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IOperation]
-            movk    x4, #0xD1FFAB1E LSL #16
-            movk    x4, #0xD1FFAB1E LSL #32
-            ldr     x4, [x4]
-            blr     x4
-            ; gcrRegs -[x1-x3]
+            ; gcrRegs +[x0]
+            movz    x3, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ubyte]:GetOperationBlocksToAnalyze(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxNode],Microsoft.CodeAnalysis.SemanticModel,System.Threading.CancellationToken):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IOperation]
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     x3, [x3]
+            blr     x3
+            ; gcrRegs -[x1-x2]
             ; gcr arg pop 0
             str     x0, [fp, #0x18]    // [V21 tmp14]
             ; GC ptr vars +{V21}
-            ldr     x0, [fp, #0x28]  // [V00 this]
+            mov     x0, x20
             ldr     x1, [fp, #0x18]   // [V21 tmp14]
             ; gcrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
@@ -240,22 +235,22 @@ G_M3645_IG13:        ; bbWeight=0.50, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=000
             blr     x2
             ; gcrRegs -[x1]
             ; gcr arg pop 0
-            mov     x20, x0
-            ; gcrRegs +[x20]
-            ldr     w2, [x20, #0x08]
-            ldp     x3, x0, [fp, #0x20]    // [V02 loc1], [V00 this]
-            ; gcrRegs +[x3]
+            mov     x21, x0
+            ; gcrRegs +[x21]
+            ldr     w2, [x21, #0x08]
             cbz     w2, G_M3645_IG11
-                     ;; size=96 bbWeight=0.50 PerfScore 18.75
-G_M3645_IG14:        ; bbWeight=0.50, gcrefRegs=180009 {x0 x3 x19 x20}, byrefRegs=0000 {}, byref, isz
-            ldrb    w2, [x0, #0x43]
+                      ;; size=92 bbWeight=0.50 PerfScore 16.50
+G_M3645_IG14:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x0]
+            ldrb    w2, [x20, #0x43]
...
  
+16 (+4.40%) : 184475.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
@@ -11,82 +11,83 @@
 ;  V00 arg0         [V00,T07] (  7, 12   )     ref  ->   x0         class-hnd single-def <System.String>
 ;  V01 arg1         [V01,T00] ( 33, 83.50)     int  ->   x1        
 ;  V02 arg2         [V02,T10] (  5,  3.50)   byref  ->   x2         single-def
-;  V03 loc0         [V03,T16] (  3,  2   )     int  ->   x4        
-;  V04 loc1         [V04,T17] (  2,  1   )     int  ->   x6        
+;  V03 loc0         [V03,T16] (  3,  2   )     int  ->   x3        
+;  V04 loc1         [V04,T17] (  2,  1   )     int  ->   x4        
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V07 tmp2         [V07,T03] (  3, 24   )  ushort  ->   x4         "Inlining Arg"
+;  V07 tmp2         [V07,T03] (  3, 24   )  ushort  ->   x3         "Inlining Arg"
 ;* V08 tmp3         [V08,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp4         [V09,T04] (  3, 24   )  ushort  ->   x6         "Inlining Arg"
+;  V09 tmp4         [V09,T04] (  3, 24   )  ushort  ->   x4         "Inlining Arg"
 ;* V10 tmp5         [V10,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V11 tmp6         [V11,T15] (  3,  3   )  ushort  ->   x7         "Inlining Arg"
+;  V11 tmp6         [V11,T15] (  3,  3   )  ushort  ->   x5         "Inlining Arg"
 ;* V12 tmp7         [V12,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V13 tmp8         [V13,T05] (  3, 24   )  ushort  ->   x7         "Inlining Arg"
+;  V13 tmp8         [V13,T05] (  3, 24   )  ushort  ->   x5         "Inlining Arg"
 ;* V14 tmp9         [V14,T14] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V15 tmp10        [V15,T06] (  3, 24   )  ushort  ->   x8         "Inlining Arg"
-;  V16 cse0         [V16,T09] (  3, 12   )     int  ->   x7         "CSE - aggressive"
+;  V15 tmp10        [V15,T06] (  3, 24   )  ushort  ->   x6         "Inlining Arg"
+;  V16 cse0         [V16,T09] (  3, 12   )     int  ->   x5         "CSE - aggressive"
 ;  V17 cse1         [V17,T08] (  5, 13   )     int  ->  registers   multi-def "CSE - aggressive"
-;  V18 cse2         [V18,T01] ( 13, 46.50)     int  ->   x3         hoist "CSE - aggressive"
-;  V19 cse3         [V19,T02] (  9, 25.50)   byref  ->  registers   multi-def "CSE - aggressive"
+;  V18 cse2         [V18,T01] ( 13, 46.50)     int  ->  x19         hoist "CSE - aggressive"
+;  V19 cse3         [V19,T02] (  9, 25.50)   byref  ->  x20         multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M63854_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-                      ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=12 bbWeight=1 PerfScore 2.50
 G_M63854_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
             ; gcrRegs +[x0]
             ; byrRegs +[x2]
-            ldr     w3, [x0, #0x08]
+            ldr     w19, [x0, #0x08]
             b       G_M63854_IG04
                        ;; size=8 bbWeight=1 PerfScore 4.00
 G_M63854_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
 G_M63854_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w3, w1
+            cmp     w19, w1
             ble     G_M63854_IG06
                        ;; size=8 bbWeight=8 PerfScore 12.00
 G_M63854_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x4, x0, #12
-            ; byrRegs +[x4]
-            ldrh    w4, [x4, w1, UXTW #2]
-            ; byrRegs -[x4]
-            cmp     w4, #32
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w3, [x20, w1, UXTW #2]
+            cmp     w3, #32
             beq     G_M63854_IG03
-            cmp     w4, #9
+            cmp     w3, #9
             beq     G_M63854_IG03
                        ;; size=32 bbWeight=4 PerfScore 32.00
 G_M63854_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
-            sxtw    w4, w1
+            ; byrRegs -[x20]
+            sxtw    w3, w1
             b       G_M63854_IG08
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M63854_IG07:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
 G_M63854_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w3, w1
+            cmp     w19, w1
             ble     G_M63854_IG10
                        ;; size=8 bbWeight=8 PerfScore 12.00
 G_M63854_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x5, x0, #12
-            ; byrRegs +[x5]
-            ldrh    w6, [x5, w1, UXTW #2]
-            cmp     w6, #61
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w4, [x20, w1, UXTW #2]
+            cmp     w4, #61
             beq     G_M63854_IG10
-            cmp     w6, #32
+            cmp     w4, #32
             beq     G_M63854_IG10
-            cmp     w6, #9
+            cmp     w4, #9
             bne     G_M63854_IG07
                        ;; size=40 bbWeight=4 PerfScore 38.00
 G_M63854_IG10:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            ; byrRegs -[x5]
-            cmp     w3, w1
+            ; byrRegs -[x20]
+            cmp     w19, w1
             bne     G_M63854_IG13
                        ;; size=8 bbWeight=4 PerfScore 6.00
 G_M63854_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, byref
@@ -95,80 +96,82 @@ G_M63854_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, b
             mov     x0, xzr
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M63854_IG12:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=0.50 PerfScore 1.00
+                        ;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M63854_IG13:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, gcvars, byref, isz
             ; gcrRegs +[x0]
-            sub     w6, w1, w4
-            cmp     w1, w3
+            sub     w4, w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x5, x0, #12
-            ; byrRegs +[x5]
-            ldrh    w7, [x5, w1, UXTW #2]
-            cmp     w7, #32
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w5, [x20, w1, UXTW #2]
+            cmp     w5, #32
             beq     G_M63854_IG15
-            cmp     w7, #9
+            cmp     w5, #9
             bne     G_M63854_IG20
             b       G_M63854_IG15
                        ;; size=40 bbWeight=0.50 PerfScore 4.75
-G_M63854_IG14:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref
+G_M63854_IG14:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M63854_IG15:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref, isz
-            cmp     w3, w1
+G_M63854_IG15:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             ble     G_M63854_IG16
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w7, [x5, w1, UXTW #2]
-            cmp     w7, #32
+            ldrh    w5, [x20, w1, UXTW #2]
+            cmp     w5, #32
             beq     G_M63854_IG14
-            cmp     w7, #9
+            cmp     w5, #9
             beq     G_M63854_IG14
                        ;; size=36 bbWeight=4 PerfScore 36.00
-G_M63854_IG16:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref, isz
-            cmp     w3, w1
+G_M63854_IG16:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             beq     G_M63854_IG17
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w7, [x5, w1, UXTW #2]
-            cmp     w7, #61
+            ldrh    w5, [x20, w1, UXTW #2]
+            cmp     w5, #61
             beq     G_M63854_IG20
                        ;; size=28 bbWeight=0.50 PerfScore 3.75
 G_M63854_IG17:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, byref
             ; gcrRegs -[x0]
-            ; byrRegs -[x5]
+            ; byrRegs -[x20]
             str     w1, [x2]
             mov     x0, xzr
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M63854_IG18:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M63854_IG19:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, gcvars, byref
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
+G_M63854_IG19:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, gcvars, byref
             ; gcrRegs +[x0]
-            ; byrRegs +[x5]
+            ; byrRegs +[x20]
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref, isz
-            cmp     w3, w1
+G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             ble     G_M63854_IG21
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w7, [x5, w1, UXTW #2]
-            sxtw    w8, w7
-            cmp     w8, #32
+            ldrh    w5, [x20, w1, UXTW #2]
+            sxtw    w6, w5
+            cmp     w6, #32
             beq     G_M63854_IG19
-            cmp     w8, #9
+            cmp     w6, #9
             beq     G_M63854_IG19
-            cmp     w7, #61
+            cmp     w5, #61
             beq     G_M63854_IG19
                        ;; size=48 bbWeight=4 PerfScore 44.00
 G_M63854_IG21:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
-            ; byrRegs -[x5]
+            ; byrRegs -[x20]
             str     w1, [x2]
-            mov     w1, w4
-            mov     w2, w6
+            mov     w1, w3
+            mov     w2, w4
             ; byrRegs -[x2]
             movz    x3, #0xD1FFAB1E      // code for System.String:Substring(int,int):System.String:this
             movk    x3, #0xD1FFAB1E LSL #16
@@ -176,10 +179,11 @@ G_M63854_IG21:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2},
             ldr     x3, [x3]
                        ;; size=28 bbWeight=0.50 PerfScore 3.25
 G_M63854_IG22:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             br      x3
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=0.50 PerfScore 1.00
+                        ;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M63854_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
...
  
+28 (+4.90%) : 151485.dasm - Microsoft.Build.Shared.FileUtilities:PathsEqual(System.String,System.String):ubyte (FullOpts)
@@ -9,30 +9,32 @@
 ;
 ;  V00 arg0         [V00,T13] (  9,  5.08)     ref  ->   x0         class-hnd single-def <System.String>
 ;  V01 arg1         [V01,T12] ( 10,  5.08)     ref  ->   x1         class-hnd single-def <System.String>
-;  V02 loc0         [V02,T05] ( 15, 16.50)     int  ->   x2        
-;  V03 loc1         [V03,T09] (  9, 10.50)     int  ->   x5        
-;  V04 loc2         [V04,T03] ( 10, 16.54)     int  ->   x6        
-;  V05 loc3         [V05,T06] (  6, 12   )  ushort  ->   x8        
-;  V06 loc4         [V06,T04] ( 10, 16.54)     int  ->   x6        
-;  V07 loc5         [V07,T07] (  6, 12   )  ushort  ->   x8        
-;  V08 loc6         [V08,T02] ( 13, 17.58)     int  ->   x5        
+;  V02 loc0         [V02,T05] ( 15, 16.50)     int  ->  x20        
+;  V03 loc1         [V03,T09] (  9, 10.50)     int  ->  x22        
+;  V04 loc2         [V04,T03] ( 10, 16.54)     int  ->   x3        
+;  V05 loc3         [V05,T06] (  6, 12   )  ushort  ->   x4        
+;  V06 loc4         [V06,T04] ( 10, 16.54)     int  ->   x3        
+;  V07 loc5         [V07,T07] (  6, 12   )  ushort  ->   x4        
+;  V08 loc6         [V08,T02] ( 13, 17.58)     int  ->   x2        
 ;  V09 loc7         [V09,T00] ( 16, 26   )     int  ->   x6        
-;  V10 loc8         [V10,T01] ( 16, 26   )     int  ->  registers  
+;  V10 loc8         [V10,T01] ( 16, 26   )     int  ->   x5        
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V12 tmp1         [V12    ] (  0,  0   )     int  ->  zero-ref    "Single return block return value"
-;  V13 cse0         [V13,T08] (  3, 11.88)    long  ->   x4         "CSE - aggressive"
-;  V14 cse1         [V14,T16] (  3,  0.12)    long  ->   x8         "CSE - conservative"
-;  V15 cse2         [V15,T10] (  8,  9.08)   byref  ->   x7         hoist multi-def "CSE - aggressive"
+;  V13 cse0         [V13,T08] (  3, 11.88)    long  ->   x5         "CSE - aggressive"
+;  V14 cse1         [V14,T16] (  3,  0.12)    long  ->   x5         "CSE - conservative"
+;  V15 cse2         [V15,T10] (  8,  9.08)   byref  ->  registers   hoist multi-def "CSE - aggressive"
 ;  V16 cse3         [V16,T11] (  8,  9.08)   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V17 cse4         [V17,T14] (  6,  2.08)     int  ->   x3         "CSE - aggressive"
-;  V18 cse5         [V18,T15] (  6,  2.08)     int  ->   x4         "CSE - aggressive"
+;  V17 cse4         [V17,T14] (  6,  2.08)     int  ->  x19         "CSE - aggressive"
+;  V18 cse5         [V18,T15] (  6,  2.08)     int  ->  x21         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M43039_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
-                      ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M43039_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0-x1]
             cbnz    x0, G_M43039_IG04
@@ -45,174 +47,176 @@ G_M43039_IG03:        ; bbWeight=0.50, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, b
 G_M43039_IG04:        ; bbWeight=0.50, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             cbz     x1, G_M43039_IG36
-            ldr     w3, [x0, #0x08]
-            sub     w2, w3, #1
-            ldr     w4, [x1, #0x08]
-            sub     w5, w4, #1
-            sxtw    w6, w2
-            tbnz    w2, #31, G_M43039_IG08
-            cmp     w3, w2
+            ldr     w19, [x0, #0x08]
+            sub     w20, w19, #1
+            ldr     w21, [x1, #0x08]
+            sub     w22, w21, #1
+            sxtw    w3, w20
+            tbnz    w20, #31, G_M43039_IG08
+            cmp     w19, w20
             ble     G_M43039_IG07
-            add     x7, x0, #12
-            ; byrRegs +[x7]
+            add     x2, x0, #12
+            ; byrRegs +[x2]
                         ;; size=40 bbWeight=0.50 PerfScore 5.75
-G_M43039_IG05:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0080 {x7}, byref, isz
-            ldrh    w8, [x7, w6, UXTW #2]
-            mov     w9, #92
-            cmp     w8, #47
-            ccmp    w8, w9, z, ne
+G_M43039_IG05:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0004 {x2}, byref, isz
+            ldrh    w4, [x2, w3, UXTW #2]
+            mov     w5, #92
+            cmp     w4, #47
+            ccmp    w4, w5, z, ne
             bne     G_M43039_IG08
-            sub     w2, w2, #1
-            sub     w6, w6, #1
-            tbz     w6, #31, G_M43039_IG05
+            sub     w20, w20, #1
+            sub     w3, w3, #1
+            tbz     w3, #31, G_M43039_IG05
                      ;; size=32 bbWeight=3.96 PerfScore 29.70
 G_M43039_IG06:        ; bbWeight=0.50, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x7]
+            ; byrRegs -[x2]
             b       G_M43039_IG08
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M43039_IG07:        ; bbWeight=0.04, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
-            cmp     w6, w3
+            cmp     w3, w19
             bhs     G_M43039_IG38
-            add     x7, x0, #12
-            ; byrRegs +[x7]
-            ldrh    w8, [x7, w6, UXTW #2]
-            mov     w7, #92
-            ; byrRegs -[x7]
-            cmp     w8, #47
-            ccmp    w8, w7, z, ne
+            add     x2, x0, #12
+            ; byrRegs +[x2]
+            ldrh    w4, [x2, w3, UXTW #2]
+            mov     w2, #92
+            ; byrRegs -[x2]
+            cmp     w4, #47
+            ccmp    w4, w2, z, ne
             bne     G_M43039_IG08
-            sub     w2, w2, #1
-            sub     w6, w6, #1
-            tbz     w6, #31, G_M43039_IG07
+            sub     w20, w20, #1
+            sub     w3, w3, #1
+            tbz     w3, #31, G_M43039_IG07
                      ;; size=44 bbWeight=0.04 PerfScore 0.38
 G_M43039_IG08:        ; bbWeight=0.50, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
-            sxtw    w6, w5
-            tbnz    w5, #31, G_M43039_IG12
-            cmp     w4, w5
+            sxtw    w3, w22
+            tbnz    w22, #31, G_M43039_IG12
+            cmp     w21, w22
             ble     G_M43039_IG11
-            add     x7, x1, #12
-            ; byrRegs +[x7]
+            add     x2, x1, #12
+            ; byrRegs +[x2]
                         ;; size=20 bbWeight=0.50 PerfScore 1.75
-G_M43039_IG09:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0080 {x7}, byref, isz
-            ldrh    w8, [x7, w6, UXTW #2]
-            mov     w9, #92
-            cmp     w8, #47
-            ccmp    w8, w9, z, ne
+G_M43039_IG09:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0004 {x2}, byref, isz
+            ldrh    w4, [x2, w3, UXTW #2]
+            mov     w5, #92
+            cmp     w4, #47
+            ccmp    w4, w5, z, ne
             bne     G_M43039_IG12
-            sub     w5, w5, #1
-            sub     w6, w6, #1
-            tbz     w6, #31, G_M43039_IG09
+            sub     w22, w22, #1
+            sub     w3, w3, #1
+            tbz     w3, #31, G_M43039_IG09
                      ;; size=32 bbWeight=3.96 PerfScore 29.70
 G_M43039_IG10:        ; bbWeight=0.50, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x7]
+            ; byrRegs -[x2]
             b       G_M43039_IG12
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M43039_IG11:        ; bbWeight=0.04, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
-            cmp     w6, w4
+            cmp     w3, w21
             bhs     G_M43039_IG38
-            add     x7, x1, #12
-            ; byrRegs +[x7]
-            ldrh    w8, [x7, w6, UXTW #2]
-            mov     w7, #92
-            ; byrRegs -[x7]
-            cmp     w8, #47
-            ccmp    w8, w7, z, ne
+            add     x2, x1, #12
+            ; byrRegs +[x2]
+            ldrh    w4, [x2, w3, UXTW #2]
+            mov     w2, #92
+            ; byrRegs -[x2]
+            cmp     w4, #47
+            ccmp    w4, w2, z, ne
             bne     G_M43039_IG12
-            sub     w5, w5, #1
-            sub     w6, w6, #1
-            tbz     w6, #31, G_M43039_IG11
+            sub     w22, w22, #1
+            sub     w3, w3, #1
+            tbz     w3, #31, G_M43039_IG11
                      ;; size=44 bbWeight=0.04 PerfScore 0.38
 G_M43039_IG12:        ; bbWeight=0.50, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
-            cmp     w2, w5
+            cmp     w20, w22
             bne     G_M43039_IG36
-            mov     w5, wzr
-            tbnz    w2, #31, G_M43039_IG32
-            cmp     w3, w2
-            ccmp    w4, w2, nzc, gt
+            mov     w2, wzr
+            tbnz    w20, #31, G_M43039_IG32
+            cmp     w19, w20
+            ccmp    w21, w20, nzc, gt
             ble     G_M43039_IG23
-            add     x7, x0, #12
-            ; byrRegs +[x7]
-            add     x3, x1, #12
+            add     x3, x0, #12
             ; byrRegs +[x3]
+            add     x4, x1, #12
+            ; byrRegs +[x4]
                         ;; size=36 bbWeight=0.50 PerfScore 3.00
-G_M43039_IG13:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref, isz
-            ubfiz   x4, x5, #1, #32
-            ldrh    w6, [x7, x4]
-            ldrh    w4, [x3, x4]
-            orr     w8, w6, w4
-            cmp     w8, #127
+G_M43039_IG13:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0018 {x3 x4}, byref, isz
+            ubfiz   x5, x2, #1, #32
+            ldrh    w6, [x3, x5]
+            ldrh    w5, [x4, x5]
+            orr     w7, w6, w5
+            cmp     w7, #127
             bhi     G_M43039_IG34
-            sub     w8, w6, #97
-            cmp     w8, #25
+            sub     w7, w6, #97
+            cmp     w7, #25
             bhi     G_M43039_IG15
                        ;; size=36 bbWeight=3.96 PerfScore 43.56
-G_M43039_IG14:        ; bbWeight=1.98, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref
+G_M43039_IG14:        ; bbWeight=1.98, gcrefRegs=0003 {x0 x1}, byrefRegs=0018 {x3 x4}, byref
             sub     w6, w6, #32
                        ;; size=4 bbWeight=1.98 PerfScore 0.99
-G_M43039_IG15:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref, isz
-            sub     w8, w4, #97
-            cmp     w8, #25
+G_M43039_IG15:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0018 {x3 x4}, byref, isz
+            sub     w7, w5, #97
+            cmp     w7, #25
             bhi     G_M43039_IG17
                        ;; size=12 bbWeight=3.96 PerfScore 7.92
-G_M43039_IG16:        ; bbWeight=1.98, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref
-            sub     w4, w4, #32
+G_M43039_IG16:        ; bbWeight=1.98, gcrefRegs=0003 {x0 x1}, byrefRegs=0018 {x3 x4}, byref
+            sub     w5, w5, #32
                         ;; size=4 bbWeight=1.98 PerfScore 0.99
-G_M43039_IG17:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref, isz
+G_M43039_IG17:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0018 {x3 x4}, byref, isz
             cmp     w6, #92
             bne     G_M43039_IG19
                        ;; size=8 bbWeight=3.96 PerfScore 5.94
-G_M43039_IG18:        ; bbWeight=1.98, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref
+G_M43039_IG18:        ; bbWeight=1.98, gcrefRegs=0003 {x0 x1}, byrefRegs=0018 {x3 x4}, byref
             mov     w6, #47
                        ;; size=4 bbWeight=1.98 PerfScore 0.99
-G_M43039_IG19:        ; bbWeight=3.96, gcrefRegs=0003 {x0 x1}, byrefRegs=0088 {x3 x7}, byref, isz
...
  
+24 (+5.71%) : 203375.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
@@ -11,34 +11,35 @@
 ;  V00 this         [V00,T10] (  8,  5   )     ref  ->  x19         this class-hnd single-def <System.Xml.Xsl.Runtime.XmlStringSortKey>
 ;  V01 arg1         [V01,T11] (  4,  3.50)     ref  ->   x1         class-hnd single-def <System.Object>
 ;  V02 loc0         [V02,T13] (  7,  4.25)     ref  ->  x20         class-hnd exact <System.Xml.Xsl.Runtime.XmlStringSortKey>
-;  V03 loc1         [V03,T00] (  7, 24.50)     int  ->   x3        
+;  V03 loc1         [V03,T00] (  7, 24.50)     int  ->   x1        
 ;  V04 loc2         [V04,T12] (  3,  5   )     int  ->   x0        
 ;  V05 loc3         [V05,T14] (  6,  3   )     int  ->   x0        
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Xml.Xsl.Runtime.XmlStringSortKey>
 ;  V08 tmp2         [V08,T17] (  3,  1.50)     int  ->   x0        
 ;  V09 tmp3         [V09,T18] (  2,  1   )     int  ->   x0         "Inline return value spill temp"
-;  V10 tmp4         [V10,T01] (  3, 24   )     ref  ->   x4         "arr expr"
-;  V11 tmp5         [V11,T02] (  3, 24   )     ref  ->   x6         "arr expr"
+;  V10 tmp4         [V10,T01] (  3, 24   )     ref  ->   x2         "arr expr"
+;  V11 tmp5         [V11,T02] (  3, 24   )     ref  ->   x4         "arr expr"
 ;* V12 tmp6         [V12,T08] (  0,  0   )     ref  ->  zero-ref    "arr expr"
 ;* V13 tmp7         [V13,T09] (  0,  0   )     ref  ->  zero-ref    "arr expr"
-;  V14 cse0         [V14,T03] (  3, 12   )     int  ->   x4         "CSE - aggressive"
-;  V15 cse1         [V15,T04] (  3, 12   )     int  ->   x5         "CSE - aggressive"
-;  V16 cse2         [V16,T06] (  6,  6.50)     ref  ->   x1         "CSE - aggressive"
-;  V17 cse3         [V17,T07] (  6,  6.50)     ref  ->   x2         "CSE - aggressive"
+;  V14 cse0         [V14,T03] (  3, 12   )     int  ->   x2         "CSE - aggressive"
+;  V15 cse1         [V15,T04] (  3, 12   )     int  ->   x3         "CSE - aggressive"
+;  V16 cse2         [V16,T06] (  6,  6.50)     ref  ->  x21         "CSE - aggressive"
+;  V17 cse3         [V17,T07] (  6,  6.50)     ref  ->  x22         "CSE - aggressive"
 ;  V18 cse4         [V18,T16] (  3,  1.50)     ref  ->   x0         "CSE - moderate"
 ;  V19 cse5         [V19,T15] (  4,  2   )     ref  ->   x0         "CSE - moderate"
-;  V20 cse6         [V20,T05] (  3, 12   )    long  ->   x5         "CSE - aggressive"
+;  V20 cse6         [V20,T05] (  3, 12   )    long  ->   x3         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M15280_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x20]!
+            stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
-                     ;; size=16 bbWeight=1 PerfScore 3.00
+                      ;; size=20 bbWeight=1 PerfScore 4.00
 G_M15280_IG02:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x1]
             mov     x20, x1
@@ -63,11 +64,12 @@ G_M15280_IG04:        ; bbWeight=0.50, gcrefRegs=80002 {x1 x19}, byrefRegs=0000
             ldr     x2, [x2]
                        ;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M15280_IG05:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             br      x2
             ; gcr arg pop 0
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0-x1] +[x20]
             ldr     x0, [x19, #0x18]
@@ -85,60 +87,60 @@ G_M15280_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             b       G_M15280_IG15
                        ;; size=36 bbWeight=0.50 PerfScore 6.75
 G_M15280_IG07:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ldr     x1, [x19, #0x20]
-            ; gcrRegs +[x1]
-            ldr     w0, [x1, #0x08]
-            ldr     x2, [x20, #0x20]
-            ; gcrRegs +[x2]
-            ldr     w3, [x2, #0x08]
-            cmp     w0, w3
+            ldr     x21, [x19, #0x20]
+            ; gcrRegs +[x21]
+            ldr     w0, [x21, #0x08]
+            ldr     x22, [x20, #0x20]
+            ; gcrRegs +[x22]
+            ldr     w1, [x22, #0x08]
+            cmp     w0, w1
             blt     G_M15280_IG08
-            ldr     w0, [x2, #0x08]
+            ldr     w0, [x22, #0x08]
             b       G_M15280_IG09
                        ;; size=32 bbWeight=0.50 PerfScore 8.75
-G_M15280_IG08:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref
-            ldr     w0, [x1, #0x08]
+G_M15280_IG08:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref
+            ldr     w0, [x21, #0x08]
                        ;; size=4 bbWeight=0.50 PerfScore 1.50
-G_M15280_IG09:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref, isz
-            mov     w3, wzr
+G_M15280_IG09:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            mov     w1, wzr
             cmp     w0, #0
             ble     G_M15280_IG14
                        ;; size=12 bbWeight=0.50 PerfScore 1.00
-G_M15280_IG10:        ; bbWeight=4, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref, isz
-            mov     x4, x1
+G_M15280_IG10:        ; bbWeight=4, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            mov     x2, x21
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x08]
+            cmp     w1, w3
+            bhs     G_M15280_IG24
+            add     x2, x2, #16
+            ; gcrRegs -[x2]
+            ; byrRegs +[x2]
+            mov     w3, w1
+            ldrb    w2, [x2, x3]
+            ; byrRegs -[x2]
+            mov     x4, x22
             ; gcrRegs +[x4]
             ldr     w5, [x4, #0x08]
-            cmp     w3, w5
+            cmp     w1, w5
             bhs     G_M15280_IG24
             add     x4, x4, #16
             ; gcrRegs -[x4]
             ; byrRegs +[x4]
-            mov     w5, w3
-            ldrb    w4, [x4, x5]
-            ; byrRegs -[x4]
-            mov     x6, x2
-            ; gcrRegs +[x6]
-            ldr     w7, [x6, #0x08]
-            cmp     w3, w7
-            bhs     G_M15280_IG24
-            add     x6, x6, #16
-            ; gcrRegs -[x6]
-            ; byrRegs +[x6]
-            ldrb    w5, [x6, x5]
-            cmp     w4, w5
+            ldrb    w3, [x4, x3]
+            cmp     w2, w3
             blt     G_M15280_IG12
-            cmp     w4, w5
+            cmp     w2, w3
             bgt     G_M15280_IG13
-            add     w3, w3, #1
-            cmp     w3, w0
+            add     w1, w1, #1
+            cmp     w1, w0
             blt     G_M15280_IG10
                        ;; size=80 bbWeight=4 PerfScore 90.00
-G_M15280_IG11:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x6]
+G_M15280_IG11:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x4]
             b       G_M15280_IG14
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M15280_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x1-x2 x20]
+            ; gcrRegs -[x20-x22]
             movn    w0, #0
             b       G_M15280_IG20
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
@@ -146,21 +148,20 @@ G_M15280_IG13:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             mov     w0, #1
             b       G_M15280_IG20
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M15280_IG14:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x1-x2 x20]
-            ldr     w0, [x1, #0x08]
-            ldr     w3, [x2, #0x08]
-            cmp     w0, w3
+G_M15280_IG14:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs +[x20-x22]
+            ldr     w0, [x21, #0x08]
+            ldr     w1, [x22, #0x08]
+            cmp     w0, w1
             blt     G_M15280_IG12
-            ldr     w0, [x1, #0x08]
-            ldr     w1, [x2, #0x08]
-            ; gcrRegs -[x1]
+            ldr     w0, [x21, #0x08]
+            ldr     w1, [x22, #0x08]
             cmp     w0, w1
             bgt     G_M15280_IG13
             b       G_M15280_IG16
                        ;; size=36 bbWeight=0.50 PerfScore 8.00
 G_M15280_IG15:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x2]
+            ; gcrRegs -[x21-x22]
             cbnz    w0, G_M15280_IG20
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M15280_IG16:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
@@ -174,11 +175,12 @@ G_M15280_IG16:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ldr     x2, [x2, #0x20]
                        ;; size=24 bbWeight=0.50 PerfScore 8.00
 G_M15280_IG17:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             br      x2
             ; gcr arg pop 0
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG18:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0-x1]
             ldr     w0, [x19, #0x10]
@@ -189,36 +191,39 @@ G_M15280_IG18:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             csel    w0, w2, w3, lt
                        ;; size=24 bbWeight=0.50 PerfScore 4.00
 G_M15280_IG19:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG20:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x20]
             ldrb    w1, [x19, #0x14]
             cbnz    w1, G_M15280_IG22
                        ;; size=8 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG21:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG22:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x19]
             neg     w0, w0
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M15280_IG23:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG24:        ; 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 420, prolog size 16, PerfScore 148.75, instruction count 105, allocated bytes for code 420 (MethodHash=95cfc44f) for method System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
+; Total bytes of code 444, prolog size 20, PerfScore 152.25, instruction count 111, allocated bytes for code 444 (MethodHash=95cfc44f) for method System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -229,7 +234,7 @@ Unwind Info:
   E bit             : 0
...
  
  
libraries_tests.run.windows.arm64.Release.mch
-12 (-5.66%) : 329405.dasm - System.Runtime.CompilerServices.CastHelpers:ChkCast_Helper(ulong,System.Object):System.Object (Tier1)
@@ -14,7 +14,7 @@
 ;* V02 loc0         [V02    ] (  0,  0   )     int  ->  zero-ref   
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V04 tmp1         [V04,T08] (  2,  4   )     ref  ->   x2         class-hnd single-def "impAppendStmt" <int[]>
-;  V05 tmp2         [V05,T11] (  2,  2   )     int  ->  x19         "Inline return value spill temp"
+;  V05 tmp2         [V05,T11] (  2,  2   )     int  ->   x8         "Inline return value spill temp"
 ;  V06 tmp3         [V06,T07] (  4,  4.58)   byref  ->   x2         single-def "Inline stloc first use temp"
 ;  V07 tmp4         [V07,T00] (  3,  6.58)    long  ->   x3         "Inlining Arg"
 ;  V08 tmp5         [V08,T06] (  4,  4.87)     int  ->   x4         "Inline stloc first use temp"
@@ -22,17 +22,16 @@
 ;  V10 tmp7         [V10,T04] (  5,  5.85)   byref  ->   x6         "Inline stloc first use temp"
 ;  V11 tmp8         [V11,T05] (  5,  5.16)     int  ->   x7         "Inline stloc first use temp"
 ;  V12 tmp9         [V12,T10] (  2,  2.58)    long  ->   x8         "Inline stloc first use temp"
-;  V13 tmp10        [V13,T09] (  3,  2.98)    long  ->  x19         "Inline stloc first use temp"
+;  V13 tmp10        [V13,T09] (  3,  2.98)    long  ->   x8         "Inline stloc first use temp"
 ;* V14 tmp11        [V14    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V15 tmp12        [V15    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M33150_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x20]!
-            str     x19, [sp, #0x18]
+            stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
-                        ;; size=12 bbWeight=1 PerfScore 2.50
+                      ;; size=8 bbWeight=1 PerfScore 1.50
 G_M33150_IG02:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
@@ -69,8 +68,8 @@ G_M33150_IG03:        ; bbWeight=1.29, gcrefRegs=0002 {x1}, byrefRegs=0004 {x2},
                        ;; size=36 bbWeight=1.29 PerfScore 14.84
 G_M33150_IG04:        ; bbWeight=0.99, gcrefRegs=0002 {x1}, byrefRegs=0044 {x2 x6}, byref, isz
             ldr     x8, [x6, #0x10]
-            eor     x19, x8, x0
-            cmp     x19, #1
+            eor     x8, x8, x0
+            cmp     x8, #1
             bhi     G_M33150_IG08
                        ;; size=16 bbWeight=0.99 PerfScore 4.96
 G_M33150_IG05:        ; bbWeight=0.99, gcrefRegs=0002 {x1}, byrefRegs=0040 {x6}, byref, isz
@@ -82,16 +81,15 @@ G_M33150_IG05:        ; bbWeight=0.99, gcrefRegs=0002 {x1}, byrefRegs=0040 {x6},
                        ;; size=16 bbWeight=0.99 PerfScore 14.38
 G_M33150_IG06:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x6]
-            cmp     w19, #1
+            cmp     w8, #1
             bne     G_M33150_IG10
             mov     x0, x1
             ; gcrRegs +[x0]
                        ;; size=12 bbWeight=1 PerfScore 2.00
 G_M33150_IG07:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x19, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x10
             ret     lr
-                       ;; size=12 bbWeight=1 PerfScore 4.00
+                      ;; size=8 bbWeight=1 PerfScore 2.00
 G_M33150_IG08:        ; bbWeight=0.30, gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=0004 {x2}, gcvars, byref, isz
             ; gcrRegs -[x0]
             ; byrRegs +[x2]
@@ -100,8 +98,8 @@ G_M33150_IG08:        ; bbWeight=0.30, gcVars=0000000000000000 {}, gcrefRegs=000
 G_M33150_IG09:        ; bbWeight=1.29, gcrefRegs=0002 {x1}, byrefRegs=0004 {x2}, byref, isz
             add     w5, w5, #1
             add     w4, w4, w5
-            ldr     w6, [x2, #0x04]
-            and     w4, w4, w6
+            ldr     w8, [x2, #0x04]
+            and     w4, w4, w8
             cmp     w5, #8
             blt     G_M33150_IG03
                        ;; size=24 bbWeight=1.29 PerfScore 7.74
@@ -112,23 +110,22 @@ G_M33150_IG10:        ; bbWeight=0.01, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0.01 PerfScore 0.01
 G_M33150_IG11:        ; bbWeight=0.01, epilog, nogc, extend
-            ldr     x19, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x10
             ret     lr
-                       ;; size=12 bbWeight=0.01 PerfScore 0.03
+                       ;; size=8 bbWeight=0.01 PerfScore 0.02
 
-; Total bytes of code 212, prolog size 12, PerfScore 68.26, instruction count 53, allocated bytes for code 212 (MethodHash=c42d7e81) for method System.Runtime.CompilerServices.CastHelpers:ChkCast_Helper(ulong,System.Object):System.Object (Tier1)
+; Total bytes of code 200, prolog size 8, PerfScore 65.25, instruction count 50, allocated bytes for code 200 (MethodHash=c42d7e81) for method System.Runtime.CompilerServices.CastHelpers:ChkCast_Helper(ulong,System.Object):System.Object (Tier1)
 ; ============================================================
 
 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   : 50 (0x00032) Actual length = 200 (0x0000c8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -139,10 +136,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]
-    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
-    E4          end
-    E4          end
+    81          save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]!
     E4          end
     E4          end
 
  
-12 (-5.36%) : 217984.dasm - System.Configuration.XmlUtil:StrictReadToNextElement(int):this (Tier1)
@@ -9,17 +9,17 @@
 ; 2 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  6,  4.22)     ref  ->  x19         this class-hnd single-def <System.Configuration.XmlUtil>
+;  V00 this         [V00,T01] (  5,  4.22)     ref  ->  x19         this class-hnd single-def <System.Configuration.XmlUtil>
 ;  V01 arg1         [V01,T03] (  3,  2.11)     int  ->  x20         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T00] (  7,  6.65)     ref  ->   x0         class-hnd "spilling ret_expr" <System.Xml.XmlTextReader>
+;  V03 tmp1         [V03,T00] (  5,  6.65)     ref  ->   x0         class-hnd "spilling ret_expr" <System.Xml.XmlTextReader>
 ;  V04 tmp2         [V04,T02] (  5,  6.05)     ref  ->   x0         class-hnd "spilling ret_expr" <System.Xml.XmlTextReader>
 ;  V05 tmp3         [V05,T06] (  3,  2.02)     int  ->  x22         "guarded devirt return temp"
 ;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Xml.XmlTextReader>
 ;  V07 tmp5         [V07,T05] (  3,  2.22)     int  ->   x0         "guarded devirt return temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Xml.XmlTextReader>
 ;* V09 tmp7         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.XmlTextReaderImpl>
-;  V10 cse0         [V10,T04] (  4,  3.12)    long  ->  x21         hoist "CSE - aggressive"
+;  V10 cse0         [V10,T04] (  3,  3.12)    long  ->  x21         hoist "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -32,17 +32,17 @@ G_M3549_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x19]
             mov     w20, w1
                        ;; size=24 bbWeight=1 PerfScore 4.50
-G_M3549_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M3549_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
+                     ;; size=12 bbWeight=1 PerfScore 1.50
+G_M3549_IG03:        ; bbWeight=1.11, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x19, #0x18]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
             cmp     x1, x21
-            bne     G_M3549_IG09
-                       ;; size=28 bbWeight=1 PerfScore 9.00
-G_M3549_IG03:        ; bbWeight=1.11, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref
+            bne     G_M3549_IG10
             ldr     x0, [x0, #0x08]
             movz    x1, #0xD1FFAB1E      // code for <unknown method>
             movk    x1, #0xD1FFAB1E LSL #16
@@ -51,34 +51,34 @@ G_M3549_IG03:        ; bbWeight=1.11, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {
             ldr     wzr, [x0]
             blr     x1
             ; gcrRegs -[x0]
-                      ;; size=28 bbWeight=1.11 PerfScore 12.74
+                      ;; size=44 bbWeight=1.11 PerfScore 21.05
 G_M3549_IG04:        ; bbWeight=1.11, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            cbnz    w0, G_M3549_IG06
+            cbz     w0, G_M3549_IG07
                       ;; size=4 bbWeight=1.11 PerfScore 1.11
-G_M3549_IG05:        ; bbWeight=0.90, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M3549_IG05:        ; bbWeight=1.01, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            ldr     x0, [x19, #0x18]
+            ; gcrRegs +[x0]
+            ldr     x1, [x0]
+            cmp     x1, x21
+            bne     G_M3549_IG09
+            ldr     x0, [x0, #0x08]
+            ldr     x0, [x0, #0x18]
+            ldr     w22, [x0, #0x50]
+                       ;; size=28 bbWeight=1.01 PerfScore 16.63
+G_M3549_IG06:        ; bbWeight=1.01, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x0]
+            cmp     w22, #1
+            bne     G_M3549_IG08
+                       ;; size=8 bbWeight=1.01 PerfScore 1.51
+G_M3549_IG07:        ; bbWeight=0.90, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19]
             ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x30
             ret     lr
                        ;; size=16 bbWeight=0.90 PerfScore 3.60
-G_M3549_IG06:        ; bbWeight=1.01, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M3549_IG08:        ; bbWeight=0.11, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x19]
-            ldr     x0, [x19, #0x18]
-            ; gcrRegs +[x0]
-            ldr     x1, [x0]
-            cmp     x1, x21
-            bne     G_M3549_IG10
-            ldr     x0, [x0, #0x08]
-            ldr     x0, [x0, #0x18]
-            ldr     w22, [x0, #0x50]
-                       ;; size=28 bbWeight=1.01 PerfScore 16.63
-G_M3549_IG07:        ; bbWeight=1.01, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x0]
-            cmp     w22, #1
-            beq     G_M3549_IG05
-                       ;; size=8 bbWeight=1.01 PerfScore 1.51
-G_M3549_IG08:        ; bbWeight=0.11, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     x0, x19
             ; gcrRegs +[x0]
             mov     w1, w20
@@ -88,21 +88,9 @@ G_M3549_IG08:        ; bbWeight=0.11, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             ldr     x2, [x2]
             blr     x2
             ; gcrRegs -[x0]
-            ldr     x0, [x19, #0x18]
-            ; gcrRegs +[x0]
-            ldr     x1, [x0]
-            cmp     x1, x21
-            beq     G_M3549_IG03
-                       ;; size=44 bbWeight=0.11 PerfScore 1.51
+            b       G_M3549_IG03
+                       ;; size=32 bbWeight=0.11 PerfScore 0.81
 G_M3549_IG09:        ; bbWeight=0, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref
-            ldr     x1, [x0]
-            ldr     x1, [x1, #0x88]
-            ldr     x1, [x1, #0x10]
-            blr     x1
-            ; gcrRegs -[x0]
-            b       G_M3549_IG04
-                       ;; size=20 bbWeight=0 PerfScore 0.00
-G_M3549_IG10:        ; bbWeight=0, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x48]
@@ -110,10 +98,19 @@ G_M3549_IG10:        ; bbWeight=0, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {},
             blr     x1
             ; gcrRegs -[x0]
             sxtw    w22, w0
-            b       G_M3549_IG07
+            b       G_M3549_IG06
                         ;; size=24 bbWeight=0 PerfScore 0.00
+G_M3549_IG10:        ; bbWeight=0, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x0]
+            ldr     x1, [x0]
+            ldr     x1, [x1, #0x88]
+            ldr     x1, [x1, #0x10]
+            blr     x1
+            ; gcrRegs -[x0]
+            b       G_M3549_IG04
+                       ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 224, prolog size 16, PerfScore 50.61, instruction count 56, allocated bytes for code 224 (MethodHash=eb85f222) for method System.Configuration.XmlUtil:StrictReadToNextElement(int):this (Tier1)
+; Total bytes of code 212, prolog size 16, PerfScore 50.72, instruction count 53, allocated bytes for code 212 (MethodHash=eb85f222) for method System.Configuration.XmlUtil:StrictReadToNextElement(int):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -124,7 +121,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 56 (0x00038) Actual length = 224 (0x0000e0)
+  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)
  
-12 (-5.17%) : 213041.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
@@ -15,7 +15,7 @@
 ;* V03 loc0         [V03    ] (  0,  0   )     int  ->  zero-ref   
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V05 tmp1         [V05,T09] (  2,  4   )     ref  ->   x3         class-hnd single-def "impAppendStmt" <int[]>
-;  V06 tmp2         [V06,T12] (  2,  2   )     int  ->  x19         "Inline return value spill temp"
+;  V06 tmp2         [V06,T12] (  2,  2   )     int  ->   x9         "Inline return value spill temp"
 ;  V07 tmp3         [V07,T08] (  4,  4.58)   byref  ->   x3         single-def "Inline stloc first use temp"
 ;  V08 tmp4         [V08,T00] (  3,  6.58)    long  ->   x4         "Inlining Arg"
 ;  V09 tmp5         [V09,T07] (  4,  4.87)     int  ->   x5         "Inline stloc first use temp"
@@ -23,17 +23,16 @@
 ;  V11 tmp7         [V11,T04] (  5,  5.85)   byref  ->   x7         "Inline stloc first use temp"
 ;  V12 tmp8         [V12,T05] (  5,  5.16)     int  ->   x8         "Inline stloc first use temp"
 ;  V13 tmp9         [V13,T11] (  2,  2.58)    long  ->   x9         "Inline stloc first use temp"
-;  V14 tmp10        [V14,T10] (  3,  2.98)    long  ->  x19         "Inline stloc first use temp"
+;  V14 tmp10        [V14,T10] (  3,  2.98)    long  ->   x9         "Inline stloc first use temp"
 ;* V15 tmp11        [V15    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V16 tmp12        [V16    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M34926_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x20]!
-            str     x19, [sp, #0x18]
+            stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
-                        ;; size=12 bbWeight=1 PerfScore 2.50
+                      ;; size=8 bbWeight=1 PerfScore 1.50
 G_M34926_IG02:        ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0001 {x0}, byref
             ; gcrRegs +[x2]
             ; byrRegs +[x0]
@@ -71,8 +70,8 @@ G_M34926_IG03:        ; bbWeight=1.29, gcrefRegs=0004 {x2}, byrefRegs=0009 {x0 x
                        ;; size=36 bbWeight=1.29 PerfScore 14.84
 G_M34926_IG04:        ; bbWeight=0.99, gcrefRegs=0004 {x2}, byrefRegs=0089 {x0 x3 x7}, byref, isz
             ldr     x9, [x7, #0x10]
-            eor     x19, x9, x1
-            cmp     x19, #1
+            eor     x9, x9, x1
+            cmp     x9, #1
             bhi     G_M34926_IG08
                        ;; size=16 bbWeight=0.99 PerfScore 4.96
 G_M34926_IG05:        ; bbWeight=0.99, gcrefRegs=0004 {x2}, byrefRegs=0081 {x0 x7}, byref, isz
@@ -84,7 +83,7 @@ G_M34926_IG05:        ; bbWeight=0.99, gcrefRegs=0004 {x2}, byrefRegs=0081 {x0 x
                        ;; size=16 bbWeight=0.99 PerfScore 14.38
 G_M34926_IG06:        ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0001 {x0}, byref, isz
             ; byrRegs -[x7]
-            cmp     w19, #1
+            cmp     w9, #1
             bne     G_M34926_IG10
             mov     x1, x2
             ; gcrRegs +[x1]
@@ -94,10 +93,9 @@ G_M34926_IG06:        ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0001 {x0}, by
             ; gcr arg pop 0
                        ;; size=16 bbWeight=1 PerfScore 3.00
 G_M34926_IG07:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x19, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x10
             ret     lr
-                       ;; size=12 bbWeight=1 PerfScore 4.00
+                      ;; size=8 bbWeight=1 PerfScore 2.00
 G_M34926_IG08:        ; bbWeight=0.30, gcVars=0000000000000000 {}, gcrefRegs=0004 {x2}, byrefRegs=0009 {x0 x3}, gcvars, byref, isz
             ; gcrRegs +[x2]
             ; byrRegs +[x0 x3]
@@ -106,8 +104,8 @@ G_M34926_IG08:        ; bbWeight=0.30, gcVars=0000000000000000 {}, gcrefRegs=000
 G_M34926_IG09:        ; bbWeight=1.29, gcrefRegs=0004 {x2}, byrefRegs=0009 {x0 x3}, byref, isz
             add     w6, w6, #1
             add     w5, w5, w6
-            ldr     w7, [x3, #0x04]
-            and     w5, w5, w7
+            ldr     w9, [x3, #0x04]
+            and     w5, w5, w9
             cmp     w6, #8
             blt     G_M34926_IG03
                        ;; size=24 bbWeight=1.29 PerfScore 7.74
@@ -123,23 +121,22 @@ G_M34926_IG10:        ; bbWeight=0.01, gcrefRegs=0004 {x2}, byrefRegs=0001 {x0},
             ; gcr arg pop 0
                        ;; size=20 bbWeight=0.01 PerfScore 0.05
 G_M34926_IG11:        ; bbWeight=0.01, epilog, nogc, extend
-            ldr     x19, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x10
             ret     lr
-                       ;; size=12 bbWeight=0.01 PerfScore 0.03
+                       ;; size=8 bbWeight=0.01 PerfScore 0.02
 
-; Total bytes of code 232, prolog size 12, PerfScore 69.30, instruction count 58, allocated bytes for code 232 (MethodHash=f2f07791) for method System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
+; Total bytes of code 220, prolog size 8, PerfScore 66.28, instruction count 55, allocated bytes for code 220 (MethodHash=f2f07791) for method System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
 ; ============================================================
 
 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   : 58 (0x0003a) Actual length = 232 (0x0000e8)
+  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)
@@ -150,10 +147,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]
-    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
-    E4          end
-    E4          end
+    81          save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]!
     E4          end
     E4          end
 
  
+28 (+17.50%) : 629826.dasm - System.Collections.Concurrent.ConcurrentQueue1[System.Collections.Generic.KeyValuePair2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
@@ -14,25 +14,27 @@
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  4,  8   )     ref  ->   x3         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Collections.Generic.KeyValuePair`2[int,long]]>
-;  V05 tmp3         [V05,T06] (  5,  4.98)     ref  ->   x4         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T02] (  6,  5.96)     int  ->   x6         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->   x7         "Inline stloc first use temp"
+;  V05 tmp3         [V05,T06] (  5,  4.98)     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V06 tmp4         [V06,T02] (  6,  5.96)     int  ->   x5         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->   x6         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V09 tmp7         [V09,T11] (  3,  2.01)     int  ->   x8         "Inline stloc first use temp"
+;  V09 tmp7         [V09,T11] (  3,  2.01)     int  ->   x6         "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T04] (  3,  2.99)     int  ->   x1         single-def "field V01.key (fldOffset=0x0)" P-INDEP
 ;  V11 tmp9         [V11,T05] (  3,  2.99)    long  ->   x2         single-def "field V01.value (fldOffset=0x8)" P-INDEP
-;  V12 tmp10        [V12,T03] (  3,  5.94)   byref  ->   x3         single-def "BlockOp address local"
-;  V13 cse0         [V13,T07] (  4,  3.98)    long  ->   x7         "CSE - aggressive"
-;  V14 cse1         [V14,T09] (  3,  2.99)   byref  ->   x5         hoist "CSE - aggressive"
-;  V15 cse2         [V15,T12] (  2,  2   )     int  ->   x8         "CSE - aggressive"
-;  V16 cse3         [V16,T10] (  3,  2.96)     int  ->   x8         "CSE - aggressive"
+;  V12 tmp10        [V12,T03] (  3,  5.94)   byref  ->   x0         single-def "BlockOp address local"
+;  V13 cse0         [V13,T07] (  4,  3.98)    long  ->  x20         "CSE - aggressive"
+;  V14 cse1         [V14,T09] (  3,  2.99)   byref  ->   x4         hoist "CSE - aggressive"
+;  V15 cse2         [V15,T12] (  2,  2   )     int  ->   x7         "CSE - aggressive"
+;  V16 cse3         [V16,T10] (  3,  2.96)     int  ->  x21         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M53455_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-                       ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M53455_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0]
             add     x3, x0, #16
@@ -40,88 +42,89 @@ G_M53455_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ldapr   x3, [x3]
             ; gcrRegs +[x3]
             ; byrRegs -[x3]
-            ldr     x4, [x3, #0x08]
-            ; gcrRegs +[x4]
-            add     x5, x3, #0xD1FFAB1E
-            ; byrRegs +[x5]
-                       ;; size=16 bbWeight=1 PerfScore 7.00
-G_M53455_IG03:        ; bbWeight=1, gcrefRegs=0019 {x0 x3 x4}, byrefRegs=0020 {x5}, byref, isz
-            ldapr   w6, [x5]
-            ldr     w7, [x3, #0x18]
-            and     w7, w6, w7
-            ldr     w8, [x4, #0x08]
-            cmp     w7, w8
-            bhs     G_M53455_IG10
-            mov     w8, #24
-            mov     x9, #16
-            umaddl  x7, w7, w8, x9
-            add     x8, x4, x7
-            ; byrRegs +[x8]
-            ldapr   w8, [x8]
-            ; byrRegs -[x8]
-            sub     w8, w8, w6
-            cbnz    w8, G_M53455_IG07
-                       ;; size=52 bbWeight=1 PerfScore 22.00
-G_M53455_IG04:        ; bbWeight=0.99, gcrefRegs=0019 {x0 x3 x4}, byrefRegs=0020 {x5}, byref, isz
-            add     w8, w6, #1
-            mov     w9, w6
-            casal   w9, w8, [x5]
-            cmp     w9, w6
-            bne     G_M53455_IG03
-                       ;; size=20 bbWeight=0.99 PerfScore 5.43
-G_M53455_IG05:        ; bbWeight=0.99, gcrefRegs=0010 {x4}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0 x3]
-            ; byrRegs -[x5]
-            add     x3, x4, x7
-            ; byrRegs +[x3]
-            str     w1, [x3, #0x08]
-            str     x2, [x3, #0x10]
-            add     x4, x4, x7
-            ; gcrRegs -[x4]
+            ldr     x19, [x3, #0x08]
+            ; gcrRegs +[x19]
+            add     x4, x3, #0xD1FFAB1E
             ; byrRegs +[x4]
-            stlr    w8, [x4]
-                       ;; size=20 bbWeight=0.99 PerfScore 3.96
-G_M53455_IG06:        ; bbWeight=0.99, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=0.99 PerfScore 1.98
-G_M53455_IG07:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=0019 {x0 x3 x4}, byrefRegs=0020 {x5}, gcvars, byref, isz
-            ; gcrRegs +[x0 x3-x4]
-            ; byrRegs -[x3-x4] +[x5]
-            tbz     w8, #31, G_M53455_IG03
+                       ;; size=16 bbWeight=1 PerfScore 7.00
+G_M53455_IG03:        ; bbWeight=1, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            ldapr   w5, [x4]
+            ldr     w6, [x3, #0x18]
+            and     w6, w5, w6
+            ldr     w7, [x19, #0x08]
+            cmp     w6, w7
+            bhs     G_M53455_IG10
+            mov     w7, #24
+            mov     x8, #16
+            umaddl  x20, w6, w7, x8
+            add     x6, x19, x20
+            ; byrRegs +[x6]
+            ldapr   w6, [x6]
+            ; byrRegs -[x6]
+            sub     w6, w6, w5
+            cbnz    w6, G_M53455_IG05
+                       ;; size=52 bbWeight=1 PerfScore 22.00
+G_M53455_IG04:        ; bbWeight=0.99, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            add     w21, w5, #1
+            mov     w6, w5
+            casal   w6, w21, [x4]
+            cmp     w6, w5
+            bne     G_M53455_IG03
+            b       G_M53455_IG08
+                       ;; size=24 bbWeight=0.99 PerfScore 6.42
+G_M53455_IG05:        ; bbWeight=0.01, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0010 {x4}, byref, isz
+            tbz     w6, #31, G_M53455_IG03
                      ;; size=4 bbWeight=0.01 PerfScore 0.01
-G_M53455_IG08:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x3-x4]
-            ; byrRegs -[x5]
+G_M53455_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x3 x19]
+            ; byrRegs -[x4]
             movz    x3, #0xD1FFAB1E      // code for <unknown method>
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
                        ;; size=16 bbWeight=1 PerfScore 4.50
-G_M53455_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M53455_IG07:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             br      x3
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=1 PerfScore 2.00
+                       ;; size=16 bbWeight=1 PerfScore 5.00
+G_M53455_IG08:        ; bbWeight=0.99, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0] +[x19]
+            add     x0, x19, x20
+            ; byrRegs +[x0]
+            str     w1, [x0, #0x08]
+            str     x2, [x0, #0x10]
+            add     x0, x19, x20
+            stlr    w21, [x0]
+                       ;; size=20 bbWeight=0.99 PerfScore 3.96
+G_M53455_IG09:        ; bbWeight=0.99, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
+            ret     lr
+                       ;; size=16 bbWeight=0.99 PerfScore 4.95
 G_M53455_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0]
+            ; gcrRegs -[x19]
+            ; byrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 160, prolog size 8, PerfScore 48.38, instruction count 40, allocated bytes for code 160 (MethodHash=d16f2f30) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
+; Total bytes of code 188, prolog size 16, PerfScore 57.34, instruction count 47, allocated bytes for code 188 (MethodHash=d16f2f30) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 40 (0x00028) Actual length = 160 (0x0000a0)
+  Function Length   : 47 (0x0002f) Actual length = 188 (0x0000bc)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -132,7 +135,9 @@ 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 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
 
  
+28 (+17.50%) : 632498.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Threading.CancellationToken]:Enqueue(System.Threading.CancellationToken):this (Tier1)
@@ -14,62 +14,82 @@
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Threading.CancellationToken]>
-;  V05 tmp3         [V05,T04] (  5,  4.94)     ref  ->   x3         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T02] (  6,  5.87)     int  ->  x14         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T06] (  3,  3   )     int  ->  x15         "Inline stloc first use temp"
+;  V05 tmp3         [V05,T04] (  5,  4.94)     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V06 tmp4         [V06,T02] (  6,  5.87)     int  ->   x4         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T06] (  3,  3   )     int  ->   x5         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V09 tmp7         [V09,T09] (  3,  2.04)     int  ->   x6         "Inline stloc first use temp"
+;  V09 tmp7         [V09,T09] (  3,  2.04)     int  ->   x5         "Inline stloc first use temp"
 ;  V10 tmp8         [V10,T03] (  3,  2.97)     ref  ->   x1         single-def "field V01._source (fldOffset=0x0)" P-INDEP
-;  V11 cse0         [V11,T05] (  4,  3.94)    long  ->   x5         "CSE - aggressive"
-;  V12 cse1         [V12,T07] (  3,  2.96)   byref  ->   x4         hoist "CSE - aggressive"
-;  V13 cse2         [V13,T10] (  2,  2   )     int  ->  x12         "CSE - aggressive"
-;  V14 cse3         [V14,T08] (  3,  2.88)     int  ->   x6         "CSE - aggressive"
+;  V11 cse0         [V11,T05] (  4,  3.94)    long  ->  x20         "CSE - aggressive"
+;  V12 cse1         [V12,T07] (  3,  2.96)   byref  ->   x3         hoist "CSE - aggressive"
+;  V13 cse2         [V13,T10] (  2,  2   )     int  ->   x6         "CSE - aggressive"
+;  V14 cse3         [V14,T08] (  3,  2.88)     int  ->  x21         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M43759_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-                       ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M43759_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0-x1]
-            add     x14, x0, #16
-            ; byrRegs +[x14]
-            ldapr   x2, [x14]
+            add     x2, x0, #16
+            ; byrRegs +[x2]
+            ldapr   x2, [x2]
             ; gcrRegs +[x2]
-            ldr     x3, [x2, #0x08]
-            ; gcrRegs +[x3]
-            add     x4, x2, #0xD1FFAB1E
-            ; byrRegs +[x4]
+            ; byrRegs -[x2]
+            ldr     x19, [x2, #0x08]
+            ; gcrRegs +[x19]
+            add     x3, x2, #0xD1FFAB1E
+            ; byrRegs +[x3]
                         ;; size=16 bbWeight=1 PerfScore 7.00
-G_M43759_IG03:        ; bbWeight=1, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, byref, isz
-            ; byrRegs -[x14]
-            ldapr   w14, [x4]
-            ldr     w15, [x2, #0x18]
-            and     w15, w14, w15
-            ldr     w12, [x3, #0x08]
-            cmp     w15, w12
+G_M43759_IG03:        ; bbWeight=1, gcrefRegs=80007 {x0 x1 x2 x19}, byrefRegs=0008 {x3}, byref, isz
+            ldapr   w4, [x3]
+            ldr     w5, [x2, #0x18]
+            and     w5, w4, w5
+            ldr     w6, [x19, #0x08]
+            cmp     w5, w6
             bhs     G_M43759_IG10
-            ubfiz   x15, x15, #4, #32
-            add     x5, x15, #16
-            add     x15, x3, x5
-            ; byrRegs +[x15]
-            ldapr   w15, [x15]
-            ; byrRegs -[x15]
-            sub     w6, w15, w14
-            cbnz    w6, G_M43759_IG07
+            ubfiz   x5, x5, #4, #32
+            add     x20, x5, #16
+            add     x5, x19, x20
+            ; byrRegs +[x5]
+            ldapr   w5, [x5]
+            ; byrRegs -[x5]
+            sub     w5, w5, w4
+            cbnz    w5, G_M43759_IG05
                       ;; size=48 bbWeight=1 PerfScore 17.50
-G_M43759_IG04:        ; bbWeight=0.96, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, byref, isz
-            add     w6, w14, #1
-            mov     w15, w14
-            casal   w15, w6, [x4]
-            cmp     w15, w14
+G_M43759_IG04:        ; bbWeight=0.96, gcrefRegs=80007 {x0 x1 x2 x19}, byrefRegs=0008 {x3}, byref, isz
+            add     w21, w4, #1
+            mov     w5, w4
+            casal   w5, w21, [x3]
+            cmp     w5, w4
             bne     G_M43759_IG03
-                      ;; size=20 bbWeight=0.96 PerfScore 5.25
-G_M43759_IG05:        ; bbWeight=0.97, gcrefRegs=000A {x1 x3}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0 x2]
-            ; byrRegs -[x4]
-            add     x14, x3, x5
+            b       G_M43759_IG08
+                       ;; size=24 bbWeight=0.96 PerfScore 6.21
+G_M43759_IG05:        ; bbWeight=0.04, gcrefRegs=80007 {x0 x1 x2 x19}, byrefRegs=0008 {x3}, byref, isz
+            tbz     w5, #31, G_M43759_IG03
+                       ;; size=4 bbWeight=0.04 PerfScore 0.04
+G_M43759_IG06:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x2 x19]
+            ; byrRegs -[x3]
+            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+                       ;; size=16 bbWeight=1 PerfScore 4.50
+G_M43759_IG07:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
+            br      x2
+            ; gcr arg pop 0
+                       ;; size=16 bbWeight=1 PerfScore 5.00
+G_M43759_IG08:        ; bbWeight=0.97, gcVars=0000000000000000 {}, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0] +[x19]
+            add     x14, x19, x20
             ; byrRegs +[x14]
             add     x14, x14, #8
             mov     x15, x1
@@ -77,51 +97,36 @@ G_M43759_IG05:        ; bbWeight=0.97, gcrefRegs=000A {x1 x3}, byrefRegs=0000 {}
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x1 x15]
             ; byrRegs -[x14]
-            add     x2, x3, x5
-            ; byrRegs +[x2]
-            stlr    w6, [x2]
+            add     x0, x19, x20
+            ; byrRegs +[x0]
+            stlr    w21, [x0]
                       ;; size=24 bbWeight=0.97 PerfScore 3.88
-G_M43759_IG06:        ; bbWeight=0.97, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M43759_IG09:        ; bbWeight=0.97, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=8 bbWeight=0.97 PerfScore 1.94
-G_M43759_IG07:        ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=000F {x0 x1 x2 x3}, byrefRegs=0010 {x4}, gcvars, byref, isz
-            ; gcrRegs +[x0-x2]
-            ; byrRegs -[x2] +[x4]
-            tbz     w6, #31, G_M43759_IG03
-                       ;; size=4 bbWeight=0.04 PerfScore 0.04
-G_M43759_IG08:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x2-x3]
-            ; byrRegs -[x4]
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-                       ;; size=16 bbWeight=1 PerfScore 4.50
-G_M43759_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            br      x2
-            ; gcr arg pop 0
-                       ;; size=8 bbWeight=1 PerfScore 2.00
+                       ;; size=16 bbWeight=0.97 PerfScore 4.85
 G_M43759_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0-x1]
+            ; gcrRegs -[x19]
+            ; byrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 160, prolog size 8, PerfScore 43.62, instruction count 40, allocated bytes for code 160 (MethodHash=45c55510) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Threading.CancellationToken]:Enqueue(System.Threading.CancellationToken):this (Tier1)
+; Total bytes of code 188, prolog size 16, PerfScore 52.48, instruction count 47, allocated bytes for code 188 (MethodHash=45c55510) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Threading.CancellationToken]:Enqueue(System.Threading.CancellationToken):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 40 (0x00028) Actual length = 160 (0x0000a0)
+  Function Length   : 47 (0x0002f) Actual length = 188 (0x0000bc)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -132,7 +137,9 @@ 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 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
 
  
+28 (+18.92%) : 180530.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
@@ -18,18 +18,20 @@
 ;  V06 tmp4         [V06,T03] (  6,  5.88)     int  ->   x5         "Inline stloc first use temp"
 ;  V07 tmp5         [V07,T04] (  3,  3.00)     int  ->   x6         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V09 tmp7         [V09,T10] (  3,  2.05)     int  ->   x8         "Inline stloc first use temp"
-;  V10 cse0         [V10,T06] (  3,  2.98)   byref  ->   x7         "CSE - aggressive"
-;  V11 cse1         [V11,T07] (  3,  2.98)   byref  ->   x6         "CSE - aggressive"
+;  V09 tmp7         [V09,T10] (  3,  2.05)     int  ->   x6         "Inline stloc first use temp"
+;  V10 cse0         [V10,T06] (  3,  2.98)   byref  ->  x20         "CSE - aggressive"
+;  V11 cse1         [V11,T07] (  3,  2.98)   byref  ->  x19         "CSE - aggressive"
 ;  V12 cse2         [V12,T08] (  3,  2.96)   byref  ->   x4         hoist "CSE - aggressive"
-;  V13 cse3         [V13,T09] (  3,  2.89)     int  ->   x8         "CSE - aggressive"
+;  V13 cse3         [V13,T09] (  3,  2.89)     int  ->  x21         "CSE - aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M7919_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             mov     fp, sp
-                       ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M7919_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0]
             add     x2, x0, #16
@@ -48,40 +50,35 @@ G_M7919_IG03:        ; bbWeight=1.00, gcrefRegs=000D {x0 x2 x3}, byrefRegs=0010
             and     w6, w5, w6
             ldr     w7, [x3, #0x08]
             cmp     w6, w7
-            bhs     G_M7919_IG10
+            bhs     G_M7919_IG11
             ubfiz   x6, x6, #3, #32
             add     x6, x6, #16
-            add     x6, x3, x6
-            ; byrRegs +[x6]
-            add     x7, x6, #4
-            ; byrRegs +[x7]
-            ldapr   w8, [x7]
-            sub     w8, w8, w5
-            cbnz    w8, G_M7919_IG07
+            add     x19, x3, x6
+            ; byrRegs +[x19]
+            add     x20, x19, #4
+            ; byrRegs +[x20]
+            ldapr   w6, [x20]
+            sub     w6, w6, w5
+            cbnz    w6, G_M7919_IG06
                        ;; size=52 bbWeight=1.00 PerfScore 18.03
-G_M7919_IG04:        ; bbWeight=0.96, gcrefRegs=000D {x0 x2 x3}, byrefRegs=00D0 {x4 x6 x7}, byref, isz
-            add     w8, w5, #1
-            mov     w9, w5
-            casal   w9, w8, [x4]
-            cmp     w9, w5
+G_M7919_IG04:        ; bbWeight=0.96, gcrefRegs=000D {x0 x2 x3}, byrefRegs=180010 {x4 x19 x20}, byref, isz
+            add     w21, w5, #1
+            mov     w6, w5
+            casal   w6, w21, [x4]
+            cmp     w6, w5
             bne     G_M7919_IG03
                        ;; size=20 bbWeight=0.96 PerfScore 5.27
-G_M7919_IG05:        ; bbWeight=0.98, gcrefRegs=0000 {}, byrefRegs=00C0 {x6 x7}, byref
+G_M7919_IG05:        ; bbWeight=0.96, gcrefRegs=0000 {}, byrefRegs=180000 {x19 x20}, byref
             ; gcrRegs -[x0 x2-x3]
             ; byrRegs -[x4]
-            str     w1, [x6]
-            stlr    w8, [x7]
-                       ;; size=8 bbWeight=0.98 PerfScore 1.96
-G_M7919_IG06:        ; bbWeight=0.98, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=0.98 PerfScore 1.96
-G_M7919_IG07:        ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=000D {x0 x2 x3}, byrefRegs=0010 {x4}, gcvars, byref, isz
+            b       G_M7919_IG09
+                       ;; size=4 bbWeight=0.96 PerfScore 0.96
+G_M7919_IG06:        ; bbWeight=0.04, gcrefRegs=000D {x0 x2 x3}, byrefRegs=0010 {x4}, byref, isz
             ; gcrRegs +[x0 x2-x3]
-            ; byrRegs -[x6-x7] +[x4]
-            tbz     w8, #31, G_M7919_IG03
+            ; byrRegs -[x19-x20] +[x4]
+            tbz     w6, #31, G_M7919_IG03
                       ;; size=4 bbWeight=0.04 PerfScore 0.04
-G_M7919_IG08:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M7919_IG07:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x2-x3]
             ; byrRegs -[x4]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
@@ -89,30 +86,44 @@ G_M7919_IG08:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
                        ;; size=16 bbWeight=1 PerfScore 4.50
-G_M7919_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M7919_IG08:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             br      x2
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=1 PerfScore 2.00
-G_M7919_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                       ;; size=16 bbWeight=1 PerfScore 5.00
+G_M7919_IG09:        ; bbWeight=0.98, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=180000 {x19 x20}, gcvars, byref
             ; gcrRegs -[x0]
+            ; byrRegs +[x19-x20]
+            str     w1, [x19]
+            stlr    w21, [x20]
+                       ;; size=8 bbWeight=0.98 PerfScore 1.96
+G_M7919_IG10:        ; bbWeight=0.98, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
+            ret     lr
+                       ;; size=16 bbWeight=0.98 PerfScore 4.89
+G_M7919_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            ; byrRegs -[x19-x20]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 148, prolog size 8, PerfScore 42.25, instruction count 37, allocated bytes for code 148 (MethodHash=ce54e110) for method System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
+; Total bytes of code 176, prolog size 16, PerfScore 51.15, instruction count 44, allocated bytes for code 176 (MethodHash=ce54e110) for method System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 2
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 37 (0x00025) Actual length = 148 (0x000094)
+  Function Length   : 44 (0x0002c) Actual length = 176 (0x0000b0)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -123,7 +134,9 @@ 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 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
 
  
  
librariestestsnotieredcompilation.run.windows.arm64.Release.mch
-4 (-3.57%) : 10732.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
@@ -25,7 +25,7 @@ G_M65070_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ; gcrRegs +[x0]
             mov     x19, x0
             ; gcrRegs +[x19]
-            cbz     x19, G_M65070_IG09
+            cbz     x19, G_M65070_IG06
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M65070_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -39,12 +39,12 @@ G_M65070_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs -[x0]
             mov     w1, #0xD1FFAB1E
             cmp     w0, w1
-            beq     G_M65070_IG07
+            beq     G_M65070_IG08
                        ;; size=36 bbWeight=4 PerfScore 32.00
 G_M65070_IG04:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     w1, #0xD1FFAB1E
             cmp     w0, w1
-            beq     G_M65070_IG07
+            beq     G_M65070_IG08
                        ;; size=12 bbWeight=2 PerfScore 4.00
 G_M65070_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x19, #0x08]
@@ -52,26 +52,23 @@ G_M65070_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
                        ;; size=8 bbWeight=4 PerfScore 16.00
 G_M65070_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
-            b       G_M65070_IG09
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M65070_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #1
-                       ;; size=4 bbWeight=2 PerfScore 1.00
-G_M65070_IG08:        ; bbWeight=2, epilog, nogc, extend
+            mov     w0, wzr
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M65070_IG07:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
-                       ;; size=12 bbWeight=2 PerfScore 8.00
-G_M65070_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            mov     w0, wzr
+                      ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M65070_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, #1
                      ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M65070_IG10:        ; bbWeight=0.50, epilog, nogc, extend
+G_M65070_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 112, prolog size 12, PerfScore 67.75, instruction count 28, allocated bytes for code 112 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
+; Total bytes of code 108, prolog size 12, PerfScore 60.50, instruction count 27, allocated bytes for code 108 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -82,7 +79,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
+  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-3.57%) : 50884.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
@@ -25,7 +25,7 @@ G_M65070_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ; gcrRegs +[x0]
             mov     x19, x0
             ; gcrRegs +[x19]
-            cbz     x19, G_M65070_IG09
+            cbz     x19, G_M65070_IG06
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M65070_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -39,12 +39,12 @@ G_M65070_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs -[x0]
             mov     w1, #0xD1FFAB1E
             cmp     w0, w1
-            beq     G_M65070_IG07
+            beq     G_M65070_IG08
                        ;; size=36 bbWeight=4 PerfScore 32.00
 G_M65070_IG04:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     w1, #0xD1FFAB1E
             cmp     w0, w1
-            beq     G_M65070_IG07
+            beq     G_M65070_IG08
                        ;; size=12 bbWeight=2 PerfScore 4.00
 G_M65070_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x19, #0x08]
@@ -52,26 +52,23 @@ G_M65070_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
                        ;; size=8 bbWeight=4 PerfScore 16.00
 G_M65070_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
-            b       G_M65070_IG09
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M65070_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, #1
-                       ;; size=4 bbWeight=2 PerfScore 1.00
-G_M65070_IG08:        ; bbWeight=2, epilog, nogc, extend
+            mov     w0, wzr
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M65070_IG07:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
-                       ;; size=12 bbWeight=2 PerfScore 8.00
-G_M65070_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            mov     w0, wzr
+                      ;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M65070_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, #1
                      ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M65070_IG10:        ; bbWeight=0.50, epilog, nogc, extend
+G_M65070_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 112, prolog size 12, PerfScore 67.75, instruction count 28, allocated bytes for code 112 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
+; Total bytes of code 108, prolog size 12, PerfScore 60.50, instruction count 27, allocated bytes for code 108 (MethodHash=f34b01d1) for method Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -82,7 +79,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
+  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-28 (-3.45%) : 10698.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>cDisplayClass11_0[ushort]:gexecuteExecutableCodeActions|2():this (FullOpts)
@@ -22,20 +22,20 @@
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.DeclarationInfo[]>
 ;* V12 tmp5         [V12    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IOperation]>
 ;* V13 tmp6         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ushort]>
-;  V14 tmp7         [V14,T03] (  4, 12.50)     int  ->   x4         "Inline stloc first use temp"
+;  V14 tmp7         [V14,T03] (  4, 12.50)     int  ->   x3         "Inline stloc first use temp"
 ;  V15 tmp8         [V15,T06] (  5,  5.50)     ref  ->  x19         "field V01.array (fldOffset=0x0)" P-INDEP
 ;  V16 tmp9         [V16,T08] (  2,  4.50)     ref  ->   x1         single-def "field V03._array (fldOffset=0x0)" P-INDEP
-;  V17 tmp10        [V17,T02] (  4, 12.50)     int  ->   x5         "field V03._index (fldOffset=0x8)" P-INDEP
-;  V18 tmp11        [V18,T04] (  3, 10   )     ref  ->   x6         "field V04.<DeclaredNode>k__BackingField (fldOffset=0x0)" P-INDEP
+;  V17 tmp10        [V17,T02] (  4, 12.50)     int  ->   x4         "field V03._index (fldOffset=0x8)" P-INDEP
+;  V18 tmp11        [V18,T04] (  3, 10   )     ref  ->   x5         "field V04.<DeclaredNode>k__BackingField (fldOffset=0x0)" P-INDEP
 ;* V19 tmp12        [V19    ] (  0,  0   )     ref  ->  zero-ref    "field V04.<DeclaredSymbol>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V20 tmp13        [V20,T05] (  2,  6   )     ref  ->   x4         "field V04.<ExecutableCodeBlocks>k__BackingField (fldOffset=0x10)" P-INDEP
+;  V20 tmp13        [V20,T05] (  2,  6   )     ref  ->   x3         "field V04.<ExecutableCodeBlocks>k__BackingField (fldOffset=0x10)" P-INDEP
 ;  V21 tmp14        [V21,T11] (  5,  2   )     ref  ->  [fp+0x18]  do-not-enreg[H] EH-live "field V05.array (fldOffset=0x0)" P-INDEP
-;  V22 tmp15        [V22,T10] (  5,  2.50)     ref  ->  x20         "field V06.array (fldOffset=0x0)" P-INDEP
+;  V22 tmp15        [V22,T10] (  5,  2.50)     ref  ->  x21         "field V06.array (fldOffset=0x0)" P-INDEP
 ;  V23 tmp16        [V23,T12] (  3,  1.50)     ref  ->   x1         single-def "field V09.array (fldOffset=0x0)" P-INDEP
 ;  V24 tmp17        [V24,T13] (  2,  1   )     ref  ->   x1         single-def "field V10._array (fldOffset=0x0)" P-INDEP
 ;* V25 tmp18        [V25,T15] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x8)" P-INDEP
 ;* V26 tmp19        [V26    ] (  0,  0   )     ref  ->  zero-ref    "field V12.array (fldOffset=0x0)" P-INDEP
-;  V27 tmp20        [V27,T00] (  3, 24   )   byref  ->   x4         "BlockOp address local"
+;  V27 tmp20        [V27,T00] (  3, 24   )   byref  ->   x3         "BlockOp address local"
 ;  V28 PSPSym       [V28,T14] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
 ;  V29 cse0         [V29,T07] (  3,  5   )     int  ->   x2         "CSE - aggressive"
 ;
@@ -97,96 +97,95 @@ G_M10501_IG05:        ; bbWeight=0.50, gcVars=0000000000000002 {V00}, gcrefRegs=
             ldr     wzr, [x0]
             blr     x1
             ; gcr arg pop 0
-            mov     x3, x0
-            ; gcrRegs +[x3]
-            str     x3, [fp, #0x20]    // [V02 loc1]
+            str     x0, [fp, #0x20]  // [V02 loc1]
             ; GC ptr vars +{V02}
-                     ;; size=88 bbWeight=0.50 PerfScore 12.50
-G_M10501_IG06:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=80008 {x3 x19}, byrefRegs=0000 {}, gcvars, byref, isz
+                        ;; size=84 bbWeight=0.50 PerfScore 12.25
+G_M10501_IG06:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [fp, #0x28] // [V00 this]
-            ; gcrRegs +[x0]
-            ldr     x1, [x0, #0x68]
+            ldr     x20, [fp, #0x28]  // [V00 this]
+            ; gcrRegs +[x20]
+            ldr     x1, [x20, #0x68]
             ; gcrRegs +[x1]
             ldr     w2, [x1, #0x08]
+            mov     w3, wzr
             mov     w4, wzr
-            mov     w5, wzr
             cmp     w2, #0
             ble     G_M10501_IG11
                        ;; size=28 bbWeight=0.50 PerfScore 5.25
-G_M10501_IG07:        ; bbWeight=4, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0000 {}, byref, isz
-            mov     w6, #24
-            mov     x7, #16
-            umaddl  x4, w4, w6, x7
-            add     x4, x1, x4
-            ; byrRegs +[x4]
-            ldr     x6, [x4]
+G_M10501_IG07:        ; bbWeight=4, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=0000 {}, byref, isz
+            mov     w5, #24
+            mov     x6, #16
+            umaddl  x3, w3, w5, x6
+            add     x3, x1, x3
+            ; byrRegs +[x3]
+            ldr     x5, [x3]
+            ; gcrRegs +[x5]
+            ldr     x3, [x3, #0x10]
+            ; gcrRegs +[x3]
+            ; byrRegs -[x3]
+            ldr     x6, [x20, #0x50]
             ; gcrRegs +[x6]
-            ldr     x4, [x4, #0x10]
-            ; gcrRegs +[x4]
-            ; byrRegs -[x4]
-            ldr     x7, [x0, #0x50]
-            ; gcrRegs +[x7]
-            cmp     x6, x7
+            cmp     x5, x6
             beq     G_M10501_IG09
                        ;; size=36 bbWeight=4 PerfScore 68.00
-G_M10501_IG08:        ; bbWeight=2, gcrefRegs=8005B {x0 x1 x3 x4 x6 x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x7]
-            ldr     x7, [x0, #0x48]
-            ; gcrRegs +[x7]
-            cmp     x6, x7
+G_M10501_IG08:        ; bbWeight=2, gcrefRegs=18002A {x1 x3 x5 x19 x20}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x6]
+            ldr     x6, [x20, #0x48]
+            ; gcrRegs +[x6]
+            cmp     x5, x6
             bne     G_M10501_IG10
                        ;; size=12 bbWeight=2 PerfScore 9.00
-G_M10501_IG09:        ; bbWeight=2, gcrefRegs=001B {x0 x1 x3 x4}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x6-x7 x19]
-            mov     x19, x4
+G_M10501_IG09:        ; bbWeight=2, gcrefRegs=10000A {x1 x3 x20}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x5-x6 x19]
+            mov     x19, x3
             ; gcrRegs +[x19]
-            ldr     w4, [x19, #0x08]
-            ; gcrRegs -[x4]
-            cbnz    w4, G_M10501_IG12
+            ldr     w3, [x19, #0x08]
+            ; gcrRegs -[x3]
+            cbnz    w3, G_M10501_IG12
                       ;; size=12 bbWeight=2 PerfScore 9.00
-G_M10501_IG10:        ; bbWeight=4, gcrefRegs=8000B {x0 x1 x3 x19}, byrefRegs=0000 {}, byref, isz
-            add     w4, w5, #1
-            sxtw    w5, w4
-            cmp     w2, w5
+G_M10501_IG10:        ; bbWeight=4, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=0000 {}, byref, isz
+            add     w3, w4, #1
+            sxtw    w4, w3
+            cmp     w2, w4
             bgt     G_M10501_IG07
                        ;; size=16 bbWeight=4 PerfScore 10.00
-G_M10501_IG11:        ; bbWeight=0.50, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0000 {}, byref
+G_M10501_IG11:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x1]
+            mov     x0, x20
+            ; gcrRegs +[x0]
             mov     x1, x19
             ; gcrRegs +[x1]
-            mov     x2, x3
+            ldr     x2, [fp, #0x20]   // [V02 loc1]
             ; gcrRegs +[x2]
-            movz    x4, #0xD1FFAB1E      // code for <unknown method>
-            movk    x4, #0xD1FFAB1E LSL #16
-            movk    x4, #0xD1FFAB1E LSL #32
-            ldr     x4, [x4]
+            movz    x3, #0xD1FFAB1E      // code for <unknown method>
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     x3, [x3]
             ; GC ptr vars -{V00}
-            blr     x4
-            ; gcrRegs -[x0-x3 x19]
+            blr     x3
+            ; gcrRegs -[x0-x2 x19-x20]
             ; gcr arg pop 0
             b       G_M10501_IG17
-                        ;; size=32 bbWeight=0.50 PerfScore 3.75
-G_M10501_IG12:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x3 x19]
+                       ;; size=36 bbWeight=0.50 PerfScore 4.75
+G_M10501_IG12:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x19-x20]
             ; GC ptr vars +{V00}
-            ldrb    w1, [x0, #0x42]
-            ldrb    w2, [x0, #0x44]
+            ldrb    w1, [x20, #0x42]
+            ldrb    w2, [x20, #0x44]
             orr     w1, w1, w2
             cbz     w1, G_M10501_IG13
-            ldr     x0, [x0, #0x08]
-            ldr     x20, [fp, #0x28]   // [V00 this]
-            ; gcrRegs +[x20]
+            ldr     x0, [x20, #0x08]
+            ; gcrRegs +[x0]
             ldr     x1, [x20, #0x18]
             ; gcrRegs +[x1]
-            mov     x2, x3
+            ldr     x2, [fp, #0x20]   // [V02 loc1]
             ; gcrRegs +[x2]
-            movz    x4, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ushort]:<ExecuteDeclaringReferenceActions>g__addExecutableCodeBlockAnalyzerActions|11_8(Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+GroupedAnalyzerActions[ushort],Microsoft.CodeAnalysis.Diagnostics.AnalysisScope,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+ExecutableCodeBlockAnalyzerActions[ushort]])
-            movk    x4, #0xD1FFAB1E LSL #16
-            movk    x4, #0xD1FFAB1E LSL #32
-            ldr     x4, [x4]
-            blr     x4
-            ; gcrRegs -[x0-x3]
+            movz    x3, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ushort]:<ExecuteDeclaringReferenceActions>g__addExecutableCodeBlockAnalyzerActions|11_8(Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+GroupedAnalyzerActions[ushort],Microsoft.CodeAnalysis.Diagnostics.AnalysisScope,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+ExecutableCodeBlockAnalyzerActions[ushort]])
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     x3, [x3]
+            blr     x3
+            ; gcrRegs -[x0-x2]
             ; gcr arg pop 0
             ldp     x0, x1, [x20, #0x10]
             ; gcrRegs +[x0-x1]
@@ -199,32 +198,28 @@ G_M10501_IG12:        ; bbWeight=0.50, gcVars=0000000000000202 {V00 V02}, gcrefR
             blr     x3
             ; gcrRegs -[x0-x2]
             ; gcr arg pop 0
-            mov     x0, x20
-            ; gcrRegs +[x0]
-            ldr     x3, [fp, #0x20]    // [V02 loc1]
-            ; gcrRegs +[x3]
-                       ;; size=88 bbWeight=0.50 PerfScore 17.75
-G_M10501_IG13:        ; bbWeight=0.50, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x20]
-            ldrb    w2, [x0, #0x43]
-            ldrb    w1, [x0, #0x44]
+                      ;; size=76 bbWeight=0.50 PerfScore 16.25
+G_M10501_IG13:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
+            ldrb    w2, [x20, #0x43]
+            ldrb    w1, [x20, #0x44]
             orr     w2, w2, w1
             cbz     w2, G_M10501_IG11
-            ldr     x2, [x0, #0x70]
+            ldr     x2, [x20, #0x70]
             ; gcrRegs +[x2]
-            ldr     x1, [x0, #0x28]
+            ldr     x1, [x20, #0x28]
             ; gcrRegs +[x1]
             mov     x0, x19
-            movz    x4, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ushort]:GetOperationBlocksToAnalyze(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxNode],Microsoft.CodeAnalysis.SemanticModel,System.Threading.CancellationToken):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IOperation]
-            movk    x4, #0xD1FFAB1E LSL #16
-            movk    x4, #0xD1FFAB1E LSL #32
-            ldr     x4, [x4]
-            blr     x4
-            ; gcrRegs -[x1-x3]
+            ; gcrRegs +[x0]
+            movz    x3, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1[ushort]:GetOperationBlocksToAnalyze(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxNode],Microsoft.CodeAnalysis.SemanticModel,System.Threading.CancellationToken):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IOperation]
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     x3, [x3]
+            blr     x3
+            ; gcrRegs -[x1-x2]
             ; gcr arg pop 0
             str     x0, [fp, #0x18]    // [V21 tmp14]
             ; GC ptr vars +{V21}
-            ldr     x0, [fp, #0x28]  // [V00 this]
+            mov     x0, x20
             ldr     x1, [fp, #0x18]   // [V21 tmp14]
             ; gcrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
@@ -234,22 +229,22 @@ G_M10501_IG13:        ; bbWeight=0.50, gcrefRegs=80009 {x0 x3 x19}, byrefRegs=00
             blr     x2
             ; gcrRegs -[x1]
             ; gcr arg pop 0
-            mov     x20, x0
-            ; gcrRegs +[x20]
-            ldr     w2, [x20, #0x08]
-            ldp     x3, x0, [fp, #0x20]    // [V02 loc1], [V00 this]
-            ; gcrRegs +[x3]
+            mov     x21, x0
+            ; gcrRegs +[x21]
+            ldr     w2, [x21, #0x08]
             cbz     w2, G_M10501_IG11
-                        ;; size=96 bbWeight=0.50 PerfScore 18.75
-G_M10501_IG14:        ; bbWeight=0.50, gcrefRegs=180009 {x0 x3 x19 x20}, byrefRegs=0000 {}, byref, isz
-            ldrb    w2, [x0, #0x43]
+                      ;; size=92 bbWeight=0.50 PerfScore 16.50
+G_M10501_IG14:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x0]
+            ldrb    w2, [x20, #0x43]
...
  
+16 (+2.82%) : 67267.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct]:EnqueueSlow(System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct):this (FullOpts)
@@ -16,121 +16,121 @@
 ;* V05 loc3         [V05    ] (  0,  0   )     int  ->  zero-ref   
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct]>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T16] (  3,  6   )     int  ->  x24        
+;  V08 tmp1         [V08,T16] (  3,  6   )     int  ->  x26        
 ;  V09 tmp2         [V09,T08] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct]>
 ;* V10 tmp3         [V10,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V11 tmp4         [V11,T03] (  5,140   )     ref  ->   x1         class-hnd exact "Inline stloc first use temp" <<unknown class>>
-;  V12 tmp5         [V12,T00] (  7,242   )     int  ->   x0         "Inline stloc first use temp"
-;  V13 tmp6         [V13,T01] (  5,196   )     int  ->   x2         "Inline stloc first use temp"
+;  V11 tmp4         [V11,T03] (  5,140   )     ref  ->  x23         class-hnd exact "Inline stloc first use temp" <<unknown class>>
+;  V12 tmp5         [V12,T00] (  7,242   )     int  ->  x25         "Inline stloc first use temp"
+;  V13 tmp6         [V13,T01] (  5,196   )     int  ->  x26         "Inline stloc first use temp"
 ;* V14 tmp7         [V14    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V15 tmp8         [V15,T02] (  3,144   )     int  ->   x3         "Inline stloc first use temp"
+;  V15 tmp8         [V15,T02] (  3,144   )     int  ->   x1         "Inline stloc first use temp"
 ;  V16 tmp9         [V16,T09] (  2, 16   )   ubyte  ->   x0         "Inlining Arg"
-;  V17 tmp10        [V17,T13] (  2,  8   )   byref  ->  x23         "impAppendStmt"
+;  V17 tmp10        [V17,T13] (  2,  8   )   byref  ->  x24         "impAppendStmt"
 ;  V18 tmp11        [V18,T14] (  2,  8   )     int  ->   x0         "Inlining Arg"
-;  V19 tmp12        [V19,T17] (  3,  4   )     int  ->  x24         "Inline return value spill temp"
-;  V20 tmp13        [V20,T11] (  3, 11.01)     int  ->  x23         "Inlining Arg"
+;  V19 tmp12        [V19,T17] (  3,  4   )     int  ->  x26         "Inline return value spill temp"
+;  V20 tmp13        [V20,T11] (  3, 11.01)     int  ->  x25         "Inlining Arg"
 ;  V21 PSPSym       [V21,T19] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
-;  V22 cse0         [V22,T05] (  4, 90   )   byref  ->  x23         hoist "CSE - aggressive"
+;  V22 cse0         [V22,T05] (  4, 90   )   byref  ->  x24         hoist "CSE - aggressive"
 ;  V23 cse1         [V23,T06] (  4, 22   )   byref  ->  x21         "CSE - aggressive"
 ;  V24 cse2         [V24,T15] (  3,  6   )     ref  ->   x1         "CSE - aggressive"
 ;
 ; Lcl frame size = 32
 
 G_M53544_IG01:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x60]!
+            stp     fp, lr, [sp, #-0x70]!
             stp     x19, x20, [sp, #0x30]
             stp     x21, x22, [sp, #0x40]
             stp     x23, x24, [sp, #0x50]
+            stp     x25, x26, [sp, #0x60]
             mov     fp, sp
-            add     x2, sp, #96
+            add     x2, sp, #112
             str     x2, [fp, #0x28]   // [V21 PSPSym]
             mov     x19, x0
             ; gcrRegs +[x19]
             mov     x20, x1
             ; byrRegs +[x20]
-                     ;; size=36 bbWeight=8 PerfScore 56.00
+                     ;; size=40 bbWeight=8 PerfScore 64.00
 G_M53544_IG02:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref
             add     x21, x19, #16
             ; byrRegs +[x21]
             ldapr   x22, [x21]
             ; gcrRegs +[x22]
-            ldr     x1, [x22, #0x08]
-            ; gcrRegs +[x1]
-            add     x23, x22, #0xD1FFAB1E
-            ; byrRegs +[x23]
+            ldr     x23, [x22, #0x08]
+            ; gcrRegs +[x23]
+            add     x24, x22, #0xD1FFAB1E
+            ; byrRegs +[x24]
                        ;; size=16 bbWeight=8 PerfScore 56.00
-G_M53544_IG03:        ; bbWeight=64, gcrefRegs=480002 {x1 x19 x22}, byrefRegs=B00000 {x20 x21 x23}, byref, isz
-            ldapr   w0, [x23]
-            ldr     w2, [x22, #0x18]
-            and     w2, w0, w2
-            ldr     w3, [x1, #0x08]
-            cmp     w2, w3
+G_M53544_IG03:        ; bbWeight=64, gcrefRegs=C80000 {x19 x22 x23}, byrefRegs=1300000 {x20 x21 x24}, byref, isz
+            ldapr   w25, [x24]
+            ldr     w1, [x22, #0x18]
+            and     w26, w25, w1
+            ldr     w1, [x23, #0x08]
+            cmp     w26, w1
             bhs     G_M53544_IG23
-            mov     w3, #72
-            mov     x4, #16
-            umaddl  x3, w2, w3, x4
-            add     x3, x1, x3
-            ; byrRegs +[x3]
-            ldapr   w3, [x3]
-            ; byrRegs -[x3]
-            sub     w3, w3, w0
-            cbnz    w3, G_M53544_IG06
+            mov     w1, #72
+            mov     x0, #16
+            umaddl  x1, w26, w1, x0
+            add     x1, x23, x1
+            ; byrRegs +[x1]
+            ldapr   w1, [x1]
+            ; byrRegs -[x1]
+            sub     w1, w1, w25
+            cbnz    w1, G_M53544_IG06
                       ;; size=52 bbWeight=64 PerfScore 1408.00
-G_M53544_IG04:        ; bbWeight=16, gcrefRegs=480002 {x1 x19 x22}, byrefRegs=B00000 {x20 x21 x23}, byref, isz
-            add     w3, w0, #1
-            mov     w4, w0
-            casal   w4, w3, [x23]
-            cmp     w4, w0
+G_M53544_IG04:        ; bbWeight=16, gcrefRegs=C80000 {x19 x22 x23}, byrefRegs=1300000 {x20 x21 x24}, byref, isz
+            add     w1, w25, #1
+            mov     w0, w25
+            casal   w0, w1, [x24]
+            cmp     w0, w25
             bne     G_M53544_IG03
                        ;; size=20 bbWeight=16 PerfScore 88.00
-G_M53544_IG05:        ; bbWeight=8, gcrefRegs=0002 {x1}, byrefRegs=100000 {x20}, byref
+G_M53544_IG05:        ; bbWeight=2, gcrefRegs=800000 {x23}, byrefRegs=100000 {x20}, byref
             ; gcrRegs -[x19 x22]
-            ; byrRegs -[x21 x23]
+            ; byrRegs -[x21 x24]
             b       G_M53544_IG08
-                        ;; size=4 bbWeight=8 PerfScore 8.00
-G_M53544_IG06:        ; bbWeight=16, gcrefRegs=480002 {x1 x19 x22}, byrefRegs=B00000 {x20 x21 x23}, byref, isz
+                       ;; size=4 bbWeight=2 PerfScore 2.00
+G_M53544_IG06:        ; bbWeight=16, gcrefRegs=C80000 {x19 x22 x23}, byrefRegs=1300000 {x20 x21 x24}, byref, isz
             ; gcrRegs +[x19 x22]
-            ; byrRegs +[x21 x23]
-            tbz     w3, #31, G_M53544_IG03
+            ; byrRegs +[x21 x24]
+            tbz     w1, #31, G_M53544_IG03
                      ;; size=4 bbWeight=16 PerfScore 16.00
-G_M53544_IG07:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=B00000 {x20 x21 x23}, byref
-            ; gcrRegs -[x1]
+G_M53544_IG07:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=1300000 {x20 x21 x24}, byref
+            ; gcrRegs -[x23]
             b       G_M53544_IG09
                        ;; size=4 bbWeight=2 PerfScore 2.00
-G_M53544_IG08:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs -[x19 x22] +[x1]
-            ; byrRegs -[x21 x23]
-            mov     w3, #72
-            mov     x4, #16
-            umaddl  x3, w2, w3, x4
-            add     x3, x1, x3
-            ; byrRegs +[x3]
-            add     x3, x3, #8
+G_M53544_IG08:        ; bbWeight=2, gcrefRegs=800000 {x23}, byrefRegs=100000 {x20}, byref
+            ; gcrRegs -[x19 x22] +[x23]
+            ; byrRegs -[x21 x24]
+            mov     w0, #72
+            mov     x1, #16
+            umaddl  x0, w26, w0, x1
+            add     x0, x23, x0
+            ; byrRegs +[x0]
+            add     x0, x0, #8
             ldp     q16, q17, [x20]
-            stp     q16, q17, [x3]
+            stp     q16, q17, [x0]
             ldp     q16, q17, [x20, #0x20]
-            stp     q16, q17, [x3, #0x20]
-            mov     w3, #72
-            ; byrRegs -[x3]
-            mov     x4, #16
-            umaddl  x2, w2, w3, x4
-            add     x1, x1, x2
-            ; gcrRegs -[x1]
-            ; byrRegs +[x1]
-            add     w0, w0, #1
-            stlr    w0, [x1]
+            stp     q16, q17, [x0, #0x20]
+            mov     w0, #72
+            ; byrRegs -[x0]
+            mov     x1, #16
+            umaddl  x0, w26, w0, x1
+            add     x0, x23, x0
+            ; byrRegs +[x0]
+            add     w1, w25, #1
+            stlr    w1, [x0]
             b       G_M53544_IG22
                        ;; size=64 bbWeight=2 PerfScore 48.00
-G_M53544_IG09:        ; bbWeight=4, gcrefRegs=480000 {x19 x22}, byrefRegs=B00000 {x20 x21 x23}, byref
-            ; gcrRegs +[x19 x22]
-            ; byrRegs -[x1] +[x21 x23]
+G_M53544_IG09:        ; bbWeight=4, gcrefRegs=480000 {x19 x22}, byrefRegs=1300000 {x20 x21 x24}, byref
+            ; gcrRegs -[x23] +[x19 x22]
+            ; byrRegs -[x0] +[x21 x24]
             ldr     x1, [x19, #0x08]
             ; gcrRegs +[x1]
             str     x1, [fp, #0x18]    // [V03 loc1]
             ; GC ptr vars +{V03}
             str     wzr, [fp, #0x20]   // [V04 loc2]
                        ;; size=12 bbWeight=4 PerfScore 20.00
-G_M53544_IG10:        ; bbWeight=4, gcVars=0000000000000400 {V03}, gcrefRegs=480000 {x19 x22}, byrefRegs=B00000 {x20 x21 x23}, gcvars, byref, isz
+G_M53544_IG10:        ; bbWeight=4, gcVars=0000000000000400 {V03}, gcrefRegs=480000 {x19 x22}, byrefRegs=1300000 {x20 x21 x24}, gcvars, byref, isz
             ; gcrRegs -[x1]
             ldrb    w1, [fp, #0x20]    // [V04 loc2]
             cbnz    w1, G_M53544_IG17
@@ -143,7 +143,7 @@ G_M53544_IG10:        ; bbWeight=4, gcVars=0000000000000400 {V03}, gcrefRegs=480
             ldrb    w0, [fp, #0x20]    // [V04 loc2]
             cbnz    w0, G_M53544_IG12
                        ;; size=28 bbWeight=4 PerfScore 38.00
-G_M53544_IG11:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=B00000 {x20 x21 x23}, byref
+G_M53544_IG11:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=1300000 {x20 x21 x24}, byref
             movz    x1, #8
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
@@ -157,13 +157,13 @@ G_M53544_IG11:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=B00000
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=36 bbWeight=2 PerfScore 15.00
-G_M53544_IG12:        ; bbWeight=4, gcrefRegs=480000 {x19 x22}, byrefRegs=B00000 {x20 x21 x23}, byref, isz
+G_M53544_IG12:        ; bbWeight=4, gcrefRegs=480000 {x19 x22}, byrefRegs=1300000 {x20 x21 x24}, byref, isz
             ldapr   x0, [x21]
             ; gcrRegs +[x0]
             cmp     x22, x0
             bne     G_M53544_IG21
                        ;; size=12 bbWeight=4 PerfScore 18.00
-G_M53544_IG13:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=B00000 {x20 x21 x23}, byref, isz
+G_M53544_IG13:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=1300000 {x20 x21 x24}, byref, isz
             ; gcrRegs -[x0]
             ldrb    w0, [x22, #0x1D]
             cbnz    w0, G_M53544_IG14
@@ -174,22 +174,22 @@ G_M53544_IG13:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=B00000
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
             lsl     w0, w0, #1
-            ldaddal w0, w0, [x23]
+            ldaddal w0, w0, [x24]
                        ;; size=32 bbWeight=2 PerfScore 31.00
 G_M53544_IG14:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=300000 {x20 x21}, byref, isz
-            ; byrRegs -[x23]
+            ; byrRegs -[x24]
             ldrb    w0, [x22, #0x1C]
             cbnz    w0, G_M53544_IG19
             ldr     x0, [x22, #0x08]
             ; gcrRegs +[x0]
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
-            lsl     w23, w0, #1
-            cmp     w23, #0xD1FFAB1E, LSL #12
+            lsl     w25, w0, #1
+            cmp     w25, #0xD1FFAB1E, LSL #12
             bgt     G_M53544_IG18
                        ;; size=28 bbWeight=2 PerfScore 25.00
 G_M53544_IG15:        ; bbWeight=1.51, gcrefRegs=480000 {x19 x22}, byrefRegs=300000 {x20 x21}, byref
-            sxtw    w24, w23
+            sxtw    w26, w25
                        ;; size=4 bbWeight=1.51 PerfScore 0.75
 G_M53544_IG16:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=300000 {x20 x21}, byref
             b       G_M53544_IG20
@@ -208,11 +208,11 @@ G_M53544_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
 G_M53544_IG18:        ; bbWeight=0.49, gcrefRegs=480000 {x19 x22}, byrefRegs=300000 {x20 x21}, byref
             ; gcrRegs +[x19 x22]
             ; byrRegs +[x20-x21]
-            mov     w24, #0xD1FFAB1E
+            mov     w26, #0xD1FFAB1E
             b       G_M53544_IG16
...
  
+16 (+4.40%) : 153009.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
@@ -11,82 +11,83 @@
 ;  V00 arg0         [V00,T07] (  7, 12   )     ref  ->   x0         class-hnd single-def <System.String>
 ;  V01 arg1         [V01,T00] ( 33, 83.50)     int  ->   x1        
 ;  V02 arg2         [V02,T10] (  5,  3.50)   byref  ->   x2         single-def
-;  V03 loc0         [V03,T16] (  3,  2   )     int  ->   x4         single-def
-;  V04 loc1         [V04,T17] (  2,  1   )     int  ->   x6         single-def
+;  V03 loc0         [V03,T16] (  3,  2   )     int  ->   x3         single-def
+;  V04 loc1         [V04,T17] (  2,  1   )     int  ->   x4         single-def
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V07 tmp2         [V07,T03] (  3, 24   )  ushort  ->   x4         "Inlining Arg"
+;  V07 tmp2         [V07,T03] (  3, 24   )  ushort  ->   x3         "Inlining Arg"
 ;* V08 tmp3         [V08,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp4         [V09,T04] (  3, 24   )  ushort  ->   x6         "Inlining Arg"
+;  V09 tmp4         [V09,T04] (  3, 24   )  ushort  ->   x4         "Inlining Arg"
 ;* V10 tmp5         [V10,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V11 tmp6         [V11,T15] (  3,  3   )  ushort  ->   x7         "Inlining Arg"
+;  V11 tmp6         [V11,T15] (  3,  3   )  ushort  ->   x5         "Inlining Arg"
 ;* V12 tmp7         [V12,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V13 tmp8         [V13,T05] (  3, 24   )  ushort  ->   x7         "Inlining Arg"
+;  V13 tmp8         [V13,T05] (  3, 24   )  ushort  ->   x5         "Inlining Arg"
 ;* V14 tmp9         [V14,T14] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V15 tmp10        [V15,T06] (  3, 24   )  ushort  ->   x8         "Inlining Arg"
-;  V16 cse0         [V16,T09] (  3, 12   )     int  ->   x7         "CSE - aggressive"
+;  V15 tmp10        [V15,T06] (  3, 24   )  ushort  ->   x6         "Inlining Arg"
+;  V16 cse0         [V16,T09] (  3, 12   )     int  ->   x5         "CSE - aggressive"
 ;  V17 cse1         [V17,T08] (  5, 13   )     int  ->  registers   multi-def "CSE - aggressive"
-;  V18 cse2         [V18,T01] ( 13, 46.50)     int  ->   x3         hoist "CSE - aggressive"
-;  V19 cse3         [V19,T02] (  9, 25.50)   byref  ->  registers   multi-def "CSE - aggressive"
+;  V18 cse2         [V18,T01] ( 13, 46.50)     int  ->  x19         hoist "CSE - aggressive"
+;  V19 cse3         [V19,T02] (  9, 25.50)   byref  ->  x20         multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M63854_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-                      ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=12 bbWeight=1 PerfScore 2.50
 G_M63854_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
             ; gcrRegs +[x0]
             ; byrRegs +[x2]
-            ldr     w3, [x0, #0x08]
+            ldr     w19, [x0, #0x08]
             b       G_M63854_IG04
                        ;; size=8 bbWeight=1 PerfScore 4.00
 G_M63854_IG03:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
 G_M63854_IG04:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w3, w1
+            cmp     w19, w1
             ble     G_M63854_IG06
                        ;; size=8 bbWeight=8 PerfScore 12.00
 G_M63854_IG05:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x4, x0, #12
-            ; byrRegs +[x4]
-            ldrh    w4, [x4, w1, UXTW #2]
-            ; byrRegs -[x4]
-            cmp     w4, #32
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w3, [x20, w1, UXTW #2]
+            cmp     w3, #32
             beq     G_M63854_IG03
-            cmp     w4, #9
+            cmp     w3, #9
             beq     G_M63854_IG03
                        ;; size=32 bbWeight=4 PerfScore 32.00
 G_M63854_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
-            sxtw    w4, w1
+            ; byrRegs -[x20]
+            sxtw    w3, w1
             b       G_M63854_IG08
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M63854_IG07:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
 G_M63854_IG08:        ; bbWeight=8, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w3, w1
+            cmp     w19, w1
             ble     G_M63854_IG10
                        ;; size=8 bbWeight=8 PerfScore 12.00
 G_M63854_IG09:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x5, x0, #12
-            ; byrRegs +[x5]
-            ldrh    w6, [x5, w1, UXTW #2]
-            cmp     w6, #61
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w4, [x20, w1, UXTW #2]
+            cmp     w4, #61
             beq     G_M63854_IG10
-            cmp     w6, #32
+            cmp     w4, #32
             beq     G_M63854_IG10
-            cmp     w6, #9
+            cmp     w4, #9
             bne     G_M63854_IG07
                        ;; size=40 bbWeight=4 PerfScore 38.00
 G_M63854_IG10:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref, isz
-            ; byrRegs -[x5]
-            cmp     w3, w1
+            ; byrRegs -[x20]
+            cmp     w19, w1
             bne     G_M63854_IG13
                        ;; size=8 bbWeight=4 PerfScore 6.00
 G_M63854_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, byref
@@ -95,80 +96,82 @@ G_M63854_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, b
             mov     x0, xzr
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M63854_IG12:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=0.50 PerfScore 1.00
+                        ;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M63854_IG13:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, gcvars, byref, isz
             ; gcrRegs +[x0]
-            sub     w6, w1, w4
-            cmp     w1, w3
+            sub     w4, w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x5, x0, #12
-            ; byrRegs +[x5]
-            ldrh    w7, [x5, w1, UXTW #2]
-            cmp     w7, #32
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w5, [x20, w1, UXTW #2]
+            cmp     w5, #32
             beq     G_M63854_IG15
-            cmp     w7, #9
+            cmp     w5, #9
             bne     G_M63854_IG20
             b       G_M63854_IG15
                        ;; size=40 bbWeight=0.50 PerfScore 4.75
-G_M63854_IG14:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref
+G_M63854_IG14:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M63854_IG15:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref, isz
-            cmp     w3, w1
+G_M63854_IG15:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             ble     G_M63854_IG16
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w7, [x5, w1, UXTW #2]
-            cmp     w7, #32
+            ldrh    w5, [x20, w1, UXTW #2]
+            cmp     w5, #32
             beq     G_M63854_IG14
-            cmp     w7, #9
+            cmp     w5, #9
             beq     G_M63854_IG14
                        ;; size=36 bbWeight=4 PerfScore 36.00
-G_M63854_IG16:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref, isz
-            cmp     w3, w1
+G_M63854_IG16:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             beq     G_M63854_IG17
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w7, [x5, w1, UXTW #2]
-            cmp     w7, #61
+            ldrh    w5, [x20, w1, UXTW #2]
+            cmp     w5, #61
             beq     G_M63854_IG20
                        ;; size=28 bbWeight=0.50 PerfScore 3.75
 G_M63854_IG17:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, byref
             ; gcrRegs -[x0]
-            ; byrRegs -[x5]
+            ; byrRegs -[x20]
             str     w1, [x2]
             mov     x0, xzr
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M63854_IG18:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M63854_IG19:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, gcvars, byref
+                       ;; size=12 bbWeight=0.50 PerfScore 1.50
+G_M63854_IG19:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, gcvars, byref
             ; gcrRegs +[x0]
-            ; byrRegs +[x5]
+            ; byrRegs +[x20]
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0024 {x2 x5}, byref, isz
-            cmp     w3, w1
+G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             ble     G_M63854_IG21
-            cmp     w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w7, [x5, w1, UXTW #2]
-            sxtw    w8, w7
-            cmp     w8, #32
+            ldrh    w5, [x20, w1, UXTW #2]
+            sxtw    w6, w5
+            cmp     w6, #32
             beq     G_M63854_IG19
-            cmp     w8, #9
+            cmp     w6, #9
             beq     G_M63854_IG19
-            cmp     w7, #61
+            cmp     w5, #61
             beq     G_M63854_IG19
                        ;; size=48 bbWeight=4 PerfScore 44.00
 G_M63854_IG21:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
-            ; byrRegs -[x5]
+            ; byrRegs -[x20]
             str     w1, [x2]
-            mov     w1, w4
-            mov     w2, w6
+            mov     w1, w3
+            mov     w2, w4
             ; byrRegs -[x2]
             movz    x3, #0xD1FFAB1E      // code for System.String:Substring(int,int):System.String:this
             movk    x3, #0xD1FFAB1E LSL #16
@@ -176,10 +179,11 @@ G_M63854_IG21:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2},
             ldr     x3, [x3]
                        ;; size=28 bbWeight=0.50 PerfScore 3.25
 G_M63854_IG22:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             br      x3
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=0.50 PerfScore 1.00
+                        ;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M63854_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
...
  
+24 (+5.71%) : 177376.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
@@ -11,34 +11,35 @@
 ;  V00 this         [V00,T10] (  8,  5   )     ref  ->  x19         this class-hnd single-def <System.Xml.Xsl.Runtime.XmlStringSortKey>
 ;  V01 arg1         [V01,T11] (  4,  3.50)     ref  ->   x1         class-hnd single-def <System.Object>
 ;  V02 loc0         [V02,T13] (  7,  4.25)     ref  ->  x20         class-hnd exact <System.Xml.Xsl.Runtime.XmlStringSortKey>
-;  V03 loc1         [V03,T00] (  7, 24.50)     int  ->   x3        
+;  V03 loc1         [V03,T00] (  7, 24.50)     int  ->   x1        
 ;  V04 loc2         [V04,T12] (  3,  5   )     int  ->   x0        
 ;  V05 loc3         [V05,T14] (  6,  3   )     int  ->   x0        
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Xml.Xsl.Runtime.XmlStringSortKey>
 ;  V08 tmp2         [V08,T17] (  3,  1.50)     int  ->   x0        
 ;  V09 tmp3         [V09,T18] (  2,  1   )     int  ->   x0         "Inline return value spill temp"
-;  V10 tmp4         [V10,T01] (  3, 24   )     ref  ->   x4         "arr expr"
-;  V11 tmp5         [V11,T02] (  3, 24   )     ref  ->   x6         "arr expr"
+;  V10 tmp4         [V10,T01] (  3, 24   )     ref  ->   x2         "arr expr"
+;  V11 tmp5         [V11,T02] (  3, 24   )     ref  ->   x4         "arr expr"
 ;* V12 tmp6         [V12,T08] (  0,  0   )     ref  ->  zero-ref    "arr expr"
 ;* V13 tmp7         [V13,T09] (  0,  0   )     ref  ->  zero-ref    "arr expr"
-;  V14 cse0         [V14,T03] (  3, 12   )     int  ->   x4         "CSE - aggressive"
-;  V15 cse1         [V15,T04] (  3, 12   )     int  ->   x5         "CSE - aggressive"
-;  V16 cse2         [V16,T06] (  6,  6.50)     ref  ->   x1         "CSE - aggressive"
-;  V17 cse3         [V17,T07] (  6,  6.50)     ref  ->   x2         "CSE - aggressive"
+;  V14 cse0         [V14,T03] (  3, 12   )     int  ->   x2         "CSE - aggressive"
+;  V15 cse1         [V15,T04] (  3, 12   )     int  ->   x3         "CSE - aggressive"
+;  V16 cse2         [V16,T06] (  6,  6.50)     ref  ->  x21         "CSE - aggressive"
+;  V17 cse3         [V17,T07] (  6,  6.50)     ref  ->  x22         "CSE - aggressive"
 ;  V18 cse4         [V18,T16] (  3,  1.50)     ref  ->   x0         "CSE - moderate"
 ;  V19 cse5         [V19,T15] (  4,  2   )     ref  ->   x0         "CSE - moderate"
-;  V20 cse6         [V20,T05] (  3, 12   )    long  ->   x5         "CSE - aggressive"
+;  V20 cse6         [V20,T05] (  3, 12   )    long  ->   x3         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M15280_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x20]!
+            stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
-                     ;; size=16 bbWeight=1 PerfScore 3.00
+                      ;; size=20 bbWeight=1 PerfScore 4.00
 G_M15280_IG02:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x1]
             mov     x20, x1
@@ -63,11 +64,12 @@ G_M15280_IG04:        ; bbWeight=0.50, gcrefRegs=80002 {x1 x19}, byrefRegs=0000
             ldr     x2, [x2]
                        ;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M15280_IG05:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             br      x2
             ; gcr arg pop 0
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0-x1] +[x20]
             ldr     x0, [x19, #0x18]
@@ -85,60 +87,60 @@ G_M15280_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             b       G_M15280_IG15
                        ;; size=36 bbWeight=0.50 PerfScore 6.75
 G_M15280_IG07:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ldr     x1, [x19, #0x20]
-            ; gcrRegs +[x1]
-            ldr     w0, [x1, #0x08]
-            ldr     x2, [x20, #0x20]
-            ; gcrRegs +[x2]
-            ldr     w3, [x2, #0x08]
-            cmp     w0, w3
+            ldr     x21, [x19, #0x20]
+            ; gcrRegs +[x21]
+            ldr     w0, [x21, #0x08]
+            ldr     x22, [x20, #0x20]
+            ; gcrRegs +[x22]
+            ldr     w1, [x22, #0x08]
+            cmp     w0, w1
             blt     G_M15280_IG08
-            ldr     w0, [x2, #0x08]
+            ldr     w0, [x22, #0x08]
             b       G_M15280_IG09
                        ;; size=32 bbWeight=0.50 PerfScore 8.75
-G_M15280_IG08:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref
-            ldr     w0, [x1, #0x08]
+G_M15280_IG08:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref
+            ldr     w0, [x21, #0x08]
                        ;; size=4 bbWeight=0.50 PerfScore 1.50
-G_M15280_IG09:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref, isz
-            mov     w3, wzr
+G_M15280_IG09:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            mov     w1, wzr
             cmp     w0, #0
             ble     G_M15280_IG14
                        ;; size=12 bbWeight=0.50 PerfScore 1.00
-G_M15280_IG10:        ; bbWeight=4, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref, isz
-            mov     x4, x1
+G_M15280_IG10:        ; bbWeight=4, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            mov     x2, x21
+            ; gcrRegs +[x2]
+            ldr     w3, [x2, #0x08]
+            cmp     w1, w3
+            bhs     G_M15280_IG24
+            add     x2, x2, #16
+            ; gcrRegs -[x2]
+            ; byrRegs +[x2]
+            mov     w3, w1
+            ldrb    w2, [x2, x3]
+            ; byrRegs -[x2]
+            mov     x4, x22
             ; gcrRegs +[x4]
             ldr     w5, [x4, #0x08]
-            cmp     w3, w5
+            cmp     w1, w5
             bhs     G_M15280_IG24
             add     x4, x4, #16
             ; gcrRegs -[x4]
             ; byrRegs +[x4]
-            mov     w5, w3
-            ldrb    w4, [x4, x5]
-            ; byrRegs -[x4]
-            mov     x6, x2
-            ; gcrRegs +[x6]
-            ldr     w7, [x6, #0x08]
-            cmp     w3, w7
-            bhs     G_M15280_IG24
-            add     x6, x6, #16
-            ; gcrRegs -[x6]
-            ; byrRegs +[x6]
-            ldrb    w5, [x6, x5]
-            cmp     w4, w5
+            ldrb    w3, [x4, x3]
+            cmp     w2, w3
             blt     G_M15280_IG12
-            cmp     w4, w5
+            cmp     w2, w3
             bgt     G_M15280_IG13
-            add     w3, w3, #1
-            cmp     w3, w0
+            add     w1, w1, #1
+            cmp     w1, w0
             blt     G_M15280_IG10
                        ;; size=80 bbWeight=4 PerfScore 90.00
-G_M15280_IG11:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x6]
+G_M15280_IG11:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x4]
             b       G_M15280_IG14
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M15280_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x1-x2 x20]
+            ; gcrRegs -[x20-x22]
             movn    w0, #0
             b       G_M15280_IG20
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
@@ -146,21 +148,20 @@ G_M15280_IG13:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             mov     w0, #1
             b       G_M15280_IG20
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M15280_IG14:        ; bbWeight=0.50, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x1-x2 x20]
-            ldr     w0, [x1, #0x08]
-            ldr     w3, [x2, #0x08]
-            cmp     w0, w3
+G_M15280_IG14:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs +[x20-x22]
+            ldr     w0, [x21, #0x08]
+            ldr     w1, [x22, #0x08]
+            cmp     w0, w1
             blt     G_M15280_IG12
-            ldr     w0, [x1, #0x08]
-            ldr     w1, [x2, #0x08]
-            ; gcrRegs -[x1]
+            ldr     w0, [x21, #0x08]
+            ldr     w1, [x22, #0x08]
             cmp     w0, w1
             bgt     G_M15280_IG13
             b       G_M15280_IG16
                        ;; size=36 bbWeight=0.50 PerfScore 8.00
 G_M15280_IG15:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x2]
+            ; gcrRegs -[x21-x22]
             cbnz    w0, G_M15280_IG20
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M15280_IG16:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
@@ -174,11 +175,12 @@ G_M15280_IG16:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ldr     x2, [x2, #0x20]
                        ;; size=24 bbWeight=0.50 PerfScore 8.00
 G_M15280_IG17:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             br      x2
             ; gcr arg pop 0
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG18:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0-x1]
             ldr     w0, [x19, #0x10]
@@ -189,36 +191,39 @@ G_M15280_IG18:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             csel    w0, w2, w3, lt
                        ;; size=24 bbWeight=0.50 PerfScore 4.00
 G_M15280_IG19:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG20:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x20]
             ldrb    w1, [x19, #0x14]
             cbnz    w1, G_M15280_IG22
                        ;; size=8 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG21:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG22:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x19]
             neg     w0, w0
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M15280_IG23:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x20
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+                       ;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M15280_IG24:        ; 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 420, prolog size 16, PerfScore 148.75, instruction count 105, allocated bytes for code 420 (MethodHash=95cfc44f) for method System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
+; Total bytes of code 444, prolog size 20, PerfScore 152.25, instruction count 111, allocated bytes for code 444 (MethodHash=95cfc44f) for method System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -229,7 +234,7 @@ Unwind Info:
   E bit             : 0
...
  
  
realworld.run.windows.arm64.checked.mch
-4 (-1.23%) : 19201.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
@@ -47,7 +47,7 @@ G_M43028_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ldr     w21, [x20, #0x08]
             mov     w22, wzr
             cmp     w21, #0
-            ble     G_M43028_IG13
+            ble     G_M43028_IG10
             cbz     x19, G_M43028_IG07
             ldr     w0, [x19, #0x08]
             cmp     w0, w21
@@ -71,7 +71,7 @@ G_M43028_IG03:        ; bbWeight=3.96, gcrefRegs=80000 {x19}, byrefRegs=800000 {
             ; gcrRegs +[x26]
             cmp     x24, x26
             ccmp    w25, #1, 0, eq
-            bne     G_M43028_IG11
+            bne     G_M43028_IG12
                        ;; size=48 bbWeight=3.96 PerfScore 67.32
 G_M43028_IG04:        ; bbWeight=1.98, gcrefRegs=80002 {x1 x19}, byrefRegs=800000 {x23}, byref, isz
             ; gcrRegs -[x24 x26]
@@ -86,23 +86,23 @@ G_M43028_IG04:        ; bbWeight=1.98, gcrefRegs=80002 {x1 x19}, byrefRegs=80000
             ; gcr arg pop 0
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
-            cbnz    w0, G_M43028_IG11
+            cbnz    w0, G_M43028_IG12
                       ;; size=28 bbWeight=1.98 PerfScore 28.71
 G_M43028_IG05:        ; bbWeight=3.96, gcrefRegs=80000 {x19}, byrefRegs=800000 {x23}, byref, isz
             add     w22, w22, #1
             cmp     w22, w21
             blt     G_M43028_IG03
                        ;; size=12 bbWeight=3.96 PerfScore 7.92
-G_M43028_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M43028_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
             ; byrRegs -[x23]
-            b       G_M43028_IG13
-                       ;; size=4 bbWeight=1 PerfScore 1.00
+            b       G_M43028_IG10
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M43028_IG07:        ; bbWeight=0.04, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x19-x20]
             ldr     w0, [x19, #0x08]
             cmp     w22, w0
-            bhs     G_M43028_IG15
+            bhs     G_M43028_IG14
             mov     w0, #24
             mov     x1, #16
             umaddl  x0, w22, w0, x1
@@ -117,7 +117,7 @@ G_M43028_IG07:        ; bbWeight=0.04, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ; gcrRegs +[x26]
             cmp     x24, x26
             ccmp    w25, #1, 0, eq
-            bne     G_M43028_IG11
+            bne     G_M43028_IG12
                        ;; size=56 bbWeight=0.04 PerfScore 0.94
 G_M43028_IG08:        ; bbWeight=0.02, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x24 x26]
@@ -132,7 +132,7 @@ G_M43028_IG08:        ; bbWeight=0.02, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=
             ; gcr arg pop 0
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
-            cbnz    w0, G_M43028_IG11
+            cbnz    w0, G_M43028_IG12
                       ;; size=28 bbWeight=0.02 PerfScore 0.29
 G_M43028_IG09:        ; bbWeight=0.04, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             add     w22, w22, #1
@@ -141,23 +141,9 @@ G_M43028_IG09:        ; bbWeight=0.04, gcrefRegs=180000 {x19 x20}, byrefRegs=000
                        ;; size=12 bbWeight=0.04 PerfScore 0.08
 G_M43028_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19-x20]
-            b       G_M43028_IG13
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M43028_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w0, wzr
-                       ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M43028_IG12:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x25, x26, [sp, #0x40]
-            ldp     x23, x24, [sp, #0x30]
-            ldp     x21, x22, [sp, #0x20]
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x50
-            ret     lr
-                       ;; size=24 bbWeight=0.50 PerfScore 3.00
-G_M43028_IG13:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M43028_IG14:        ; bbWeight=0.50, epilog, nogc, extend
+G_M43028_IG11:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x25, x26, [sp, #0x40]
             ldp     x23, x24, [sp, #0x30]
             ldp     x21, x22, [sp, #0x20]
@@ -165,13 +151,24 @@ G_M43028_IG14:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x50
             ret     lr
                        ;; size=24 bbWeight=0.50 PerfScore 3.00
-G_M43028_IG15:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M43028_IG12:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, wzr
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M43028_IG13:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     x25, x26, [sp, #0x40]
+            ldp     x23, x24, [sp, #0x30]
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x50
+            ret     lr
+                       ;; size=24 bbWeight=0.50 PerfScore 3.00
+G_M43028_IG14:        ; 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 324, prolog size 32, PerfScore 130.76, instruction count 81, allocated bytes for code 324 (MethodHash=8c6257eb) for method Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
+; Total bytes of code 320, prolog size 32, PerfScore 129.76, instruction count 80, allocated bytes for code 320 (MethodHash=8c6257eb) for method Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -182,7 +179,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 81 (0x00051) Actual length = 324 (0x000144)
+  Function Length   : 80 (0x00050) Actual length = 320 (0x000140)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-20 (-0.84%) : 23368.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:g_findMostSpecificImplementationInBases|921(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
@@ -274,7 +274,6 @@ G_M19054_IG04:        ; bbWeight=2, gcrefRegs=9900000 {x20 x23 x24 x27}, byrefRe
             str     x1, [fp, #0x30]    // [V111 tmp93]
             ; GC ptr vars +{V111}
             cbz     x28, G_M19054_IG33
-            ldr     x1, [fp, #0x30]    // [V111 tmp93]
             mov     x0, x28
             ldr     x0, [x0]
             ; gcrRegs -[x0]
@@ -285,9 +284,9 @@ G_M19054_IG04:        ; bbWeight=2, gcrefRegs=9900000 {x20 x23 x24 x27}, byrefRe
             bne     G_M19054_IG05
             ldr     w0, [x28, #0x20]
             cbz     w0, G_M19054_IG33
-                        ;; size=80 bbWeight=2 PerfScore 43.00
-G_M19054_IG05:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
-            ; GC ptr vars -{V111}
+                        ;; size=76 bbWeight=2 PerfScore 39.00
+G_M19054_IG05:        ; bbWeight=2, gcVars=00000000000000000020000000000000 {V111}, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref, isz
+            ; gcrRegs -[x1]
             mov     w2, wzr
             ldr     x0, [x24, #0x08]
             ; gcrRegs +[x0]
@@ -296,13 +295,11 @@ G_M19054_IG05:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28},
             cmp     w0, #0
             ble     G_M19054_IG12
                        ;; size=20 bbWeight=2 PerfScore 16.00
-G_M19054_IG06:        ; bbWeight=16, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
+G_M19054_IG06:        ; bbWeight=16, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
             ldr     x0, [x24, #0x08]
             ; gcrRegs +[x0]
             ldr     w3, [x0, #0x10]
             cmp     w2, w3
-            str     x1, [fp, #0x30]    // [V111 tmp93]
-            ; GC ptr vars +{V111}
             bge     G_M19054_IG50
             ldr     x0, [x0, #0x08]
             ldr     w3, [x0, #0x08]
@@ -335,7 +332,7 @@ G_M19054_IG06:        ; bbWeight=16, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            ; gcrRegs -[x1 x4-x6] +[x0]
+            ; gcrRegs -[x4-x6] +[x0]
             add     x14, x0, #8
             ; byrRegs +[x14]
             ldr     x15, [fp, #0x20]   // [V126 tmp108]
@@ -386,7 +383,7 @@ G_M19054_IG06:        ; bbWeight=16, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}
             ldr     x2, [fp, #0x60]    // [V12 loc7]
             ; gcrRegs +[x2]
             cbnz    x2, G_M19054_IG08
-                        ;; size=240 bbWeight=16 PerfScore 1360.00
+                     ;; size=236 bbWeight=16 PerfScore 1344.00
 G_M19054_IG07:        ; bbWeight=8, gcVars=00000000000000000020000000070000 {V13 V111 V126 V127}, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref, isz
             ; gcrRegs -[x2]
             ; GC ptr vars -{V12 V125}
@@ -466,20 +463,14 @@ G_M19054_IG08:        ; bbWeight=16, gcrefRegs=19900004 {x2 x20 x23 x24 x27 x28}
             ; gcrRegs -[x15]
             cmp     w14, w15
             mov     w2, w14
-            ldr     x1, [fp, #0x30]   // [V111 tmp93]
-            ; gcrRegs +[x1]
             blt     G_M19054_IG06
-                     ;; size=68 bbWeight=16 PerfScore 408.00
-G_M19054_IG09:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref
+                       ;; size=64 bbWeight=16 PerfScore 376.00
+G_M19054_IG09:        ; bbWeight=2, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref
             ; byrRegs -[x0]
-            ; GC ptr vars -{V111}
             b       G_M19054_IG12
                        ;; size=4 bbWeight=2 PerfScore 2.00
 G_M19054_IG10:        ; bbWeight=2, gcVars=00000000000000000020000002000000 {V111 V125}, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref, isz
-            ; gcrRegs -[x1]
-            ; GC ptr vars +{V25 V111 V125}
-            ldr     x1, [fp, #0x30]    // [V111 tmp93]
-            ; gcrRegs +[x1]
+            ; GC ptr vars +{V25 V125}
             ldr     x15, [x24, #0x08]
             ; gcrRegs +[x15]
             ldr     w12, [x15, #0x10]
@@ -496,7 +487,7 @@ G_M19054_IG10:        ; bbWeight=2, gcVars=00000000000000000020000002000000 {V11
             ldr     x15, [fp, #0x28]   // [V125 tmp107]
             mov     x14, x0
             ; byrRegs +[x14]
-            ; GC ptr vars -{V25 V111 V125}
+            ; GC ptr vars -{V25 V125}
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             ; gcrRegs -[x15]
             ; byrRegs -[x14]
@@ -509,22 +500,20 @@ G_M19054_IG10:        ; bbWeight=2, gcVars=00000000000000000020000002000000 {V11
             ; byrRegs -[x14]
             add     x14, x0, #16
             ; byrRegs +[x14]
-            mov     x15, x1
+            ldr     x15, [fp, #0x30]    // [V111 tmp93]
             ; gcrRegs +[x15]
+            ; GC ptr vars -{V111}
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
-            ; gcrRegs -[x1 x15]
+            ; gcrRegs -[x15]
             ; byrRegs -[x0 x14]
-                       ;; size=84 bbWeight=2 PerfScore 58.00
+                     ;; size=80 bbWeight=2 PerfScore 57.00
 G_M19054_IG11:        ; bbWeight=2, gcrefRegs=9900000 {x20 x23 x24 x27}, byrefRegs=680000 {x19 x21 x22}, byref
             mov     x28, xzr
             ; gcrRegs +[x28]
             str     xzr, [fp, #0x30]   // [V111 tmp93]
             ; GC ptr vars +{V111}
-            ldr     x1, [fp, #0x30] // [V111 tmp93]
-            ; gcrRegs +[x1]
-                       ;; size=12 bbWeight=2 PerfScore 7.00
-G_M19054_IG12:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
-            ; GC ptr vars -{V111}
+                        ;; size=8 bbWeight=2 PerfScore 3.00
+G_M19054_IG12:        ; bbWeight=2, gcVars=00000000000000000020000000000000 {V111}, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref, isz
             cbz     x28, G_M19054_IG33
             mov     x0, x28
             ; gcrRegs +[x0]
@@ -538,17 +527,14 @@ G_M19054_IG12:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28},
             ; gcrRegs -[x0]
             cbz     w0, G_M19054_IG33
                        ;; size=40 bbWeight=2 PerfScore 23.00
-G_M19054_IG13:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
+G_M19054_IG13:        ; bbWeight=2, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
             ldr     x2, [x24, #0x08]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x10]
             cbz     w3, G_M19054_IG29
-            str     x1, [fp, #0x30] // [V111 tmp93]
-            ; GC ptr vars +{V111}
             mov     x0, x27
             ; gcrRegs +[x0]
             mov     x1, x19
-            ; gcrRegs -[x1]
             ; byrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             ; gcrRegs -[x2]
@@ -565,7 +551,7 @@ G_M19054_IG13:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28},
             ; gcrRegs -[x0]
             sub     w1, w0, #1
             tbnz    w1, #31, G_M19054_IG19
-                       ;; size=64 bbWeight=2 PerfScore 45.00
+                     ;; size=60 bbWeight=2 PerfScore 43.00
 G_M19054_IG14:        ; bbWeight=16, gcrefRegs=19900000 {x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref, isz
             ldr     x0, [x24, #0x08]
             ; gcrRegs +[x0]
@@ -837,9 +823,11 @@ G_M19054_IG28:        ; bbWeight=2, gcrefRegs=19900004 {x2 x20 x23 x24 x27 x28},
             str     w3, [x2, #0x10]
             b       G_M19054_IG33
                        ;; size=80 bbWeight=2 PerfScore 53.00
-G_M19054_IG29:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, gcrefRegs=11900006 {x1 x2 x20 x23 x24 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref, isz
-            ; gcrRegs +[x1 x28]
-            ; GC ptr vars -{V66}
+G_M19054_IG29:        ; bbWeight=2, gcVars=00000000000000000020000000000000 {V111}, gcrefRegs=11900004 {x2 x20 x23 x24 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref, isz
+            ; gcrRegs +[x28]
+            ; GC ptr vars -{V66} +{V111}
+            ldr     x1, [fp, #0x30]    // [V111 tmp93]
+            ; gcrRegs +[x1]
             mov     x27, x2
             ; gcrRegs +[x27]
             add     w3, w3, #1
@@ -855,10 +843,9 @@ G_M19054_IG29:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {},
             bge     G_M19054_IG30
             sxtw    w2, w3
             str     x1, [fp, #0x30]    // [V111 tmp93]
-            ; GC ptr vars +{V111}
             b       G_M19054_IG31
-                       ;; size=56 bbWeight=2 PerfScore 35.00
-G_M19054_IG30:        ; bbWeight=2, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, byref
+                       ;; size=60 bbWeight=2 PerfScore 39.00
+G_M19054_IG30:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, gcrefRegs=19900002 {x1 x20 x23 x24 x27 x28}, byrefRegs=680000 {x19 x21 x22}, gcvars, byref
             ; GC ptr vars -{V111}
             str     x1, [fp, #0x30]    // [V111 tmp93]
             ; GC ptr vars +{V111}
@@ -1166,7 +1153,7 @@ G_M19054_IG51:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2380, prolog size 56, PerfScore 4117.50, instruction count 595, allocated bytes for code 2380 (MethodHash=53aab591) for method Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:<FindMostSpecificImplementationInBases>g__findMostSpecificImplementationInBases|92_1(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
+; Total bytes of code 2360, prolog size 56, PerfScore 4062.50, instruction count 590, allocated bytes for code 2360 (MethodHash=53aab591) for method Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:<FindMostSpecificImplementationInBases>g__findMostSpecificImplementationInBases|92_1(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -1177,7 +1164,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 595 (0x00253) Actual length = 2380 (0x00094c)
+  Function Length   : 590 (0x0024e) Actual length = 2360 (0x000938)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-16 (-0.70%) : 1625.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan1[ushort],System.ReadOnlySpan1[ushort],ubyte,ubyte):ubyte (FullOpts)
@@ -30,8 +30,8 @@
 ;* V19 loc15        [V19    ] (  0,   0   )   ubyte  ->  zero-ref   
 ;* V20 loc16        [V20    ] (  0,   0   )  struct (16) zero-ref    <System.Span`1[int]>
 ;  V21 loc17        [V21,T28] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
-;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x13        
-;  V23 loc19        [V23,T01] (  7,1344   )     int  ->   x1        
+;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x14        
+;  V23 loc19        [V23,T01] (  7,1344   )     int  ->  x13        
 ;  V24 loc20        [V24,T02] (  3, 832   )     int  ->   x0        
 ;# V25 OutArgs      [V25    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V26 tmp1         [V26    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
@@ -40,15 +40,15 @@
 ;  V29 tmp4         [V29,T12] (  4, 256   )     int  ->   x7         "impSpillLclRefs"
 ;  V30 tmp5         [V30,T13] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V31 tmp6         [V31,T15] (  2, 256   )     int  ->  x10         "dup spill"
-;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x0         "impSpillLclRefs"
+;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V33 tmp8         [V33,T49] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
 ;* V34 tmp9         [V34    ] (  0,   0   )     int  ->  zero-ref    ptr
 ;  V35 tmp10        [V35,T37] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V36 tmp11        [V36,T38] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
 ;  V37 tmp12        [V37,T34] (  5,  80   )     int  ->  x13         "dup spill"
 ;  V38 tmp13        [V38,T39] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
-;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x1         "impSpillLclRefs"
-;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x1         "impSpillLclRefs"
+;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
+;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V41 tmp16        [V41,T30] (  3,  96   )     int  ->   x1        
 ;  V42 tmp17        [V42,T52] (  4,  16   )     int  ->  x25         "impSpillLclRefs"
 ;* V43 tmp18        [V43    ] (  0,   0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
@@ -159,7 +159,7 @@
 ;  V148 tmp123      [V148,T24] (  2, 128   )    long  ->   x2         "Inlining Arg"
 ;* V149 tmp124      [V149    ] (  0,   0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V150 tmp125      [V150,T50] (  3,  24   )  ushort  ->  registers   ptr "Inline return value spill temp"
-;  V151 tmp126      [V151,T42] (  4,  64   )  ushort  ->  x10         "Inlining Arg"
+;  V151 tmp126      [V151,T42] (  4,  64   )  ushort  ->  x12         "Inlining Arg"
 ;* V152 tmp127      [V152    ] (  0,   0   )  ushort  ->  zero-ref    "Inline return value spill temp"
 ;* V153 tmp128      [V153    ] (  0,   0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V154 tmp129      [V154    ] (  0,   0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
@@ -310,10 +310,10 @@ G_M9731_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     x23, [fp, #-0x78]  // [V01 arg1]
             ; byrRegs +[x23]
             ldr     w24, [fp, #-0x70]  // [V01 arg1+0x08]
-            cbz     w22, G_M9731_IG70
+            cbz     w22, G_M9731_IG71
                         ;; size=20 bbWeight=1 PerfScore 9.00
 G_M9731_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref, isz
-            cbz     w24, G_M9731_IG70
+            cbz     w24, G_M9731_IG71
             ldrh    w0, [x21]
             cmp     w0, #42
             bne     G_M9731_IG08
@@ -393,7 +393,7 @@ G_M9731_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2A00000 {x21
 G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23 x25}, byref, isz
             ; byrRegs -[x21]
             cmp     w24, w26
-            blt     G_M9731_IG70
+            blt     G_M9731_IG71
             mov     x0, x23
             ; byrRegs +[x0]
             sxtw    w1, w24
@@ -410,7 +410,7 @@ G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23
             blr     x5
             ; byrRegs -[x0 x2 x23 x25]
             ; gcr arg pop 0
-            b       G_M9731_IG65
+            b       G_M9731_IG66
                         ;; size=60 bbWeight=0.50 PerfScore 5.75
 G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref
             ; byrRegs +[x21 x23]
@@ -437,7 +437,7 @@ G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21
             add     w1, w25, #1
             sxtw    w27, w1
             cmp     w25, w24
-            bhs     G_M9731_IG72
+            bhs     G_M9731_IG73
             ldrh    w1, [x23, w25, UXTW #2]
             sxtw    w25, w1
             b       G_M9731_IG12
@@ -445,7 +445,7 @@ G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21
 G_M9731_IG11:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
             sub     w6, w26, #1
             cmp     w6, w4
-            bhs     G_M9731_IG72
+            bhs     G_M9731_IG73
             ldr     w1, [x3, w6, UXTW #2]
             cmp     w1, w5
             beq     G_M9731_IG21
@@ -469,7 +469,7 @@ G_M9731_IG13:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x2
             str     w0, [fp, #-0x80]   // [V06 loc2]
             str     w4, [fp, #-0xC8]   // [V182 tmp157]
             cmp     w1, w4
-            bhs     G_M9731_IG72
+            bhs     G_M9731_IG73
             str     x3, [fp, #-0xD8] // [V181 tmp156]
             ; GC ptr vars +{V181}
             ldr     w1, [x3, w1, UXTW #2]
@@ -477,14 +477,14 @@ G_M9731_IG13:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x2
             add     w1, w1, w1,  LSR #31
             asr     w10, w1, #1
             cmp     w10, w22
-            bge     G_M9731_IG53
+            bge     G_M9731_IG54
                        ;; size=48 bbWeight=16 PerfScore 192.00
 G_M9731_IG14:        ; bbWeight=64, gcVars=00000000000000000000000000000200 {V181}, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, gcvars, byref, isz
             ; byrRegs -[x3]
             lsl     w11, w10, #1
             str     w11, [fp, #-0x94]  // [V16 loc12]
             cmp     w10, w22
-            bhs     G_M9731_IG72
+            bhs     G_M9731_IG73
             str     w10, [fp, #-0x7C]  // [V05 loc1]
             ldrh    w13, [x21, w10, UXTW #2]
             str     w13, [fp, #-0x8C]  // [V11 loc7]
@@ -513,7 +513,7 @@ G_M9731_IG15:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             str     w4, [fp, #-0xCC]   // [V244 tmp219]
             ldr     w5, [fp, #-0xC4]   // [V180 tmp155]
             cmp     w5, w4
-            bhi     G_M9731_IG75
+            bhi     G_M9731_IG76
             mov     w2, w5
             lsl     x2, x2, #2
             mov     x0, x3
@@ -548,7 +548,7 @@ G_M9731_IG15:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             str     w4, [fp, #-0xD0]   // [V248 tmp223]
             ldr     w5, [fp, #-0xC8]   // [V182 tmp157]
             cmp     w5, w4
-            bhi     G_M9731_IG75
+            bhi     G_M9731_IG76
             mov     w2, w5
             lsl     x2, x2, #2
             mov     x0, x3
@@ -579,29 +579,29 @@ G_M9731_IG16:        ; bbWeight=64, gcVars=00000000000000000000000000000200 {V18
             ; GC ptr vars -{V247}
             ldr     w13, [fp, #-0x8C]  // [V11 loc7]
             cmp     w13, #42
-            beq     G_M9731_IG28
+            beq     G_M9731_IG30
                        ;; size=12 bbWeight=64 PerfScore 224.00
 G_M9731_IG17:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             tst     w19, #255
             beq     G_M9731_IG26
             cmp     w13, #60
             bne     G_M9731_IG26
-            mov     w13, wzr
+            mov     w14, wzr
             cbnz    w6, G_M9731_IG24
             cmp     w25, #46
             bne     G_M9731_IG23
-            sxtw    w1, w27
-            cmp     w1, w24
+            sxtw    w13, w27
+            cmp     w13, w24
             bge     G_M9731_IG23
                        ;; size=44 bbWeight=32 PerfScore 256.00
 G_M9731_IG18:        ; bbWeight=256, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            cmp     w1, w24
-            bhs     G_M9731_IG72
-            ldrh    w0, [x23, w1, UXTW #2]
-            cmp     w0, #46
+            cmp     w13, w24
+            bhs     G_M9731_IG73
+            ldrh    w1, [x23, w13, UXTW #2]
+            cmp     w1, #46
             beq     G_M9731_IG22
-            add     w1, w1, #1
-            cmp     w1, w24
+            add     w13, w13, #1
+            cmp     w13, w24
             blt     G_M9731_IG18
                        ;; size=32 bbWeight=256 PerfScore 2048.00
 G_M9731_IG19:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
@@ -612,18 +612,18 @@ G_M9731_IG20:        ; bbWeight=2, gcVars=00000000000000000000000000000000 {}, g
             ; GC ptr vars -{V181}
             str     x3, [fp, #-0xD8]   // [V181 tmp156]
             ; GC ptr vars +{V181}
-            b       G_M9731_IG63
+            b       G_M9731_IG64
                       ;; size=8 bbWeight=2 PerfScore 4.00
 G_M9731_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref
             ; byrRegs -[x21 x23 x28]
             ; GC ptr vars -{V181}
             ldr     w5, [fp, #-0x90]   // [V15 loc11]
-            b       G_M9731_IG64
+            b       G_M9731_IG65
                       ;; size=8 bbWeight=1 PerfScore 3.00
 G_M9731_IG22:        ; bbWeight=32, gcVars=00000000000000000000000000000200 {V181}, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, gcvars, byref
             ; byrRegs -[x3] +[x21 x23 x28]
             ; GC ptr vars +{V09 V181}
-            mov     w13, #1
+            mov     w14, #1
                         ;; size=4 bbWeight=32 PerfScore 16.00
 G_M9731_IG23:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
             cmp     w25, #46
@@ -634,183 +634,181 @@ G_M9731_IG24:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x
             mov     w1, #1
                        ;; size=4 bbWeight=32 PerfScore 16.00
 G_M9731_IG25:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            orr     w1, w1, w13
-            cbz     w1, G_M9731_IG29
-            b       G_M9731_IG28
+            orr     w1, w1, w14
+            cbz     w1, G_M9731_IG31
+            b       G_M9731_IG30
                        ;; size=12 bbWeight=32 PerfScore 80.00
 G_M9731_IG26:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w11, [fp, #-0x94]  // [V16 loc12]
             add     w11, w11, #2
             tst     w19, #255
-            beq     G_M9731_IG37
+            beq     G_M9731_IG38
             cmp     w13, #62
-            bne     G_M9731_IG27
-            cbnz    w6, G_M9731_IG30
+            bne     G_M9731_IG28
+            cbnz    w6, G_M9731_IG32
             cmp     w25, #46
-            beq     G_M9731_IG30
-            b       G_M9731_IG34
-                       ;; size=40 bbWeight=32 PerfScore 288.00
-G_M9731_IG27:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
-            cmp     w13, #34
-            bne     G_M9731_IG37
-            cbnz    w6, G_M9731_IG30
-            b       G_M9731_IG35
-                       ;; size=16 bbWeight=32 PerfScore 112.00
+            beq     G_M9731_IG32
+                       ;; size=36 bbWeight=32 PerfScore 256.00
+G_M9731_IG27:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
+            b       G_M9731_IG36
+                       ;; size=4 bbWeight=8 PerfScore 8.00
 G_M9731_IG28:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
+            cmp     w13, #34
+            bne     G_M9731_IG38
+            cbnz    w6, G_M9731_IG32
+                       ;; size=12 bbWeight=32 PerfScore 80.00
+G_M9731_IG29:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref
+            b       G_M9731_IG37
+                       ;; size=4 bbWeight=8 PerfScore 8.00
+G_M9731_IG30:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=10A00000 {x21 x23 x28}, byref, isz
             ldr     w7, [fp, #-0x84]    // [V07 loc3]
             add     w13, w7, #1
             cmp     w7, w2
-            bhs     G_M9731_IG72
+            bhs     G_M9731_IG73
             ldr     w11, [fp, #-0x94]    // [V16 loc12]
             str     w11, [x28, w7, UXTW #2]
             str     w13, [fp, #-0x84]  // [V07 loc3]
             str     w11, [fp, #-0x94]  // [V16 loc12]
                        ;; size=32 bbWeight=32 PerfScore 288.00
...
  
+12 (+1.24%) : 4998.dasm - FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5int,int,int,int,int
@@ -78,7 +78,7 @@ G_M22428_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
 G_M22428_IG03:        ; bbWeight=8, gcrefRegs=2080000 {x19 x25}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             ldrb    w0, [x19, #0x14]
-            cbnz    w0, G_M22428_IG20
+            cbnz    w0, G_M22428_IG21
                      ;; size=8 bbWeight=8 PerfScore 32.00
 G_M22428_IG04:        ; bbWeight=4, gcrefRegs=2080000 {x19 x25}, byrefRegs=0000 {}, byref, isz
             mov     w26, wzr
@@ -106,9 +106,9 @@ G_M22428_IG06:        ; bbWeight=15.84, gcrefRegs=2080000 {x19 x25}, byrefRegs=1
             cmp     w26, #16
             blt     G_M22428_IG06
                        ;; size=40 bbWeight=15.84 PerfScore 142.56
-G_M22428_IG07:        ; bbWeight=2, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref
+G_M22428_IG07:        ; bbWeight=4, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref
             b       G_M22428_IG10
-                       ;; size=4 bbWeight=2 PerfScore 2.00
+                       ;; size=4 bbWeight=4 PerfScore 4.00
 G_M22428_IG08:        ; bbWeight=0.02, gcrefRegs=2080000 {x19 x25}, byrefRegs=0000 {}, byref
             ; byrRegs -[x28]
             add     x28, x25, #16
@@ -126,7 +126,7 @@ G_M22428_IG09:        ; bbWeight=0.16, gcrefRegs=2080000 {x19 x25}, byrefRegs=10
             ; gcr arg pop 0
             ldr     w27, [x25, #0x08]
             cmp     w26, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             str     w0, [x28, w26, UXTW #2]
             add     w26, w26, #1
             cmp     w26, #16
@@ -140,21 +140,21 @@ G_M22428_IG10:        ; bbWeight=4, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000
 G_M22428_IG11:        ; bbWeight=15.84, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref, isz
             sub     w0, w26, #3
             cmp     w0, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             ldr     w0, [x28, w0, UXTW #2]
             sub     w1, w26, #8
             cmp     w1, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             ldr     w1, [x28, w1, UXTW #2]
             eor     w0, w0, w1
             sub     w1, w26, #14
             cmp     w1, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             ldr     w1, [x28, w1, UXTW #2]
             eor     w0, w0, w1
             sub     w1, w26, #16
             cmp     w1, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             ldr     w1, [x28, w1, UXTW #2]
             eor     w0, w0, w1
             ror     w0, w0, #31
@@ -163,35 +163,35 @@ G_M22428_IG11:        ; bbWeight=15.84, gcrefRegs=2080000 {x19 x25}, byrefRegs=1
             cmp     w26, #80
             blt     G_M22428_IG11
                        ;; size=96 bbWeight=15.84 PerfScore 403.92
-G_M22428_IG12:        ; bbWeight=2, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref
+G_M22428_IG12:        ; bbWeight=4, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref
             b       G_M22428_IG14
-                       ;; size=4 bbWeight=2 PerfScore 2.00
+                       ;; size=4 bbWeight=4 PerfScore 4.00
 G_M22428_IG13:        ; bbWeight=0.16, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref, isz
             sub     w0, w26, #3
             cmp     w0, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             sub     w0, w26, #3
             ldr     w0, [x28, w0, UXTW #2]
             sub     w1, w26, #8
             cmp     w1, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             sub     w1, w26, #8
             ldr     w1, [x28, w1, UXTW #2]
             eor     w0, w0, w1
             sub     w1, w26, #14
             cmp     w1, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             sub     w1, w26, #14
             ldr     w1, [x28, w1, UXTW #2]
             eor     w0, w0, w1
             sub     w1, w26, #16
             cmp     w1, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             sub     w1, w26, #16
             ldr     w1, [x28, w1, UXTW #2]
             eor     w0, w0, w1
             cmp     w26, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             ror     w0, w0, #31
             str     w0, [x28, w26, UXTW #2]
             add     w26, w26, #1
@@ -255,10 +255,13 @@ G_M22428_IG15:        ; bbWeight=15.84, gcrefRegs=2080000 {x19 x25}, byrefRegs=1
             mov     w6, w8
             blt     G_M22428_IG17
                        ;; size=172 bbWeight=15.84 PerfScore 689.04
-G_M22428_IG16:        ; bbWeight=2, gcrefRegs=2080000 {x19 x25}, byrefRegs=0000 {}, byref
+G_M22428_IG16:        ; bbWeight=4, gcrefRegs=2080000 {x19 x25}, byrefRegs=0000 {}, byref
             ; byrRegs -[x28]
+            mov     w1, w5
+            mov     w3, w6
+            ldr     w2, [fp, #0x20]    // [V10 loc9]
             b       G_M22428_IG19
-                        ;; size=4 bbWeight=2 PerfScore 2.00
+                       ;; size=16 bbWeight=4 PerfScore 16.00
 G_M22428_IG17:        ; bbWeight=7.92, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref
             ; byrRegs +[x28]
             mov     w8, w27
@@ -285,7 +288,7 @@ G_M22428_IG18:        ; bbWeight=0.16, gcrefRegs=2080000 {x19 x25}, byrefRegs=10
             add     w0, w0, w1
             ldr     w2, [fp, #0x1C]    // [V12 loc11]
             cmp     w2, w27
-            bhs     G_M22428_IG22
+            bhs     G_M22428_IG23
             ldr     w1, [x28, w2, UXTW #2]
             add     w4, w0, w1
             stp     w4, w2, [fp, #0x18]    // [V19 tmp5], [V12 loc11]
@@ -299,34 +302,38 @@ G_M22428_IG18:        ; bbWeight=0.16, gcrefRegs=2080000 {x19 x25}, byrefRegs=10
             ldr     w1, [fp, #0x18]    // [V19 tmp5]
             add     w5, w0, w1
             ldr     w1, [fp, #0x24]    // [V09 loc8]
-            sxtw    w0, w1
-            ldr     w1, [fp, #0x28]    // [V08 loc7]
             sxtw    w2, w1
+            ldr     w1, [fp, #0x28]    // [V08 loc7]
+            sxtw    w3, w1
             ldr     w4, [fp, #0x2C]  // [V07 loc6]
             ror     w1, w4, #2
             sxtw    w4, w26
             sxtw    w26, w5
-            ldr     w3, [fp, #0x1C]   // [V12 loc11]
-            add     w3, w3, #1
-            cmp     w3, #80
-            str     w0, [fp, #0x20]    // [V10 loc9]
-            mov     w5, w1
-            mov     w6, w2
-            mov     w8, w3
-            blt     G_M22428_IG18
-                       ;; size=188 bbWeight=0.16 PerfScore 7.60
+            ldr     w0, [fp, #0x1C]   // [V12 loc11]
+            add     w0, w0, #1
+            cmp     w0, #80
+            mov     w8, w0
+            blt     G_M22428_IG20
+                       ;; size=176 bbWeight=0.16 PerfScore 7.28
 G_M22428_IG19:        ; bbWeight=4, gcrefRegs=2080000 {x19 x25}, byrefRegs=0000 {}, byref
             ; byrRegs -[x28]
             add     w20, w20, w26
             add     w21, w21, w4
-            add     w22, w22, w5
-            add     w23, w23, w6
-            ldr     w7, [fp, #0x20]    // [V10 loc9]
-            add     w24, w24, w7
+            add     w22, w22, w1
+            add     w23, w23, w3
+            add     w24, w24, w2
             b       G_M22428_IG03
-                        ;; size=28 bbWeight=4 PerfScore 22.00
-G_M22428_IG20:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                      ;; size=24 bbWeight=4 PerfScore 14.00
+G_M22428_IG20:        ; bbWeight=0.08, gcrefRegs=2080000 {x19 x25}, byrefRegs=10000000 {x28}, byref
+            ; byrRegs +[x28]
+            str     w2, [fp, #0x20]    // [V10 loc9]
+            mov     w5, w1
+            mov     w6, w3
+            b       G_M22428_IG18
+                       ;; size=16 bbWeight=0.08 PerfScore 0.24
+G_M22428_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x25]
+            ; byrRegs -[x28]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -337,7 +344,7 @@ G_M22428_IG20:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             stp     w22, w23, [x0, #0x10]
             str     w24, [x0, #0x18]
                        ;; size=28 bbWeight=1 PerfScore 5.50
-G_M22428_IG21:        ; bbWeight=1, epilog, nogc, extend
+G_M22428_IG22:        ; bbWeight=1, epilog, nogc, extend
             ldp     x27, x28, [sp, #0x70]
             ldp     x25, x26, [sp, #0x60]
             ldp     x23, x24, [sp, #0x50]
@@ -346,14 +353,14 @@ G_M22428_IG21:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x80
             ret     lr
                        ;; size=28 bbWeight=1 PerfScore 7.00
-G_M22428_IG22:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M22428_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 964, prolog size 32, PerfScore 1397.31, instruction count 241, allocated bytes for code 964 (MethodHash=57dda863) for method FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5[int,int,int,int,int] (FullOpts)
+; Total bytes of code 976, prolog size 32, PerfScore 1407.23, instruction count 244, allocated bytes for code 976 (MethodHash=57dda863) for method FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5[int,int,int,int,int] (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -364,7 +371,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 241 (0x000f1) Actual length = 964 (0x0003c4)
+  Function Length   : 244 (0x000f4) Actual length = 976 (0x0003d0)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+4 (+2.70%) : 17063.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
@@ -47,7 +47,7 @@ G_M5512_IG03:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byr
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            cbnz    w0, G_M5512_IG09
+            cbnz    w0, G_M5512_IG08
                         ;; size=44 bbWeight=2 PerfScore 35.00
 G_M5512_IG04:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x1, [x19, #0x10]
@@ -56,11 +56,11 @@ G_M5512_IG04:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byr
             mov     w1, #0xD1FFAB1E
             ; gcrRegs -[x1]
             cmp     w0, w1
-            beq     G_M5512_IG07
+            beq     G_M5512_IG10
             ldr     x19, [x19, #0x08]
                        ;; size=24 bbWeight=2 PerfScore 22.00
 G_M5512_IG05:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            cbz     x19, G_M5512_IG07
+            cbz     x19, G_M5512_IG10
                       ;; size=4 bbWeight=8 PerfScore 8.00
 G_M5512_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             movz    x1, #0xD1FFAB1E
@@ -73,23 +73,26 @@ G_M5512_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byr
                        ;; size=24 bbWeight=4 PerfScore 24.00
 G_M5512_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x1 x19]
-            mov     w0, wzr
+            b       G_M5512_IG10
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
+G_M5512_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w0, #1
                      ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M5512_IG08:        ; bbWeight=0.50, epilog, nogc, extend
+G_M5512_IG09:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=0.50 PerfScore 2.00
-G_M5512_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            mov     w0, #1
+G_M5512_IG10:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, wzr
                         ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M5512_IG10:        ; bbWeight=0.50, epilog, nogc, extend
+G_M5512_IG11:        ; bbWeight=0.50, epilog, nogc, extend
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 148, prolog size 12, PerfScore 100.00, instruction count 37, allocated bytes for code 148 (MethodHash=0d76ea77) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
+; Total bytes of code 152, prolog size 12, PerfScore 100.50, instruction count 38, allocated bytes for code 152 (MethodHash=0d76ea77) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -100,7 +103,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 37 (0x00025) Actual length = 148 (0x000094)
+  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)
  
+16 (+2.88%) : 21482.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
@@ -19,36 +19,37 @@
 ;* V08 tmp1         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol>
 ;  V09 tmp2         [V09,T02] (  5, 16   )     ref  ->  x23         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol>
 ;  V10 tmp3         [V10,T03] (  4, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol>
-;  V11 tmp4         [V11    ] (  4,  8   )  struct (24) [fp+0x28]  do-not-enreg[XS] must-init addr-exposed "Inline stloc first use temp" <Microsoft.CodeAnalysis.UseSiteInfo`1[Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol]>
+;  V11 tmp4         [V11    ] (  4,  8   )  struct (24) [fp+0x30]  do-not-enreg[XS] must-init addr-exposed "Inline stloc first use temp" <Microsoft.CodeAnalysis.UseSiteInfo`1[Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol]>
 ;* V12 tmp5         [V12    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Immutable.ImmutableArray`1+Enumerator[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]>
 ;* V14 tmp7         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon[]>
-;  V15 tmp8         [V15,T05] (  4, 12.50)     int  ->   x1         "Inline stloc first use temp"
+;  V15 tmp8         [V15,T05] (  4, 12.50)     int  ->  x23         "Inline stloc first use temp"
 ;  V16 tmp9         [V16,T15] (  2,  1   )     ref  ->   x0         single-def "field V05._array (fldOffset=0x0)" P-INDEP
-;  V17 tmp10        [V17,T04] (  4, 12.50)     int  ->  x23         "field V05._index (fldOffset=0x8)" P-INDEP
+;  V17 tmp10        [V17,T04] (  4, 12.50)     int  ->  x24         "field V05._index (fldOffset=0x8)" P-INDEP
 ;  V18 tmp11        [V18,T14] (  3,  1.50)     ref  ->   x0         "field V06.array (fldOffset=0x0)" P-INDEP
-;  V19 tmp12        [V19    ] (  4,  8   )     ref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V11.DiagnosticInfo (fldOffset=0x0)" P-DEP
-;  V20 tmp13        [V20    ] (  4,  8   )     ref  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V11.PrimaryDependency (fldOffset=0x8)" P-DEP
-;  V21 tmp14        [V21    ] (  4,  8   )     ref  ->  [fp+0x38]  do-not-enreg[X] addr-exposed "field V11.SecondaryDependencies (fldOffset=0x10)" P-DEP
+;  V19 tmp12        [V19    ] (  4,  8   )     ref  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V11.DiagnosticInfo (fldOffset=0x0)" P-DEP
+;  V20 tmp13        [V20    ] (  4,  8   )     ref  ->  [fp+0x38]  do-not-enreg[X] addr-exposed "field V11.PrimaryDependency (fldOffset=0x8)" P-DEP
+;  V21 tmp14        [V21    ] (  4,  8   )     ref  ->  [fp+0x40]  do-not-enreg[X] addr-exposed "field V11.SecondaryDependencies (fldOffset=0x10)" P-DEP
 ;* V22 tmp15        [V22    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V12.array (fldOffset=0x0)" P-INDEP
 ;  V23 tmp16        [V23,T16] (  2,  1   )     ref  ->   x0         single-def "field V13._array (fldOffset=0x0)" P-INDEP
 ;* V24 tmp17        [V24,T17] (  0,  0   )     int  ->  zero-ref    single-def "field V13._index (fldOffset=0x8)" P-INDEP
-;  V25 tmp18        [V25    ] (  4, 16   )  struct (24) [fp+0x10]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.CodeAnalysis.UseSiteInfo`1[Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol]>
+;  V25 tmp18        [V25    ] (  4, 16   )  struct (24) [fp+0x18]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.CodeAnalysis.UseSiteInfo`1[Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol]>
 ;  V26 tmp19        [V26,T00] (  3, 24   )     ref  ->   x0         "argument with side effect"
 ;  V27 cse0         [V27,T12] (  3,  5   )     int  ->  x19         "CSE - aggressive"
-;  V28 cse1         [V28,T13] (  2,  4.50)   byref  ->  x24         hoist "CSE - aggressive"
+;  V28 cse1         [V28,T13] (  2,  4.50)   byref  ->  x25         hoist "CSE - aggressive"
 ;  V29 cse2         [V29,T06] (  3, 12   )    long  ->  x24         "CSE - aggressive"
 ;  V30 cse3         [V30,T11] (  3,  6   )    long  ->  x24         "CSE - aggressive"
 ;
-; Lcl frame size = 48
+; Lcl frame size = 56
 
 G_M31465_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x70]!
-            stp     x19, x20, [sp, #0x40]
-            stp     x21, x22, [sp, #0x50]
-            stp     x23, x24, [sp, #0x60]
+            stp     fp, lr, [sp, #-0x80]!
+            stp     x19, x20, [sp, #0x48]
+            stp     x21, x22, [sp, #0x58]
+            stp     x23, x24, [sp, #0x68]
+            str     x25, [sp, #0x78]
             mov     fp, sp
-            add     x9, fp, #16
+            add     x9, fp, #24
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     xzr, xzr, [x9, #0x20]
@@ -58,7 +59,7 @@ G_M31465_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; gcrRegs +[x20]
             mov     x19, x2
             ; byrRegs +[x19]
-                     ;; size=48 bbWeight=1 PerfScore 9.00
+                      ;; size=52 bbWeight=1 PerfScore 10.00
 G_M31465_IG02:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=80000 {x19}, byref, isz
             mov     x0, x21
             ; gcrRegs +[x0]
@@ -99,13 +100,13 @@ G_M31465_IG04:        ; bbWeight=2, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefReg
             ldr     x1, [x1, #0xD1FFAB1E]
             ldr     x1, [x1]
             blr     x1
-            stp     xzr, xzr, [fp, #0x28]
-            str     xzr, [fp, #0x38]
+            stp     xzr, xzr, [fp, #0x30]
+            str     xzr, [fp, #0x40]
             cbz     x0, G_M31465_IG09
             ldrb    w8, [x19, #0x19]
             cmp     w8, #2
             beq     G_M31465_IG09
-            add     x8, fp, #40 // [V11 tmp4]
+            add     x8, fp, #48  // [V11 tmp4]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x80]
             ldr     x1, [x1, #0x20]
@@ -113,13 +114,13 @@ G_M31465_IG04:        ; bbWeight=2, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefReg
             ; gcrRegs -[x0]
                        ;; size=64 bbWeight=2 PerfScore 57.00
 G_M31465_IG05:        ; bbWeight=2, nogc, extend
-            ldp     x0, x1, [fp, #0x28]
-            stp     x0, x1, [fp, #0x10]
-            ldr     x0, [fp, #0x38]
-            str     x0, [fp, #0x20]
+            ldp     x0, x1, [fp, #0x30]
+            stp     x0, x1, [fp, #0x18]
+            ldr     x0, [fp, #0x40]
+            str     x0, [fp, #0x28]
                         ;; size=16 bbWeight=2 PerfScore 14.00
 G_M31465_IG06:        ; bbWeight=2, extend
-            add     x2, fp, #16    // [V25 tmp18]
+            add     x2, fp, #24 // [V25 tmp18]
             mov     x0, x19
             ; byrRegs +[x0]
             movz    x24, #0xD1FFAB1E
@@ -134,13 +135,13 @@ G_M31465_IG06:        ; bbWeight=2, extend
             ; byrRegs -[x0]
                        ;; size=44 bbWeight=2 PerfScore 17.00
 G_M31465_IG07:        ; bbWeight=2, nogc, extend
-            ldp     x0, x1, [fp, #0x28]
-            stp     x0, x1, [fp, #0x10]
-            ldr     x0, [fp, #0x38]
-            str     x0, [fp, #0x20]
+            ldp     x0, x1, [fp, #0x30]
+            stp     x0, x1, [fp, #0x18]
+            ldr     x0, [fp, #0x40]
+            str     x0, [fp, #0x28]
                         ;; size=16 bbWeight=2 PerfScore 14.00
 G_M31465_IG08:        ; bbWeight=2, extend
-            add     x2, fp, #16    // [V25 tmp18]
+            add     x2, fp, #24 // [V25 tmp18]
             mov     x0, x19
             ; byrRegs +[x0]
             mov     x1, x24
@@ -176,16 +177,16 @@ G_M31465_IG10:        ; bbWeight=0.50, gcrefRegs=700000 {x20 x21 x22}, byrefRegs
             blr     x2
             ; byrRegs -[x1 x19]
             ldr     w19, [x0, #0x08]
-            mov     w1, wzr
             mov     w23, wzr
+            mov     w24, wzr
             cmp     w19, #0
             ble     G_M31465_IG12
-            add     x24, x0, #16
-            ; byrRegs +[x24]
+            add     x25, x0, #16
+            ; byrRegs +[x25]
                        ;; size=80 bbWeight=0.50 PerfScore 13.50
-G_M31465_IG11:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=1000000 {x24}, byref, isz
+G_M31465_IG11:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=2000000 {x25}, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [x24, w1, UXTW #3]
+            ldr     x0, [x25, w23, UXTW #3]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
             ldr     x1, [x1, #0xD1FFAB1E]
@@ -193,14 +194,14 @@ G_M31465_IG11:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=10
             blr     x1
             cmp     x0, x22
             beq     G_M31465_IG14
-            add     w1, w23, #1
-            sxtw    w23, w1
-            cmp     w19, w23
+            add     w23, w24, #1
+            sxtw    w24, w23
+            cmp     w19, w24
             bgt     G_M31465_IG11
                        ;; size=44 bbWeight=4 PerfScore 68.00
 G_M31465_IG12:        ; bbWeight=0.50, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0 x22]
-            ; byrRegs -[x24]
+            ; byrRegs -[x25]
             mov     x0, x21
             ; gcrRegs +[x0]
             ldr     x1, [x21]
@@ -221,45 +222,48 @@ G_M31465_IG12:        ; bbWeight=0.50, gcrefRegs=300000 {x20 x21}, byrefRegs=000
             cset    x0, eq
                        ;; size=56 bbWeight=0.50 PerfScore 11.75
 G_M31465_IG13:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x23, x24, [sp, #0x60]
-            ldp     x21, x22, [sp, #0x50]
-            ldp     x19, x20, [sp, #0x40]
-            ldp     fp, lr, [sp], #0x70
+            ldr     x25, [sp, #0x78]
+            ldp     x23, x24, [sp, #0x68]
+            ldp     x21, x22, [sp, #0x58]
+            ldp     x19, x20, [sp, #0x48]
+            ldp     fp, lr, [sp], #0x80
             ret     lr
-                        ;; size=20 bbWeight=0.50 PerfScore 2.50
+                       ;; size=24 bbWeight=0.50 PerfScore 3.50
 G_M31465_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M31465_IG15:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x23, x24, [sp, #0x60]
-            ldp     x21, x22, [sp, #0x50]
-            ldp     x19, x20, [sp, #0x40]
-            ldp     fp, lr, [sp], #0x70
+            ldr     x25, [sp, #0x78]
+            ldp     x23, x24, [sp, #0x68]
+            ldp     x21, x22, [sp, #0x58]
+            ldp     x19, x20, [sp, #0x48]
+            ldp     fp, lr, [sp], #0x80
             ret     lr
-                        ;; size=20 bbWeight=0.50 PerfScore 2.50
+                       ;; size=24 bbWeight=0.50 PerfScore 3.50
 G_M31465_IG16:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M31465_IG17:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     x23, x24, [sp, #0x60]
-            ldp     x21, x22, [sp, #0x50]
-            ldp     x19, x20, [sp, #0x40]
-            ldp     fp, lr, [sp], #0x70
+            ldr     x25, [sp, #0x78]
+            ldp     x23, x24, [sp, #0x68]
+            ldp     x21, x22, [sp, #0x58]
+            ldp     x19, x20, [sp, #0x48]
+            ldp     fp, lr, [sp], #0x80
             ret     lr
-                        ;; size=20 bbWeight=0.50 PerfScore 2.50
+                       ;; size=24 bbWeight=0.50 PerfScore 3.50
 
-; Total bytes of code 556, prolog size 36, PerfScore 326.75, instruction count 139, allocated bytes for code 556 (MethodHash=11448516) for method Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
+; Total bytes of code 572, prolog size 40, PerfScore 330.75, instruction count 143, allocated bytes for code 572 (MethodHash=11448516) for method Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 2
+  Code Words        : 3
   Epilog Count      : 3
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 139 (0x0008b) Actual length = 556 (0x00022c)
+  Function Length   : 143 (0x0008f) Actual length = 572 (0x00023c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -273,10 +277,13 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
+    D1 8F       save_reg X#6 Z#15 (0x0F); str x25, [sp, #120]
     E6          save_next
     E6          save_next
-    C8 08       save_regp X#0 Z#8 (0x08); stp x19, x20, [sp, #64]
-    8D          save_fplr_x #13 (0x0D); stp fp, lr, [sp, #-112]!
+    C8 09       save_regp X#0 Z#9 (0x09); stp x19, x20, [sp, #72]
+    8F          save_fplr_x #15 (0x0F); stp fp, lr, [sp, #-128]!
+    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.windows.arm64.checked.mch | 182 | 31 | 30 | 121 | -192 | +264 | 
| benchmarks.run_pgo.windows.arm64.checked.mch | 2,281 | 660 | 749 | 872 | -6,616 | +6,164 | 
| benchmarks.run_tiered.windows.arm64.checked.mch | 83 | 11 | 16 | 56 | -680 | +108 | 
| coreclr_tests.run.windows.arm64.checked.mch | 1,244 | 282 | 325 | 637 | -2,788 | +2,808 | 
| libraries.crossgen2.windows.arm64.checked.mch | 5 | 3 | 1 | 1 | -12 | +8 | 
| libraries.pmi.windows.arm64.checked.mch | 1,065 | 162 | 122 | 781 | -1,532 | +1,288 | 
| libraries_tests.run.windows.arm64.Release.mch | 7,174 | 2,145 | 1,802 | 3,227 | -26,036 | +16,200 | 
| librariestestsnotieredcompilation.run.windows.arm64.Release.mch | 1,379 | 222 | 146 | 1,011 | -2,300 | +1,296 | 
| realworld.run.windows.arm64.checked.mch | 272 | 41 | 28 | 203 | -364 | +236 | 
| smoke_tests.nativeaot.windows.arm64.checked.mch | 0 | 0 | 0 | 0 | -0 | +0 | 
|  | 13,685 | 3,557 | 3,219 | 6,909 | -40,520 | +28,372 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| benchmarks.run.windows.arm64.checked.mch | 24,457 | 4 | 24,453 | 0 (0.00%) | 0 (0.00%) | 
| benchmarks.run_pgo.windows.arm64.checked.mch | 97,835 | 48,583 | 49,252 | 0 (0.00%) | 0 (0.00%) | 
| benchmarks.run_tiered.windows.arm64.checked.mch | 48,760 | 36,702 | 12,058 | 0 (0.00%) | 0 (0.00%) | 
| coreclr_tests.run.windows.arm64.checked.mch | 595,211 | 362,948 | 232,263 | 0 (0.00%) | 0 (0.00%) | 
| libraries.crossgen2.windows.arm64.checked.mch | 2,119 | 0 | 2,119 | 0 (0.00%) | 0 (0.00%) | 
| libraries.pmi.windows.arm64.checked.mch | 305,345 | 6 | 305,339 | 0 (0.00%) | 0 (0.00%) | 
| libraries_tests.run.windows.arm64.Release.mch | 648,641 | 467,644 | 180,997 | 0 (0.00%) | 0 (0.00%) | 
| librariestestsnotieredcompilation.run.windows.arm64.Release.mch | 316,975 | 21,597 | 295,378 | 0 (0.00%) | 0 (0.00%) | 
| realworld.run.windows.arm64.checked.mch | 33,247 | 3 | 33,244 | 0 (0.00%) | 0 (0.00%) | 
| smoke_tests.nativeaot.windows.arm64.checked.mch | 58 | 0 | 58 | 0 (0.00%) | 0 (0.00%) | 
|  | 2,072,648 | 937,487 | 1,135,161 | 0 (0.00%) | 0 (0.00%) | 
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: 10966036 (overridden on cmd)
Total bytes of diff: 10966108 (overridden on cmd)
Total bytes of delta: 72 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          20 : 16478.dasm (0.53 % of base)
          20 : 13929.dasm (0.89 % of base)
          16 : 11006.dasm (0.21 % of base)
          16 : 21672.dasm (1.67 % of base)
          16 : 22804.dasm (0.20 % of base)
          16 : 23646.dasm (1.01 % of base)
          16 : 23550.dasm (2.25 % of base)
          12 : 22027.dasm (3.16 % of base)
          12 : 2470.dasm (1.13 % of base)
          12 : 3136.dasm (1.74 % of base)
          12 : 9071.dasm (0.15 % of base)
           8 : 22729.dasm (1.80 % of base)
           8 : 23026.dasm (0.54 % of base)
           8 : 10883.dasm (1.13 % of base)
           8 : 20081.dasm (1.89 % of base)
           8 : 10230.dasm (0.31 % of base)
           4 : 17429.dasm (0.27 % of base)
           4 : 7601.dasm (0.27 % of base)
           4 : 8276.dasm (0.07 % of base)
           4 : 13906.dasm (0.24 % of base)
Top file improvements (bytes):
         -24 : 21894.dasm (-1.10 % of base)
         -16 : 5958.dasm (-0.45 % of base)
         -12 : 18377.dasm (-0.43 % of base)
         -12 : 2780.dasm (-0.80 % of base)
          -8 : 17430.dasm (-0.26 % of base)
          -8 : 6154.dasm (-0.40 % of base)
          -8 : 17183.dasm (-0.10 % of base)
          -8 : 22801.dasm (-0.14 % of base)
          -8 : 9092.dasm (-0.08 % of base)
          -4 : 14265.dasm (-0.46 % of base)
          -4 : 15218.dasm (-1.56 % of base)
          -4 : 16002.dasm (-0.07 % of base)
          -4 : 17380.dasm (-0.16 % of base)
          -4 : 17442.dasm (-0.17 % of base)
          -4 : 17965.dasm (-0.40 % of base)
          -4 : 19638.dasm (-0.43 % of base)
          -4 : 21360.dasm (-0.24 % of base)
          -4 : 5328.dasm (-0.21 % of base)
          -4 : 18124.dasm (-0.32 % of base)
          -4 : 20550.dasm (-0.11 % of base)
52 total files with Code Size differences (27 improved, 25 regressed), 20 unchanged.
Top method regressions (bytes):
          20 (0.53 % of base) : 16478.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (FullOpts)
          20 (0.89 % of base) : 13929.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (FullOpts)
          16 (1.67 % of base) : 21672.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (FullOpts)
          16 (2.25 % of base) : 23550.dasm - Benchstone.BenchI.Array2:Bench(int):ubyte (FullOpts)
          16 (0.21 % of base) : 11006.dasm - Jil.Deserialize.Methods:_ReadISO8601Date(System.IO.TextReader,ushort[]):System.DateTime (FullOpts)
          16 (0.20 % of base) : 22804.dasm - Jil.Deserialize.Methods:_ReadISO8601DateWithOffset(System.IO.TextReader,ushort[]):System.DateTimeOffset (FullOpts)
          16 (1.01 % of base) : 23646.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
          12 (0.15 % of base) : 9071.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
          12 (3.16 % of base) : 22027.dasm - Benchstone.BenchI.XposMatrix:Test():ubyte:this (FullOpts)
          12 (1.74 % of base) : 3136.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          12 (1.13 % of base) : 2470.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (FullOpts)
           8 (0.54 % of base) : 23026.dasm - BenchmarksGame.KNucleotide_9:loadThreeData(System.IO.Stream) (FullOpts)
           8 (1.80 % of base) : 22729.dasm - Benchstone.BenchF.SqMtx:Test():ubyte:this (FullOpts)
           8 (1.89 % of base) : 20081.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           8 (0.31 % of base) : 10230.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
           8 (1.13 % of base) : 10883.dasm - System.Xml.XmlUTF8TextReader:ReadQualifiedName(System.Xml.PrefixHandle,System.Xml.StringHandle):this (FullOpts)
           4 (0.27 % of base) : 17429.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbolsWithNoPiaLocalTypes(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):ubyte:this (FullOpts)
           4 (0.44 % of base) : 18206.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:WhereAsArrayImpl[System.__Canon,int](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte],System.Func`3[System.__Canon,int,ubyte],int):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (FullOpts)
           4 (0.24 % of base) : 13906.dasm - Newtonsoft.Json.JsonTextReader:ReadAsBytes():ubyte[]:this (FullOpts)
           4 (0.42 % of base) : 23376.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:get_Count():int:this (FullOpts)
Top method improvements (bytes):
         -24 (-1.10 % of base) : 21894.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -16 (-0.45 % of base) : 5958.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[]):System.Reflection.Assembly (FullOpts)
         -12 (-0.43 % of base) : 18377.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckAbstractClassImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -12 (-0.80 % of base) : 2780.dasm - System.Net.Security.SslStreamCertificateContext:.ctor(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Collections.ObjectModel.ReadOnlyCollection`1[System.Security.Cryptography.X509Certificates.X509Certificate2],System.Net.Security.SslCertificateTrust):this (FullOpts)
          -8 (-0.14 % of base) : 22801.dasm - Jil.Deserialize.Methods:SkipWithLeadChar(System.IO.TextReader,int) (FullOpts)
          -8 (-0.08 % of base) : 9092.dasm - Jil.Deserialize.Methods:SkipWithLeadCharThunkReader(byref,int) (FullOpts)
          -8 (-0.10 % of base) : 17183.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)
          -8 (-0.26 % of base) : 17430.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 (FullOpts)
          -8 (-0.40 % of base) : 6154.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
          -4 (-0.07 % of base) : 16002.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.24 % of base) : 21360.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (FullOpts)
          -4 (-0.43 % of base) : 19638.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
          -4 (-0.17 % of base) : 17442.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:BuildReferencedAssembliesAndModulesMaps(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]],int,int,System.Collections.Generic.IReadOnlyDictionary`2[System.__Canon,System.__Canon],ubyte,byref,byref,byref,byref) (FullOpts)
          -4 (-0.16 % of base) : 17380.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:TryAddAssembly(Microsoft.CodeAnalysis.AssemblyIdentity,Microsoft.CodeAnalysis.MetadataReference,int,Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.Location,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],ubyte):Microsoft.CodeAnalysis.MetadataReference:this (FullOpts)
          -4 (-0.32 % of base) : 18124.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddDeclaredNontypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -4 (-0.40 % of base) : 17965.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (FullOpts)
          -4 (-0.22 % of base) : 4331.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (FullOpts)
          -4 (-0.21 % of base) : 5328.dasm - ProtoBuf.Meta.MetaType:ResolveTupleConstructor(System.Type,byref):System.Reflection.ConstructorInfo (FullOpts)
          -4 (-1.56 % of base) : 15218.dasm - Struct.GSeq:FilterSkipMapSum():int:this (FullOpts)
          -4 (-0.36 % of base) : 10970.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:get_Count():int:this (FullOpts)
Top method regressions (percentages):
          12 (3.16 % of base) : 22027.dasm - Benchstone.BenchI.XposMatrix:Test():ubyte:this (FullOpts)
           4 (2.33 % of base) : 14264.dasm - System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
          16 (2.25 % of base) : 23550.dasm - Benchstone.BenchI.Array2:Bench(int):ubyte (FullOpts)
           8 (1.89 % of base) : 20081.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           8 (1.80 % of base) : 22729.dasm - Benchstone.BenchF.SqMtx:Test():ubyte:this (FullOpts)
          12 (1.74 % of base) : 3136.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          16 (1.67 % of base) : 21672.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (FullOpts)
           8 (1.13 % of base) : 10883.dasm - System.Xml.XmlUTF8TextReader:ReadQualifiedName(System.Xml.PrefixHandle,System.Xml.StringHandle):this (FullOpts)
          12 (1.13 % of base) : 2470.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (FullOpts)
          16 (1.01 % of base) : 23646.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
          20 (0.89 % of base) : 13929.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (FullOpts)
           8 (0.54 % of base) : 23026.dasm - BenchmarksGame.KNucleotide_9:loadThreeData(System.IO.Stream) (FullOpts)
          20 (0.53 % of base) : 16478.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (FullOpts)
           4 (0.44 % of base) : 18206.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:WhereAsArrayImpl[System.__Canon,int](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte],System.Func`3[System.__Canon,int,ubyte],int):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (FullOpts)
           4 (0.42 % of base) : 23376.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:get_Count():int:this (FullOpts)
           4 (0.35 % of base) : 6470.dasm - System.Reflection.CustomAttributeEncodedArgument:ParseNamedArgs(byref,System.Reflection.CustomAttributeNamedParameter[],System.Reflection.RuntimeModule) (FullOpts)
           8 (0.31 % of base) : 10230.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
           4 (0.27 % of base) : 17429.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbolsWithNoPiaLocalTypes(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):ubyte:this (FullOpts)
           4 (0.27 % of base) : 7601.dasm - System.Threading.Barrier:SignalAndWait(int,System.Threading.CancellationToken):ubyte:this (FullOpts)
           4 (0.24 % of base) : 13906.dasm - Newtonsoft.Json.JsonTextReader:ReadAsBytes():ubyte[]:this (FullOpts)
Top method improvements (percentages):
          -4 (-1.56 % of base) : 15218.dasm - Struct.GSeq:FilterSkipMapSum():int:this (FullOpts)
         -24 (-1.10 % of base) : 21894.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -4 (-0.81 % of base) : 6897.dasm - Utf8Json.JsonReader:ReadInt64():long:this (FullOpts)
         -12 (-0.80 % of base) : 2780.dasm - System.Net.Security.SslStreamCertificateContext:.ctor(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Collections.ObjectModel.ReadOnlyCollection`1[System.Security.Cryptography.X509Certificates.X509Certificate2],System.Net.Security.SslCertificateTrust):this (FullOpts)
          -4 (-0.46 % of base) : 14265.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (FullOpts)
         -16 (-0.45 % of base) : 5958.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[]):System.Reflection.Assembly (FullOpts)
          -4 (-0.43 % of base) : 19638.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
         -12 (-0.43 % of base) : 18377.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckAbstractClassImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -4 (-0.41 % of base) : 2992.dasm - System.Net.MultiMemory:CopyFrom(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
          -8 (-0.40 % of base) : 6154.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
          -4 (-0.40 % of base) : 17965.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (FullOpts)
          -4 (-0.36 % of base) : 10970.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:get_Count():int:this (FullOpts)
          -4 (-0.32 % of base) : 18124.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddDeclaredNontypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -4 (-0.32 % of base) : 23382.dasm - System.Threading.TimerQueue:FireNextTimers():this (FullOpts)
          -8 (-0.26 % of base) : 17430.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 (FullOpts)
          -4 (-0.24 % of base) : 21360.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (FullOpts)
          -4 (-0.22 % of base) : 4331.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (FullOpts)
          -4 (-0.21 % of base) : 5328.dasm - ProtoBuf.Meta.MetaType:ResolveTupleConstructor(System.Type,byref):System.Reflection.ConstructorInfo (FullOpts)
          -4 (-0.17 % of base) : 17442.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:BuildReferencedAssembliesAndModulesMaps(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]],int,int,System.Collections.Generic.IReadOnlyDictionary`2[System.__Canon,System.__Canon],ubyte,byref,byref,byref,byref) (FullOpts)
          -4 (-0.16 % of base) : 17380.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:TryAddAssembly(Microsoft.CodeAnalysis.AssemblyIdentity,Microsoft.CodeAnalysis.MetadataReference,int,Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.Location,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],ubyte):Microsoft.CodeAnalysis.MetadataReference: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: 46766976 (overridden on cmd)
Total bytes of diff: 46766524 (overridden on cmd)
Total bytes of delta: -452 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          32 : 20523.dasm (2.19 % of base)
          32 : 44384.dasm (2.22 % of base)
          32 : 50153.dasm (0.89 % of base)
          32 : 67269.dasm (2.19 % of base)
          32 : 72706.dasm (2.22 % of base)
          32 : 82846.dasm (2.22 % of base)
          32 : 90730.dasm (2.22 % of base)
          32 : 95657.dasm (2.19 % of base)
          28 : 33352.dasm (0.67 % of base)
          28 : 64379.dasm (0.92 % of base)
          28 : 78639.dasm (0.65 % of base)
          28 : 90446.dasm (1.59 % of base)
          28 : 93943.dasm (1.59 % of base)
          28 : 97183.dasm (6.54 % of base)
          28 : 46317.dasm (1.59 % of base)
          28 : 97163.dasm (1.59 % of base)
          24 : 84624.dasm (1.36 % of base)
          24 : 71188.dasm (1.36 % of base)
          24 : 85648.dasm (1.36 % of base)
          24 : 92572.dasm (1.36 % of base)
Top file improvements (bytes):
        -476 : 95030.dasm (-33.06 % of base)
        -460 : 95022.dasm (-31.94 % of base)
        -156 : 51825.dasm (-21.67 % of base)
        -156 : 51856.dasm (-21.67 % of base)
         -56 : 74509.dasm (-6.64 % of base)
         -52 : 50864.dasm (-1.60 % of base)
         -52 : 68956.dasm (-1.16 % of base)
         -44 : 90255.dasm (-1.22 % of base)
         -40 : 36973.dasm (-0.70 % of base)
         -32 : 75594.dasm (-0.56 % of base)
         -32 : 83569.dasm (-0.96 % of base)
         -32 : 90964.dasm (-0.83 % of base)
         -28 : 97219.dasm (-1.11 % of base)
         -24 : 32591.dasm (-7.41 % of base)
         -24 : 64695.dasm (-0.12 % of base)
         -24 : 92845.dasm (-1.38 % of base)
         -24 : 95118.dasm (-0.83 % of base)
         -24 : 20337.dasm (-1.38 % of base)
         -24 : 65622.dasm (-1.43 % of base)
         -24 : 89970.dasm (-1.43 % of base)
83 total files with Code Size differences (40 improved, 43 regressed), 20 unchanged.
Top method regressions (bytes):
          32 (2.19 % of base) : 20523.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.22 % of base) : 44384.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.19 % of base) : 67269.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.22 % of base) : 72706.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.22 % of base) : 82846.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.22 % of base) : 90730.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.19 % of base) : 95657.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (0.89 % of base) : 50153.dasm - System.Reflection.CustomAttribute:AddCustomAttributes(byref,System.Reflection.RuntimeModule,int,System.RuntimeType,ubyte,System.RuntimeType+ListBuilder`1[System.Object]) (Tier1)
          28 (0.92 % of base) : 64379.dasm - Microsoft.CodeAnalysis.CSharp.CodeGen.Optimizer:Optimize(Microsoft.CodeAnalysis.CSharp.BoundStatement,ubyte,byref):Microsoft.CodeAnalysis.CSharp.BoundStatement (Tier1)
          28 (0.67 % of base) : 33352.dasm - System.Collections.Generic.ArraySortHelper`1[int]:IntroSort(System.Span`1[int],int,System.Comparison`1[int]) (Tier1)
          28 (0.65 % of base) : 78639.dasm - System.Collections.Generic.ArraySortHelper`1[int]:IntroSort(System.Span`1[int],int,System.Comparison`1[int]) (Tier1)
          28 (1.59 % of base) : 90446.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          28 (1.59 % of base) : 93943.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          28 (1.59 % of base) : 46317.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          28 (6.54 % of base) : 97183.dasm - System.Threading.ThreadPoolWorkQueue:TryStartProcessingHighPriorityWorkItemsAndDequeue(System.Threading.ThreadPoolWorkQueueThreadLocals,byref):ubyte:this (Tier1)
          28 (1.59 % of base) : 97163.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1-OSR)
          24 (1.36 % of base) : 84624.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          24 (1.36 % of base) : 71188.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          24 (1.36 % of base) : 85648.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          24 (1.36 % of base) : 92572.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
Top method improvements (bytes):
        -476 (-33.06 % of base) : 95030.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -460 (-31.94 % of base) : 95022.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -156 (-21.67 % of base) : 51825.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 51856.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -56 (-6.64 % of base) : 74509.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -52 (-1.16 % of base) : 68956.dasm - Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass:VisitBlock(Microsoft.CodeAnalysis.CSharp.BoundBlock):Microsoft.CodeAnalysis.CSharp.BoundNode:this (Tier1)
         -52 (-1.60 % of base) : 50864.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -44 (-1.22 % of base) : 90255.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -40 (-0.70 % of base) : 36973.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -32 (-0.56 % of base) : 75594.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -32 (-0.96 % of base) : 83569.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -32 (-0.83 % of base) : 90964.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -28 (-1.11 % of base) : 97219.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
         -24 (-0.12 % of base) : 64695.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindSimpleBinaryOperator(Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
         -24 (-0.83 % of base) : 95118.dasm - StringSort:Run():double:this (Tier1)
         -24 (-7.41 % of base) : 32591.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -24 (-1.38 % of base) : 92845.dasm - System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[System.__Canon]:WriteAsync(System.__Canon,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (Tier1)
         -24 (-1.38 % of base) : 20337.dasm - System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[System.__Canon]:WriteAsync(System.__Canon,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (Tier1)
         -24 (-1.43 % of base) : 65622.dasm - System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[System.__Canon]:WriteAsync(System.__Canon,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (Tier1)
         -24 (-1.43 % of base) : 89970.dasm - System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[System.__Canon]:WriteAsync(System.__Canon,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (Tier1)
Top method regressions (percentages):
          20 (9.43 % of base) : 74765.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[int]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
          20 (9.43 % of base) : 79632.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[System.__Canon]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
          12 (7.69 % of base) : 26892.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 75779.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 95258.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 97178.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          28 (6.54 % of base) : 97183.dasm - System.Threading.ThreadPoolWorkQueue:TryStartProcessingHighPriorityWorkItemsAndDequeue(System.Threading.ThreadPoolWorkQueueThreadLocals,byref):ubyte:this (Tier1)
           8 (4.08 % of base) : 44415.dasm - Benchstone.BenchI.LogicArray:Inner(byref):ubyte (Tier1-OSR)
           8 (3.64 % of base) : 87986.dasm - Benchstone.MDBenchI.MDLogicArray:Inner(byref):ubyte (Tier1-OSR)
          20 (2.56 % of base) : 44408.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1-OSR)
          20 (2.56 % of base) : 46336.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1-OSR)
          20 (2.56 % of base) : 52175.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1-OSR)
          20 (2.56 % of base) : 84943.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1-OSR)
          20 (2.56 % of base) : 25980.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1-OSR)
          20 (2.56 % of base) : 46948.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1-OSR)
          20 (2.56 % of base) : 72735.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1-OSR)
          20 (2.56 % of base) : 81867.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1-OSR)
          20 (2.56 % of base) : 92599.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1-OSR)
          20 (2.56 % of base) : 93959.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1-OSR)
          20 (2.56 % of base) : 24151.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 improvements (percentages):
        -476 (-33.06 % of base) : 95030.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -460 (-31.94 % of base) : 95022.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -156 (-21.67 % of base) : 51825.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 51856.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -24 (-7.41 % of base) : 32591.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -16 (-7.02 % of base) : 15914.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
         -16 (-6.90 % of base) : 15912.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
         -56 (-6.64 % of base) : 74509.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -16 (-6.56 % of base) : 20589.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 44401.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 46329.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 49701.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 76173.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 81861.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 84937.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 24143.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 33107.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 46942.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 72729.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 93953.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (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: 15393212 (overridden on cmd)
Total bytes of diff: 15392640 (overridden on cmd)
Total bytes of delta: -572 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          20 : 32212.dasm (0.54 % of base)
          16 : 44289.dasm (2.07 % of base)
          12 : 43302.dasm (1.16 % of base)
          12 : 18869.dasm (0.15 % of base)
           4 : 27887.dasm (0.16 % of base)
           4 : 30203.dasm (2.33 % of base)
           4 : 30934.dasm (0.13 % of base)
           4 : 42877.dasm (0.27 % of base)
           4 : 45373.dasm (0.82 % of base)
           4 : 18459.dasm (0.35 % of base)
           4 : 32021.dasm (0.49 % of base)
           4 : 23751.dasm (0.16 % of base)
           4 : 26759.dasm (0.07 % of base)
           4 : 40176.dasm (1.08 % of base)
           4 : 42873.dasm (0.29 % of base)
           4 : 46323.dasm (0.04 % of base)
Top file improvements (bytes):
        -420 : 48393.dasm (-31.44 % of base)
        -152 : 32017.dasm (-14.13 % of base)
         -56 : 43482.dasm (-6.97 % of base)
         -24 : 44573.dasm (-1.10 % of base)
          -4 : 45123.dasm (-0.02 % of base)
          -4 : 40588.dasm (-0.10 % of base)
          -4 : 48572.dasm (-0.32 % of base)
          -4 : 30806.dasm (-0.07 % of base)
          -4 : 31031.dasm (-0.09 % of base)
          -4 : 39139.dasm (-0.41 % of base)
          -4 : 45807.dasm (-0.02 % of base)
27 total files with Code Size differences (11 improved, 16 regressed), 28 unchanged.
Top method regressions (bytes):
          20 (0.54 % of base) : 32212.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (Tier0-FullOpts)
          16 (2.07 % of base) : 44289.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
          12 (0.15 % of base) : 18869.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
          12 (1.16 % of base) : 43302.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (Tier1)
           4 (0.29 % of base) : 42873.dasm - Benchstone.BenchF.MatInv4:MinV1(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.27 % of base) : 42877.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.13 % of base) : 30934.dasm - Benchstone.BenchI.MulMatrix:Inner(int[][],int[][],int[][]) (Tier1-OSR)
           4 (0.82 % of base) : 45373.dasm - Benchstone.MDBenchF.MDInvMt:Inner(double[,],byref,byref) (Tier1-OSR)
           4 (1.08 % of base) : 40176.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
           4 (0.49 % of base) : 32021.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1-OSR)
           4 (0.16 % of base) : 23751.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength8OrLongerOrUnknown,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1)
           4 (0.35 % of base) : 18459.dasm - System.Reflection.CustomAttributeEncodedArgument:ParseNamedArgs(byref,System.Reflection.CustomAttributeNamedParameter[],System.Reflection.RuntimeModule) (Tier1)
           4 (0.16 % of base) : 27887.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetMethodTokenNoLock(System.Reflection.MethodInfo,ubyte):int:this (Tier1)
           4 (0.07 % of base) : 26759.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1)
           4 (0.04 % of base) : 46323.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
           4 (2.33 % of base) : 30203.dasm - System.Xml.XmlReader:MoveToContent():int:this (Tier1)
Top method improvements (bytes):
        -420 (-31.44 % of base) : 48393.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -152 (-14.13 % of base) : 32017.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -56 (-6.97 % of base) : 43482.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -24 (-1.10 % of base) : 44573.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -4 (-0.02 % of base) : 45123.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.07 % of base) : 30806.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.02 % of base) : 45807.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.09 % of base) : 31031.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.41 % of base) : 39139.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
          -4 (-0.10 % of base) : 40588.dasm - System.Number:FormatBigInteger(ubyte,System.Numerics.BigInteger,System.String,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo,System.Span`1[ushort],byref,byref):System.String (Tier0-FullOpts)
          -4 (-0.32 % of base) : 48572.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
Top method regressions (percentages):
           4 (2.33 % of base) : 30203.dasm - System.Xml.XmlReader:MoveToContent():int:this (Tier1)
          16 (2.07 % of base) : 44289.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
          12 (1.16 % of base) : 43302.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (Tier1)
           4 (1.08 % of base) : 40176.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
           4 (0.82 % of base) : 45373.dasm - Benchstone.MDBenchF.MDInvMt:Inner(double[,],byref,byref) (Tier1-OSR)
          20 (0.54 % of base) : 32212.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (Tier0-FullOpts)
           4 (0.49 % of base) : 32021.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1-OSR)
           4 (0.35 % of base) : 18459.dasm - System.Reflection.CustomAttributeEncodedArgument:ParseNamedArgs(byref,System.Reflection.CustomAttributeNamedParameter[],System.Reflection.RuntimeModule) (Tier1)
           4 (0.29 % of base) : 42873.dasm - Benchstone.BenchF.MatInv4:MinV1(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.27 % of base) : 42877.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.16 % of base) : 23751.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength8OrLongerOrUnknown,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1)
           4 (0.16 % of base) : 27887.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetMethodTokenNoLock(System.Reflection.MethodInfo,ubyte):int:this (Tier1)
          12 (0.15 % of base) : 18869.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
           4 (0.13 % of base) : 30934.dasm - Benchstone.BenchI.MulMatrix:Inner(int[][],int[][],int[][]) (Tier1-OSR)
           4 (0.07 % of base) : 26759.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1)
           4 (0.04 % of base) : 46323.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1-OSR)
Top method improvements (percentages):
        -420 (-31.44 % of base) : 48393.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -152 (-14.13 % of base) : 32017.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -56 (-6.97 % of base) : 43482.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -24 (-1.10 % of base) : 44573.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -4 (-0.41 % of base) : 39139.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
          -4 (-0.32 % of base) : 48572.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
          -4 (-0.10 % of base) : 40588.dasm - System.Number:FormatBigInteger(ubyte,System.Numerics.BigInteger,System.String,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo,System.Span`1[ushort],byref,byref):System.String (Tier0-FullOpts)
          -4 (-0.09 % of base) : 31031.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.07 % of base) : 30806.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.02 % of base) : 45807.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.02 % of base) : 45123.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
  
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: 497219372 (overridden on cmd)
Total bytes of diff: 497219392 (overridden on cmd)
Total bytes of delta: 20 (0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          92 : 592408.dasm (0.91 % of base)
          88 : 243203.dasm (3.95 % of base)
          68 : 591609.dasm (0.57 % of base)
          52 : 517747.dasm (24.07 % of base)
          52 : 517749.dasm (24.07 % of base)
          44 : 587472.dasm (2.19 % of base)
          44 : 591668.dasm (2.19 % of base)
          44 : 496151.dasm (8.94 % of base)
          36 : 591069.dasm (3.75 % of base)
          32 : 587321.dasm (0.26 % of base)
          32 : 589509.dasm (0.29 % of base)
          28 : 587780.dasm (1.16 % of base)
          28 : 589405.dasm (1.85 % of base)
          24 : 591698.dasm (0.97 % of base)
          24 : 320615.dasm (2.52 % of base)
          20 : 498717.dasm (2.18 % of base)
          20 : 499625.dasm (1.60 % of base)
          20 : 591266.dasm (0.99 % of base)
          20 : 204942.dasm (0.89 % of base)
          20 : 321490.dasm (1.58 % of base)
Top file improvements (bytes):
        -460 : 475270.dasm (-31.94 % of base)
        -168 : 511349.dasm (-31.82 % of base)
        -156 : 463899.dasm (-21.67 % of base)
        -156 : 463914.dasm (-21.67 % of base)
         -80 : 182144.dasm (-2.50 % of base)
         -36 : 241001.dasm (-1.17 % of base)
         -36 : 241237.dasm (-1.17 % of base)
         -36 : 516198.dasm (-0.47 % of base)
         -28 : 497625.dasm (-0.37 % of base)
         -28 : 489389.dasm (-0.37 % of base)
         -24 : 586793.dasm (-3.19 % of base)
         -24 : 589691.dasm (-1.44 % of base)
         -24 : 591469.dasm (-3.19 % of base)
         -24 : 592391.dasm (-1.44 % of base)
         -24 : 592467.dasm (-1.44 % of base)
         -24 : 181370.dasm (-0.26 % of base)
         -24 : 589456.dasm (-1.44 % of base)
         -20 : 249349.dasm (-0.43 % of base)
         -20 : 445007.dasm (-6.25 % of base)
         -20 : 473615.dasm (-6.49 % of base)
68 total files with Code Size differences (36 improved, 32 regressed), 20 unchanged.
Top method regressions (bytes):
          92 (0.91 % of base) : 592408.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
          88 (3.95 % of base) : 243203.dasm - JitTest_array1_refany_il.Test:Main():int (FullOpts)
          68 (0.57 % of base) : 591609.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (Tier1)
          52 (24.07 % of base) : 517747.dasm - testout1:Test1(int):int (Tier1-OSR)
          52 (24.07 % of base) : 517749.dasm - testout1:Test2(int):int (Tier1-OSR)
          44 (2.19 % of base) : 587472.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          44 (2.19 % of base) : 591668.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          44 (8.94 % of base) : 496151.dasm - RetBufferBug:Main():int (Tier1-OSR)
          36 (3.75 % of base) : 591069.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.TypeValidationChecker+<CanSkipValidationInstance>d__7:MoveNext():this (Tier1-OSR)
          32 (0.26 % of base) : 587321.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (Tier1)
          32 (0.29 % of base) : 589509.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
          28 (1.16 % of base) : 587780.dasm - ILCompiler.LazyGenericsSupport+GraphBuilder:.ctor(Internal.TypeSystem.Ecma.EcmaType):this (Tier1)
          28 (1.85 % of base) : 589405.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+RuntimeDeterminedTypeKey,System.__Canon]:TryAddOrGetExisting(System.__Canon,byref):System.__Canon:this (Tier1-OSR)
          24 (0.97 % of base) : 591698.dasm - Internal.TypeSystem.InstantiatedType:ConvertToCanonFormImpl(int):Internal.TypeSystem.TypeDesc:this (Tier1)
          24 (2.52 % of base) : 320615.dasm - System.Threading.PortableThreadPool+WorkerThread:WorkerThreadStart() (Instrumented Tier1)
          20 (0.99 % of base) : 591266.dasm - Internal.TypeSystem.MetadataVirtualMethodAlgorithm:FindMatchingVirtualMethodOnTypeByNameAndSig(Internal.TypeSystem.MethodDesc,Internal.TypeSystem.DefType,ubyte,System.Func`3[Internal.TypeSystem.MethodDesc,Internal.TypeSystem.MethodDesc,ubyte]):Internal.TypeSystem.MethodDesc (Tier1)
          20 (2.18 % of base) : 498717.dasm - JitTest_lcs_long_arrays_il.LCS:findLCS(long[,,,],long[,,,],ushort[][],long[]) (Tier1-OSR)
          20 (0.89 % of base) : 204942.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (FullOpts)
          20 (1.60 % of base) : 499625.dasm - System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (Tier1)
          20 (1.58 % of base) : 321490.dasm - System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (Tier1)
Top method improvements (bytes):
        -460 (-31.94 % of base) : 475270.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -168 (-31.82 % of base) : 511349.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -156 (-21.67 % of base) : 463899.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 463914.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -80 (-2.50 % of base) : 182144.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -36 (-1.17 % of base) : 241001.dasm - plainarr:gaussj(double[,],int,double[,],int) (FullOpts)
         -36 (-1.17 % of base) : 241237.dasm - structarr:gaussj(MatrixStruct,int,MatrixStruct,int) (FullOpts)
         -36 (-0.47 % of base) : 516198.dasm - System.Reflection.PortableExecutable.PEHeaders:.ctor(System.IO.Stream,int,ubyte):this (Tier1)
         -28 (-0.37 % of base) : 497625.dasm - System.Reflection.PortableExecutable.PEHeaders:.ctor(System.IO.Stream,int,ubyte):this (Tier1)
         -28 (-0.37 % of base) : 489389.dasm - System.Reflection.PortableExecutable.PEHeaders:.ctor(System.IO.Stream,int,ubyte):this (Tier1)
         -24 (-0.26 % of base) : 181370.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)
         -24 (-1.44 % of base) : 592391.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ILCompiler.DependencyAnalysis.ReadyToRun.ModuleToken,System.__Canon]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[ILCompiler.DependencyAnalysis.ReadyToRun.ModuleToken,System.__Canon],ubyte,ubyte):this (Tier1)
         -24 (-1.44 % of base) : 589456.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ILCompiler.DependencyAnalysis.ReadyToRun.ModuleToken,System.__Canon]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[ILCompiler.DependencyAnalysis.ReadyToRun.ModuleToken,System.__Canon],ubyte,ubyte):this (Tier1)
         -24 (-1.44 % of base) : 589691.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ILCompiler.DependencyAnalysis.ReadyToRunSymbolNodeFactory+ReadyToRunHelperKey,System.__Canon]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[ILCompiler.DependencyAnalysis.ReadyToRunSymbolNodeFactory+ReadyToRunHelperKey,System.__Canon],ubyte,ubyte):this (Tier1)
         -24 (-1.44 % of base) : 592467.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ILCompiler.DependencyAnalysis.ReadyToRunSymbolNodeFactory+ReadyToRunHelperKey,System.__Canon]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[ILCompiler.DependencyAnalysis.ReadyToRunSymbolNodeFactory+ReadyToRunHelperKey,System.__Canon],ubyte,ubyte):this (Tier1)
         -24 (-3.19 % of base) : 586793.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -24 (-3.19 % of base) : 591469.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -20 (-0.43 % of base) : 249349.dasm - Co1245GetBytes_double:runTest():ubyte:this (FullOpts)
         -20 (-6.25 % of base) : 445007.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.49 % of base) : 473615.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
Top method regressions (percentages):
          52 (24.07 % of base) : 517747.dasm - testout1:Test1(int):int (Tier1-OSR)
          52 (24.07 % of base) : 517749.dasm - testout1:Test2(int):int (Tier1-OSR)
          44 (8.94 % of base) : 496151.dasm - RetBufferBug:Main():int (Tier1-OSR)
          12 (7.69 % of base) : 591305.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          16 (4.40 % of base) : 247944.dasm - Default.Graph:BuildEdge(int,int):this (FullOpts)
           8 (4.08 % of base) : 474134.dasm - Benchstone.BenchI.LogicArray:Inner(byref):ubyte (Tier1-OSR)
          88 (3.95 % of base) : 243203.dasm - JitTest_array1_refany_il.Test:Main():int (FullOpts)
          16 (3.81 % of base) : 206122.dasm - Benchstone.BenchF.SqMtx:Bench():ubyte (FullOpts)
          36 (3.75 % of base) : 591069.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.TypeValidationChecker+<CanSkipValidationInstance>d__7:MoveNext():this (Tier1-OSR)
           8 (3.64 % of base) : 474383.dasm - Benchstone.MDBenchI.MDLogicArray:Inner(byref):ubyte (Tier1-OSR)
          12 (3.19 % of base) : 206145.dasm - Benchstone.BenchI.XposMatrix:Bench(int[][]):ubyte (FullOpts)
           4 (2.56 % of base) : 587269.dasm - Internal.TypeSystem.InstantiatedType:IsCanonicalSubtype(int):ubyte:this (Tier1)
           4 (2.56 % of base) : 591620.dasm - Internal.TypeSystem.InstantiatedType:IsCanonicalSubtype(int):ubyte:this (Tier1)
          24 (2.52 % of base) : 320615.dasm - System.Threading.PortableThreadPool+WorkerThread:WorkerThreadStart() (Instrumented Tier1)
          16 (2.25 % of base) : 203969.dasm - Benchstone.BenchI.Array2:Bench(int):ubyte (FullOpts)
          12 (2.22 % of base) : 489750.dasm - XUnitWrapperLibrary.TestSummary+TestResult:SanitizeOutput(System.String):System.String:this (Tier1-OSR)
          44 (2.19 % of base) : 587472.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          44 (2.19 % of base) : 591668.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          20 (2.18 % of base) : 498717.dasm - JitTest_lcs_long_arrays_il.LCS:findLCS(long[,,,],long[,,,],ushort[][],long[]) (Tier1-OSR)
          28 (1.85 % of base) : 589405.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+RuntimeDeterminedTypeKey,System.__Canon]:TryAddOrGetExisting(System.__Canon,byref):System.__Canon:this (Tier1-OSR)
Top method improvements (percentages):
        -460 (-31.94 % of base) : 475270.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -168 (-31.82 % of base) : 511349.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -156 (-21.67 % of base) : 463899.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 463914.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -16 (-7.02 % of base) : 474238.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
         -16 (-6.90 % of base) : 474236.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
         -20 (-6.49 % of base) : 473615.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.25 % of base) : 445007.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -12 (-5.17 % of base) : 319095.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 335323.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 344318.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 461911.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 481816.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 514844.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 594466.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -16 (-4.44 % of base) : 218074.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstanceOfAny(ulong,System.Object):System.Object (Instrumented Tier1)
          -4 (-3.57 % of base) : 590226.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.ByteArrayComparer:Equals(ubyte[],ubyte[]):ubyte:this (Tier1)
          -4 (-3.57 % of base) : 592589.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.ByteArrayComparer:Equals(ubyte[],ubyte[]):ubyte:this (Tier1)
          -4 (-3.57 % of base) : 203485.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
          -4 (-3.33 % of base) : 587977.dasm - System.Enum:AreSorted[uint](uint[]):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: 335900 (overridden on cmd)
Total bytes of diff: 335896 (overridden on cmd)
Total bytes of delta: -4 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
           8 : 410.dasm (0.22 % of base)
Top file improvements (bytes):
          -4 : 480.dasm (-0.19 % of base)
          -4 : 1302.dasm (-0.23 % of base)
          -4 : 1179.dasm (-0.19 % of base)
4 total files with Code Size differences (3 improved, 1 regressed), 1 unchanged.
Top method regressions (bytes):
           8 (0.22 % of base) : 410.dasm - System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte[] (FullOpts)
Top method improvements (bytes):
          -4 (-0.19 % of base) : 480.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
          -4 (-0.19 % of base) : 1179.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
          -4 (-0.23 % of base) : 1302.dasm - System.Security.AccessControl.GenericAce:CreateFromBinaryForm(ubyte[],int):System.Security.AccessControl.GenericAce (FullOpts)
Top method regressions (percentages):
           8 (0.22 % of base) : 410.dasm - System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte[] (FullOpts)
Top method improvements (percentages):
          -4 (-0.23 % of base) : 1302.dasm - System.Security.AccessControl.GenericAce:CreateFromBinaryForm(ubyte[],int):System.Security.AccessControl.GenericAce (FullOpts)
          -4 (-0.19 % of base) : 480.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
          -4 (-0.19 % of base) : 1179.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
4 total methods with Code Size differences (3 improved, 1 regressed).
  
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: 79809824 (overridden on cmd)
Total bytes of diff: 79809580 (overridden on cmd)
Total bytes of delta: -244 (-0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         120 : 266303.dasm (0.73 % of base)
          76 : 279479.dasm (1.82 % of base)
          56 : 92682.dasm (0.24 % of base)
          44 : 795.dasm (1.87 % of base)
          44 : 171629.dasm (1.87 % of base)
          40 : 147824.dasm (1.65 % of base)
          28 : 151485.dasm (4.90 % of base)
          28 : 196129.dasm (0.44 % of base)
          28 : 215292.dasm (1.62 % of base)
          24 : 151400.dasm (2.08 % of base)
          24 : 203375.dasm (5.71 % of base)
          20 : 31488.dasm (0.25 % of base)
          20 : 142161.dasm (0.89 % of base)
          20 : 32155.dasm (1.53 % of base)
          16 : 59852.dasm (2.88 % of base)
          16 : 119800.dasm (1.27 % of base)
          16 : 294036.dasm (0.48 % of base)
          16 : 140804.dasm (0.41 % of base)
          16 : 176412.dasm (0.93 % of base)
          16 : 184475.dasm (4.40 % of base)
Top file improvements (bytes):
        -132 : 140802.dasm (-0.45 % of base)
         -80 : 228198.dasm (-2.49 % of base)
         -52 : 206302.dasm (-0.45 % of base)
         -28 : 137619.dasm (-3.37 % of base)
         -28 : 168818.dasm (-3.37 % of base)
         -24 : 227236.dasm (-0.26 % of base)
         -20 : 206163.dasm (-0.42 % of base)
         -20 : 38241.dasm (-0.35 % of base)
         -20 : 62726.dasm (-0.83 % of base)
         -20 : 115615.dasm (-1.10 % of base)
         -20 : 149153.dasm (-0.50 % of base)
         -20 : 277350.dasm (-1.03 % of base)
         -16 : 204881.dasm (-0.43 % of base)
         -16 : 252884.dasm (-1.76 % of base)
         -16 : 281699.dasm (-0.39 % of base)
         -16 : 140816.dasm (-0.26 % of base)
         -12 : 59416.dasm (-2.13 % of base)
         -12 : 60433.dasm (-0.30 % of base)
         -12 : 61109.dasm (-0.43 % of base)
         -12 : 137670.dasm (-3.30 % of base)
69 total files with Code Size differences (36 improved, 33 regressed), 20 unchanged.
Top method regressions (bytes):
         120 (0.73 % of base) : 266303.dasm - System.DirectoryServices.ActiveDirectory.Utils:GetReplicaList(System.DirectoryServices.ActiveDirectory.DirectoryContext,System.String,System.String,ubyte,ubyte,ubyte):System.Collections.ArrayList (FullOpts)
          76 (1.82 % of base) : 279479.dasm - System.Net.Mail.SmtpClient:SendAsync(System.Net.Mail.MailMessage,System.Object):this (FullOpts)
          56 (0.24 % of base) : 92682.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)
          44 (1.87 % of base) : 795.dasm - System.Configuration.ConfigurationElement:UnMergeLockList(System.Configuration.ConfigurationLockCollection,System.Configuration.ConfigurationLockCollection,int):System.Configuration.ConfigurationLockCollection:this (FullOpts)
          44 (1.87 % of base) : 171629.dasm - System.Configuration.ConfigurationElement:UnMergeLockList(System.Configuration.ConfigurationLockCollection,System.Configuration.ConfigurationLockCollection,int):System.Configuration.ConfigurationLockCollection:this (FullOpts)
          40 (1.65 % of base) : 147824.dasm - Microsoft.Build.Evaluation.ExpressionShredder:GetReferencedItemExpressions(System.String,int,int):System.Collections.Generic.List`1[Microsoft.Build.Evaluation.ExpressionShredder+ItemExpressionCapture] (FullOpts)
          28 (4.90 % of base) : 151485.dasm - Microsoft.Build.Shared.FileUtilities:PathsEqual(System.String,System.String):ubyte (FullOpts)
          28 (1.62 % of base) : 215292.dasm - System.Text.DBCSCodePageEncoding:ReadBestFitTable():this (FullOpts)
          28 (0.44 % of base) : 196129.dasm - System.Xml.XmlTextReaderImpl+<ParseAttributeValueSlowAsync>d__532:MoveNext():this (FullOpts)
          24 (2.08 % of base) : 151400.dasm - Microsoft.Build.Shared.FileMatcher:Normalize(System.String):System.String (FullOpts)
          24 (5.71 % of base) : 203375.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          20 (0.25 % of base) : 31488.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindAnonymousObjectCreation(Microsoft.CodeAnalysis.CSharp.Syntax.AnonymousObjectCreationExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          20 (1.53 % of base) : 32155.dasm - Microsoft.CodeAnalysis.CSharp.Binder:ReportQueryInferenceFailedSelectMany(Microsoft.CodeAnalysis.CSharp.Syntax.FromClauseSyntax,System.String,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbol],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):ubyte (FullOpts)
          20 (0.89 % of base) : 142161.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (FullOpts)
          16 (2.88 % of base) : 59852.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
          16 (1.27 % of base) : 119800.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation+DocumentationCommentCompiler:GetDocumentationCommentForSymbol(Microsoft.CodeAnalysis.VisualBasic.Symbol,Microsoft.CodeAnalysis.VisualBasic.Syntax.DocumentationCommentTriviaSyntax,System.Collections.Generic.Dictionary`2[int,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax]]):System.String:this (FullOpts)
          16 (0.41 % of base) : 140804.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMostSpecific(System.Reflection.MethodBase,System.Reflection.MethodBase,int[],System.Object[],ubyte,int,int,System.Object[]):int:this (FullOpts)
          16 (0.93 % of base) : 176412.dasm - System.Data.Select:CreateIndex():this (FullOpts)
          16 (4.40 % of base) : 184475.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          16 (1.78 % of base) : 279851.dasm - System.Net.Mime.MimeBasePart:DecodeHeaderValue(System.String):System.String (FullOpts)
Top method improvements (bytes):
        -132 (-0.45 % of base) : 140802.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)
         -80 (-2.49 % of base) : 228198.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -52 (-0.45 % of base) : 206302.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
         -28 (-3.37 % of base) : 137619.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -28 (-3.37 % of base) : 168818.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -24 (-0.26 % of base) : 227236.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)
         -20 (-0.50 % of base) : 149153.dasm - Microsoft.Build.BackEnd.Scheduler:WriteNodeUtilizationGraph(Microsoft.Build.BackEnd.Logging.ILoggingService,Microsoft.Build.Framework.BuildEventContext,ubyte):this (FullOpts)
         -20 (-0.35 % of base) : 38241.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArguments>g__visitArguments|231_0(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Conversion],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,ubyte):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte,Microsoft.CodeAnalysis.CSharp.NullableWalker+ArgumentsCompletionDelegate]:this (FullOpts)
         -20 (-0.83 % of base) : 62726.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:<FindMostSpecificImplementationInBases>g__findMostSpecificImplementationInBases|92_1(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
         -20 (-1.10 % of base) : 115615.dasm - Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyImmediateVarianceCompatibility(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,int,byref):int (FullOpts)
         -20 (-1.03 % of base) : 277350.dasm - System.Buffers.SequenceReader`1[double]:TryReadTo(byref,double,double,ubyte):ubyte:this (FullOpts)
         -20 (-0.42 % of base) : 206163.dasm - System.Xml.Serialization.XmlSerializationReader:ReadArray(System.String,System.String):System.Array:this (FullOpts)
         -16 (-0.26 % of base) : 140816.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -16 (-1.76 % of base) : 252884.dasm - System.ComponentModel.Composition.ReflectionModel.GenericSpecializationPartCreationInfo:TranslateExportMetadata(System.ComponentModel.Composition.ReflectionModel.ReflectionMemberExportDefinition):System.Collections.Generic.Dictionary`2[System.String,System.Object]:this (FullOpts)
         -16 (-0.39 % of base) : 281699.dasm - System.Net.HttpWebRequest+<SendRequest>d__196:MoveNext():this (FullOpts)
         -16 (-0.43 % of base) : 204881.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[]):System.Reflection.Assembly (FullOpts)
         -12 (-0.26 % of base) : 32753.dasm - Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder:<MakeDecisionDag>g__uniquifyState|32_0(Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+FrozenArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+StateForCase],System.Collections.Immutable.ImmutableDictionary`2[Microsoft.CodeAnalysis.CSharp.BoundDagTemp,Microsoft.CodeAnalysis.CSharp.IValueSet],byref):Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+DagState (FullOpts)
         -12 (-0.35 % of base) : 32853.dasm - Microsoft.CodeAnalysis.CSharp.Imports:ExpandPreviousSubmissionImports(Microsoft.CodeAnalysis.CSharp.Imports,Microsoft.CodeAnalysis.CSharp.CSharpCompilation):Microsoft.CodeAnalysis.CSharp.Imports (FullOpts)
         -12 (-0.30 % of base) : 60433.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstantEvaluationHelpers:CheckGraph(System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.SourceFieldSymbolWithSyntaxReference,Microsoft.CodeAnalysis.CSharp.Symbols.ConstantEvaluationHelpers+Node`1[Microsoft.CodeAnalysis.CSharp.Symbols.SourceFieldSymbolWithSyntaxReference]]) (FullOpts)
         -12 (-2.13 % of base) : 59416.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstraintsHelper:CheckConstraints(Microsoft.CodeAnalysis.CSharp.Symbol,byref,Microsoft.CodeAnalysis.CSharp.Symbols.TypeMap,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterDiagnosticInfo],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterDiagnosticInfo],byref,Microsoft.CodeAnalysis.BitVector,System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol]):ubyte (FullOpts)
Top method regressions (percentages):
          24 (5.71 % of base) : 203375.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          28 (4.90 % of base) : 151485.dasm - Microsoft.Build.Shared.FileUtilities:PathsEqual(System.String,System.String):ubyte (FullOpts)
          16 (4.40 % of base) : 184475.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          16 (2.88 % of base) : 59852.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
           4 (2.86 % of base) : 133050.dasm - Microsoft.CodeAnalysis.Emit.SymbolChanges:IsReplaced(Microsoft.CodeAnalysis.ISymbol,ubyte):ubyte:this (FullOpts)
           4 (2.86 % of base) : 164268.dasm - Microsoft.CodeAnalysis.Emit.SymbolChanges:IsReplaced(Microsoft.CodeAnalysis.Symbols.ISymbolInternal,ubyte):ubyte:this (FullOpts)
           8 (2.78 % of base) : 223281.dasm - ILCompiler.LazyGenericsSupport+Graph`1+Vertex[ubyte]:AddEdge(ILCompiler.LazyGenericsSupport+Graph`1+Vertex[ubyte],ubyte):this (FullOpts)
          12 (2.40 % of base) : 96726.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol:GenerateVarianceDiagnosticsForConstraints(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol],Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,byref):this (FullOpts)
           4 (2.38 % of base) : 50382.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
           4 (2.33 % of base) : 195235.dasm - System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
           8 (2.25 % of base) : 151964.dasm - Microsoft.Build.Graph.ProjectGraph+ProjectGraphBuildRequest:GetHashCode():int:this (FullOpts)
          24 (2.08 % of base) : 151400.dasm - Microsoft.Build.Shared.FileMatcher:Normalize(System.String):System.String (FullOpts)
          12 (1.91 % of base) : 230757.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadLibraries(byref):System.Collections.Generic.Dictionary`2[System.String,Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+LibraryStub]:this (FullOpts)
           8 (1.89 % of base) : 284602.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
          44 (1.87 % of base) : 795.dasm - System.Configuration.ConfigurationElement:UnMergeLockList(System.Configuration.ConfigurationLockCollection,System.Configuration.ConfigurationLockCollection,int):System.Configuration.ConfigurationLockCollection:this (FullOpts)
          44 (1.87 % of base) : 171629.dasm - System.Configuration.ConfigurationElement:UnMergeLockList(System.Configuration.ConfigurationLockCollection,System.Configuration.ConfigurationLockCollection,int):System.Configuration.ConfigurationLockCollection:this (FullOpts)
          12 (1.83 % of base) : 205279.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteEnumMethod(System.Xml.Serialization.EnumMapping,System.Object):System.String:this (FullOpts)
          76 (1.82 % of base) : 279479.dasm - System.Net.Mail.SmtpClient:SendAsync(System.Net.Mail.MailMessage,System.Object):this (FullOpts)
          12 (1.82 % of base) : 249770.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          16 (1.78 % of base) : 279851.dasm - System.Net.Mime.MimeBasePart:DecodeHeaderValue(System.String):System.String (FullOpts)
Top method improvements (percentages):
          -4 (-3.57 % of base) : 40825.dasm - Microsoft.CodeAnalysis.CSharp.ObjectDisplay:ContainsNewLine(System.String):ubyte (FullOpts)
          -4 (-3.57 % of base) : 36703.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
         -28 (-3.37 % of base) : 137619.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -28 (-3.37 % of base) : 168818.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -12 (-3.30 % of base) : 137670.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerFileReference+Extensions`1[System.__Canon]:CheckAssemblyReferencesNewerCompiler(System.Reflection.Assembly):ubyte:this (FullOpts)
         -12 (-3.30 % of base) : 168869.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerFileReference+Extensions`1[System.__Canon]:CheckAssemblyReferencesNewerCompiler(System.Reflection.Assembly):ubyte:this (FullOpts)
          -4 (-3.23 % of base) : 128301.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
          -4 (-3.23 % of base) : 159551.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
         -80 (-2.49 % of base) : 228198.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
          -8 (-2.15 % of base) : 118528.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder+MemberLookup:IsDerivedInterface(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BasesBeingResolved,byref):ubyte (FullOpts)
         -12 (-2.13 % of base) : 59416.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstraintsHelper:CheckConstraints(Microsoft.CodeAnalysis.CSharp.Symbol,byref,Microsoft.CodeAnalysis.CSharp.Symbols.TypeMap,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterDiagnosticInfo],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterDiagnosticInfo],byref,Microsoft.CodeAnalysis.BitVector,System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol]):ubyte (FullOpts)
         -16 (-1.76 % of base) : 252884.dasm - System.ComponentModel.Composition.ReflectionModel.GenericSpecializationPartCreationInfo:TranslateExportMetadata(System.ComponentModel.Composition.ReflectionModel.ReflectionMemberExportDefinition):System.Collections.Generic.Dictionary`2[System.String,System.Object]:this (FullOpts)
          -8 (-1.55 % of base) : 230749.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
          -4 (-1.49 % of base) : 92141.dasm - Microsoft.CodeAnalysis.VisualBasic.DataFlowPass:IsConvertedLambda(Microsoft.CodeAnalysis.VisualBasic.BoundExpression):ubyte (FullOpts)
          -4 (-1.32 % of base) : 126557.dasm - Microsoft.CodeAnalysis.RealParser:ConvertBigIntegerToFloatingPointBits(ubyte[],uint,ubyte,Microsoft.CodeAnalysis.RealParser+FloatingPointType,byref):int (FullOpts)
          -4 (-1.32 % of base) : 157822.dasm - Microsoft.CodeAnalysis.RealParser:ConvertBigIntegerToFloatingPointBits(ubyte[],uint,ubyte,Microsoft.CodeAnalysis.RealParser+FloatingPointType,byref):int (FullOpts)
          -8 (-1.31 % of base) : 230750.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTarget(byref,System.String):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target:this (FullOpts)
          -8 (-1.29 % of base) : 287735.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
          -4 (-1.28 % of base) : 147827.dasm - Microsoft.Build.Evaluation.ExpressionShredder:SinkArgumentsInParentheses(System.String,byref,int):ubyte (FullOpts)
          -4 (-1.23 % of base) : 59455.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (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: 324497004 (overridden on cmd)
Total bytes of diff: 324487168 (overridden on cmd)
Total bytes of delta: -9836 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         204 : 334381.dasm (1.62 % of base)
         144 : 613529.dasm (1.25 % of base)
         128 : 55880.dasm (1.08 % of base)
         112 : 84078.dasm (1.44 % of base)
         100 : 516840.dasm (2.50 % of base)
          96 : 599291.dasm (0.54 % of base)
          84 : 438463.dasm (2.12 % of base)
          84 : 192490.dasm (4.77 % of base)
          84 : 605210.dasm (0.84 % of base)
          80 : 570811.dasm (0.67 % of base)
          76 : 88117.dasm (0.64 % of base)
          68 : 548472.dasm (0.51 % of base)
          64 : 308404.dasm (0.74 % of base)
          64 : 602992.dasm (0.72 % of base)
          60 : 594497.dasm (0.46 % of base)
          60 : 298108.dasm (0.38 % of base)
          56 : 118281.dasm (1.18 % of base)
          56 : 393988.dasm (0.82 % of base)
          56 : 605138.dasm (0.69 % of base)
          52 : 322180.dasm (0.43 % of base)
Top file improvements (bytes):
        -172 : 85719.dasm (-0.84 % of base)
        -148 : 84297.dasm (-0.79 % of base)
        -144 : 575336.dasm (-1.23 % of base)
        -140 : 159757.dasm (-1.58 % of base)
        -140 : 553247.dasm (-1.35 % of base)
        -132 : 380338.dasm (-1.90 % of base)
        -132 : 379932.dasm (-1.90 % of base)
        -132 : 379980.dasm (-1.90 % of base)
        -132 : 384974.dasm (-1.90 % of base)
        -132 : 384976.dasm (-1.90 % of base)
        -132 : 384977.dasm (-1.90 % of base)
        -128 : 355519.dasm (-0.92 % of base)
        -112 : 324089.dasm (-1.43 % of base)
        -104 : 597902.dasm (-0.92 % of base)
        -104 : 36115.dasm (-0.66 % of base)
        -100 : 56791.dasm (-1.22 % of base)
         -92 : 379793.dasm (-0.98 % of base)
         -92 : 380344.dasm (-0.99 % of base)
         -88 : 380025.dasm (-1.14 % of base)
         -88 : 380361.dasm (-1.13 % of base)
86 total files with Code Size differences (46 improved, 40 regressed), 20 unchanged.
Top method regressions (bytes):
         204 (1.62 % of base) : 334381.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         144 (1.25 % of base) : 613529.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (Tier1)
         128 (1.08 % of base) : 55880.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier1)
         112 (1.44 % of base) : 84078.dasm - Microsoft.CodeAnalysis.CSharp.Symbol:ValidateAttributeUsageAndDecodeWellKnownAttributes(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.CSharpAttributeData],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,short):Microsoft.CodeAnalysis.WellKnownAttributeData:this (Tier1)
         100 (2.50 % of base) : 516840.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (Tier1)
          96 (0.54 % of base) : 599291.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)
          84 (0.84 % of base) : 605210.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindExtensionMethod(Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte):Microsoft.CodeAnalysis.CSharp.MethodGroupResolution:this (Tier1)
          84 (4.77 % of base) : 192490.dasm - System.Collections.Tests.IEnumerable_Generic_Tests`1[System.Collections.Generic.KeyValuePair`2[System.Collections.Tests.SimpleInt,int]]:IEnumerable_Generic_GetEnumerator_ReturnsUniqueEnumerator(int):this (Tier1-OSR)
          84 (2.12 % of base) : 438463.dasm - System.Runtime.Caching.MemoryCacheStore:Dispose():this (Tier1-OSR)
          80 (0.67 % of base) : 570811.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.__Canon]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
          76 (0.64 % of base) : 88117.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier1)
          68 (0.51 % of base) : 548472.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
          64 (0.72 % of base) : 602992.dasm - Microsoft.CodeAnalysis.CSharp.RefSafetyAnalysis:CheckInvocationEscape(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.BoundExpression,ubyte,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[int],ubyte,uint,uint,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte):ubyte:this (Tier1)
          64 (0.74 % of base) : 308404.dasm - Xunit.Sdk.TypeUtility:ResolveGenericTypes(Xunit.Abstractions.IMethodInfo,System.Object[]):Xunit.Abstractions.ITypeInfo[] (Tier1)
          60 (0.46 % of base) : 594497.dasm - Microsoft.CodeAnalysis.CSharp.DeclarationTreeBuilder:VisitTypeDeclaration(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax,ubyte):Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration:this (Tier1)
          60 (0.38 % of base) : 298108.dasm - System.IO.Tests.StreamConformanceTests+<ValidateMisuseExceptionsAsync>d__50:MoveNext():this (Tier1)
          56 (0.69 % of base) : 605138.dasm - Microsoft.CodeAnalysis.CSharp.RefSafetyAnalysis:GetInvocationEscapeScope(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.BoundExpression,ubyte,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[int],uint,ubyte):uint:this (Tier1)
          56 (0.82 % of base) : 393988.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderTypeWithGetSetArrayMembers:Read3_TypeWithGetSetArrayMembers(ubyte,ubyte):SerializationTypes.TypeWithGetSetArrayMembers:this (Tier0-FullOpts)
          56 (1.18 % of base) : 118281.dasm - Xunit.Sdk.TestRunner`1+<RunAsync>d__43[System.__Canon]:MoveNext():this (Tier1)
          52 (0.43 % of base) : 322180.dasm - Xunit.Sdk.XunitTheoryTestCaseRunner+<AfterTestCaseStartingAsync>d__9:MoveNext():this (Tier1-OSR)
Top method improvements (bytes):
        -172 (-0.84 % of base) : 85719.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)
        -148 (-0.79 % of base) : 84297.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)
        -144 (-1.23 % of base) : 575336.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -140 (-1.58 % of base) : 159757.dasm - Microsoft.Cci.MetadataWriter:WriteInstructions(System.Reflection.Metadata.Blob,System.Collections.Immutable.ImmutableArray`1[ubyte],byref,byref):this (Tier1)
        -140 (-1.35 % of base) : 553247.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.__Canon]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -132 (-1.90 % of base) : 379980.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<Max_TwoTensors_InPlace>b__188_0(int):this (Tier1)
        -132 (-1.90 % of base) : 384974.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<Max_TwoTensors_InPlace>b__188_0(int):this (Tier1)
        -132 (-1.90 % of base) : 379932.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<MaxMagnitude_TwoTensors_InPlace>b__199_0(int):this (Tier1)
        -132 (-1.90 % of base) : 384977.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<MaxMagnitude_TwoTensors_InPlace>b__199_0(int):this (Tier1)
        -132 (-1.90 % of base) : 380338.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<MinMagnitude_TwoTensors_InPlace>b__221_0(int):this (Tier1)
        -132 (-1.90 % of base) : 384976.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<MinMagnitude_TwoTensors_InPlace>b__221_0(int):this (Tier1)
        -128 (-0.92 % of base) : 355519.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
        -112 (-1.43 % of base) : 324089.dasm - System.SpanTests.SpanTests:TestMatchMany_Char() (Tier1-OSR)
        -104 (-0.92 % of base) : 597902.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (Tier1-OSR)
        -104 (-0.66 % of base) : 36115.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)
        -100 (-1.22 % of base) : 56791.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:IsConstructorApplicableInNormalForm(Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,ubyte,byref):Microsoft.CodeAnalysis.CSharp.MemberAnalysisResult:this (Tier1)
         -92 (-0.99 % of base) : 380344.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<AddMultiply_ThreeTensors>b__113_0(int):this (Tier1)
         -92 (-0.98 % of base) : 379793.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<MultiplyAdd_ThreeTensors>b__235_0(int):this (Tier1)
         -88 (-1.14 % of base) : 380025.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<Max_TwoTensors_SpecialValues>b__189_0(int):this (Tier1)
         -88 (-1.13 % of base) : 380361.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<MaxMagnitude_TwoTensors_SpecialValues>b__200_0(int):this (Tier1)
Top method regressions (percentages):
          28 (18.92 % of base) : 180530.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
          28 (17.50 % of base) : 629826.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
          28 (17.50 % of base) : 632498.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Threading.CancellationToken]:Enqueue(System.Threading.CancellationToken):this (Tier1)
          28 (15.56 % of base) : 351157.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Diagnostics.Metrics.Measurement`1[double]]:Enqueue(System.Diagnostics.Metrics.Measurement`1[double]):this (Tier1)
          20 (11.63 % of base) : 219276.dasm - System.Configuration.XmlUtil:ReadToNextElement():this (Tier1)
          48 (11.43 % of base) : 74619.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          48 (11.43 % of base) : 150267.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          16 (10.26 % of base) : 111869.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          16 (10.26 % of base) : 49371.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          44 (8.87 % of base) : 182766.dasm - System.Collections.Frozen.FrozenSetInternalBase`2[System.__Canon,System.Collections.Frozen.DefaultFrozenSet`1+GSW[System.__Canon]]:IsSubsetOfSetWithCompatibleComparer(System.Collections.Generic.IReadOnlySet`1[System.__Canon]):ubyte:this (Tier1-OSR)
           4 (8.33 % of base) : 244252.dasm - System.Diagnostics.Tracing.EventSource:GetDispatcher(System.Diagnostics.Tracing.EventListener):System.Diagnostics.Tracing.EventDispatcher:this (Tier1)
          40 (8.06 % of base) : 632503.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Threading.CancellationToken]:EnqueueSlow(System.Threading.CancellationToken):this (Tier1)
          12 (7.69 % of base) : 353988.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 365276.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 440856.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 558407.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 623564.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 634268.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 274376.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 585792.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
Top method improvements (percentages):
         -12 (-5.66 % of base) : 329405.dasm - System.Runtime.CompilerServices.CastHelpers:ChkCast_Helper(ulong,System.Object):System.Object (Tier1)
         -12 (-5.36 % of base) : 217984.dasm - System.Configuration.XmlUtil:StrictReadToNextElement(int):this (Tier1)
         -12 (-5.17 % of base) : 213041.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 1151.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 161415.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -16 (-4.44 % of base) : 266.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstanceOfAny(ulong,System.Object):System.Object (Instrumented Tier1)
         -80 (-4.13 % of base) : 449678.dasm - System.Number:TryParseNumber(byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (Tier1-OSR)
         -80 (-4.13 % of base) : 451376.dasm - System.Number:TryParseNumber(byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (Tier1-OSR)
         -28 (-3.72 % of base) : 277464.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -28 (-3.72 % of base) : 334400.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -28 (-3.61 % of base) : 244095.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -28 (-3.61 % of base) : 639553.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -28 (-3.61 % of base) : 116680.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -28 (-3.54 % of base) : 169397.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
          -4 (-3.33 % of base) : 114569.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
          -4 (-3.33 % of base) : 278673.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
          -4 (-3.33 % of base) : 342071.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
          -4 (-3.33 % of base) : 363447.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
          -4 (-3.33 % of base) : 380295.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
          -4 (-3.33 % of base) : 405494.dasm - System.Enum:AreSorted[uint](uint[]):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: 171318912 (overridden on cmd)
Total bytes of diff: 171317908 (overridden on cmd)
Total bytes of delta: -1004 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          56 : 172627.dasm (0.79 % of base)
          40 : 171783.dasm (0.66 % of base)
          40 : 172471.dasm (0.66 % of base)
          36 : 287886.dasm (0.95 % of base)
          28 : 133985.dasm (1.67 % of base)
          28 : 315582.dasm (0.44 % of base)
          24 : 177376.dasm (5.71 % of base)
          20 : 300229.dasm (0.46 % of base)
          20 : 300241.dasm (0.68 % of base)
          20 : 56058.dasm (0.18 % of base)
          20 : 172041.dasm (0.55 % of base)
          20 : 38979.dasm (1.90 % of base)
          16 : 67267.dasm (2.82 % of base)
          16 : 81874.dasm (0.23 % of base)
          16 : 92965.dasm (0.93 % of base)
          16 : 171019.dasm (1.20 % of base)
          16 : 236610.dasm (0.52 % of base)
          16 : 153009.dasm (4.40 % of base)
          16 : 157428.dasm (0.41 % of base)
          16 : 171872.dasm (0.21 % of base)
Top file improvements (bytes):
        -140 : 59722.dasm (-0.48 % of base)
        -104 : 14621.dasm (-1.78 % of base)
         -92 : 44805.dasm (-1.57 % of base)
         -80 : 25474.dasm (-2.55 % of base)
         -68 : 5316.dasm (-1.39 % of base)
         -52 : 170913.dasm (-0.45 % of base)
         -44 : 49414.dasm (-1.59 % of base)
         -44 : 43706.dasm (-1.59 % of base)
         -40 : 50663.dasm (-0.69 % of base)
         -36 : 52294.dasm (-0.78 % of base)
         -28 : 10698.dasm (-3.45 % of base)
         -24 : 25046.dasm (-0.26 % of base)
         -24 : 40656.dasm (-1.04 % of base)
         -24 : 172526.dasm (-0.50 % of base)
         -24 : 182324.dasm (-1.49 % of base)
         -20 : 54495.dasm (-0.32 % of base)
         -20 : 9940.dasm (-0.83 % of base)
         -20 : 171053.dasm (-0.44 % of base)
         -16 : 46802.dasm (-1.67 % of base)
         -16 : 80425.dasm (-1.89 % of base)
65 total files with Code Size differences (31 improved, 34 regressed), 20 unchanged.
Top method regressions (bytes):
          56 (0.79 % of base) : 172627.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderTypeWithGetSetArrayMembers:Read3_TypeWithGetSetArrayMembers(ubyte,ubyte):SerializationTypes.TypeWithGetSetArrayMembers:this (FullOpts)
          40 (0.66 % of base) : 171783.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderXmlSerializerAttributes:Read3_XmlSerializerAttributes(ubyte,ubyte):SerializationTypes.XmlSerializerAttributes:this (FullOpts)
          40 (0.66 % of base) : 172471.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderXmlSerializerAttributes:Read3_XmlSerializerAttributes(ubyte,ubyte):SerializationTypes.XmlSerializerAttributes:this (FullOpts)
          36 (0.95 % of base) : 287886.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex29454_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          28 (1.67 % of base) : 133985.dasm - System.Text.DBCSCodePageEncoding:ReadBestFitTable():this (FullOpts)
          28 (0.44 % of base) : 315582.dasm - System.Xml.XmlTextReaderImpl+<ParseAttributeValueSlowAsync>d__532:MoveNext():this (FullOpts)
          24 (5.71 % of base) : 177376.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          20 (0.18 % of base) : 56058.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)
          20 (1.90 % of base) : 38979.dasm - Microsoft.Extensions.FileSystemGlobbing.InMemoryDirectoryInfo:.ctor(System.String,System.Collections.Generic.IEnumerable`1[System.String],ubyte):this (FullOpts)
          20 (0.55 % of base) : 172041.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderPurchaseOrder:Read4_PurchaseOrder(ubyte,ubyte):PurchaseOrder:this (FullOpts)
          20 (0.46 % of base) : 300229.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex32317_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          20 (0.68 % of base) : 300241.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex32328_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          16 (2.82 % of base) : 67267.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct]:EnqueueSlow(System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct):this (FullOpts)
          16 (0.23 % of base) : 81874.dasm - System.ComponentModel.Composition.MetadataViewGenerator:GenerateInterfaceViewProxyType(System.Type):System.Type (FullOpts)
          16 (0.93 % of base) : 92965.dasm - System.Data.Select:CreateIndex():this (FullOpts)
          16 (4.40 % of base) : 153009.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          16 (0.41 % of base) : 157428.dasm - System.Net.Mail.SmtpClient:SendAsync(System.Net.Mail.MailMessage,System.Object):this (FullOpts)
          16 (0.52 % of base) : 236610.dasm - System.Security.Cryptography.Xml.Utils:BuildBagOfCerts(System.Security.Cryptography.Xml.KeyInfoX509Data,int):System.Security.Cryptography.X509Certificates.X509Certificate2Collection (FullOpts)
          16 (1.20 % of base) : 171019.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteElements(System.Object,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,ubyte,ubyte):this (FullOpts)
          16 (0.21 % of base) : 171872.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:GenerateMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
Top method improvements (bytes):
        -140 (-0.48 % of base) : 59722.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)
        -104 (-1.78 % of base) : 14621.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:ReportDiagnostics[System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.String,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[System.__Canon],Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,ubyte,System.Nullable`1[ubyte],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):this (FullOpts)
         -92 (-1.57 % of base) : 44805.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitArguments(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte]:this (FullOpts)
         -80 (-2.55 % of base) : 25474.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -68 (-1.39 % of base) : 5316.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 (FullOpts)
         -52 (-0.45 % of base) : 170913.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
         -44 (-1.59 % of base) : 49414.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 (FullOpts)
         -44 (-1.59 % of base) : 43706.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 (FullOpts)
         -40 (-0.69 % of base) : 50663.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitArguments(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte]:this (FullOpts)
         -36 (-0.78 % of base) : 52294.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:ReportDiagnostics[System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.String,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[System.__Canon],Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,ubyte,System.Nullable`1[ubyte],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):this (FullOpts)
         -28 (-3.45 % of base) : 10698.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ushort]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -24 (-0.26 % of base) : 25046.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)
         -24 (-1.04 % of base) : 40656.dasm - Microsoft.Extensions.Hosting.Internal.HostTests+<AppCrashesOnStartWhenFirstHostedServiceThrows>d__12:MoveNext():this (FullOpts)
         -24 (-0.50 % of base) : 172526.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1:Read2_wrapper():System.Object[]:this (FullOpts)
         -24 (-1.49 % of base) : 182324.dasm - System.Xml.RwFactoryWriterTests.CXmlDriverEngine:ProcessIncludes(System.String[],System.String,System.Xml.Linq.XElement,OLEDB.Test.ModuleCore.MyDict`2[System.String,System.Object],System.Collections.IList):this (FullOpts)
         -20 (-0.32 % of base) : 54495.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArguments>g__visitArguments|231_0(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Conversion],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitResult],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,ubyte):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitResult],ubyte,Microsoft.CodeAnalysis.CSharp.NullableWalker+ArgumentsCompletionDelegate]:this (FullOpts)
         -20 (-0.83 % of base) : 9940.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:<FindMostSpecificImplementationInBases>g__findMostSpecificImplementationInBases|92_1(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
         -20 (-0.44 % of base) : 171053.dasm - System.Xml.Serialization.XmlSerializationReader:ReadArray(System.String,System.String):System.Array:this (FullOpts)
         -16 (-1.67 % of base) : 46802.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:CanBePassedByReference(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
         -16 (-0.26 % of base) : 59721.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
Top method regressions (percentages):
          24 (5.71 % of base) : 177376.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          16 (4.40 % of base) : 153009.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          16 (2.82 % of base) : 67267.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct]:EnqueueSlow(System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct):this (FullOpts)
           4 (2.70 % of base) : 23038.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
           4 (2.33 % of base) : 42748.dasm - System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
          12 (1.91 % of base) : 37897.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadLibraries(byref):System.Collections.Generic.Dictionary`2[System.String,Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+LibraryStub]:this (FullOpts)
          20 (1.90 % of base) : 38979.dasm - Microsoft.Extensions.FileSystemGlobbing.InMemoryDirectoryInfo:.ctor(System.String,System.Collections.Generic.IEnumerable`1[System.String],ubyte):this (FullOpts)
           8 (1.89 % of base) : 156400.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
          12 (1.83 % of base) : 172232.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteEnumMethod(System.Xml.Serialization.EnumMapping,System.Object):System.String:this (FullOpts)
          12 (1.82 % of base) : 67927.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          28 (1.67 % of base) : 133985.dasm - System.Text.DBCSCodePageEncoding:ReadBestFitTable():this (FullOpts)
           8 (1.55 % of base) : 200842.dasm - System.Tests.StringTests:StartsWithNoMatch_Char() (FullOpts)
           8 (1.55 % of base) : 213365.dasm - System.Tests.StringTests:StartsWithNoMatch_Char() (FullOpts)
           8 (1.38 % of base) : 150176.dasm - System.SpanTests.SpanTests:SequenceEqualNoMatch_Byte() (FullOpts)
           8 (1.38 % of base) : 213696.dasm - System.Tests.StringTests:SequenceEqualNoMatch_Char() (FullOpts)
           8 (1.38 % of base) : 200556.dasm - System.Tests.StringTests:SequenceEqualNoMatch_Char() (FullOpts)
          12 (1.33 % of base) : 59952.dasm - Microsoft.VisualBasic.Strings:SplitHelper(System.String,System.String,int,int):System.String[] (FullOpts)
           8 (1.24 % of base) : 148205.dasm - System.SpanTests.ReadOnlySpanTests:SequenceEqualNoMatch_Byte() (FullOpts)
           8 (1.23 % of base) : 150197.dasm - System.SpanTests.SpanTests:SequenceEqualNoMatch_Char() (FullOpts)
          16 (1.20 % of base) : 171019.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteElements(System.Object,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,ubyte,ubyte):this (FullOpts)
Top method improvements (percentages):
          -4 (-3.57 % of base) : 50884.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
          -4 (-3.57 % of base) : 10732.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
         -28 (-3.45 % of base) : 10698.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ushort]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -80 (-2.55 % of base) : 25474.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -16 (-1.89 % of base) : 80425.dasm - System.ComponentModel.Composition.ReflectionModel.GenericSpecializationPartCreationInfo:TranslateExportMetadata(System.ComponentModel.Composition.ReflectionModel.ReflectionMemberExportDefinition):System.Collections.Generic.Dictionary`2[System.String,System.Object]:this (FullOpts)
        -104 (-1.78 % of base) : 14621.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:ReportDiagnostics[System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.String,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[System.__Canon],Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,ubyte,System.Nullable`1[ubyte],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):this (FullOpts)
         -16 (-1.67 % of base) : 46802.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:CanBePassedByReference(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
         -44 (-1.59 % of base) : 49414.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 (FullOpts)
         -44 (-1.59 % of base) : 43706.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 (FullOpts)
         -92 (-1.57 % of base) : 44805.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitArguments(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte]:this (FullOpts)
          -8 (-1.55 % of base) : 37836.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
         -24 (-1.49 % of base) : 182324.dasm - System.Xml.RwFactoryWriterTests.CXmlDriverEngine:ProcessIncludes(System.String[],System.String,System.Xml.Linq.XElement,OLEDB.Test.ModuleCore.MyDict`2[System.String,System.Object],System.Collections.IList):this (FullOpts)
         -68 (-1.39 % of base) : 5316.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 (FullOpts)
          -4 (-1.32 % of base) : 31911.dasm - Microsoft.CodeAnalysis.RealParser:ConvertBigIntegerToFloatingPointBits(ubyte[],uint,ubyte,Microsoft.CodeAnalysis.RealParser+FloatingPointType,byref):int (FullOpts)
          -8 (-1.31 % of base) : 37846.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTarget(byref,System.String):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target:this (FullOpts)
         -16 (-1.25 % of base) : 286078.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex25081_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -4 (-1.23 % of base) : 45326.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
          -4 (-1.23 % of base) : 6742.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
          -4 (-1.23 % of base) : 51234.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
          -8 (-1.22 % of base) : 265702.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:PopulateParameterInfoValues(System.Text.Json.Serialization.Metadata.JsonTypeInfo) (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: 15894808 (overridden on cmd)
Total bytes of diff: 15894680 (overridden on cmd)
Total bytes of delta: -128 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          32 : 8767.dasm (0.30 % of base)
          20 : 22813.dasm (0.18 % of base)
          16 : 12951.dasm (0.50 % of base)
          16 : 21482.dasm (2.88 % of base)
          16 : 12532.dasm (0.34 % of base)
          12 : 14438.dasm (1.16 % of base)
          12 : 4884.dasm (0.19 % of base)
          12 : 13495.dasm (0.14 % of base)
          12 : 4998.dasm (1.24 % of base)
           8 : 1259.dasm (0.99 % of base)
           8 : 32147.dasm (0.02 % of base)
           8 : 1882.dasm (0.31 % of base)
           4 : 1227.dasm (0.17 % of base)
           4 : 16919.dasm (0.17 % of base)
           4 : 30721.dasm (0.36 % of base)
           4 : 15734.dasm (0.25 % of base)
           4 : 17646.dasm (0.27 % of base)
           4 : 19481.dasm (0.44 % of base)
           4 : 22924.dasm (0.44 % of base)
           4 : 33000.dasm (0.10 % of base)
Top file improvements (bytes):
         -68 : 6518.dasm (-0.92 % of base)
         -20 : 23368.dasm (-0.84 % of base)
         -20 : 3151.dasm (-0.33 % of base)
         -20 : 18878.dasm (-0.35 % of base)
         -16 : 14087.dasm (-0.41 % of base)
         -16 : 1625.dasm (-0.70 % of base)
         -12 : 19857.dasm (-0.43 % of base)
         -12 : 11739.dasm (-0.66 % of base)
         -12 : 22154.dasm (-0.40 % of base)
         -12 : 22625.dasm (-0.27 % of base)
          -8 : 15317.dasm (-0.26 % of base)
          -8 : 17649.dasm (-0.26 % of base)
          -8 : 28934.dasm (-0.24 % of base)
          -8 : 16454.dasm (-0.39 % of base)
          -8 : 15337.dasm (-0.37 % of base)
          -8 : 17201.dasm (-0.10 % of base)
          -8 : 28883.dasm (-0.16 % of base)
          -8 : 6639.dasm (-0.08 % of base)
          -4 : 12600.dasm (-0.36 % of base)
          -4 : 13565.dasm (-0.07 % of base)
52 total files with Code Size differences (29 improved, 23 regressed), 20 unchanged.
Top method regressions (bytes):
          32 (0.30 % of base) : 8767.dasm - FSharp.Compiler.ConstraintSolver:SolveTypeSubsumesType(FSharp.Compiler.ConstraintSolver+ConstraintSolverEnv,int,FSharp.Compiler.Text.Range,FSharp.Compiler.ConstraintSolver+OptionalTrace,Microsoft.FSharp.Core.FSharpOption`1[System.Tuple`2[FSharp.Compiler.TypedTree+TraitConstraintInfo,FSharp.Compiler.TypedTree+TraitConstraintSln]],FSharp.Compiler.TypedTree+TType,FSharp.Compiler.TypedTree+TType):FSharp.Compiler.ErrorLogger+OperationResult`1[Microsoft.FSharp.Core.Unit] (FullOpts)
          20 (0.18 % of base) : 22813.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)
          16 (2.88 % of base) : 21482.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
          16 (0.50 % of base) : 12951.dasm - Microsoft.ML.Trainers.SdcaMulticlassTrainerBase`1[System.__Canon]:CheckConvergence(Microsoft.ML.Runtime.IProgressChannel,int,Microsoft.ML.Trainers.FloatLabelCursor+Factory,Microsoft.ML.Trainers.SdcaTrainerBase`3+DualsTableBase[System.__Canon,System.__Canon,System.__Canon],Microsoft.ML.Trainers.SdcaTrainerBase`3+IdToIdxLookup[System.__Canon,System.__Canon,System.__Canon],Microsoft.ML.Data.VBuffer`1[float][],Microsoft.ML.Data.VBuffer`1[float][],float[],float[],float[],float[],long,double[],byref,byref):ubyte:this (FullOpts)
          16 (0.34 % of base) : 12532.dasm - Microsoft.ML.Transforms.ValueToKeyMappingTransformer:Train(Microsoft.ML.Runtime.IHostEnvironment,Microsoft.ML.Runtime.IChannel,Microsoft.ML.Transforms.ValueToKeyMappingTransformer+ColInfo[],Microsoft.ML.IDataView,Microsoft.ML.Transforms.ValueToKeyMappingEstimator+ColumnOptionsBase[],Microsoft.ML.IDataView,ubyte):Microsoft.ML.Transforms.ValueToKeyMappingTransformer+TermMap[] (FullOpts)
          12 (1.24 % of base) : 4998.dasm - FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5[int,int,int,int,int] (FullOpts)
          12 (0.19 % of base) : 4884.dasm - FSharp.Compiler.CompilerOptions:attempt@284(Microsoft.FSharp.Core.FSharpFunc`2[System.String,Microsoft.FSharp.Core.Unit],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerOptions+CompilerOptionBlock],Microsoft.FSharp.Collections.FSharpList`1[System.String],Microsoft.FSharp.Collections.FSharpList`1[System.String],System.String,System.String,System.String,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerOptions+CompilerOption]):Microsoft.FSharp.Collections.FSharpList`1[System.String] (FullOpts)
          12 (0.14 % of base) : 13495.dasm - Microsoft.ML.Transforms.Text.TextFeaturizingEstimator:Fit(Microsoft.ML.IDataView):Microsoft.ML.ITransformer:this (FullOpts)
          12 (1.16 % of base) : 14438.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (FullOpts)
           8 (0.99 % of base) : 1259.dasm - BepuPhysics.CollisionDetection.ConstraintRemover:RemoveConstraintsFromBodyLists():this (FullOpts)
           8 (0.02 % of base) : 32147.dasm - Microsoft.PowerShell.Commands.ModuleCmdletBase:LoadModuleManifest(System.String,System.Management.Automation.ExternalScriptInfo,System.Collections.Hashtable,System.Collections.Hashtable,int,System.Version,System.Version,System.Version,System.Nullable`1[System.Guid],byref,byref):System.Management.Automation.PSModuleInfo:this (FullOpts)
           8 (0.31 % of base) : 1882.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
           4 (0.17 % of base) : 1227.dasm - BepuPhysics.CollisionDetection.NarrowPhase`1[DemoBenchmarks.ShapePileBenchmark+DemoNarrowPhaseCallbacks]:UpdateConstraint[BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.EmptyCollisionCache,BepuPhysics.CollisionDetection.ConstraintCache1](int,byref,int,byref,byref,byref,BepuPhysics.CollisionDetection.TwoBodyHandles):this (FullOpts)
           4 (0.19 % of base) : 1338.dasm - BepuPhysics.CollisionDetection.NarrowPhase`1[DemoBenchmarks.ShapePileBenchmark+DemoNarrowPhaseCallbacks]:UpdateConstraint[int,BepuPhysics.Constraints.Contact.Contact1OneBody,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.EmptyCollisionCache,BepuPhysics.CollisionDetection.ConstraintCache1](int,byref,int,byref,byref,byref,int):this (FullOpts)
           4 (0.27 % of base) : 17646.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbolsWithNoPiaLocalTypes(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):ubyte:this (FullOpts)
           4 (2.70 % of base) : 17063.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
           4 (0.25 % of base) : 15734.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlText(byref):this (FullOpts)
           4 (0.44 % of base) : 19481.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:WhereAsArrayImpl[System.__Canon,int](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte],System.Func`3[System.__Canon,int,ubyte],int):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (FullOpts)
           4 (0.44 % of base) : 22924.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:WhereAsArrayImpl[System.__Canon,System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte],System.Func`3[System.__Canon,System.__Canon,ubyte],System.__Canon):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (FullOpts)
           4 (0.36 % of base) : 15018.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionerForIEnumerable`1+InternalPartitionEnumerable[System.__Canon]:GrabChunk_Buffered(System.Collections.Generic.KeyValuePair`2[long,System.__Canon][],int,byref):ubyte:this (FullOpts)
Top method improvements (bytes):
         -68 (-0.92 % of base) : 6518.dasm - FSharp.Compiler.LexFilter:undentationLimit@727(FSharp.Compiler.LexFilter+LexFilterImpl,FSharp.Compiler.LexFilter+Context,ubyte,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.LexFilter+Context]):FSharp.Compiler.LexFilter+PositionWithColumn (FullOpts)
         -20 (-0.33 % of base) : 3151.dasm - FSharp.Compiler.CompilerImports:TcConfig.TryResolveLibsUsingMSBuildRules.Static(FSharp.Compiler.CompilerConfig+TcConfig,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+AssemblyReference],FSharp.Compiler.Text.Range,FSharp.Compiler.CompilerImports+ResolveAssemblyReferenceMode):System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerImports+AssemblyResolution],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+UnresolvedAssemblyReference]] (FullOpts)
         -20 (-0.35 % of base) : 18878.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArguments>g__visitArguments|231_0(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Conversion],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,ubyte):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte,Microsoft.CodeAnalysis.CSharp.NullableWalker+ArgumentsCompletionDelegate]:this (FullOpts)
         -20 (-0.84 % of base) : 23368.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:<FindMostSpecificImplementationInBases>g__findMostSpecificImplementationInBases|92_1(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
         -16 (-0.70 % of base) : 1625.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -16 (-0.41 % of base) : 14087.dasm - System.Net.HttpWebRequest+<SendRequest>d__196:MoveNext():this (FullOpts)
         -12 (-0.27 % of base) : 22625.dasm - Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder:<MakeDecisionDag>g__uniquifyState|32_0(Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+FrozenArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+StateForCase],System.Collections.Immutable.ImmutableDictionary`2[Microsoft.CodeAnalysis.CSharp.BoundDagTemp,Microsoft.CodeAnalysis.CSharp.IValueSet],byref):Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+DagState (FullOpts)
         -12 (-0.40 % of base) : 22154.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:Populate(Microsoft.CodeAnalysis.CSharp.NullableWalker+VariablesSnapshot):this (FullOpts)
         -12 (-0.43 % of base) : 19857.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckAbstractClassImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -12 (-0.66 % of base) : 11739.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.HuffmanScanDecoder:ParseBaselineDataSingleComponent():this (FullOpts)
          -8 (-0.08 % of base) : 6639.dasm - FSharp.Compiler.Lexer:singleQuoteString(FSharp.Compiler.IO.ByteBuffer,FSharp.Compiler.Lexhelp+LexerStringFinisher,FSharp.Compiler.Text.Range,FSharp.Compiler.ParseHelpers+LexerStringKind,FSharp.Compiler.Lexhelp+LexArgs,ubyte,Internal.Utilities.Text.Lexing.LexBuffer`1[ushort]):FSharp.Compiler.Parser+token (FullOpts)
          -8 (-0.24 % of base) : 28934.dasm - Microsoft.CodeAnalysis.AnalyzerConfigSet:ParseSectionOptions(Microsoft.CodeAnalysis.AnalyzerConfig+Section,System.Collections.Immutable.ImmutableDictionary`2+Builder[System.String,int],System.Collections.Immutable.ImmutableDictionary`2+Builder[System.String,System.String],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostic],System.String,System.Collections.Concurrent.ConcurrentDictionary`2[System.ReadOnlyMemory`1[ushort],System.String]) (FullOpts)
          -8 (-0.16 % of base) : 28883.dasm - Microsoft.CodeAnalysis.AnalyzerConfigSet+GlobalAnalyzerConfigBuilder:Build(Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.AnalyzerConfigSet+GlobalAnalyzerConfig:this (FullOpts)
          -8 (-0.10 % of base) : 17201.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)
          -8 (-0.26 % of base) : 17649.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 (FullOpts)
          -8 (-0.39 % of base) : 16454.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlEntity(byref):this (FullOpts)
          -8 (-0.26 % of base) : 15317.dasm - Microsoft.CodeAnalysis.RuleSet:GetDiagnosticOptionsFromRulesetFile(System.Collections.Generic.Dictionary`2[System.String,int],System.String,System.Collections.Generic.IList`1[Microsoft.CodeAnalysis.Diagnostic],Microsoft.CodeAnalysis.CommonMessageProvider):int (FullOpts)
          -8 (-0.37 % of base) : 15337.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
          -4 (-0.43 % of base) : 28224.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
          -4 (-0.18 % of base) : 17661.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:BuildReferencedAssembliesAndModulesMaps(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]],int,int,System.Collections.Generic.IReadOnlyDictionary`2[System.__Canon,System.__Canon],ubyte,byref,byref,byref,byref) (FullOpts)
Top method regressions (percentages):
          16 (2.88 % of base) : 21482.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
           4 (2.70 % of base) : 17063.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
          12 (1.24 % of base) : 4998.dasm - FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5[int,int,int,int,int] (FullOpts)
          12 (1.16 % of base) : 14438.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (FullOpts)
           8 (0.99 % of base) : 1259.dasm - BepuPhysics.CollisionDetection.ConstraintRemover:RemoveConstraintsFromBodyLists():this (FullOpts)
          16 (0.50 % of base) : 12951.dasm - Microsoft.ML.Trainers.SdcaMulticlassTrainerBase`1[System.__Canon]:CheckConvergence(Microsoft.ML.Runtime.IProgressChannel,int,Microsoft.ML.Trainers.FloatLabelCursor+Factory,Microsoft.ML.Trainers.SdcaTrainerBase`3+DualsTableBase[System.__Canon,System.__Canon,System.__Canon],Microsoft.ML.Trainers.SdcaTrainerBase`3+IdToIdxLookup[System.__Canon,System.__Canon,System.__Canon],Microsoft.ML.Data.VBuffer`1[float][],Microsoft.ML.Data.VBuffer`1[float][],float[],float[],float[],float[],long,double[],byref,byref):ubyte:this (FullOpts)
           4 (0.44 % of base) : 19481.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:WhereAsArrayImpl[System.__Canon,int](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte],System.Func`3[System.__Canon,int,ubyte],int):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (FullOpts)
           4 (0.44 % of base) : 22924.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:WhereAsArrayImpl[System.__Canon,System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte],System.Func`3[System.__Canon,System.__Canon,ubyte],System.__Canon):System.Collections.Immutable.ImmutableArray`1[System.__Canon] (FullOpts)
           4 (0.36 % of base) : 30721.dasm - System.Management.Automation.LocationGlobber:GetGlobbedProviderPathsFromMonadPath(System.String,ubyte,System.Management.Automation.CmdletProviderContext,byref,byref):System.Collections.ObjectModel.Collection`1[System.String]:this (FullOpts)
           4 (0.36 % of base) : 15018.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionerForIEnumerable`1+InternalPartitionEnumerable[System.__Canon]:GrabChunk_Buffered(System.Collections.Generic.KeyValuePair`2[long,System.__Canon][],int,byref):ubyte:this (FullOpts)
          16 (0.34 % of base) : 12532.dasm - Microsoft.ML.Transforms.ValueToKeyMappingTransformer:Train(Microsoft.ML.Runtime.IHostEnvironment,Microsoft.ML.Runtime.IChannel,Microsoft.ML.Transforms.ValueToKeyMappingTransformer+ColInfo[],Microsoft.ML.IDataView,Microsoft.ML.Transforms.ValueToKeyMappingEstimator+ColumnOptionsBase[],Microsoft.ML.IDataView,ubyte):Microsoft.ML.Transforms.ValueToKeyMappingTransformer+TermMap[] (FullOpts)
           8 (0.31 % of base) : 1882.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
          32 (0.30 % of base) : 8767.dasm - FSharp.Compiler.ConstraintSolver:SolveTypeSubsumesType(FSharp.Compiler.ConstraintSolver+ConstraintSolverEnv,int,FSharp.Compiler.Text.Range,FSharp.Compiler.ConstraintSolver+OptionalTrace,Microsoft.FSharp.Core.FSharpOption`1[System.Tuple`2[FSharp.Compiler.TypedTree+TraitConstraintInfo,FSharp.Compiler.TypedTree+TraitConstraintSln]],FSharp.Compiler.TypedTree+TType,FSharp.Compiler.TypedTree+TType):FSharp.Compiler.ErrorLogger+OperationResult`1[Microsoft.FSharp.Core.Unit] (FullOpts)
           4 (0.27 % of base) : 17646.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbolsWithNoPiaLocalTypes(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):ubyte:this (FullOpts)
           4 (0.25 % of base) : 15734.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlText(byref):this (FullOpts)
          12 (0.19 % of base) : 4884.dasm - FSharp.Compiler.CompilerOptions:attempt@284(Microsoft.FSharp.Core.FSharpFunc`2[System.String,Microsoft.FSharp.Core.Unit],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerOptions+CompilerOptionBlock],Microsoft.FSharp.Collections.FSharpList`1[System.String],Microsoft.FSharp.Collections.FSharpList`1[System.String],System.String,System.String,System.String,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerOptions+CompilerOption]):Microsoft.FSharp.Collections.FSharpList`1[System.String] (FullOpts)
           4 (0.19 % of base) : 1338.dasm - BepuPhysics.CollisionDetection.NarrowPhase`1[DemoBenchmarks.ShapePileBenchmark+DemoNarrowPhaseCallbacks]:UpdateConstraint[int,BepuPhysics.Constraints.Contact.Contact1OneBody,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.EmptyCollisionCache,BepuPhysics.CollisionDetection.ConstraintCache1](int,byref,int,byref,byref,byref,int):this (FullOpts)
          20 (0.18 % of base) : 22813.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)
           4 (0.17 % of base) : 16919.dasm - System.Number:TryParseNumber(byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (FullOpts)
           4 (0.17 % of base) : 1227.dasm - BepuPhysics.CollisionDetection.NarrowPhase`1[DemoBenchmarks.ShapePileBenchmark+DemoNarrowPhaseCallbacks]:UpdateConstraint[BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.EmptyCollisionCache,BepuPhysics.CollisionDetection.ConstraintCache1](int,byref,int,byref,byref,byref,BepuPhysics.CollisionDetection.TwoBodyHandles):this (FullOpts)
Top method improvements (percentages):
          -4 (-1.23 % of base) : 19201.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
         -68 (-0.92 % of base) : 6518.dasm - FSharp.Compiler.LexFilter:undentationLimit@727(FSharp.Compiler.LexFilter+LexFilterImpl,FSharp.Compiler.LexFilter+Context,ubyte,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.LexFilter+Context]):FSharp.Compiler.LexFilter+PositionWithColumn (FullOpts)
         -20 (-0.84 % of base) : 23368.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol:<FindMostSpecificImplementationInBases>g__findMostSpecificImplementationInBases|92_1(Microsoft.CodeAnalysis.CSharp.Symbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol],byref,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbol (FullOpts)
         -16 (-0.70 % of base) : 1625.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -12 (-0.66 % of base) : 11739.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.HuffmanScanDecoder:ParseBaselineDataSingleComponent():this (FullOpts)
          -4 (-0.46 % of base) : 1759.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (FullOpts)
          -4 (-0.43 % of base) : 28224.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
         -12 (-0.43 % of base) : 19857.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckAbstractClassImplementations(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -16 (-0.41 % of base) : 14087.dasm - System.Net.HttpWebRequest+<SendRequest>d__196:MoveNext():this (FullOpts)
          -4 (-0.40 % of base) : 18347.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (FullOpts)
         -12 (-0.40 % of base) : 22154.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:Populate(Microsoft.CodeAnalysis.CSharp.NullableWalker+VariablesSnapshot):this (FullOpts)
          -4 (-0.39 % of base) : 12950.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,System.__Canon]:TryRemoveInternal(int,byref,ubyte,System.__Canon):ubyte:this (FullOpts)
          -8 (-0.39 % of base) : 16454.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlEntity(byref):this (FullOpts)
          -8 (-0.37 % of base) : 15337.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
          -4 (-0.36 % of base) : 12600.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:get_Count():int:this (FullOpts)
         -20 (-0.35 % of base) : 18878.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArguments>g__visitArguments|231_0(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Conversion],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,ubyte):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte,Microsoft.CodeAnalysis.CSharp.NullableWalker+ArgumentsCompletionDelegate]:this (FullOpts)
         -20 (-0.33 % of base) : 3151.dasm - FSharp.Compiler.CompilerImports:TcConfig.TryResolveLibsUsingMSBuildRules.Static(FSharp.Compiler.CompilerConfig+TcConfig,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+AssemblyReference],FSharp.Compiler.Text.Range,FSharp.Compiler.CompilerImports+ResolveAssemblyReferenceMode):System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerImports+AssemblyResolution],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+UnresolvedAssemblyReference]] (FullOpts)
          -4 (-0.33 % of base) : 15110.dasm - System.Threading.TimerQueue:FireNextTimers():this (FullOpts)
          -4 (-0.32 % of base) : 19544.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddDeclaredNontypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -4 (-0.30 % of base) : 23435.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstraintsHelper:CheckConstraints(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref,Microsoft.CodeAnalysis.SyntaxNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Location],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)
  
  
windows x64
Diffs are based on 2,101,450 contexts (931,440 MinOpts, 1,170,010 FullOpts).
Overall (-9,618 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.windows.x64.checked.mch | 8,749,783 | -137 | 
| benchmarks.run_pgo.windows.x64.checked.mch | 34,821,548 | -8,936 | 
| benchmarks.run_tiered.windows.x64.checked.mch | 12,620,519 | -700 | 
| coreclr_tests.run.windows.x64.checked.mch | 393,023,545 | +116 | 
| libraries.crossgen2.windows.x64.checked.mch | 212,830 | -18 | 
| libraries.pmi.windows.x64.checked.mch | 61,619,320 | +249 | 
| libraries_tests.run.windows.x64.Release.mch | 278,638,237 | +815 | 
| librariestestsnotieredcompilation.run.windows.x64.Release.mch | 137,428,665 | -1,264 | 
| realworld.run.windows.x64.checked.mch | 14,138,383 | +257 | 
  
FullOpts (-9,618 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.windows.x64.checked.mch | 8,749,420 | -137 | 
| benchmarks.run_pgo.windows.x64.checked.mch | 21,032,678 | -8,936 | 
| benchmarks.run_tiered.windows.x64.checked.mch | 3,517,433 | -700 | 
| coreclr_tests.run.windows.x64.checked.mch | 120,269,346 | +116 | 
| libraries.crossgen2.windows.x64.checked.mch | 212,830 | -18 | 
| libraries.pmi.windows.x64.checked.mch | 61,505,799 | +249 | 
| libraries_tests.run.windows.x64.Release.mch | 103,607,508 | +815 | 
| librariestestsnotieredcompilation.run.windows.x64.Release.mch | 126,588,054 | -1,264 | 
| realworld.run.windows.x64.checked.mch | 13,751,774 | +257 | 
  
Example diffs
benchmarks.run.windows.x64.checked.mch
-14 (-3.98%) : 17769.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
@@ -12,15 +12,15 @@
 ;  V01 arg1         [V01,T02] ( 12, 11   )     ref  ->  rdx         class-hnd single-def <ubyte[]>
 ;  V02 arg2         [V02,T03] (  3,  6   )   byref  ->   r8         ld-addr-op single-def
 ;  V03 arg3         [V03,T06] (  3,  3   )   ubyte  ->   r9         single-def
-;  V04 arg4         [V04,T15] (  1,  1   )   ubyte  ->  [rsp+0x60]  single-def
-;  V05 arg5         [V05,T16] (  1,  1   )   ubyte  ->  [rsp+0x68]  single-def
-;  V06 loc0         [V06,T09] (  6,  3.50)     int  ->  rbx        
+;  V04 arg4         [V04,T15] (  1,  1   )   ubyte  ->  [rsp+0x70]  single-def
+;  V05 arg5         [V05,T16] (  1,  1   )   ubyte  ->  [rsp+0x78]  single-def
+;  V06 loc0         [V06,T09] (  6,  3.50)     int  ->  rdi        
 ;  V07 loc1         [V07,T01] (  9, 16.50)     int  ->  rax        
-;  V08 loc2         [V08,T00] ( 10, 16.54)     int  ->  r10        
+;  V08 loc2         [V08,T00] ( 10, 16.54)     int  ->  rcx        
 ;  V09 OutArgs      [V09    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 tmp1         [V10,T11] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
-;  V11 tmp2         [V11,T12] (  3,  3   )   byref  ->  r10         single-def "dup spill"
-;  V12 tmp3         [V12,T13] (  3,  3   )   byref  ->   r9         single-def "dup spill"
+;  V10 tmp1         [V10,T11] (  3,  3   )   byref  ->  rsi         single-def "dup spill"
+;  V11 tmp2         [V11,T12] (  3,  3   )   byref  ->   r8         single-def "dup spill"
+;  V12 tmp3         [V12,T13] (  3,  3   )   byref  ->  r10         single-def "dup spill"
 ;* V13 tmp4         [V13    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V14 tmp5         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V15 tmp6         [V15    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V02._reference (fldOffset=0x0)" P-INDEP
@@ -31,138 +31,137 @@
 ;* V20 tmp11        [V20,T17] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
 ;* V21 tmp12        [V21    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref" <System.ReadOnlySpan`1[ubyte]>
 ;  V22 tmp13        [V22    ] (  3,  3   )  struct (16) [rsp+0x20]  do-not-enreg[XSF] must-init addr-exposed "by-value struct argument" <System.Span`1[ubyte]>
-;  V23 cse0         [V23,T10] (  4,  3   )   byref  ->  r10         "CSE - aggressive"
-;  V24 cse1         [V24,T08] (  7,  3.50)   byref  ->  rcx         multi-def "CSE - aggressive"
-;  V25 cse2         [V25,T04] ( 10,  5.54)     int  ->   r8         "CSE - aggressive"
+;  V23 cse0         [V23,T10] (  4,  3   )   byref  ->   r8         "CSE - aggressive"
+;  V24 cse1         [V24,T08] (  7,  3.50)   byref  ->  rsi         multi-def "CSE - aggressive"
+;  V25 cse2         [V25,T04] ( 10,  5.54)     int  ->  rbx         "CSE - aggressive"
 ;
 ; Lcl frame size = 48
 
 G_M44724_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+       push     rdi
+       push     rsi
        push     rbx
        sub      rsp, 48
        xor      eax, eax
        mov      qword ptr [rsp+0x20], rax
-                        ;; size=12 bbWeight=1 PerfScore 2.50
+                      ;; size=14 bbWeight=1 PerfScore 4.50
 G_M44724_IG02:        ; bbWeight=1, gcrefRegs=0004 {rdx}, byrefRegs=0100 {r8}, byref, isz
        ; gcrRegs +[rdx]
        ; byrRegs +[r8]
        mov      eax, dword ptr [r8+0x08]
-       mov      r8d, dword ptr [rdx+0x08]
-       ; byrRegs -[r8]
-       test     r8d, r8d
+       mov      ebx, dword ptr [rdx+0x08]
+       test     ebx, ebx
        je       G_M44724_IG18
-       lea      r10, bword ptr [rdx+0x10]
-       ; byrRegs +[r10]
-       mov      byte  ptr [r10], cl
+       lea      r8, bword ptr [rdx+0x10]
+       mov      byte  ptr [r8], cl
        test     r9b, r9b
        je       SHORT G_M44724_IG04
-                      ;; size=29 bbWeight=1 PerfScore 8.00
-G_M44724_IG03:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0400 {r10}, byref
-       mov      r9, r10
-       ; byrRegs +[r9]
-       or       byte  ptr [r9], 128
+                      ;; size=27 bbWeight=1 PerfScore 8.00
+G_M44724_IG03:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0100 {r8}, byref
+       mov      r10, r8
+       ; byrRegs +[r10]
+       or       byte  ptr [r10], 128
                        ;; size=7 bbWeight=0.50 PerfScore 1.62
-G_M44724_IG04:        ; bbWeight=1, gcrefRegs=0004 {rdx}, byrefRegs=0400 {r10}, byref, isz
-       ; byrRegs -[r9]
-       cmp      byte  ptr [rsp+0x68], 0
+G_M44724_IG04:        ; bbWeight=1, gcrefRegs=0004 {rdx}, byrefRegs=0100 {r8}, byref, isz
+       ; byrRegs -[r10]
+       cmp      byte  ptr [rsp+0x78], 0
        je       SHORT G_M44724_IG06
                        ;; size=7 bbWeight=1 PerfScore 3.00
-G_M44724_IG05:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0400 {r10}, byref, isz
+G_M44724_IG05:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0100 {r8}, byref, isz
        test     cl, cl
        je       SHORT G_M44724_IG06
-       or       byte  ptr [r10], 64
+       or       byte  ptr [r8], 64
                        ;; size=8 bbWeight=0.50 PerfScore 2.12
 G_M44724_IG06:        ; bbWeight=1, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, isz
-       ; byrRegs -[r10]
+       ; byrRegs -[r8]
        cmp      eax, 125
        jg       SHORT G_M44724_IG08
                        ;; size=5 bbWeight=1 PerfScore 1.25
 G_M44724_IG07:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref
-       cmp      r8d, 1
+       cmp      ebx, 1
        jbe      G_M44724_IG18
-       lea      rcx, bword ptr [rdx+0x11]
-       ; byrRegs +[rcx]
-       mov      byte  ptr [rcx], al
-       mov      ebx, 2
+       lea      rsi, bword ptr [rdx+0x11]
+       ; byrRegs +[rsi]
+       mov      byte  ptr [rsi], al
+       mov      edi, 2
        jmp      G_M44724_IG14
-                      ;; size=26 bbWeight=0.50 PerfScore 2.50
+                       ;; size=25 bbWeight=0.50 PerfScore 2.50
 G_M44724_IG08:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, isz
-       ; byrRegs -[rcx]
+       ; byrRegs -[rsi]
        cmp      eax, 0xFFFF
        jg       SHORT G_M44724_IG09
-       cmp      r8d, 1
+       cmp      ebx, 1
        jbe      G_M44724_IG18
-       lea      rcx, bword ptr [rdx+0x11]
-       ; byrRegs +[rcx]
-       mov      byte  ptr [rcx], 126
-       cmp      r8d, 2
+       lea      rsi, bword ptr [rdx+0x11]
+       ; byrRegs +[rsi]
+       mov      byte  ptr [rsi], 126
+       cmp      ebx, 2
        jbe      G_M44724_IG18
-       mov      r10d, eax
-       shr      r10d, 8
-       mov      byte  ptr [rdx+0x12], r10b
-       cmp      r8d, 3
+       mov      ecx, eax
+       shr      ecx, 8
+       mov      byte  ptr [rdx+0x12], cl
+       cmp      ebx, 3
        jbe      G_M44724_IG18
        mov      byte  ptr [rdx+0x13], al
-       mov      ebx, 4
+       mov      edi, 4
        jmp      SHORT G_M44724_IG14
-                      ;; size=65 bbWeight=0.50 PerfScore 5.75
+                       ;; size=59 bbWeight=0.50 PerfScore 5.75
 G_M44724_IG09:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, isz
-       ; byrRegs -[rcx]
-       cmp      r8d, 1
+       ; byrRegs -[rsi]
+       cmp      ebx, 1
        jbe      G_M44724_IG18
-       lea      rcx, bword ptr [rdx+0x11]
-       ; byrRegs +[rcx]
-       mov      byte  ptr [rcx], 127
-       mov      r10d, 9
-       cmp      r8d, 9
+       lea      rsi, bword ptr [rdx+0x11]
+       ; byrRegs +[rsi]
+       mov      byte  ptr [rsi], 127
+       mov      ecx, 9
+       cmp      ebx, 9
        jle      SHORT G_M44724_IG12
-                        ;; size=29 bbWeight=0.50 PerfScore 2.12
-G_M44724_IG10:        ; bbWeight=3.96, gcrefRegs=0004 {rdx}, byrefRegs=0002 {rcx}, byref, isz
-       mov      r9d, r10d
-       mov      byte  ptr [rdx+r9+0x10], al
-       mov      r9d, eax
-       sar      r9d, 31
-       and      r9d, 255
-       add      eax, r9d
+                     ;; size=26 bbWeight=0.50 PerfScore 2.12
+G_M44724_IG10:        ; bbWeight=3.96, gcrefRegs=0004 {rdx}, byrefRegs=0040 {rsi}, byref, isz
+       mov      r8d, ecx
+       mov      byte  ptr [rdx+r8+0x10], al
+       mov      r8d, eax
+       sar      r8d, 31
+       and      r8d, 255
+       add      eax, r8d
        sar      eax, 8
-       dec      r10d
-       cmp      r10d, 2
+       dec      ecx
+       cmp      ecx, 2
        jge      SHORT G_M44724_IG10
-                        ;; size=37 bbWeight=3.96 PerfScore 17.82
-G_M44724_IG11:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0002 {rcx}, byref, isz
+                        ;; size=35 bbWeight=3.96 PerfScore 17.82
+G_M44724_IG11:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0040 {rsi}, byref, isz
        jmp      SHORT G_M44724_IG13
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M44724_IG12:        ; bbWeight=0.04, gcrefRegs=0004 {rdx}, byrefRegs=0002 {rcx}, byref, isz
-       cmp      r10d, r8d
+G_M44724_IG12:        ; bbWeight=0.04, gcrefRegs=0004 {rdx}, byrefRegs=0040 {rsi}, byref, isz
+       cmp      ecx, ebx
        jae      SHORT G_M44724_IG18
-       mov      r9d, r10d
-       mov      byte  ptr [rdx+r9+0x10], al
-       mov      r9d, eax
-       sar      r9d, 31
-       and      r9d, 255
-       add      r9d, eax
-       mov      eax, r9d
+       mov      r8d, ecx
+       mov      byte  ptr [rdx+r8+0x10], al
+       mov      r8d, eax
+       sar      r8d, 31
+       and      r8d, 255
+       add      r8d, eax
+       mov      eax, r8d
        sar      eax, 8
-       dec      r10d
-       cmp      r10d, 2
+       dec      ecx
+       cmp      ecx, 2
        jge      SHORT G_M44724_IG12
-                        ;; size=45 bbWeight=0.04 PerfScore 0.24
-G_M44724_IG13:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0002 {rcx}, byref
-       mov      ebx, 10
+                      ;; size=42 bbWeight=0.04 PerfScore 0.24
+G_M44724_IG13:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0040 {rsi}, byref
+       mov      edi, 10
                         ;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M44724_IG14:        ; bbWeight=1, gcrefRegs=0004 {rdx}, byrefRegs=0002 {rcx}, byref, isz
-       cmp      byte  ptr [rsp+0x60], 0
+G_M44724_IG14:        ; bbWeight=1, gcrefRegs=0004 {rdx}, byrefRegs=0040 {rsi}, byref, isz
+       cmp      byte  ptr [rsp+0x70], 0
        je       SHORT G_M44724_IG16
                        ;; size=7 bbWeight=1 PerfScore 3.00
-G_M44724_IG15:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0002 {rcx}, byref, isz
-       or       byte  ptr [rcx], 128
-       mov      ecx, r8d
-       ; byrRegs -[rcx]
-       mov      eax, ebx
+G_M44724_IG15:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0040 {rsi}, byref, isz
+       or       byte  ptr [rsi], 128
+       mov      ecx, ebx
+       mov      eax, edi
        add      rax, 4
        cmp      rcx, rax
        jb       SHORT G_M44724_IG19
-       mov      ecx, ebx
+       mov      ecx, edi
        lea      rcx, bword ptr [rdx+rcx+0x10]
        ; byrRegs +[rcx]
        mov      bword ptr [rsp+0x20], rcx
@@ -171,16 +170,19 @@ G_M44724_IG15:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0002 {rcx
        ; byrRegs -[rcx]
        call     [System.Security.Cryptography.RandomNumberGeneratorImplementation:FillSpan(System.Span`1[ubyte])]
        ; gcrRegs -[rdx]
+       ; byrRegs -[rsi]
        ; gcr arg pop 0
-                       ;; size=48 bbWeight=0.50 PerfScore 5.88
+                       ;; size=47 bbWeight=0.50 PerfScore 5.88
 G_M44724_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
...
  
-14 (-2.89%) : 271.dasm - System.Reflection.RuntimeAssembly:GetType(System.String,ubyte,ubyte):System.Type:this (FullOpts)
@@ -15,7 +15,7 @@
 ;* V04 loc0         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.Reflection.RuntimeAssembly>
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06,T25] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V07 tmp2         [V07    ] ( 34, 39.50)  struct (64) [rsp+0x28]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Reflection.TypeNameParser>
+;  V07 tmp2         [V07    ] ( 34, 39.50)  struct (64) [rsp+0x20]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Reflection.TypeNameParser>
 ;* V08 tmp3         [V08    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V09 tmp4         [V09    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp5         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
@@ -31,8 +31,8 @@
 ;* V20 tmp15        [V20    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V21 tmp16        [V21    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;  V22 tmp17        [V22,T14] (  4,  2   )     int  ->  rdi         "Inline stloc first use temp"
-;  V23 tmp18        [V23,T12] (  3,  3   )     int  ->  rdi         "Span.get_Item index"
-;  V24 tmp19        [V24,T21] (  3,  1.50)     int  ->  rcx        
+;  V23 tmp18        [V23,T12] (  3,  3   )     int  ->  rcx         "Span.get_Item index"
+;  V24 tmp19        [V24,T21] (  3,  1.50)     int  ->  rdx        
 ;* V25 tmp20        [V25    ] (  0,  0   )  ushort  ->  zero-ref    "Inline stloc first use temp"
 ;  V26 tmp21        [V26,T01] (  3, 24   )     int  ->  rcx         "Span.get_Item index"
 ;  V27 tmp22        [V27,T04] (  2,  8   )   ubyte  ->  rax         "Inline return value spill temp"
@@ -68,26 +68,22 @@
 ;  V57 cse0         [V57,T02] (  3, 12   )     int  ->  rcx         "CSE - aggressive"
 ;  V58 cse1         [V58,T03] (  3, 12   )     int  ->  rax         "CSE - aggressive"
 ;  V59 cse2         [V59,T16] (  3,  2   )     int  ->  rax         "CSE - moderate"
-;  V60 cse3         [V60,T22] (  3,  1.50)     int  ->  rdi         "CSE - moderate"
-;  V61 cse4         [V61,T23] (  3,  1.50)     int  ->  rbp         "CSE - moderate"
+;  V60 cse3         [V60,T22] (  3,  1.50)     int  ->  rcx         "CSE - moderate"
+;  V61 cse4         [V61,T23] (  3,  1.50)     int  ->  rax         "CSE - moderate"
 ;
-; Lcl frame size = 104
+; Lcl frame size = 96
 
 G_M21860_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rdi
        push     rsi
-       push     rbp
        push     rbx
-       sub      rsp, 104
-       xor      eax, eax
-       mov      qword ptr [rsp+0x28], rax
+       sub      rsp, 96
        vxorps   xmm4, xmm4, xmm4
-       vmovdqu  ymmword ptr [rsp+0x30], ymm4
-       vmovdqa  xmmword ptr [rsp+0x50], xmm4
-       mov      qword ptr [rsp+0x60], rax
+       vmovdqu  ymmword ptr [rsp+0x20], ymm4
+       vmovdqu  ymmword ptr [rsp+0x40], ymm4
        mov      rbx, rdx
        ; gcrRegs +[rbx]
-                      ;; size=39 bbWeight=1 PerfScore 11.08
+                     ;; size=26 bbWeight=1 PerfScore 7.83
 G_M21860_IG02:        ; bbWeight=1, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rcx]
        test     rbx, rbx
@@ -104,36 +100,36 @@ G_M21860_IG04:        ; bbWeight=1, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {},
        ; byrRegs +[rbx]
        xor      rdx, rdx
        ; gcrRegs +[rdx]
-       mov      gword ptr [rsp+0x28], rdx
+       mov      gword ptr [rsp+0x20], rdx
                       ;; size=11 bbWeight=1 PerfScore 1.50
 G_M21860_IG05:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0008 {rbx}, byref
        ; gcrRegs -[rdx]
-       mov      gword ptr [rsp+0x30], rdx
-       mov      byte  ptr [rsp+0x50], 0
-       mov      byte  ptr [rsp+0x51], 0
-       mov      byte  ptr [rsp+0x52], 0
-       mov      byte  ptr [rsp+0x53], 0
-       mov      byte  ptr [rsp+0x54], 0
+       mov      gword ptr [rsp+0x28], rdx
+       mov      byte  ptr [rsp+0x48], 0
+       mov      byte  ptr [rsp+0x49], 0
+       mov      byte  ptr [rsp+0x4A], 0
+       mov      byte  ptr [rsp+0x4B], 0
+       mov      byte  ptr [rsp+0x4C], 0
                         ;; size=30 bbWeight=1 PerfScore 6.00
 G_M21860_IG06:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0008 {rbx}, byref
-       mov      gword ptr [rsp+0x38], rdx
+       mov      gword ptr [rsp+0x30], rdx
                         ;; size=5 bbWeight=1 PerfScore 1.00
 G_M21860_IG07:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0008 {rbx}, byref
-       mov      gword ptr [rsp+0x40], rdx
-       mov      bword ptr [rsp+0x58], rbx
-       mov      dword ptr [rsp+0x60], eax
+       mov      gword ptr [rsp+0x38], rdx
+       mov      bword ptr [rsp+0x50], rbx
+       mov      dword ptr [rsp+0x58], eax
                       ;; size=14 bbWeight=1 PerfScore 3.00
 G_M21860_IG08:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
        ; byrRegs -[rbx]
-       mov      dword ptr [rsp+0x48], edx
+       mov      dword ptr [rsp+0x40], edx
                       ;; size=4 bbWeight=1 PerfScore 1.00
 G_M21860_IG09:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rsp+0x4C], edx
-       mov      byte  ptr [rsp+0x50], r8b
-       mov      byte  ptr [rsp+0x51], r9b
-       mov      gword ptr [rsp+0x40], rcx
+       mov      dword ptr [rsp+0x44], edx
+       mov      byte  ptr [rsp+0x48], r8b
+       mov      byte  ptr [rsp+0x49], r9b
        mov      gword ptr [rsp+0x38], rcx
-       lea      rcx, [rsp+0x28]
+       mov      gword ptr [rsp+0x30], rcx
+       lea      rcx, [rsp+0x20]
        ; gcrRegs -[rcx]
        call     [<unknown method>]
        ; gcrRegs +[rax]
@@ -153,23 +149,23 @@ G_M21860_IG11:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcrRegs -[rax] +[rbx]
        xor      rsi, rsi
        ; gcrRegs +[rsi]
-       mov      ecx, dword ptr [rsp+0x48]
-       mov      dword ptr [rsp+0x4C], ecx
+       mov      ecx, dword ptr [rsp+0x40]
+       mov      dword ptr [rsp+0x44], ecx
        jmp      SHORT G_M21860_IG13
                        ;; size=12 bbWeight=0.50 PerfScore 2.12
 G_M21860_IG12:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       mov      ecx, dword ptr [rsp+0x48]
+       mov      ecx, dword ptr [rsp+0x40]
        inc      ecx
-       mov      dword ptr [rsp+0x48], ecx
+       mov      dword ptr [rsp+0x40], ecx
                       ;; size=10 bbWeight=2 PerfScore 4.50
 G_M21860_IG13:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       mov      ecx, dword ptr [rsp+0x48]
-       mov      eax, dword ptr [rsp+0x60]
+       mov      ecx, dword ptr [rsp+0x40]
+       mov      eax, dword ptr [rsp+0x58]
        cmp      ecx, eax
        jge      SHORT G_M21860_IG16
        cmp      ecx, eax
        jae      G_M21860_IG24
-       mov      rax, bword ptr [rsp+0x58]
+       mov      rax, bword ptr [rsp+0x50]
        ; byrRegs +[rax]
        movzx    rcx, word  ptr [rax+2*rcx]
        cmp      ecx, 256
@@ -190,24 +186,24 @@ G_M21860_IG15:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
        jne      SHORT G_M21860_IG12
                        ;; size=18 bbWeight=4 PerfScore 18.00
 G_M21860_IG16:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       mov      edi, dword ptr [rsp+0x48]
-       mov      ebp, dword ptr [rsp+0x60]
-       cmp      edi, ebp
+       mov      ecx, dword ptr [rsp+0x40]
+       mov      eax, dword ptr [rsp+0x58]
+       cmp      ecx, eax
        jl       SHORT G_M21860_IG17
-       xor      ecx, ecx
+       xor      edx, edx
        jmp      SHORT G_M21860_IG18
                        ;; size=16 bbWeight=0.50 PerfScore 2.75
 G_M21860_IG17:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       cmp      edi, ebp
+       cmp      ecx, eax
        jae      G_M21860_IG24
-       mov      rcx, bword ptr [rsp+0x58]
-       ; byrRegs +[rcx]
-       mov      eax, edi
-       movzx    rcx, word  ptr [rcx+2*rax]
-       ; byrRegs -[rcx]
+       mov      rdx, bword ptr [rsp+0x50]
+       ; byrRegs +[rdx]
+       mov      ecx, ecx
+       movzx    rdx, word  ptr [rdx+2*rcx]
+       ; byrRegs -[rdx]
                         ;; size=19 bbWeight=0.50 PerfScore 2.25
 G_M21860_IG18:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       movzx    rcx, cx
+       movzx    rcx, dx
        call     [System.Reflection.TypeNameParser:CharToToken(ushort):int]
        ; gcr arg pop 0
        mov      edi, eax
@@ -215,7 +211,7 @@ G_M21860_IG18:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
        je       SHORT G_M21860_IG21
        cmp      edi, 7
        je       SHORT G_M21860_IG19
-       lea      rcx, [rsp+0x28]
+       lea      rcx, [rsp+0x20]
        call     [System.Reflection.TypeNameParser:Skip():this]
        ; gcrRegs -[rsi]
        ; gcr arg pop 0
@@ -223,7 +219,7 @@ G_M21860_IG18:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
 G_M21860_IG19:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        cmp      edi, 3
        je       SHORT G_M21860_IG20
-       lea      rcx, [rsp+0x28]
+       lea      rcx, [rsp+0x20]
        call     [System.Reflection.TypeNameParser:ParseError():this]
        ; gcrRegs -[rbx]
        ; gcr arg pop 0
@@ -231,12 +227,12 @@ G_M21860_IG19:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
                        ;; size=21 bbWeight=0.50 PerfScore 3.38
 G_M21860_IG20:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rbx]
-       lea      rcx, [rsp+0x28]
+       lea      rcx, [rsp+0x20]
        call     [System.Reflection.TypeNameParser:CheckTopLevelAssemblyQualifiedName():ubyte:this]
        ; gcr arg pop 0
        test     eax, eax
        je       G_M21860_IG10
-       lea      rcx, [rsp+0x28]
+       lea      rcx, [rsp+0x20]
        call     [System.Reflection.TypeNameParser:GetNextAssemblyName():System.String:this]
        ; gcrRegs +[rax]
        ; gcr arg pop 0
@@ -244,7 +240,7 @@ G_M21860_IG20:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcrRegs +[rsi]
        test     rsi, rsi
        je       G_M21860_IG10
-       lea      rcx, [rsp+0x28]
+       lea      rcx, [rsp+0x20]
        call     [System.Reflection.TypeNameParser:get_Peek():int:this]
        ; gcrRegs -[rax]
        ; gcr arg pop 0
@@ -255,7 +251,7 @@ G_M21860_IG20:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
                        ;; size=66 bbWeight=0.50 PerfScore 8.88
 G_M21860_IG21:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       lea      rdx, [rsp+0x28]
+       lea      rdx, [rsp+0x20]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        mov      r8, rsi
@@ -270,13 +266,12 @@ G_M21860_IG22:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byr
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
 G_M21860_IG23:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 104
+       add      rsp, 96
        pop      rbx
-       pop      rbp
        pop      rsi
        pop      rdi
        ret      
-                     ;; size=9 bbWeight=1 PerfScore 3.25
+                       ;; size=8 bbWeight=1 PerfScore 2.75
 G_M21860_IG24:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -299,7 +294,7 @@ G_M21860_IG25:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        int3     
                        ;; size=33 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 484, prolog size 39, PerfScore 144.71, instruction count 129, allocated bytes for code 484 (MethodHash=5b2daa9b) for method System.Reflection.RuntimeAssembly:GetType(System.String,ubyte,ubyte):System.Type:this (FullOpts)
+; Total bytes of code 470, prolog size 26, PerfScore 140.96, instruction count 124, allocated bytes for code 470 (MethodHash=5b2daa9b) for method System.Reflection.RuntimeAssembly:GetType(System.String,ubyte,ubyte):System.Type:this (FullOpts)
 ; ============================================================
 
...
  
-22 (-2.04%) : 18140.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (FullOpts)
@@ -13,32 +13,32 @@
 ;  V02 arg2         [V02,T15] ( 12, 14.08)     ref  ->  rbx         class-hnd single-def <double[][][]>
 ;  V03 arg3         [V03,T16] ( 12, 14.08)     ref  ->  rsi         class-hnd single-def <double[][]>
 ;  V04 arg4         [V04,T17] ( 10, 14   )     int  ->  [rsp+0x90]  single-def
-;  V05 loc0         [V05,T09] ( 18, 28.81)     ref  ->  rbp         class-hnd <double[][]>
-;  V06 loc1         [V06,T08] ( 13, 30.28)     ref  ->  r14         class-hnd <double[]>
-;  V07 loc2         [V07,T21] (  2,  2   )    long  ->  r13         single-def
-;  V08 loc3         [V08,T01] ( 29,339.80)     int  ->  r10        
-;  V09 loc4         [V09,T13] ( 12, 17.12)     int  ->  rax        
-;  V10 loc5         [V10,T04] ( 54,162.95)     int  ->  r15        
+;  V05 loc0         [V05,T09] ( 18, 28.81)     ref  ->  r14         class-hnd <double[][]>
+;  V06 loc1         [V06,T08] ( 13, 30.28)     ref  ->  r15         class-hnd <double[]>
+;  V07 loc2         [V07,T21] (  2,  2   )    long  ->  r12         single-def
+;  V08 loc3         [V08,T01] ( 29,339.80)     int  ->  rax        
+;  V09 loc4         [V09,T13] ( 12, 17.12)     int  ->  rbp        
+;  V10 loc5         [V10,T04] ( 54,162.95)     int  ->  r13        
 ;  V11 OutArgs      [V11    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V12 tmp1         [V12,T00] ( 12,384   )     ref  ->  registers   class-hnd "Strict ordering of exceptions for Array store" <double[]>
+;  V12 tmp1         [V12,T00] ( 12,384   )     ref  ->  r11         class-hnd "Strict ordering of exceptions for Array store" <double[]>
 ;  V13 tmp2         [V13,T26] (  8,256   )  double  ->  mm0         "Strict ordering of exceptions for Array store"
 ;  V14 tmp3         [V14,T27] (  6, 64.00)  double  ->  mm1         "Strict ordering of exceptions for Array store"
 ;* V15 tmp4         [V15    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
-;  V16 tmp5         [V16,T20] (  6, 10   )     ref  ->  r12         class-hnd exact "Inline stloc first use temp" <<unknown class>>
+;  V16 tmp5         [V16,T20] (  6, 10   )     ref  ->  rbp         class-hnd exact "Inline stloc first use temp" <<unknown class>>
 ;  V17 tmp6         [V17    ] (  4,  8   )     int  ->  [rsp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V18 tmp7         [V18    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V19 tmp8         [V19,T02] ( 11,259.80)     ref  ->  r12         "arr expr"
+;  V19 tmp8         [V19,T02] ( 11,259.80)     ref  ->  registers   "arr expr"
 ;  V20 cse0         [V20,T22] (  2,  0.80)     ref  ->   r8         hoist "CSE - conservative"
-;  V21 cse1         [V21,T23] (  2,  0.80)     ref  ->   r9         hoist "CSE - conservative"
+;  V21 cse1         [V21,T23] (  2,  0.80)     ref  ->  r10         hoist "CSE - conservative"
 ;  V22 cse2         [V22,T24] (  2,  0.79)     ref  ->   r8         hoist "CSE - conservative"
-;  V23 cse3         [V23,T25] (  2,  0.79)     ref  ->   r9         hoist "CSE - conservative"
-;  V24 cse4         [V24,T05] (  6, 86.33)     ref  ->  r11         hoist multi-def "CSE - aggressive"
-;  V25 cse5         [V25,T06] (  4, 70.65)     ref  ->  r13         hoist multi-def "CSE - aggressive"
-;  V26 cse6         [V26,T12] (  7, 20.28)     int  ->  registers   hoist multi-def "CSE - aggressive"
-;  V27 cse7         [V27,T11] (  6, 23.76)    long  ->   r9         hoist multi-def "CSE - aggressive"
+;  V23 cse3         [V23,T25] (  2,  0.79)     ref  ->  r10         hoist "CSE - conservative"
+;  V24 cse4         [V24,T05] (  6, 86.33)     ref  ->  r10         hoist multi-def "CSE - aggressive"
+;  V25 cse5         [V25,T06] (  4, 70.65)     ref  ->   r9         hoist multi-def "CSE - aggressive"
+;  V26 cse6         [V26,T12] (  7, 20.28)     int  ->  r12         hoist multi-def "CSE - aggressive"
+;  V27 cse7         [V27,T11] (  6, 23.76)    long  ->   r8         hoist multi-def "CSE - aggressive"
 ;  V28 cse8         [V28,T03] (  3,186.30)    long  ->  rdi         "CSE - aggressive"
-;  V29 cse9         [V29,T07] (  3, 47.04)    long  ->  r10         "CSE - aggressive"
-;  V30 cse10        [V30,T18] (  3, 11.88)    long  ->   r8         "CSE - aggressive"
+;  V29 cse9         [V29,T07] (  3, 47.04)    long  ->  rax         "CSE - aggressive"
+;  V30 cse10        [V30,T18] (  3, 11.88)    long  ->  rax         "CSE - aggressive"
 ;  V31 cse11        [V31,T19] (  3, 11.88)    long  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 40
@@ -64,7 +64,7 @@ G_M9806_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=39 bbWeight=1 PerfScore 12.00
 G_M9806_IG02:        ; bbWeight=1, gcrefRegs=004E {rcx rdx rbx rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rcx rdx]
-       xor      eax, eax
+       xor      ebp, ebp
        test     edi, edi
        jle      G_M9806_IG32
        test     rbx, rbx
@@ -78,187 +78,187 @@ G_M9806_IG02:        ; bbWeight=1, gcrefRegs=004E {rcx rdx rbx rsi}, byrefRegs=0
        jl       G_M9806_IG09
                        ;; size=53 bbWeight=1 PerfScore 13.00
 G_M9806_IG03:        ; bbWeight=3.96, gcrefRegs=004E {rcx rdx rbx rsi}, byrefRegs=0000 {}, byref
-       mov      r8d, eax
-       mov      rbp, gword ptr [rbx+8*r8+0x10]
-       ; gcrRegs +[rbp]
-       mov      r14, gword ptr [rsi+8*r8+0x10]
+       mov      eax, ebp
+       mov      r14, gword ptr [rbx+8*rax+0x10]
        ; gcrRegs +[r14]
-       xor      r15d, r15d
-       test     rbp, rbp
+       mov      r15, gword ptr [rsi+8*rax+0x10]
+       ; gcrRegs +[r15]
+       xor      r13d, r13d
+       test     r14, r14
        je       G_M9806_IG14
-                     ;; size=25 bbWeight=3.96 PerfScore 22.77
-G_M9806_IG04:        ; bbWeight=1.98, gcrefRegs=406E {rcx rdx rbx rbp rsi r14}, byrefRegs=0000 {}, byref
+                     ;; size=24 bbWeight=3.96 PerfScore 22.77
+G_M9806_IG04:        ; bbWeight=1.98, gcrefRegs=C04E {rcx rdx rbx rsi r14 r15}, byrefRegs=0000 {}, byref
        test     rcx, rcx
        je       G_M9806_IG14
-       cmp      dword ptr [rbp+0x08], 101
+       cmp      dword ptr [r14+0x08], 101
        jl       G_M9806_IG14
-       mov      r8d, dword ptr [rcx+0x08]
-       cmp      r8d, 101
+       mov      r12d, dword ptr [rcx+0x08]
+       cmp      r12d, 101
        jl       G_M9806_IG14
-                        ;; size=33 bbWeight=1.98 PerfScore 16.83
-G_M9806_IG05:        ; bbWeight=15.68, gcrefRegs=406E {rcx rdx rbx rbp rsi r14}, byrefRegs=0000 {}, byref, isz
-       xor      r10d, r10d
-       cmp      r8d, r15d
+                        ;; size=34 bbWeight=1.98 PerfScore 16.83
+G_M9806_IG05:        ; bbWeight=15.68, gcrefRegs=C04E {rcx rdx rbx rsi r14 r15}, byrefRegs=0000 {}, byref, isz
+       xor      eax, eax
+       cmp      r12d, r13d
        jbe      SHORT G_M9806_IG10
-                     ;; size=8 bbWeight=15.68 PerfScore 23.52
-G_M9806_IG06:        ; bbWeight=7.84, gcrefRegs=406E {rcx rdx rbx rbp rsi r14}, byrefRegs=0000 {}, byref, isz
-       mov      r9d, r15d
-       mov      r11, gword ptr [rcx+8*r9+0x10]
-       ; gcrRegs +[r11]
-       test     r11, r11
+                     ;; size=7 bbWeight=15.68 PerfScore 23.52
+G_M9806_IG06:        ; bbWeight=7.84, gcrefRegs=C04E {rcx rdx rbx rsi r14 r15}, byrefRegs=0000 {}, byref, isz
+       mov      r8d, r13d
+       mov      r10, gword ptr [rcx+8*r8+0x10]
+       ; gcrRegs +[r10]
+       test     r10, r10
        je       SHORT G_M9806_IG10
-       cmp      dword ptr [r11+0x08], 101
+       cmp      dword ptr [r10+0x08], 101
        jl       SHORT G_M9806_IG10
-       mov      r13, gword ptr [rbp+8*r9+0x10]
-       ; gcrRegs +[r13]
-                       ;; size=25 bbWeight=7.84 PerfScore 74.49
-G_M9806_IG07:        ; bbWeight=62.10, gcrefRegs=686E {rcx rdx rbx rbp rsi r11 r13 r14}, byrefRegs=0000 {}, byref, isz
-       mov      r9, r13
+       mov      r9, gword ptr [r14+8*r8+0x10]
        ; gcrRegs +[r9]
-       mov      r12, r11
-       ; gcrRegs +[r12]
-       mov      edi, r10d
-       vmovsd   xmm0, qword ptr [r12+8*rdi+0x10]
-       cmp      r10d, dword ptr [r9+0x08]
+                        ;; size=25 bbWeight=7.84 PerfScore 74.49
+G_M9806_IG07:        ; bbWeight=62.10, gcrefRegs=C64E {rcx rdx rbx rsi r9 r10 r14 r15}, byrefRegs=0000 {}, byref, isz
+       mov      r11, r9
+       ; gcrRegs +[r11]
+       mov      r8, r10
+       ; gcrRegs +[r8]
+       mov      edi, eax
+       vmovsd   xmm0, qword ptr [r8+8*rdi+0x10]
+       cmp      eax, dword ptr [r11+0x08]
        jae      G_M9806_IG42
-       vmovsd   qword ptr [r9+8*rdi+0x10], xmm0
-       inc      r10d
-       cmp      r10d, 101
+       vmovsd   qword ptr [r11+8*rdi+0x10], xmm0
+       inc      eax
+       cmp      eax, 101
        jl       SHORT G_M9806_IG07
-                       ;; size=42 bbWeight=62.10 PerfScore 760.71
-G_M9806_IG08:        ; bbWeight=7.84, gcrefRegs=406E {rcx rdx rbx rbp rsi r14}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[r9 r11-r13]
+                       ;; size=39 bbWeight=62.10 PerfScore 760.71
+G_M9806_IG08:        ; bbWeight=15.68, gcrefRegs=C04E {rcx rdx rbx rsi r14 r15}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r8-r11]
        jmp      SHORT G_M9806_IG12
-                     ;; size=2 bbWeight=7.84 PerfScore 15.68
+                       ;; size=2 bbWeight=15.68 PerfScore 31.36
 G_M9806_IG09:        ; bbWeight=0.50, gcrefRegs=004E {rcx rdx rbx rsi}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rbp r14]
+       ; gcrRegs -[r14-r15]
        mov      edi, dword ptr [rsp+0x90]
        jmp      G_M9806_IG25
                        ;; size=12 bbWeight=0.50 PerfScore 1.50
-G_M9806_IG10:        ; bbWeight=0.08, gcrefRegs=406E {rcx rdx rbx rbp rsi r14}, byrefRegs=0000 {}, byref
-       ; gcrRegs +[rbp r14]
-       mov      r9d, r15d
-       mov      r13, gword ptr [rbp+8*r9+0x10]
-       ; gcrRegs +[r13]
-       mov      r11, gword ptr [rcx+8*r9+0x10]
-       ; gcrRegs +[r11]
-                       ;; size=13 bbWeight=0.08 PerfScore 0.33
-G_M9806_IG11:        ; bbWeight=0.63, gcrefRegs=686E {rcx rdx rbx rbp rsi r11 r13 r14}, byrefRegs=0000 {}, byref, isz
-       mov      r9, r13
+G_M9806_IG10:        ; bbWeight=0.08, gcrefRegs=C04E {rcx rdx rbx rsi r14 r15}, byrefRegs=0000 {}, byref
+       ; gcrRegs +[r14-r15]
+       mov      r8d, r13d
+       mov      r9, gword ptr [r14+8*r8+0x10]
        ; gcrRegs +[r9]
-       mov      r12, r11
-       ; gcrRegs +[r12]
-       cmp      r10d, dword ptr [r12+0x08]
+       mov      r10, gword ptr [rcx+8*r8+0x10]
+       ; gcrRegs +[r10]
+                       ;; size=13 bbWeight=0.08 PerfScore 0.33
+G_M9806_IG11:        ; bbWeight=0.63, gcrefRegs=C64E {rcx rdx rbx rsi r9 r10 r14 r15}, byrefRegs=0000 {}, byref, isz
+       mov      r11, r9
+       ; gcrRegs +[r11]
+       mov      r8, r10
+       ; gcrRegs +[r8]
+       cmp      eax, dword ptr [r8+0x08]
        jae      G_M9806_IG42
-       mov      edi, r10d
-       vmovsd   xmm0, qword ptr [r12+8*rdi+0x10]
-       cmp      r10d, dword ptr [r9+0x08]
+       mov      edi, eax
+       vmovsd   xmm0, qword ptr [r8+8*rdi+0x10]
+       cmp      eax, dword ptr [r11+0x08]
        jae      G_M9806_IG42
-       mov      r12d, r10d
-       ; gcrRegs -[r12]
-       vmovsd   qword ptr [r9+8*r12+0x10], xmm0
-       inc      r10d
-       cmp      r10d, 101
+       mov      r8d, eax
+       ; gcrRegs -[r8]
+       vmovsd   qword ptr [r11+8*r8+0x10], xmm0
+       inc      eax
+       cmp      eax, 101
        jl       SHORT G_M9806_IG11
-                       ;; size=56 bbWeight=0.63 PerfScore 10.35
-G_M9806_IG12:        ; bbWeight=15.68, gcrefRegs=406E {rcx rdx rbx rbp rsi r14}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[r9 r11 r13]
-       inc      r15d
-       cmp      r15d, 101
+                        ;; size=52 bbWeight=0.63 PerfScore 10.35
+G_M9806_IG12:        ; bbWeight=15.68, gcrefRegs=C04E {rcx rdx rbx rsi r14 r15}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[r9-r11]
+       inc      r13d
+       cmp      r13d, 101
        jl       G_M9806_IG05
                        ;; size=13 bbWeight=15.68 PerfScore 23.52
-G_M9806_IG13:        ; bbWeight=1.98, gcrefRegs=404E {rcx rdx rbx rsi r14}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rbp]
+G_M9806_IG13:        ; bbWeight=3.96, gcrefRegs=804E {rcx rdx rbx rsi r15}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r14]
        jmp      SHORT G_M9806_IG17
-                        ;; size=2 bbWeight=1.98 PerfScore 3.96
-G_M9806_IG14:        ; bbWeight=0.16, gcrefRegs=406E {rcx rdx rbx rbp rsi r14}, byrefRegs=0000 {}, byref
-       ; gcrRegs +[rbp]
-       xor      r10d, r10d
-       mov      r8d, dword ptr [rbp+0x08]
-       cmp      r15d, dword ptr [rbp+0x08]
+                       ;; size=2 bbWeight=3.96 PerfScore 7.92
+G_M9806_IG14:        ; bbWeight=0.16, gcrefRegs=C04E {rcx rdx rbx rsi r14 r15}, byrefRegs=0000 {}, byref
+       ; gcrRegs +[r14]
+       xor      eax, eax
+       mov      r11d, dword ptr [r14+0x08]
+       cmp      r13d, dword ptr [r14+0x08]
        jae      G_M9806_IG42
-       mov      r9d, r15d
-       mov      r8, gword ptr [rbp+8*r9+0x10]
+       mov      r8d, r13d
+       mov      r8, gword ptr [r14+8*r8+0x10]
        ; gcrRegs +[r8]
-       mov      r9d, dword ptr [rcx+0x08]
-       cmp      r15d, r9d
+       mov      r12d, dword ptr [rcx+0x08]
+       cmp      r13d, r12d
        jae      G_M9806_IG42
-       mov      r9d, r15d
-       mov      r9, gword ptr [rcx+8*r9+0x10]
-       ; gcrRegs +[r9]
-                       ;; size=46 bbWeight=0.16 PerfScore 2.22
...
  
+17 (+4.20%) : 14418.dasm - System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
@@ -11,8 +11,8 @@
 ;  V01 arg1         [V01,T07] (  7,  4.50)     int  ->  rdx         single-def
 ;  V02 arg2         [V02,T08] (  5,  4   )     int  ->   r8         single-def
 ;  V03 arg3         [V03,T09] (  4,  3.50)   byref  ->   r9         single-def
-;  V04 loc0         [V04,T00] ( 26, 49   )     int  ->  rax        
-;  V05 loc1         [V05,T06] ( 11, 11.50)     int  ->  r10        
+;  V04 loc0         [V04,T00] ( 26, 49   )     int  ->  r10        
+;  V05 loc1         [V05,T06] ( 11, 11.50)     int  ->  rax        
 ;  V06 loc2         [V06,T01] ( 12, 17.54)     int  ->  rdx        
 ;  V07 loc3         [V07,T03] (  8, 16   )     int  ->   r8        
 ;  V08 loc4         [V08,T02] ( 12, 17.54)     int  ->  rdx        
@@ -35,8 +35,8 @@ G_M24742_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}, b
        je       G_M24742_IG14
                        ;; size=14 bbWeight=1 PerfScore 2.50
 G_M24742_IG03:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}, byref, isz
-       xor      eax, eax
-       lea      r10d, [rdx+r8]
+       xor      r10d, r10d
+       lea      eax, [rdx+r8]
        mov      r11d, dword ptr [rcx+0x08]
        cmp      edx, r11d
        jae      G_M24742_IG16
@@ -46,12 +46,12 @@ G_M24742_IG03:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}
        cmp      r8d, 1
        je       G_M24742_IG14
        inc      edx
-       cmp      edx, r10d
+       cmp      edx, eax
        jge      G_M24742_IG12
        mov      r8d, edx
-       or       r8d, r10d
+       or       r8d, eax
        jl       SHORT G_M24742_IG06
-       cmp      r11d, r10d
+       cmp      r11d, eax
        jl       SHORT G_M24742_IG06
                        ;; size=66 bbWeight=0.50 PerfScore 6.88
 G_M24742_IG04:        ; bbWeight=3.96, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}, byref, isz
@@ -60,18 +60,18 @@ G_M24742_IG04:        ; bbWeight=3.96, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}
        add      r8d, -48
        cmp      r8d, 9
        ja       G_M24742_IG14
-       cmp      eax, 0xD1FFAB1E
+       cmp      r10d, 0xD1FFAB1E
        jl       G_M24742_IG14
-       lea      eax, [rax+4*rax]
-       add      eax, eax
+       lea      r10d, [r10+4*r10]
+       add      r10d, r10d
        lea      r11d, [r8+D1FFAB1EH]
-       cmp      eax, r11d
+       cmp      r10d, r11d
        jl       G_M24742_IG14
-       sub      eax, r8d
+       sub      r10d, r8d
        inc      edx
-       cmp      edx, r10d
+       cmp      edx, eax
        jl       SHORT G_M24742_IG04
-                       ;; size=65 bbWeight=3.96 PerfScore 36.63
+                      ;; size=68 bbWeight=3.96 PerfScore 36.63
 G_M24742_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0200 {r9}, byref
        ; gcrRegs -[rcx]
        jmp      G_M24742_IG12
@@ -85,52 +85,52 @@ G_M24742_IG06:        ; bbWeight=0.04, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}
        add      r8d, -48
        cmp      r8d, 9
        ja       G_M24742_IG14
-       cmp      eax, 0xD1FFAB1E
+       cmp      r10d, 0xD1FFAB1E
        jl       G_M24742_IG14
-       lea      eax, [rax+4*rax]
-       add      eax, eax
+       lea      r10d, [r10+4*r10]
+       add      r10d, r10d
        lea      ebx, [r8+D1FFAB1EH]
-       cmp      eax, ebx
+       cmp      r10d, ebx
        jl       G_M24742_IG14
-       sub      eax, r8d
+       sub      r10d, r8d
        inc      edx
-       cmp      edx, r10d
+       cmp      edx, eax
        jl       SHORT G_M24742_IG06
-                      ;; size=73 bbWeight=0.04 PerfScore 0.42
+                       ;; size=77 bbWeight=0.04 PerfScore 0.42
 G_M24742_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0200 {r9}, byref
        ; gcrRegs -[rcx]
        jmp      G_M24742_IG12
                        ;; size=5 bbWeight=0.50 PerfScore 1.00
 G_M24742_IG08:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}, byref, isz
        ; gcrRegs +[rcx]
-       cmp      edx, r10d
+       cmp      edx, eax
        jge      G_M24742_IG12
        mov      r8d, edx
-       or       r8d, r10d
+       or       r8d, eax
        jl       SHORT G_M24742_IG11
-       cmp      r11d, r10d
+       cmp      r11d, eax
        jl       SHORT G_M24742_IG11
-                       ;; size=22 bbWeight=0.50 PerfScore 2.00
+                       ;; size=21 bbWeight=0.50 PerfScore 2.00
 G_M24742_IG09:        ; bbWeight=3.96, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}, byref, isz
        mov      r11d, edx
        movzx    r8, byte  ptr [rcx+r11+0x10]
        add      r8d, -48
        cmp      r8d, 9
-       ja       SHORT G_M24742_IG14
-       cmp      eax, 0xD1FFAB1E
+       ja       G_M24742_IG14
+       cmp      r10d, 0xD1FFAB1E
        jg       SHORT G_M24742_IG14
-       lea      eax, [rax+4*rax]
-       add      eax, eax
+       lea      r10d, [r10+4*r10]
+       add      r10d, r10d
        mov      r11d, r8d
        neg      r11d
        add      r11d, 0xD1FFAB1E
-       cmp      r11d, eax
+       cmp      r11d, r10d
        jl       SHORT G_M24742_IG14
-       add      eax, r8d
+       add      r10d, r8d
        inc      edx
-       cmp      edx, r10d
+       cmp      edx, eax
        jl       SHORT G_M24742_IG09
-                       ;; size=59 bbWeight=3.96 PerfScore 37.62
+                      ;; size=66 bbWeight=3.96 PerfScore 37.62
 G_M24742_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0200 {r9}, byref, isz
        ; gcrRegs -[rcx]
        jmp      SHORT G_M24742_IG12
@@ -144,23 +144,23 @@ G_M24742_IG11:        ; bbWeight=0.04, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}
        add      r8d, -48
        cmp      r8d, 9
        ja       SHORT G_M24742_IG14
-       cmp      eax, 0xD1FFAB1E
+       cmp      r10d, 0xD1FFAB1E
        jg       SHORT G_M24742_IG14
-       lea      eax, [rax+4*rax]
-       add      eax, eax
+       lea      r10d, [r10+4*r10]
+       add      r10d, r10d
        mov      ebx, r8d
        neg      ebx
        add      ebx, 0xD1FFAB1E
-       cmp      ebx, eax
+       cmp      ebx, r10d
        jl       SHORT G_M24742_IG14
-       add      eax, r8d
+       add      r10d, r8d
        inc      edx
-       cmp      edx, r10d
+       cmp      edx, eax
        jl       SHORT G_M24742_IG11
-                      ;; size=61 bbWeight=0.04 PerfScore 0.43
+                       ;; size=65 bbWeight=0.04 PerfScore 0.43
 G_M24742_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0200 {r9}, byref
        ; gcrRegs -[rcx]
-       mov      dword ptr [r9], eax
+       mov      dword ptr [r9], r10d
        mov      eax, 1
                        ;; size=8 bbWeight=0.50 PerfScore 0.62
 G_M24742_IG13:        ; bbWeight=0.50, epilog, nogc, extend
@@ -183,7 +183,7 @@ G_M24742_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 405, prolog size 5, PerfScore 93.23, instruction count 117, allocated bytes for code 405 (MethodHash=b5f49f59) for method System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
+; Total bytes of code 422, prolog size 5, PerfScore 93.23, instruction count 117, allocated bytes for code 422 (MethodHash=b5f49f59) for method System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+33 (+4.42%) : 15855.dasm - System.Number:TryNumberToDecimal(byref,byref):ubyte (FullOpts)
@@ -13,28 +13,28 @@
 ;  V02 loc0         [V02,T03] ( 14, 33.50)    long  ->  rcx        
 ;  V03 loc1         [V03,T02] ( 20, 39.50)     int  ->  rdi        
 ;  V04 loc2         [V04,T19] (  4,  2.50)   ubyte  ->  rbp        
-;  V05 loc3         [V05,T01] ( 21, 46.50)     int  ->  rdx        
-;  V06 loc4         [V06,T00] ( 22, 48   )    long  ->  r14        
-;  V07 loc5         [V07,T04] ( 12, 19   )     int  ->  r15        
-;  V08 loc6         [V08,T11] (  3,  6   )    long  ->  rax        
-;  V09 loc7         [V09,T12] (  3,  6   )    long  ->   r8        
+;  V05 loc3         [V05,T01] ( 21, 46.50)     int  ->  r14        
+;  V06 loc4         [V06,T00] ( 22, 48   )    long  ->  r15        
+;  V07 loc5         [V07,T04] ( 12, 19   )     int  ->  r13        
+;  V08 loc6         [V08,T11] (  3,  6   )    long  ->  rdx        
+;  V09 loc7         [V09,T12] (  3,  6   )    long  ->  rax        
 ;  V10 loc8         [V10,T07] (  7, 14   )   ubyte  ->  rsi        
 ;  V11 OutArgs      [V11    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V12 tmp1         [V12,T05] (  2, 16   )    long  ->  rcx         "dup spill"
 ;  V13 tmp2         [V13,T10] (  2,  8   )    long  ->  rcx         "dup spill"
 ;* V14 tmp3         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Decimal>
 ;* V15 tmp4         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Decimal>
-;  V16 tmp5         [V16,T22] (  2,  2   )    long  ->  r14         "dup spill"
-;  V17 tmp6         [V17,T23] (  2,  2   )     int  ->  r15         "dup spill"
+;  V16 tmp5         [V16,T22] (  2,  2   )    long  ->  r15         "dup spill"
+;  V17 tmp6         [V17,T23] (  2,  2   )     int  ->  r13         "dup spill"
 ;  V18 tmp7         [V18,T24] (  2,  2   )    long  ->  rcx         "dup spill"
 ;  V19 tmp8         [V19,T06] (  2, 16   )    long  ->  rcx         "dup spill"
 ;  V20 tmp9         [V20,T26] (  2,  1   )     int  ->  rcx        
 ;* V21 tmp10        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Decimal>
 ;* V22 tmp11        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V23 tmp12        [V23,T27] (  3,  1.50)     int  ->  rdx         "Inline return value spill temp"
+;  V23 tmp12        [V23,T27] (  3,  1.50)     int  ->  rcx         "Inline return value spill temp"
 ;  V24 tmp13        [V24,T15] (  4,  4   )     int  ->  rax         "Inlining Arg"
 ;  V25 tmp14        [V25,T13] (  5,  5   )   ubyte  ->  rax         "Inlining Arg"
-;  V26 tmp15        [V26,T30] (  2,  1   )     int  ->  r14         ld-addr-op "Inlining Arg"
+;  V26 tmp15        [V26,T30] (  2,  1   )     int  ->  r15         ld-addr-op "Inlining Arg"
 ;* V27 tmp16        [V27,T28] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V28 tmp17        [V28    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V29 tmp18        [V29    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -62,21 +62,22 @@
 ;  V51 tmp40        [V51,T41] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
 ;  V52 cse0         [V52,T25] (  3,  1.50)     ref  ->  rdx         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 32
 
 G_M46956_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     r15
        push     r14
+       push     r13
        push     rdi
        push     rsi
        push     rbp
        push     rbx
-       sub      rsp, 40
+       sub      rsp, 32
        mov      rsi, rcx
        ; byrRegs +[rsi]
        mov      rbx, rdx
        ; byrRegs +[rbx]
-                      ;; size=18 bbWeight=1 PerfScore 6.75
+                      ;; size=20 bbWeight=1 PerfScore 7.75
 G_M46956_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref, isz
        mov      rcx, rsi
        ; byrRegs +[rcx]
@@ -87,26 +88,26 @@ G_M46956_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi},
        ; byrRegs +[rcx]
        mov      edi, dword ptr [rsi+0x04]
        movzx    rbp, byte  ptr [rsi+0x08]
-       movzx    rdx, byte  ptr [rcx]
-       test     edx, edx
+       movzx    r14, byte  ptr [rcx]
+       test     r14d, r14d
        jne      SHORT G_M46956_IG09
-                        ;; size=28 bbWeight=1 PerfScore 12.50
+                     ;; size=30 bbWeight=1 PerfScore 12.50
 G_M46956_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
        ; byrRegs -[rcx rsi]
        mov      eax, edi
        neg      eax
        jns      SHORT G_M46956_IG04
-       xor      edx, edx
+       xor      ecx, ecx
        jmp      SHORT G_M46956_IG05
                        ;; size=10 bbWeight=0.50 PerfScore 1.88
 G_M46956_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
-       mov      edx, 28
+       mov      ecx, 28
        cmp      eax, 28
-       cmovle   edx, eax
+       cmovle   ecx, eax
                      ;; size=11 bbWeight=0.50 PerfScore 0.38
 G_M46956_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
-       movzx    rax, dl
-       mov      r14d, eax
+       movzx    rax, cl
+       mov      r15d, eax
        cmp      eax, 28
        jl       SHORT G_M46956_IG06
        cmp      eax, 28
@@ -127,15 +128,16 @@ G_M46956_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx},
        mov      eax, 1
                        ;; size=9 bbWeight=0.50 PerfScore 0.62
 G_M46956_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 40
+       add      rsp, 32
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
+       pop      r13
        pop      r14
        pop      r15
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 2.12
+                       ;; size=15 bbWeight=0.50 PerfScore 2.38
 G_M46956_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, gcvars, byref, isz
        ; byrRegs +[rsi]
        cmp      edi, 29
@@ -146,36 +148,38 @@ G_M46956_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M46956_IG11:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 40
+       add      rsp, 32
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
+       pop      r13
        pop      r14
        pop      r15
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 2.12
+                       ;; size=15 bbWeight=0.50 PerfScore 2.38
 G_M46956_IG12:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, gcvars, byref, isz
        ; byrRegs +[rbx rsi]
-       xor      r14d, r14d
+       xor      r15d, r15d
        cmp      edi, -28
        jle      SHORT G_M46956_IG17
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M46956_IG13:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref, isz
        dec      edi
-       lea      rax, [r14+4*r14]
-       add      edx, -48
-       lea      r14, [rdx+2*rax]
+       lea      rdx, [r15+4*r15]
+       add      r14d, -48
+       mov      eax, r14d
+       lea      r15, [rax+2*rdx]
        inc      rcx
-       movzx    rdx, byte  ptr [rcx]
-       mov      rax, 0xD1FFAB1E
-       cmp      r14, rax
+       movzx    r14, byte  ptr [rcx]
+       mov      rdx, 0xD1FFAB1E
+       cmp      r15, rdx
        jae      SHORT G_M46956_IG17
-       test     edx, edx
+       test     r14d, r14d
        je       SHORT G_M46956_IG15
        cmp      edi, -28
        jg       SHORT G_M46956_IG13
-                      ;; size=43 bbWeight=4 PerfScore 31.00
+                     ;; size=49 bbWeight=4 PerfScore 32.00
 G_M46956_IG14:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref, isz
        jmp      SHORT G_M46956_IG17
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
@@ -185,48 +189,49 @@ G_M46956_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rs
                        ;; size=4 bbWeight=0.50 PerfScore 0.62
 G_M46956_IG16:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref, isz
        dec      edi
-       lea      r14, [r14+4*r14]
-       add      r14, r14
-       mov      rax, 0xD1FFAB1E
-       cmp      r14, rax
+       lea      r15, [r15+4*r15]
+       add      r15, r15
+       mov      rdx, 0xD1FFAB1E
+       cmp      r15, rdx
        jae      SHORT G_M46956_IG17
        test     edi, edi
        jg       SHORT G_M46956_IG16
                        ;; size=28 bbWeight=4 PerfScore 15.00
 G_M46956_IG17:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref, isz
-       xor      r15d, r15d
+       xor      r13d, r13d
        jmp      SHORT G_M46956_IG21
                        ;; size=5 bbWeight=0.50 PerfScore 1.12
 G_M46956_IG18:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref, isz
-       mov      eax, r14d
+       mov      edx, r15d
+       lea      rdx, [rdx+4*rdx]
+       add      rdx, rdx
+       shr      r15, 32
+       mov      eax, r15d
        lea      rax, [rax+4*rax]
-       add      rax, rax
-       shr      r14, 32
-       mov      r8d, r14d
-       lea      r8, [r8+4*r8]
-       mov      r10, rax
-       shr      r10, 32
-       lea      r8, [r10+2*r8]
-       mov      r14d, eax
-       mov      rax, r8
-       shl      rax, 32
-       add      r14, rax
+       mov      r8, rdx
        shr      r8, 32
-       lea      eax, [r15+4*r15]
-       lea      r15d, [r8+2*rax]
-       test     edx, edx
+       lea      rax, [r8+2*rax]
+       mov      r15d, edx
+       mov      rdx, rax
+       shl      rdx, 32
+       add      r15, rdx
+       shr      rax, 32
+       lea      edx, [r13+4*r13]
+       lea      r13d, [rax+2*rdx]
+       test     r14d, r14d
        je       SHORT G_M46956_IG20
-       add      edx, -48
-       mov      eax, edx
-       add      r14, rax
-       cmp      r14, rdx
+       add      r14d, -48
+       mov      edx, r14d
+       add      r15, rdx
+       mov      edx, r14d
+       cmp      r15, rdx
        jae      SHORT G_M46956_IG19
-       inc      r15d
-                       ;; size=77 bbWeight=2 PerfScore 19.50
+       inc      r13d
+                       ;; size=84 bbWeight=2 PerfScore 23.00
 G_M46956_IG19:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
        inc      rcx
-       movzx    rdx, byte  ptr [rcx]
-                       ;; size=6 bbWeight=2 PerfScore 4.50
+       movzx    r14, byte  ptr [rcx]
+                       ;; size=7 bbWeight=2 PerfScore 4.50
 G_M46956_IG20:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
        dec      edi
                        ;; size=2 bbWeight=2 PerfScore 0.50
@@ -235,59 +240,59 @@ G_M46956_IG21:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi},
        jg       SHORT G_M46956_IG23
                        ;; size=4 bbWeight=4 PerfScore 5.00
 G_M46956_IG22:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref, isz
...
  
+8 (+4.44%) : 15937.dasm - System.MemoryExtensions:TrimEnd(System.ReadOnlySpan1[ushort],System.ReadOnlySpan1[ushort]):System.ReadOnlySpan`1ushort
@@ -11,10 +11,10 @@
 ;  V00 RetBuf       [V00,T08] (  7,  4.50)   byref  ->  rbx         single-def
 ;  V01 arg0         [V01,T05] (  4,  8   )   byref  ->  rdx         ld-addr-op single-def
 ;  V02 arg1         [V02,T06] (  4,  8   )   byref  ->   r8         ld-addr-op single-def
-;  V03 loc0         [V03,T04] (  8, 21.50)     int  ->  rcx        
-;  V04 loc1         [V04,T00] (  5, 84   )     int  ->  rax        
+;  V03 loc0         [V03,T04] (  8, 21.50)     int  ->  r15        
+;  V04 loc1         [V04,T00] (  5, 84   )     int  ->  rcx        
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T11] (  4,  4   )     int  ->  rsi         "Inlining Arg"
+;  V06 tmp1         [V06,T11] (  4,  4   )     int  ->  r15         "Inlining Arg"
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V08 tmp3         [V08    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
 ;  V09 tmp4         [V09,T10] (  4,  6   )   byref  ->  rbp         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
@@ -22,27 +22,28 @@
 ;  V11 tmp6         [V11,T02] (  2, 33   )   byref  ->  rsi         single-def "field V02._reference (fldOffset=0x0)" P-INDEP
 ;  V12 tmp7         [V12,T03] (  4, 22   )     int  ->  rdi         "field V02._length (fldOffset=0x8)" P-INDEP
 ;  V13 tmp8         [V13,T12] (  2,  1   )   byref  ->  rbp         single-def "field V07._reference (fldOffset=0x0)" P-INDEP
-;  V14 tmp9         [V14,T13] (  2,  1   )     int  ->  rsi         "field V07._length (fldOffset=0x8)" P-INDEP
+;  V14 tmp9         [V14,T13] (  2,  1   )     int  ->  r15         "field V07._length (fldOffset=0x8)" P-INDEP
 ;* V15 tmp10        [V15    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp11        [V16    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp12        [V17    ] (  3,  3   )  struct (16) [rsp+0x20]  do-not-enreg[XSF] must-init addr-exposed "by-value struct argument" <System.ReadOnlySpan`1[ushort]>
-;  V18 cse0         [V18,T01] (  2, 36   )     int  ->  rdx         hoist "CSE - aggressive"
-;  V19 cse1         [V19,T07] (  2,  8   )    long  ->  rdx         hoist "CSE - aggressive"
+;  V17 tmp12        [V17    ] (  3,  3   )  struct (16) [rsp+0x28]  do-not-enreg[XSF] must-init addr-exposed "by-value struct argument" <System.ReadOnlySpan`1[ushort]>
+;  V18 cse0         [V18,T01] (  2, 36   )     int  ->  rax         hoist "CSE - aggressive"
+;  V19 cse1         [V19,T07] (  2,  8   )    long  ->  rax         hoist "CSE - aggressive"
 ;
-; Lcl frame size = 48
+; Lcl frame size = 56
 
 G_M46891_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, 48
+       sub      rsp, 56
        xor      eax, eax
-       mov      qword ptr [rsp+0x20], rax
+       mov      qword ptr [rsp+0x28], rax
        mov      rbx, rcx
        ; byrRegs +[rbx]
-                      ;; size=20 bbWeight=1 PerfScore 6.75
+                      ;; size=22 bbWeight=1 PerfScore 7.75
 G_M46891_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=010C {rdx rbx r8}, byref, isz
        ; byrRegs +[rdx r8]
        mov      rsi, bword ptr [r8]
@@ -56,9 +57,9 @@ G_M46891_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=010C {rdx rbx r
                        ;; size=18 bbWeight=1 PerfScore 9.25
 G_M46891_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0028 {rbx rbp}, byref
        ; byrRegs -[rdx rsi r8]
-       mov      bword ptr [rsp+0x20], rbp
-       mov      dword ptr [rsp+0x28], r14d
-       lea      rdx, [rsp+0x20]
+       mov      bword ptr [rsp+0x28], rbp
+       mov      dword ptr [rsp+0x30], r14d
+       lea      rdx, [rsp+0x28]
        mov      rcx, rbx
        ; byrRegs +[rcx]
        call     [System.MemoryExtensions:TrimEnd(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort]]
@@ -68,38 +69,39 @@ G_M46891_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0028 {rbx rb
        ; byrRegs +[rax]
                        ;; size=27 bbWeight=0.50 PerfScore 3.00
 G_M46891_IG04:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 48
+       add      rsp, 56
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
        pop      r14
+       pop      r15
        ret      
-                     ;; size=11 bbWeight=0.50 PerfScore 1.88
+                       ;; size=13 bbWeight=0.50 PerfScore 2.12
 G_M46891_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0068 {rbx rbp rsi}, gcvars, byref, isz
        ; byrRegs -[rax] +[rbp rsi]
-       lea      ecx, [r14-0x01]
-       test     ecx, ecx
+       lea      r15d, [r14-0x01]
+       test     r15d, r15d
        jl       SHORT G_M46891_IG11
-                        ;; size=8 bbWeight=0.50 PerfScore 0.88
+                        ;; size=9 bbWeight=0.50 PerfScore 0.88
 G_M46891_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0068 {rbx rbp rsi}, byref, isz
-       xor      eax, eax
+       xor      ecx, ecx
        test     edi, edi
        jle      SHORT G_M46891_IG11
-       mov      edx, ecx
-       cmp      ecx, r14d
+       mov      eax, r15d
+       cmp      r15d, r14d
        jae      SHORT G_M46891_IG13
-       movzx    rdx, word  ptr [rbp+2*rdx]
-                       ;; size=18 bbWeight=4 PerfScore 20.00
+       movzx    rax, word  ptr [rbp+2*rax]
+                       ;; size=19 bbWeight=4 PerfScore 20.00
 G_M46891_IG07:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=0068 {rbx rbp rsi}, byref, isz
-       mov      r8d, eax
-       movzx    r8, word  ptr [rsi+2*r8]
-       cmp      r8d, edx
+       mov      edx, ecx
+       movzx    rdx, word  ptr [rsi+2*rdx]
+       cmp      edx, eax
        je       SHORT G_M46891_IG10
-                      ;; size=13 bbWeight=32 PerfScore 112.00
+                       ;; size=10 bbWeight=32 PerfScore 112.00
 G_M46891_IG08:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0068 {rbx rbp rsi}, byref, isz
-       inc      eax
-       cmp      eax, edi
+       inc      ecx
+       cmp      ecx, edi
        jl       SHORT G_M46891_IG07
                        ;; size=6 bbWeight=16 PerfScore 24.00
 G_M46891_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0028 {rbx rbp}, byref, isz
@@ -108,33 +110,34 @@ G_M46891_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0028 {rbx rb
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
 G_M46891_IG10:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0068 {rbx rbp rsi}, byref, isz
        ; byrRegs +[rsi]
-       dec      ecx
+       dec      r15d
        jns      SHORT G_M46891_IG06
-                        ;; size=4 bbWeight=4 PerfScore 5.00
+                       ;; size=5 bbWeight=4 PerfScore 5.00
 G_M46891_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0028 {rbx rbp}, byref, isz
        ; byrRegs -[rsi]
-       lea      esi, [rcx+0x01]
-       cmp      esi, r14d
+       inc      r15d
+       cmp      r15d, r14d
        ja       SHORT G_M46891_IG14
-       mov      ecx, esi
+       mov      ecx, r15d
        not      ecx
        shr      ecx, 31
        call     [<unknown method>]
        ; gcr arg pop 0
        mov      bword ptr [rbx], rbp
-       mov      dword ptr [rbx+0x08], esi
+       mov      dword ptr [rbx+0x08], r15d
        mov      rax, rbx
        ; byrRegs +[rax]
-                      ;; size=30 bbWeight=0.50 PerfScore 4.00
+                       ;; size=32 bbWeight=0.50 PerfScore 3.88
 G_M46891_IG12:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 48
+       add      rsp, 56
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
        pop      r14
+       pop      r15
        ret      
-                     ;; size=11 bbWeight=0.50 PerfScore 1.88
+                       ;; size=13 bbWeight=0.50 PerfScore 2.12
 G_M46891_IG13:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; byrRegs -[rax rbx rbp]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -146,7 +149,7 @@ G_M46891_IG14:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 180, prolog size 20, PerfScore 189.62, instruction count 68, allocated bytes for code 180 (MethodHash=f7e248d4) for method System.MemoryExtensions:TrimEnd(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort] (FullOpts)
+; Total bytes of code 188, prolog size 22, PerfScore 191.00, instruction count 71, allocated bytes for code 188 (MethodHash=f7e248d4) for method System.MemoryExtensions:TrimEnd(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort] (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -154,14 +157,15 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0A
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x0C
+  CountOfUnwindCodes: 7
   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: 0x0C UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 6 * 8 + 8 = 56 = 0x38
+    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)
  
  
benchmarks.run_pgo.windows.x64.checked.mch
-48 (-6.58%) : 77673.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalList(System.Canon[]):this (Tier1)
@@ -10,15 +10,15 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T11] (  8,  5.26)     ref  ->  rsi         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T01] (  9, 79.41)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
-;  V02 loc0         [V02,T05] ( 17, 18.85)     ref  ->  rdi         class-hnd <System.__Canon[]>
-;  V03 loc1         [V03,T07] (  6, 12.40)     int  ->  rbp        
+;  V01 arg1         [V01,T03] (  9, 14.26)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
+;  V02 loc0         [V02,T02] ( 17, 18.85)     ref  ->  rdi         class-hnd <System.__Canon[]>
+;  V03 loc1         [V03,T06] (  5, 12.40)     int  ->  rbp        
 ;  V04 loc2         [V04,T10] (  9,  7.94)     int  ->  r14        
-;  V05 loc3         [V05,T02] (  6, 78.87)     int  ->  r15        
-;  V06 loc4         [V06,T08] (  9, 12.05)     ref  ->  r13         class-hnd <System.__Canon>
-;  V07 loc5         [V07,T03] (  3, 76.22)   ubyte  ->  r12        
-;  V08 loc6         [V08,T04] ( 14, 42.43)     int  ->  [rsp+0x3C] 
-;  V09 loc7         [V09,T00] ( 10,113.07)     ref  ->  [rsp+0x28]  class-hnd <System.__Canon>
+;  V05 loc3         [V05,T05] (  6, 13.72)     int  ->  r15        
+;  V06 loc4         [V06,T07] (  9, 12.05)     ref  ->  r13         class-hnd <System.__Canon>
+;  V07 loc5         [V07,T08] (  3, 11.07)   ubyte  ->  r12        
+;  V08 loc6         [V08,T01] ( 11, 42.43)     int  ->  [rsp+0x3C] 
+;  V09 loc7         [V09,T00] ( 10, 47.92)     ref  ->  [rsp+0x28]  class-hnd <System.__Canon>
 ;  V10 loc8         [V10,T19] (  3,  0.38)     int  ->  r12        
 ;  V11 loc9         [V11    ] (  3,  0.57)     ref  ->  [rsp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.__Canon[]>
 ;  V12 OutArgs      [V12    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -27,7 +27,7 @@
 ;* V15 tmp3         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
 ;* V16 tmp4         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V17 tmp5         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Reflection.RuntimeMethodInfo>
-;* V18 tmp6         [V18,T06] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
+;* V18 tmp6         [V18,T04] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
 ;  V19 tmp7         [V19,T18] (  5,  0.38)     int  ->  r12         "Inline return value spill temp"
 ;  V20 tmp8         [V20,T13] (  3,  1.14)     int  ->  r12         "Inlining Arg"
 ;  V21 tmp9         [V21,T20] (  3,  0.38)     int  ->  r12         "Inline return value spill temp"
@@ -35,7 +35,7 @@
 ;* V23 tmp11        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V24 tmp12        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
 ;  V25 tmp13        [V25,T17] (  2,  0.76)    long  ->  rcx         "argument with side effect"
-;  V26 cse0         [V26,T09] (  6, 10.38)    long  ->  rcx         multi-def "CSE - aggressive"
+;  V26 cse0         [V26,T09] (  6, 10.38)    long  ->  rax         multi-def "CSE - aggressive"
 ;  V27 rat0         [V27,T15] (  3,  0.83)    long  ->  rcx         "Spilling to split statement for tree"
 ;  V28 rat1         [V28,T16] (  3,  0.76)    long  ->  rcx         "runtime lookup"
 ;  V29 rat2         [V29,T14] (  3,  1.06)    long  ->  rax         "fgMakeTemp is creating a new local variable"
@@ -60,68 +60,64 @@ G_M8298_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      rbx, rdx
        ; gcrRegs +[rbx]
                        ;; size=34 bbWeight=1 PerfScore 11.00
-G_M8298_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+G_M8298_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rsi+0x08]
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       G_M8298_IG11
-                       ;; size=13 bbWeight=1 PerfScore 3.25
+       je       SHORT G_M8298_IG10
+                       ;; size=9 bbWeight=1 PerfScore 3.25
 G_M8298_IG03:        ; bbWeight=0.88, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
        mov      ebp, dword ptr [rdi+0x08]
        xor      r14d, r14d
        xor      r15d, r15d
        cmp      dword ptr [rbx+0x08], 0
-       jle      G_M8298_IG19
+       jle      G_M8298_IG23
                         ;; size=19 bbWeight=0.88 PerfScore 5.74
-G_M8298_IG04:        ; bbWeight=0.88, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M8298_IG04:        ; bbWeight=0.88, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
        mov      edx, r15d
        mov      r13, gword ptr [rbx+8*rdx+0x10]
        ; gcrRegs +[r13]
        xor      r12d, r12d
        xor      edx, edx
        test     ebp, ebp
-       jle      SHORT G_M8298_IG10
-                       ;; size=17 bbWeight=0.88 PerfScore 3.53
-G_M8298_IG05:        ; bbWeight=0.44, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+       jle      G_M8298_IG18
+                       ;; size=21 bbWeight=0.88 PerfScore 3.53
+G_M8298_IG05:        ; bbWeight=0.44, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
        test     rdi, rdi
-       je       G_M8298_IG29
+       je       G_M8298_IG15
        test     r13, r13
-       je       G_M8298_IG29
-       mov      rcx, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
-       cmp      qword ptr [r13], rcx
-       jne      G_M8298_IG29
+       je       G_M8298_IG15
+       mov      rax, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
+       cmp      qword ptr [r13], rax
+       jne      SHORT G_M8298_IG15
        cmp      dword ptr [rdi+0x08], ebp
-       jl       G_M8298_IG29
-                       ;; size=47 bbWeight=0.44 PerfScore 4.74
-G_M8298_IG06:        ; bbWeight=9.90, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      r8d, edx
-       mov      rax, gword ptr [rdi+8*r8+0x10]
-       ; gcrRegs +[rax]
-       test     rax, rax
+       jl       SHORT G_M8298_IG15
+                       ;; size=39 bbWeight=0.44 PerfScore 4.74
+G_M8298_IG06:        ; bbWeight=9.90, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+       mov      ecx, edx
+       mov      r10, gword ptr [rdi+8*rcx+0x10]
+       ; gcrRegs +[r10]
+       test     r10, r10
+       je       G_M8298_IG18
+                       ;; size=16 bbWeight=9.90 PerfScore 34.65
+G_M8298_IG07:        ; bbWeight=9.21, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       cmp      qword ptr [r10], rax
+       jne      SHORT G_M8298_IG13
+       mov      rcx, qword ptr [r10+0x50]
+       cmp      rcx, qword ptr [r13+0x50]
        je       SHORT G_M8298_IG09
-                      ;; size=13 bbWeight=9.90 PerfScore 34.65
-G_M8298_IG07:        ; bbWeight=9.21, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref
-       cmp      qword ptr [rax], rcx
-       jne      G_M8298_IG27
-       mov      r8, qword ptr [rax+0x50]
-       cmp      r8, qword ptr [r13+0x50]
-       jne      G_M8298_IG27
-                       ;; size=23 bbWeight=9.21 PerfScore 92.14
-G_M8298_IG08:        ; bbWeight=74.46, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rsp+0x3C], edx
+                        ;; size=15 bbWeight=9.21 PerfScore 92.14
+G_M8298_IG08:        ; bbWeight=10.09, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r10]
        jmp      SHORT G_M8298_IG13
-                        ;; size=6 bbWeight=74.46 PerfScore 223.37
-G_M8298_IG09:        ; bbWeight=4.95, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
+                      ;; size=2 bbWeight=10.09 PerfScore 20.18
+G_M8298_IG09:        ; bbWeight=4.61, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[r10]
        mov      dword ptr [rsp+0x3C], edx
-       jmp      SHORT G_M8298_IG14
-                       ;; size=6 bbWeight=4.95 PerfScore 14.85
-G_M8298_IG10:        ; bbWeight=0.44, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rsp+0x3C], edx
-       jmp      SHORT G_M8298_IG14
-                       ;; size=6 bbWeight=0.44 PerfScore 1.32
-G_M8298_IG11:        ; bbWeight=0.12, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rdi r13]
+       jmp      SHORT G_M8298_IG12
+                       ;; size=6 bbWeight=4.61 PerfScore 13.82
+G_M8298_IG10:        ; bbWeight=0.12, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rdi r10 r13]
        lea      rcx, bword ptr [rsi+0x08]
        ; byrRegs +[rcx]
        mov      rdx, rbx
@@ -131,7 +127,7 @@ G_M8298_IG11:        ; bbWeight=0.12, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {
        ; byrRegs -[rcx]
        nop      
                        ;; size=13 bbWeight=0.12 PerfScore 0.24
-G_M8298_IG12:        ; bbWeight=0.12, epilog, nogc, extend
+G_M8298_IG11:        ; bbWeight=0.12, epilog, nogc, extend
        add      rsp, 72
        pop      rbx
        pop      rbp
@@ -143,38 +139,74 @@ G_M8298_IG12:        ; bbWeight=0.12, epilog, nogc, extend
        pop      r15
        ret      
                        ;; size=17 bbWeight=0.12 PerfScore 0.62
-G_M8298_IG13:        ; bbWeight=74.46, gcVars=0000000000000000 {}, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[rax rbx rdi r13]
+G_M8298_IG12:        ; bbWeight=9.31, gcVars=0000000000000000 {}, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; gcrRegs +[rbx rdi r10 r13]
        movsxd   rdx, r15d
        mov      rcx, rbx
        ; gcrRegs +[rcx]
-       mov      r8, rax
+       mov      r8, r10
        ; gcrRegs +[r8]
        call     CORINFO_HELP_ARRADDR_ST
-       ; gcrRegs -[rax rcx r8]
+       ; gcrRegs -[rcx r8 r10]
        ; gcr arg pop 0
        mov      r12d, 1
-                      ;; size=20 bbWeight=74.46 PerfScore 148.92
-G_M8298_IG14:        ; bbWeight=0.88, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       test     r12d, r12d
-       jne      SHORT G_M8298_IG18
-       test     r14d, r14d
-       jne      SHORT G_M8298_IG15
        mov      edx, dword ptr [rsp+0x3C]
+       jmp      SHORT G_M8298_IG18
+                       ;; size=26 bbWeight=9.31 PerfScore 46.54
+G_M8298_IG13:        ; bbWeight=10.09, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       inc      edx
+       cmp      edx, ebp
+       jl       SHORT G_M8298_IG06
+                       ;; size=6 bbWeight=10.09 PerfScore 15.13
+G_M8298_IG14:        ; bbWeight=0.88, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M8298_IG18
+                       ;; size=2 bbWeight=0.88 PerfScore 1.76
+G_M8298_IG15:        ; bbWeight=0.10, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       cmp      edx, dword ptr [rdi+0x08]
+       jae      G_M8298_IG33
+       mov      r10d, edx
+       mov      r10, gword ptr [rdi+8*r10+0x10]
+       ; gcrRegs +[r10]
+       test     r10, r10
+       je       SHORT G_M8298_IG18
+                       ;; size=22 bbWeight=0.10 PerfScore 0.75
+G_M8298_IG16:        ; bbWeight=0.09, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       mov      rax, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
+       cmp      qword ptr [r13], rax
+       jne      G_M8298_IG34
+       cmp      qword ptr [r10], rax
+       jne      SHORT G_M8298_IG17
+       mov      rcx, qword ptr [r10+0x50]
+       cmp      rcx, qword ptr [r13+0x50]
+       je       G_M8298_IG25
+                       ;; size=39 bbWeight=0.09 PerfScore 1.33
+G_M8298_IG17:        ; bbWeight=0.10, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r10]
+       inc      edx
+       mov      dword ptr [rsp+0x3C], edx
+       cmp      edx, ebp
+       mov      edx, dword ptr [rsp+0x3C]
+       jl       SHORT G_M8298_IG15
+                       ;; size=14 bbWeight=0.10 PerfScore 0.36
+G_M8298_IG18:        ; bbWeight=0.88, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       test     r12d, r12d
+       jne      SHORT G_M8298_IG22
+       test     r14d, r14d
+       jne      SHORT G_M8298_IG19
        mov      r14d, edx
-                      ;; size=17 bbWeight=0.88 PerfScore 3.31
-G_M8298_IG15:        ; bbWeight=0.88, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+                        ;; size=13 bbWeight=0.88 PerfScore 2.43
+G_M8298_IG19:        ; bbWeight=0.88, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        cmp      dword ptr [rdi+0x08], r14d
-       jle      SHORT G_M8298_IG21
-                       ;; size=6 bbWeight=0.88 PerfScore 3.53
-G_M8298_IG16:        ; bbWeight=0.88, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+       jle      G_M8298_IG31
+                       ;; size=10 bbWeight=0.88 PerfScore 3.53
+G_M8298_IG20:        ; bbWeight=0.88, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        cmp      r14d, dword ptr [rdi+0x08]
-       jae      G_M8298_IG35
+       jae      G_M8298_IG33
        mov      r8d, r14d
        cmp      gword ptr [rdi+8*r8+0x10], 0
-       jne      G_M8298_IG34
+       jne      G_M8298_IG35
                        ;; size=25 bbWeight=0.88 PerfScore 7.28
-G_M8298_IG17:        ; bbWeight=0.88, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+G_M8298_IG21:        ; bbWeight=0.88, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        mov      r8, qword ptr [rsi]
        mov      r8, qword ptr [r8+0x38]
        mov      r8, qword ptr [r8]
...
  
-48 (-6.58%) : 50808.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalList(System.Canon[]):this (Tier1)
@@ -10,15 +10,15 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T11] (  8,  5.26)     ref  ->  rsi         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T01] (  9, 79.41)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
-;  V02 loc0         [V02,T05] ( 17, 18.85)     ref  ->  rdi         class-hnd <System.__Canon[]>
-;  V03 loc1         [V03,T07] (  6, 12.40)     int  ->  rbp        
+;  V01 arg1         [V01,T03] (  9, 14.26)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
+;  V02 loc0         [V02,T02] ( 17, 18.85)     ref  ->  rdi         class-hnd <System.__Canon[]>
+;  V03 loc1         [V03,T06] (  5, 12.40)     int  ->  rbp        
 ;  V04 loc2         [V04,T10] (  9,  7.94)     int  ->  r14        
-;  V05 loc3         [V05,T02] (  6, 78.87)     int  ->  r15        
-;  V06 loc4         [V06,T08] (  9, 12.05)     ref  ->  r13         class-hnd <System.__Canon>
-;  V07 loc5         [V07,T03] (  3, 76.22)   ubyte  ->  r12        
-;  V08 loc6         [V08,T04] ( 14, 42.43)     int  ->  [rsp+0x3C] 
-;  V09 loc7         [V09,T00] ( 10,113.07)     ref  ->  [rsp+0x28]  class-hnd <System.__Canon>
+;  V05 loc3         [V05,T05] (  6, 13.72)     int  ->  r15        
+;  V06 loc4         [V06,T07] (  9, 12.05)     ref  ->  r13         class-hnd <System.__Canon>
+;  V07 loc5         [V07,T08] (  3, 11.07)   ubyte  ->  r12        
+;  V08 loc6         [V08,T01] ( 11, 42.43)     int  ->  [rsp+0x3C] 
+;  V09 loc7         [V09,T00] ( 10, 47.92)     ref  ->  [rsp+0x28]  class-hnd <System.__Canon>
 ;  V10 loc8         [V10,T19] (  3,  0.38)     int  ->  r12        
 ;  V11 loc9         [V11    ] (  3,  0.57)     ref  ->  [rsp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.__Canon[]>
 ;  V12 OutArgs      [V12    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -27,7 +27,7 @@
 ;* V15 tmp3         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
 ;* V16 tmp4         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V17 tmp5         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Reflection.RuntimeMethodInfo>
-;* V18 tmp6         [V18,T06] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
+;* V18 tmp6         [V18,T04] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
 ;  V19 tmp7         [V19,T18] (  5,  0.38)     int  ->  r12         "Inline return value spill temp"
 ;  V20 tmp8         [V20,T13] (  3,  1.14)     int  ->  r12         "Inlining Arg"
 ;  V21 tmp9         [V21,T20] (  3,  0.38)     int  ->  r12         "Inline return value spill temp"
@@ -35,7 +35,7 @@
 ;* V23 tmp11        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V24 tmp12        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
 ;  V25 tmp13        [V25,T17] (  2,  0.76)    long  ->  rcx         "argument with side effect"
-;  V26 cse0         [V26,T09] (  6, 10.38)    long  ->  rcx         multi-def "CSE - aggressive"
+;  V26 cse0         [V26,T09] (  6, 10.38)    long  ->  rax         multi-def "CSE - aggressive"
 ;  V27 rat0         [V27,T15] (  3,  0.83)    long  ->  rcx         "Spilling to split statement for tree"
 ;  V28 rat1         [V28,T16] (  3,  0.76)    long  ->  rcx         "runtime lookup"
 ;  V29 rat2         [V29,T14] (  3,  1.06)    long  ->  rax         "fgMakeTemp is creating a new local variable"
@@ -60,68 +60,64 @@ G_M8298_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      rbx, rdx
        ; gcrRegs +[rbx]
                        ;; size=34 bbWeight=1 PerfScore 11.00
-G_M8298_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+G_M8298_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rsi+0x08]
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       G_M8298_IG11
-                       ;; size=13 bbWeight=1 PerfScore 3.25
+       je       SHORT G_M8298_IG10
+                       ;; size=9 bbWeight=1 PerfScore 3.25
 G_M8298_IG03:        ; bbWeight=0.88, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
        mov      ebp, dword ptr [rdi+0x08]
        xor      r14d, r14d
        xor      r15d, r15d
        cmp      dword ptr [rbx+0x08], 0
-       jle      G_M8298_IG19
+       jle      G_M8298_IG23
                         ;; size=19 bbWeight=0.88 PerfScore 5.74
-G_M8298_IG04:        ; bbWeight=0.88, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M8298_IG04:        ; bbWeight=0.88, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
        mov      edx, r15d
        mov      r13, gword ptr [rbx+8*rdx+0x10]
        ; gcrRegs +[r13]
        xor      r12d, r12d
        xor      edx, edx
        test     ebp, ebp
-       jle      SHORT G_M8298_IG10
-                       ;; size=17 bbWeight=0.88 PerfScore 3.53
-G_M8298_IG05:        ; bbWeight=0.44, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+       jle      G_M8298_IG18
+                       ;; size=21 bbWeight=0.88 PerfScore 3.53
+G_M8298_IG05:        ; bbWeight=0.44, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
        test     rdi, rdi
-       je       G_M8298_IG29
+       je       G_M8298_IG15
        test     r13, r13
-       je       G_M8298_IG29
-       mov      rcx, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
-       cmp      qword ptr [r13], rcx
-       jne      G_M8298_IG29
+       je       G_M8298_IG15
+       mov      rax, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
+       cmp      qword ptr [r13], rax
+       jne      SHORT G_M8298_IG15
        cmp      dword ptr [rdi+0x08], ebp
-       jl       G_M8298_IG29
-                       ;; size=47 bbWeight=0.44 PerfScore 4.74
-G_M8298_IG06:        ; bbWeight=9.90, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      r8d, edx
-       mov      rax, gword ptr [rdi+8*r8+0x10]
-       ; gcrRegs +[rax]
-       test     rax, rax
+       jl       SHORT G_M8298_IG15
+                       ;; size=39 bbWeight=0.44 PerfScore 4.74
+G_M8298_IG06:        ; bbWeight=9.90, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+       mov      ecx, edx
+       mov      r10, gword ptr [rdi+8*rcx+0x10]
+       ; gcrRegs +[r10]
+       test     r10, r10
+       je       G_M8298_IG18
+                       ;; size=16 bbWeight=9.90 PerfScore 34.65
+G_M8298_IG07:        ; bbWeight=9.21, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       cmp      qword ptr [r10], rax
+       jne      SHORT G_M8298_IG13
+       mov      rcx, qword ptr [r10+0x50]
+       cmp      rcx, qword ptr [r13+0x50]
        je       SHORT G_M8298_IG09
-                      ;; size=13 bbWeight=9.90 PerfScore 34.65
-G_M8298_IG07:        ; bbWeight=9.21, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref
-       cmp      qword ptr [rax], rcx
-       jne      G_M8298_IG27
-       mov      r8, qword ptr [rax+0x50]
-       cmp      r8, qword ptr [r13+0x50]
-       jne      G_M8298_IG27
-                       ;; size=23 bbWeight=9.21 PerfScore 92.14
-G_M8298_IG08:        ; bbWeight=74.46, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rsp+0x3C], edx
+                        ;; size=15 bbWeight=9.21 PerfScore 92.14
+G_M8298_IG08:        ; bbWeight=10.09, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r10]
        jmp      SHORT G_M8298_IG13
-                        ;; size=6 bbWeight=74.46 PerfScore 223.37
-G_M8298_IG09:        ; bbWeight=4.95, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
+                      ;; size=2 bbWeight=10.09 PerfScore 20.18
+G_M8298_IG09:        ; bbWeight=4.61, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[r10]
        mov      dword ptr [rsp+0x3C], edx
-       jmp      SHORT G_M8298_IG14
-                       ;; size=6 bbWeight=4.95 PerfScore 14.85
-G_M8298_IG10:        ; bbWeight=0.44, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rsp+0x3C], edx
-       jmp      SHORT G_M8298_IG14
-                       ;; size=6 bbWeight=0.44 PerfScore 1.32
-G_M8298_IG11:        ; bbWeight=0.12, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rdi r13]
+       jmp      SHORT G_M8298_IG12
+                       ;; size=6 bbWeight=4.61 PerfScore 13.82
+G_M8298_IG10:        ; bbWeight=0.12, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rdi r10 r13]
        lea      rcx, bword ptr [rsi+0x08]
        ; byrRegs +[rcx]
        mov      rdx, rbx
@@ -131,7 +127,7 @@ G_M8298_IG11:        ; bbWeight=0.12, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {
        ; byrRegs -[rcx]
        nop      
                        ;; size=13 bbWeight=0.12 PerfScore 0.24
-G_M8298_IG12:        ; bbWeight=0.12, epilog, nogc, extend
+G_M8298_IG11:        ; bbWeight=0.12, epilog, nogc, extend
        add      rsp, 72
        pop      rbx
        pop      rbp
@@ -143,38 +139,74 @@ G_M8298_IG12:        ; bbWeight=0.12, epilog, nogc, extend
        pop      r15
        ret      
                        ;; size=17 bbWeight=0.12 PerfScore 0.62
-G_M8298_IG13:        ; bbWeight=74.46, gcVars=0000000000000000 {}, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[rax rbx rdi r13]
+G_M8298_IG12:        ; bbWeight=9.31, gcVars=0000000000000000 {}, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; gcrRegs +[rbx rdi r10 r13]
        movsxd   rdx, r15d
        mov      rcx, rbx
        ; gcrRegs +[rcx]
-       mov      r8, rax
+       mov      r8, r10
        ; gcrRegs +[r8]
        call     CORINFO_HELP_ARRADDR_ST
-       ; gcrRegs -[rax rcx r8]
+       ; gcrRegs -[rcx r8 r10]
        ; gcr arg pop 0
        mov      r12d, 1
-                      ;; size=20 bbWeight=74.46 PerfScore 148.92
-G_M8298_IG14:        ; bbWeight=0.88, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       test     r12d, r12d
-       jne      SHORT G_M8298_IG18
-       test     r14d, r14d
-       jne      SHORT G_M8298_IG15
        mov      edx, dword ptr [rsp+0x3C]
+       jmp      SHORT G_M8298_IG18
+                       ;; size=26 bbWeight=9.31 PerfScore 46.54
+G_M8298_IG13:        ; bbWeight=10.09, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       inc      edx
+       cmp      edx, ebp
+       jl       SHORT G_M8298_IG06
+                       ;; size=6 bbWeight=10.09 PerfScore 15.13
+G_M8298_IG14:        ; bbWeight=0.88, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M8298_IG18
+                       ;; size=2 bbWeight=0.88 PerfScore 1.76
+G_M8298_IG15:        ; bbWeight=0.10, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       cmp      edx, dword ptr [rdi+0x08]
+       jae      G_M8298_IG33
+       mov      r10d, edx
+       mov      r10, gword ptr [rdi+8*r10+0x10]
+       ; gcrRegs +[r10]
+       test     r10, r10
+       je       SHORT G_M8298_IG18
+                       ;; size=22 bbWeight=0.10 PerfScore 0.75
+G_M8298_IG16:        ; bbWeight=0.09, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       mov      rax, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
+       cmp      qword ptr [r13], rax
+       jne      G_M8298_IG34
+       cmp      qword ptr [r10], rax
+       jne      SHORT G_M8298_IG17
+       mov      rcx, qword ptr [r10+0x50]
+       cmp      rcx, qword ptr [r13+0x50]
+       je       G_M8298_IG25
+                       ;; size=39 bbWeight=0.09 PerfScore 1.33
+G_M8298_IG17:        ; bbWeight=0.10, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r10]
+       inc      edx
+       mov      dword ptr [rsp+0x3C], edx
+       cmp      edx, ebp
+       mov      edx, dword ptr [rsp+0x3C]
+       jl       SHORT G_M8298_IG15
+                       ;; size=14 bbWeight=0.10 PerfScore 0.36
+G_M8298_IG18:        ; bbWeight=0.88, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       test     r12d, r12d
+       jne      SHORT G_M8298_IG22
+       test     r14d, r14d
+       jne      SHORT G_M8298_IG19
        mov      r14d, edx
-                      ;; size=17 bbWeight=0.88 PerfScore 3.31
-G_M8298_IG15:        ; bbWeight=0.88, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+                        ;; size=13 bbWeight=0.88 PerfScore 2.43
+G_M8298_IG19:        ; bbWeight=0.88, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        cmp      dword ptr [rdi+0x08], r14d
-       jle      SHORT G_M8298_IG21
-                       ;; size=6 bbWeight=0.88 PerfScore 3.53
-G_M8298_IG16:        ; bbWeight=0.88, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+       jle      G_M8298_IG31
+                       ;; size=10 bbWeight=0.88 PerfScore 3.53
+G_M8298_IG20:        ; bbWeight=0.88, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        cmp      r14d, dword ptr [rdi+0x08]
-       jae      G_M8298_IG35
+       jae      G_M8298_IG33
        mov      r8d, r14d
        cmp      gword ptr [rdi+8*r8+0x10], 0
-       jne      G_M8298_IG34
+       jne      G_M8298_IG35
                        ;; size=25 bbWeight=0.88 PerfScore 7.28
-G_M8298_IG17:        ; bbWeight=0.88, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+G_M8298_IG21:        ; bbWeight=0.88, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        mov      r8, qword ptr [rsi]
        mov      r8, qword ptr [r8+0x38]
        mov      r8, qword ptr [r8]
...
  
-47 (-6.52%) : 36913.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalList(System.Canon[]):this (Tier1)
@@ -10,15 +10,15 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T11] (  8,  5.61)     ref  ->  rsi         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T01] (  8,185.86)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
-;  V02 loc0         [V02,T05] ( 17, 34.04)     ref  ->  rdi         class-hnd <System.__Canon[]>
-;  V03 loc1         [V03,T07] (  6, 26.41)     int  ->  rbp        
+;  V01 arg1         [V01,T04] (  9, 28.15)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
+;  V02 loc0         [V02,T02] ( 17, 34.04)     ref  ->  rdi         class-hnd <System.__Canon[]>
+;  V03 loc1         [V03,T06] (  5, 26.41)     int  ->  rbp        
 ;  V04 loc2         [V04,T10] (  9, 10.16)     int  ->  r14        
-;  V05 loc3         [V05,T02] (  6,185.93)     int  ->  r15        
-;  V06 loc4         [V06,T08] (  9, 26.38)     ref  ->  r13         class-hnd <System.__Canon>
-;  V07 loc5         [V07,T03] (  3,182.66)   ubyte  ->  r12        
-;  V08 loc6         [V08,T04] ( 14, 96.96)     int  ->  [rsp+0x3C] 
-;  V09 loc7         [V09,T00] ( 10,272.21)     ref  ->  [rsp+0x28]  class-hnd <System.__Canon>
+;  V05 loc3         [V05,T05] (  6, 28.22)     int  ->  r15        
+;  V06 loc4         [V06,T07] (  9, 26.38)     ref  ->  r13         class-hnd <System.__Canon>
+;  V07 loc5         [V07,T08] (  3, 24.94)   ubyte  ->  r12        
+;  V08 loc6         [V08,T01] ( 11, 96.96)     int  ->  [rsp+0x3C] 
+;  V09 loc7         [V09,T00] ( 10,114.49)     ref  ->  [rsp+0x28]  class-hnd <System.__Canon>
 ;  V10 loc8         [V10,T19] (  3,  0.40)     int  ->  r12        
 ;  V11 loc9         [V11    ] (  3,  0.61)     ref  ->  [rsp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.__Canon[]>
 ;  V12 OutArgs      [V12    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -27,15 +27,15 @@
 ;* V15 tmp3         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
 ;* V16 tmp4         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V17 tmp5         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Reflection.RuntimeMethodInfo>
-;* V18 tmp6         [V18,T06] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
-;  V19 tmp7         [V19,T18] (  4,  0.61)     int  ->  r12         "Inline return value spill temp"
-;  V20 tmp8         [V20,T14] (  3,  0.81)     int  ->  r12         "Inlining Arg"
+;* V18 tmp6         [V18,T03] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
+;  V19 tmp7         [V19,T18] (  5,  0.61)     int  ->  r12         "Inline return value spill temp"
+;  V20 tmp8         [V20,T15] (  3,  0.81)     int  ->  r12         "Inlining Arg"
 ;  V21 tmp9         [V21,T20] (  3,  0.40)     int  ->  r12         "Inline return value spill temp"
-;  V22 tmp10        [V22,T15] (  3,  0.81)     int  ->  rax         "Inlining Arg"
+;  V22 tmp10        [V22,T14] (  5,  0.81)     int  ->  rax         "Inlining Arg"
 ;* V23 tmp11        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V24 tmp12        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
 ;  V25 tmp13        [V25,T17] (  2,  0.81)    long  ->  rcx         "argument with side effect"
-;  V26 cse0         [V26,T09] (  6, 24.19)    long  ->  rcx         multi-def "CSE - aggressive"
+;  V26 cse0         [V26,T09] (  6, 24.19)    long  ->  rax         multi-def "CSE - aggressive"
 ;  V27 rat0         [V27,T13] (  3,  0.89)    long  ->  rcx         "Spilling to split statement for tree"
 ;  V28 rat1         [V28,T16] (  3,  0.81)    long  ->  rcx         "runtime lookup"
 ;  V29 rat2         [V29,T12] (  3,  1.13)    long  ->  rax         "fgMakeTemp is creating a new local variable"
@@ -60,68 +60,64 @@ G_M8298_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      rbx, rdx
        ; gcrRegs +[rbx]
                        ;; size=34 bbWeight=1 PerfScore 11.00
-G_M8298_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+G_M8298_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rsi+0x08]
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       G_M8298_IG11
-                       ;; size=13 bbWeight=1 PerfScore 3.25
+       je       SHORT G_M8298_IG10
+                       ;; size=9 bbWeight=1 PerfScore 3.25
 G_M8298_IG03:        ; bbWeight=0.86, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
        mov      ebp, dword ptr [rdi+0x08]
        xor      r14d, r14d
        xor      r15d, r15d
        cmp      dword ptr [rbx+0x08], 0
-       jle      G_M8298_IG20
+       jle      G_M8298_IG24
                         ;; size=19 bbWeight=0.86 PerfScore 5.58
-G_M8298_IG04:        ; bbWeight=1.21, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M8298_IG04:        ; bbWeight=1.21, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
        mov      edx, r15d
        mov      r13, gword ptr [rbx+8*rdx+0x10]
        ; gcrRegs +[r13]
        xor      r12d, r12d
        xor      edx, edx
        test     ebp, ebp
-       jle      SHORT G_M8298_IG10
-                       ;; size=17 bbWeight=1.21 PerfScore 4.83
-G_M8298_IG05:        ; bbWeight=0.60, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+       jle      G_M8298_IG18
+                       ;; size=21 bbWeight=1.21 PerfScore 4.83
+G_M8298_IG05:        ; bbWeight=0.60, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
        test     rdi, rdi
-       je       G_M8298_IG29
+       je       G_M8298_IG15
        test     r13, r13
-       je       G_M8298_IG29
-       mov      rcx, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
-       cmp      qword ptr [r13], rcx
-       jne      G_M8298_IG29
+       je       G_M8298_IG15
+       mov      rax, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
+       cmp      qword ptr [r13], rax
+       jne      SHORT G_M8298_IG15
        cmp      dword ptr [rdi+0x08], ebp
-       jl       G_M8298_IG29
-                       ;; size=47 bbWeight=0.60 PerfScore 6.49
-G_M8298_IG06:        ; bbWeight=23.22, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      r8d, edx
-       mov      rax, gword ptr [rdi+8*r8+0x10]
-       ; gcrRegs +[rax]
-       test     rax, rax
+       jl       SHORT G_M8298_IG15
+                       ;; size=39 bbWeight=0.60 PerfScore 6.49
+G_M8298_IG06:        ; bbWeight=23.22, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+       mov      ecx, edx
+       mov      r10, gword ptr [rdi+8*rcx+0x10]
+       ; gcrRegs +[r10]
+       test     r10, r10
+       je       G_M8298_IG18
+                       ;; size=16 bbWeight=23.22 PerfScore 81.26
+G_M8298_IG07:        ; bbWeight=22.31, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       cmp      qword ptr [r10], rax
+       jne      SHORT G_M8298_IG13
+       mov      rcx, qword ptr [r10+0x50]
+       cmp      rcx, qword ptr [r13+0x50]
        je       SHORT G_M8298_IG09
-                      ;; size=13 bbWeight=23.22 PerfScore 81.26
-G_M8298_IG07:        ; bbWeight=22.31, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref
-       cmp      qword ptr [rax], rcx
-       jne      G_M8298_IG27
-       mov      r8, qword ptr [rax+0x50]
-       cmp      r8, qword ptr [r13+0x50]
-       jne      G_M8298_IG27
-                       ;; size=23 bbWeight=22.31 PerfScore 223.05
-G_M8298_IG08:        ; bbWeight=180.24, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rsp+0x3C], edx
+                        ;; size=15 bbWeight=22.31 PerfScore 223.05
+G_M8298_IG08:        ; bbWeight=23.50, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r10]
        jmp      SHORT G_M8298_IG13
-                        ;; size=6 bbWeight=180.24 PerfScore 540.73
-G_M8298_IG09:        ; bbWeight=11.61, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
+                      ;; size=2 bbWeight=23.50 PerfScore 47.00
+G_M8298_IG09:        ; bbWeight=11.15, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[r10]
        mov      dword ptr [rsp+0x3C], edx
-       jmp      SHORT G_M8298_IG14
-                       ;; size=6 bbWeight=11.61 PerfScore 34.82
-G_M8298_IG10:        ; bbWeight=0.60, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rsp+0x3C], edx
-       jmp      SHORT G_M8298_IG14
-                       ;; size=6 bbWeight=0.60 PerfScore 1.81
-G_M8298_IG11:        ; bbWeight=0.14, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rdi r13]
+       jmp      SHORT G_M8298_IG12
+                       ;; size=6 bbWeight=11.15 PerfScore 33.46
+G_M8298_IG10:        ; bbWeight=0.14, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rdi r10 r13]
        lea      rcx, bword ptr [rsi+0x08]
        ; byrRegs +[rcx]
        mov      rdx, rbx
@@ -131,7 +127,7 @@ G_M8298_IG11:        ; bbWeight=0.14, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {
        ; byrRegs -[rcx]
        nop      
                        ;; size=13 bbWeight=0.14 PerfScore 0.28
-G_M8298_IG12:        ; bbWeight=0.14, epilog, nogc, extend
+G_M8298_IG11:        ; bbWeight=0.14, epilog, nogc, extend
        add      rsp, 72
        pop      rbx
        pop      rbp
@@ -143,40 +139,76 @@ G_M8298_IG12:        ; bbWeight=0.14, epilog, nogc, extend
        pop      r15
        ret      
                        ;; size=17 bbWeight=0.14 PerfScore 0.74
-G_M8298_IG13:        ; bbWeight=180.24, gcVars=0000000000000000 {}, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[rax rbx rdi r13]
+G_M8298_IG12:        ; bbWeight=22.53, gcVars=0000000000000000 {}, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; gcrRegs +[rbx rdi r10 r13]
        movsxd   rdx, r15d
        mov      rcx, rbx
        ; gcrRegs +[rcx]
-       mov      r8, rax
+       mov      r8, r10
        ; gcrRegs +[r8]
        call     CORINFO_HELP_ARRADDR_ST
-       ; gcrRegs -[rax rcx r8]
+       ; gcrRegs -[rcx r8 r10]
        ; gcr arg pop 0
        mov      r12d, 1
-                      ;; size=20 bbWeight=180.24 PerfScore 360.49
-G_M8298_IG14:        ; bbWeight=1.21, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       test     r12d, r12d
-       jne      SHORT G_M8298_IG19
-       test     r14d, r14d
-       jne      SHORT G_M8298_IG16
-                       ;; size=10 bbWeight=1.21 PerfScore 3.02
-G_M8298_IG15:        ; bbWeight=0.86, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        mov      edx, dword ptr [rsp+0x3C]
+       jmp      SHORT G_M8298_IG18
+                       ;; size=26 bbWeight=22.53 PerfScore 112.65
+G_M8298_IG13:        ; bbWeight=23.50, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       inc      edx
+       cmp      edx, ebp
+       jl       SHORT G_M8298_IG06
+                       ;; size=6 bbWeight=23.50 PerfScore 35.25
+G_M8298_IG14:        ; bbWeight=1.21, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M8298_IG18
+                       ;; size=2 bbWeight=1.21 PerfScore 2.41
+G_M8298_IG15:        ; bbWeight=0.23, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       cmp      edx, dword ptr [rdi+0x08]
+       jae      G_M8298_IG32
+       mov      r10d, edx
+       mov      r10, gword ptr [rdi+8*r10+0x10]
+       ; gcrRegs +[r10]
+       test     r10, r10
+       je       SHORT G_M8298_IG18
+                       ;; size=22 bbWeight=0.23 PerfScore 1.76
+G_M8298_IG16:        ; bbWeight=0.23, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       mov      rax, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
+       cmp      qword ptr [r13], rax
+       jne      G_M8298_IG33
+       cmp      qword ptr [r10], rax
+       jne      SHORT G_M8298_IG17
+       mov      rcx, qword ptr [r10+0x50]
+       cmp      rcx, qword ptr [r13+0x50]
+       je       G_M8298_IG26
+                       ;; size=39 bbWeight=0.23 PerfScore 3.21
+G_M8298_IG17:        ; bbWeight=0.24, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r10]
+       inc      edx
+       mov      dword ptr [rsp+0x3C], edx
+       cmp      edx, ebp
+       mov      edx, dword ptr [rsp+0x3C]
+       jl       SHORT G_M8298_IG15
+                       ;; size=14 bbWeight=0.24 PerfScore 0.83
+G_M8298_IG18:        ; bbWeight=1.21, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       test     r12d, r12d
+       jne      SHORT G_M8298_IG23
+       test     r14d, r14d
+       jne      SHORT G_M8298_IG20
+                       ;; size=10 bbWeight=1.21 PerfScore 3.02
+G_M8298_IG19:        ; bbWeight=0.86, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        mov      r14d, edx
-                        ;; size=7 bbWeight=0.86 PerfScore 1.07
-G_M8298_IG16:        ; bbWeight=1.21, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+                        ;; size=3 bbWeight=0.86 PerfScore 0.21
+G_M8298_IG20:        ; bbWeight=1.21, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
        cmp      dword ptr [rdi+0x08], r14d
-       jle      SHORT G_M8298_IG22
+       jle      SHORT G_M8298_IG27
                         ;; size=6 bbWeight=1.21 PerfScore 4.83
-G_M8298_IG17:        ; bbWeight=1.21, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+G_M8298_IG21:        ; bbWeight=1.21, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        cmp      r14d, dword ptr [rdi+0x08]
-       jae      G_M8298_IG35
+       jae      G_M8298_IG32
        mov      r8d, r14d
        cmp      gword ptr [rdi+8*r8+0x10], 0
        jne      G_M8298_IG34
                        ;; size=25 bbWeight=1.21 PerfScore 9.95
...
  
+24 (+7.27%) : 70657.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
@@ -10,11 +10,11 @@
 ; 2 inlinees with PGO data; 10 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T04] (  8,102.00)     ref  ->  [rbp+0x100]  this class-hnd EH-live single-def tier0-frame <Microsoft.CodeAnalysis.PEModule>
+;  V00 this         [V00,T04] (  9,102.00)     ref  ->  [rbp+0x100]  this class-hnd EH-live single-def tier0-frame <Microsoft.CodeAnalysis.PEModule>
 ;  V01 loc0         [V01    ] (  8,500.99)  struct (16) [rbp+0xA8]  do-not-enreg[XS] addr-exposed ld-addr-op tier0-frame <System.Reflection.Metadata.CustomAttributeHandleCollection+Enumerator>
 ;  V02 loc1         [V02    ] (  1,  1   )  struct (16) [rbp+0x98]  do-not-enreg[XS] addr-exposed ld-addr-op tier0-frame <System.Reflection.Metadata.CustomAttributeHandleCollection>
 ;* V03 loc2         [V03    ] (  0,  0   )  struct ( 8) zero-ref    <System.Reflection.Metadata.CustomAttributeHandle>
-;  V04 loc3         [V04,T02] (  3,199.99)     int  ->  rsi        
+;  V04 loc3         [V04,T02] (  5,199.99)     int  ->  rsi        
 ;* V05 loc4         [V05    ] (  0,  0   )  struct ( 8) zero-ref    <System.Reflection.Metadata.TypeDefinitionHandle>
 ;  V06 loc5         [V06    ] (  4,  1   )  struct (16) [rbp+0x70]  do-not-enreg[XS] addr-exposed ld-addr-op tier0-frame <System.Reflection.Metadata.CustomAttribute>
 ;* V07 loc6         [V07,T14] (  0,  0   )   ubyte  ->  zero-ref   
@@ -31,14 +31,14 @@
 ;* V18 tmp10        [V18    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Reflection.Metadata.CustomAttributeHandle>
 ;* V19 tmp11        [V19    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp12        [V20    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.CustomAttributeHandle>
-;* V21 tmp13        [V21,T05] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V21 tmp13        [V21,T05] (  2,  0   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V22 tmp14        [V22    ] (  0,  0   )     int  ->  zero-ref    "field V03._rowId (fldOffset=0x0)" P-INDEP
 ;  V23 tmp15        [V23,T11] (  2,  0   )     int  ->  rdx         "field V05._rowId (fldOffset=0x0)" P-INDEP
 ;  V24 tmp16        [V24,T12] (  2,  0   )     int  ->  rcx         "field V10._vToken (fldOffset=0x0)" P-INDEP
 ;* V25 tmp17        [V25    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._reader (fldOffset=0x0)" P-INDEP
 ;* V26 tmp18        [V26    ] (  0,  0   )     int  ->  zero-ref    single-def "field V13._firstRowId (fldOffset=0x8)" P-INDEP
 ;* V27 tmp19        [V27    ] (  0,  0   )     int  ->  zero-ref    single-def "field V13._lastRowId (fldOffset=0xc)" P-INDEP
-;  V28 tmp20        [V28,T01] (  5,199.99)     int  ->  rbx         "field V14._rowId (fldOffset=0x0)" P-INDEP
+;  V28 tmp20        [V28,T01] (  6,199.99)     int  ->  rbx         "field V14._rowId (fldOffset=0x0)" P-INDEP
 ;  V29 tmp21        [V29,T03] (  2,199.99)     int  ->  rbx         "field V16._rowId (fldOffset=0x0)" P-INDEP
 ;* V30 tmp22        [V30    ] (  0,  0   )     int  ->  zero-ref    "field V18._rowId (fldOffset=0x0)" P-INDEP
 ;  V31 tmp23        [V31,T13] (  2,  0   )     int  ->  rdx         "field V20._rowId (fldOffset=0x0)" P-INDEP
@@ -62,37 +62,63 @@ G_M13056_IG01:        ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=000
                        ;; size=41 bbWeight=0.00 PerfScore 0.04
 G_M13056_IG02:        ; bbWeight=0.00, gcVars=0000000000000010 {V00}, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; GC ptr vars +{V00 V04}
-       jmp      SHORT G_M13056_IG05
+       jmp      SHORT G_M13056_IG04
                       ;; size=2 bbWeight=0.00 PerfScore 0.01
-G_M13056_IG03:        ; bbWeight=100.00, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
+G_M13056_IG03:        ; bbWeight=100.00, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        mov      rdx, gword ptr [rbp+0xA8]
        ; gcrRegs +[rdx]
        cmp      gword ptr [rdx+0x2B0], 0
-       jne      G_M13056_IG08
+       jne      SHORT G_M13056_IG07
        mov      ebx, dword ptr [rbp+0xB4]
        and      ebx, 0xD1FFAB1E
-                      ;; size=33 bbWeight=100.00 PerfScore 624.97
-G_M13056_IG04:        ; bbWeight=100.00, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       mov      edx, ebx
        ; gcrRegs -[rdx]
+       call     [<unknown method>]
+       ; gcrRegs -[rcx]
+       ; gcr arg pop 0
+       mov      esi, eax
+       cmp      esi, -1
+       jne      SHORT G_M13056_IG08
+                       ;; size=44 bbWeight=100.00 PerfScore 1099.95
+G_M13056_IG04:        ; bbWeight=100, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      rcx, gword ptr [rbp+0x100]
+       ; gcrRegs +[rcx]
+       mov      edx, dword ptr [rbp+0xB4]
+       cmp      edx, dword ptr [rbp+0xB0]
+       jge      SHORT G_M13056_IG06
+       inc      edx
+       mov      dword ptr [rbp+0xB4], edx
+       jmp      SHORT G_M13056_IG03
+                       ;; size=31 bbWeight=100 PerfScore 825.00
+G_M13056_IG05:        ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       test     eax, eax
+       jne      SHORT G_M13056_IG03
+       jmp      G_M13056_IG09
+                       ;; size=9 bbWeight=0 PerfScore 0.00
+G_M13056_IG06:        ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       mov      dword ptr [rbp+0xB4], 0xD1FFAB1E
+       xor      eax, eax
+       jmp      SHORT G_M13056_IG05
+                       ;; size=14 bbWeight=0 PerfScore 0.00
+G_M13056_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rcx]
+       lea      rcx, [rbp+0xA8]
+       call     [System.Reflection.Metadata.CustomAttributeHandleCollection+Enumerator:GetCurrentCustomAttributeIndirect():System.Reflection.Metadata.CustomAttributeHandle:this]
+       ; gcr arg pop 0
+       mov      ebx, eax
+       mov      rcx, gword ptr [rbp+0x100]
+       ; gcrRegs +[rcx]
        mov      edx, ebx
        call     [<unknown method>]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        mov      esi, eax
        cmp      esi, -1
+       je       SHORT G_M13056_IG04
+                       ;; size=37 bbWeight=0 PerfScore 0.00
+G_M13056_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rbp+0x100]
        ; gcrRegs +[rcx]
-       jne      SHORT G_M13056_IG06
-                       ;; size=22 bbWeight=100.00 PerfScore 574.97
-G_M13056_IG05:        ; bbWeight=100, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
-       mov      edx, dword ptr [rbp+0xB4]
-       cmp      edx, dword ptr [rbp+0xB0]
-       jge      SHORT G_M13056_IG07
-       inc      edx
-       mov      dword ptr [rbp+0xB4], edx
-       jmp      SHORT G_M13056_IG03
-                       ;; size=24 bbWeight=100 PerfScore 725.00
-G_M13056_IG06:        ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        mov      byte  ptr [rcx+0x65], 2
        call     [Microsoft.CodeAnalysis.PEModule:get_MetadataReader():System.Reflection.Metadata.MetadataReader:this]
        ; gcrRegs -[rcx] +[rax]
@@ -128,24 +154,8 @@ G_M13056_IG06:        ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        jmp      SHORT G_M13056_IG11
-                      ;; size=87 bbWeight=0 PerfScore 0.00
-G_M13056_IG07:        ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs +[rcx]
-       mov      dword ptr [rbp+0xB4], 0xD1FFAB1E
-       jmp      SHORT G_M13056_IG09
-                       ;; size=12 bbWeight=0 PerfScore 0.00
-G_M13056_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rcx]
-       lea      rcx, [rbp+0xA8]
-       call     [System.Reflection.Metadata.CustomAttributeHandleCollection+Enumerator:GetCurrentCustomAttributeIndirect():System.Reflection.Metadata.CustomAttributeHandle:this]
-       ; gcr arg pop 0
-       mov      ebx, eax
-       mov      rcx, gword ptr [rbp+0x100]
-       ; gcrRegs +[rcx]
-       jmp      G_M13056_IG04
-                       ;; size=27 bbWeight=0 PerfScore 0.00
+                      ;; size=94 bbWeight=0 PerfScore 0.00
 G_M13056_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rcx]
        mov      rcx, gword ptr [rbp+0x100]
        ; gcrRegs +[rcx]
        mov      byte  ptr [rcx+0x65], 1
@@ -193,7 +203,7 @@ G_M13056_IG15:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 330, prolog size 41, PerfScore 1924.99, instruction count 83, allocated bytes for code 330 (MethodHash=ddc4ccff) for method Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
+; Total bytes of code 354, prolog size 41, PerfScore 1925.00, instruction count 92, allocated bytes for code 354 (MethodHash=ddc4ccff) for method Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
  
+21 (+8.68%) : 85385.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
@@ -16,9 +16,9 @@
 ;  V04 loc2         [V04,T02] (  9,  4.85)     int  ->  rbp        
 ;  V05 loc3         [V05,T04] (  5,  3.57)     int  ->  r14        
 ;* V06 loc4         [V06    ] (  0,  0   )     int  ->  zero-ref   
-;  V07 loc5         [V07,T05] (  3,  2.72)     int  ->   r8        
-;  V08 loc6         [V08,T10] (  2,  0.72)   ubyte  ->  rcx        
-;  V09 loc7         [V09,T08] (  3,  1.43)     int  ->  rdx        
+;  V07 loc5         [V07,T05] (  3,  2.72)     int  ->  rcx        
+;  V08 loc6         [V08,T10] (  2,  0.72)   ubyte  ->  r13        
+;  V09 loc7         [V09,T08] (  3,  1.43)     int  ->  r12        
 ;  V10 OutArgs      [V10    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V11 tmp1         [V11    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V12 tmp2         [V12    ] (  2,  1   )     int  ->  [rsp+0x20]  do-not-enreg[X] addr-exposed "field V03._count (fldOffset=0x0)" P-DEP
@@ -32,6 +32,8 @@
 G_M9744_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     r15
        push     r14
+       push     r13
+       push     r12
        push     rdi
        push     rsi
        push     rbp
@@ -41,7 +43,7 @@ G_M9744_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs +[rbx]
        mov      rsi, rdx
        ; byrRegs +[rsi]
-                      ;; size=18 bbWeight=1 PerfScore 6.75
+                      ;; size=22 bbWeight=1 PerfScore 8.75
 G_M9744_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
@@ -58,22 +60,22 @@ G_M9744_IG03:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi
        shl      rax, 4
        lea      r15, bword ptr [rdi+rax+0x10]
        ; byrRegs +[r15]
-       mov      r8d, dword ptr [r15+0x08]
+       mov      ecx, dword ptr [r15+0x08]
        lea      eax, [rbp+0x01]
-       sub      r8d, eax
+       sub      ecx, eax
        je       SHORT G_M9744_IG07
-                       ;; size=44 bbWeight=1 PerfScore 14.75
+                     ;; size=43 bbWeight=1 PerfScore 14.75
 G_M9744_IG04:        ; bbWeight=0.72, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi}, byref, isz
        ; byrRegs -[r15]
-       test     r8d, r8d
+       test     ecx, ecx
        jge      SHORT G_M9744_IG03
-       movzx    rcx, byte  ptr [rbx+0x1D]
-       mov      edx, dword ptr [rbx+0xA0]
-       mov      eax, edx
+       movzx    r13, byte  ptr [rbx+0x1D]
+       mov      r12d, dword ptr [rbx+0xA0]
+       mov      eax, r12d
        sub      eax, ebp
        test     eax, eax
        jg       SHORT G_M9744_IG11
-                       ;; size=23 bbWeight=0.72 PerfScore 5.02
+                       ;; size=25 bbWeight=0.72 PerfScore 5.02
 G_M9744_IG05:        ; bbWeight=0.72, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
        ; gcrRegs -[rdi]
        xor      rax, rax
@@ -88,10 +90,12 @@ G_M9744_IG06:        ; bbWeight=0.72, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
        pop      rbp
        pop      rsi
        pop      rdi
+       pop      r12
+       pop      r13
        pop      r14
        pop      r15
        ret      
-                     ;; size=13 bbWeight=0.72 PerfScore 3.05
+                       ;; size=17 bbWeight=0.72 PerfScore 3.76
 G_M9744_IG07:        ; bbWeight=0.28, gcVars=0000000000000000 {}, gcrefRegs=0088 {rbx rdi}, byrefRegs=8040 {rsi r15}, gcvars, byref, isz
        ; gcrRegs +[rdi]
        ; byrRegs +[rsi r15]
@@ -134,10 +138,12 @@ G_M9744_IG09:        ; bbWeight=0.28, epilog, nogc, extend
        pop      rbp
        pop      rsi
        pop      rdi
+       pop      r12
+       pop      r13
        pop      r14
        pop      r15
        ret      
-                     ;; size=13 bbWeight=0.28 PerfScore 1.20
+                       ;; size=17 bbWeight=0.28 PerfScore 1.49
 G_M9744_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
@@ -145,18 +151,18 @@ G_M9744_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {r
 G_M9744_IG11:        ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi}, byref, isz
        ; gcrRegs +[rdi]
        ; byrRegs +[rsi]
-       test     ecx, ecx
+       test     r13d, r13d
        je       SHORT G_M9744_IG12
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
        mov      ecx, dword ptr [rcx+0x08]
        ; gcrRegs -[rcx]
        add      ecx, ecx
-       sub      edx, ecx
-       sub      edx, ebp
-       test     edx, edx
-       jle      SHORT G_M9744_IG05
-                       ;; size=21 bbWeight=0 PerfScore 0.00
+       sub      r12d, ecx
+       sub      r12d, ebp
+       test     r12d, r12d
+       jle      G_M9744_IG05
+                       ;; size=29 bbWeight=0 PerfScore 0.00
 G_M9744_IG12:        ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi}, byref
        lea      rcx, [rsp+0x20]
        mov      edx, -1
@@ -165,7 +171,7 @@ G_M9744_IG12:        ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi
        jmp      G_M9744_IG03
                        ;; size=21 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 242, prolog size 18, PerfScore 44.76, instruction count 85, allocated bytes for code 242 (MethodHash=1626d9ef) for method System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
+; Total bytes of code 263, prolog size 22, PerfScore 47.76, instruction count 91, allocated bytes for code 263 (MethodHash=1626d9ef) for method System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -173,15 +179,17 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0C
-  CountOfUnwindCodes: 7
+  SizeOfProlog      : 0x10
+  CountOfUnwindCodes: 9
   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: 0x10 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
+    CodeOffset: 0x0C UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x0B UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
+    CodeOffset: 0x0A UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
+    CodeOffset: 0x09 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
+    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r12 (12)
+    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r13 (13)
     CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
     CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
  
+21 (+8.68%) : 4308.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
@@ -16,9 +16,9 @@
 ;  V04 loc2         [V04,T02] (  9,  4.84)     int  ->  rbp        
 ;  V05 loc3         [V05,T04] (  5,  3.56)     int  ->  r14        
 ;* V06 loc4         [V06    ] (  0,  0   )     int  ->  zero-ref   
-;  V07 loc5         [V07,T05] (  3,  2.72)     int  ->   r8        
-;  V08 loc6         [V08,T10] (  2,  0.72)   ubyte  ->  rcx        
-;  V09 loc7         [V09,T08] (  3,  1.44)     int  ->  rdx        
+;  V07 loc5         [V07,T05] (  3,  2.72)     int  ->  rcx        
+;  V08 loc6         [V08,T10] (  2,  0.72)   ubyte  ->  r13        
+;  V09 loc7         [V09,T08] (  3,  1.44)     int  ->  r12        
 ;  V10 OutArgs      [V10    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V11 tmp1         [V11    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V12 tmp2         [V12    ] (  2,  1   )     int  ->  [rsp+0x20]  do-not-enreg[X] addr-exposed "field V03._count (fldOffset=0x0)" P-DEP
@@ -32,6 +32,8 @@
 G_M9744_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     r15
        push     r14
+       push     r13
+       push     r12
        push     rdi
        push     rsi
        push     rbp
@@ -41,7 +43,7 @@ G_M9744_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs +[rbx]
        mov      rsi, rdx
        ; byrRegs +[rsi]
-                      ;; size=18 bbWeight=1 PerfScore 6.75
+                      ;; size=22 bbWeight=1 PerfScore 8.75
 G_M9744_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
@@ -58,22 +60,22 @@ G_M9744_IG03:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi
        shl      rax, 4
        lea      r15, bword ptr [rdi+rax+0x10]
        ; byrRegs +[r15]
-       mov      r8d, dword ptr [r15+0x08]
+       mov      ecx, dword ptr [r15+0x08]
        lea      eax, [rbp+0x01]
-       sub      r8d, eax
+       sub      ecx, eax
        je       SHORT G_M9744_IG07
-                       ;; size=44 bbWeight=1 PerfScore 14.75
+                     ;; size=43 bbWeight=1 PerfScore 14.75
 G_M9744_IG04:        ; bbWeight=0.72, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi}, byref, isz
        ; byrRegs -[r15]
-       test     r8d, r8d
+       test     ecx, ecx
        jge      SHORT G_M9744_IG03
-       movzx    rcx, byte  ptr [rbx+0x1D]
-       mov      edx, dword ptr [rbx+0xA0]
-       mov      eax, edx
+       movzx    r13, byte  ptr [rbx+0x1D]
+       mov      r12d, dword ptr [rbx+0xA0]
+       mov      eax, r12d
        sub      eax, ebp
        test     eax, eax
        jg       SHORT G_M9744_IG11
-                       ;; size=23 bbWeight=0.72 PerfScore 5.05
+                       ;; size=25 bbWeight=0.72 PerfScore 5.05
 G_M9744_IG05:        ; bbWeight=0.72, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
        ; gcrRegs -[rdi]
        xor      rax, rax
@@ -88,10 +90,12 @@ G_M9744_IG06:        ; bbWeight=0.72, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
        pop      rbp
        pop      rsi
        pop      rdi
+       pop      r12
+       pop      r13
        pop      r14
        pop      r15
        ret      
-                     ;; size=13 bbWeight=0.72 PerfScore 3.06
+                       ;; size=17 bbWeight=0.72 PerfScore 3.79
 G_M9744_IG07:        ; bbWeight=0.28, gcVars=0000000000000000 {}, gcrefRegs=0088 {rbx rdi}, byrefRegs=8040 {rsi r15}, gcvars, byref, isz
        ; gcrRegs +[rdi]
        ; byrRegs +[rsi r15]
@@ -134,10 +138,12 @@ G_M9744_IG09:        ; bbWeight=0.28, epilog, nogc, extend
        pop      rbp
        pop      rsi
        pop      rdi
+       pop      r12
+       pop      r13
        pop      r14
        pop      r15
        ret      
-                     ;; size=13 bbWeight=0.28 PerfScore 1.19
+                       ;; size=17 bbWeight=0.28 PerfScore 1.46
 G_M9744_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
@@ -145,18 +151,18 @@ G_M9744_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {r
 G_M9744_IG11:        ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi}, byref, isz
        ; gcrRegs +[rdi]
        ; byrRegs +[rsi]
-       test     ecx, ecx
+       test     r13d, r13d
        je       SHORT G_M9744_IG12
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
        mov      ecx, dword ptr [rcx+0x08]
        ; gcrRegs -[rcx]
        add      ecx, ecx
-       sub      edx, ecx
-       sub      edx, ebp
-       test     edx, edx
-       jle      SHORT G_M9744_IG05
-                       ;; size=21 bbWeight=0 PerfScore 0.00
+       sub      r12d, ecx
+       sub      r12d, ebp
+       test     r12d, r12d
+       jle      G_M9744_IG05
+                       ;; size=29 bbWeight=0 PerfScore 0.00
 G_M9744_IG12:        ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi}, byref
        lea      rcx, [rsp+0x20]
        mov      edx, -1
@@ -165,7 +171,7 @@ G_M9744_IG12:        ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi
        jmp      G_M9744_IG03
                        ;; size=21 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 242, prolog size 18, PerfScore 44.64, instruction count 85, allocated bytes for code 242 (MethodHash=1626d9ef) for method System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
+; Total bytes of code 263, prolog size 22, PerfScore 47.64, instruction count 91, allocated bytes for code 263 (MethodHash=1626d9ef) for method System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -173,15 +179,17 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0C
-  CountOfUnwindCodes: 7
+  SizeOfProlog      : 0x10
+  CountOfUnwindCodes: 9
   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: 0x10 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
+    CodeOffset: 0x0C UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x0B UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
+    CodeOffset: 0x0A UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
+    CodeOffset: 0x09 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
+    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r12 (12)
+    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r13 (13)
     CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
     CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
  
  
benchmarks.run_tiered.windows.x64.checked.mch
-17 (-3.04%) : 36198.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:QuickScanSyntaxToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:this (Tier1)
@@ -10,26 +10,26 @@
 ;
 ;  V00 this         [V00,T12] (  6,  5   )     ref  ->  rcx         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer>
 ;  V01 loc0         [V01,T04] (  9, 14.50)   ubyte  ->  rdx        
-;  V02 loc1         [V02,T03] ( 14, 21.04)     int  ->   r8        
-;  V03 loc2         [V03,T07] (  9, 11   )     int  ->   r9        
-;  V04 loc3         [V04,T08] (  7, 10   )     int  ->  rdi        
-;  V05 loc4         [V05,T11] (  6,  7.04)     ref  ->  rax         class-hnd single-def <ushort[]>
+;  V02 loc1         [V02,T03] ( 14, 21.04)     int  ->  rdi        
+;  V03 loc2         [V03,T07] (  9, 11   )     int  ->   r8        
+;  V04 loc3         [V04,T08] (  7, 10   )     int  ->  rbp        
+;  V05 loc4         [V05,T11] (  6,  7.04)     ref  ->   r9         class-hnd single-def <ushort[]>
 ;* V06 loc5         [V06,T28] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V07 loc6         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[ubyte]>
-;  V08 loc7         [V08,T05] (  8, 14   )     int  ->  r10        
+;  V08 loc7         [V08,T05] (  8, 14   )     int  ->  rax        
 ;* V09 loc8         [V09    ] (  0,  0   )   ubyte  ->  zero-ref   
 ;  V10 OutArgs      [V10    ] (  1,  1   )  struct (48) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V11 tmp1         [V11,T10] (  6,  8   )     int  ->  r11        
-;  V12 tmp2         [V12,T15] (  2,  4   )     ref  ->   r9         class-hnd exact single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow>
+;  V11 tmp1         [V11,T10] (  6,  8   )     int  ->  r10        
+;  V12 tmp2         [V12,T15] (  2,  4   )     ref  ->   r8         class-hnd exact single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow>
 ;  V13 tmp3         [V13,T25] (  2,  2   )     ref  ->  rcx         class-hnd exact single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow>
 ;  V14 tmp4         [V14,T17] (  3,  3   )     ref  ->  rsi         class-hnd single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LexerCache>
-;  V15 tmp5         [V15,T18] (  3,  3   )     ref  ->  rbp         class-hnd single-def "impAppendStmt" <ushort[]>
+;  V15 tmp5         [V15,T18] (  3,  3   )     ref  ->  r14         class-hnd single-def "impAppendStmt" <ushort[]>
 ;  V16 tmp6         [V16,T20] (  3,  3   )     int  ->  rbx         "impAppendStmt"
 ;  V17 tmp7         [V17,T13] (  3,  6   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow>
 ;* V18 tmp8         [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow>
 ;* V19 tmp9         [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow>
-;  V20 tmp10        [V20,T27] (  2,  2   )     int  ->   r9         "Inline return value spill temp"
-;  V21 tmp11        [V21,T14] (  3,  6   )     int  ->  rax         "Inlining Arg"
+;  V20 tmp10        [V20,T27] (  2,  2   )     int  ->   r8         "Inline return value spill temp"
+;  V21 tmp11        [V21,T14] (  3,  6   )     int  ->   r9         "Inlining Arg"
 ;* V22 tmp12        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow>
 ;* V23 tmp13        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V24 tmp14        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
@@ -39,7 +39,7 @@
 ;* V28 tmp18        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow>
 ;* V29 tmp19        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow>
 ;* V30 tmp20        [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken>
-;  V31 tmp21        [V31,T21] (  3,  3   )     int  ->  r14         "Inlining Arg"
+;  V31 tmp21        [V31,T21] (  3,  3   )     int  ->  rdi         "Inlining Arg"
 ;  V32 tmp22        [V32,T22] (  5,  2.50)     ref  ->  r13         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken>
 ;  V33 tmp23        [V33,T19] (  3,  3   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <System.Func`1[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken]>
 ;  V34 tmp24        [V34,T26] (  2,  2   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow>
@@ -49,11 +49,11 @@
 ;* V38 tmp28        [V38    ] (  0,  0   )     int  ->  zero-ref    single-def "field V23._length (fldOffset=0x8)" P-INDEP
 ;* V39 tmp29        [V39    ] (  0,  0   )   byref  ->  zero-ref    "field V24._reference (fldOffset=0x0)" P-INDEP
 ;* V40 tmp30        [V40    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
-;  V41 tmp31        [V41,T00] ( 12, 48   )     ref  ->  r14         "MD array shared temp"
+;  V41 tmp31        [V41,T00] ( 12, 48   )     ref  ->  r11         "MD array shared temp"
 ;  V42 tmp32        [V42,T01] (  6, 24   )     int  ->  rdx         "MD array shared temp"
-;  V43 tmp33        [V43,T02] (  6, 24   )     int  ->  r11         "MD array shared temp"
-;  V44 cse0         [V44,T24] (  3,  2.50)     int  ->  r14         "CSE - moderate"
-;  V45 cse1         [V45,T23] (  3,  2.50)     ref  ->  rbp         "CSE - moderate"
+;  V43 tmp33        [V43,T02] (  6, 24   )     int  ->  r10         "MD array shared temp"
+;  V44 cse0         [V44,T24] (  3,  2.50)     int  ->  rdi         "CSE - moderate"
+;  V45 cse1         [V45,T23] (  3,  2.50)     ref  ->  r14         "CSE - moderate"
 ;  V46 cse2         [V46,T09] ( 10,  8.50)     ref  ->  rbx         "CSE - aggressive"
 ;  V47 cse3         [V47,T16] (  4,  3.50)     int  ->  rsi         "CSE - moderate"
 ;  V48 cse4         [V48,T06] (  6, 12   )     int  ->  r15         multi-def "CSE - aggressive"
@@ -83,138 +83,137 @@ G_M28731_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
                        ;; size=19 bbWeight=1 PerfScore 6.50
 G_M28731_IG03:        ; bbWeight=1, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdx]
-       mov      r8d, dword ptr [rbx+0x24]
-       mov      r9d, dword ptr [rbx+0x2C]
-       lea      eax, [r8+0x2A]
-       cmp      r9d, eax
-       cmovg    r9d, eax
-       mov      edi, 0xD1FFAB1E
-       mov      rbp, gword ptr [rbx+0x10]
-       ; gcrRegs +[rbp]
-       mov      rax, rbp
-       ; gcrRegs +[rax]
+       mov      edi, dword ptr [rbx+0x24]
+       mov      r8d, dword ptr [rbx+0x2C]
+       lea      r9d, [rdi+0x2A]
        cmp      r8d, r9d
+       cmovg    r8d, r9d
+       mov      ebp, 0xD1FFAB1E
+       mov      r14, gword ptr [rbx+0x10]
+       ; gcrRegs +[r14]
+       mov      r9, r14
+       ; gcrRegs +[r9]
+       cmp      edi, r8d
        jge      G_M28731_IG13
-       test     rax, rax
+       test     r9, r9
        je       G_M28731_IG09
-       mov      r10d, r8d
-       or       r10d, r9d
+       mov      eax, edi
+       or       eax, r8d
        jl       G_M28731_IG09
-       cmp      dword ptr [rax+0x08], r9d
+       cmp      dword ptr [r9+0x08], r8d
        jl       G_M28731_IG09
-                      ;; size=71 bbWeight=1 PerfScore 15.50
-G_M28731_IG04:        ; bbWeight=3.96, gcrefRegs=002B {rax rcx rbx rbp}, byrefRegs=0000 {}, byref, isz
-       mov      r10d, r8d
-       movzx    r10, word  ptr [rax+2*r10+0x10]
-       cmp      r10d, 384
+                        ;; size=69 bbWeight=1 PerfScore 15.50
+G_M28731_IG04:        ; bbWeight=3.96, gcrefRegs=420A {rcx rbx r9 r14}, byrefRegs=0000 {}, byref, isz
+       mov      eax, edi
+       movzx    rax, word  ptr [r9+2*rax+0x10]
+       cmp      eax, 384
        jl       SHORT G_M28731_IG06
-                      ;; size=18 bbWeight=3.96 PerfScore 13.86
-G_M28731_IG05:        ; bbWeight=1.98, gcrefRegs=002B {rax rcx rbx rbp}, byrefRegs=0000 {}, byref, isz
-       mov      r11d, 9
+                      ;; size=15 bbWeight=3.96 PerfScore 13.86
+G_M28731_IG05:        ; bbWeight=1.98, gcrefRegs=420A {rcx rbx r9 r14}, byrefRegs=0000 {}, byref, isz
+       mov      r10d, 9
        jmp      SHORT G_M28731_IG07
                        ;; size=8 bbWeight=1.98 PerfScore 4.46
-G_M28731_IG06:        ; bbWeight=1.98, gcrefRegs=002B {rax rcx rbx rbp}, byrefRegs=0000 {}, byref
-       mov      r11d, r10d
-       mov      r14, 0xD1FFAB1E      ; static handle
-       movzx    r11, byte  ptr [r11+r14]
+G_M28731_IG06:        ; bbWeight=1.98, gcrefRegs=420A {rcx rbx r9 r14}, byrefRegs=0000 {}, byref
+       mov      r10d, eax
+       mov      r11, 0xD1FFAB1E      ; static handle
+       movzx    r10, byte  ptr [r10+r11]
                        ;; size=18 bbWeight=1.98 PerfScore 4.95
-G_M28731_IG07:        ; bbWeight=3.96, gcrefRegs=002B {rax rcx rbx rbp}, byrefRegs=0000 {}, byref
-       mov      r14, 0xD1FFAB1E      ; const ptr
-       mov      r14, gword ptr [r14]
-       ; gcrRegs +[r14]
-       sub      edx, dword ptr [r14+0x18]
-       cmp      edx, dword ptr [r14+0x10]
+G_M28731_IG07:        ; bbWeight=3.96, gcrefRegs=420A {rcx rbx r9 r14}, byrefRegs=0000 {}, byref
+       mov      r11, 0xD1FFAB1E      ; const ptr
+       mov      r11, gword ptr [r11]
+       ; gcrRegs +[r11]
+       sub      edx, dword ptr [r11+0x18]
+       cmp      edx, dword ptr [r11+0x10]
        jae      G_M28731_IG20
-       mov      r15d, dword ptr [r14+0x14]
+       mov      r15d, dword ptr [r11+0x14]
        imul     edx, r15d
-       movzx    r11, r11b
-       sub      r11d, dword ptr [r14+0x1C]
-       cmp      r11d, r15d
+       movzx    r10, r10b
+       sub      r10d, dword ptr [r11+0x1C]
+       cmp      r10d, r15d
        jae      G_M28731_IG20
-       add      r11d, edx
-       mov      edx, r11d
-       movzx    rdx, byte  ptr [r14+rdx+0x20]
+       add      r10d, edx
+       mov      edx, r10d
+       movzx    rdx, byte  ptr [r11+rdx+0x20]
        cmp      edx, 9
        jge      G_M28731_IG14
-       xor      r10d, edi
-       imul     edi, r10d, 0xD1FFAB1E
-       inc      r8d
-       cmp      r8d, r9d
+       xor      eax, ebp
+       imul     ebp, eax, 0xD1FFAB1E
+       inc      edi
+       cmp      edi, r8d
        jl       G_M28731_IG04
-                        ;; size=95 bbWeight=3.96 PerfScore 99.99
-G_M28731_IG08:        ; bbWeight=1, gcrefRegs=002A {rcx rbx rbp}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rax r14]
+                      ;; size=92 bbWeight=3.96 PerfScore 99.99
+G_M28731_IG08:        ; bbWeight=0.50, gcrefRegs=400A {rcx rbx r14}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[r9 r11]
        jmp      G_M28731_IG13
-                      ;; size=5 bbWeight=1 PerfScore 2.00
-G_M28731_IG09:        ; bbWeight=0.04, gcrefRegs=002B {rax rcx rbx rbp}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs +[rax]
-       cmp      r8d, dword ptr [rax+0x08]
+                        ;; size=5 bbWeight=0.50 PerfScore 1.00
+G_M28731_IG09:        ; bbWeight=0.04, gcrefRegs=420A {rcx rbx r9 r14}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[r9]
+       cmp      edi, dword ptr [r9+0x08]
        jae      G_M28731_IG20
-       mov      r10d, r8d
-       movzx    r10, word  ptr [rax+2*r10+0x10]
-       cmp      r10d, 384
+       mov      r11d, edi
+       movzx    rax, word  ptr [r9+2*r11+0x10]
+       cmp      eax, 384
        jl       SHORT G_M28731_IG11
-                      ;; size=28 bbWeight=0.04 PerfScore 0.30
-G_M28731_IG10:        ; bbWeight=0.02, gcrefRegs=002B {rax rcx rbx rbp}, byrefRegs=0000 {}, byref, isz
-       mov      r11d, 9
+                      ;; size=26 bbWeight=0.04 PerfScore 0.30
+G_M28731_IG10:        ; bbWeight=0.02, gcrefRegs=420A {rcx rbx r9 r14}, byrefRegs=0000 {}, byref, isz
+       mov      r10d, 9
        jmp      SHORT G_M28731_IG12
                        ;; size=8 bbWeight=0.02 PerfScore 0.05
-G_M28731_IG11:        ; bbWeight=0.02, gcrefRegs=002B {rax rcx rbx rbp}, byrefRegs=0000 {}, byref
-       mov      r11d, r10d
-       mov      r14, 0xD1FFAB1E      ; static handle
-       movzx    r11, byte  ptr [r11+r14]
+G_M28731_IG11:        ; bbWeight=0.02, gcrefRegs=420A {rcx rbx r9 r14}, byrefRegs=0000 {}, byref
+       mov      r10d, eax
+       mov      r11, 0xD1FFAB1E      ; static handle
+       movzx    r10, byte  ptr [r10+r11]
                        ;; size=18 bbWeight=0.02 PerfScore 0.05
-G_M28731_IG12:        ; bbWeight=0.04, gcrefRegs=002B {rax rcx rbx rbp}, byrefRegs=0000 {}, byref, isz
-       mov      r15, 0xD1FFAB1E      ; const ptr
-       mov      r14, gword ptr [r15]
-       ; gcrRegs +[r14]
-       sub      edx, dword ptr [r14+0x18]
-       cmp      edx, dword ptr [r14+0x10]
+G_M28731_IG12:        ; bbWeight=0.04, gcrefRegs=420A {rcx rbx r9 r14}, byrefRegs=0000 {}, byref, isz
+       mov      r11, 0xD1FFAB1E      ; const ptr
+       mov      r11, gword ptr [r11]
+       ; gcrRegs +[r11]
+       sub      edx, dword ptr [r11+0x18]
+       cmp      edx, dword ptr [r11+0x10]
        jae      G_M28731_IG20
-       mov      r15d, dword ptr [r14+0x14]
+       mov      r15d, dword ptr [r11+0x14]
        imul     edx, r15d
-       movzx    r11, r11b
-       sub      r11d, dword ptr [r14+0x1C]
-       cmp      r11d, r15d
+       movzx    r10, r10b
+       sub      r10d, dword ptr [r11+0x1C]
+       cmp      r10d, r15d
        jae      G_M28731_IG20
-       add      edx, r11d
-       movzx    rdx, byte  ptr [r14+rdx+0x20]
+       add      edx, r10d
+       movzx    rdx, byte  ptr [r11+rdx+0x20]
        cmp      edx, 9
        jge      SHORT G_M28731_IG14
-       xor      r10d, edi
-       imul     edi, r10d, 0xD1FFAB1E
-       inc      r8d
-       cmp      r8d, r9d
+       xor      eax, ebp
+       imul     ebp, eax, 0xD1FFAB1E
+       inc      edi
+       cmp      edi, r8d
        jl       G_M28731_IG09
-                        ;; size=88 bbWeight=0.04 PerfScore 1.00
-G_M28731_IG13:        ; bbWeight=0.50, gcrefRegs=002A {rcx rbx rbp}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rax r14]
+                      ;; size=85 bbWeight=0.04 PerfScore 1.00
+G_M28731_IG13:        ; bbWeight=0.50, gcrefRegs=400A {rcx rbx r14}, byrefRegs=0000 {}, byref
...
  
-25 (-2.71%) : 47746.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
@@ -10,28 +10,28 @@
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <BenchmarksGame.FannkuchRedux_2>
 ;  V01 arg1         [V01,T13] ( 13, 66   )     int  ->  rdx         single-def
-;  V02 loc0         [V02,T02] ( 26,260.04)     ref  ->  rcx         class-hnd exact <int[]>
-;  V03 loc1         [V03,T11] ( 12, 83.04)     ref  ->   r8         class-hnd exact <int[]>
-;  V04 loc2         [V04,T08] ( 10,120.72)     ref  ->  rax         class-hnd exact <int[]>
+;  V02 loc0         [V02,T02] ( 26,260.04)     ref  ->  rax         class-hnd exact <int[]>
+;  V03 loc1         [V03,T11] ( 12, 83.04)     ref  ->  r10         class-hnd exact <int[]>
+;  V04 loc2         [V04,T08] ( 10,120.72)     ref  ->   r8         class-hnd exact <int[]>
 ;  V05 loc3         [V05,T21] (  4, 21   )     int  ->  rbx        
 ;  V06 loc4         [V06,T31] (  3,  2.50)     int  ->  [rsp+0xF8]  tier0-frame
 ;  V07 loc5         [V07,T28] (  3,  3   )     int  ->  rsi        
-;  V08 loc6         [V08,T14] (  2, 64   )     int  ->  r10        
+;  V08 loc6         [V08,T14] (  2, 64   )     int  ->   r9        
 ;* V09 loc7         [V09    ] (  0,  0   )     int  ->  zero-ref   
-;  V10 loc8         [V10,T17] (  9, 38   )     int  ->   r9        
+;  V10 loc8         [V10,T17] (  9, 38   )     int  ->  rcx        
 ;  V11 loc9         [V11,T25] (  6, 11.50)     int  ->  r11        
 ;  V12 loc10        [V12,T20] ( 15, 22.58)     int  ->  r11        
 ;  V13 loc11        [V13,T22] (  3, 20   )     int  ->  rbp        
 ;  V14 loc12        [V14,T09] (  7, 98   )     int  ->  r15        
-;  V15 loc13        [V15,T10] (  7, 98   )     int  ->   r9        
+;  V15 loc13        [V15,T10] (  7, 98   )     int  ->  rcx        
 ;  V16 loc14        [V16,T18] (  2, 32   )     int  ->  r13        
-;  V17 loc15        [V17,T27] (  2,  8   )     int  ->   r9        
-;  V18 loc16        [V18,T12] (  6, 80   )     int  ->   r9        
-;  V19 loc17        [V19,T00] ( 24,408.56)     int  ->  r11        
-;  V20 loc18        [V20,T06] (  5,132   )     int  ->   r9        
-;  V21 loc19        [V21,T01] ( 16,289.27)     int  ->  r14        
+;  V17 loc15        [V17,T27] (  2,  8   )     int  ->  rcx        
+;  V18 loc16        [V18,T12] (  6, 80   )     int  ->  r14        
+;  V19 loc17        [V19,T00] ( 24,408.56)     int  ->  rcx        
+;  V20 loc18        [V20,T06] (  5,132   )     int  ->  r11        
+;  V21 loc19        [V21,T01] ( 16,289.27)     int  ->  r11        
 ;  V22 OutArgs      [V22    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V23 tmp1         [V23,T19] (  2, 32   )     int  ->  r11         "Strict ordering of exceptions for Array store"
+;  V23 tmp1         [V23,T19] (  2, 32   )     int  ->  rcx         "Strict ordering of exceptions for Array store"
 ;  V24 tmp2         [V24,T03] (  6,256.00)     int  ->  r13         "Strict ordering of exceptions for Array store"
 ;  V25 tmp3         [V25,T26] (  4,  8   )     ref  ->  rax         class-hnd exact single-def "dup spill" <int[]>
 ;  V26 tmp4         [V26,T24] (  2, 16   )     int  ->  r11         "Strict ordering of exceptions for Array store"
@@ -40,10 +40,10 @@
 ;  V29 cse0         [V29,T05] ( 17,139.27)     int  ->  rbp         multi-def "CSE - aggressive"
 ;  V30 cse1         [V30,T04] (  4,250.91)     int  ->  r15         "CSE - aggressive"
 ;  V31 cse2         [V31,T16] (  8, 43.08)     int  ->  r14         hoist multi-def "CSE - aggressive"
-;  V32 cse3         [V32,T07] (  4,126.72)     int  ->  r11         "CSE - aggressive"
+;  V32 cse3         [V32,T07] (  4,126.72)     int  ->  rcx         "CSE - aggressive"
 ;  V33 cse4         [V33,T29] (  4,  2.56)     int  ->  r15         "CSE - moderate"
 ;  V34 cse5         [V34,T30] (  4,  2.53)     int  ->  r15         "CSE - moderate"
-;  V35 cse6         [V35,T32] (  4,  1.28)     int  ->  r11         "CSE - moderate"
+;  V35 cse6         [V35,T32] (  4,  1.28)     int  ->  rcx         "CSE - moderate"
 ;
 ; Lcl frame size = 40
 
@@ -57,285 +57,283 @@ G_M61974_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        mov      qword ptr [rsp+0x120], rsi
        mov      qword ptr [rsp+0x118], rbx
        mov      edx, dword ptr [rsp+0x168]
-       mov      rcx, gword ptr [rsp+0x110]
-       ; gcrRegs +[rcx]
-       mov      r8, gword ptr [rsp+0x108]
-       ; gcrRegs +[r8]
-       mov      rax, gword ptr [rsp+0x100]
+       mov      rax, gword ptr [rsp+0x110]
        ; gcrRegs +[rax]
+       mov      r10, gword ptr [rsp+0x108]
+       ; gcrRegs +[r10]
+       mov      r8, gword ptr [rsp+0x100]
+       ; gcrRegs +[r8]
        mov      ebx, dword ptr [rsp+0xFC]
        mov      esi, dword ptr [rsp+0xF4]
-       mov      r10d, dword ptr [rsp+0xF0]
-       mov      r9d, dword ptr [rsp+0xE8]
+       mov      r9d, dword ptr [rsp+0xF0]
+       mov      ecx, dword ptr [rsp+0xE8]
        mov      r11d, dword ptr [rsp+0xE0]
-                      ;; size=129 bbWeight=0.01 PerfScore 0.25
-G_M61974_IG02:        ; bbWeight=0.01, gcrefRegs=0103 {rax rcx r8}, byrefRegs=0000 {}, byref
-       jmp      G_M61974_IG23
+                        ;; size=128 bbWeight=0.01 PerfScore 0.25
+G_M61974_IG02:        ; bbWeight=0.01, gcrefRegs=0501 {rax r8 r10}, byrefRegs=0000 {}, byref
+       jmp      G_M61974_IG22
                       ;; size=5 bbWeight=0.01 PerfScore 0.02
-G_M61974_IG03:        ; bbWeight=2, gcrefRegs=0103 {rax rcx r8}, byrefRegs=0000 {}, byref
-       mov      r9d, dword ptr [rcx+0x10]
-       test     r9d, r9d
-       jne      G_M61974_IG22
-                       ;; size=13 bbWeight=2 PerfScore 6.50
-G_M61974_IG04:        ; bbWeight=8, gcrefRegs=0103 {rax rcx r8}, byrefRegs=0000 {}, byref, isz
+G_M61974_IG03:        ; bbWeight=2, gcrefRegs=0501 {rax r8 r10}, byrefRegs=0000 {}, byref
+       mov      ecx, dword ptr [rax+0x10]
+       test     ecx, ecx
+       jne      G_M61974_IG21
+                       ;; size=11 bbWeight=2 PerfScore 6.50
+G_M61974_IG04:        ; bbWeight=8, gcrefRegs=0501 {rax r8 r10}, byrefRegs=0000 {}, byref, isz
        cmp      ebx, 1
        jne      SHORT G_M61974_IG06
                        ;; size=5 bbWeight=8 PerfScore 10.00
-G_M61974_IG05:        ; bbWeight=4, gcrefRegs=0103 {rax rcx r8}, byrefRegs=0000 {}, byref, isz
-       mov      ebp, dword ptr [rcx+0x08]
+G_M61974_IG05:        ; bbWeight=4, gcrefRegs=0501 {rax r8 r10}, byrefRegs=0000 {}, byref, isz
+       mov      ebp, dword ptr [rax+0x08]
        cmp      ebp, 1
-       jbe      G_M61974_IG37
-       mov      r9d, dword ptr [rcx+0x14]
-       mov      r11d, dword ptr [rcx+0x10]
-       mov      dword ptr [rcx+0x14], r11d
-       mov      dword ptr [rcx+0x10], r9d
+       jbe      G_M61974_IG36
+       mov      ecx, dword ptr [rax+0x14]
+       mov      r11d, dword ptr [rax+0x10]
+       mov      dword ptr [rax+0x14], r11d
+       mov      dword ptr [rax+0x10], ecx
        mov      ebx, -1
        jmp      SHORT G_M61974_IG03
-                      ;; size=35 bbWeight=4 PerfScore 46.00
-G_M61974_IG06:        ; bbWeight=8, gcrefRegs=0103 {rax rcx r8}, byrefRegs=0000 {}, byref, isz
-       mov      ebp, dword ptr [rcx+0x08]
+                        ;; size=33 bbWeight=4 PerfScore 46.00
+G_M61974_IG06:        ; bbWeight=8, gcrefRegs=0501 {rax r8 r10}, byrefRegs=0000 {}, byref, isz
+       mov      ebp, dword ptr [rax+0x08]
        cmp      ebp, 1
-       jbe      G_M61974_IG37
-       mov      r9d, dword ptr [rcx+0x14]
+       jbe      G_M61974_IG36
+       mov      r14d, dword ptr [rax+0x14]
        cmp      ebp, 2
-       jbe      G_M61974_IG37
-       mov      r11d, dword ptr [rcx+0x18]
-       mov      dword ptr [rcx+0x14], r11d
-       mov      dword ptr [rcx+0x18], r9d
+       jbe      G_M61974_IG36
+       mov      ecx, dword ptr [rax+0x18]
+       mov      dword ptr [rax+0x14], ecx
+       mov      dword ptr [rax+0x18], r14d
        mov      ebx, 1
-       mov      r11d, 2
+       mov      ecx, 2
        cmp      edx, 2
        jle      SHORT G_M61974_IG03
-       test     rax, rax
+       test     r8, r8
        je       G_M61974_IG15
        test     edx, edx
        jl       G_M61974_IG15
-       cmp      dword ptr [rax+0x08], edx
+       cmp      dword ptr [r8+0x08], edx
        jl       G_M61974_IG15
-                      ;; size=79 bbWeight=8 PerfScore 150.00
-G_M61974_IG07:        ; bbWeight=63.36, gcrefRegs=0103 {rax rcx r8}, byrefRegs=0000 {}, byref
-       mov      r9d, r11d
-       mov      r9d, dword ptr [rax+4*r9+0x10]
-       test     r9d, r9d
-       jne      G_M61974_IG21
-       cmp      r11d, r10d
-       je       G_M61974_IG35
-                       ;; size=26 bbWeight=63.36 PerfScore 300.96
-G_M61974_IG08:        ; bbWeight=31.68, gcrefRegs=0103 {rax rcx r8}, byrefRegs=0000 {}, byref, isz
-       mov      r9d, r11d
-       mov      dword ptr [rax+4*r9+0x10], r11d
-       mov      r9d, dword ptr [rcx+0x10]
-       xor      r14d, r14d
+                       ;; size=77 bbWeight=8 PerfScore 150.00
+G_M61974_IG07:        ; bbWeight=63.36, gcrefRegs=0501 {rax r8 r10}, byrefRegs=0000 {}, byref
+       mov      r11d, ecx
+       mov      r11d, dword ptr [r8+4*r11+0x10]
        test     r11d, r11d
+       jne      G_M61974_IG20
+       cmp      ecx, r9d
+       je       G_M61974_IG34
+                       ;; size=26 bbWeight=63.36 PerfScore 300.96
+G_M61974_IG08:        ; bbWeight=31.68, gcrefRegs=0501 {rax r8 r10}, byrefRegs=0000 {}, byref, isz
+       mov      r11d, ecx
+       mov      dword ptr [r8+4*r11+0x10], ecx
+       mov      r14d, dword ptr [rax+0x10]
+       xor      r11d, r11d
+       test     ecx, ecx
        jl       SHORT G_M61974_IG13
-                      ;; size=20 bbWeight=31.68 PerfScore 150.48
-G_M61974_IG09:        ; bbWeight=7.92, gcrefRegs=0103 {rax rcx r8}, byrefRegs=0000 {}, byref, isz
-       cmp      ebp, r11d
+                        ;; size=19 bbWeight=31.68 PerfScore 150.48
+G_M61974_IG09:        ; bbWeight=7.92, gcrefRegs=0501 {rax r8 r10}, byrefRegs=0000 {}, byref, isz
+       cmp      ebp, ecx
        jle      SHORT G_M61974_IG12
-                      ;; size=5 bbWeight=7.92 PerfScore 9.90
-G_M61974_IG10:        ; bbWeight=62.73, gcrefRegs=0103 {rax rcx r8}, byrefRegs=0000 {}, byref, isz
-       lea      r15d, [r14+0x01]
+                     ;; size=4 bbWeight=7.92 PerfScore 9.90
+G_M61974_IG10:        ; bbWeight=62.73, gcrefRegs=0501 {rax r8 r10}, byrefRegs=0000 {}, byref, isz
+       lea      r15d, [r11+0x01]
        cmp      r15d, ebp
-       jae      G_M61974_IG37
+       jae      G_M61974_IG36
        mov      r13d, r15d
-       mov      r13d, dword ptr [rcx+4*r13+0x10]
-       mov      r14d, r14d
-       mov      dword ptr [rcx+4*r14+0x10], r13d
-       mov      r14d, r15d
-       cmp      r14d, r11d
+       mov      r13d, dword ptr [rax+4*r13+0x10]
+       mov      r11d, r11d
+       mov      dword ptr [rax+4*r11+0x10], r13d
+       mov      r11d, r15d
+       cmp      r11d, ecx
        jle      SHORT G_M61974_IG10
                        ;; size=37 bbWeight=62.73 PerfScore 423.40
-G_M61974_IG11:        ; bbWeight=7.92, gcrefRegs=0103 {rax rcx r8}, byrefRegs=0000 {}, byref, isz
+G_M61974_IG11:        ; bbWeight=31.68, gcrefRegs=0501 {rax r8 r10}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M61974_IG13
-                      ;; size=2 bbWeight=7.92 PerfScore 15.84
-G_M61974_IG12:        ; bbWeight=0.63, gcrefRegs=0103 {rax rcx r8}, byrefRegs=0000 {}, byref, isz
-       lea      r15d, [r14+0x01]
+                     ;; size=2 bbWeight=31.68 PerfScore 63.36
+G_M61974_IG12:        ; bbWeight=0.63, gcrefRegs=0501 {rax r8 r10}, byrefRegs=0000 {}, byref, isz
+       lea      r15d, [r11+0x01]
        cmp      r15d, ebp
-       jae      G_M61974_IG37
+       jae      G_M61974_IG36
        mov      r13d, r15d
-       mov      r13d, dword ptr [rcx+4*r13+0x10]
-       cmp      r14d, ebp
-       jae      G_M61974_IG37
-       mov      r14d, r14d
-       mov      dword ptr [rcx+4*r14+0x10], r13d
-       mov      r14d, r15d
-       cmp      r14d, r11d
+       mov      r13d, dword ptr [rax+4*r13+0x10]
+       cmp      r11d, ebp
+       jae      G_M61974_IG36
+       mov      r11d, r11d
+       mov      dword ptr [rax+4*r11+0x10], r13d
+       mov      r11d, r15d
+       cmp      r11d, ecx
        jle      SHORT G_M61974_IG12
                        ;; size=46 bbWeight=0.63 PerfScore 5.07
-G_M61974_IG13:        ; bbWeight=31.68, gcrefRegs=0103 {rax rcx r8}, byrefRegs=0000 {}, byref
-       inc      r11d
-       cmp      r11d, ebp
-       jae      G_M61974_IG37
-       mov      r14d, r11d
-       mov      dword ptr [rcx+4*r14+0x10], r9d
-       cmp      r11d, edx
+G_M61974_IG13:        ; bbWeight=31.68, gcrefRegs=0501 {rax r8 r10}, byrefRegs=0000 {}, byref
+       inc      ecx
+       cmp      ecx, ebp
+       jae      G_M61974_IG36
+       mov      r11d, ecx
+       mov      dword ptr [rax+4*r11+0x10], r14d
+       cmp      ecx, edx
...
  
-22 (-2.04%) : 34380.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1)
@@ -13,32 +13,32 @@
 ;  V02 arg2         [V02,T15] ( 12, 14.08)     ref  ->  rbx         class-hnd single-def <double[][][]>
 ;  V03 arg3         [V03,T16] ( 12, 14.08)     ref  ->  rsi         class-hnd single-def <double[][]>
 ;  V04 arg4         [V04,T17] ( 10, 14   )     int  ->  [rsp+0x90]  single-def
-;  V05 loc0         [V05,T09] ( 18, 28.81)     ref  ->  rbp         class-hnd <double[][]>
-;  V06 loc1         [V06,T08] ( 13, 30.28)     ref  ->  r14         class-hnd <double[]>
-;  V07 loc2         [V07,T21] (  2,  2   )    long  ->  r13         single-def
-;  V08 loc3         [V08,T01] ( 29,339.80)     int  ->  r10        
-;  V09 loc4         [V09,T13] ( 12, 17.12)     int  ->  rax        
-;  V10 loc5         [V10,T04] ( 54,162.95)     int  ->  r15        
+;  V05 loc0         [V05,T09] ( 18, 28.81)     ref  ->  r14         class-hnd <double[][]>
+;  V06 loc1         [V06,T08] ( 13, 30.28)     ref  ->  r15         class-hnd <double[]>
+;  V07 loc2         [V07,T21] (  2,  2   )    long  ->  r12         single-def
+;  V08 loc3         [V08,T01] ( 29,339.80)     int  ->  rax        
+;  V09 loc4         [V09,T13] ( 12, 17.12)     int  ->  rbp        
+;  V10 loc5         [V10,T04] ( 54,162.95)     int  ->  r13        
 ;  V11 OutArgs      [V11    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V12 tmp1         [V12,T00] ( 12,384   )     ref  ->  registers   class-hnd "Strict ordering of exceptions for Array store" <double[]>
+;  V12 tmp1         [V12,T00] ( 12,384   )     ref  ->  r11         class-hnd "Strict ordering of exceptions for Array store" <double[]>
 ;  V13 tmp2         [V13,T26] (  8,256   )  double  ->  mm0         "Strict ordering of exceptions for Array store"
 ;  V14 tmp3         [V14,T27] (  6, 64.00)  double  ->  mm1         "Strict ordering of exceptions for Array store"
 ;* V15 tmp4         [V15    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
-;  V16 tmp5         [V16,T20] (  6, 10   )     ref  ->  r12         class-hnd exact "Inline stloc first use temp" <<unknown class>>
+;  V16 tmp5         [V16,T20] (  6, 10   )     ref  ->  rbp         class-hnd exact "Inline stloc first use temp" <<unknown class>>
 ;  V17 tmp6         [V17    ] (  4,  8   )     int  ->  [rsp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V18 tmp7         [V18    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V19 tmp8         [V19,T02] ( 11,259.80)     ref  ->  r12         "arr expr"
+;  V19 tmp8         [V19,T02] ( 11,259.80)     ref  ->  registers   "arr expr"
 ;  V20 cse0         [V20,T22] (  2,  0.80)     ref  ->   r8         hoist "CSE - conservative"
-;  V21 cse1         [V21,T23] (  2,  0.80)     ref  ->   r9         hoist "CSE - conservative"
+;  V21 cse1         [V21,T23] (  2,  0.80)     ref  ->  r10         hoist "CSE - conservative"
 ;  V22 cse2         [V22,T24] (  2,  0.79)     ref  ->   r8         hoist "CSE - conservative"
-;  V23 cse3         [V23,T25] (  2,  0.79)     ref  ->   r9         hoist "CSE - conservative"
-;  V24 cse4         [V24,T05] (  6, 86.33)     ref  ->  r11         hoist multi-def "CSE - aggressive"
-;  V25 cse5         [V25,T06] (  4, 70.65)     ref  ->  r13         hoist multi-def "CSE - aggressive"
-;  V26 cse6         [V26,T12] (  7, 20.28)     int  ->  registers   hoist multi-def "CSE - aggressive"
-;  V27 cse7         [V27,T11] (  6, 23.76)    long  ->   r9         hoist multi-def "CSE - aggressive"
+;  V23 cse3         [V23,T25] (  2,  0.79)     ref  ->  r10         hoist "CSE - conservative"
+;  V24 cse4         [V24,T05] (  6, 86.33)     ref  ->  r10         hoist multi-def "CSE - aggressive"
+;  V25 cse5         [V25,T06] (  4, 70.65)     ref  ->   r9         hoist multi-def "CSE - aggressive"
+;  V26 cse6         [V26,T12] (  7, 20.28)     int  ->  r12         hoist multi-def "CSE - aggressive"
+;  V27 cse7         [V27,T11] (  6, 23.76)    long  ->   r8         hoist multi-def "CSE - aggressive"
 ;  V28 cse8         [V28,T03] (  3,186.30)    long  ->  rdi         "CSE - aggressive"
-;  V29 cse9         [V29,T07] (  3, 47.04)    long  ->  r10         "CSE - aggressive"
-;  V30 cse10        [V30,T18] (  3, 11.88)    long  ->   r8         "CSE - aggressive"
+;  V29 cse9         [V29,T07] (  3, 47.04)    long  ->  rax         "CSE - aggressive"
+;  V30 cse10        [V30,T18] (  3, 11.88)    long  ->  rax         "CSE - aggressive"
 ;  V31 cse11        [V31,T19] (  3, 11.88)    long  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 40
@@ -64,7 +64,7 @@ G_M9806_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=39 bbWeight=1 PerfScore 12.00
 G_M9806_IG02:        ; bbWeight=1, gcrefRegs=004E {rcx rdx rbx rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rcx rdx]
-       xor      eax, eax
+       xor      ebp, ebp
        test     edi, edi
        jle      G_M9806_IG32
        test     rbx, rbx
@@ -78,187 +78,187 @@ G_M9806_IG02:        ; bbWeight=1, gcrefRegs=004E {rcx rdx rbx rsi}, byrefRegs=0
        jl       G_M9806_IG09
                        ;; size=53 bbWeight=1 PerfScore 13.00
 G_M9806_IG03:        ; bbWeight=3.96, gcrefRegs=004E {rcx rdx rbx rsi}, byrefRegs=0000 {}, byref
-       mov      r8d, eax
-       mov      rbp, gword ptr [rbx+8*r8+0x10]
-       ; gcrRegs +[rbp]
-       mov      r14, gword ptr [rsi+8*r8+0x10]
+       mov      eax, ebp
+       mov      r14, gword ptr [rbx+8*rax+0x10]
        ; gcrRegs +[r14]
-       xor      r15d, r15d
-       test     rbp, rbp
+       mov      r15, gword ptr [rsi+8*rax+0x10]
+       ; gcrRegs +[r15]
+       xor      r13d, r13d
+       test     r14, r14
        je       G_M9806_IG14
-                     ;; size=25 bbWeight=3.96 PerfScore 22.77
-G_M9806_IG04:        ; bbWeight=1.98, gcrefRegs=406E {rcx rdx rbx rbp rsi r14}, byrefRegs=0000 {}, byref
+                     ;; size=24 bbWeight=3.96 PerfScore 22.77
+G_M9806_IG04:        ; bbWeight=1.98, gcrefRegs=C04E {rcx rdx rbx rsi r14 r15}, byrefRegs=0000 {}, byref
        test     rcx, rcx
        je       G_M9806_IG14
-       cmp      dword ptr [rbp+0x08], 101
+       cmp      dword ptr [r14+0x08], 101
        jl       G_M9806_IG14
-       mov      r8d, dword ptr [rcx+0x08]
-       cmp      r8d, 101
+       mov      r12d, dword ptr [rcx+0x08]
+       cmp      r12d, 101
        jl       G_M9806_IG14
-                        ;; size=33 bbWeight=1.98 PerfScore 16.83
-G_M9806_IG05:        ; bbWeight=15.68, gcrefRegs=406E {rcx rdx rbx rbp rsi r14}, byrefRegs=0000 {}, byref, isz
-       xor      r10d, r10d
-       cmp      r8d, r15d
+                        ;; size=34 bbWeight=1.98 PerfScore 16.83
+G_M9806_IG05:        ; bbWeight=15.68, gcrefRegs=C04E {rcx rdx rbx rsi r14 r15}, byrefRegs=0000 {}, byref, isz
+       xor      eax, eax
+       cmp      r12d, r13d
        jbe      SHORT G_M9806_IG10
-                     ;; size=8 bbWeight=15.68 PerfScore 23.52
-G_M9806_IG06:        ; bbWeight=7.84, gcrefRegs=406E {rcx rdx rbx rbp rsi r14}, byrefRegs=0000 {}, byref, isz
-       mov      r9d, r15d
-       mov      r11, gword ptr [rcx+8*r9+0x10]
-       ; gcrRegs +[r11]
-       test     r11, r11
+                     ;; size=7 bbWeight=15.68 PerfScore 23.52
+G_M9806_IG06:        ; bbWeight=7.84, gcrefRegs=C04E {rcx rdx rbx rsi r14 r15}, byrefRegs=0000 {}, byref, isz
+       mov      r8d, r13d
+       mov      r10, gword ptr [rcx+8*r8+0x10]
+       ; gcrRegs +[r10]
+       test     r10, r10
        je       SHORT G_M9806_IG10
-       cmp      dword ptr [r11+0x08], 101
+       cmp      dword ptr [r10+0x08], 101
        jl       SHORT G_M9806_IG10
-       mov      r13, gword ptr [rbp+8*r9+0x10]
-       ; gcrRegs +[r13]
-                       ;; size=25 bbWeight=7.84 PerfScore 74.49
-G_M9806_IG07:        ; bbWeight=62.10, gcrefRegs=686E {rcx rdx rbx rbp rsi r11 r13 r14}, byrefRegs=0000 {}, byref, isz
-       mov      r9, r13
+       mov      r9, gword ptr [r14+8*r8+0x10]
        ; gcrRegs +[r9]
-       mov      r12, r11
-       ; gcrRegs +[r12]
-       mov      edi, r10d
-       vmovsd   xmm0, qword ptr [r12+8*rdi+0x10]
-       cmp      r10d, dword ptr [r9+0x08]
+                        ;; size=25 bbWeight=7.84 PerfScore 74.49
+G_M9806_IG07:        ; bbWeight=62.10, gcrefRegs=C64E {rcx rdx rbx rsi r9 r10 r14 r15}, byrefRegs=0000 {}, byref, isz
+       mov      r11, r9
+       ; gcrRegs +[r11]
+       mov      r8, r10
+       ; gcrRegs +[r8]
+       mov      edi, eax
+       vmovsd   xmm0, qword ptr [r8+8*rdi+0x10]
+       cmp      eax, dword ptr [r11+0x08]
        jae      G_M9806_IG42
-       vmovsd   qword ptr [r9+8*rdi+0x10], xmm0
-       inc      r10d
-       cmp      r10d, 101
+       vmovsd   qword ptr [r11+8*rdi+0x10], xmm0
+       inc      eax
+       cmp      eax, 101
        jl       SHORT G_M9806_IG07
-                       ;; size=42 bbWeight=62.10 PerfScore 760.71
-G_M9806_IG08:        ; bbWeight=7.84, gcrefRegs=406E {rcx rdx rbx rbp rsi r14}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[r9 r11-r13]
+                       ;; size=39 bbWeight=62.10 PerfScore 760.71
+G_M9806_IG08:        ; bbWeight=15.68, gcrefRegs=C04E {rcx rdx rbx rsi r14 r15}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r8-r11]
        jmp      SHORT G_M9806_IG12
-                     ;; size=2 bbWeight=7.84 PerfScore 15.68
+                       ;; size=2 bbWeight=15.68 PerfScore 31.36
 G_M9806_IG09:        ; bbWeight=0.50, gcrefRegs=004E {rcx rdx rbx rsi}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rbp r14]
+       ; gcrRegs -[r14-r15]
        mov      edi, dword ptr [rsp+0x90]
        jmp      G_M9806_IG25
                        ;; size=12 bbWeight=0.50 PerfScore 1.50
-G_M9806_IG10:        ; bbWeight=0.08, gcrefRegs=406E {rcx rdx rbx rbp rsi r14}, byrefRegs=0000 {}, byref
-       ; gcrRegs +[rbp r14]
-       mov      r9d, r15d
-       mov      r13, gword ptr [rbp+8*r9+0x10]
-       ; gcrRegs +[r13]
-       mov      r11, gword ptr [rcx+8*r9+0x10]
-       ; gcrRegs +[r11]
-                       ;; size=13 bbWeight=0.08 PerfScore 0.33
-G_M9806_IG11:        ; bbWeight=0.63, gcrefRegs=686E {rcx rdx rbx rbp rsi r11 r13 r14}, byrefRegs=0000 {}, byref, isz
-       mov      r9, r13
+G_M9806_IG10:        ; bbWeight=0.08, gcrefRegs=C04E {rcx rdx rbx rsi r14 r15}, byrefRegs=0000 {}, byref
+       ; gcrRegs +[r14-r15]
+       mov      r8d, r13d
+       mov      r9, gword ptr [r14+8*r8+0x10]
        ; gcrRegs +[r9]
-       mov      r12, r11
-       ; gcrRegs +[r12]
-       cmp      r10d, dword ptr [r12+0x08]
+       mov      r10, gword ptr [rcx+8*r8+0x10]
+       ; gcrRegs +[r10]
+                       ;; size=13 bbWeight=0.08 PerfScore 0.33
+G_M9806_IG11:        ; bbWeight=0.63, gcrefRegs=C64E {rcx rdx rbx rsi r9 r10 r14 r15}, byrefRegs=0000 {}, byref, isz
+       mov      r11, r9
+       ; gcrRegs +[r11]
+       mov      r8, r10
+       ; gcrRegs +[r8]
+       cmp      eax, dword ptr [r8+0x08]
        jae      G_M9806_IG42
-       mov      edi, r10d
-       vmovsd   xmm0, qword ptr [r12+8*rdi+0x10]
-       cmp      r10d, dword ptr [r9+0x08]
+       mov      edi, eax
+       vmovsd   xmm0, qword ptr [r8+8*rdi+0x10]
+       cmp      eax, dword ptr [r11+0x08]
        jae      G_M9806_IG42
-       mov      r12d, r10d
-       ; gcrRegs -[r12]
-       vmovsd   qword ptr [r9+8*r12+0x10], xmm0
-       inc      r10d
-       cmp      r10d, 101
+       mov      r8d, eax
+       ; gcrRegs -[r8]
+       vmovsd   qword ptr [r11+8*r8+0x10], xmm0
+       inc      eax
+       cmp      eax, 101
        jl       SHORT G_M9806_IG11
-                       ;; size=56 bbWeight=0.63 PerfScore 10.35
-G_M9806_IG12:        ; bbWeight=15.68, gcrefRegs=406E {rcx rdx rbx rbp rsi r14}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[r9 r11 r13]
-       inc      r15d
-       cmp      r15d, 101
+                        ;; size=52 bbWeight=0.63 PerfScore 10.35
+G_M9806_IG12:        ; bbWeight=15.68, gcrefRegs=C04E {rcx rdx rbx rsi r14 r15}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[r9-r11]
+       inc      r13d
+       cmp      r13d, 101
        jl       G_M9806_IG05
                        ;; size=13 bbWeight=15.68 PerfScore 23.52
-G_M9806_IG13:        ; bbWeight=1.98, gcrefRegs=404E {rcx rdx rbx rsi r14}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rbp]
+G_M9806_IG13:        ; bbWeight=3.96, gcrefRegs=804E {rcx rdx rbx rsi r15}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r14]
        jmp      SHORT G_M9806_IG17
-                        ;; size=2 bbWeight=1.98 PerfScore 3.96
-G_M9806_IG14:        ; bbWeight=0.16, gcrefRegs=406E {rcx rdx rbx rbp rsi r14}, byrefRegs=0000 {}, byref
-       ; gcrRegs +[rbp]
-       xor      r10d, r10d
-       mov      r8d, dword ptr [rbp+0x08]
-       cmp      r15d, dword ptr [rbp+0x08]
+                       ;; size=2 bbWeight=3.96 PerfScore 7.92
+G_M9806_IG14:        ; bbWeight=0.16, gcrefRegs=C04E {rcx rdx rbx rsi r14 r15}, byrefRegs=0000 {}, byref
+       ; gcrRegs +[r14]
+       xor      eax, eax
+       mov      r11d, dword ptr [r14+0x08]
+       cmp      r13d, dword ptr [r14+0x08]
        jae      G_M9806_IG42
-       mov      r9d, r15d
-       mov      r8, gword ptr [rbp+8*r9+0x10]
+       mov      r8d, r13d
+       mov      r8, gword ptr [r14+8*r8+0x10]
        ; gcrRegs +[r8]
-       mov      r9d, dword ptr [rcx+0x08]
-       cmp      r15d, r9d
+       mov      r12d, dword ptr [rcx+0x08]
+       cmp      r13d, r12d
        jae      G_M9806_IG42
-       mov      r9d, r15d
-       mov      r9, gword ptr [rcx+8*r9+0x10]
-       ; gcrRegs +[r9]
-                       ;; size=46 bbWeight=0.16 PerfScore 2.22
...
  
+14 (+1.80%) : 34374.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1-OSR)
@@ -22,20 +22,20 @@
 ;  V11 tmp2         [V11,T25] (  4, 16   )  double  ->  mm1         "Strict ordering of exceptions for Array store"
 ;  V12 tmp3         [V12,T10] (  5, 16.08)     ref  ->  rbx         "arr expr"
 ;  V13 tmp4         [V13,T02] (  8, 64.64)     ref  ->  rbp         "arr expr"
-;  V14 tmp5         [V14,T07] (  6, 24   )     ref  ->  rdi         "arr expr"
-;  V15 cse0         [V15,T22] (  4,  0.26)     ref  ->  rdi         hoist multi-def "CSE - conservative"
-;  V16 cse1         [V16,T06] (  8, 29.72)     ref  ->  rdi         hoist multi-def "CSE - aggressive"
-;  V17 cse2         [V17,T14] (  6,  7.04)     ref  ->  rdi         multi-def "CSE - aggressive"
+;  V14 tmp5         [V14,T07] (  6, 24   )     ref  ->   r8         "arr expr"
+;  V15 cse0         [V15,T22] (  4,  0.26)     ref  ->   r8         hoist multi-def "CSE - conservative"
+;  V16 cse1         [V16,T06] (  8, 29.72)     ref  ->   r8         hoist multi-def "CSE - aggressive"
+;  V17 cse2         [V17,T14] (  6,  7.04)     ref  ->  rbp         multi-def "CSE - aggressive"
 ;  V18 cse3         [V18,T09] ( 13, 18.42)     int  ->  rbx         hoist multi-def "CSE - aggressive"
-;  V19 cse4         [V19,T16] (  4,  6   )     int  ->  r11         "CSE - aggressive"
-;  V20 cse5         [V20,T15] ( 11,  6.18)     int  ->  registers   hoist multi-def "CSE - aggressive"
-;  V21 cse6         [V21,T08] (  7, 21.80)    long  ->  r10         "CSE - aggressive"
+;  V19 cse4         [V19,T16] (  4,  6   )     int  ->  r10         "CSE - aggressive"
+;  V20 cse5         [V20,T15] ( 11,  6.18)     int  ->  rsi         hoist multi-def "CSE - aggressive"
+;  V21 cse6         [V21,T08] (  7, 21.80)    long  ->  rdi         "CSE - aggressive"
 ;  V22 cse7         [V22,T04] (  3, 47.04)    long  ->  r14         "CSE - aggressive"
-;  V23 cse8         [V23,T21] (  4,  2.08)    long  ->  rsi         multi-def "CSE - aggressive"
+;  V23 cse8         [V23,T21] (  4,  2.08)    long  ->  rdi         multi-def "CSE - aggressive"
 ;  V24 cse9         [V24,T12] (  3, 11.88)    long  ->  rsi         "CSE - aggressive"
 ;  V25 cse10        [V25,T18] (  3,  6   )    long  ->  r10         "CSE - aggressive"
 ;  V26 cse11        [V26,T19] (  3,  6   )    long  ->  rsi         "CSE - aggressive"
-;  V27 cse12        [V27,T23] (  6,  0.22)    long  ->  r10         "CSE - conservative"
+;  V27 cse12        [V27,T23] (  6,  0.22)    long  ->  rdi         "CSE - conservative"
 ;
 ; Lcl frame size = 32
 
@@ -98,144 +98,144 @@ G_M64421_IG06:        ; bbWeight=8, gcrefRegs=0302 {rcx r8 r9}, byrefRegs=0000 {
                        ;; size=24 bbWeight=8 PerfScore 40.00
 G_M64421_IG07:        ; bbWeight=1, gcrefRegs=0202 {rcx r9}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r8]
-       lea      r11d, [rdx-0x01]
-       mov      eax, r11d
+       lea      r10d, [rdx-0x01]
+       mov      eax, r10d
        test     eax, eax
        jl       G_M64421_IG20
        test     rcx, rcx
        je       G_M64421_IG16
        cmp      ebx, eax
        jle      G_M64421_IG16
-       mov      r8d, dword ptr [rcx+0x08]
-       cmp      r8d, eax
+       mov      esi, dword ptr [rcx+0x08]
+       cmp      esi, eax
        jle      G_M64421_IG16
-                        ;; size=45 bbWeight=1 PerfScore 7.75
-G_M64421_IG08:        ; bbWeight=3.96, gcrefRegs=0202 {rcx r9}, byrefRegs=0000 {}, byref, isz
-       mov      r10d, eax
-       vmovsd   xmm0, qword ptr [r9+8*r10+0x10]
-       cmp      eax, r11d
-       je       SHORT G_M64421_IG14
-                       ;; size=15 bbWeight=3.96 PerfScore 21.78
+                      ;; size=43 bbWeight=1 PerfScore 7.75
+G_M64421_IG08:        ; bbWeight=3.96, gcrefRegs=0202 {rcx r9}, byrefRegs=0000 {}, byref
+       mov      edi, eax
+       vmovsd   xmm0, qword ptr [r9+8*rdi+0x10]
+       cmp      eax, r10d
+       je       G_M64421_IG14
+                       ;; size=18 bbWeight=3.96 PerfScore 21.78
 G_M64421_IG09:        ; bbWeight=1.98, gcrefRegs=0202 {rcx r9}, byrefRegs=0000 {}, byref, isz
-       lea      esi, [rax+0x01]
-       cmp      esi, edx
-       jge      SHORT G_M64421_IG14
-       cmp      r8d, eax
+       lea      r11d, [rax+0x01]
+       cmp      r11d, edx
+       jge      G_M64421_IG14
+       cmp      esi, eax
        jbe      SHORT G_M64421_IG12
-       mov      rdi, gword ptr [rcx+8*r10+0x10]
-       ; gcrRegs +[rdi]
-       test     rdi, rdi
+       mov      r8, gword ptr [rcx+8*rdi+0x10]
+       ; gcrRegs +[r8]
+       test     r8, r8
        je       SHORT G_M64421_IG12
-       mov      ebp, esi
+       mov      ebp, r11d
        or       ebp, edx
        jl       SHORT G_M64421_IG12
-       cmp      dword ptr [rdi+0x08], edx
+       cmp      dword ptr [r8+0x08], edx
        jl       SHORT G_M64421_IG12
        cmp      ebx, edx
        jl       SHORT G_M64421_IG12
-                      ;; size=37 bbWeight=1.98 PerfScore 25.74
-G_M64421_IG10:        ; bbWeight=15.68, gcrefRegs=0282 {rcx rdi r9}, byrefRegs=0000 {}, byref, isz
-       mov      rbp, rdi
+                     ;; size=44 bbWeight=1.98 PerfScore 25.74
+G_M64421_IG10:        ; bbWeight=15.68, gcrefRegs=0302 {rcx r8 r9}, byrefRegs=0000 {}, byref, isz
+       mov      rbp, r8
        ; gcrRegs +[rbp]
-       mov      r14d, esi
+       mov      r14d, r11d
        vmovsd   xmm1, qword ptr [rbp+8*r14+0x10]
        vmulsd   xmm1, xmm1, qword ptr [r9+8*r14+0x10]
        vsubsd   xmm0, xmm0, xmm1
-       inc      esi
-       cmp      esi, edx
+       inc      r11d
+       cmp      r11d, edx
        jl       SHORT G_M64421_IG10
-                     ;; size=30 bbWeight=15.68 PerfScore 235.22
-G_M64421_IG11:        ; bbWeight=1.98, gcrefRegs=0202 {rcx r9}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rbp rdi]
+                      ;; size=32 bbWeight=15.68 PerfScore 235.22
+G_M64421_IG11:        ; bbWeight=3.96, gcrefRegs=0202 {rcx r9}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rbp r8]
        jmp      SHORT G_M64421_IG14
-                        ;; size=2 bbWeight=1.98 PerfScore 3.96
+                        ;; size=2 bbWeight=3.96 PerfScore 7.92
 G_M64421_IG12:        ; bbWeight=0.02, gcrefRegs=0202 {rcx r9}, byrefRegs=0000 {}, byref
-       mov      rdi, gword ptr [rcx+8*r10+0x10]
-       ; gcrRegs +[rdi]
+       mov      r8, gword ptr [rcx+8*rdi+0x10]
+       ; gcrRegs +[r8]
                      ;; size=5 bbWeight=0.02 PerfScore 0.04
-G_M64421_IG13:        ; bbWeight=0.16, gcrefRegs=0282 {rcx rdi r9}, byrefRegs=0000 {}, byref, isz
-       mov      rbp, rdi
+G_M64421_IG13:        ; bbWeight=0.16, gcrefRegs=0302 {rcx r8 r9}, byrefRegs=0000 {}, byref, isz
+       mov      rbp, r8
        ; gcrRegs +[rbp]
-       cmp      esi, dword ptr [rbp+0x08]
+       cmp      r11d, dword ptr [rbp+0x08]
        jae      G_M64421_IG27
-       mov      r14d, esi
+       mov      r14d, r11d
        vmovsd   xmm1, qword ptr [rbp+8*r14+0x10]
-       cmp      esi, ebx
+       cmp      r11d, ebx
        jae      G_M64421_IG27
-       mov      ebp, esi
+       mov      ebp, r11d
        ; gcrRegs -[rbp]
        vmulsd   xmm1, xmm1, qword ptr [r9+8*rbp+0x10]
        vsubsd   xmm0, xmm0, xmm1
-       inc      esi
-       cmp      esi, edx
+       inc      r11d
+       cmp      r11d, edx
        jl       SHORT G_M64421_IG13
-                     ;; size=49 bbWeight=0.16 PerfScore 3.25
+                       ;; size=54 bbWeight=0.16 PerfScore 3.25
 G_M64421_IG14:        ; bbWeight=3.96, gcrefRegs=0202 {rcx r9}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rdi]
-       mov      rdi, gword ptr [rcx+8*r10+0x10]
-       ; gcrRegs +[rdi]
-       cmp      eax, dword ptr [rdi+0x08]
+       ; gcrRegs -[r8]
+       mov      r8, gword ptr [rcx+8*rdi+0x10]
+       ; gcrRegs +[r8]
+       cmp      eax, dword ptr [r8+0x08]
        jae      G_M64421_IG27
-       vdivsd   xmm1, xmm0, qword ptr [rdi+8*r10+0x10]
-       vmovsd   qword ptr [r9+8*r10+0x10], xmm1
+       vdivsd   xmm1, xmm0, qword ptr [r8+8*rdi+0x10]
+       vmovsd   qword ptr [r9+8*rdi+0x10], xmm1
        dec      eax
        jns      G_M64421_IG08
-                        ;; size=36 bbWeight=3.96 PerfScore 96.03
+                      ;; size=37 bbWeight=3.96 PerfScore 96.03
 G_M64421_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rcx rdi r9]
+       ; gcrRegs -[rcx r8-r9]
        jmp      G_M64421_IG20
                        ;; size=5 bbWeight=1 PerfScore 2.00
 G_M64421_IG16:        ; bbWeight=0.04, gcrefRegs=0202 {rcx r9}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rcx r9]
        cmp      eax, ebx
        jae      G_M64421_IG27
-       mov      r10d, eax
-       vmovsd   xmm0, qword ptr [r9+8*r10+0x10]
-       cmp      eax, r11d
+       mov      edi, eax
+       vmovsd   xmm0, qword ptr [r9+8*rdi+0x10]
+       cmp      eax, r10d
        je       SHORT G_M64421_IG19
-                     ;; size=23 bbWeight=0.04 PerfScore 0.27
+                       ;; size=22 bbWeight=0.04 PerfScore 0.27
 G_M64421_IG17:        ; bbWeight=0.02, gcrefRegs=0202 {rcx r9}, byrefRegs=0000 {}, byref, isz
-       lea      esi, [rax+0x01]
-       cmp      esi, edx
+       lea      r11d, [rax+0x01]
+       cmp      r11d, edx
        jge      SHORT G_M64421_IG19
-       mov      r8d, dword ptr [rcx+0x08]
-       cmp      eax, r8d
+       mov      esi, dword ptr [rcx+0x08]
+       cmp      eax, esi
        jae      G_M64421_IG27
-       mov      rdi, gword ptr [rcx+8*r10+0x10]
-       ; gcrRegs +[rdi]
+       mov      r8, gword ptr [rcx+8*rdi+0x10]
+       ; gcrRegs +[r8]
                      ;; size=25 bbWeight=0.02 PerfScore 0.14
-G_M64421_IG18:        ; bbWeight=0.16, gcrefRegs=0282 {rcx rdi r9}, byrefRegs=0000 {}, byref, isz
-       mov      rbp, rdi
+G_M64421_IG18:        ; bbWeight=0.16, gcrefRegs=0302 {rcx r8 r9}, byrefRegs=0000 {}, byref, isz
+       mov      rbp, r8
        ; gcrRegs +[rbp]
-       cmp      esi, dword ptr [rbp+0x08]
+       cmp      r11d, dword ptr [rbp+0x08]
        jae      G_M64421_IG27
-       mov      r8d, esi
-       vmovsd   xmm1, qword ptr [rbp+8*r8+0x10]
-       cmp      esi, ebx
+       mov      esi, r11d
+       vmovsd   xmm1, qword ptr [rbp+8*rsi+0x10]
+       cmp      r11d, ebx
        jae      G_M64421_IG27
-       mov      r8d, esi
-       vmulsd   xmm1, xmm1, qword ptr [r9+8*r8+0x10]
+       mov      esi, r11d
+       vmulsd   xmm1, xmm1, qword ptr [r9+8*rsi+0x10]
        vsubsd   xmm0, xmm0, xmm1
-       inc      esi
-       cmp      esi, edx
+       inc      r11d
+       cmp      r11d, edx
        jl       SHORT G_M64421_IG18
-                     ;; size=50 bbWeight=0.16 PerfScore 3.28
+                       ;; size=53 bbWeight=0.16 PerfScore 3.28
 G_M64421_IG19:        ; bbWeight=0.04, gcrefRegs=0202 {rcx r9}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rbp rdi]
-       mov      r8d, dword ptr [rcx+0x08]
-       cmp      eax, r8d
+       ; gcrRegs -[rbp r8]
+       mov      esi, dword ptr [rcx+0x08]
+       cmp      eax, esi
        jae      G_M64421_IG27
-       mov      rdi, gword ptr [rcx+8*r10+0x10]
-       ; gcrRegs +[rdi]
-       cmp      eax, dword ptr [rdi+0x08]
+       mov      r8, gword ptr [rcx+8*rdi+0x10]
+       ; gcrRegs +[r8]
+       cmp      eax, dword ptr [r8+0x08]
        jae      G_M64421_IG27
-       vdivsd   xmm1, xmm0, qword ptr [rdi+8*r10+0x10]
-       vmovsd   qword ptr [r9+8*r10+0x10], xmm1
+       vdivsd   xmm1, xmm0, qword ptr [r8+8*rdi+0x10]
+       vmovsd   qword ptr [r9+8*rdi+0x10], xmm1
        dec      eax
        jns      G_M64421_IG16
-                        ;; size=49 bbWeight=0.04 PerfScore 1.10
+                       ;; size=48 bbWeight=0.04 PerfScore 1.10
 G_M64421_IG20:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
...
  
+9 (+2.01%) : 44883.dasm - System.Linq.Enumerable:TryGetFirstMicrosoft.CodeAnalysis.SyntaxTrivia:Microsoft.CodeAnalysis.SyntaxTrivia (Tier1)
@@ -10,43 +10,44 @@
 ;  V00 RetBuf       [V00,T02] (  6,  6   )   byref  ->  [rbp+0x10]  EH-live single-def
 ;  V01 arg0         [V01,T03] (  4,  4   )     ref  ->  rdx         class-hnd single-def <System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.SyntaxTrivia]>
 ;  V02 arg1         [V02,T00] (  5, 19   )     ref  ->  rsi         class-hnd single-def <System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte]>
-;  V03 arg2         [V03,T04] (  4,  4   )   byref  ->  rdi         single-def
-;  V04 loc0         [V04,T01] (  7, 20   )     ref  ->  [rbp-0x98]  class-hnd EH-live spill-single-def <<unknown class>>
-;  V05 loc1         [V05    ] (  3, 17   )  struct (40) [rbp-0x40]  do-not-enreg[XS] must-init addr-exposed <Microsoft.CodeAnalysis.SyntaxTrivia>
-;  V06 loc2         [V06,T05] (  2,  2   )  struct (40) [rbp-0x68]  do-not-enreg[SZ] must-init EH-live <Microsoft.CodeAnalysis.SyntaxTrivia>
+;  V03 arg2         [V03,T04] (  4,  4   )   byref  ->  r14         single-def
+;  V04 loc0         [V04,T01] (  7, 20   )     ref  ->  [rbp-0xA0]  class-hnd EH-live single-def <<unknown class>>
+;  V05 loc1         [V05    ] (  3, 17   )  struct (40) [rbp-0x48]  do-not-enreg[XS] must-init addr-exposed <Microsoft.CodeAnalysis.SyntaxTrivia>
+;  V06 loc2         [V06,T05] (  2,  2   )  struct (40) [rbp-0x70]  do-not-enreg[SZ] must-init EH-live <Microsoft.CodeAnalysis.SyntaxTrivia>
 ;* V07 loc3         [V07    ] (  0,  0   )  struct (40) zero-ref    do-not-enreg[S] ld-addr-op <Microsoft.CodeAnalysis.SyntaxTrivia>
 ;  V08 OutArgs      [V08    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V09 tmp1         [V09    ] (  2, 32   )  struct (40) [rbp-0x90]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.CodeAnalysis.SyntaxTrivia>
-;  V10 PSPSym       [V10,T06] (  1,  1   )    long  ->  [rbp-0xA0]  do-not-enreg[V] "PSPSym"
+;  V09 tmp1         [V09    ] (  2, 32   )  struct (40) [rbp-0x98]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.CodeAnalysis.SyntaxTrivia>
+;  V10 PSPSym       [V10,T06] (  1,  1   )    long  ->  [rbp-0xB0]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 168
+; Lcl frame size = 176
 
 G_M16712_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
+       push     r14
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 168
+       sub      rsp, 176
        vzeroupper 
-       lea      rbp, [rsp+0xC0]
+       lea      rbp, [rsp+0xD0]
+       xor      eax, eax
+       mov      qword ptr [rbp-0x98], rax
        vxorps   xmm4, xmm4, xmm4
        vmovdqu  ymmword ptr [rbp-0x90], ymm4
        vmovdqu  ymmword ptr [rbp-0x70], ymm4
        vmovdqu  ymmword ptr [rbp-0x50], ymm4
        vmovdqa  xmmword ptr [rbp-0x30], xmm4
-       xor      eax, eax
-       mov      qword ptr [rbp-0x20], rax
-       mov      qword ptr [rbp-0xA0], rsp
+       mov      qword ptr [rbp-0xB0], rsp
        mov      bword ptr [rbp+0x10], rcx
        ; GC ptr vars +{V00}
        mov      rbx, rcx
        ; byrRegs +[rbx]
        mov      rsi, r8
        ; gcrRegs +[rsi]
-       mov      rdi, r9
-       ; byrRegs +[rdi]
-                       ;; size=75 bbWeight=1 PerfScore 18.08
-G_M16712_IG02:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=0044 {rdx rsi}, byrefRegs=0088 {rbx rdi}, gcvars, byref
+       mov      r14, r9
+       ; byrRegs +[r14]
+                       ;; size=80 bbWeight=1 PerfScore 19.08
+G_M16712_IG02:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=0044 {rdx rsi}, byrefRegs=4008 {rbx r14}, gcvars, byref
        ; gcrRegs +[rdx]
        test     rdx, rdx
        je       G_M16712_IG18
@@ -58,37 +59,39 @@ G_M16712_IG02:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=004
        call     [r11]<unknown method>
        ; gcrRegs -[rcx rdx] +[rax]
        ; gcr arg pop 0
-       mov      rcx, rax
-       ; gcrRegs +[rcx]
-       mov      gword ptr [rbp-0x98], rcx
+       mov      rdi, rax
+       ; gcrRegs +[rdi]
+       mov      gword ptr [rbp-0xA0], rdi
        ; GC ptr vars +{V04}
                        ;; size=44 bbWeight=1 PerfScore 7.25
-G_M16712_IG03:        ; bbWeight=1, gcVars=0000000000000006 {V00 V04}, gcrefRegs=0042 {rcx rsi}, byrefRegs=0088 {rbx rdi}, gcvars, byref, isz
+G_M16712_IG03:        ; bbWeight=1, gcVars=0000000000000006 {V00 V04}, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008 {rbx r14}, gcvars, byref, isz
        ; gcrRegs -[rax]
+       mov      rcx, rdi
+       ; gcrRegs +[rcx]
        mov      r11, 0xD1FFAB1E      ; function address
        call     [r11]<unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
        je       SHORT G_M16712_IG11
-                      ;; size=17 bbWeight=1 PerfScore 4.50
-G_M16712_IG04:        ; bbWeight=8, gcrefRegs=0040 {rsi}, byrefRegs=0088 {rbx rdi}, byref
-       lea      rdx, [rbp-0x40]
-       mov      rcx, gword ptr [rbp-0x98]
+                        ;; size=20 bbWeight=1 PerfScore 4.75
+G_M16712_IG04:        ; bbWeight=8, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008 {rbx r14}, byref
+       lea      rdx, [rbp-0x48]
+       mov      rcx, rdi
        ; gcrRegs +[rcx]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
        call     [r11]<unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-                       ;; size=24 bbWeight=8 PerfScore 38.00
+                     ;; size=20 bbWeight=8 PerfScore 32.00
 G_M16712_IG05:        ; bbWeight=8, nogc, extend
-       vmovdqu  ymm0, ymmword ptr [rbp-0x40]
-       vmovdqu  ymmword ptr [rbp-0x90], ymm0
-       mov      rdx, qword ptr [rbp-0x20]
-       mov      qword ptr [rbp-0x70], rdx
+       vmovdqu  ymm0, ymmword ptr [rbp-0x48]
+       vmovdqu  ymmword ptr [rbp-0x98], ymm0
+       mov      rdx, qword ptr [rbp-0x28]
+       mov      qword ptr [rbp-0x78], rdx
                       ;; size=21 bbWeight=8 PerfScore 56.00
 G_M16712_IG06:        ; bbWeight=8, isz, extend
-       lea      rdx, [rbp-0x90]
+       lea      rdx, [rbp-0x98]
        mov      rcx, gword ptr [rsi+0x08]
        ; gcrRegs +[rcx]
        call     [rsi+0x18]<unknown method>
@@ -96,7 +99,7 @@ G_M16712_IG06:        ; bbWeight=8, isz, extend
        ; gcr arg pop 0
        test     eax, eax
        jne      SHORT G_M16712_IG08
-       mov      rcx, gword ptr [rbp-0x98]
+       mov      rcx, rdi
        ; gcrRegs +[rcx]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
        call     [r11]<unknown method>
@@ -104,38 +107,40 @@ G_M16712_IG06:        ; bbWeight=8, isz, extend
        ; gcr arg pop 0
        test     eax, eax
        jne      SHORT G_M16712_IG04
-                      ;; size=42 bbWeight=8 PerfScore 98.00
-G_M16712_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0088 {rbx rdi}, byref, isz
+                      ;; size=38 bbWeight=8 PerfScore 92.00
+G_M16712_IG07:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=4008 {rbx r14}, byref, isz
        ; gcrRegs -[rsi]
        jmp      SHORT G_M16712_IG11
                        ;; size=2 bbWeight=1 PerfScore 2.00
-G_M16712_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0088 {rbx rdi}, byref
-       mov      byte  ptr [rdi], 1
-                       ;; size=3 bbWeight=1 PerfScore 1.00
+G_M16712_IG08:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=4008 {rbx r14}, byref
+       mov      byte  ptr [r14], 1
+                       ;; size=4 bbWeight=1 PerfScore 1.00
 G_M16712_IG09:        ; bbWeight=1, nogc, extend
-       vmovdqu  ymm0, ymmword ptr [rbp-0x40]
-       vmovdqu  ymmword ptr [rbp-0x68], ymm0
-       mov      rcx, qword ptr [rbp-0x20]
-       mov      qword ptr [rbp-0x48], rcx
+       vmovdqu  ymm0, ymmword ptr [rbp-0x48]
+       vmovdqu  ymmword ptr [rbp-0x70], ymm0
+       mov      rcx, qword ptr [rbp-0x28]
+       mov      qword ptr [rbp-0x50], rcx
                       ;; size=18 bbWeight=1 PerfScore 7.00
 G_M16712_IG10:        ; bbWeight=1, isz, extend
        jmp      SHORT G_M16712_IG12
                        ;; size=2 bbWeight=1 PerfScore 2.00
-G_M16712_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0088 {rbx rdi}, byref, isz
-       mov      rcx, gword ptr [rbp-0x98]
+G_M16712_IG11:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=4008 {rbx r14}, byref, isz
+       mov      rcx, rdi
        ; gcrRegs +[rcx]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
        ; GC ptr vars -{V04}
        call     [r11]<unknown method>
-       ; gcrRegs -[rcx]
+       ; gcrRegs -[rcx rdi]
        ; gcr arg pop 0
        jmp      SHORT G_M16712_IG16
-                      ;; size=22 bbWeight=1 PerfScore 6.25
-G_M16712_IG12:        ; bbWeight=1, gcVars=0000000000000006 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, gcvars, byref
-       ; byrRegs -[rdi]
+                      ;; size=18 bbWeight=1 PerfScore 5.50
+G_M16712_IG12:        ; bbWeight=1, gcVars=0000000000000006 {V00 V04}, gcrefRegs=0080 {rdi}, byrefRegs=0008 {rbx}, gcvars, byref
+       ; gcrRegs +[rdi]
+       ; byrRegs -[r14]
        ; GC ptr vars +{V01 V04}
        mov      rcx, rsp
        call     G_M16712_IG20
+       ; gcrRegs -[rdi]
        ; byrRegs -[rbx]
                        ;; size=8 bbWeight=1 PerfScore 1.25
 G_M16712_IG13:        ; bbWeight=1, nogc, extend
@@ -145,7 +150,7 @@ G_M16712_IG14:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=000
        ; GC ptr vars -{V01 V04}
        mov      rdi, bword ptr [rbp+0x10]
        ; byrRegs +[rdi]
-       lea      rsi, bword ptr [rbp-0x68]
+       lea      rsi, bword ptr [rbp-0x70]
        ; byrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_BYREF
        movsq    
@@ -156,16 +161,17 @@ G_M16712_IG14:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=000
        ; byrRegs +[rax]
                        ;; size=31 bbWeight=1 PerfScore 7.50
 G_M16712_IG15:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 168
+       add      rsp, 176
        pop      rbx
        pop      rsi
        pop      rdi
+       pop      r14
        pop      rbp
        ret      
-                     ;; size=12 bbWeight=1 PerfScore 3.25
-G_M16712_IG16:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=0000 {}, byrefRegs=0088 {rbx rdi}, gcvars, byref
-       ; byrRegs -[rax rsi] +[rbx]
-       mov      byte  ptr [rdi], 0
+                       ;; size=14 bbWeight=1 PerfScore 3.75
+G_M16712_IG16:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=0000 {}, byrefRegs=4008 {rbx r14}, gcvars, byref
+       ; byrRegs -[rax rsi rdi] +[rbx r14]
+       mov      byte  ptr [r14], 0
        xor      eax, eax
        mov      qword ptr [rbx], rax
        mov      qword ptr [rbx+0x08], rax
@@ -174,17 +180,18 @@ G_M16712_IG16:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=000
        mov      qword ptr [rbx+0x20], rax
        mov      rax, rbx
        ; byrRegs +[rax]
-                      ;; size=27 bbWeight=1 PerfScore 6.50
+                      ;; size=28 bbWeight=1 PerfScore 6.50
 G_M16712_IG17:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 168
+       add      rsp, 176
        pop      rbx
        pop      rsi
        pop      rdi
+       pop      r14
        pop      rbp
        ret      
-                     ;; size=12 bbWeight=1 PerfScore 3.25
+                      ;; size=14 bbWeight=1 PerfScore 3.75
 G_M16712_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       ; byrRegs -[rax rbx rdi]
+       ; byrRegs -[rax rbx r14]
        ; GC ptr vars -{V00}
        mov      ecx, 17
        call     [System.Linq.ThrowHelper:ThrowArgumentNullException(int)]
@@ -200,39 +207,43 @@ G_M16712_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
 G_M16712_IG20:        ; bbWeight=1, gcVars=0000000000000006 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
        ; GC ptr vars +{V00 V01 V02 V04}
        push     rbp
+       push     r14
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 40
+       sub      rsp, 48
        vzeroupper 
        mov      rbp, qword ptr [rcx+0x20]
        mov      qword ptr [rsp+0x20], rbp
-       lea      rbp, [rbp+0xC0]
-                       ;; size=27 bbWeight=1 PerfScore 8.75
...
  
+15 (+2.81%) : 49352.dasm - Benchstone.MDBenchF.MDInvMt:Inner(double[,],byref,byref) (Tier1-OSR)
@@ -19,23 +19,23 @@
 ;  V08 loc5         [V08,T16] (  6, 17.50)     int  ->   r9        
 ;  V09 OutArgs      [V09    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V10 tmp1         [V10,T02] (  9, 39   )     int  ->  registers   "MD array shared temp"
-;  V11 tmp2         [V11,T00] ( 12,135   )     int  ->  rbp         "MD array shared temp"
+;  V11 tmp2         [V11,T00] ( 12,135   )     int  ->  registers   "MD array shared temp"
 ;* V12 tmp3         [V12,T08] (  0,  0   )     int  ->  zero-ref    "MD array shared temp"
 ;* V13 tmp4         [V13,T09] (  0,  0   )     int  ->  zero-ref    "MD array shared temp"
-;  V14 tmp5         [V14,T15] (  3, 24   )     int  ->  rsi         "MD array shared temp"
+;  V14 tmp5         [V14,T15] (  3, 24   )     int  ->  r14         "MD array shared temp"
 ;* V15 tmp6         [V15,T24] (  0,  0   )     int  ->  zero-ref    "MD array shared temp"
 ;  V16 cse0         [V16,T10] (  4, 36   )     int  ->  r10         "CSE - aggressive"
 ;  V17 cse1         [V17,T05] (  3, 48   )     int  ->  rbx         "CSE - aggressive"
 ;  V18 cse2         [V18,T17] (  4, 16   )     int  ->  rbp         "CSE - aggressive"
-;  V19 cse3         [V19,T20] (  3, 12   )     int  ->  rsi         "CSE - aggressive"
-;  V20 cse4         [V20,T11] (  2,  4   )     int  ->  r10         "CSE - aggressive"
-;  V21 cse5         [V21,T06] (  2, 32   )     int  ->  rbp         "CSE - aggressive"
-;  V22 cse6         [V22,T22] (  2,  5   )     int  ->  r14         hoist "CSE - aggressive"
-;  V23 cse7         [V23,T18] (  2,  8   )     int  ->  rbp         "CSE - aggressive"
-;  V24 cse8         [V24,T01] ( 14, 75.50)     int  ->  registers   multi-def "CSE - aggressive"
+;  V19 cse3         [V19,T20] (  3, 12   )     int  ->  r14         "CSE - aggressive"
+;  V20 cse4         [V20,T11] (  2,  4   )     int  ->  r14         "CSE - aggressive"
+;  V21 cse5         [V21,T06] (  2, 32   )     int  ->  r13         "CSE - aggressive"
+;  V22 cse6         [V22,T22] (  2,  5   )     int  ->  rbx         hoist "CSE - aggressive"
+;  V23 cse7         [V23,T18] (  2,  8   )     int  ->  r13         "CSE - aggressive"
+;  V24 cse8         [V24,T01] ( 14, 75.50)     int  ->  rdi         multi-def "CSE - aggressive"
 ;  V25 cse9         [V25,T21] (  7, 11   )     int  ->  r11         multi-def "CSE - aggressive"
-;  V26 cse10        [V26,T19] (  7, 14   )     int  ->  rbx         hoist multi-def "CSE - aggressive"
-;  V27 cse11        [V27,T14] (  7, 29   )     int  ->  registers   multi-def "CSE - aggressive"
+;  V26 cse10        [V26,T19] (  7, 14   )     int  ->  rsi         hoist multi-def "CSE - aggressive"
+;  V27 cse11        [V27,T14] (  7, 29   )     int  ->  rbp         multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 32
 
@@ -60,25 +60,25 @@ G_M49005_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        mov      r9d, dword ptr [rsp+0xA8]
                        ;; size=111 bbWeight=0.01 PerfScore 0.23
 G_M49005_IG02:        ; bbWeight=0.01, gcrefRegs=0002 {rcx}, byrefRegs=0104 {rdx r8}, byref
-       jmp      G_M49005_IG12
+       jmp      G_M49005_IG11
                       ;; size=5 bbWeight=0.01 PerfScore 0.02
 G_M49005_IG03:        ; bbWeight=2, gcrefRegs=0002 {rcx}, byrefRegs=0104 {rdx r8}, byref, isz
        mov      r11d, dword ptr [rcx+0x18]
-       mov      r10d, eax
-       sub      r10d, r11d
-       mov      ebx, dword ptr [rcx+0x10]
-       cmp      r10d, ebx
-       jae      G_M49005_IG15
-       mov      esi, dword ptr [rcx+0x14]
-       mov      r11d, r10d
-       imul     r11d, esi
-       mov      edi, dword ptr [rcx+0x1C]
-       mov      ebp, eax
-       sub      ebp, edi
-       cmp      ebp, esi
-       jae      G_M49005_IG15
-       add      r11d, ebp
-       mov      r9d, r11d
+       mov      r14d, eax
+       sub      r14d, r11d
+       mov      esi, dword ptr [rcx+0x10]
+       cmp      r14d, esi
+       jae      G_M49005_IG13
+       mov      r10d, r14d
+       mov      edi, dword ptr [rcx+0x14]
+       mov      r9d, r10d
+       imul     r9d, edi
+       mov      ebp, dword ptr [rcx+0x1C]
+       mov      r13d, eax
+       sub      r13d, ebp
+       cmp      r13d, edi
+       jae      G_M49005_IG13
+       add      r9d, r13d
        vmovsd   xmm0, qword ptr [rcx+8*r9+0x20]
        vmulsd   xmm1, xmm0, qword ptr [rdx]
        vmovsd   qword ptr [rdx], xmm1
@@ -87,19 +87,19 @@ G_M49005_IG03:        ; bbWeight=2, gcrefRegs=0002 {rcx}, byrefRegs=0104 {rdx r8
        lea      r11d, [2*r11+0x01]
        test     r11d, r11d
        jle      SHORT G_M49005_IG05
-                      ;; size=90 bbWeight=2 PerfScore 60.50
+                     ;; size=93 bbWeight=2 PerfScore 60.50
 G_M49005_IG04:        ; bbWeight=16, gcrefRegs=0002 {rcx}, byrefRegs=0104 {rdx r8}, byref, isz
        mov      r11d, r10d
-       imul     r11d, esi
-       mov      ebp, r9d
-       sub      ebp, edi
-       cmp      ebp, esi
-       jae      G_M49005_IG15
-       mov      ebx, ebp
+       imul     r11d, edi
+       mov      r13d, r9d
+       sub      r13d, ebp
+       cmp      r13d, edi
+       jae      G_M49005_IG13
+       mov      ebx, r13d
        add      r11d, ebx
-       mov      ebp, r10d
-       imul     ebp, esi
-       add      ebx, ebp
+       mov      esi, r10d
+       imul     esi, edi
+       add      ebx, esi
        vmovsd   xmm1, qword ptr [rcx+8*rbx+0x20]
        vdivsd   xmm1, xmm1, xmm0
        vmovsd   qword ptr [rcx+8*r11+0x20], xmm1
@@ -108,7 +108,7 @@ G_M49005_IG04:        ; bbWeight=16, gcrefRegs=0002 {rcx}, byrefRegs=0104 {rdx r
        lea      r11d, [2*r11+0x01]
        cmp      r9d, r11d
        jle      SHORT G_M49005_IG04
-                      ;; size=69 bbWeight=16 PerfScore 464.00
+                       ;; size=72 bbWeight=16 PerfScore 464.00
 G_M49005_IG05:        ; bbWeight=2, gcrefRegs=0002 {rcx}, byrefRegs=0104 {rdx r8}, byref, isz
        mov      r10d, 1
        cmp      dword ptr [r8], 0
@@ -136,82 +136,78 @@ G_M49005_IG08:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0002 {
        ; gcrRegs +[rcx]
        ; byrRegs +[rdx r8]
        cmp      r10d, eax
-       jne      SHORT G_M49005_IG11
+       jne      SHORT G_M49005_IG10
                         ;; size=5 bbWeight=2 PerfScore 2.50
 G_M49005_IG09:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0104 {rdx r8}, byref, isz
        inc      r10d
        cmp      r10d, dword ptr [r8]
        jle      SHORT G_M49005_IG08
-                      ;; size=8 bbWeight=8 PerfScore 34.00
-G_M49005_IG10:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0104 {rdx r8}, byref, isz
        jmp      SHORT G_M49005_IG06
-                     ;; size=2 bbWeight=1 PerfScore 2.00
-G_M49005_IG11:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0104 {rdx r8}, byref
+                      ;; size=10 bbWeight=8 PerfScore 50.00
+G_M49005_IG10:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0104 {rdx r8}, byref
        mov      r11d, dword ptr [rcx+0x18]
-       mov      r9d, r10d
-       sub      r9d, r11d
-       mov      ebx, dword ptr [rcx+0x10]
-       cmp      r9d, ebx
-       jae      G_M49005_IG15
-       mov      esi, dword ptr [rcx+0x14]
-       mov      r11d, r9d
-       imul     r11d, esi
-       mov      edi, dword ptr [rcx+0x1C]
-       mov      ebp, eax
-       sub      ebp, edi
-       cmp      ebp, esi
-       jae      G_M49005_IG15
-       add      r11d, ebp
-       mov      r9d, r11d
+       mov      ebx, r10d
+       sub      ebx, r11d
+       mov      esi, dword ptr [rcx+0x10]
+       cmp      ebx, esi
+       jae      G_M49005_IG13
+       mov      edi, dword ptr [rcx+0x14]
+       imul     ebx, edi
+       mov      ebp, dword ptr [rcx+0x1C]
+       mov      r14d, eax
+       sub      r14d, ebp
+       cmp      r14d, edi
+       jae      G_M49005_IG13
+       add      r14d, ebx
+       mov      r9d, r14d
        vmovsd   xmm0, qword ptr [rcx+8*r9+0x20]
        mov      r9d, 1
-                       ;; size=66 bbWeight=0.50 PerfScore 9.25
-G_M49005_IG12:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0104 {rdx r8}, byref, isz
+                        ;; size=64 bbWeight=0.50 PerfScore 9.12
+G_M49005_IG11:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0104 {rdx r8}, byref, isz
        mov      r11d, dword ptr [r8]
        lea      r11d, [2*r11+0x01]
        cmp      r9d, r11d
        jg       SHORT G_M49005_IG09
        mov      r11d, dword ptr [rcx+0x18]
-       mov      r14d, r10d
-       sub      r14d, r11d
-       mov      ebx, dword ptr [rcx+0x10]
+       mov      ebx, r10d
+       sub      ebx, r11d
+       mov      esi, dword ptr [rcx+0x10]
                       ;; size=29 bbWeight=1 PerfScore 8.25
-G_M49005_IG13:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0104 {rdx r8}, byref, isz
-       mov      esi, r14d
-       cmp      esi, ebx
-       jae      SHORT G_M49005_IG15
+G_M49005_IG12:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0104 {rdx r8}, byref, isz
+       mov      r14d, ebx
+       cmp      r14d, esi
+       jae      SHORT G_M49005_IG13
        mov      edi, dword ptr [rcx+0x14]
-       mov      r15d, esi
+       mov      r15d, r14d
        imul     r15d, edi
        mov      ebp, dword ptr [rcx+0x1C]
        mov      r13d, r9d
        sub      r13d, ebp
+       cmp      r13d, edi
+       jae      SHORT G_M49005_IG13
        mov      ebp, r13d
-       cmp      ebp, edi
-       jae      SHORT G_M49005_IG15
        add      r15d, ebp
-       imul     esi, edi
-       add      esi, ebp
-       vmovsd   xmm1, qword ptr [rcx+8*rsi+0x20]
-       mov      esi, eax
-       sub      esi, r11d
-       cmp      esi, ebx
-       jae      SHORT G_M49005_IG15
-       imul     esi, edi
-       add      esi, ebp
-       vmulsd   xmm2, xmm0, qword ptr [rcx+8*rsi+0x20]
+       mov      r13d, r15d
+       imul     r14d, edi
+       add      r14d, ebp
+       vmovsd   xmm1, qword ptr [rcx+8*r14+0x20]
+       mov      r14d, eax
+       sub      r14d, r11d
+       cmp      r14d, esi
+       jae      SHORT G_M49005_IG13
+       imul     edi, r14d
+       add      edi, ebp
+       vmulsd   xmm2, xmm0, qword ptr [rcx+8*rdi+0x20]
        vsubsd   xmm1, xmm1, xmm2
-       vmovsd   qword ptr [rcx+8*r15+0x20], xmm1
+       vmovsd   qword ptr [rcx+8*r13+0x20], xmm1
        inc      r9d
-       mov      esi, dword ptr [r8]
-       lea      esi, [2*rsi+0x01]
-       cmp      r9d, esi
-       jle      SHORT G_M49005_IG13
-                       ;; size=96 bbWeight=4 PerfScore 141.00
-G_M49005_IG14:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0104 {rdx r8}, byref
+       mov      edi, dword ptr [r8]
+       lea      edi, [2*rdi+0x01]
+       cmp      r9d, edi
+       jle      SHORT G_M49005_IG12
        jmp      G_M49005_IG09
-                     ;; size=5 bbWeight=0.50 PerfScore 1.00
-G_M49005_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                      ;; size=112 bbWeight=4 PerfScore 150.00
+G_M49005_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        ; byrRegs -[rdx r8]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -219,7 +215,7 @@ G_M49005_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 533, prolog size 111, PerfScore 770.00, instruction count 139, allocated bytes for code 533 (MethodHash=d6994092) for method Benchstone.MDBenchF.MDInvMt:Inner(double[,],byref,byref) (Tier1-OSR)
...
  
  
coreclr_tests.run.windows.x64.checked.mch
-47 (-6.82%) : 482934.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalList(System.Canon[]):this (Tier1)
@@ -9,16 +9,16 @@
 ; 5 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T07] (  8,  5.13)     ref  ->  rsi         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T01] (  8, 39.87)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
-;  V02 loc0         [V02,T05] ( 17, 12.72)     ref  ->  rdi         class-hnd <System.__Canon[]>
-;  V03 loc1         [V03,T08] (  6,  6.97)     int  ->  rbp        
-;  V04 loc2         [V04,T10] (  9,  6.60)     int  ->  r14        
-;  V05 loc3         [V05,T02] (  6, 38.87)     int  ->  r15        
-;  V06 loc4         [V06,T09] (  9,  6.64)     ref  ->  r13         class-hnd <System.__Canon>
-;  V07 loc5         [V07,T03] (  3, 36.67)   ubyte  ->  r12        
-;  V08 loc6         [V08,T04] ( 14, 21.85)     int  ->  [rsp+0x3C] 
-;  V09 loc7         [V09,T00] ( 10, 53.87)     ref  ->  [rsp+0x28]  class-hnd <System.__Canon>
+;  V00 this         [V00,T06] (  8,  5.13)     ref  ->  rsi         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
+;  V01 arg1         [V01,T03] (  8,  9.07)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
+;  V02 loc0         [V02,T02] ( 17, 12.72)     ref  ->  rdi         class-hnd <System.__Canon[]>
+;  V03 loc1         [V03,T07] (  5,  6.97)     int  ->  rbp        
+;  V04 loc2         [V04,T09] (  9,  6.60)     int  ->  r14        
+;  V05 loc3         [V05,T05] (  6,  8.07)     int  ->  r15        
+;  V06 loc4         [V06,T08] (  9,  6.64)     ref  ->  r13         class-hnd <System.__Canon>
+;  V07 loc5         [V07,T11] (  3,  5.87)   ubyte  ->  r12        
+;  V08 loc6         [V08,T01] ( 11, 21.85)     int  ->  [rsp+0x3C] 
+;  V09 loc7         [V09,T00] ( 10, 23.07)     ref  ->  [rsp+0x28]  class-hnd <System.__Canon>
 ;  V10 loc8         [V10,T20] (  3,  0.40)     int  ->  r12        
 ;  V11 loc9         [V11    ] (  3,  0.60)     ref  ->  [rsp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.__Canon[]>
 ;  V12 OutArgs      [V12    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -27,7 +27,7 @@
 ;* V15 tmp3         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
 ;* V16 tmp4         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V17 tmp5         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Reflection.RuntimeMethodInfo>
-;* V18 tmp6         [V18,T11] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
+;* V18 tmp6         [V18,T10] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
 ;  V19 tmp7         [V19,T19] (  4,  0.56)     int  ->  r12         "Inline return value spill temp"
 ;  V20 tmp8         [V20,T15] (  3,  0.88)     int  ->  r12         "Inlining Arg"
 ;  V21 tmp9         [V21,T21] (  3,  0.40)     int  ->  r12         "Inline return value spill temp"
@@ -35,8 +35,8 @@
 ;* V23 tmp11        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V24 tmp12        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
 ;  V25 tmp13        [V25,T18] (  2,  0.80)    long  ->  rcx         "argument with side effect"
-;  V26 cse0         [V26,T12] (  6,  5.22)    long  ->  rcx         multi-def "CSE - aggressive"
-;  V27 cse1         [V27,T06] (  3,  8.80)     ref  ->  rdx         "CSE - aggressive"
+;  V26 cse0         [V26,T12] (  6,  5.22)    long  ->  rax         multi-def "CSE - aggressive"
+;  V27 cse1         [V27,T04] (  3,  8.80)     ref  ->  rdx         "CSE - aggressive"
 ;  V28 rat0         [V28,T14] (  3,  0.88)    long  ->  rcx         "Spilling to split statement for tree"
 ;  V29 rat1         [V29,T17] (  3,  0.80)    long  ->  rcx         "runtime lookup"
 ;  V30 rat2         [V30,T13] (  3,  1.12)    long  ->  rax         "fgMakeTemp is creating a new local variable"
@@ -61,68 +61,64 @@ G_M8298_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      rbx, rdx
        ; gcrRegs +[rbx]
                        ;; size=34 bbWeight=1 PerfScore 11.00
-G_M8298_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+G_M8298_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rsi+0x08]
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       G_M8298_IG11
-                       ;; size=13 bbWeight=1 PerfScore 3.25
+       je       SHORT G_M8298_IG10
+                       ;; size=9 bbWeight=1 PerfScore 3.25
 G_M8298_IG03:        ; bbWeight=0.73, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
        mov      ebp, dword ptr [rdi+0x08]
        xor      r14d, r14d
        xor      r15d, r15d
        cmp      dword ptr [rbx+0x08], 0
-       jle      G_M8298_IG20
+       jle      G_M8298_IG22
                         ;; size=19 bbWeight=0.73 PerfScore 4.77
-G_M8298_IG04:        ; bbWeight=0.73, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M8298_IG04:        ; bbWeight=0.73, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
        mov      edx, r15d
        mov      r13, gword ptr [rbx+8*rdx+0x10]
        ; gcrRegs +[r13]
        xor      r12d, r12d
        xor      edx, edx
        test     ebp, ebp
-       jle      SHORT G_M8298_IG10
-                       ;; size=17 bbWeight=0.73 PerfScore 2.93
-G_M8298_IG05:        ; bbWeight=0.37, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+       jle      G_M8298_IG16
+                       ;; size=21 bbWeight=0.73 PerfScore 2.93
+G_M8298_IG05:        ; bbWeight=0.37, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
        test     rdi, rdi
-       je       G_M8298_IG29
+       je       G_M8298_IG15
        test     r13, r13
-       je       G_M8298_IG29
-       mov      rcx, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
-       cmp      qword ptr [r13], rcx
-       jne      G_M8298_IG29
+       je       SHORT G_M8298_IG15
+       mov      rax, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
+       cmp      qword ptr [r13], rax
+       jne      SHORT G_M8298_IG15
        cmp      dword ptr [rdi+0x08], ebp
-       jl       G_M8298_IG29
-                       ;; size=47 bbWeight=0.37 PerfScore 3.94
+       jl       SHORT G_M8298_IG15
+                       ;; size=35 bbWeight=0.37 PerfScore 3.94
 G_M8298_IG06:        ; bbWeight=4.88, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      r8d, edx
-       mov      rax, gword ptr [rdi+8*r8+0x10]
-       ; gcrRegs +[rax]
-       test     rax, rax
+       mov      ecx, edx
+       mov      r10, gword ptr [rdi+8*rcx+0x10]
+       ; gcrRegs +[r10]
+       test     r10, r10
+       je       SHORT G_M8298_IG16
+                       ;; size=12 bbWeight=4.88 PerfScore 17.09
+G_M8298_IG07:        ; bbWeight=4.36, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       cmp      qword ptr [r10], rax
+       jne      SHORT G_M8298_IG13
+       mov      rcx, qword ptr [r10+0x50]
+       cmp      rcx, qword ptr [r13+0x50]
        je       SHORT G_M8298_IG09
-                      ;; size=13 bbWeight=4.88 PerfScore 17.09
-G_M8298_IG07:        ; bbWeight=4.36, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref
-       cmp      qword ptr [rax], rcx
-       jne      G_M8298_IG22
-       mov      r8, qword ptr [rax+0x50]
-       cmp      r8, qword ptr [r13+0x50]
-       jne      G_M8298_IG22
-                       ;; size=23 bbWeight=4.36 PerfScore 43.56
-G_M8298_IG08:        ; bbWeight=35.20, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rsp+0x3C], edx
+                        ;; size=15 bbWeight=4.36 PerfScore 43.56
+G_M8298_IG08:        ; bbWeight=5.08, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r10]
        jmp      SHORT G_M8298_IG13
-                        ;; size=6 bbWeight=35.20 PerfScore 105.60
-G_M8298_IG09:        ; bbWeight=2.44, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
+                      ;; size=2 bbWeight=5.08 PerfScore 10.16
+G_M8298_IG09:        ; bbWeight=2.18, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[r10]
        mov      dword ptr [rsp+0x3C], edx
-       jmp      SHORT G_M8298_IG14
-                       ;; size=6 bbWeight=2.44 PerfScore 7.33
-G_M8298_IG10:        ; bbWeight=0.37, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rsp+0x3C], edx
-       jmp      SHORT G_M8298_IG14
-                       ;; size=6 bbWeight=0.37 PerfScore 1.10
-G_M8298_IG11:        ; bbWeight=0.27, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rdi r13]
+       jmp      SHORT G_M8298_IG12
+                       ;; size=6 bbWeight=2.18 PerfScore 6.53
+G_M8298_IG10:        ; bbWeight=0.27, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rdi r10 r13]
        lea      rcx, bword ptr [rsi+0x08]
        ; byrRegs +[rcx]
        mov      rdx, rbx
@@ -132,7 +128,7 @@ G_M8298_IG11:        ; bbWeight=0.27, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {
        ; byrRegs -[rcx]
        nop      
                        ;; size=13 bbWeight=0.27 PerfScore 0.53
-G_M8298_IG12:        ; bbWeight=0.27, epilog, nogc, extend
+G_M8298_IG11:        ; bbWeight=0.27, epilog, nogc, extend
        add      rsp, 72
        pop      rbx
        pop      rbp
@@ -144,38 +140,57 @@ G_M8298_IG12:        ; bbWeight=0.27, epilog, nogc, extend
        pop      r15
        ret      
                        ;; size=17 bbWeight=0.27 PerfScore 1.40
-G_M8298_IG13:        ; bbWeight=35.20, gcVars=0000000000000000 {}, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[rax rbx rdi r13]
+G_M8298_IG12:        ; bbWeight=4.40, gcVars=0000000000000000 {}, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; gcrRegs +[rbx rdi r10 r13]
        movsxd   rdx, r15d
        mov      rcx, rbx
        ; gcrRegs +[rcx]
-       mov      r8, rax
+       mov      r8, r10
        ; gcrRegs +[r8]
        call     CORINFO_HELP_ARRADDR_ST
-       ; gcrRegs -[rax rcx r8]
+       ; gcrRegs -[rcx r8 r10]
        ; gcr arg pop 0
        mov      r12d, 1
-                      ;; size=20 bbWeight=35.20 PerfScore 70.40
-G_M8298_IG14:        ; bbWeight=0.73, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       test     r12d, r12d
-       jne      SHORT G_M8298_IG19
-       test     r14d, r14d
-       jne      SHORT G_M8298_IG15
        mov      edx, dword ptr [rsp+0x3C]
-       mov      r14d, edx
-                       ;; size=17 bbWeight=0.73 PerfScore 2.75
-G_M8298_IG15:        ; bbWeight=0.73, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
-       cmp      dword ptr [rdi+0x08], r14d
-       jle      G_M8298_IG24
-                       ;; size=10 bbWeight=0.73 PerfScore 2.93
+       jmp      SHORT G_M8298_IG16
+                       ;; size=26 bbWeight=4.40 PerfScore 22.00
+G_M8298_IG13:        ; bbWeight=5.08, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       inc      edx
+       cmp      edx, ebp
+       jl       SHORT G_M8298_IG06
+                       ;; size=6 bbWeight=5.08 PerfScore 7.62
+G_M8298_IG14:        ; bbWeight=0.73, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M8298_IG16
+                       ;; size=2 bbWeight=0.73 PerfScore 1.47
+G_M8298_IG15:        ; bbWeight=0.05, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+       cmp      edx, dword ptr [rdi+0x08]
+       jae      G_M8298_IG35
+       mov      r10d, edx
+       mov      r10, gword ptr [rdi+8*r10+0x10]
+       ; gcrRegs +[r10]
+       test     r10, r10
+       jne      G_M8298_IG32
+                       ;; size=26 bbWeight=0.05 PerfScore 0.37
 G_M8298_IG16:        ; bbWeight=0.73, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r10]
+       test     r12d, r12d
+       jne      SHORT G_M8298_IG21
+       test     r14d, r14d
+       jne      SHORT G_M8298_IG17
+       mov      r14d, edx
+                       ;; size=13 bbWeight=0.73 PerfScore 2.02
+G_M8298_IG17:        ; bbWeight=0.73, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       cmp      dword ptr [rdi+0x08], r14d
+       jle      SHORT G_M8298_IG24
+                       ;; size=6 bbWeight=0.73 PerfScore 2.93
+G_M8298_IG18:        ; bbWeight=0.73, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
        cmp      r14d, dword ptr [rdi+0x08]
-       jae      G_M8298_IG38
+       jae      G_M8298_IG35
        mov      ecx, r14d
        cmp      gword ptr [rdi+8*rcx+0x10], 0
-       je       SHORT G_M8298_IG18
+       je       SHORT G_M8298_IG20
                       ;; size=21 bbWeight=0.73 PerfScore 6.05
-G_M8298_IG17:        ; bbWeight=2.93, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+G_M8298_IG19:        ; bbWeight=2.93, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        mov      rdx, 0xD1FFAB1E
        ; gcrRegs +[rdx]
        mov      rcx, rdx
@@ -184,7 +199,7 @@ G_M8298_IG17:        ; bbWeight=2.93, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefReg
        ; gcrRegs -[rcx rdx]
        ; gcr arg pop 0
                        ;; size=19 bbWeight=2.93 PerfScore 10.27
-G_M8298_IG18:        ; bbWeight=0.73, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+G_M8298_IG20:        ; bbWeight=0.73, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        mov      r8, qword ptr [rsi]
        mov      r8, qword ptr [r8+0x38]
        mov      r8, qword ptr [r8]
@@ -205,12 +220,12 @@ G_M8298_IG18:        ; bbWeight=0.73, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefReg
        ; byrRegs -[rax rcx]
        inc      r14d
...
  
-37 (-5.61%) : 492747.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalList(System.Canon[]):this (Tier1)
@@ -10,15 +10,15 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  8,  4.89)     ref  ->  rbx         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T01] (  8,  4.26)     ref  ->  rsi         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T01] (  8,  4.53)     ref  ->  rsi         class-hnd single-def <System.__Canon[]>
 ;  V02 loc0         [V02,T02] ( 17,  6.01)     ref  ->  rdi         class-hnd <System.__Canon[]>
-;  V03 loc1         [V03,T08] (  6,  1.82)     int  ->  rbp        
-;  V04 loc2         [V04,T05] (  9,  3.32)     int  ->  r14        
-;  V05 loc3         [V05,T07] (  6,  2.11)     int  ->  r15        
+;  V03 loc1         [V03,T08] (  5,  1.82)     int  ->  rbp        
+;  V04 loc2         [V04,T06] (  9,  3.32)     int  ->  r14        
+;  V05 loc3         [V05,T07] (  6,  2.37)     int  ->  r15        
 ;  V06 loc4         [V06,T09] (  9,  1.64)     ref  ->  r13         class-hnd <System.__Canon>
-;  V07 loc5         [V07,T16] (  3,  1.00)   ubyte  ->  r12        
-;  V08 loc6         [V08,T04] ( 14,  4.06)     int  ->  [rsp+0x3C] 
-;  V09 loc7         [V09,T06] ( 10,  2.58)     ref  ->  [rsp+0x28]  class-hnd <System.__Canon>
+;  V07 loc5         [V07,T11] (  3,  1.26)   ubyte  ->  r12        
+;  V08 loc6         [V08,T04] ( 11,  4.06)     int  ->  [rsp+0x3C] 
+;  V09 loc7         [V09,T05] ( 10,  2.84)     ref  ->  [rsp+0x28]  class-hnd <System.__Canon>
 ;  V10 loc8         [V10,T20] (  3,  0.53)     int  ->  r12        
 ;  V11 loc9         [V11    ] (  3,  0.79)     ref  ->  [rsp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.__Canon[]>
 ;  V12 OutArgs      [V12    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -29,16 +29,16 @@
 ;* V17 tmp5         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Reflection.RuntimeMethodInfo>
 ;* V18 tmp6         [V18,T18] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
 ;  V19 tmp7         [V19,T19] (  4,  0.74)     int  ->  r12         "Inline return value spill temp"
-;  V20 tmp8         [V20,T12] (  3,  1.16)     int  ->  r12         "Inlining Arg"
+;  V20 tmp8         [V20,T13] (  3,  1.16)     int  ->  r12         "Inlining Arg"
 ;  V21 tmp9         [V21,T21] (  3,  0.53)     int  ->  r12         "Inline return value spill temp"
-;  V22 tmp10        [V22,T13] (  3,  1.16)     int  ->  rax         "Inlining Arg"
+;  V22 tmp10        [V22,T14] (  3,  1.16)     int  ->   r8         "Inlining Arg"
 ;* V23 tmp11        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V24 tmp12        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
-;  V25 tmp13        [V25,T15] (  2,  1.05)    long  ->  rcx         "argument with side effect"
+;  V25 tmp13        [V25,T16] (  2,  1.05)    long  ->  rcx         "argument with side effect"
 ;  V26 cse0         [V26,T03] (  3,  4.42)     ref  ->  rdx         "CSE - aggressive"
-;  V27 cse1         [V27,T17] (  6,  0.91)    long  ->  rcx         multi-def "CSE - conservative"
-;  V28 rat0         [V28,T11] (  3,  1.16)    long  ->  rcx         "Spilling to split statement for tree"
-;  V29 rat1         [V29,T14] (  3,  1.05)    long  ->  rcx         "runtime lookup"
+;  V27 cse1         [V27,T17] (  6,  0.91)    long  ->  rdx         multi-def "CSE - conservative"
+;  V28 rat0         [V28,T12] (  3,  1.16)    long  ->  rcx         "Spilling to split statement for tree"
+;  V29 rat1         [V29,T15] (  3,  1.05)    long  ->  rcx         "runtime lookup"
 ;  V30 rat2         [V30,T10] (  3,  1.47)    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 72
@@ -61,12 +61,12 @@ G_M8298_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      rsi, rdx
        ; gcrRegs +[rsi]
                        ;; size=34 bbWeight=1 PerfScore 11.00
-G_M8298_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+G_M8298_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       jne      SHORT G_M8298_IG07
-                       ;; size=9 bbWeight=1 PerfScore 3.25
+       jne      G_M8298_IG15
+                       ;; size=13 bbWeight=1 PerfScore 3.25
 G_M8298_IG03:        ; bbWeight=0.63, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        lea      rcx, bword ptr [rbx+0x08]
@@ -90,177 +90,14 @@ G_M8298_IG04:        ; bbWeight=0.63, epilog, nogc, extend
        pop      r15
        ret      
                        ;; size=17 bbWeight=0.63 PerfScore 3.32
-G_M8298_IG05:        ; bbWeight=0.52, gcVars=0000000000000000 {}, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; gcrRegs +[rax rsi rdi r13]
-       mov      r8, qword ptr [rax+0x50]
-       cmp      r8, qword ptr [r13+0x50]
-       jne      SHORT G_M8298_IG12
-                       ;; size=10 bbWeight=0.52 PerfScore 3.13
-G_M8298_IG06:        ; bbWeight=4.21, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref
-       mov      dword ptr [rsp+0x3C], edx
-       jmp      G_M8298_IG28
-                       ;; size=9 bbWeight=4.21 PerfScore 12.63
-G_M8298_IG07:        ; bbWeight=0.37, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rax r13]
-       mov      ebp, dword ptr [rdi+0x08]
-       xor      r14d, r14d
-       xor      r15d, r15d
-       cmp      dword ptr [rsi+0x08], 0
-       jle      G_M8298_IG35
-                       ;; size=19 bbWeight=0.37 PerfScore 2.39
-G_M8298_IG08:        ; bbWeight=0.37, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
-       mov      edx, r15d
-       mov      r13, gword ptr [rsi+8*rdx+0x10]
-       ; gcrRegs +[r13]
-       xor      r12d, r12d
-       xor      edx, edx
-       test     ebp, ebp
-       jle      SHORT G_M8298_IG15
-                       ;; size=17 bbWeight=0.37 PerfScore 1.47
-G_M8298_IG09:        ; bbWeight=0.18, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       test     rdi, rdi
-       je       SHORT G_M8298_IG14
-       test     r13, r13
-       je       SHORT G_M8298_IG14
-       mov      rcx, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
-       cmp      qword ptr [r13], rcx
-       jne      SHORT G_M8298_IG14
-       cmp      dword ptr [rdi+0x08], ebp
-       jl       SHORT G_M8298_IG14
-                       ;; size=31 bbWeight=0.18 PerfScore 1.98
-G_M8298_IG10:        ; bbWeight=0.63, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      r8d, edx
-       mov      rax, gword ptr [rdi+8*r8+0x10]
-       ; gcrRegs +[rax]
-       test     rax, rax
-       je       SHORT G_M8298_IG15
-                       ;; size=13 bbWeight=0.63 PerfScore 2.19
-G_M8298_IG11:        ; bbWeight=0.52, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       cmp      qword ptr [rax], rcx
-       je       SHORT G_M8298_IG05
-                       ;; size=5 bbWeight=0.52 PerfScore 2.08
-G_M8298_IG12:        ; bbWeight=0.89, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
-       inc      edx
-       cmp      edx, ebp
-       jl       SHORT G_M8298_IG10
-                       ;; size=6 bbWeight=0.89 PerfScore 1.33
-G_M8298_IG13:        ; bbWeight=0.42, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       jmp      SHORT G_M8298_IG15
-                       ;; size=2 bbWeight=0.42 PerfScore 0.84
-G_M8298_IG14:        ; bbWeight=0.01, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       cmp      edx, dword ptr [rdi+0x08]
-       jae      G_M8298_IG40
-       mov      eax, edx
-       mov      rax, gword ptr [rdi+8*rax+0x10]
-       ; gcrRegs +[rax]
-       test     rax, rax
-       jne      SHORT G_M8298_IG22
-                       ;; size=21 bbWeight=0.01 PerfScore 0.05
-G_M8298_IG15:        ; bbWeight=0.37, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
-       test     r12d, r12d
-       jne      G_M8298_IG34
-       test     r14d, r14d
-       jne      SHORT G_M8298_IG16
-       mov      r14d, edx
-                       ;; size=17 bbWeight=0.37 PerfScore 1.01
-G_M8298_IG16:        ; bbWeight=0.37, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
-       cmp      dword ptr [rdi+0x08], r14d
-       jg       G_M8298_IG31
-                       ;; size=10 bbWeight=0.37 PerfScore 1.47
-G_M8298_IG17:        ; bbWeight=0.26, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       cmp      byte  ptr [rbx+0x18], 0
-       jne      G_M8298_IG42
-       mov      r12d, dword ptr [rdi+0x08]
-       add      r12d, r12d
-       cmp      r12d, 4
-       jg       SHORT G_M8298_IG21
-                       ;; size=23 bbWeight=0.26 PerfScore 1.97
-G_M8298_IG18:        ; bbWeight=0.21, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
-       mov      r12d, 4
-                       ;; size=6 bbWeight=0.21 PerfScore 0.05
-G_M8298_IG19:        ; bbWeight=0.26, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
-       mov      eax, dword ptr [rsi+0x08]
-       cmp      r12d, eax
-       jge      G_M8298_IG37
-                       ;; size=12 bbWeight=0.26 PerfScore 0.86
-G_M8298_IG20:        ; bbWeight=0.05, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
-       jmp      G_M8298_IG39
-                       ;; size=5 bbWeight=0.05 PerfScore 0.10
-G_M8298_IG21:        ; bbWeight=0.05, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       jmp      SHORT G_M8298_IG19
-                       ;; size=2 bbWeight=0.05 PerfScore 0.10
-G_M8298_IG22:        ; bbWeight=0.01, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs +[rax]
-       mov      rcx, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
-       cmp      qword ptr [r13], rcx
-       je       SHORT G_M8298_IG24
-                       ;; size=16 bbWeight=0.01 PerfScore 0.02
-G_M8298_IG23:        ; bbWeight=0, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rsp+0x3C], edx
-       mov      rcx, r13
-       ; gcrRegs +[rcx]
-       mov      gword ptr [rsp+0x28], rax
-       ; GC ptr vars +{V09}
-       mov      rdx, rax
-       ; gcrRegs +[rdx]
-       mov      r8, qword ptr [r13]
-       mov      r8, qword ptr [r8+0x48]
-       call     [r8+0x20]<unknown method>
-       ; gcrRegs -[rax rcx rdx]
-       ; gcr arg pop 0
-       test     eax, eax
-       mov      rax, gword ptr [rsp+0x28]
-       ; gcrRegs +[rax]
-       jne      SHORT G_M8298_IG28
-       mov      edx, dword ptr [rsp+0x3C]
-       jmp      SHORT G_M8298_IG25
-                       ;; size=42 bbWeight=0 PerfScore 0.00
-G_M8298_IG24:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; GC ptr vars -{V09}
-       cmp      qword ptr [rax], rcx
-       jne      G_M8298_IG41
-       mov      rcx, qword ptr [rax+0x50]
-       cmp      rcx, qword ptr [r13+0x50]
-       je       SHORT G_M8298_IG27
-                       ;; size=19 bbWeight=0.01 PerfScore 0.05
-G_M8298_IG25:        ; bbWeight=0.01, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rax]
-       inc      edx
-       mov      dword ptr [rsp+0x3C], edx
-       cmp      edx, ebp
-       mov      edx, dword ptr [rsp+0x3C]
-       jge      G_M8298_IG15
-                       ;; size=18 bbWeight=0.01 PerfScore 0.03
-G_M8298_IG26:        ; bbWeight=0.01, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
-       jmp      G_M8298_IG14
-                       ;; size=5 bbWeight=0.01 PerfScore 0.01
-G_M8298_IG27:        ; bbWeight=0.00, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref
-       ; gcrRegs +[rax]
-       mov      dword ptr [rsp+0x3C], edx
-                       ;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M8298_IG28:        ; bbWeight=0.26, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref
-       movsxd   rdx, r15d
-       mov      rcx, rsi
-       ; gcrRegs +[rcx]
-       mov      r8, rax
-       ; gcrRegs +[r8]
-       call     CORINFO_HELP_ARRADDR_ST
-       ; gcrRegs -[rax rcx r8]
-       ; gcr arg pop 0
-       mov      r12d, 1
-       mov      edx, dword ptr [rsp+0x3C]
-       jmp      G_M8298_IG15
-                       ;; size=29 bbWeight=0.26 PerfScore 1.32
-G_M8298_IG29:        ; bbWeight=0.05, gcrefRegs=2048 {rbx rsi r13}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rdi]
+G_M8298_IG05:        ; bbWeight=0.05, gcVars=0000000000000000 {}, gcrefRegs=2048 {rbx rsi r13}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs +[rsi r13]
        mov      rdx, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
        ; gcr arg pop 0
        mov      rcx, rax
                        ;; size=18 bbWeight=0.05 PerfScore 0.08
-G_M8298_IG30:        ; bbWeight=0.26, gcrefRegs=2048 {rbx rsi r13}, byrefRegs=0000 {}, byref
+G_M8298_IG06:        ; bbWeight=0.26, gcrefRegs=2048 {rbx rsi r13}, byrefRegs=0000 {}, byref
        lea      rdx, [rsp+0x30]
        mov      r8d, r12d
        call     [System.Array:Resize[System.__Canon](byref,int)]
@@ -268,14 +105,14 @@ G_M8298_IG30:        ; bbWeight=0.26, gcrefRegs=2048 {rbx rsi r13}, byrefRegs=00
        mov      rdi, gword ptr [rsp+0x30]
        ; gcrRegs +[rdi]
                        ;; size=19 bbWeight=0.26 PerfScore 1.25
-G_M8298_IG31:        ; bbWeight=0.37, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+G_M8298_IG07:        ; bbWeight=0.37, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
        cmp      r14d, dword ptr [rdi+0x08]
...
  
-13 (-5.37%) : 449476.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
@@ -11,10 +11,10 @@
 ;
 ;  V00 arg0         [V00,T03] (  9,500.49)     ref  ->  rcx         class-hnd single-def <int[,]>
 ;* V01 arg1         [V01    ] (  0,  0   )   byref  ->  zero-ref    single-def
-;  V02 loc0         [V02,T17] (  6,100.52)     int  ->   r8        
+;  V02 loc0         [V02,T17] (  5,100.52)     int  ->   r8        
 ;  V03 loc1         [V03,T11] (  2,199.00)     int  ->  rsi        
 ;  V04 loc2         [V04,T12] (  2,199.00)     int  ->  r15        
-;  V05 loc3         [V05,T20] (  8,  0.54)     int  ->  r10        
+;  V05 loc3         [V05,T20] (  5,  0.54)     int  ->  r10        
 ;  V06 loc4         [V06,T16] (  6,101.02)     int  ->  rdx        
 ;  V07 loc5         [V07,T05] (  6,399.00)     int  ->  rax        
 ;  V08 OutArgs      [V08    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -101,13 +101,12 @@ G_M3571_IG07:        ; bbWeight=99.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {},
 G_M3571_IG08:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        inc      edx
        cmp      edx, r8d
-       jg       SHORT G_M3571_IG11
-       jmp      SHORT G_M3571_IG04
-                       ;; size=9 bbWeight=0.50 PerfScore 1.75
+       jle      SHORT G_M3571_IG04
+                       ;; size=7 bbWeight=0.50 PerfScore 0.75
 G_M3571_IG09:        ; bbWeight=0.01, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        inc      r10d
        cmp      r10d, r8d
-       jg       SHORT G_M3571_IG12
+       jg       SHORT G_M3571_IG11
        jmp      SHORT G_M3571_IG03
                        ;; size=10 bbWeight=0.01 PerfScore 0.04
 G_M3571_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -115,14 +114,10 @@ G_M3571_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M3571_IG11:        ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
-       ; gcrRegs +[rcx]
-       inc      r10d
-       cmp      r10d, r8d
-       jle      G_M3571_IG03
-                       ;; size=12 bbWeight=0 PerfScore 0.00
-G_M3571_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-       ; gcrRegs -[rcx]
+G_M3571_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       nop      
+                       ;; size=1 bbWeight=0 PerfScore 0.00
+G_M3571_IG12:        ; bbWeight=0, epilog, nogc, extend
        add      rsp, 184
        pop      rbx
        pop      rsi
@@ -133,7 +128,7 @@ G_M3571_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ret      
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 242, prolog size 82, PerfScore 2360.28, instruction count 68, allocated bytes for code 242 (MethodHash=50acf20c) for method Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
+; Total bytes of code 229, prolog size 82, PerfScore 2359.28, instruction count 65, allocated bytes for code 229 (MethodHash=50acf20c) for method Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
  
+21 (+8.68%) : 571792.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
@@ -16,9 +16,9 @@
 ;  V04 loc2         [V04,T02] (  9,  4.67)     int  ->  rbp        
 ;  V05 loc3         [V05,T04] (  5,  3.44)     int  ->  r14        
 ;* V06 loc4         [V06    ] (  0,  0   )     int  ->  zero-ref   
-;  V07 loc5         [V07,T05] (  3,  2.78)     int  ->   r8        
-;  V08 loc6         [V08,T10] (  2,  0.78)   ubyte  ->  rcx        
-;  V09 loc7         [V09,T07] (  3,  1.56)     int  ->  rdx        
+;  V07 loc5         [V07,T05] (  3,  2.78)     int  ->  rcx        
+;  V08 loc6         [V08,T10] (  2,  0.78)   ubyte  ->  r13        
+;  V09 loc7         [V09,T07] (  3,  1.56)     int  ->  r12        
 ;  V10 OutArgs      [V10    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V11 tmp1         [V11    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V12 tmp2         [V12    ] (  2,  1   )     int  ->  [rsp+0x20]  do-not-enreg[X] addr-exposed "field V03._count (fldOffset=0x0)" P-DEP
@@ -32,6 +32,8 @@
 G_M9744_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     r15
        push     r14
+       push     r13
+       push     r12
        push     rdi
        push     rsi
        push     rbp
@@ -41,7 +43,7 @@ G_M9744_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs +[rbx]
        mov      rsi, rdx
        ; byrRegs +[rsi]
-                      ;; size=18 bbWeight=1 PerfScore 6.75
+                      ;; size=22 bbWeight=1 PerfScore 8.75
 G_M9744_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
@@ -58,22 +60,22 @@ G_M9744_IG03:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi
        shl      rax, 4
        lea      r15, bword ptr [rdi+rax+0x10]
        ; byrRegs +[r15]
-       mov      r8d, dword ptr [r15+0x08]
+       mov      ecx, dword ptr [r15+0x08]
        lea      eax, [rbp+0x01]
-       sub      r8d, eax
+       sub      ecx, eax
        je       SHORT G_M9744_IG07
-                       ;; size=44 bbWeight=1 PerfScore 14.75
+                     ;; size=43 bbWeight=1 PerfScore 14.75
 G_M9744_IG04:        ; bbWeight=0.78, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi}, byref, isz
        ; byrRegs -[r15]
-       test     r8d, r8d
+       test     ecx, ecx
        jge      SHORT G_M9744_IG03
-       movzx    rcx, byte  ptr [rbx+0x1D]
-       mov      edx, dword ptr [rbx+0xA0]
-       mov      eax, edx
+       movzx    r13, byte  ptr [rbx+0x1D]
+       mov      r12d, dword ptr [rbx+0xA0]
+       mov      eax, r12d
        sub      eax, ebp
        test     eax, eax
        jg       SHORT G_M9744_IG11
-                       ;; size=23 bbWeight=0.78 PerfScore 5.44
+                       ;; size=25 bbWeight=0.78 PerfScore 5.44
 G_M9744_IG05:        ; bbWeight=0.78, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
        ; gcrRegs -[rdi]
        xor      rax, rax
@@ -88,10 +90,12 @@ G_M9744_IG06:        ; bbWeight=0.78, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
        pop      rbp
        pop      rsi
        pop      rdi
+       pop      r12
+       pop      r13
        pop      r14
        pop      r15
        ret      
-                     ;; size=13 bbWeight=0.78 PerfScore 3.31
+                       ;; size=17 bbWeight=0.78 PerfScore 4.08
 G_M9744_IG07:        ; bbWeight=0.22, gcVars=0000000000000000 {}, gcrefRegs=0088 {rbx rdi}, byrefRegs=8040 {rsi r15}, gcvars, byref, isz
        ; gcrRegs +[rdi]
        ; byrRegs +[rsi r15]
@@ -134,10 +138,12 @@ G_M9744_IG09:        ; bbWeight=0.22, epilog, nogc, extend
        pop      rbp
        pop      rsi
        pop      rdi
+       pop      r12
+       pop      r13
        pop      r14
        pop      r15
        ret      
-                     ;; size=13 bbWeight=0.22 PerfScore 0.94
+                       ;; size=17 bbWeight=0.22 PerfScore 1.17
 G_M9744_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
@@ -145,18 +151,18 @@ G_M9744_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {r
 G_M9744_IG11:        ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi}, byref, isz
        ; gcrRegs +[rdi]
        ; byrRegs +[rsi]
-       test     ecx, ecx
+       test     r13d, r13d
        je       SHORT G_M9744_IG12
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
        mov      ecx, dword ptr [rcx+0x08]
        ; gcrRegs -[rcx]
        add      ecx, ecx
-       sub      edx, ecx
-       sub      edx, ebp
-       test     edx, edx
-       jle      SHORT G_M9744_IG05
-                       ;; size=21 bbWeight=0 PerfScore 0.00
+       sub      r12d, ecx
+       sub      r12d, ebp
+       test     r12d, r12d
+       jle      G_M9744_IG05
+                       ;; size=29 bbWeight=0 PerfScore 0.00
 G_M9744_IG12:        ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi}, byref
        lea      rcx, [rsp+0x20]
        mov      edx, -1
@@ -165,7 +171,7 @@ G_M9744_IG12:        ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi
        jmp      G_M9744_IG03
                        ;; size=21 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 242, prolog size 18, PerfScore 43.14, instruction count 85, allocated bytes for code 242 (MethodHash=1626d9ef) for method System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
+; Total bytes of code 263, prolog size 22, PerfScore 46.14, instruction count 91, allocated bytes for code 263 (MethodHash=1626d9ef) for method System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -173,15 +179,17 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0C
-  CountOfUnwindCodes: 7
+  SizeOfProlog      : 0x10
+  CountOfUnwindCodes: 9
   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: 0x10 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
+    CodeOffset: 0x0C UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x0B UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
+    CodeOffset: 0x0A UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
+    CodeOffset: 0x09 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
+    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r12 (12)
+    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r13 (13)
     CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
     CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
  
+30 (+13.70%) : 494161.dasm - testout1:Test2(int):int (Tier1-OSR)
@@ -10,9 +10,9 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T01] (  5,168.69)     int  ->  rcx        
-;  V01 loc0         [V01,T05] (  4, 13.88)     int  ->  r10        
-;  V02 loc1         [V02,T04] (  5, 13.89)     int  ->   r8        
-;  V03 loc2         [V03,T10] (  4,  0.01)     int  ->  rdi        
+;  V01 loc0         [V01,T05] (  4, 13.91)     int  ->  r10        
+;  V02 loc1         [V02,T04] (  5, 13.92)     int  ->   r8        
+;  V03 loc2         [V03,T10] (  4,  0.04)     int  ->  rdi        
 ;  V04 loc3         [V04,T09] (  4,  0.09)     int  ->  rsi        
 ;  V05 loc4         [V05,T08] (  4,  0.48)     int  ->  rbx        
 ;  V06 loc5         [V06,T07] (  4,  2.52)     int  ->  r11        
@@ -42,85 +42,116 @@ G_M7350_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      eax, dword ptr [rsp+0x64]
                        ;; size=89 bbWeight=1 PerfScore 24.25
 G_M7350_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       jmp      SHORT G_M7350_IG11
+       jmp      SHORT G_M7350_IG22
                         ;; size=2 bbWeight=1 PerfScore 2.00
-G_M7350_IG03:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M7350_IG03:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      r8d, r8d
-                        ;; size=3 bbWeight=0.01 PerfScore 0.00
-G_M7350_IG04:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M7350_IG05
+                       ;; size=5 bbWeight=0.01 PerfScore 0.02
+G_M7350_IG04:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      r10d
+       cmp      r10d, 4
+       jg       G_M7350_IG27
+       jmp      SHORT G_M7350_IG03
+                       ;; size=15 bbWeight=0.01 PerfScore 0.03
+G_M7350_IG05:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      edi, edi
-                       ;; size=2 bbWeight=0.01 PerfScore 0.00
-G_M7350_IG05:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M7350_IG07
+                       ;; size=4 bbWeight=0.01 PerfScore 0.02
+G_M7350_IG06:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      r8d
+       cmp      r8d, 4
+       jle      SHORT G_M7350_IG05
+       jmp      SHORT G_M7350_IG04
+                       ;; size=11 bbWeight=0.01 PerfScore 0.03
+G_M7350_IG07:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      esi, esi
-                       ;; size=2 bbWeight=0.01 PerfScore 0.00
-G_M7350_IG06:        ; bbWeight=0.03, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M7350_IG09
+                       ;; size=4 bbWeight=0.01 PerfScore 0.02
+G_M7350_IG08:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      edi
+       cmp      edi, 4
+       jle      SHORT G_M7350_IG07
+       jmp      SHORT G_M7350_IG06
+                       ;; size=9 bbWeight=0.01 PerfScore 0.03
+G_M7350_IG09:        ; bbWeight=0.03, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      ebx, ebx
-                       ;; size=2 bbWeight=0.03 PerfScore 0.01
-G_M7350_IG07:        ; bbWeight=0.13, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M7350_IG12
+                       ;; size=4 bbWeight=0.03 PerfScore 0.06
+G_M7350_IG10:        ; bbWeight=0.03, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      esi
+       cmp      esi, 4
+       jle      SHORT G_M7350_IG09
+                       ;; size=7 bbWeight=0.03 PerfScore 0.04
+G_M7350_IG11:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M7350_IG08
+                       ;; size=2 bbWeight=0.01 PerfScore 0.02
+G_M7350_IG12:        ; bbWeight=0.13, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      r11d, r11d
-                     ;; size=3 bbWeight=0.13 PerfScore 0.03
-G_M7350_IG08:        ; bbWeight=0.67, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M7350_IG15
+                       ;; size=5 bbWeight=0.13 PerfScore 0.30
+G_M7350_IG13:        ; bbWeight=0.15, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      ebx
+       cmp      ebx, 4
+       jle      SHORT G_M7350_IG12
+                       ;; size=7 bbWeight=0.15 PerfScore 0.23
+G_M7350_IG14:        ; bbWeight=0.03, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M7350_IG10
+                       ;; size=2 bbWeight=0.03 PerfScore 0.05
+G_M7350_IG15:        ; bbWeight=0.67, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      r9d, r9d
-                       ;; size=3 bbWeight=0.67 PerfScore 0.17
-G_M7350_IG09:        ; bbWeight=3.34, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M7350_IG18
+                       ;; size=5 bbWeight=0.67 PerfScore 1.51
+G_M7350_IG16:        ; bbWeight=0.79, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      r11d
+       cmp      r11d, 4
+       jle      SHORT G_M7350_IG15
+                       ;; size=9 bbWeight=0.79 PerfScore 1.19
+G_M7350_IG17:        ; bbWeight=0.15, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M7350_IG13
+                       ;; size=2 bbWeight=0.15 PerfScore 0.30
+G_M7350_IG18:        ; bbWeight=3.34, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      edx, edx
-                       ;; size=2 bbWeight=3.34 PerfScore 0.83
-G_M7350_IG10:        ; bbWeight=16.65, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M7350_IG21
+                       ;; size=4 bbWeight=3.34 PerfScore 7.51
+G_M7350_IG19:        ; bbWeight=3.34, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      r9d
+       cmp      r9d, 4
+       jle      SHORT G_M7350_IG18
+                       ;; size=9 bbWeight=3.34 PerfScore 5.00
+G_M7350_IG20:        ; bbWeight=0.79, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M7350_IG16
+                       ;; size=2 bbWeight=0.79 PerfScore 1.59
+G_M7350_IG21:        ; bbWeight=16.65, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        xor      eax, eax
                        ;; size=2 bbWeight=16.65 PerfScore 4.16
-G_M7350_IG11:        ; bbWeight=16.65, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M7350_IG22:        ; bbWeight=16.65, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        cmp      eax, 4
-       jg       SHORT G_M7350_IG14
+       jg       SHORT G_M7350_IG25
                      ;; size=5 bbWeight=16.65 PerfScore 20.82
-G_M7350_IG12:        ; bbWeight=13.88, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M7350_IG23:        ; bbWeight=13.88, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        lea      ebp, [r10+r10]
        lea      r14d, [r8+2*r8]
        sub      ebp, r14d
                        ;; size=11 bbWeight=13.88 PerfScore 17.35
-G_M7350_IG13:        ; bbWeight=83.35, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M7350_IG24:        ; bbWeight=83.35, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        add      ecx, ebp
        inc      eax
        cmp      eax, 4
-       jle      SHORT G_M7350_IG13
+       jle      SHORT G_M7350_IG24
                      ;; size=9 bbWeight=83.35 PerfScore 145.86
-G_M7350_IG14:        ; bbWeight=16.65, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M7350_IG25:        ; bbWeight=16.65, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        inc      edx
        cmp      edx, 4
-       jle      SHORT G_M7350_IG10
+       jle      SHORT G_M7350_IG21
                      ;; size=7 bbWeight=16.65 PerfScore 24.98
-G_M7350_IG15:        ; bbWeight=3.34, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      r9d
-       cmp      r9d, 4
-       jle      SHORT G_M7350_IG09
-                       ;; size=9 bbWeight=3.34 PerfScore 5.00
-G_M7350_IG16:        ; bbWeight=0.79, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      r11d
-       cmp      r11d, 4
-       jle      SHORT G_M7350_IG08
-                       ;; size=9 bbWeight=0.79 PerfScore 1.19
-G_M7350_IG17:        ; bbWeight=0.15, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      ebx
-       cmp      ebx, 4
-       jle      SHORT G_M7350_IG07
-                       ;; size=7 bbWeight=0.15 PerfScore 0.23
-G_M7350_IG18:        ; bbWeight=0.03, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      esi
-       cmp      esi, 4
-       jle      SHORT G_M7350_IG06
-                       ;; size=7 bbWeight=0.03 PerfScore 0.04
-G_M7350_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      edi
-       cmp      edi, 4
-       jle      SHORT G_M7350_IG05
-       jmp      SHORT G_M7350_IG22
-                       ;; size=9 bbWeight=0 PerfScore 0.00
-G_M7350_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      r10d
-       cmp      r10d, 4
-       jle      SHORT G_M7350_IG03
+G_M7350_IG26:        ; bbWeight=3.34, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M7350_IG19
+                       ;; size=2 bbWeight=3.34 PerfScore 6.67
+G_M7350_IG27:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      eax, ecx
-                       ;; size=11 bbWeight=0 PerfScore 0.00
-G_M7350_IG21:        ; bbWeight=0, epilog, nogc, extend
+                      ;; size=2 bbWeight=0 PerfScore 0.00
+G_M7350_IG28:        ; bbWeight=0, epilog, nogc, extend
        add      rsp, 160
        pop      rbx
        pop      rsi
@@ -129,14 +160,8 @@ G_M7350_IG21:        ; bbWeight=0, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=14 bbWeight=0 PerfScore 0.00
-G_M7350_IG22:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-       inc      r8d
-       cmp      r8d, 4
-       jle      SHORT G_M7350_IG04
-       jmp      SHORT G_M7350_IG20
-                       ;; size=11 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 219, prolog size 89, PerfScore 246.93, instruction count 67, allocated bytes for code 219 (MethodHash=ec39e349) for method testout1:Test2(int):int (Tier1-OSR)
+; Total bytes of code 249, prolog size 89, PerfScore 264.04, instruction count 80, allocated bytes for code 249 (MethodHash=ec39e349) for method testout1:Test2(int):int (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
  
+30 (+13.70%) : 494159.dasm - testout1:Test1(int):int (Tier1-OSR)
@@ -10,9 +10,9 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T01] (  5,173.42)     int  ->  rcx        
-;  V01 loc0         [V01,T05] (  4, 12.25)     int  ->  r10        
-;  V02 loc1         [V02,T04] (  5, 12.26)     int  ->   r8        
-;  V03 loc2         [V03,T10] (  4,  0.01)     int  ->  rdi        
+;  V01 loc0         [V01,T05] (  4, 12.27)     int  ->  r10        
+;  V02 loc1         [V02,T04] (  5, 12.28)     int  ->   r8        
+;  V03 loc2         [V03,T10] (  4,  0.03)     int  ->  rdi        
 ;  V04 loc3         [V04,T09] (  4,  0.06)     int  ->  rsi        
 ;  V05 loc4         [V05,T08] (  4,  0.26)     int  ->  rbx        
 ;  V06 loc5         [V06,T07] (  4,  1.46)     int  ->  r11        
@@ -42,85 +42,116 @@ G_M36053_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      eax, dword ptr [rsp+0x64]
                        ;; size=89 bbWeight=1 PerfScore 24.25
 G_M36053_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       jmp      SHORT G_M36053_IG11
+       jmp      SHORT G_M36053_IG22
                      ;; size=2 bbWeight=1 PerfScore 2.00
-G_M36053_IG03:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M36053_IG03:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      r8d, r8d
-                      ;; size=3 bbWeight=0.01 PerfScore 0.00
-G_M36053_IG04:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M36053_IG05
+                       ;; size=5 bbWeight=0.01 PerfScore 0.02
+G_M36053_IG04:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      r10d
+       cmp      r10d, 5
+       jg       G_M36053_IG27
+       jmp      SHORT G_M36053_IG03
+                       ;; size=15 bbWeight=0.01 PerfScore 0.03
+G_M36053_IG05:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      edi, edi
-                      ;; size=2 bbWeight=0.01 PerfScore 0.00
-G_M36053_IG05:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M36053_IG07
+                       ;; size=4 bbWeight=0.01 PerfScore 0.02
+G_M36053_IG06:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      r8d
+       cmp      r8d, 5
+       jle      SHORT G_M36053_IG05
+       jmp      SHORT G_M36053_IG04
+                       ;; size=11 bbWeight=0.01 PerfScore 0.03
+G_M36053_IG07:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      esi, esi
-                      ;; size=2 bbWeight=0.01 PerfScore 0.00
-G_M36053_IG06:        ; bbWeight=0.02, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M36053_IG09
+                       ;; size=4 bbWeight=0.01 PerfScore 0.02
+G_M36053_IG08:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      edi
+       cmp      edi, 5
+       jle      SHORT G_M36053_IG07
+       jmp      SHORT G_M36053_IG06
+                       ;; size=9 bbWeight=0.01 PerfScore 0.03
+G_M36053_IG09:        ; bbWeight=0.02, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      ebx, ebx
-                      ;; size=2 bbWeight=0.02 PerfScore 0.00
-G_M36053_IG07:        ; bbWeight=0.07, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M36053_IG12
+                       ;; size=4 bbWeight=0.02 PerfScore 0.04
+G_M36053_IG10:        ; bbWeight=0.02, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      esi
+       cmp      esi, 5
+       jle      SHORT G_M36053_IG09
+                       ;; size=7 bbWeight=0.02 PerfScore 0.02
+G_M36053_IG11:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M36053_IG08
+                       ;; size=2 bbWeight=0.01 PerfScore 0.02
+G_M36053_IG12:        ; bbWeight=0.07, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      r11d, r11d
-                        ;; size=3 bbWeight=0.07 PerfScore 0.02
-G_M36053_IG08:        ; bbWeight=0.40, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M36053_IG15
+                       ;; size=5 bbWeight=0.07 PerfScore 0.16
+G_M36053_IG13:        ; bbWeight=0.08, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      ebx
+       cmp      ebx, 5
+       jle      SHORT G_M36053_IG12
+                       ;; size=7 bbWeight=0.08 PerfScore 0.12
+G_M36053_IG14:        ; bbWeight=0.02, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M36053_IG10
+                       ;; size=2 bbWeight=0.02 PerfScore 0.03
+G_M36053_IG15:        ; bbWeight=0.40, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      r9d, r9d
-                      ;; size=3 bbWeight=0.40 PerfScore 0.10
-G_M36053_IG09:        ; bbWeight=2.38, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M36053_IG18
+                       ;; size=5 bbWeight=0.40 PerfScore 0.90
+G_M36053_IG16:        ; bbWeight=0.46, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      r11d
+       cmp      r11d, 5
+       jle      SHORT G_M36053_IG15
+                       ;; size=9 bbWeight=0.46 PerfScore 0.70
+G_M36053_IG17:        ; bbWeight=0.08, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M36053_IG13
+                       ;; size=2 bbWeight=0.08 PerfScore 0.16
+G_M36053_IG18:        ; bbWeight=2.38, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      edx, edx
-                      ;; size=2 bbWeight=2.38 PerfScore 0.60
-G_M36053_IG10:        ; bbWeight=14.29, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M36053_IG21
+                       ;; size=4 bbWeight=2.38 PerfScore 5.36
+G_M36053_IG19:        ; bbWeight=2.38, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       inc      r9d
+       cmp      r9d, 5
+       jle      SHORT G_M36053_IG18
+                       ;; size=9 bbWeight=2.38 PerfScore 3.58
+G_M36053_IG20:        ; bbWeight=0.46, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M36053_IG16
+                       ;; size=2 bbWeight=0.46 PerfScore 0.93
+G_M36053_IG21:        ; bbWeight=14.29, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        xor      eax, eax
                        ;; size=2 bbWeight=14.29 PerfScore 3.57
-G_M36053_IG11:        ; bbWeight=14.29, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M36053_IG22:        ; bbWeight=14.29, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        cmp      eax, 5
-       jg       SHORT G_M36053_IG14
+       jg       SHORT G_M36053_IG25
                      ;; size=5 bbWeight=14.29 PerfScore 17.86
-G_M36053_IG12:        ; bbWeight=12.25, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M36053_IG23:        ; bbWeight=12.25, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        lea      ebp, [r10+r10]
        lea      r14d, [r8+2*r8]
        sub      ebp, r14d
                        ;; size=11 bbWeight=12.25 PerfScore 15.31
-G_M36053_IG13:        ; bbWeight=85.71, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M36053_IG24:        ; bbWeight=85.71, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        add      ecx, ebp
        inc      eax
        cmp      eax, 5
-       jle      SHORT G_M36053_IG13
+       jle      SHORT G_M36053_IG24
                        ;; size=9 bbWeight=85.71 PerfScore 149.99
-G_M36053_IG14:        ; bbWeight=14.29, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M36053_IG25:        ; bbWeight=14.29, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        inc      edx
        cmp      edx, 5
-       jle      SHORT G_M36053_IG10
+       jle      SHORT G_M36053_IG21
                        ;; size=7 bbWeight=14.29 PerfScore 21.44
-G_M36053_IG15:        ; bbWeight=2.38, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      r9d
-       cmp      r9d, 5
-       jle      SHORT G_M36053_IG09
-                       ;; size=9 bbWeight=2.38 PerfScore 3.58
-G_M36053_IG16:        ; bbWeight=0.46, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      r11d
-       cmp      r11d, 5
-       jle      SHORT G_M36053_IG08
-                       ;; size=9 bbWeight=0.46 PerfScore 0.70
-G_M36053_IG17:        ; bbWeight=0.08, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      ebx
-       cmp      ebx, 5
-       jle      SHORT G_M36053_IG07
-                       ;; size=7 bbWeight=0.08 PerfScore 0.12
-G_M36053_IG18:        ; bbWeight=0.02, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      esi
-       cmp      esi, 5
-       jle      SHORT G_M36053_IG06
-                       ;; size=7 bbWeight=0.02 PerfScore 0.02
-G_M36053_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      edi
-       cmp      edi, 5
-       jle      SHORT G_M36053_IG05
-       jmp      SHORT G_M36053_IG22
-                       ;; size=9 bbWeight=0 PerfScore 0.00
-G_M36053_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       inc      r10d
-       cmp      r10d, 5
-       jle      SHORT G_M36053_IG03
+G_M36053_IG26:        ; bbWeight=2.38, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M36053_IG19
+                       ;; size=2 bbWeight=2.38 PerfScore 4.77
+G_M36053_IG27:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      eax, ecx
-                      ;; size=11 bbWeight=0 PerfScore 0.00
-G_M36053_IG21:        ; bbWeight=0, epilog, nogc, extend
+                     ;; size=2 bbWeight=0 PerfScore 0.00
+G_M36053_IG28:        ; bbWeight=0, epilog, nogc, extend
        add      rsp, 160
        pop      rbx
        pop      rsi
@@ -129,14 +160,8 @@ G_M36053_IG21:        ; bbWeight=0, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=14 bbWeight=0 PerfScore 0.00
-G_M36053_IG22:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-       inc      r8d
-       cmp      r8d, 5
-       jle      SHORT G_M36053_IG04
-       jmp      SHORT G_M36053_IG20
-                       ;; size=11 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 219, prolog size 89, PerfScore 239.56, instruction count 67, allocated bytes for code 219 (MethodHash=ea94732a) for method testout1:Test1(int):int (Tier1-OSR)
+; Total bytes of code 249, prolog size 89, PerfScore 251.35, instruction count 80, allocated bytes for code 249 (MethodHash=ea94732a) for method testout1:Test1(int):int (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
  
  
libraries.crossgen2.windows.x64.checked.mch
-9 (-0.56%) : 755.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
@@ -17,10 +17,10 @@
 ;  V05 loc0         [V05,T01] ( 47, 93.04)     int  ->  [rbp-0x3C] 
 ;  V06 loc1         [V06,T03] (  6, 67.36)     int  ->  [rbp-0x40] 
 ;  V07 loc2         [V07,T24] ( 10, 13.04)     ref  ->  r15         class-hnd exact single-def <System.Type[]>
-;  V08 loc3         [V08,T15] ( 12, 26.92)     ref  ->  rdi         class-hnd single-def <System.Reflection.MethodBase[]>
+;  V08 loc3         [V08,T15] ( 12, 26.92)     ref  ->  r14         class-hnd single-def <System.Reflection.MethodBase[]>
 ;  V09 loc4         [V09,T26] ( 10, 12   )     int  ->  registers  
-;  V10 loc5         [V10,T27] (  9, 11.50)     int  ->  rsi        
-;  V11 loc6         [V11,T35] (  6,  5   )   ubyte  ->  r12        
+;  V10 loc5         [V10,T27] (  9, 11.50)     int  ->  r12        
+;  V11 loc6         [V11,T35] (  6,  5   )   ubyte  ->  rsi        
 ;  V12 loc7         [V12,T25] (  9, 13.04)     ref  ->  [rbp-0x58]  class-hnd exact spill-single-def <int[]>
 ;  V13 loc8         [V13,T37] (  3,  1   )     ref  ->  rcx         class-hnd single-def <System.Reflection.MethodBase>
 ;  V14 loc9         [V14,T08] (  4, 39.68)     ref  ->  r12         class-hnd <System.Reflection.ParameterInfo[]>
@@ -35,7 +35,7 @@
 ;  V23 tmp4         [V23,T39] (  3,  0   )     ref  ->  rsi         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V24 tmp5         [V24,T41] (  2,  0   )     ref  ->  rbx         class-hnd single-def "finalizable newobj spill" <<unknown class>>
 ;* V25 tmp6         [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "non-inline candidate call" <System.Type>
-;  V26 tmp7         [V26,T21] (  4, 16   )     int  ->  r14         "impSpillLclRefs"
+;  V26 tmp7         [V26,T21] (  4, 16   )     int  ->  rdi         "impSpillLclRefs"
 ;  V27 tmp8         [V27,T32] (  2,  8   )     ref  ->  rdx         class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.MethodBase>
 ;* V28 tmp9         [V28,T36] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V29 tmp10        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
@@ -252,18 +252,18 @@ G_M46704_IG12:        ; bbWeight=1, gcrefRegs=80C0 {rsi rdi r15}, byrefRegs=0000
        call     [r11]<unknown method>
        ; gcrRegs -[rcx rdi r15] +[rax]
        ; gcr arg pop 0
-       mov      rdi, rax
-       ; gcrRegs +[rdi]
-       xor      r14d, r14d
+       mov      r14, rax
+       ; gcrRegs +[r14]
+       xor      edi, edi
        xor      r13d, r13d
-       mov      r15d, dword ptr [rdi+0x08]
+       mov      r15d, dword ptr [r14+0x08]
        test     r15d, r15d
        jle      G_M46704_IG28
-                        ;; size=57 bbWeight=1 PerfScore 13.25
-G_M46704_IG13:        ; bbWeight=4, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
+                       ;; size=56 bbWeight=1 PerfScore 13.25
+G_M46704_IG13:        ; bbWeight=4, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax]
        mov      ecx, r13d
-       mov      rcx, gword ptr [rdi+8*rcx+0x10]
+       mov      rcx, gword ptr [r14+8*rcx+0x10]
        ; gcrRegs +[rcx]
        call     [System.Reflection.TypeLoading.DefaultBinderThunks:GetParametersNoCopy(System.Reflection.MethodBase):System.Reflection.ParameterInfo[]]
        ; gcrRegs -[rcx] +[rax]
@@ -277,13 +277,13 @@ G_M46704_IG13:        ; bbWeight=4, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000
        cmp      ecx, eax
        jne      G_M46704_IG27
                        ;; size=37 bbWeight=4 PerfScore 44.00
-G_M46704_IG14:        ; bbWeight=2, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG14:        ; bbWeight=2, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0000 {}, byref, isz
        xor      edx, edx
        mov      dword ptr [rbp-0x44], eax
        test     eax, eax
        jle      SHORT G_M46704_IG17
                        ;; size=9 bbWeight=2 PerfScore 5.00
-G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0000 {}, byref, isz
        mov      dword ptr [rbp-0x40], edx
        mov      r8d, edx
        mov      qword ptr [rbp-0x50], r8
@@ -315,7 +315,7 @@ G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefR
        test     eax, eax
        je       SHORT G_M46704_IG18
                        ;; size=72 bbWeight=15.84 PerfScore 423.72
-G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rbp-0x78]
        ; gcrRegs +[rcx]
        lea      r11, [(reloc)]      ; function address
@@ -334,13 +334,13 @@ G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRe
        ; gcr arg pop 0
        jmp      SHORT G_M46704_IG19
                        ;; size=31 bbWeight=7.92 PerfScore 108.90
-G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, gcvars, byref
+G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[r12]
        ; GC ptr vars -{V15}
        mov      dword ptr [rbp-0x40], edx
        jmp      G_M46704_IG26
                        ;; size=8 bbWeight=1 PerfScore 3.00
-G_M46704_IG18:        ; bbWeight=7.92, gcVars=0000000000000061 {V15 V35 V36}, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG18:        ; bbWeight=7.92, gcVars=0000000000000061 {V15 V35 V36}, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[r12]
        ; GC ptr vars +{V00 V05 V06 V15 V35 V36}
        mov      rcx, gword ptr [rbp-0x78]
@@ -355,13 +355,13 @@ G_M46704_IG18:        ; bbWeight=7.92, gcVars=0000000000000061 {V15 V35 V36}, gc
        je       G_M46704_IG24
        jmp      SHORT G_M46704_IG20
                        ;; size=28 bbWeight=7.92 PerfScore 99.00
-G_M46704_IG19:        ; bbWeight=7.92, gcVars=0000000000000040 {V15}, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=0000 {}, gcvars, byref
+G_M46704_IG19:        ; bbWeight=7.92, gcVars=0000000000000040 {V15}, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        ; GC ptr vars -{V35}
        test     eax, eax
        jne      G_M46704_IG24
                        ;; size=8 bbWeight=7.92 PerfScore 9.90
-G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0000 {}, byref, isz
        mov      rdx, qword ptr [(reloc)]      ; const ptr
        mov      rdx, gword ptr [rsi+rdx+0x08]
        ; gcrRegs +[rdx]
@@ -387,7 +387,7 @@ G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRe
        test     eax, eax
        je       SHORT G_M46704_IG21
        mov      ecx, r13d
-       mov      rcx, gword ptr [rdi+8*rcx+0x10]
+       mov      rcx, gword ptr [r14+8*rcx+0x10]
        ; gcrRegs +[rcx]
        call     [CORINFO_HELP_READYTORUN_ISINSTANCEOF]
        ; gcrRegs -[rcx] +[rax]
@@ -413,7 +413,7 @@ G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRe
        test     rax, rax
        je       G_M46704_IG26
                        ;; size=124 bbWeight=7.92 PerfScore 300.96
-G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000050 {V15 V16}, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000050 {V15 V16}, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rax]
        mov      rcx, gword ptr [rbp-0x60]
        ; gcrRegs +[rcx]
@@ -482,11 +482,11 @@ G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000050 {V15 V16}, gcrefR
        test     eax, eax
        jne      SHORT G_M46704_IG24
                        ;; size=158 bbWeight=7.92 PerfScore 425.70
-G_M46704_IG22:        ; bbWeight=8, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG22:        ; bbWeight=2, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[r12]
        jmp      SHORT G_M46704_IG26
-                      ;; size=2 bbWeight=8 PerfScore 16.00
-G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000050 {V15 V16}, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=0000 {}, gcvars, byref, isz
+                        ;; size=2 bbWeight=2 PerfScore 4.00
+G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000050 {V15 V16}, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[r12]
        ; GC ptr vars +{V06 V15 V16}
        mov      rcx, gword ptr [rbp-0x60]
@@ -501,7 +501,7 @@ G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000050 {V15 V16}, gcrefR
        test     eax, eax
        je       SHORT G_M46704_IG26
                        ;; size=22 bbWeight=7.92 PerfScore 53.46
-G_M46704_IG24:        ; bbWeight=15.84, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=0000 {}, byref
+G_M46704_IG24:        ; bbWeight=15.84, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0000 {}, byref
        mov      edx, dword ptr [rbp-0x40]
        inc      edx
        mov      eax, dword ptr [rbp-0x44]
@@ -509,41 +509,41 @@ G_M46704_IG24:        ; bbWeight=15.84, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefR
        mov      dword ptr [rbp-0x44], eax
        jg       G_M46704_IG15
                        ;; size=19 bbWeight=15.84 PerfScore 71.28
-G_M46704_IG25:        ; bbWeight=2, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
+G_M46704_IG25:        ; bbWeight=2, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r12]
        mov      dword ptr [rbp-0x40], edx
                        ;; size=3 bbWeight=2 PerfScore 2.00
-G_M46704_IG26:        ; bbWeight=2, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG26:        ; bbWeight=2, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref, isz
        mov      edx, dword ptr [rbp-0x40]
        cmp      dword ptr [rbp-0x44], edx
        jne      SHORT G_M46704_IG27
-       lea      ecx, [r14+0x01]
+       lea      ecx, [rdi+0x01]
        mov      r12d, ecx
        mov      ecx, r13d
-       mov      rdx, gword ptr [rdi+8*rcx+0x10]
+       mov      rdx, gword ptr [r14+8*rcx+0x10]
        ; gcrRegs +[rdx]
-       cmp      r14d, r15d
+       cmp      edi, r15d
        jae      G_M46704_IG51
-       mov      ecx, r14d
-       lea      rcx, bword ptr [rdi+8*rcx+0x10]
+       mov      ecx, edi
+       lea      rcx, bword ptr [r14+8*rcx+0x10]
        ; byrRegs +[rcx]
        call     [CORINFO_HELP_ASSIGN_REF]
        ; gcrRegs -[rdx]
        ; byrRegs -[rcx]
-       mov      r14d, r12d
-                       ;; size=49 bbWeight=2 PerfScore 25.50
-G_M46704_IG27:        ; bbWeight=4, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
+       mov      edi, r12d
+                       ;; size=47 bbWeight=2 PerfScore 25.50
+G_M46704_IG27:        ; bbWeight=4, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
        inc      r13d
        cmp      r15d, r13d
        jg       G_M46704_IG13
                        ;; size=12 bbWeight=4 PerfScore 6.00
-G_M46704_IG28:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG28:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rsi]
-       test     r14d, r14d
+       test     edi, edi
        jne      SHORT G_M46704_IG31
-                        ;; size=5 bbWeight=1 PerfScore 1.25
+                       ;; size=4 bbWeight=1 PerfScore 1.25
 G_M46704_IG29:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rbx rdi]
+       ; gcrRegs -[rbx r14]
        xor      rax, rax
        ; gcrRegs +[rax]
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
@@ -559,15 +559,15 @@ G_M46704_IG30:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=20 bbWeight=0.50 PerfScore 2.62
-G_M46704_IG31:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; gcrRegs -[rax] +[rbx rdi]
-       cmp      r14d, 1
+G_M46704_IG31:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; gcrRegs -[rax] +[rbx r14]
+       cmp      edi, 1
        jne      SHORT G_M46704_IG33
        test     r15d, r15d
        je       G_M46704_IG51
-       mov      rax, gword ptr [rdi+0x10]
+       mov      rax, gword ptr [r14+0x10]
        ; gcrRegs +[rax]
-                       ;; size=19 bbWeight=0.50 PerfScore 2.25
+                       ;; size=18 bbWeight=0.50 PerfScore 2.25
 G_M46704_IG32:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 136
        pop      rbx
@@ -580,10 +580,10 @@ G_M46704_IG32:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=20 bbWeight=0.50 PerfScore 2.62
-G_M46704_IG33:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG33:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rax]
-       xor      esi, esi
        xor      r12d, r12d
+       xor      esi, esi
        mov      eax, dword ptr [rbx+0x08]
        mov      r13d, eax
        mov      ecx, r13d
@@ -599,17 +599,17 @@ G_M46704_IG33:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=008
        cmp      dword ptr [rax+0x08], r13d
        jl       SHORT G_M46704_IG36
                        ;; size=40 bbWeight=0.50 PerfScore 6.38
-G_M46704_IG34:        ; bbWeight=3.96, gcVars=0000000002000000 {V12}, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG34:        ; bbWeight=3.96, gcVars=0000000002000000 {V12}, gcrefRegs=4009 {rax rbx r14}, byrefRegs=0000 {}, gcvars, byref, isz
        mov      ecx, r10d
        mov      dword ptr [rax+4*rcx+0x10], r10d
        inc      r10d
        cmp      r13d, r10d
        jg       SHORT G_M46704_IG34
                        ;; size=16 bbWeight=3.96 PerfScore 10.89
...
  
-9 (-0.55%) : 1659.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
@@ -17,10 +17,10 @@
 ;  V05 loc0         [V05,T01] ( 47, 93.04)     int  ->  [rbp-0x3C] 
 ;  V06 loc1         [V06,T03] (  6, 67.36)     int  ->  [rbp-0x40] 
 ;  V07 loc2         [V07,T24] ( 10, 13.04)     ref  ->  r15         class-hnd exact single-def <System.Type[]>
-;  V08 loc3         [V08,T15] ( 12, 26.92)     ref  ->  rdi         class-hnd single-def <System.Reflection.MethodBase[]>
+;  V08 loc3         [V08,T15] ( 12, 26.92)     ref  ->  r14         class-hnd single-def <System.Reflection.MethodBase[]>
 ;  V09 loc4         [V09,T26] ( 10, 12   )     int  ->  registers  
-;  V10 loc5         [V10,T27] (  9, 11.50)     int  ->  rsi        
-;  V11 loc6         [V11,T35] (  6,  5   )   ubyte  ->  r12        
+;  V10 loc5         [V10,T27] (  9, 11.50)     int  ->  r12        
+;  V11 loc6         [V11,T35] (  6,  5   )   ubyte  ->  rsi        
 ;  V12 loc7         [V12,T25] (  9, 13.04)     ref  ->  [rbp-0x58]  class-hnd exact spill-single-def <int[]>
 ;  V13 loc8         [V13,T08] (  4, 39.68)     ref  ->  r12         class-hnd <System.Reflection.ParameterInfo[]>
 ;  V14 loc9         [V14,T06] (  5, 47.52)     ref  ->  [rbp-0x60]  class-hnd spill-single-def <System.Type>
@@ -34,7 +34,7 @@
 ;  V22 tmp4         [V22,T38] (  3,  0   )     ref  ->  rsi         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V23 tmp5         [V23,T41] (  2,  0   )     ref  ->  rbx         class-hnd single-def "finalizable newobj spill" <<unknown class>>
 ;* V24 tmp6         [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "non-inline candidate call" <System.Type>
-;  V25 tmp7         [V25,T21] (  4, 16   )     int  ->  r14         "impSpillLclRefs"
+;  V25 tmp7         [V25,T21] (  4, 16   )     int  ->  rdi         "impSpillLclRefs"
 ;  V26 tmp8         [V26,T32] (  2,  8   )     ref  ->  rdx         class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.MethodBase>
 ;  V27 tmp9         [V27,T39] (  3,  0   )     ref  ->  rsi         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V28 tmp10        [V28,T42] (  2,  0   )     ref  ->  rbx         class-hnd single-def "finalizable newobj spill" <<unknown class>>
@@ -253,18 +253,18 @@ G_M46704_IG12:        ; bbWeight=1, gcrefRegs=80C0 {rsi rdi r15}, byrefRegs=0000
        call     [r11]<unknown method>
        ; gcrRegs -[rcx rdi r15] +[rax]
        ; gcr arg pop 0
-       mov      rdi, rax
-       ; gcrRegs +[rdi]
-       xor      r14d, r14d
+       mov      r14, rax
+       ; gcrRegs +[r14]
+       xor      edi, edi
        xor      r13d, r13d
-       mov      r15d, dword ptr [rdi+0x08]
+       mov      r15d, dword ptr [r14+0x08]
        test     r15d, r15d
        jle      G_M46704_IG28
-                        ;; size=57 bbWeight=1 PerfScore 13.25
-G_M46704_IG13:        ; bbWeight=4, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
+                       ;; size=56 bbWeight=1 PerfScore 13.25
+G_M46704_IG13:        ; bbWeight=4, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax]
        mov      ecx, r13d
-       mov      rcx, gword ptr [rdi+8*rcx+0x10]
+       mov      rcx, gword ptr [r14+8*rcx+0x10]
        ; gcrRegs +[rcx]
        call     [System.Reflection.TypeLoading.DefaultBinderThunks:GetParametersNoCopy(System.Reflection.MethodBase):System.Reflection.ParameterInfo[]]
        ; gcrRegs -[rcx] +[rax]
@@ -278,13 +278,13 @@ G_M46704_IG13:        ; bbWeight=4, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000
        cmp      ecx, eax
        jne      G_M46704_IG27
                        ;; size=37 bbWeight=4 PerfScore 44.00
-G_M46704_IG14:        ; bbWeight=2, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG14:        ; bbWeight=2, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0000 {}, byref, isz
        xor      edx, edx
        mov      dword ptr [rbp-0x44], eax
        test     eax, eax
        jle      SHORT G_M46704_IG17
                        ;; size=9 bbWeight=2 PerfScore 5.00
-G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0000 {}, byref, isz
        mov      dword ptr [rbp-0x40], edx
        mov      r8d, edx
        mov      qword ptr [rbp-0x50], r8
@@ -316,7 +316,7 @@ G_M46704_IG15:        ; bbWeight=15.84, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefR
        test     eax, eax
        je       SHORT G_M46704_IG18
                        ;; size=72 bbWeight=15.84 PerfScore 423.72
-G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rbp-0x78]
        ; gcrRegs +[rcx]
        lea      r11, [(reloc)]      ; function address
@@ -335,13 +335,13 @@ G_M46704_IG16:        ; bbWeight=7.92, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRe
        ; gcr arg pop 0
        jmp      SHORT G_M46704_IG19
                        ;; size=31 bbWeight=7.92 PerfScore 108.90
-G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, gcvars, byref
+G_M46704_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[r12]
        ; GC ptr vars -{V14}
        mov      dword ptr [rbp-0x40], edx
        jmp      G_M46704_IG26
                        ;; size=8 bbWeight=1 PerfScore 3.00
-G_M46704_IG18:        ; bbWeight=7.92, gcVars=0000000000000061 {V14 V36 V37}, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG18:        ; bbWeight=7.92, gcVars=0000000000000061 {V14 V36 V37}, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[r12]
        ; GC ptr vars +{V00 V05 V06 V14 V36 V37}
        mov      rcx, gword ptr [rbp-0x78]
@@ -356,13 +356,13 @@ G_M46704_IG18:        ; bbWeight=7.92, gcVars=0000000000000061 {V14 V36 V37}, gc
        je       G_M46704_IG24
        jmp      SHORT G_M46704_IG20
                        ;; size=28 bbWeight=7.92 PerfScore 99.00
-G_M46704_IG19:        ; bbWeight=7.92, gcVars=0000000000000040 {V14}, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=0000 {}, gcvars, byref
+G_M46704_IG19:        ; bbWeight=7.92, gcVars=0000000000000040 {V14}, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        ; GC ptr vars -{V36}
        test     eax, eax
        jne      G_M46704_IG24
                        ;; size=8 bbWeight=7.92 PerfScore 9.90
-G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0000 {}, byref, isz
        mov      rdx, qword ptr [(reloc)]      ; const ptr
        mov      rdx, gword ptr [rsi+rdx+0x08]
        ; gcrRegs +[rdx]
@@ -388,7 +388,7 @@ G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRe
        test     eax, eax
        je       SHORT G_M46704_IG21
        mov      ecx, r13d
-       mov      rcx, gword ptr [rdi+8*rcx+0x10]
+       mov      rcx, gword ptr [r14+8*rcx+0x10]
        ; gcrRegs +[rcx]
        call     [CORINFO_HELP_READYTORUN_ISINSTANCEOF]
        ; gcrRegs -[rcx] +[rax]
@@ -414,7 +414,7 @@ G_M46704_IG20:        ; bbWeight=7.92, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRe
        test     rax, rax
        je       G_M46704_IG26
                        ;; size=124 bbWeight=7.92 PerfScore 300.96
-G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000050 {V14 V15}, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000050 {V14 V15}, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rax]
        mov      rcx, gword ptr [rbp-0x60]
        ; gcrRegs +[rcx]
@@ -483,11 +483,11 @@ G_M46704_IG21:        ; bbWeight=7.92, gcVars=0000000000000050 {V14 V15}, gcrefR
        test     eax, eax
        jne      SHORT G_M46704_IG24
                        ;; size=158 bbWeight=7.92 PerfScore 425.70
-G_M46704_IG22:        ; bbWeight=8, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG22:        ; bbWeight=2, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[r12]
        jmp      SHORT G_M46704_IG26
-                      ;; size=2 bbWeight=8 PerfScore 16.00
-G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000050 {V14 V15}, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=0000 {}, gcvars, byref, isz
+                        ;; size=2 bbWeight=2 PerfScore 4.00
+G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000050 {V14 V15}, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[r12]
        ; GC ptr vars +{V06 V14 V15}
        mov      rcx, gword ptr [rbp-0x60]
@@ -502,7 +502,7 @@ G_M46704_IG23:        ; bbWeight=7.92, gcVars=0000000000000050 {V14 V15}, gcrefR
        test     eax, eax
        je       SHORT G_M46704_IG26
                        ;; size=22 bbWeight=7.92 PerfScore 53.46
-G_M46704_IG24:        ; bbWeight=15.84, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=0000 {}, byref
+G_M46704_IG24:        ; bbWeight=15.84, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0000 {}, byref
        mov      edx, dword ptr [rbp-0x40]
        inc      edx
        mov      eax, dword ptr [rbp-0x44]
@@ -510,41 +510,41 @@ G_M46704_IG24:        ; bbWeight=15.84, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefR
        mov      dword ptr [rbp-0x44], eax
        jg       G_M46704_IG15
                        ;; size=19 bbWeight=15.84 PerfScore 71.28
-G_M46704_IG25:        ; bbWeight=2, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
+G_M46704_IG25:        ; bbWeight=2, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r12]
        mov      dword ptr [rbp-0x40], edx
                        ;; size=3 bbWeight=2 PerfScore 2.00
-G_M46704_IG26:        ; bbWeight=2, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG26:        ; bbWeight=2, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref, isz
        mov      edx, dword ptr [rbp-0x40]
        cmp      dword ptr [rbp-0x44], edx
        jne      SHORT G_M46704_IG27
-       lea      ecx, [r14+0x01]
+       lea      ecx, [rdi+0x01]
        mov      r12d, ecx
        mov      ecx, r13d
-       mov      rdx, gword ptr [rdi+8*rcx+0x10]
+       mov      rdx, gword ptr [r14+8*rcx+0x10]
        ; gcrRegs +[rdx]
-       cmp      r14d, r15d
+       cmp      edi, r15d
        jae      G_M46704_IG51
-       mov      ecx, r14d
-       lea      rcx, bword ptr [rdi+8*rcx+0x10]
+       mov      ecx, edi
+       lea      rcx, bword ptr [r14+8*rcx+0x10]
        ; byrRegs +[rcx]
        call     [CORINFO_HELP_ASSIGN_REF]
        ; gcrRegs -[rdx]
        ; byrRegs -[rcx]
-       mov      r14d, r12d
-                       ;; size=49 bbWeight=2 PerfScore 25.50
-G_M46704_IG27:        ; bbWeight=4, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
+       mov      edi, r12d
+                       ;; size=47 bbWeight=2 PerfScore 25.50
+G_M46704_IG27:        ; bbWeight=4, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
        inc      r13d
        cmp      r15d, r13d
        jg       G_M46704_IG13
                        ;; size=12 bbWeight=4 PerfScore 6.00
-G_M46704_IG28:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
+G_M46704_IG28:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rsi]
-       test     r14d, r14d
+       test     edi, edi
        jne      SHORT G_M46704_IG31
-                        ;; size=5 bbWeight=1 PerfScore 1.25
+                       ;; size=4 bbWeight=1 PerfScore 1.25
 G_M46704_IG29:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rbx rdi]
+       ; gcrRegs -[rbx r14]
        xor      rax, rax
        ; gcrRegs +[rax]
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
@@ -560,15 +560,15 @@ G_M46704_IG30:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=20 bbWeight=0.50 PerfScore 2.62
-G_M46704_IG31:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; gcrRegs -[rax] +[rbx rdi]
-       cmp      r14d, 1
+G_M46704_IG31:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; gcrRegs -[rax] +[rbx r14]
+       cmp      edi, 1
        jne      SHORT G_M46704_IG33
        test     r15d, r15d
        je       G_M46704_IG51
-       mov      rax, gword ptr [rdi+0x10]
+       mov      rax, gword ptr [r14+0x10]
        ; gcrRegs +[rax]
-                       ;; size=19 bbWeight=0.50 PerfScore 2.25
+                       ;; size=18 bbWeight=0.50 PerfScore 2.25
 G_M46704_IG32:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 136
        pop      rbx
@@ -581,10 +581,10 @@ G_M46704_IG32:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=20 bbWeight=0.50 PerfScore 2.62
-G_M46704_IG33:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG33:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rax]
-       xor      esi, esi
        xor      r12d, r12d
+       xor      esi, esi
        mov      eax, dword ptr [rbx+0x08]
        mov      r13d, eax
        mov      ecx, r13d
@@ -600,17 +600,17 @@ G_M46704_IG33:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=008
        cmp      dword ptr [rax+0x08], r13d
        jl       SHORT G_M46704_IG36
                        ;; size=40 bbWeight=0.50 PerfScore 6.38
-G_M46704_IG34:        ; bbWeight=3.96, gcVars=0000000002000000 {V12}, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M46704_IG34:        ; bbWeight=3.96, gcVars=0000000002000000 {V12}, gcrefRegs=4009 {rax rbx r14}, byrefRegs=0000 {}, gcvars, byref, isz
        mov      ecx, r10d
        mov      dword ptr [rax+4*rcx+0x10], r10d
        inc      r10d
        cmp      r13d, r10d
        jg       SHORT G_M46704_IG34
                        ;; size=16 bbWeight=3.96 PerfScore 10.89
...
  
+0 (0.00%) : 958.dasm - System.CommandLine.Helpers:AppendExpandedPaths(System.Collections.Generic.Dictionary`2[System.String,System.String],System.String,ubyte) (FullOpts)
@@ -21,8 +21,8 @@
 ;  V09 loc6         [V09,T02] (  3, 10   )     ref  ->  r14         class-hnd <System.String>
 ;  V10 loc7         [V10    ] (  2,  4   )     ref  ->  [rbp-0x38]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String>
 ;  V11 OutArgs      [V11    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V12 tmp1         [V12,T12] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.CommandLine.CommandLineException>
-;  V13 tmp2         [V13,T13] (  3,  0   )     ref  ->  rsi         class-hnd exact "NewObj constructor temp" <System.CommandLine.CommandLineException>
+;  V12 tmp1         [V12,T12] (  3,  0   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.CommandLine.CommandLineException>
+;  V13 tmp2         [V13,T13] (  3,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <System.CommandLine.CommandLineException>
 ;* V14 tmp3         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.String>
 ;* V15 tmp4         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.String>
 ;  V16 tmp5         [V16,T09] (  2,  2   )     ref  ->  rcx         single-def "argument with side effect"
@@ -169,17 +169,17 @@ G_M40753_IG07:        ; bbWeight=4, gcrefRegs=8048 {rbx rsi r15}, byrefRegs=0000
        test     eax, eax
        jne      SHORT G_M40753_IG05
                        ;; size=20 bbWeight=4 PerfScore 21.00
-G_M40753_IG08:        ; bbWeight=0.50, gcrefRegs=8040 {rsi r15}, byrefRegs=0000 {}, byref, isz
+G_M40753_IG08:        ; bbWeight=1, gcrefRegs=8040 {rsi r15}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx]
        jmp      SHORT G_M40753_IG11
-                      ;; size=2 bbWeight=0.50 PerfScore 1.00
+                        ;; size=2 bbWeight=1 PerfScore 2.00
 G_M40753_IG09:        ; bbWeight=0, gcrefRegs=A000 {r13 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rsi] +[r13]
        call     [CORINFO_HELP_READYTORUN_NEW]
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       mov      rsi, rax
-       ; gcrRegs +[rsi]
+       mov      rbx, rax
+       ; gcrRegs +[rbx]
        mov      rcx, qword ptr [(reloc)]      ; const ptr
        mov      rcx, gword ptr [rcx]
        ; gcrRegs +[rcx]
@@ -195,15 +195,15 @@ G_M40753_IG09:        ; bbWeight=0, gcrefRegs=A000 {r13 r15}, byrefRegs=0000 {},
        ; gcr arg pop 0
        mov      rdx, rax
        ; gcrRegs +[rdx]
-       mov      rcx, rsi
+       mov      rcx, rbx
        ; gcrRegs +[rcx]
        call     [<unknown method>]
        ; gcrRegs -[rax rcx rdx]
        ; gcr arg pop 0
-       mov      rcx, rsi
+       mov      rcx, rbx
        ; gcrRegs +[rcx]
        call     [CORINFO_HELP_THROW]
-       ; gcrRegs -[rcx rsi]
+       ; gcrRegs -[rcx rbx]
        ; gcr arg pop 0
                        ;; size=63 bbWeight=0 PerfScore 0.00
 G_M40753_IG10:        ; bbWeight=2, gcrefRegs=E048 {rbx rsi r13 r14 r15}, byrefRegs=0000 {}, byref, isz
@@ -268,8 +268,8 @@ G_M40753_IG15:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {
        call     [CORINFO_HELP_READYTORUN_NEW]
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       mov      r15, rax
-       ; gcrRegs +[r15]
+       mov      r13, rax
+       ; gcrRegs +[r13]
        mov      rcx, qword ptr [(reloc)]      ; const ptr
        mov      rcx, gword ptr [rcx]
        ; gcrRegs +[rcx]
@@ -280,15 +280,15 @@ G_M40753_IG15:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {
        ; gcr arg pop 0
        mov      rdx, rax
        ; gcrRegs +[rdx]
-       mov      rcx, r15
+       mov      rcx, r13
        ; gcrRegs +[rcx]
        call     [<unknown method>]
        ; gcrRegs -[rax rcx rdx]
        ; gcr arg pop 0
-       mov      rcx, r15
+       mov      rcx, r13
        ; gcrRegs +[rcx]
        call     [CORINFO_HELP_THROW]
-       ; gcrRegs -[rcx r15]
+       ; gcrRegs -[rcx r13]
        ; gcr arg pop 0
        int3     
                        ;; size=50 bbWeight=0 PerfScore 0.00
@@ -332,7 +332,7 @@ G_M40753_IG19:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
                        ;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 528, prolog size 38, PerfScore 173.62, instruction count 154, allocated bytes for code 528 (MethodHash=e8c560ce) for method System.CommandLine.Helpers:AppendExpandedPaths(System.Collections.Generic.Dictionary`2[System.String,System.String],System.String,ubyte) (FullOpts)
+; Total bytes of code 528, prolog size 38, PerfScore 174.62, instruction count 154, allocated bytes for code 528 (MethodHash=e8c560ce) for method System.CommandLine.Helpers:AppendExpandedPaths(System.Collections.Generic.Dictionary`2[System.String,System.String],System.String,ubyte) (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
libraries.pmi.windows.x64.checked.mch
-18 (-7.23%) : 76327.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ConsumeRemainingContentThroughNewLine(System.Text.StringBuilder,System.ReadOnlySpan`1[ushort],int):int (FullOpts)
@@ -13,27 +13,27 @@
 ;  V02 arg2         [V02,T00] ( 15, 27.50)     int  ->  rbx        
 ;  V03 loc0         [V03,T07] (  4,  4   )     int  ->  rax         single-def
 ;* V04 loc1         [V04    ] (  0,  0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
-;  V05 loc2         [V05,T01] (  7, 16.50)  ushort  ->   r8        
+;  V05 loc2         [V05,T01] (  7, 16.50)  ushort  ->  rcx        
 ;* V06 loc3         [V06    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V08 tmp1         [V08    ] (  0,  0   )     int  ->  zero-ref   
-;  V09 tmp2         [V09,T14] (  2,  1   )     int  ->   r8        
+;  V09 tmp2         [V09,T14] (  2,  1   )     int  ->  rcx        
 ;* V10 tmp3         [V10    ] (  0,  0   )     int  ->  zero-ref   
 ;* V11 tmp4         [V11    ] (  0,  0   )     int  ->  zero-ref   
-;  V12 tmp5         [V12,T12] (  3,  1.50)     int  ->  r10        
+;  V12 tmp5         [V12,T12] (  3,  1.50)     int  ->  rdx        
 ;* V13 tmp6         [V13,T10] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V14 tmp7         [V14,T13] (  3,  1.50)     int  ->   r8         "Inline return value spill temp"
+;  V14 tmp7         [V14,T13] (  3,  1.50)     int  ->  rcx         "Inline return value spill temp"
 ;* V15 tmp8         [V15    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V16 tmp9         [V16    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;  V17 tmp10        [V17,T04] (  4,  8   )     int  ->  rdi         "Inlining Arg"
+;  V17 tmp10        [V17,T04] (  4,  8   )     int  ->  r14         "Inlining Arg"
 ;* V18 tmp11        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;  V19 tmp12        [V19,T08] (  2,  4   )   byref  ->  rbp         single-def "Inlining Arg"
+;  V19 tmp12        [V19,T08] (  2,  4   )   byref  ->  rdi         single-def "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V21 tmp14        [V21    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V22 tmp15        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V23 tmp16        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V24 tmp17        [V24,T05] (  4,  6.50)   byref  ->  rcx         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
-;  V25 tmp18        [V25,T02] (  7, 12   )     int  ->  rdx         single-def "field V01._length (fldOffset=0x8)" P-INDEP
+;  V24 tmp17        [V24,T05] (  4,  6.50)   byref  ->  rdi         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
+;  V25 tmp18        [V25,T02] (  7, 12   )     int  ->  rbp         single-def "field V01._length (fldOffset=0x8)" P-INDEP
 ;* V26 tmp19        [V26    ] (  0,  0   )   byref  ->  zero-ref    "field V04._reference (fldOffset=0x0)" P-INDEP
 ;* V27 tmp20        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V04._length (fldOffset=0x8)" P-INDEP
 ;* V28 tmp21        [V28    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V18._reference (fldOffset=0x0)" P-INDEP
@@ -44,104 +44,103 @@
 ;* V33 tmp26        [V33    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
 ;* V34 tmp27        [V34    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref" <System.ReadOnlySpan`1[ushort]>
 ;  V35 cse0         [V35,T11] (  3,  1.50)     ref  ->  rdx         "CSE - moderate"
-;  V36 cse1         [V36,T09] (  3,  3   )    long  ->  rax         "CSE - aggressive"
+;  V36 cse1         [V36,T09] (  3,  3   )    long  ->  rcx         "CSE - aggressive"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 32
 
 G_M31066_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+       push     r14
        push     rdi
        push     rsi
        push     rbp
        push     rbx
-       sub      rsp, 40
+       sub      rsp, 32
        mov      rsi, rcx
        ; gcrRegs +[rsi]
        mov      ebx, r8d
-                     ;; size=14 bbWeight=1 PerfScore 4.75
-G_M31066_IG02:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0004 {rdx}, byref
+                        ;; size=16 bbWeight=1 PerfScore 5.75
+G_M31066_IG02:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0004 {rdx}, byref, isz
        ; byrRegs +[rdx]
-       mov      rcx, bword ptr [rdx]
-       ; byrRegs +[rcx]
-       mov      edx, dword ptr [rdx+0x08]
-       ; byrRegs -[rdx]
+       mov      rdi, bword ptr [rdx]
+       ; byrRegs +[rdi]
+       mov      ebp, dword ptr [rdx+0x08]
        mov      eax, ebx
-       cmp      eax, edx
-       jge      G_M31066_IG13
-                       ;; size=16 bbWeight=1 PerfScore 5.50
-G_M31066_IG03:        ; bbWeight=4, gcrefRegs=0040 {rsi}, byrefRegs=0002 {rcx}, byref, isz
-       cmp      ebx, edx
+       cmp      eax, ebp
+       jge      SHORT G_M31066_IG13
+                       ;; size=12 bbWeight=1 PerfScore 5.50
+G_M31066_IG03:        ; bbWeight=4, gcrefRegs=0040 {rsi}, byrefRegs=0080 {rdi}, byref, isz
+       ; byrRegs -[rdx]
+       cmp      ebx, ebp
        jae      G_M31066_IG17
-       mov      r8d, ebx
-       movzx    r8, word  ptr [rcx+2*r8]
-       cmp      r8d, 13
+       mov      ecx, ebx
+       movzx    rcx, word  ptr [rdi+2*rcx]
+       cmp      ecx, 13
        je       SHORT G_M31066_IG07
-                       ;; size=22 bbWeight=4 PerfScore 19.00
-G_M31066_IG04:        ; bbWeight=2, gcrefRegs=0040 {rsi}, byrefRegs=0002 {rcx}, byref, isz
-       cmp      r8d, 10
+                      ;; size=19 bbWeight=4 PerfScore 19.00
+G_M31066_IG04:        ; bbWeight=2, gcrefRegs=0040 {rsi}, byrefRegs=0080 {rdi}, byref, isz
+       cmp      ecx, 10
        je       SHORT G_M31066_IG07
-       cmp      r8d, 133
+       cmp      ecx, 133
        je       SHORT G_M31066_IG07
-       cmp      r8d, 0x2028
+       cmp      ecx, 0x2028
        je       SHORT G_M31066_IG07
-       cmp      r8d, 0x2029
+       cmp      ecx, 0x2029
        je       SHORT G_M31066_IG07
-                      ;; size=33 bbWeight=2 PerfScore 10.00
-G_M31066_IG05:        ; bbWeight=4, gcrefRegs=0040 {rsi}, byrefRegs=0002 {rcx}, byref, isz
+                       ;; size=29 bbWeight=2 PerfScore 10.00
+G_M31066_IG05:        ; bbWeight=4, gcrefRegs=0040 {rsi}, byrefRegs=0080 {rdi}, byref, isz
        inc      ebx
-       cmp      ebx, edx
+       cmp      ebx, ebp
        jl       SHORT G_M31066_IG03
                        ;; size=6 bbWeight=4 PerfScore 6.00
-G_M31066_IG06:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0002 {rcx}, byref, isz
+G_M31066_IG06:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0080 {rdi}, byref, isz
        jmp      SHORT G_M31066_IG13
-                     ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M31066_IG07:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0002 {rcx}, byref, isz
-       lea      r10d, [rbx+0x01]
-       cmp      r10d, edx
+                        ;; size=2 bbWeight=1 PerfScore 2.00
+G_M31066_IG07:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0080 {rdi}, byref, isz
+       lea      edx, [rbx+0x01]
+       cmp      edx, ebp
        jl       SHORT G_M31066_IG08
-       xor      r10d, r10d
+       xor      edx, edx
        jmp      SHORT G_M31066_IG09
-                     ;; size=14 bbWeight=0.50 PerfScore 2.00
-G_M31066_IG08:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0002 {rcx}, byref, isz
-       lea      r10d, [rbx+0x01]
-       cmp      r10d, edx
+                        ;; size=11 bbWeight=0.50 PerfScore 2.00
+G_M31066_IG08:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0080 {rdi}, byref, isz
+       lea      edx, [rbx+0x01]
+       cmp      edx, ebp
        jae      SHORT G_M31066_IG17
-       lea      r10d, [rbx+0x01]
-       movzx    r10, word  ptr [rcx+2*r10]
-                       ;; size=18 bbWeight=0.50 PerfScore 2.12
-G_M31066_IG09:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0002 {rcx}, byref, isz
-       movzx    r8, r8w
-       cmp      r8d, 13
+       lea      edx, [rbx+0x01]
+       movzx    rdx, word  ptr [rdi+2*rdx]
+                       ;; size=14 bbWeight=0.50 PerfScore 2.12
+G_M31066_IG09:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0080 {rdi}, byref, isz
+       movzx    rcx, cx
+       cmp      ecx, 13
        jne      SHORT G_M31066_IG10
-       movzx    r8, r10w
-       cmp      r8d, 10
+       movzx    rcx, dx
+       cmp      ecx, 10
        je       SHORT G_M31066_IG11
-                       ;; size=20 bbWeight=0.50 PerfScore 1.50
-G_M31066_IG10:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0002 {rcx}, byref, isz
-       mov      r8d, 1
+                       ;; size=16 bbWeight=0.50 PerfScore 1.50
+G_M31066_IG10:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0080 {rdi}, byref, isz
+       mov      ecx, 1
        jmp      SHORT G_M31066_IG12
-                        ;; size=8 bbWeight=0.50 PerfScore 1.12
-G_M31066_IG11:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0002 {rcx}, byref
-       mov      r8d, 2
-                       ;; size=6 bbWeight=0.50 PerfScore 0.12
-G_M31066_IG12:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0002 {rcx}, byref
-       add      ebx, r8d
-                       ;; size=3 bbWeight=0.50 PerfScore 0.12
-G_M31066_IG13:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0002 {rcx}, byref, isz
-       mov      edi, ebx
-       sub      edi, eax
-       mov      eax, eax
-       mov      r8d, edi
-       add      r8, rax
-       mov      edx, edx
-       cmp      r8, rdx
+                      ;; size=7 bbWeight=0.50 PerfScore 1.12
+G_M31066_IG11:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0080 {rdi}, byref
+       mov      ecx, 2
+                       ;; size=5 bbWeight=0.50 PerfScore 0.12
+G_M31066_IG12:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0080 {rdi}, byref
+       add      ebx, ecx
+                       ;; size=2 bbWeight=0.50 PerfScore 0.12
+G_M31066_IG13:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0080 {rdi}, byref, isz
+       mov      r14d, ebx
+       sub      r14d, eax
+       mov      ecx, eax
+       mov      edx, r14d
+       add      rdx, rcx
+       mov      eax, ebp
+       cmp      rdx, rax
        ja       SHORT G_M31066_IG18
-       lea      rbp, bword ptr [rcx+2*rax]
-       ; byrRegs +[rbp]
-       test     edi, edi
+       lea      rdi, bword ptr [rdi+2*rcx]
+       test     r14d, r14d
        jge      SHORT G_M31066_IG15
-                        ;; size=27 bbWeight=1 PerfScore 4.50
-G_M31066_IG14:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0020 {rbp}, byref
-       ; byrRegs -[rcx]
+                      ;; size=30 bbWeight=1 PerfScore 4.50
+G_M31066_IG14:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0080 {rdi}, byref
        mov      rdx, 0xD1FFAB1E
        ; gcrRegs +[rdx]
        mov      rcx, rdx
@@ -150,27 +149,28 @@ G_M31066_IG14:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0020 {rbp
        ; gcrRegs -[rcx rdx]
        ; gcr arg pop 0
                        ;; size=19 bbWeight=0.50 PerfScore 1.75
-G_M31066_IG15:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0020 {rbp}, byref
+G_M31066_IG15:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0080 {rdi}, byref
        cmp      byte  ptr [rsi], sil
        mov      rcx, rsi
        ; gcrRegs +[rcx]
-       mov      rdx, rbp
+       mov      rdx, rdi
        ; byrRegs +[rdx]
-       mov      r8d, edi
+       mov      r8d, r14d
        call     [System.Text.StringBuilder:Append(byref,int):this]
        ; gcrRegs -[rcx rsi]
-       ; byrRegs -[rdx rbp]
+       ; byrRegs -[rdx rdi]
        ; gcr arg pop 0
        mov      eax, ebx
                        ;; size=20 bbWeight=1 PerfScore 7.00
 G_M31066_IG16:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 40
+       add      rsp, 32
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
+       pop      r14
        ret      
-                     ;; size=9 bbWeight=1 PerfScore 3.25
+                       ;; size=11 bbWeight=1 PerfScore 3.75
 G_M31066_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
@@ -181,7 +181,7 @@ G_M31066_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 249, prolog size 14, PerfScore 69.75, instruction count 79, allocated bytes for code 249 (MethodHash=06c286a5) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ConsumeRemainingContentThroughNewLine(System.Text.StringBuilder,System.ReadOnlySpan`1[ushort],int):int (FullOpts)
+; Total bytes of code 231, prolog size 16, PerfScore 72.25, instruction count 81, allocated bytes for code 231 (MethodHash=06c286a5) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ConsumeRemainingContentThroughNewLine(System.Text.StringBuilder,System.ReadOnlySpan`1[ushort],int):int (FullOpts)
 ; ============================================================
...
  
-17 (-6.25%) : 123977.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder+MemberLookup:IsDerivedInterface(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BasesBeingResolved,byref):ubyte (FullOpts)
@@ -17,7 +17,7 @@
 ;* V06 loc2         [V06    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol]>
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct (40) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V08 tmp1         [V08,T06] (  4,  6   )     ref  ->  r14         class-hnd single-def "non-inline candidate call" <Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol>
-;  V09 tmp2         [V09,T12] (  3,  3   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.VisualBasic.Symbol]>
+;  V09 tmp2         [V09,T12] (  3,  3   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.VisualBasic.Symbol]>
 ;  V10 tmp3         [V10,T16] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;  V11 tmp4         [V11,T10] (  3,  4   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol>
 ;* V12 tmp5         [V12    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol]>
@@ -25,30 +25,27 @@
 ;* V14 tmp7         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon[]>
 ;  V15 tmp8         [V15,T11] (  2,  4   )   ubyte  ->  rax         "Inline return value spill temp"
 ;  V16 tmp9         [V16,T00] (  4, 24   )     ref  ->  rcx         class-hnd "Inlining Arg" <System.__Canon>
-;  V17 tmp10        [V17,T02] (  4, 12.50)     int  ->  r13         "Inline stloc first use temp"
+;  V17 tmp10        [V17,T02] (  4, 12.50)     int  ->  rsi         "Inline stloc first use temp"
 ;* V18 tmp11        [V18    ] (  0,  0   )     ref  ->  zero-ref    "field V02.InheritsBeingResolvedOpt (fldOffset=0x0)" P-INDEP
 ;* V19 tmp12        [V19    ] (  0,  0   )     ref  ->  zero-ref    "field V02.ImplementsBeingResolvedOpt (fldOffset=0x8)" P-INDEP
-;  V20 tmp13        [V20,T09] (  2,  4.50)     ref  ->  r15         single-def "field V05._array (fldOffset=0x0)" P-INDEP
-;  V21 tmp14        [V21,T01] (  4, 12.50)     int  ->  r12         "field V05._index (fldOffset=0x8)" P-INDEP
+;  V20 tmp13        [V20,T09] (  2,  4.50)     ref  ->  rdi         single-def "field V05._array (fldOffset=0x0)" P-INDEP
+;  V21 tmp14        [V21,T01] (  4, 12.50)     int  ->  r14         "field V05._index (fldOffset=0x8)" P-INDEP
 ;  V22 tmp15        [V22,T14] (  3,  1.50)     ref  ->  rax         "field V06.array (fldOffset=0x0)" P-INDEP
 ;* V23 tmp16        [V23    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V12.array (fldOffset=0x0)" P-INDEP
-;  V24 tmp17        [V24,T15] (  2,  1   )     ref  ->  r15         single-def "field V13._array (fldOffset=0x0)" P-INDEP
+;  V24 tmp17        [V24,T15] (  2,  1   )     ref  ->  rdi         single-def "field V13._array (fldOffset=0x0)" P-INDEP
 ;* V25 tmp18        [V25,T17] (  0,  0   )     int  ->  zero-ref    single-def "field V13._index (fldOffset=0x8)" P-INDEP
 ;* V26 tmp19        [V26    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref" <Microsoft.CodeAnalysis.VisualBasic.BasesBeingResolved>
-;  V27 cse0         [V27,T08] (  3,  5   )     int  ->  r14         "CSE - aggressive"
+;  V27 cse0         [V27,T08] (  3,  5   )     int  ->  rbp         "CSE - aggressive"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 48
 
 G_M36942_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-       push     r15
        push     r14
-       push     r13
-       push     r12
        push     rdi
        push     rsi
        push     rbp
        push     rbx
-       sub      rsp, 40
+       sub      rsp, 48
        mov      rbx, rcx
        ; gcrRegs +[rbx]
        mov      rdi, rdx
@@ -57,7 +54,7 @@ G_M36942_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; byrRegs +[rsi]
        mov      rbp, r9
        ; byrRegs +[rbp]
-                      ;; size=28 bbWeight=1 PerfScore 9.25
+                      ;; size=22 bbWeight=1 PerfScore 6.25
 G_M36942_IG02:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0060 {rbp rsi}, byref, isz
        mov      rcx, rdi
        ; gcrRegs +[rcx]
@@ -120,23 +117,23 @@ G_M36942_IG06:        ; bbWeight=0.50, gcrefRegs=0088 {rbx rdi}, byrefRegs=0060
        ; gcrRegs -[rcx rdi] +[rax]
        ; byrRegs -[rdx rbp rsi]
        ; gcr arg pop 0
-       mov      r14d, dword ptr [rax+0x08]
-       mov      r15, rax
-       ; gcrRegs +[r15]
-       xor      r13d, r13d
-       xor      r12d, r12d
-       test     r14d, r14d
+       mov      ebp, dword ptr [rax+0x08]
+       mov      rdi, rax
+       ; gcrRegs +[rdi]
+       xor      esi, esi
+       xor      r14d, r14d
+       test     ebp, ebp
        jle      SHORT G_M36942_IG05
-                      ;; size=36 bbWeight=0.50 PerfScore 5.75
-G_M36942_IG07:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
+                      ;; size=33 bbWeight=0.50 PerfScore 5.75
+G_M36942_IG07:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
-       mov      ecx, r13d
-       mov      rcx, gword ptr [r15+8*rcx+0x10]
+       mov      ecx, esi
+       mov      rcx, gword ptr [rdi+8*rcx+0x10]
        ; gcrRegs +[rcx]
        test     rcx, rcx
        je       SHORT G_M36942_IG09
-                      ;; size=13 bbWeight=4 PerfScore 14.00
-G_M36942_IG08:        ; bbWeight=2, gcrefRegs=800A {rcx rbx r15}, byrefRegs=0000 {}, byref, isz
+                      ;; size=12 bbWeight=4 PerfScore 14.00
+G_M36942_IG08:        ; bbWeight=2, gcrefRegs=008A {rcx rbx rdi}, byrefRegs=0000 {}, byref, isz
        mov      rdx, rbx
        ; gcrRegs +[rdx]
        xor      r8d, r8d
@@ -148,14 +145,14 @@ G_M36942_IG08:        ; bbWeight=2, gcrefRegs=800A {rcx rbx r15}, byrefRegs=0000
        test     eax, eax
        jne      SHORT G_M36942_IG11
                        ;; size=23 bbWeight=2 PerfScore 17.50
-G_M36942_IG09:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
-       lea      r13d, [r12+0x01]
-       mov      r12d, r13d
-       cmp      r14d, r12d
+G_M36942_IG09:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
+       lea      esi, [r14+0x01]
+       mov      r14d, esi
+       cmp      ebp, r14d
        jg       SHORT G_M36942_IG07
-                     ;; size=13 bbWeight=4 PerfScore 8.00
+                      ;; size=12 bbWeight=4 PerfScore 8.00
 G_M36942_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rbx r15]
+       ; gcrRegs -[rbx rdi]
        jmp      SHORT G_M36942_IG05
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
 G_M36942_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
@@ -169,9 +166,9 @@ G_M36942_IG12:        ; bbWeight=0.50, gcrefRegs=0088 {rbx rdi}, byrefRegs=0060
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       mov      r12, rax
-       ; gcrRegs +[r12]
-       mov      rcx, r12
+       mov      r14, rax
+       ; gcrRegs +[r14]
+       mov      rcx, r14
        ; gcrRegs +[rcx]
        xor      rdx, rdx
        ; gcrRegs +[rdx]
@@ -186,10 +183,10 @@ G_M36942_IG12:        ; bbWeight=0.50, gcrefRegs=0088 {rbx rdi}, byrefRegs=0060
        ; gcrRegs +[rdx]
        mov      r8, rsi
        ; byrRegs +[r8]
-       mov      r9, r12
+       mov      r9, r14
        ; gcrRegs +[r9]
        call     [Microsoft.CodeAnalysis.VisualBasic.Binder+MemberLookup:IsDerivedInterface(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BasesBeingResolved,System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.VisualBasic.Symbol],byref):ubyte]
-       ; gcrRegs -[rcx rdx rbx rdi r9 r12]
+       ; gcrRegs -[rcx rdx rbx rdi r9 r14]
        ; byrRegs -[rbp rsi r8]
        ; gcr arg pop 0
                        ;; size=52 bbWeight=0.50 PerfScore 5.00
@@ -197,19 +194,16 @@ G_M36942_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
 G_M36942_IG14:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 40
+       add      rsp, 48
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
-       pop      r12
-       pop      r13
        pop      r14
-       pop      r15
        ret      
-                      ;; size=17 bbWeight=1 PerfScore 5.25
+                      ;; size=11 bbWeight=1 PerfScore 3.75
 
-; Total bytes of code 272, prolog size 28, PerfScore 90.38, instruction count 89, allocated bytes for code 272 (MethodHash=00056fb1) for method Microsoft.CodeAnalysis.VisualBasic.Binder+MemberLookup:IsDerivedInterface(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BasesBeingResolved,byref):ubyte (FullOpts)
+; Total bytes of code 255, prolog size 22, PerfScore 85.88, instruction count 83, allocated bytes for code 255 (MethodHash=00056fb1) for method Microsoft.CodeAnalysis.VisualBasic.Binder+MemberLookup:IsDerivedInterface(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BasesBeingResolved,byref):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -217,17 +211,14 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x10
-  CountOfUnwindCodes: 9
+  SizeOfProlog      : 0x0A
+  CountOfUnwindCodes: 6
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x10 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
-    CodeOffset: 0x0C UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x0B UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
-    CodeOffset: 0x0A UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
-    CodeOffset: 0x09 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
-    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r12 (12)
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r13 (13)
-    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)
  
-21 (-5.34%) : 121173.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:ReportOverloadResolutionFailedOrLateBound(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder1[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult],int,ubyte,System.Collections.Generic.HashSet1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]):Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+OverloadResolutionResult (FullOpts)
@@ -13,11 +13,11 @@
 ;  V02 arg1         [V02,T09] (  3,  3   )     int  ->  r14         single-def
 ;  V03 arg2         [V03,T10] (  3,  3   )   ubyte  ->  r15         single-def
 ;  V04 arg3         [V04,T13] (  1,  1   )     ref  ->  [rsp+0x110]  class-hnd single-def <System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]>
-;  V05 loc0         [V05,T11] (  3,  2.50)   ubyte  ->  r13        
+;  V05 loc0         [V05,T11] (  3,  2.50)   ubyte  ->  rsi        
 ;* V06 loc1         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1+Enumerator[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult]>
 ;* V07 loc2         [V07    ] (  0,  0   )  struct (96) zero-ref    do-not-enreg[SF] ld-addr-op <Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult>
 ;  V08 OutArgs      [V08    ] (  1,  1   )  struct (40) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V09 tmp1         [V09    ] (  2,  4   )  struct (128) [rsp+0x28]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+OverloadResolutionResult>
+;  V09 tmp1         [V09    ] (  2,  4   )  struct (128) [rsp+0x30]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+OverloadResolutionResult>
 ;* V10 tmp2         [V10    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult]>
 ;* V11 tmp3         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1+Enumerator[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult]>
 ;* V12 tmp4         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult]>
@@ -30,7 +30,7 @@
 ;* V19 tmp11        [V19    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult]>
 ;* V20 tmp12        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult[]>
 ;* V21 tmp13        [V21,T14] (  0,  0   )     ref  ->  zero-ref    single-def "field V06._builder (fldOffset=0x0)" P-INDEP
-;  V22 tmp14        [V22,T00] (  7, 24.50)     int  ->  rsi         "field V06._index (fldOffset=0x8)" P-INDEP
+;  V22 tmp14        [V22,T00] (  7, 24.50)     int  ->  rdi         "field V06._index (fldOffset=0x8)" P-INDEP
 ;* V23 tmp15        [V23    ] (  0,  0   )     ref  ->  zero-ref    "field V10.array (fldOffset=0x0)" P-INDEP
 ;* V24 tmp16        [V24,T15] (  0,  0   )     ref  ->  zero-ref    single-def "field V11._builder (fldOffset=0x0)" P-INDEP
 ;* V25 tmp17        [V25,T16] (  0,  0   )     int  ->  zero-ref    single-def "field V11._index (fldOffset=0x8)" P-INDEP
@@ -40,45 +40,41 @@
 ;  V29 tmp21        [V29,T02] (  3, 24   )   byref  ->  rcx         "Spilling address for field-by-field copy"
 ;  V30 tmp22        [V30,T03] (  3, 24   )     ref  ->  rcx         "arr expr"
 ;
-; Lcl frame size = 168
+; Lcl frame size = 176
 
 G_M55149_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     r15
        push     r14
        push     r13
-       push     r12
        push     rdi
        push     rsi
        push     rbp
        push     rbx
-       sub      rsp, 168
-       xor      eax, eax
-       mov      qword ptr [rsp+0x28], rax
+       sub      rsp, 176
        vxorps   xmm4, xmm4, xmm4
        vmovdqu  ymmword ptr [rsp+0x30], ymm4
        vmovdqu  ymmword ptr [rsp+0x50], ymm4
        vmovdqu  ymmword ptr [rsp+0x70], ymm4
-       vmovdqa  xmmword ptr [rsp+0x90], xmm4
-       mov      qword ptr [rsp+0xA0], rax
+       vmovdqu  ymmword ptr [rsp+0x90], ymm4
        mov      rbp, rcx
        ; byrRegs +[rbp]
        mov      rbx, rdx
        ; gcrRegs +[rbx]
        mov      r14d, r8d
        mov      r15d, r9d
-                        ;; size=77 bbWeight=1 PerfScore 19.83
+                     ;; size=60 bbWeight=1 PerfScore 16.58
 G_M55149_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0020 {rbp}, byref
        test     byte  ptr [(reloc)], 1      ; global ptr
        je       G_M55149_IG12
                        ;; size=13 bbWeight=1 PerfScore 4.00
 G_M55149_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0020 {rbp}, byref, isz
-       xor      r13d, r13d
+       xor      esi, esi
        test     r15b, r15b
        je       SHORT G_M55149_IG08
-                      ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=7 bbWeight=1 PerfScore 1.50
 G_M55149_IG04:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0020 {rbp}, byref, isz
        cmp      byte  ptr [rbx], bl
-       xor      esi, esi
+       xor      edi, edi
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
        cmp      dword ptr [rcx+0x10], 0
@@ -88,12 +84,12 @@ G_M55149_IG05:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0020 {rbp},
        ; gcrRegs -[rcx]
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
-       cmp      esi, dword ptr [rcx+0x10]
+       cmp      edi, dword ptr [rcx+0x10]
        jge      G_M55149_IG13
        mov      rcx, gword ptr [rcx+0x08]
-       cmp      esi, dword ptr [rcx+0x08]
+       cmp      edi, dword ptr [rcx+0x08]
        jae      G_M55149_IG11
-       mov      eax, esi
+       mov      eax, edi
        imul     rax, rax, 96
        lea      rcx, bword ptr [rcx+rax+0x10]
        ; gcrRegs -[rcx]
@@ -120,10 +116,10 @@ G_M55149_IG06:        ; bbWeight=2, gcrefRegs=0009 {rax rbx}, byrefRegs=0020 {rb
        je       G_M55149_IG10
                        ;; size=29 bbWeight=2 PerfScore 19.50
 G_M55149_IG07:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0020 {rbp}, byref, isz
-       inc      esi
+       inc      edi
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
-       cmp      esi, dword ptr [rcx+0x10]
+       cmp      edi, dword ptr [rcx+0x10]
        jl       SHORT G_M55149_IG05
                        ;; size=11 bbWeight=4 PerfScore 25.00
 G_M55149_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0020 {rbp}, byref
@@ -136,21 +132,21 @@ G_M55149_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0020 {rbp},
        ; gcr arg pop 0
        mov      rdx, rax
        ; gcrRegs +[rdx]
-       mov      r12, gword ptr [rsp+0x110]
-       ; gcrRegs +[r12]
-       mov      gword ptr [rsp+0x20], r12
+       mov      r13, gword ptr [rsp+0x110]
+       ; gcrRegs +[r13]
+       mov      gword ptr [rsp+0x20], r13
        ; gcr arg write
        xor      r9d, r9d
        test     r14d, r14d
        setg     r9b
-       lea      rcx, [rsp+0x28]
-       mov      r8d, r13d
+       lea      rcx, [rsp+0x30]
+       mov      r8d, esi
        call     [<unknown method>]
-       ; gcrRegs -[rax rdx r12]
+       ; gcrRegs -[rax rdx r13]
        ; gcr arg pop 0
        mov      rdi, rbp
        ; byrRegs +[rdi]
-       lea      rsi, bword ptr [rsp+0x28]
+       lea      rsi, bword ptr [rsp+0x30]
        ; byrRegs +[rsi]
        movsq    
        movsq    
@@ -172,23 +168,22 @@ G_M55149_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0020 {rbp},
        ; byrRegs +[rax]
                        ;; size=125 bbWeight=1 PerfScore 32.50
 G_M55149_IG09:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 168
+       add      rsp, 176
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
-       pop      r12
        pop      r13
        pop      r14
        pop      r15
        ret      
-                     ;; size=20 bbWeight=1 PerfScore 5.25
+                      ;; size=18 bbWeight=1 PerfScore 4.75
 G_M55149_IG10:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0020 {rbp}, gcvars, byref
        ; gcrRegs +[rbx]
        ; byrRegs -[rax rsi rdi]
-       mov      r13d, 1
+       mov      esi, 1
        jmp      G_M55149_IG08
-                        ;; size=11 bbWeight=0.50 PerfScore 1.12
+                       ;; size=10 bbWeight=0.50 PerfScore 1.12
 G_M55149_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
        ; byrRegs -[rbp]
@@ -212,7 +207,7 @@ G_M55149_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 393, prolog size 77, PerfScore 195.33, instruction count 106, allocated bytes for code 393 (MethodHash=d42b2892) for method Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:ReportOverloadResolutionFailedOrLateBound(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult],int,ubyte,System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]):Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+OverloadResolutionResult (FullOpts)
+; Total bytes of code 372, prolog size 60, PerfScore 191.58, instruction count 101, allocated bytes for code 372 (MethodHash=d42b2892) for method Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:ReportOverloadResolutionFailedOrLateBound(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult],int,ubyte,System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]):Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+OverloadResolutionResult (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -220,18 +215,17 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x13
-  CountOfUnwindCodes: 10
+  SizeOfProlog      : 0x11
+  CountOfUnwindCodes: 9
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x13 UnwindOp: UWOP_ALLOC_LARGE (1)     OpInfo: 0 - Scaled small  
-      Size: 21 * 8 = 168 = 0x000A8
-    CodeOffset: 0x0C UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x0B UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
-    CodeOffset: 0x0A UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
-    CodeOffset: 0x09 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
-    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r12 (12)
+    CodeOffset: 0x11 UnwindOp: UWOP_ALLOC_LARGE (1)     OpInfo: 0 - Scaled small  
+      Size: 22 * 8 = 176 = 0x000B0
+    CodeOffset: 0x0A UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x09 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
+    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
+    CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
     CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r13 (13)
     CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
     CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
  
+6 (+3.66%) : 17147.dasm - System.Xml.XPathNodePointer:DecideXPNodeTypeForTextNodes(System.Xml.XmlNode):int:this (FullOpts)
@@ -36,14 +36,14 @@ G_M33580_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        mov      rbx, rcx
        ; gcrRegs +[rbx]
                        ;; size=13 bbWeight=1 PerfScore 5.50
-G_M33580_IG02:        ; bbWeight=1, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
+G_M33580_IG02:        ; bbWeight=1, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rdx]
        mov      esi, 6
        mov      rdi, rdx
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       SHORT G_M33580_IG11
-                       ;; size=13 bbWeight=1 PerfScore 1.75
+       je       G_M33580_IG14
+                       ;; size=17 bbWeight=1 PerfScore 1.75
 G_M33580_IG03:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdx]
        mov      rcx, rdi
@@ -55,13 +55,13 @@ G_M33580_IG03:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {},
        ; gcr arg pop 0
        lea      ecx, [rax-0x03]
        cmp      ecx, 1
-       jbe      SHORT G_M33580_IG13
+       jbe      SHORT G_M33580_IG12
        cmp      eax, 13
        je       SHORT G_M33580_IG05
                        ;; size=26 bbWeight=4 PerfScore 41.00
 G_M33580_IG04:        ; bbWeight=2, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        cmp      eax, 14
-       jne      SHORT G_M33580_IG11
+       jne      SHORT G_M33580_IG14
        mov      esi, 5
                        ;; size=10 bbWeight=2 PerfScore 3.00
 G_M33580_IG05:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
@@ -113,11 +113,14 @@ G_M33580_IG10:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {},
        test     rdi, rdi
        jne      SHORT G_M33580_IG03
                        ;; size=5 bbWeight=4 PerfScore 5.00
-G_M33580_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M33580_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx rdi]
-       mov      eax, esi
-                       ;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M33580_IG12:        ; bbWeight=0.50, epilog, nogc, extend
+       jmp      SHORT G_M33580_IG14
+                       ;; size=2 bbWeight=0.50 PerfScore 1.00
+G_M33580_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      eax, 4
+                       ;; size=5 bbWeight=0.50 PerfScore 0.12
+G_M33580_IG13:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 32
        pop      rbx
        pop      rbp
@@ -126,10 +129,10 @@ G_M33580_IG12:        ; bbWeight=0.50, epilog, nogc, extend
        pop      r14
        ret      
                        ;; size=11 bbWeight=0.50 PerfScore 1.88
-G_M33580_IG13:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       mov      eax, 4
-                       ;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M33580_IG14:        ; bbWeight=0.50, epilog, nogc, extend
+G_M33580_IG14:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       mov      eax, esi
+                       ;; size=2 bbWeight=0.50 PerfScore 0.12
+G_M33580_IG15:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 32
        pop      rbx
        pop      rbp
@@ -139,7 +142,7 @@ G_M33580_IG14:        ; bbWeight=0.50, epilog, nogc, extend
        ret      
                        ;; size=11 bbWeight=0.50 PerfScore 1.88
 
-; Total bytes of code 164, prolog size 10, PerfScore 129.25, instruction count 62, allocated bytes for code 164 (MethodHash=97427cd3) for method System.Xml.XPathNodePointer:DecideXPNodeTypeForTextNodes(System.Xml.XmlNode):int:this (FullOpts)
+; Total bytes of code 170, prolog size 10, PerfScore 130.25, instruction count 63, allocated bytes for code 170 (MethodHash=97427cd3) for method System.Xml.XPathNodePointer:DecideXPNodeTypeForTextNodes(System.Xml.XmlNode):int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+17 (+4.20%) : 203723.dasm - System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
@@ -11,8 +11,8 @@
 ;  V01 arg1         [V01,T07] (  7,  4.50)     int  ->  rdx         single-def
 ;  V02 arg2         [V02,T08] (  5,  4   )     int  ->   r8         single-def
 ;  V03 arg3         [V03,T09] (  4,  3.50)   byref  ->   r9         single-def
-;  V04 loc0         [V04,T00] ( 26, 49   )     int  ->  rax        
-;  V05 loc1         [V05,T06] ( 11, 11.50)     int  ->  r10        
+;  V04 loc0         [V04,T00] ( 26, 49   )     int  ->  r10        
+;  V05 loc1         [V05,T06] ( 11, 11.50)     int  ->  rax        
 ;  V06 loc2         [V06,T01] ( 12, 17.54)     int  ->  rdx        
 ;  V07 loc3         [V07,T03] (  8, 16   )     int  ->   r8        
 ;  V08 loc4         [V08,T02] ( 12, 17.54)     int  ->  rdx        
@@ -35,8 +35,8 @@ G_M24742_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}, b
        je       G_M24742_IG14
                        ;; size=14 bbWeight=1 PerfScore 2.50
 G_M24742_IG03:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}, byref, isz
-       xor      eax, eax
-       lea      r10d, [rdx+r8]
+       xor      r10d, r10d
+       lea      eax, [rdx+r8]
        mov      r11d, dword ptr [rcx+0x08]
        cmp      edx, r11d
        jae      G_M24742_IG16
@@ -46,12 +46,12 @@ G_M24742_IG03:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}
        cmp      r8d, 1
        je       G_M24742_IG14
        inc      edx
-       cmp      edx, r10d
+       cmp      edx, eax
        jge      G_M24742_IG12
        mov      r8d, edx
-       or       r8d, r10d
+       or       r8d, eax
        jl       SHORT G_M24742_IG06
-       cmp      r11d, r10d
+       cmp      r11d, eax
        jl       SHORT G_M24742_IG06
                        ;; size=66 bbWeight=0.50 PerfScore 6.88
 G_M24742_IG04:        ; bbWeight=3.96, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}, byref, isz
@@ -60,18 +60,18 @@ G_M24742_IG04:        ; bbWeight=3.96, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}
        add      r8d, -48
        cmp      r8d, 9
        ja       G_M24742_IG14
-       cmp      eax, 0xD1FFAB1E
+       cmp      r10d, 0xD1FFAB1E
        jl       G_M24742_IG14
-       lea      eax, [rax+4*rax]
-       add      eax, eax
+       lea      r10d, [r10+4*r10]
+       add      r10d, r10d
        lea      r11d, [r8+D1FFAB1EH]
-       cmp      eax, r11d
+       cmp      r10d, r11d
        jl       G_M24742_IG14
-       sub      eax, r8d
+       sub      r10d, r8d
        inc      edx
-       cmp      edx, r10d
+       cmp      edx, eax
        jl       SHORT G_M24742_IG04
-                       ;; size=65 bbWeight=3.96 PerfScore 36.63
+                      ;; size=68 bbWeight=3.96 PerfScore 36.63
 G_M24742_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0200 {r9}, byref
        ; gcrRegs -[rcx]
        jmp      G_M24742_IG12
@@ -85,52 +85,52 @@ G_M24742_IG06:        ; bbWeight=0.04, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}
        add      r8d, -48
        cmp      r8d, 9
        ja       G_M24742_IG14
-       cmp      eax, 0xD1FFAB1E
+       cmp      r10d, 0xD1FFAB1E
        jl       G_M24742_IG14
-       lea      eax, [rax+4*rax]
-       add      eax, eax
+       lea      r10d, [r10+4*r10]
+       add      r10d, r10d
        lea      ebx, [r8+D1FFAB1EH]
-       cmp      eax, ebx
+       cmp      r10d, ebx
        jl       G_M24742_IG14
-       sub      eax, r8d
+       sub      r10d, r8d
        inc      edx
-       cmp      edx, r10d
+       cmp      edx, eax
        jl       SHORT G_M24742_IG06
-                      ;; size=73 bbWeight=0.04 PerfScore 0.42
+                       ;; size=77 bbWeight=0.04 PerfScore 0.42
 G_M24742_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0200 {r9}, byref
        ; gcrRegs -[rcx]
        jmp      G_M24742_IG12
                        ;; size=5 bbWeight=0.50 PerfScore 1.00
 G_M24742_IG08:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}, byref, isz
        ; gcrRegs +[rcx]
-       cmp      edx, r10d
+       cmp      edx, eax
        jge      G_M24742_IG12
        mov      r8d, edx
-       or       r8d, r10d
+       or       r8d, eax
        jl       SHORT G_M24742_IG11
-       cmp      r11d, r10d
+       cmp      r11d, eax
        jl       SHORT G_M24742_IG11
-                       ;; size=22 bbWeight=0.50 PerfScore 2.00
+                       ;; size=21 bbWeight=0.50 PerfScore 2.00
 G_M24742_IG09:        ; bbWeight=3.96, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}, byref, isz
        mov      r11d, edx
        movzx    r8, byte  ptr [rcx+r11+0x10]
        add      r8d, -48
        cmp      r8d, 9
-       ja       SHORT G_M24742_IG14
-       cmp      eax, 0xD1FFAB1E
+       ja       G_M24742_IG14
+       cmp      r10d, 0xD1FFAB1E
        jg       SHORT G_M24742_IG14
-       lea      eax, [rax+4*rax]
-       add      eax, eax
+       lea      r10d, [r10+4*r10]
+       add      r10d, r10d
        mov      r11d, r8d
        neg      r11d
        add      r11d, 0xD1FFAB1E
-       cmp      r11d, eax
+       cmp      r11d, r10d
        jl       SHORT G_M24742_IG14
-       add      eax, r8d
+       add      r10d, r8d
        inc      edx
-       cmp      edx, r10d
+       cmp      edx, eax
        jl       SHORT G_M24742_IG09
-                       ;; size=59 bbWeight=3.96 PerfScore 37.62
+                      ;; size=66 bbWeight=3.96 PerfScore 37.62
 G_M24742_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0200 {r9}, byref, isz
        ; gcrRegs -[rcx]
        jmp      SHORT G_M24742_IG12
@@ -144,23 +144,23 @@ G_M24742_IG11:        ; bbWeight=0.04, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}
        add      r8d, -48
        cmp      r8d, 9
        ja       SHORT G_M24742_IG14
-       cmp      eax, 0xD1FFAB1E
+       cmp      r10d, 0xD1FFAB1E
        jg       SHORT G_M24742_IG14
-       lea      eax, [rax+4*rax]
-       add      eax, eax
+       lea      r10d, [r10+4*r10]
+       add      r10d, r10d
        mov      ebx, r8d
        neg      ebx
        add      ebx, 0xD1FFAB1E
-       cmp      ebx, eax
+       cmp      ebx, r10d
        jl       SHORT G_M24742_IG14
-       add      eax, r8d
+       add      r10d, r8d
        inc      edx
-       cmp      edx, r10d
+       cmp      edx, eax
        jl       SHORT G_M24742_IG11
-                      ;; size=61 bbWeight=0.04 PerfScore 0.43
+                       ;; size=65 bbWeight=0.04 PerfScore 0.43
 G_M24742_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0200 {r9}, byref
        ; gcrRegs -[rcx]
-       mov      dword ptr [r9], eax
+       mov      dword ptr [r9], r10d
        mov      eax, 1
                        ;; size=8 bbWeight=0.50 PerfScore 0.62
 G_M24742_IG13:        ; bbWeight=0.50, epilog, nogc, extend
@@ -183,7 +183,7 @@ G_M24742_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 405, prolog size 5, PerfScore 93.23, instruction count 117, allocated bytes for code 405 (MethodHash=b5f49f59) for method System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
+; Total bytes of code 422, prolog size 5, PerfScore 93.23, instruction count 117, allocated bytes for code 422 (MethodHash=b5f49f59) for method System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+5 (+6.33%) : 66311.dasm - Microsoft.CodeAnalysis.CSharp.ObjectDisplay:ContainsNewLine(System.String):ubyte (FullOpts)
@@ -10,11 +10,11 @@
 ;
 ;  V00 arg0         [V00,T04] (  3,  3   )     ref  ->  rcx         class-hnd single-def <System.String>
 ;  V01 loc0         [V01,T02] (  3,  6   )     ref  ->  rcx         class-hnd exact single-def <System.String>
-;  V02 loc1         [V02,T01] (  5, 17   )     int  ->  rdx        
+;  V02 loc1         [V02,T01] (  5, 17   )     int  ->  rax        
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04,T05] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V05 tmp2         [V05,T00] (  6, 32   )  ushort  ->  rax         "Inlining Arg"
-;  V06 cse0         [V06,T03] (  3,  6   )     int  ->   r8         "CSE - aggressive"
+;  V05 tmp2         [V05,T00] (  6, 32   )  ushort  ->   r8         "Inlining Arg"
+;  V06 cse0         [V06,T03] (  3,  6   )     int  ->  rdx         "CSE - aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -23,52 +23,49 @@ G_M7834_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
                        ;; size=4 bbWeight=1 PerfScore 0.25
 G_M7834_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rcx]
-       xor      edx, edx
-       mov      r8d, dword ptr [rcx+0x08]
-       test     r8d, r8d
-       jle      SHORT G_M7834_IG09
-                       ;; size=11 bbWeight=1 PerfScore 3.50
+       xor      eax, eax
+       mov      edx, dword ptr [rcx+0x08]
+       test     edx, edx
+       jle      SHORT G_M7834_IG06
+                       ;; size=9 bbWeight=1 PerfScore 3.50
 G_M7834_IG03:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
-       mov      eax, edx
-       movzx    rax, word  ptr [rcx+2*rax+0x0C]
-       cmp      eax, 13
-       je       SHORT G_M7834_IG07
-                       ;; size=12 bbWeight=4 PerfScore 14.00
+       mov      r8d, eax
+       movzx    r8, word  ptr [rcx+2*r8+0x0C]
+       cmp      r8d, 13
+       je       SHORT G_M7834_IG08
+                       ;; size=15 bbWeight=4 PerfScore 14.00
 G_M7834_IG04:        ; bbWeight=2, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
-       cmp      eax, 10
-       je       SHORT G_M7834_IG07
-       cmp      eax, 133
-       je       SHORT G_M7834_IG07
-       cmp      eax, 0x2028
-       je       SHORT G_M7834_IG07
-       cmp      eax, 0x2029
-       je       SHORT G_M7834_IG07
-                       ;; size=26 bbWeight=2 PerfScore 10.00
+       cmp      r8d, 10
+       je       SHORT G_M7834_IG08
+       cmp      r8d, 133
+       je       SHORT G_M7834_IG08
+       cmp      r8d, 0x2028
+       je       SHORT G_M7834_IG08
+       cmp      r8d, 0x2029
+       je       SHORT G_M7834_IG08
+                       ;; size=33 bbWeight=2 PerfScore 10.00
 G_M7834_IG05:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
-       inc      edx
-       cmp      r8d, edx
+       inc      eax
+       cmp      edx, eax
        jg       SHORT G_M7834_IG03
-                       ;; size=7 bbWeight=4 PerfScore 6.00
-G_M7834_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+                       ;; size=6 bbWeight=4 PerfScore 6.00
+G_M7834_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
-       jmp      SHORT G_M7834_IG09
-                       ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M7834_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       mov      eax, 1
-                       ;; size=5 bbWeight=2 PerfScore 0.50
-G_M7834_IG08:        ; bbWeight=2, epilog, nogc, extend
-       add      rsp, 40
-       ret      
-                       ;; size=5 bbWeight=2 PerfScore 2.50
-G_M7834_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M7834_IG10:        ; bbWeight=0.50, epilog, nogc, extend
+G_M7834_IG07:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 40
+       ret      
+                       ;; size=5 bbWeight=0.50 PerfScore 0.62
+G_M7834_IG08:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       mov      eax, 1
+                       ;; size=5 bbWeight=0.50 PerfScore 0.12
+G_M7834_IG09:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 40
        ret      
                        ;; size=5 bbWeight=0.50 PerfScore 0.62
 
-; Total bytes of code 79, prolog size 4, PerfScore 38.50, instruction count 27, allocated bytes for code 79 (MethodHash=c046e165) for method Microsoft.CodeAnalysis.CSharp.ObjectDisplay:ContainsNewLine(System.String):ubyte (FullOpts)
+; Total bytes of code 84, prolog size 4, PerfScore 35.25, instruction count 26, allocated bytes for code 84 (MethodHash=c046e165) for method Microsoft.CodeAnalysis.CSharp.ObjectDisplay:ContainsNewLine(System.String):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
libraries_tests.run.windows.x64.Release.mch
-23 (-10.45%) : 217722.dasm - System.IO.BinaryWriter:Write7BitEncodedInt(int):this (Tier1)
@@ -5,11 +5,11 @@
 ; optimized using Dynamic PGO
 ; rsp based frame
 ; fully interruptible
-; with Dynamic PGO: edge weights are valid, and fgCalledCount is 349
+; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 349
 ; 2 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 14,  5.55)     ref  ->  rbx         this class-hnd single-def <System.IO.BinaryWriter>
+;  V00 this         [V00,T00] ( 13,  5.55)     ref  ->  rbx         this class-hnd single-def <System.IO.BinaryWriter>
 ;  V01 arg1         [V01,T03] (  3,  3   )     int  ->  rdx         single-def
 ;  V02 loc0         [V02,T02] ( 13,  5.84)     int  ->  rsi        
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -32,35 +32,16 @@ G_M62697_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M62697_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      esi, edx
        cmp      esi, 127
-       ja       SHORT G_M62697_IG06
+       jbe      SHORT G_M62697_IG07
                      ;; size=7 bbWeight=1 PerfScore 1.50
-G_M62697_IG03:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       mov      rcx, 0xD1FFAB1E      ; System.IO.BinaryWriter
-       cmp      qword ptr [rbx], rcx
-       jne      G_M62697_IG12
-                       ;; size=19 bbWeight=1.00 PerfScore 4.24
-G_M62697_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       mov      rcx, gword ptr [rbx+0x08]
-       ; gcrRegs +[rcx]
-       movzx    rdx, sil
-       mov      rax, qword ptr [rcx]
-       mov      rax, qword ptr [rax+0x70]
-                       ;; size=15 bbWeight=1 PerfScore 6.25
-G_M62697_IG05:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 40
-       pop      rbx
-       pop      rsi
-       tail.jmp [rax]<unknown method>
-                       ;; size=9 bbWeight=1 PerfScore 3.25
-G_M62697_IG06:        ; bbWeight=0.42, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; gcrRegs -[rcx]
+G_M62697_IG03:        ; bbWeight=0.42, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        test     rbx, rbx
-       je       SHORT G_M62697_IG09
+       je       SHORT G_M62697_IG05
        mov      rcx, 0xD1FFAB1E      ; System.IO.BinaryWriter
        cmp      qword ptr [rbx], rcx
-       jne      SHORT G_M62697_IG09
+       jne      SHORT G_M62697_IG05
                      ;; size=20 bbWeight=0.42 PerfScore 2.28
-G_M62697_IG07:        ; bbWeight=0.70, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M62697_IG04:        ; bbWeight=0.70, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
        mov      edx, esi
@@ -73,15 +54,13 @@ G_M62697_IG07:        ; bbWeight=0.70, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
        shr      esi, 7
        cmp      esi, 127
-       ja       SHORT G_M62697_IG07
-                       ;; size=29 bbWeight=0.70 PerfScore 8.09
-G_M62697_IG08:        ; bbWeight=0.42, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       jmp      SHORT G_M62697_IG03
-                       ;; size=2 bbWeight=0.42 PerfScore 0.83
-G_M62697_IG09:        ; bbWeight=0.01, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ja       SHORT G_M62697_IG04
+       jmp      SHORT G_M62697_IG07
+                       ;; size=31 bbWeight=0.70 PerfScore 9.50
+G_M62697_IG05:        ; bbWeight=0.01, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, 0xD1FFAB1E      ; System.IO.BinaryWriter
        cmp      qword ptr [rbx], rcx
-       jne      SHORT G_M62697_IG14
+       jne      SHORT G_M62697_IG11
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
        mov      edx, esi
@@ -93,30 +72,42 @@ G_M62697_IG09:        ; bbWeight=0.01, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=36 bbWeight=0.01 PerfScore 0.10
-G_M62697_IG10:        ; bbWeight=0.01, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M62697_IG06:        ; bbWeight=0.01, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        shr      esi, 7
        cmp      esi, 127
-       ja       SHORT G_M62697_IG09
+       ja       SHORT G_M62697_IG05
                      ;; size=8 bbWeight=0.01 PerfScore 0.01
-G_M62697_IG11:        ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M62697_IG07:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, 0xD1FFAB1E      ; System.IO.BinaryWriter
        cmp      qword ptr [rbx], rcx
-       je       G_M62697_IG04
-                       ;; size=19 bbWeight=0.00 PerfScore 0.01
-G_M62697_IG12:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       jne      SHORT G_M62697_IG09
+       mov      rcx, gword ptr [rbx+0x08]
+       ; gcrRegs +[rcx]
+       movzx    rdx, sil
+       mov      rax, qword ptr [rcx]
+       mov      rax, qword ptr [rax+0x70]
+                       ;; size=30 bbWeight=1 PerfScore 10.50
+G_M62697_IG08:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 40
+       pop      rbx
+       pop      rsi
+       tail.jmp [rax]<unknown method>
+                       ;; size=9 bbWeight=1 PerfScore 3.25
+G_M62697_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs -[rcx]
        movzx    rdx, sil
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        mov      rax, qword ptr [rbx]
        mov      rax, qword ptr [rax+0x50]
                        ;; size=14 bbWeight=0 PerfScore 0.00
-G_M62697_IG13:        ; bbWeight=0, epilog, nogc, extend
+G_M62697_IG10:        ; bbWeight=0, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
        pop      rsi
        tail.jmp [rax+0x20]System.IO.BinaryWriter:Write(ubyte):this
                        ;; size=10 bbWeight=0 PerfScore 0.00
-G_M62697_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M62697_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rcx]
        mov      edx, esi
        or       edx, -128
@@ -128,10 +119,10 @@ G_M62697_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {
        call     [rax+0x20]System.IO.BinaryWriter:Write(ubyte):this
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       jmp      SHORT G_M62697_IG10
+       jmp      SHORT G_M62697_IG06
                        ;; size=23 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 220, prolog size 9, PerfScore 29.07, instruction count 66, allocated bytes for code 220 (MethodHash=7c1b0b16) for method System.IO.BinaryWriter:Write7BitEncodedInt(int):this (Tier1)
+; Total bytes of code 197, prolog size 9, PerfScore 29.64, instruction count 63, allocated bytes for code 197 (MethodHash=7c1b0b16) for method System.IO.BinaryWriter:Write7BitEncodedInt(int):this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
-49 (-7.08%) : 300423.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalList(System.Canon[]):this (Tier1)
@@ -9,16 +9,16 @@
 ; 5 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T05] (  8,  4.66)     ref  ->  rsi         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T00] (  8, 11.96)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
-;  V02 loc0         [V02,T04] ( 17,  6.87)     ref  ->  rdi         class-hnd <System.__Canon[]>
-;  V03 loc1         [V03,T08] (  6,  2.60)     int  ->  rbp        
-;  V04 loc2         [V04,T07] (  9,  3.52)     int  ->  r14        
-;  V05 loc3         [V05,T02] (  6, 10.22)     int  ->  r15        
-;  V06 loc4         [V06,T09] (  9,  2.08)     ref  ->  r13         class-hnd <System.__Canon>
-;  V07 loc5         [V07,T03] (  3,  8.81)   ubyte  ->  r12        
-;  V08 loc6         [V08,T06] ( 14,  6.01)     int  ->  [rsp+0x3C] 
-;  V09 loc7         [V09,T01] ( 10, 12.55)     ref  ->  [rsp+0x28]  class-hnd <System.__Canon>
+;  V00 this         [V00,T02] (  8,  4.66)     ref  ->  rsi         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
+;  V01 arg1         [V01,T00] (  8,  4.87)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
+;  V02 loc0         [V02,T01] ( 17,  6.87)     ref  ->  rdi         class-hnd <System.__Canon[]>
+;  V03 loc1         [V03,T07] (  5,  2.60)     int  ->  rbp        
+;  V04 loc2         [V04,T05] (  9,  3.52)     int  ->  r14        
+;  V05 loc3         [V05,T06] (  6,  3.13)     int  ->  r15        
+;  V06 loc4         [V06,T08] (  9,  2.08)     ref  ->  r13         class-hnd <System.__Canon>
+;  V07 loc5         [V07,T09] (  3,  1.71)   ubyte  ->  r12        
+;  V08 loc6         [V08,T04] ( 11,  6.01)     int  ->  [rsp+0x3C] 
+;  V09 loc7         [V09,T03] ( 10,  5.45)     ref  ->  [rsp+0x28]  class-hnd <System.__Canon>
 ;  V10 loc8         [V10,T19] (  3,  0.31)     int  ->  r12        
 ;  V11 loc9         [V11    ] (  3,  0.47)     ref  ->  [rsp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.__Canon[]>
 ;  V12 OutArgs      [V12    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -35,7 +35,7 @@
 ;* V23 tmp11        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V24 tmp12        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
 ;  V25 tmp13        [V25,T17] (  2,  0.62)    long  ->  rcx         "argument with side effect"
-;  V26 cse0         [V26,T11] (  6,  1.38)    long  ->  rcx         multi-def "CSE - moderate"
+;  V26 cse0         [V26,T11] (  6,  1.38)    long  ->  rax         multi-def "CSE - moderate"
 ;  V27 rat0         [V27,T13] (  3,  0.69)    long  ->  rcx         "Spilling to split statement for tree"
 ;  V28 rat1         [V28,T16] (  3,  0.62)    long  ->  rcx         "runtime lookup"
 ;  V29 rat2         [V29,T12] (  3,  0.87)    long  ->  rax         "fgMakeTemp is creating a new local variable"
@@ -60,68 +60,64 @@ G_M8298_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      rbx, rdx
        ; gcrRegs +[rbx]
                        ;; size=34 bbWeight=1 PerfScore 11.00
-G_M8298_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+G_M8298_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rsi+0x08]
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       G_M8298_IG11
-                       ;; size=13 bbWeight=1 PerfScore 3.25
+       je       SHORT G_M8298_IG10
+                       ;; size=9 bbWeight=1 PerfScore 3.25
 G_M8298_IG03:        ; bbWeight=0.71, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
        mov      ebp, dword ptr [rdi+0x08]
        xor      r14d, r14d
        xor      r15d, r15d
        cmp      dword ptr [rbx+0x08], 0
-       jle      G_M8298_IG23
+       jle      G_M8298_IG25
                         ;; size=19 bbWeight=0.71 PerfScore 4.64
-G_M8298_IG04:        ; bbWeight=0.35, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M8298_IG04:        ; bbWeight=0.35, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
        mov      edx, r15d
        mov      r13, gword ptr [rbx+8*rdx+0x10]
        ; gcrRegs +[r13]
        xor      r12d, r12d
        xor      edx, edx
        test     ebp, ebp
-       jle      SHORT G_M8298_IG10
-                       ;; size=17 bbWeight=0.35 PerfScore 1.40
-G_M8298_IG05:        ; bbWeight=0.18, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+       jle      G_M8298_IG16
+                       ;; size=21 bbWeight=0.35 PerfScore 1.40
+G_M8298_IG05:        ; bbWeight=0.18, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
        test     rdi, rdi
-       je       G_M8298_IG27
+       je       G_M8298_IG15
        test     r13, r13
-       je       G_M8298_IG27
-       mov      rcx, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
-       cmp      qword ptr [r13], rcx
-       jne      G_M8298_IG27
+       je       SHORT G_M8298_IG15
+       mov      rax, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
+       cmp      qword ptr [r13], rax
+       jne      SHORT G_M8298_IG15
        cmp      dword ptr [rdi+0x08], ebp
-       jl       G_M8298_IG27
-                       ;; size=47 bbWeight=0.18 PerfScore 1.88
+       jl       SHORT G_M8298_IG15
+                       ;; size=35 bbWeight=0.18 PerfScore 1.88
 G_M8298_IG06:        ; bbWeight=1.20, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      r8d, edx
-       mov      rax, gword ptr [rdi+8*r8+0x10]
-       ; gcrRegs +[rax]
-       test     rax, rax
+       mov      ecx, edx
+       mov      r10, gword ptr [rdi+8*rcx+0x10]
+       ; gcrRegs +[r10]
+       test     r10, r10
+       je       SHORT G_M8298_IG16
+                       ;; size=12 bbWeight=1.20 PerfScore 4.18
+G_M8298_IG07:        ; bbWeight=1.00, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       cmp      qword ptr [r10], rax
+       jne      SHORT G_M8298_IG13
+       mov      rcx, qword ptr [r10+0x50]
+       cmp      rcx, qword ptr [r13+0x50]
        je       SHORT G_M8298_IG09
-                      ;; size=13 bbWeight=1.20 PerfScore 4.18
-G_M8298_IG07:        ; bbWeight=1.00, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref
-       cmp      qword ptr [rax], rcx
-       jne      G_M8298_IG25
-       mov      r8, qword ptr [rax+0x50]
-       cmp      r8, qword ptr [r13+0x50]
-       jne      G_M8298_IG25
-                       ;; size=23 bbWeight=1.00 PerfScore 10.03
-G_M8298_IG08:        ; bbWeight=8.10, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rsp+0x3C], edx
+                        ;; size=15 bbWeight=1.00 PerfScore 10.03
+G_M8298_IG08:        ; bbWeight=1.35, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r10]
        jmp      SHORT G_M8298_IG13
-                        ;; size=6 bbWeight=8.10 PerfScore 24.31
-G_M8298_IG09:        ; bbWeight=0.60, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
+                      ;; size=2 bbWeight=1.35 PerfScore 2.70
+G_M8298_IG09:        ; bbWeight=0.50, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[r10]
        mov      dword ptr [rsp+0x3C], edx
-       jmp      SHORT G_M8298_IG14
-                       ;; size=6 bbWeight=0.60 PerfScore 1.79
-G_M8298_IG10:        ; bbWeight=0.18, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rsp+0x3C], edx
-       jmp      SHORT G_M8298_IG14
-                       ;; size=6 bbWeight=0.18 PerfScore 0.53
-G_M8298_IG11:        ; bbWeight=0.29, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rdi r13]
+       jmp      SHORT G_M8298_IG12
+                       ;; size=6 bbWeight=0.50 PerfScore 1.50
+G_M8298_IG10:        ; bbWeight=0.29, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rdi r10 r13]
        lea      rcx, bword ptr [rsi+0x08]
        ; byrRegs +[rcx]
        mov      rdx, rbx
@@ -131,7 +127,7 @@ G_M8298_IG11:        ; bbWeight=0.29, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {
        ; byrRegs -[rcx]
        nop      
                        ;; size=13 bbWeight=0.29 PerfScore 0.57
-G_M8298_IG12:        ; bbWeight=0.29, epilog, nogc, extend
+G_M8298_IG11:        ; bbWeight=0.29, epilog, nogc, extend
        add      rsp, 72
        pop      rbx
        pop      rbp
@@ -143,58 +139,77 @@ G_M8298_IG12:        ; bbWeight=0.29, epilog, nogc, extend
        pop      r15
        ret      
                        ;; size=17 bbWeight=0.29 PerfScore 1.50
-G_M8298_IG13:        ; bbWeight=8.10, gcVars=0000000000000000 {}, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[rax rbx rdi r13]
+G_M8298_IG12:        ; bbWeight=1.01, gcVars=0000000000000000 {}, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; gcrRegs +[rbx rdi r10 r13]
        movsxd   rdx, r15d
        mov      rcx, rbx
        ; gcrRegs +[rcx]
-       mov      r8, rax
+       mov      r8, r10
        ; gcrRegs +[r8]
        call     CORINFO_HELP_ARRADDR_ST
-       ; gcrRegs -[rax rcx r8]
+       ; gcrRegs -[rcx r8 r10]
        ; gcr arg pop 0
        mov      r12d, 1
-                      ;; size=20 bbWeight=8.10 PerfScore 16.21
-G_M8298_IG14:        ; bbWeight=0.35, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       test     r12d, r12d
-       jne      G_M8298_IG22
-       test     r14d, r14d
-       jne      SHORT G_M8298_IG15
        mov      edx, dword ptr [rsp+0x3C]
+       jmp      SHORT G_M8298_IG16
+                       ;; size=26 bbWeight=1.01 PerfScore 5.06
+G_M8298_IG13:        ; bbWeight=1.35, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       inc      edx
+       cmp      edx, ebp
+       jl       SHORT G_M8298_IG06
+                       ;; size=6 bbWeight=1.35 PerfScore 2.03
+G_M8298_IG14:        ; bbWeight=0.35, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M8298_IG16
+                       ;; size=2 bbWeight=0.35 PerfScore 0.70
+G_M8298_IG15:        ; bbWeight=0.01, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+       cmp      edx, dword ptr [rdi+0x08]
+       jae      G_M8298_IG31
+       mov      r10d, edx
+       mov      r10, gword ptr [rdi+8*r10+0x10]
+       ; gcrRegs +[r10]
+       test     r10, r10
+       jne      G_M8298_IG27
+                       ;; size=26 bbWeight=0.01 PerfScore 0.09
+G_M8298_IG16:        ; bbWeight=0.35, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r10]
+       test     r12d, r12d
+       jne      G_M8298_IG24
+       test     r14d, r14d
+       jne      SHORT G_M8298_IG17
        mov      r14d, edx
-                      ;; size=21 bbWeight=0.35 PerfScore 1.31
-G_M8298_IG15:        ; bbWeight=0.35, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+                        ;; size=17 bbWeight=0.35 PerfScore 0.96
+G_M8298_IG17:        ; bbWeight=0.35, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
        cmp      dword ptr [rdi+0x08], r14d
-       jg       SHORT G_M8298_IG21
+       jg       SHORT G_M8298_IG23
                         ;; size=6 bbWeight=0.35 PerfScore 1.40
-G_M8298_IG16:        ; bbWeight=0.16, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+G_M8298_IG18:        ; bbWeight=0.16, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        cmp      byte  ptr [rsi+0x18], 0
-       jne      G_M8298_IG34
+       jne      G_M8298_IG33
        mov      r12d, dword ptr [rdi+0x08]
        add      r12d, r12d
        cmp      r12d, 4
-       jg       G_M8298_IG35
+       jg       G_M8298_IG34
        mov      r12d, 4
                        ;; size=33 bbWeight=0.16 PerfScore 1.21
-G_M8298_IG17:        ; bbWeight=0.16, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+G_M8298_IG19:        ; bbWeight=0.16, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        mov      eax, dword ptr [rbx+0x08]
        cmp      r12d, eax
-       jl       G_M8298_IG36
+       jl       G_M8298_IG35
                       ;; size=12 bbWeight=0.16 PerfScore 0.51
-G_M8298_IG18:        ; bbWeight=0.16, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+G_M8298_IG20:        ; bbWeight=0.16, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        mov      gword ptr [rsp+0x30], rdi
        mov      rcx, qword ptr [rsi]
        mov      rdx, qword ptr [rcx+0x38]
        mov      rdx, qword ptr [rdx]
        mov      rax, qword ptr [rdx+0x38]
        test     rax, rax
-       je       G_M8298_IG31
+       je       G_M8298_IG30
                        ;; size=28 bbWeight=0.16 PerfScore 1.60
-G_M8298_IG19:        ; bbWeight=0.12, gcrefRegs=2048 {rbx rsi r13}, byrefRegs=0000 {}, byref
+G_M8298_IG21:        ; bbWeight=0.12, gcrefRegs=2048 {rbx rsi r13}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        mov      rcx, rax
                        ;; size=3 bbWeight=0.12 PerfScore 0.03
-G_M8298_IG20:        ; bbWeight=0.16, gcrefRegs=2048 {rbx rsi r13}, byrefRegs=0000 {}, byref
+G_M8298_IG22:        ; bbWeight=0.16, gcrefRegs=2048 {rbx rsi r13}, byrefRegs=0000 {}, byref
        lea      rdx, [rsp+0x30]
        mov      r8d, r12d
        call     [System.Array:Resize[System.__Canon](byref,int)]
...
  
-47 (-6.83%) : 174641.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalList(System.Canon[]):this (Tier1)
@@ -10,15 +10,15 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T12] (  8,  6.39)     ref  ->  rsi         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T01] (  8,417.00)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
-;  V02 loc0         [V02,T06] ( 17, 67.01)     ref  ->  rdi         class-hnd <System.__Canon[]>
-;  V03 loc1         [V03,T08] (  6, 56.80)     int  ->  rbp        
+;  V01 arg1         [V01,T04] (  8, 58.30)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
+;  V02 loc0         [V02,T03] ( 17, 67.01)     ref  ->  rdi         class-hnd <System.__Canon[]>
+;  V03 loc1         [V03,T07] (  5, 56.80)     int  ->  rbp        
 ;  V04 loc2         [V04,T11] (  9, 14.94)     int  ->  r14        
-;  V05 loc3         [V05,T02] (  6,418.36)     int  ->  r15        
-;  V06 loc4         [V06,T07] (  9, 57.48)     ref  ->  r13         class-hnd <System.__Canon>
-;  V07 loc5         [V07,T03] (  3,413.76)   ubyte  ->  r12        
-;  V08 loc6         [V08,T04] ( 14,215.31)     int  ->  [rsp+0x3C] 
-;  V09 loc7         [V09,T00] ( 10,617.70)     ref  ->  [rsp+0x28]  class-hnd <System.__Canon>
+;  V05 loc3         [V05,T05] (  6, 59.67)     int  ->  r15        
+;  V06 loc4         [V06,T06] (  9, 57.48)     ref  ->  r13         class-hnd <System.__Canon>
+;  V07 loc5         [V07,T08] (  3, 55.06)   ubyte  ->  r12        
+;  V08 loc6         [V08,T01] ( 11,215.31)     int  ->  [rsp+0x3C] 
+;  V09 loc7         [V09,T00] ( 10,259   )     ref  ->  [rsp+0x28]  class-hnd <System.__Canon>
 ;  V10 loc8         [V10,T20] (  3,  0.48)     int  ->  r12        
 ;  V11 loc9         [V11    ] (  3,  0.73)     ref  ->  [rsp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.__Canon[]>
 ;  V12 OutArgs      [V12    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -27,7 +27,7 @@
 ;* V15 tmp3         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
 ;* V16 tmp4         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V17 tmp5         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Reflection.RuntimeMethodInfo>
-;* V18 tmp6         [V18,T05] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
+;* V18 tmp6         [V18,T02] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
 ;  V19 tmp7         [V19,T19] (  4,  0.65)     int  ->  r12         "Inline return value spill temp"
 ;  V20 tmp8         [V20,T14] (  3,  1.13)     int  ->  r12         "Inlining Arg"
 ;  V21 tmp9         [V21,T21] (  3,  0.48)     int  ->  r12         "Inline return value spill temp"
@@ -35,7 +35,7 @@
 ;* V23 tmp11        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V24 tmp12        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
 ;  V25 tmp13        [V25,T18] (  2,  0.97)    long  ->  rcx         "argument with side effect"
-;  V26 cse0         [V26,T09] (  6, 54.18)    long  ->  rcx         multi-def "CSE - aggressive"
+;  V26 cse0         [V26,T09] (  6, 54.18)    long  ->  rax         multi-def "CSE - aggressive"
 ;  V27 cse1         [V27,T10] (  3, 22.91)     ref  ->  rdx         "CSE - aggressive"
 ;  V28 rat0         [V28,T16] (  3,  1.07)    long  ->  rcx         "Spilling to split statement for tree"
 ;  V29 rat1         [V29,T17] (  3,  0.97)    long  ->  rcx         "runtime lookup"
@@ -61,68 +61,64 @@ G_M8298_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      rbx, rdx
        ; gcrRegs +[rbx]
                        ;; size=34 bbWeight=1 PerfScore 11.00
-G_M8298_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+G_M8298_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rsi+0x08]
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       G_M8298_IG11
-                       ;; size=13 bbWeight=1 PerfScore 3.25
+       je       SHORT G_M8298_IG10
+                       ;; size=9 bbWeight=1 PerfScore 3.25
 G_M8298_IG03:        ; bbWeight=0.79, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
        mov      ebp, dword ptr [rdi+0x08]
        xor      r14d, r14d
        xor      r15d, r15d
        cmp      dword ptr [rbx+0x08], 0
-       jle      G_M8298_IG21
+       jle      G_M8298_IG25
                         ;; size=19 bbWeight=0.79 PerfScore 5.12
-G_M8298_IG04:        ; bbWeight=1.91, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M8298_IG04:        ; bbWeight=1.91, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
        mov      edx, r15d
        mov      r13, gword ptr [rbx+8*rdx+0x10]
        ; gcrRegs +[r13]
        xor      r12d, r12d
        xor      edx, edx
        test     ebp, ebp
-       jle      SHORT G_M8298_IG10
-                       ;; size=17 bbWeight=1.91 PerfScore 7.64
-G_M8298_IG05:        ; bbWeight=0.95, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+       jle      G_M8298_IG18
+                       ;; size=21 bbWeight=1.91 PerfScore 7.64
+G_M8298_IG05:        ; bbWeight=0.95, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
        test     rdi, rdi
-       je       G_M8298_IG30
+       je       G_M8298_IG15
        test     r13, r13
-       je       G_M8298_IG30
-       mov      rcx, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
-       cmp      qword ptr [r13], rcx
-       jne      G_M8298_IG30
+       je       G_M8298_IG15
+       mov      rax, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
+       cmp      qword ptr [r13], rax
+       jne      SHORT G_M8298_IG15
        cmp      dword ptr [rdi+0x08], ebp
-       jl       G_M8298_IG30
-                       ;; size=47 bbWeight=0.95 PerfScore 10.26
-G_M8298_IG06:        ; bbWeight=52.11, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      r8d, edx
-       mov      rax, gword ptr [rdi+8*r8+0x10]
-       ; gcrRegs +[rax]
-       test     rax, rax
+       jl       SHORT G_M8298_IG15
+                       ;; size=39 bbWeight=0.95 PerfScore 10.26
+G_M8298_IG06:        ; bbWeight=52.11, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+       mov      ecx, edx
+       mov      r10, gword ptr [rdi+8*rcx+0x10]
+       ; gcrRegs +[r10]
+       test     r10, r10
+       je       G_M8298_IG18
+                       ;; size=16 bbWeight=52.11 PerfScore 182.38
+G_M8298_IG07:        ; bbWeight=50.73, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       cmp      qword ptr [r10], rax
+       jne      SHORT G_M8298_IG13
+       mov      rcx, qword ptr [r10+0x50]
+       cmp      rcx, qword ptr [r13+0x50]
        je       SHORT G_M8298_IG09
-                      ;; size=13 bbWeight=52.11 PerfScore 182.38
-G_M8298_IG07:        ; bbWeight=50.73, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref
-       cmp      qword ptr [rax], rcx
-       jne      G_M8298_IG23
-       mov      r8, qword ptr [rax+0x50]
-       cmp      r8, qword ptr [r13+0x50]
-       jne      G_M8298_IG23
-                       ;; size=23 bbWeight=50.73 PerfScore 507.30
-G_M8298_IG08:        ; bbWeight=409.94, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rsp+0x3C], edx
+                        ;; size=15 bbWeight=50.73 PerfScore 507.30
+G_M8298_IG08:        ; bbWeight=52.62, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r10]
        jmp      SHORT G_M8298_IG13
-                        ;; size=6 bbWeight=409.94 PerfScore 1229.82
-G_M8298_IG09:        ; bbWeight=26.06, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
+                      ;; size=2 bbWeight=52.62 PerfScore 105.24
+G_M8298_IG09:        ; bbWeight=25.36, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[r10]
        mov      dword ptr [rsp+0x3C], edx
-       jmp      SHORT G_M8298_IG14
-                       ;; size=6 bbWeight=26.06 PerfScore 78.17
-G_M8298_IG10:        ; bbWeight=0.95, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rsp+0x3C], edx
-       jmp      SHORT G_M8298_IG14
-                       ;; size=6 bbWeight=0.95 PerfScore 2.86
-G_M8298_IG11:        ; bbWeight=0.21, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rdi r13]
+       jmp      SHORT G_M8298_IG12
+                       ;; size=6 bbWeight=25.36 PerfScore 76.09
+G_M8298_IG10:        ; bbWeight=0.21, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rdi r10 r13]
        lea      rcx, bword ptr [rsi+0x08]
        ; byrRegs +[rcx]
        mov      rdx, rbx
@@ -132,7 +128,7 @@ G_M8298_IG11:        ; bbWeight=0.21, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {
        ; byrRegs -[rcx]
        nop      
                        ;; size=13 bbWeight=0.21 PerfScore 0.42
-G_M8298_IG12:        ; bbWeight=0.21, epilog, nogc, extend
+G_M8298_IG11:        ; bbWeight=0.21, epilog, nogc, extend
        add      rsp, 72
        pop      rbx
        pop      rbp
@@ -144,40 +140,76 @@ G_M8298_IG12:        ; bbWeight=0.21, epilog, nogc, extend
        pop      r15
        ret      
                        ;; size=17 bbWeight=0.21 PerfScore 1.11
-G_M8298_IG13:        ; bbWeight=409.94, gcVars=0000000000000000 {}, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[rax rbx rdi r13]
+G_M8298_IG12:        ; bbWeight=51.24, gcVars=0000000000000000 {}, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; gcrRegs +[rbx rdi r10 r13]
        movsxd   rdx, r15d
        mov      rcx, rbx
        ; gcrRegs +[rcx]
-       mov      r8, rax
+       mov      r8, r10
        ; gcrRegs +[r8]
        call     CORINFO_HELP_ARRADDR_ST
-       ; gcrRegs -[rax rcx r8]
+       ; gcrRegs -[rcx r8 r10]
        ; gcr arg pop 0
        mov      r12d, 1
-                      ;; size=20 bbWeight=409.94 PerfScore 819.88
-G_M8298_IG14:        ; bbWeight=1.91, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       test     r12d, r12d
-       jne      SHORT G_M8298_IG20
-       test     r14d, r14d
-       jne      SHORT G_M8298_IG16
-                       ;; size=10 bbWeight=1.91 PerfScore 4.77
-G_M8298_IG15:        ; bbWeight=0.79, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        mov      edx, dword ptr [rsp+0x3C]
+       jmp      SHORT G_M8298_IG18
+                       ;; size=26 bbWeight=51.24 PerfScore 256.21
+G_M8298_IG13:        ; bbWeight=52.62, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       inc      edx
+       cmp      edx, ebp
+       jl       SHORT G_M8298_IG06
+                       ;; size=6 bbWeight=52.62 PerfScore 78.93
+G_M8298_IG14:        ; bbWeight=1.91, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M8298_IG18
+                       ;; size=2 bbWeight=1.91 PerfScore 3.82
+G_M8298_IG15:        ; bbWeight=0.53, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       cmp      edx, dword ptr [rdi+0x08]
+       jae      G_M8298_IG37
+       mov      r10d, edx
+       mov      r10, gword ptr [rdi+8*r10+0x10]
+       ; gcrRegs +[r10]
+       test     r10, r10
+       je       SHORT G_M8298_IG18
+                       ;; size=22 bbWeight=0.53 PerfScore 3.95
+G_M8298_IG16:        ; bbWeight=0.51, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       mov      rax, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
+       cmp      qword ptr [r13], rax
+       jne      G_M8298_IG38
+       cmp      qword ptr [r10], rax
+       jne      SHORT G_M8298_IG17
+       mov      rcx, qword ptr [r10+0x50]
+       cmp      rcx, qword ptr [r13+0x50]
+       je       G_M8298_IG27
+                       ;; size=39 bbWeight=0.51 PerfScore 7.30
+G_M8298_IG17:        ; bbWeight=0.53, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r10]
+       inc      edx
+       mov      dword ptr [rsp+0x3C], edx
+       cmp      edx, ebp
+       mov      edx, dword ptr [rsp+0x3C]
+       jl       SHORT G_M8298_IG15
+                       ;; size=14 bbWeight=0.53 PerfScore 1.86
+G_M8298_IG18:        ; bbWeight=1.91, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       test     r12d, r12d
+       jne      SHORT G_M8298_IG24
+       test     r14d, r14d
+       jne      SHORT G_M8298_IG20
+                       ;; size=10 bbWeight=1.91 PerfScore 4.77
+G_M8298_IG19:        ; bbWeight=0.79, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        mov      r14d, edx
-                        ;; size=7 bbWeight=0.79 PerfScore 0.98
-G_M8298_IG16:        ; bbWeight=1.91, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+                     ;; size=3 bbWeight=0.79 PerfScore 0.20
+G_M8298_IG20:        ; bbWeight=1.91, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        cmp      dword ptr [rdi+0x08], r14d
-       jle      G_M8298_IG25
+       jle      G_M8298_IG28
                      ;; size=10 bbWeight=1.91 PerfScore 7.64
-G_M8298_IG17:        ; bbWeight=1.91, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+G_M8298_IG21:        ; bbWeight=1.91, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
        cmp      r14d, dword ptr [rdi+0x08]
-       jae      G_M8298_IG39
+       jae      G_M8298_IG37
        mov      ecx, r14d
        cmp      gword ptr [rdi+8*rcx+0x10], 0
-       je       SHORT G_M8298_IG19
+       je       SHORT G_M8298_IG23
                       ;; size=21 bbWeight=1.91 PerfScore 15.75
-G_M8298_IG18:        ; bbWeight=7.64, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+G_M8298_IG22:        ; bbWeight=7.64, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
...
  
+21 (+8.68%) : 672119.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
@@ -16,9 +16,9 @@
 ;  V04 loc2         [V04,T02] (  9,  4.69)     int  ->  rbp        
 ;  V05 loc3         [V05,T04] (  5,  3.46)     int  ->  r14        
 ;* V06 loc4         [V06    ] (  0,  0   )     int  ->  zero-ref   
-;  V07 loc5         [V07,T05] (  3,  2.77)     int  ->   r8        
-;  V08 loc6         [V08,T10] (  2,  0.77)   ubyte  ->  rcx        
-;  V09 loc7         [V09,T07] (  3,  1.54)     int  ->  rdx        
+;  V07 loc5         [V07,T05] (  3,  2.77)     int  ->  rcx        
+;  V08 loc6         [V08,T10] (  2,  0.77)   ubyte  ->  r13        
+;  V09 loc7         [V09,T07] (  3,  1.54)     int  ->  r12        
 ;  V10 OutArgs      [V10    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V11 tmp1         [V11    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V12 tmp2         [V12    ] (  2,  1   )     int  ->  [rsp+0x20]  do-not-enreg[X] addr-exposed "field V03._count (fldOffset=0x0)" P-DEP
@@ -32,6 +32,8 @@
 G_M9744_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     r15
        push     r14
+       push     r13
+       push     r12
        push     rdi
        push     rsi
        push     rbp
@@ -41,7 +43,7 @@ G_M9744_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs +[rbx]
        mov      rsi, rdx
        ; byrRegs +[rsi]
-                      ;; size=18 bbWeight=1 PerfScore 6.75
+                      ;; size=22 bbWeight=1 PerfScore 8.75
 G_M9744_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
@@ -58,22 +60,22 @@ G_M9744_IG03:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi
        shl      rax, 4
        lea      r15, bword ptr [rdi+rax+0x10]
        ; byrRegs +[r15]
-       mov      r8d, dword ptr [r15+0x08]
+       mov      ecx, dword ptr [r15+0x08]
        lea      eax, [rbp+0x01]
-       sub      r8d, eax
+       sub      ecx, eax
        je       SHORT G_M9744_IG07
-                       ;; size=44 bbWeight=1 PerfScore 14.75
+                     ;; size=43 bbWeight=1 PerfScore 14.75
 G_M9744_IG04:        ; bbWeight=0.77, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi}, byref, isz
        ; byrRegs -[r15]
-       test     r8d, r8d
+       test     ecx, ecx
        jge      SHORT G_M9744_IG03
-       movzx    rcx, byte  ptr [rbx+0x1D]
-       mov      edx, dword ptr [rbx+0xA0]
-       mov      eax, edx
+       movzx    r13, byte  ptr [rbx+0x1D]
+       mov      r12d, dword ptr [rbx+0xA0]
+       mov      eax, r12d
        sub      eax, ebp
        test     eax, eax
        jg       SHORT G_M9744_IG11
-                       ;; size=23 bbWeight=0.77 PerfScore 5.38
+                       ;; size=25 bbWeight=0.77 PerfScore 5.38
 G_M9744_IG05:        ; bbWeight=0.77, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
        ; gcrRegs -[rdi]
        xor      rax, rax
@@ -88,10 +90,12 @@ G_M9744_IG06:        ; bbWeight=0.77, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
        pop      rbp
        pop      rsi
        pop      rdi
+       pop      r12
+       pop      r13
        pop      r14
        pop      r15
        ret      
-                     ;; size=13 bbWeight=0.77 PerfScore 3.27
+                       ;; size=17 bbWeight=0.77 PerfScore 4.04
 G_M9744_IG07:        ; bbWeight=0.23, gcVars=0000000000000000 {}, gcrefRegs=0088 {rbx rdi}, byrefRegs=8040 {rsi r15}, gcvars, byref, isz
        ; gcrRegs +[rdi]
        ; byrRegs +[rsi r15]
@@ -134,10 +138,12 @@ G_M9744_IG09:        ; bbWeight=0.23, epilog, nogc, extend
        pop      rbp
        pop      rsi
        pop      rdi
+       pop      r12
+       pop      r13
        pop      r14
        pop      r15
        ret      
-                     ;; size=13 bbWeight=0.23 PerfScore 0.98
+                       ;; size=17 bbWeight=0.23 PerfScore 1.21
 G_M9744_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
@@ -145,18 +151,18 @@ G_M9744_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {r
 G_M9744_IG11:        ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi}, byref, isz
        ; gcrRegs +[rdi]
        ; byrRegs +[rsi]
-       test     ecx, ecx
+       test     r13d, r13d
        je       SHORT G_M9744_IG12
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
        mov      ecx, dword ptr [rcx+0x08]
        ; gcrRegs -[rcx]
        add      ecx, ecx
-       sub      edx, ecx
-       sub      edx, ebp
-       test     edx, edx
-       jle      SHORT G_M9744_IG05
-                       ;; size=21 bbWeight=0 PerfScore 0.00
+       sub      r12d, ecx
+       sub      r12d, ebp
+       test     r12d, r12d
+       jle      G_M9744_IG05
+                       ;; size=29 bbWeight=0 PerfScore 0.00
 G_M9744_IG12:        ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi}, byref
        lea      rcx, [rsp+0x20]
        mov      edx, -1
@@ -165,7 +171,7 @@ G_M9744_IG12:        ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi
        jmp      G_M9744_IG03
                        ;; size=21 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 242, prolog size 18, PerfScore 43.37, instruction count 85, allocated bytes for code 242 (MethodHash=1626d9ef) for method System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
+; Total bytes of code 263, prolog size 22, PerfScore 46.37, instruction count 91, allocated bytes for code 263 (MethodHash=1626d9ef) for method System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -173,15 +179,17 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0C
-  CountOfUnwindCodes: 7
+  SizeOfProlog      : 0x10
+  CountOfUnwindCodes: 9
   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: 0x10 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
+    CodeOffset: 0x0C UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x0B UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
+    CodeOffset: 0x0A UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
+    CodeOffset: 0x09 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
+    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r12 (12)
+    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r13 (13)
     CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
     CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
  
+21 (+8.68%) : 671908.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
@@ -16,9 +16,9 @@
 ;  V04 loc2         [V04,T02] (  9,  4.56)     int  ->  rbp        
 ;  V05 loc3         [V05,T04] (  5,  3.37)     int  ->  r14        
 ;* V06 loc4         [V06    ] (  0,  0   )     int  ->  zero-ref   
-;  V07 loc5         [V07,T05] (  3,  2.81)     int  ->   r8        
-;  V08 loc6         [V08,T10] (  2,  0.81)   ubyte  ->  rcx        
-;  V09 loc7         [V09,T07] (  3,  1.63)     int  ->  rdx        
+;  V07 loc5         [V07,T05] (  3,  2.81)     int  ->  rcx        
+;  V08 loc6         [V08,T10] (  2,  0.81)   ubyte  ->  r13        
+;  V09 loc7         [V09,T07] (  3,  1.63)     int  ->  r12        
 ;  V10 OutArgs      [V10    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V11 tmp1         [V11    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V12 tmp2         [V12    ] (  2,  1   )     int  ->  [rsp+0x20]  do-not-enreg[X] addr-exposed "field V03._count (fldOffset=0x0)" P-DEP
@@ -32,6 +32,8 @@
 G_M9744_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     r15
        push     r14
+       push     r13
+       push     r12
        push     rdi
        push     rsi
        push     rbp
@@ -41,7 +43,7 @@ G_M9744_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs +[rbx]
        mov      rsi, rdx
        ; byrRegs +[rsi]
-                      ;; size=18 bbWeight=1 PerfScore 6.75
+                      ;; size=22 bbWeight=1 PerfScore 8.75
 G_M9744_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
@@ -58,22 +60,22 @@ G_M9744_IG03:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi
        shl      rax, 4
        lea      r15, bword ptr [rdi+rax+0x10]
        ; byrRegs +[r15]
-       mov      r8d, dword ptr [r15+0x08]
+       mov      ecx, dword ptr [r15+0x08]
        lea      eax, [rbp+0x01]
-       sub      r8d, eax
+       sub      ecx, eax
        je       SHORT G_M9744_IG07
-                       ;; size=44 bbWeight=1 PerfScore 14.75
+                     ;; size=43 bbWeight=1 PerfScore 14.75
 G_M9744_IG04:        ; bbWeight=0.81, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi}, byref, isz
        ; byrRegs -[r15]
-       test     r8d, r8d
+       test     ecx, ecx
        jge      SHORT G_M9744_IG03
-       movzx    rcx, byte  ptr [rbx+0x1D]
-       mov      edx, dword ptr [rbx+0xA0]
-       mov      eax, edx
+       movzx    r13, byte  ptr [rbx+0x1D]
+       mov      r12d, dword ptr [rbx+0xA0]
+       mov      eax, r12d
        sub      eax, ebp
        test     eax, eax
        jg       SHORT G_M9744_IG11
-                       ;; size=23 bbWeight=0.81 PerfScore 5.70
+                       ;; size=25 bbWeight=0.81 PerfScore 5.70
 G_M9744_IG05:        ; bbWeight=0.81, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
        ; gcrRegs -[rdi]
        xor      rax, rax
@@ -88,10 +90,12 @@ G_M9744_IG06:        ; bbWeight=0.81, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
        pop      rbp
        pop      rsi
        pop      rdi
+       pop      r12
+       pop      r13
        pop      r14
        pop      r15
        ret      
-                     ;; size=13 bbWeight=0.81 PerfScore 3.46
+                       ;; size=17 bbWeight=0.81 PerfScore 4.28
 G_M9744_IG07:        ; bbWeight=0.19, gcVars=0000000000000000 {}, gcrefRegs=0088 {rbx rdi}, byrefRegs=8040 {rsi r15}, gcvars, byref, isz
        ; gcrRegs +[rdi]
        ; byrRegs +[rsi r15]
@@ -134,10 +138,12 @@ G_M9744_IG09:        ; bbWeight=0.19, epilog, nogc, extend
        pop      rbp
        pop      rsi
        pop      rdi
+       pop      r12
+       pop      r13
        pop      r14
        pop      r15
        ret      
-                     ;; size=13 bbWeight=0.19 PerfScore 0.79
+                       ;; size=17 bbWeight=0.19 PerfScore 0.97
 G_M9744_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
@@ -145,18 +151,18 @@ G_M9744_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {r
 G_M9744_IG11:        ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi}, byref, isz
        ; gcrRegs +[rdi]
        ; byrRegs +[rsi]
-       test     ecx, ecx
+       test     r13d, r13d
        je       SHORT G_M9744_IG12
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
        mov      ecx, dword ptr [rcx+0x08]
        ; gcrRegs -[rcx]
        add      ecx, ecx
-       sub      edx, ecx
-       sub      edx, ebp
-       test     edx, edx
-       jle      SHORT G_M9744_IG05
-                       ;; size=21 bbWeight=0 PerfScore 0.00
+       sub      r12d, ecx
+       sub      r12d, ebp
+       test     r12d, r12d
+       jle      G_M9744_IG05
+                       ;; size=29 bbWeight=0 PerfScore 0.00
 G_M9744_IG12:        ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi}, byref
        lea      rcx, [rsp+0x20]
        mov      edx, -1
@@ -165,7 +171,7 @@ G_M9744_IG12:        ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rsi
        jmp      G_M9744_IG03
                        ;; size=21 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 242, prolog size 18, PerfScore 42.16, instruction count 85, allocated bytes for code 242 (MethodHash=1626d9ef) for method System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
+; Total bytes of code 263, prolog size 22, PerfScore 45.16, instruction count 91, allocated bytes for code 263 (MethodHash=1626d9ef) for method System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -173,15 +179,17 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0C
-  CountOfUnwindCodes: 7
+  SizeOfProlog      : 0x10
+  CountOfUnwindCodes: 9
   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: 0x10 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
+    CodeOffset: 0x0C UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x0B UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
+    CodeOffset: 0x0A UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
+    CodeOffset: 0x09 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
+    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r12 (12)
+    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r13 (13)
     CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
     CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
  
+19 (+9.60%) : 194454.dasm - System.Collections.Generic.HashSet1[int]:IsSubsetOfHashSetWithSameComparer(System.Collections.Generic.HashSet1[int]):ubyte:this (Tier1-OSR)
@@ -12,11 +12,11 @@
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <System.Collections.Generic.HashSet`1[int]>
 ;  V01 arg1         [V01,T05] (  4,201.87)     ref  ->  rbx         class-hnd single-def <System.Collections.Generic.HashSet`1[int]>
-;  V02 loc0         [V02,T09] (  4,  4   )  struct (24) [rsp+0x90]  do-not-enreg[SF] ld-addr-op tier0-frame <System.Collections.Generic.HashSet`1+Enumerator[int]>
+;  V02 loc0         [V02,T10] (  4,  4   )  struct (24) [rsp+0xA0]  do-not-enreg[SF] ld-addr-op tier0-frame <System.Collections.Generic.HashSet`1+Enumerator[int]>
 ;* V03 loc1         [V03    ] (  0,  0   )     int  ->  zero-ref   
-;* V04 loc2         [V04,T11] (  0,  0   )   ubyte  ->  zero-ref   
+;* V04 loc2         [V04,T12] (  0,  0   )   ubyte  ->  zero-ref   
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V06 tmp1         [V06,T10] (  0,  0   )     int  ->  zero-ref    "OSR entry state var"
+;* V06 tmp1         [V06,T11] (  0,  0   )     int  ->  zero-ref    "OSR entry state var"
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.HashSet`1+Enumerator[int]>
 ;  V08 tmp3         [V08,T06] (  3,200   )   ubyte  ->  rax         "Inline return value spill temp"
 ;  V09 tmp4         [V09,T01] (  4,400   )     int  ->  rbp         "Inline stloc first use temp"
@@ -26,27 +26,29 @@
 ;* V13 tmp8         [V13    ] (  0,  0   )     int  ->  zero-ref    "field V07._version (fldOffset=0x8)" P-INDEP
 ;* V14 tmp9         [V14    ] (  0,  0   )     int  ->  zero-ref    "field V07._index (fldOffset=0xc)" P-INDEP
 ;* V15 tmp10        [V15    ] (  0,  0   )     int  ->  zero-ref    "field V07._current (fldOffset=0x10)" P-INDEP
-;  V16 tmp11        [V16,T02] (  5,301   )     ref  ->  rsi         single-def "V02.[000..008)"
-;  V17 tmp12        [V17,T08] (  2,101   )     int  ->  rdi         "V02.[008..012)"
-;  V18 tmp13        [V18,T03] (  5,301   )     int  ->  registers   "V02.[012..016)"
-;  V19 tmp14        [V19,T07] (  3,199.94)     int  ->  rdx         "V02.[016..020)"
+;  V16 tmp11        [V16,T03] (  4,301   )     ref  ->  rsi         single-def "V02.[000..008)"
+;  V17 tmp12        [V17,T09] (  2,101   )     int  ->  rdi         "V02.[008..012)"
+;  V18 tmp13        [V18,T02] (  5,301   )     int  ->  registers   "V02.[012..016)"
+;  V19 tmp14        [V19,T08] (  3,199.94)     int  ->  rdx         "V02.[016..020)"
+;  V20 cse0         [V20,T07] (  3,200   )     int  ->  r14         hoist "CSE - aggressive"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 40
 
 G_M12432_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-       sub      rsp, 72
-       mov      qword ptr [rsp+0xD8], r14
-       mov      qword ptr [rsp+0xD0], rdi
-       mov      qword ptr [rsp+0xC8], rsi
-       mov      qword ptr [rsp+0xC0], rbx
-       mov      rbx, gword ptr [rsp+0xF8]
+       sub      rsp, 88
+       mov      qword ptr [rsp+0xE8], r15
+       mov      qword ptr [rsp+0xE0], r14
+       mov      qword ptr [rsp+0xD8], rdi
+       mov      qword ptr [rsp+0xD0], rsi
+       mov      qword ptr [rsp+0xC8], rbx
+       mov      rbx, gword ptr [rsp+0x108]
        ; gcrRegs +[rbx]
-                        ;; size=44 bbWeight=1 PerfScore 6.25
+                      ;; size=52 bbWeight=1 PerfScore 7.25
 G_M12432_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      rsi, gword ptr [rsp+0x90]
+       mov      rsi, gword ptr [rsp+0xA0]
        ; gcrRegs +[rsi]
-       mov      edi, dword ptr [rsp+0x98]
-       mov      ebp, dword ptr [rsp+0x9C]
+       mov      edi, dword ptr [rsp+0xA8]
+       mov      ebp, dword ptr [rsp+0xAC]
        jmp      SHORT G_M12432_IG04
                        ;; size=24 bbWeight=1 PerfScore 5.00
 G_M12432_IG03:        ; bbWeight=99.94, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
@@ -57,81 +59,91 @@ G_M12432_IG03:        ; bbWeight=99.94, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
-       jl       SHORT G_M12432_IG10
+       jl       SHORT G_M12432_IG12
                      ;; size=15 bbWeight=99.94 PerfScore 749.52
 G_M12432_IG04:        ; bbWeight=100, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        cmp      edi, dword ptr [rsi+0x34]
-       jne      SHORT G_M12432_IG09
-                       ;; size=5 bbWeight=100 PerfScore 400.00
+       jne      SHORT G_M12432_IG11
+       mov      r14d, dword ptr [rsi+0x28]
+       jmp      SHORT G_M12432_IG06
+                       ;; size=11 bbWeight=100 PerfScore 800.00
 G_M12432_IG05:        ; bbWeight=100, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       cmp      ebp, dword ptr [rsi+0x28]
-       jae      SHORT G_M12432_IG13
        mov      rcx, gword ptr [rsi+0x10]
        ; gcrRegs +[rcx]
        lea      edx, [rbp+0x01]
-       mov      r14d, edx
+       mov      r15d, edx
        cmp      ebp, dword ptr [rcx+0x08]
-       jae      SHORT G_M12432_IG12
+       jae      SHORT G_M12432_IG14
        mov      edx, ebp
        lea      rdx, [rdx+2*rdx]
        lea      rcx, bword ptr [rcx+4*rdx+0x10]
        ; gcrRegs -[rcx]
        ; byrRegs +[rcx]
        cmp      dword ptr [rcx+0x04], -1
-       mov      ebp, r14d
-       jl       SHORT G_M12432_IG05
+       mov      ebp, r15d
+       jge      SHORT G_M12432_IG07
+                       ;; size=35 bbWeight=100 PerfScore 1275.00
+G_M12432_IG06:        ; bbWeight=100, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+       ; byrRegs -[rcx]
+       cmp      ebp, r14d
+       jae      SHORT G_M12432_IG15
+       jmp      SHORT G_M12432_IG05
+                       ;; size=7 bbWeight=100 PerfScore 325.00
+G_M12432_IG07:        ; bbWeight=100, gcrefRegs=0048 {rbx rsi}, byrefRegs=0002 {rcx}, byref
+       ; byrRegs +[rcx]
        mov      edx, dword ptr [rcx+0x08]
        mov      eax, 1
-                       ;; size=48 bbWeight=100 PerfScore 1900.00
-G_M12432_IG06:        ; bbWeight=100.00, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+                     ;; size=8 bbWeight=100 PerfScore 225.00
+G_M12432_IG08:        ; bbWeight=100.00, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        ; byrRegs -[rcx]
        test     eax, eax
        jne      SHORT G_M12432_IG03
                        ;; size=4 bbWeight=100.00 PerfScore 125.00
-G_M12432_IG07:        ; bbWeight=0.06, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M12432_IG09:        ; bbWeight=0.06, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx rsi]
        mov      eax, 1
                        ;; size=5 bbWeight=0.06 PerfScore 0.01
-G_M12432_IG08:        ; bbWeight=0.06, epilog, nogc, extend
-       add      rsp, 192
+G_M12432_IG10:        ; bbWeight=0.06, epilog, nogc, extend
+       add      rsp, 200
        pop      rbx
        pop      rsi
        pop      rdi
        pop      r14
+       pop      r15
        pop      rbp
        ret      
-                     ;; size=14 bbWeight=0.06 PerfScore 0.21
-G_M12432_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                      ;; size=16 bbWeight=0.06 PerfScore 0.24
+G_M12432_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        call     [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M12432_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M12432_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        xor      eax, eax
                        ;; size=2 bbWeight=0 PerfScore 0.00
-G_M12432_IG11:        ; bbWeight=0, epilog, nogc, extend
-       add      rsp, 192
+G_M12432_IG13:        ; bbWeight=0, epilog, nogc, extend
+       add      rsp, 200
        pop      rbx
        pop      rsi
        pop      rdi
        pop      r14
+       pop      r15
        pop      rbp
        ret      
-                     ;; size=14 bbWeight=0 PerfScore 0.00
-G_M12432_IG12:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                      ;; size=16 bbWeight=0 PerfScore 0.00
+G_M12432_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M12432_IG13:        ; bbWeight=0, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+G_M12432_IG15:        ; bbWeight=0, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx rsi]
-       mov      ebp, dword ptr [rsi+0x28]
-       inc      ebp
+       lea      ebp, [r14+0x01]
        xor      edx, edx
        xor      eax, eax
-       jmp      SHORT G_M12432_IG06
-                       ;; size=11 bbWeight=0 PerfScore 0.00
+       jmp      SHORT G_M12432_IG08
+                       ;; size=10 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 198, prolog size 44, PerfScore 3186.00, instruction count 58, allocated bytes for code 198 (MethodHash=70e5cf6f) for method System.Collections.Generic.HashSet`1[int]:IsSubsetOfHashSetWithSameComparer(System.Collections.Generic.HashSet`1[int]):ubyte:this (Tier1-OSR)
+; Total bytes of code 217, prolog size 52, PerfScore 3512.03, instruction count 63, allocated bytes for code 217 (MethodHash=70e5cf6f) for method System.Collections.Generic.HashSet`1[int]:IsSubsetOfHashSetWithSameComparer(System.Collections.Generic.HashSet`1[int]):ubyte:this (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -139,20 +151,22 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x24
-  CountOfUnwindCodes: 12
+  SizeOfProlog      : 0x2C
+  CountOfUnwindCodes: 14
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x24 UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: rbx (3)
-      Scaled Small Offset: 24 * 8 = 192 = 0x000C0
-    CodeOffset: 0x1C UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: rsi (6)
+    CodeOffset: 0x2C UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: rbx (3)
       Scaled Small Offset: 25 * 8 = 200 = 0x000C8
-    CodeOffset: 0x14 UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: rdi (7)
+    CodeOffset: 0x24 UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: rsi (6)
       Scaled Small Offset: 26 * 8 = 208 = 0x000D0
-    CodeOffset: 0x0C UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: r14 (14)
+    CodeOffset: 0x1C UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: rdi (7)
       Scaled Small Offset: 27 * 8 = 216 = 0x000D8
-    CodeOffset: 0x04 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 8 * 8 + 8 = 72 = 0x48
+    CodeOffset: 0x14 UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: r14 (14)
+      Scaled Small Offset: 28 * 8 = 224 = 0x000E0
+    CodeOffset: 0x0C UnwindOp: UWOP_SAVE_NONVOL (4)     OpInfo: r15 (15)
+      Scaled Small Offset: 29 * 8 = 232 = 0x000E8
+    CodeOffset: 0x04 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 10 * 8 + 8 = 88 = 0x58
     CodeOffset: 0x00 UnwindOp: UWOP_ALLOC_LARGE (1)     OpInfo: 0 - Scaled small  
       Size: 19 * 8 = 152 = 0x00098
     CodeOffset: 0x00 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
  
  
librariestestsnotieredcompilation.run.windows.x64.Release.mch
-5 (-4.10%) : 40413.dasm - System.Runtime.Serialization.ObjectHolderListEnumerator:MoveNext():ubyte:this (FullOpts)
@@ -9,21 +9,21 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T02] (  9, 16.50)     ref  ->  rcx         this class-hnd single-def <System.Runtime.Serialization.ObjectHolderListEnumerator>
-;  V01 loc0         [V01,T07] (  3, 12   )     int  ->  rdx        
+;  V01 loc0         [V01,T07] (  3, 12   )     int  ->  rax        
 ;  V02 OutArgs      [V02    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V04 tmp2         [V04    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V05 tmp3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Runtime.Serialization.ObjectHolderList>
 ;* V06 tmp4         [V06,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V07 tmp5         [V07,T04] (  2, 16   )     ref  ->  rdx         class-hnd exact "Inlining Arg" <System.Runtime.Serialization.ObjectHolder>
+;  V07 tmp5         [V07,T04] (  2, 16   )     ref  ->  rax         class-hnd exact "Inlining Arg" <System.Runtime.Serialization.ObjectHolder>
 ;* V08 tmp6         [V08,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V09 tmp7         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Runtime.Serialization.ObjectHolderList>
 ;* V10 tmp8         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Runtime.Serialization.ObjectHolderList>
-;  V11 tmp9         [V11,T00] (  3, 24   )     ref  ->  rdx         "arr expr"
+;  V11 tmp9         [V11,T00] (  3, 24   )     ref  ->  rax         "arr expr"
 ;  V12 tmp10        [V12,T01] (  3, 24   )     int  ->  r10         "index expr"
-;  V13 cse0         [V13,T06] (  4, 16   )     int  ->  rax         "CSE - aggressive"
+;  V13 cse0         [V13,T06] (  4, 16   )     int  ->  rdx         "CSE - aggressive"
 ;  V14 cse1         [V14,T10] (  3,  1.50)     int  ->  rax         "CSE - moderate"
-;  V15 cse2         [V15,T03] (  5, 16   )     int  ->  rdx         "CSE - aggressive"
+;  V15 cse2         [V15,T03] (  5, 16   )     int  ->  rax         "CSE - aggressive"
 ;  V16 cse3         [V16,T05] (  6, 17   )     ref  ->   r8         multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 40
@@ -37,43 +37,43 @@ G_M24724_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
        je       SHORT G_M24724_IG09
                        ;; size=6 bbWeight=1 PerfScore 4.00
 G_M24724_IG03:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
-       mov      eax, dword ptr [rcx+0x14]
-       inc      eax
-       mov      edx, eax
-       mov      dword ptr [rcx+0x14], edx
+       mov      edx, dword ptr [rcx+0x14]
+       inc      edx
+       mov      eax, edx
+       mov      dword ptr [rcx+0x14], eax
        mov      r8, gword ptr [rcx+0x08]
        ; gcrRegs +[r8]
-       cmp      edx, dword ptr [r8+0x10]
+       cmp      eax, dword ptr [r8+0x10]
        jge      SHORT G_M24724_IG07
-       mov      rdx, gword ptr [r8+0x08]
-       ; gcrRegs +[rdx]
-       mov      r10d, eax
-       cmp      r10d, dword ptr [rdx+0x08]
+       mov      rax, gword ptr [r8+0x08]
+       ; gcrRegs +[rax]
+       mov      r10d, edx
+       cmp      r10d, dword ptr [rax+0x08]
        jae      SHORT G_M24724_IG11
-       mov      rdx, gword ptr [rdx+8*r10+0x10]
-       mov      edx, dword ptr [rdx+0x58]
-       ; gcrRegs -[rdx]
-       test     dl, 4
+       mov      rax, gword ptr [rax+8*r10+0x10]
+       mov      eax, dword ptr [rax+0x58]
+       ; gcrRegs -[rax]
+       test     al, 4
        jne      SHORT G_M24724_IG05
-                     ;; size=46 bbWeight=4 PerfScore 84.00
+                     ;; size=45 bbWeight=4 PerfScore 84.00
 G_M24724_IG04:        ; bbWeight=2, gcrefRegs=0102 {rcx r8}, byrefRegs=0000 {}, byref, isz
-       test     dl, 2
+       test     al, 2
        je       SHORT G_M24724_IG06
-                      ;; size=5 bbWeight=2 PerfScore 2.50
+                       ;; size=4 bbWeight=2 PerfScore 2.50
 G_M24724_IG05:        ; bbWeight=2, gcrefRegs=0102 {rcx r8}, byrefRegs=0000 {}, byref, isz
-       test     edx, 0x4000
+       test     eax, 0x4000
        je       SHORT G_M24724_IG07
-                        ;; size=8 bbWeight=2 PerfScore 2.50
+                       ;; size=7 bbWeight=2 PerfScore 2.50
 G_M24724_IG06:        ; bbWeight=4, gcrefRegs=0102 {rcx r8}, byrefRegs=0000 {}, byref, isz
-       test     dl, 1
+       test     al, 1
        je       SHORT G_M24724_IG03
-                        ;; size=5 bbWeight=4 PerfScore 5.00
+                       ;; size=4 bbWeight=4 PerfScore 5.00
 G_M24724_IG07:        ; bbWeight=4, gcrefRegs=0100 {r8}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
-       cmp      eax, dword ptr [r8+0x10]
+       xor      eax, eax
+       cmp      edx, dword ptr [r8+0x10]
        setne    al
-       movzx    rax, al
-                       ;; size=10 bbWeight=4 PerfScore 17.00
+                     ;; size=9 bbWeight=4 PerfScore 17.00
 G_M24724_IG08:        ; bbWeight=4, epilog, nogc, extend
        add      rsp, 40
        ret      
@@ -100,7 +100,7 @@ G_M24724_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 122, prolog size 4, PerfScore 125.62, instruction count 40, allocated bytes for code 122 (MethodHash=ab819f6b) for method System.Runtime.Serialization.ObjectHolderListEnumerator:MoveNext():ubyte:this (FullOpts)
+; Total bytes of code 117, prolog size 4, PerfScore 125.62, instruction count 40, allocated bytes for code 117 (MethodHash=ab819f6b) for method System.Runtime.Serialization.ObjectHolderListEnumerator:MoveNext():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
-14 (-3.98%) : 159778.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
@@ -12,15 +12,15 @@
 ;  V01 arg1         [V01,T02] ( 12, 11   )     ref  ->  rdx         class-hnd single-def <ubyte[]>
 ;  V02 arg2         [V02,T03] (  3,  6   )   byref  ->   r8         ld-addr-op single-def
 ;  V03 arg3         [V03,T06] (  3,  3   )   ubyte  ->   r9         single-def
-;  V04 arg4         [V04,T15] (  1,  1   )   ubyte  ->  [rsp+0x60]  single-def
-;  V05 arg5         [V05,T16] (  1,  1   )   ubyte  ->  [rsp+0x68]  single-def
-;  V06 loc0         [V06,T09] (  6,  3.50)     int  ->  rbx        
+;  V04 arg4         [V04,T15] (  1,  1   )   ubyte  ->  [rsp+0x70]  single-def
+;  V05 arg5         [V05,T16] (  1,  1   )   ubyte  ->  [rsp+0x78]  single-def
+;  V06 loc0         [V06,T09] (  6,  3.50)     int  ->  rdi        
 ;  V07 loc1         [V07,T01] (  9, 16.50)     int  ->  rax        
-;  V08 loc2         [V08,T00] ( 10, 16.54)     int  ->  r10        
+;  V08 loc2         [V08,T00] ( 10, 16.54)     int  ->  rcx        
 ;  V09 OutArgs      [V09    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 tmp1         [V10,T11] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
-;  V11 tmp2         [V11,T12] (  3,  3   )   byref  ->  r10         single-def "dup spill"
-;  V12 tmp3         [V12,T13] (  3,  3   )   byref  ->   r9         single-def "dup spill"
+;  V10 tmp1         [V10,T11] (  3,  3   )   byref  ->  rsi         single-def "dup spill"
+;  V11 tmp2         [V11,T12] (  3,  3   )   byref  ->   r8         single-def "dup spill"
+;  V12 tmp3         [V12,T13] (  3,  3   )   byref  ->  r10         single-def "dup spill"
 ;* V13 tmp4         [V13    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V14 tmp5         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V15 tmp6         [V15    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V02._reference (fldOffset=0x0)" P-INDEP
@@ -31,138 +31,137 @@
 ;* V20 tmp11        [V20,T17] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
 ;* V21 tmp12        [V21    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref" <System.ReadOnlySpan`1[ubyte]>
 ;  V22 tmp13        [V22    ] (  3,  3   )  struct (16) [rsp+0x20]  do-not-enreg[XSF] must-init addr-exposed "by-value struct argument" <System.Span`1[ubyte]>
-;  V23 cse0         [V23,T10] (  4,  3   )   byref  ->  r10         "CSE - aggressive"
-;  V24 cse1         [V24,T08] (  7,  3.50)   byref  ->  rcx         multi-def "CSE - aggressive"
-;  V25 cse2         [V25,T04] ( 10,  5.54)     int  ->   r8         "CSE - aggressive"
+;  V23 cse0         [V23,T10] (  4,  3   )   byref  ->   r8         "CSE - aggressive"
+;  V24 cse1         [V24,T08] (  7,  3.50)   byref  ->  rsi         multi-def "CSE - aggressive"
+;  V25 cse2         [V25,T04] ( 10,  5.54)     int  ->  rbx         "CSE - aggressive"
 ;
 ; Lcl frame size = 48
 
 G_M44724_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+       push     rdi
+       push     rsi
        push     rbx
        sub      rsp, 48
        xor      eax, eax
        mov      qword ptr [rsp+0x20], rax
-                        ;; size=12 bbWeight=1 PerfScore 2.50
+                      ;; size=14 bbWeight=1 PerfScore 4.50
 G_M44724_IG02:        ; bbWeight=1, gcrefRegs=0004 {rdx}, byrefRegs=0100 {r8}, byref, isz
        ; gcrRegs +[rdx]
        ; byrRegs +[r8]
        mov      eax, dword ptr [r8+0x08]
-       mov      r8d, dword ptr [rdx+0x08]
-       ; byrRegs -[r8]
-       test     r8d, r8d
+       mov      ebx, dword ptr [rdx+0x08]
+       test     ebx, ebx
        je       G_M44724_IG18
-       lea      r10, bword ptr [rdx+0x10]
-       ; byrRegs +[r10]
-       mov      byte  ptr [r10], cl
+       lea      r8, bword ptr [rdx+0x10]
+       mov      byte  ptr [r8], cl
        test     r9b, r9b
        je       SHORT G_M44724_IG04
-                      ;; size=29 bbWeight=1 PerfScore 8.00
-G_M44724_IG03:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0400 {r10}, byref
-       mov      r9, r10
-       ; byrRegs +[r9]
-       or       byte  ptr [r9], 128
+                      ;; size=27 bbWeight=1 PerfScore 8.00
+G_M44724_IG03:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0100 {r8}, byref
+       mov      r10, r8
+       ; byrRegs +[r10]
+       or       byte  ptr [r10], 128
                        ;; size=7 bbWeight=0.50 PerfScore 1.62
-G_M44724_IG04:        ; bbWeight=1, gcrefRegs=0004 {rdx}, byrefRegs=0400 {r10}, byref, isz
-       ; byrRegs -[r9]
-       cmp      byte  ptr [rsp+0x68], 0
+G_M44724_IG04:        ; bbWeight=1, gcrefRegs=0004 {rdx}, byrefRegs=0100 {r8}, byref, isz
+       ; byrRegs -[r10]
+       cmp      byte  ptr [rsp+0x78], 0
        je       SHORT G_M44724_IG06
                        ;; size=7 bbWeight=1 PerfScore 3.00
-G_M44724_IG05:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0400 {r10}, byref, isz
+G_M44724_IG05:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0100 {r8}, byref, isz
        test     cl, cl
        je       SHORT G_M44724_IG06
-       or       byte  ptr [r10], 64
+       or       byte  ptr [r8], 64
                        ;; size=8 bbWeight=0.50 PerfScore 2.12
 G_M44724_IG06:        ; bbWeight=1, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, isz
-       ; byrRegs -[r10]
+       ; byrRegs -[r8]
        cmp      eax, 125
        jg       SHORT G_M44724_IG08
                        ;; size=5 bbWeight=1 PerfScore 1.25
 G_M44724_IG07:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref
-       cmp      r8d, 1
+       cmp      ebx, 1
        jbe      G_M44724_IG18
-       lea      rcx, bword ptr [rdx+0x11]
-       ; byrRegs +[rcx]
-       mov      byte  ptr [rcx], al
-       mov      ebx, 2
+       lea      rsi, bword ptr [rdx+0x11]
+       ; byrRegs +[rsi]
+       mov      byte  ptr [rsi], al
+       mov      edi, 2
        jmp      G_M44724_IG14
-                      ;; size=26 bbWeight=0.50 PerfScore 2.50
+                       ;; size=25 bbWeight=0.50 PerfScore 2.50
 G_M44724_IG08:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, isz
-       ; byrRegs -[rcx]
+       ; byrRegs -[rsi]
        cmp      eax, 0xFFFF
        jg       SHORT G_M44724_IG09
-       cmp      r8d, 1
+       cmp      ebx, 1
        jbe      G_M44724_IG18
-       lea      rcx, bword ptr [rdx+0x11]
-       ; byrRegs +[rcx]
-       mov      byte  ptr [rcx], 126
-       cmp      r8d, 2
+       lea      rsi, bword ptr [rdx+0x11]
+       ; byrRegs +[rsi]
+       mov      byte  ptr [rsi], 126
+       cmp      ebx, 2
        jbe      G_M44724_IG18
-       mov      r10d, eax
-       shr      r10d, 8
-       mov      byte  ptr [rdx+0x12], r10b
-       cmp      r8d, 3
+       mov      ecx, eax
+       shr      ecx, 8
+       mov      byte  ptr [rdx+0x12], cl
+       cmp      ebx, 3
        jbe      G_M44724_IG18
        mov      byte  ptr [rdx+0x13], al
-       mov      ebx, 4
+       mov      edi, 4
        jmp      SHORT G_M44724_IG14
-                      ;; size=65 bbWeight=0.50 PerfScore 5.75
+                       ;; size=59 bbWeight=0.50 PerfScore 5.75
 G_M44724_IG09:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, isz
-       ; byrRegs -[rcx]
-       cmp      r8d, 1
+       ; byrRegs -[rsi]
+       cmp      ebx, 1
        jbe      G_M44724_IG18
-       lea      rcx, bword ptr [rdx+0x11]
-       ; byrRegs +[rcx]
-       mov      byte  ptr [rcx], 127
-       mov      r10d, 9
-       cmp      r8d, 9
+       lea      rsi, bword ptr [rdx+0x11]
+       ; byrRegs +[rsi]
+       mov      byte  ptr [rsi], 127
+       mov      ecx, 9
+       cmp      ebx, 9
        jle      SHORT G_M44724_IG12
-                        ;; size=29 bbWeight=0.50 PerfScore 2.12
-G_M44724_IG10:        ; bbWeight=3.96, gcrefRegs=0004 {rdx}, byrefRegs=0002 {rcx}, byref, isz
-       mov      r9d, r10d
-       mov      byte  ptr [rdx+r9+0x10], al
-       mov      r9d, eax
-       sar      r9d, 31
-       and      r9d, 255
-       add      eax, r9d
+                     ;; size=26 bbWeight=0.50 PerfScore 2.12
+G_M44724_IG10:        ; bbWeight=3.96, gcrefRegs=0004 {rdx}, byrefRegs=0040 {rsi}, byref, isz
+       mov      r8d, ecx
+       mov      byte  ptr [rdx+r8+0x10], al
+       mov      r8d, eax
+       sar      r8d, 31
+       and      r8d, 255
+       add      eax, r8d
        sar      eax, 8
-       dec      r10d
-       cmp      r10d, 2
+       dec      ecx
+       cmp      ecx, 2
        jge      SHORT G_M44724_IG10
-                        ;; size=37 bbWeight=3.96 PerfScore 17.82
-G_M44724_IG11:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0002 {rcx}, byref, isz
+                        ;; size=35 bbWeight=3.96 PerfScore 17.82
+G_M44724_IG11:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0040 {rsi}, byref, isz
        jmp      SHORT G_M44724_IG13
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M44724_IG12:        ; bbWeight=0.04, gcrefRegs=0004 {rdx}, byrefRegs=0002 {rcx}, byref, isz
-       cmp      r10d, r8d
+G_M44724_IG12:        ; bbWeight=0.04, gcrefRegs=0004 {rdx}, byrefRegs=0040 {rsi}, byref, isz
+       cmp      ecx, ebx
        jae      SHORT G_M44724_IG18
-       mov      r9d, r10d
-       mov      byte  ptr [rdx+r9+0x10], al
-       mov      r9d, eax
-       sar      r9d, 31
-       and      r9d, 255
-       add      r9d, eax
-       mov      eax, r9d
+       mov      r8d, ecx
+       mov      byte  ptr [rdx+r8+0x10], al
+       mov      r8d, eax
+       sar      r8d, 31
+       and      r8d, 255
+       add      r8d, eax
+       mov      eax, r8d
        sar      eax, 8
-       dec      r10d
-       cmp      r10d, 2
+       dec      ecx
+       cmp      ecx, 2
        jge      SHORT G_M44724_IG12
-                        ;; size=45 bbWeight=0.04 PerfScore 0.24
-G_M44724_IG13:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0002 {rcx}, byref
-       mov      ebx, 10
+                      ;; size=42 bbWeight=0.04 PerfScore 0.24
+G_M44724_IG13:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0040 {rsi}, byref
+       mov      edi, 10
                         ;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M44724_IG14:        ; bbWeight=1, gcrefRegs=0004 {rdx}, byrefRegs=0002 {rcx}, byref, isz
-       cmp      byte  ptr [rsp+0x60], 0
+G_M44724_IG14:        ; bbWeight=1, gcrefRegs=0004 {rdx}, byrefRegs=0040 {rsi}, byref, isz
+       cmp      byte  ptr [rsp+0x70], 0
        je       SHORT G_M44724_IG16
                        ;; size=7 bbWeight=1 PerfScore 3.00
-G_M44724_IG15:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0002 {rcx}, byref, isz
-       or       byte  ptr [rcx], 128
-       mov      ecx, r8d
-       ; byrRegs -[rcx]
-       mov      eax, ebx
+G_M44724_IG15:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0040 {rsi}, byref, isz
+       or       byte  ptr [rsi], 128
+       mov      ecx, ebx
+       mov      eax, edi
        add      rax, 4
        cmp      rcx, rax
        jb       SHORT G_M44724_IG19
-       mov      ecx, ebx
+       mov      ecx, edi
        lea      rcx, bword ptr [rdx+rcx+0x10]
        ; byrRegs +[rcx]
        mov      bword ptr [rsp+0x20], rcx
@@ -171,16 +170,19 @@ G_M44724_IG15:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0002 {rcx
        ; byrRegs -[rcx]
        call     [System.Security.Cryptography.RandomNumberGeneratorImplementation:FillSpan(System.Span`1[ubyte])]
        ; gcrRegs -[rdx]
+       ; byrRegs -[rsi]
        ; gcr arg pop 0
-                       ;; size=48 bbWeight=0.50 PerfScore 5.88
+                       ;; size=47 bbWeight=0.50 PerfScore 5.88
 G_M44724_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
...
  
-13 (-3.95%) : 150634.dasm - System.SpanTests.SpanTests:StartsWithNoMatch_Byte() (FullOpts)
@@ -16,10 +16,10 @@
 ;* V05 loc5         [V05    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[ubyte]>
 ;* V06 loc6         [V06    ] (  0,  0   )   ubyte  ->  zero-ref   
 ;  V07 loc7         [V07,T00] ( 12,273.92)     int  ->  rcx        
-;  V08 loc8         [V08,T02] (  6,192   )   ubyte  ->  r10        
+;  V08 loc8         [V08,T02] (  6,192   )   ubyte  ->   r8        
 ;  V09 OutArgs      [V09    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 tmp1         [V10,T01] (  4,256   )     int  ->  r10         "dup spill"
-;  V11 tmp2         [V11,T10] (  2, 64.00)     int  ->   r8         "Strict ordering of exceptions for Array store"
+;  V10 tmp1         [V10,T01] (  4,256   )     int  ->   r8         "dup spill"
+;  V11 tmp2         [V11,T10] (  2, 64.00)     int  ->  rdx         "Strict ordering of exceptions for Array store"
 ;  V12 tmp3         [V12,T18] (  4, 32   )   ubyte  ->  rdi         "Inline return value spill temp"
 ;* V13 tmp4         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V14 tmp5         [V14    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
@@ -36,9 +36,9 @@
 ;* V25 tmp16        [V25    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]>
 ;* V26 tmp17        [V26    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Nullable`1[ubyte]>
 ;  V27 tmp18        [V27,T20] (  3, 23.99)   byref  ->  rcx         "field V04._reference (fldOffset=0x0)" P-INDEP
-;  V28 tmp19        [V28,T19] (  2, 32.00)     int  ->   r8         "field V04._length (fldOffset=0x8)" P-INDEP
+;  V28 tmp19        [V28,T19] (  2, 32.00)     int  ->  rdx         "field V04._length (fldOffset=0x8)" P-INDEP
 ;  V29 tmp20        [V29,T21] (  3, 23.99)   byref  ->  rax         "field V05._reference (fldOffset=0x0)" P-INDEP
-;  V30 tmp21        [V30,T15] (  3, 39.99)     int  ->  rdx         "field V05._length (fldOffset=0x8)" P-INDEP
+;  V30 tmp21        [V30,T15] (  3, 39.99)     int  ->  rdi         "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V31 tmp22        [V31    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V32 tmp23        [V32    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
 ;* V33 tmp24        [V33    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
@@ -56,10 +56,10 @@
 ;* V45 tmp36        [V45    ] (  0,  0   )   ubyte  ->  zero-ref    "field V26.hasValue (fldOffset=0x0)" P-INDEP
 ;* V46 tmp37        [V46    ] (  0,  0   )   ubyte  ->  zero-ref    "field V26.value (fldOffset=0x1)" P-INDEP
 ;  V47 tmp38        [V47,T26] (  3,  0   )  struct ( 8) [rsp+0x28]  do-not-enreg[SF] "by-value struct argument" <System.Nullable`1[ubyte]>
-;  V48 cse0         [V48,T03] (  3,190.08)     int  ->   r8         "CSE - aggressive"
-;  V49 cse1         [V49,T09] (  5, 64.64)     int  ->  rdx         "CSE - aggressive"
+;  V48 cse0         [V48,T03] (  3,190.08)     int  ->  rdx         "CSE - aggressive"
+;  V49 cse1         [V49,T09] (  5, 64.64)     int  ->  rdi         "CSE - aggressive"
 ;  V50 cse2         [V50,T11] (  3, 48   )    long  ->  rbp         "CSE - aggressive"
-;  V51 cse3         [V51,T25] (  3,  1.92)     int  ->   r8         "CSE - moderate"
+;  V51 cse3         [V51,T25] (  3,  1.92)     int  ->  rdx         "CSE - moderate"
 ;  V52 cse4         [V52,T04] (  3,190.08)    long  ->  rcx         "CSE - aggressive"
 ;  V53 cse5         [V53,T12] (  3, 48.00)    long  ->  rcx         "CSE - aggressive"
 ;  V54 cse6         [V54,T13] (  3, 48   )    long  ->  rdi         "CSE - aggressive"
@@ -99,8 +99,8 @@ G_M60242_IG04:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_NEWARR_1_VC
        ; gcr arg pop 0
        xor      ecx, ecx
-       mov      edx, dword ptr [rax+0x08]
-       cmp      edx, ebx
+       mov      edi, dword ptr [rax+0x08]
+       cmp      edi, ebx
        jl       SHORT G_M60242_IG08
                        ;; size=47 bbWeight=16 PerfScore 116.00
 G_M60242_IG05:        ; bbWeight=8, gcrefRegs=4001 {rax r14}, byrefRegs=0000 {}, byref, isz
@@ -108,53 +108,53 @@ G_M60242_IG05:        ; bbWeight=8, gcrefRegs=4001 {rax r14}, byrefRegs=0000 {},
        jl       SHORT G_M60242_IG08
                        ;; size=6 bbWeight=8 PerfScore 32.00
 G_M60242_IG06:        ; bbWeight=63.36, gcrefRegs=4001 {rax r14}, byrefRegs=0000 {}, byref, isz
-       lea      r8d, [rcx+0x01]
-       movzx    r10, r8b
+       lea      edx, [rcx+0x01]
+       movzx    r8, dl
        mov      ecx, ecx
-       mov      byte  ptr [rax+rcx+0x10], r10b
-       mov      byte  ptr [r14+rcx+0x10], r10b
-       mov      ecx, r8d
+       mov      byte  ptr [rax+rcx+0x10], r8b
+       mov      byte  ptr [r14+rcx+0x10], r8b
+       mov      ecx, edx
        cmp      ecx, ebx
        jl       SHORT G_M60242_IG06
-                      ;; size=27 bbWeight=63.36 PerfScore 285.12
-G_M60242_IG07:        ; bbWeight=8, gcrefRegs=4001 {rax r14}, byrefRegs=0000 {}, byref, isz
+                      ;; size=25 bbWeight=63.36 PerfScore 285.12
+G_M60242_IG07:        ; bbWeight=16.00, gcrefRegs=4001 {rax r14}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M60242_IG09
-                       ;; size=2 bbWeight=8 PerfScore 16.00
+                      ;; size=2 bbWeight=16.00 PerfScore 32.00
 G_M60242_IG08:        ; bbWeight=0.64, gcrefRegs=4001 {rax r14}, byrefRegs=0000 {}, byref, isz
-       lea      r8d, [rcx+0x01]
-       movzx    r10, r8b
-       cmp      ecx, edx
+       lea      edx, [rcx+0x01]
+       movzx    r8, dl
+       cmp      ecx, edi
        jae      G_M60242_IG17
-       mov      r9d, ecx
-       mov      byte  ptr [rax+r9+0x10], r10b
+       mov      r10d, ecx
+       mov      byte  ptr [rax+r10+0x10], r8b
        cmp      ecx, dword ptr [r14+0x08]
        jae      G_M60242_IG17
        mov      ecx, ecx
-       mov      byte  ptr [r14+rcx+0x10], r10b
-       mov      ecx, r8d
+       mov      byte  ptr [r14+rcx+0x10], r8b
+       mov      ecx, edx
        cmp      ecx, ebx
        jl       SHORT G_M60242_IG08
-                      ;; size=48 bbWeight=0.64 PerfScore 6.40
+                       ;; size=46 bbWeight=0.64 PerfScore 6.40
 G_M60242_IG09:        ; bbWeight=16.00, gcrefRegs=4001 {rax r14}, byrefRegs=0000 {}, byref, isz
-       cmp      esi, edx
-       jae      G_M60242_IG17
+       cmp      esi, edi
+       jae      SHORT G_M60242_IG17
        mov      ecx, esi
-       movzx    r8, byte  ptr [rax+rcx+0x10]
-       inc      r8d
-       movzx    r8, r8b
-       mov      byte  ptr [rax+rcx+0x10], r8b
+       movzx    rdx, byte  ptr [rax+rcx+0x10]
+       inc      edx
+       movzx    rdx, dl
+       mov      byte  ptr [rax+rcx+0x10], dl
        lea      rcx, bword ptr [r14+0x10]
        ; byrRegs +[rcx]
-       mov      r8d, dword ptr [r14+0x08]
+       mov      edx, dword ptr [r14+0x08]
        add      rax, 16
        ; gcrRegs -[rax]
        ; byrRegs +[rax]
-       cmp      edx, r8d
+       cmp      edi, edx
        jg       SHORT G_M60242_IG18
-                       ;; size=45 bbWeight=16.00 PerfScore 144.00
+                        ;; size=36 bbWeight=16.00 PerfScore 144.00
 G_M60242_IG10:        ; bbWeight=7.99, gcrefRegs=0000 {}, byrefRegs=0003 {rax rcx}, byref, isz
        ; gcrRegs -[r14]
-       mov      r8d, edx
+       mov      r8d, edi
        cmp      r8, 3
        jne      SHORT G_M60242_IG12
                        ;; size=9 bbWeight=7.99 PerfScore 11.99
@@ -229,7 +229,7 @@ G_M60242_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=32 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 329, prolog size 10, PerfScore 738.68, instruction count 101, allocated bytes for code 329 (MethodHash=464114ad) for method System.SpanTests.SpanTests:StartsWithNoMatch_Byte() (FullOpts)
+; Total bytes of code 316, prolog size 10, PerfScore 754.68, instruction count 101, allocated bytes for code 316 (MethodHash=464114ad) for method System.SpanTests.SpanTests:StartsWithNoMatch_Byte() (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+17 (+4.20%) : 107097.dasm - System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
@@ -11,8 +11,8 @@
 ;  V01 arg1         [V01,T07] (  7,  4.50)     int  ->  rdx         single-def
 ;  V02 arg2         [V02,T08] (  5,  4   )     int  ->   r8         single-def
 ;  V03 arg3         [V03,T09] (  4,  3.50)   byref  ->   r9         single-def
-;  V04 loc0         [V04,T00] ( 26, 49   )     int  ->  rax        
-;  V05 loc1         [V05,T06] ( 11, 11.50)     int  ->  r10        
+;  V04 loc0         [V04,T00] ( 26, 49   )     int  ->  r10        
+;  V05 loc1         [V05,T06] ( 11, 11.50)     int  ->  rax        
 ;  V06 loc2         [V06,T01] ( 12, 17.54)     int  ->  rdx        
 ;  V07 loc3         [V07,T03] (  8, 16   )     int  ->   r8        
 ;  V08 loc4         [V08,T02] ( 12, 17.54)     int  ->  rdx        
@@ -35,8 +35,8 @@ G_M24742_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}, b
        je       G_M24742_IG14
                        ;; size=14 bbWeight=1 PerfScore 2.50
 G_M24742_IG03:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}, byref, isz
-       xor      eax, eax
-       lea      r10d, [rdx+r8]
+       xor      r10d, r10d
+       lea      eax, [rdx+r8]
        mov      r11d, dword ptr [rcx+0x08]
        cmp      edx, r11d
        jae      G_M24742_IG16
@@ -46,12 +46,12 @@ G_M24742_IG03:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}
        cmp      r8d, 1
        je       G_M24742_IG14
        inc      edx
-       cmp      edx, r10d
+       cmp      edx, eax
        jge      G_M24742_IG12
        mov      r8d, edx
-       or       r8d, r10d
+       or       r8d, eax
        jl       SHORT G_M24742_IG06
-       cmp      r11d, r10d
+       cmp      r11d, eax
        jl       SHORT G_M24742_IG06
                        ;; size=66 bbWeight=0.50 PerfScore 6.88
 G_M24742_IG04:        ; bbWeight=3.96, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}, byref, isz
@@ -60,18 +60,18 @@ G_M24742_IG04:        ; bbWeight=3.96, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}
        add      r8d, -48
        cmp      r8d, 9
        ja       G_M24742_IG14
-       cmp      eax, 0xD1FFAB1E
+       cmp      r10d, 0xD1FFAB1E
        jl       G_M24742_IG14
-       lea      eax, [rax+4*rax]
-       add      eax, eax
+       lea      r10d, [r10+4*r10]
+       add      r10d, r10d
        lea      r11d, [r8+D1FFAB1EH]
-       cmp      eax, r11d
+       cmp      r10d, r11d
        jl       G_M24742_IG14
-       sub      eax, r8d
+       sub      r10d, r8d
        inc      edx
-       cmp      edx, r10d
+       cmp      edx, eax
        jl       SHORT G_M24742_IG04
-                       ;; size=65 bbWeight=3.96 PerfScore 36.63
+                      ;; size=68 bbWeight=3.96 PerfScore 36.63
 G_M24742_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0200 {r9}, byref
        ; gcrRegs -[rcx]
        jmp      G_M24742_IG12
@@ -85,52 +85,52 @@ G_M24742_IG06:        ; bbWeight=0.04, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}
        add      r8d, -48
        cmp      r8d, 9
        ja       G_M24742_IG14
-       cmp      eax, 0xD1FFAB1E
+       cmp      r10d, 0xD1FFAB1E
        jl       G_M24742_IG14
-       lea      eax, [rax+4*rax]
-       add      eax, eax
+       lea      r10d, [r10+4*r10]
+       add      r10d, r10d
        lea      ebx, [r8+D1FFAB1EH]
-       cmp      eax, ebx
+       cmp      r10d, ebx
        jl       G_M24742_IG14
-       sub      eax, r8d
+       sub      r10d, r8d
        inc      edx
-       cmp      edx, r10d
+       cmp      edx, eax
        jl       SHORT G_M24742_IG06
-                      ;; size=73 bbWeight=0.04 PerfScore 0.42
+                       ;; size=77 bbWeight=0.04 PerfScore 0.42
 G_M24742_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0200 {r9}, byref
        ; gcrRegs -[rcx]
        jmp      G_M24742_IG12
                        ;; size=5 bbWeight=0.50 PerfScore 1.00
 G_M24742_IG08:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}, byref, isz
        ; gcrRegs +[rcx]
-       cmp      edx, r10d
+       cmp      edx, eax
        jge      G_M24742_IG12
        mov      r8d, edx
-       or       r8d, r10d
+       or       r8d, eax
        jl       SHORT G_M24742_IG11
-       cmp      r11d, r10d
+       cmp      r11d, eax
        jl       SHORT G_M24742_IG11
-                       ;; size=22 bbWeight=0.50 PerfScore 2.00
+                       ;; size=21 bbWeight=0.50 PerfScore 2.00
 G_M24742_IG09:        ; bbWeight=3.96, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}, byref, isz
        mov      r11d, edx
        movzx    r8, byte  ptr [rcx+r11+0x10]
        add      r8d, -48
        cmp      r8d, 9
-       ja       SHORT G_M24742_IG14
-       cmp      eax, 0xD1FFAB1E
+       ja       G_M24742_IG14
+       cmp      r10d, 0xD1FFAB1E
        jg       SHORT G_M24742_IG14
-       lea      eax, [rax+4*rax]
-       add      eax, eax
+       lea      r10d, [r10+4*r10]
+       add      r10d, r10d
        mov      r11d, r8d
        neg      r11d
        add      r11d, 0xD1FFAB1E
-       cmp      r11d, eax
+       cmp      r11d, r10d
        jl       SHORT G_M24742_IG14
-       add      eax, r8d
+       add      r10d, r8d
        inc      edx
-       cmp      edx, r10d
+       cmp      edx, eax
        jl       SHORT G_M24742_IG09
-                       ;; size=59 bbWeight=3.96 PerfScore 37.62
+                      ;; size=66 bbWeight=3.96 PerfScore 37.62
 G_M24742_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0200 {r9}, byref, isz
        ; gcrRegs -[rcx]
        jmp      SHORT G_M24742_IG12
@@ -144,23 +144,23 @@ G_M24742_IG11:        ; bbWeight=0.04, gcrefRegs=0002 {rcx}, byrefRegs=0200 {r9}
        add      r8d, -48
        cmp      r8d, 9
        ja       SHORT G_M24742_IG14
-       cmp      eax, 0xD1FFAB1E
+       cmp      r10d, 0xD1FFAB1E
        jg       SHORT G_M24742_IG14
-       lea      eax, [rax+4*rax]
-       add      eax, eax
+       lea      r10d, [r10+4*r10]
+       add      r10d, r10d
        mov      ebx, r8d
        neg      ebx
        add      ebx, 0xD1FFAB1E
-       cmp      ebx, eax
+       cmp      ebx, r10d
        jl       SHORT G_M24742_IG14
-       add      eax, r8d
+       add      r10d, r8d
        inc      edx
-       cmp      edx, r10d
+       cmp      edx, eax
        jl       SHORT G_M24742_IG11
-                      ;; size=61 bbWeight=0.04 PerfScore 0.43
+                       ;; size=65 bbWeight=0.04 PerfScore 0.43
 G_M24742_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0200 {r9}, byref
        ; gcrRegs -[rcx]
-       mov      dword ptr [r9], eax
+       mov      dword ptr [r9], r10d
        mov      eax, 1
                        ;; size=8 bbWeight=0.50 PerfScore 0.62
 G_M24742_IG13:        ; bbWeight=0.50, epilog, nogc, extend
@@ -183,7 +183,7 @@ G_M24742_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 405, prolog size 5, PerfScore 93.23, instruction count 117, allocated bytes for code 405 (MethodHash=b5f49f59) for method System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
+; Total bytes of code 422, prolog size 5, PerfScore 93.23, instruction count 117, allocated bytes for code 422 (MethodHash=b5f49f59) for method System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+47 (+5.11%) : 160426.dasm - System.Net.Mail.Message:EncodeHeaders(System.Net.Mime.HeaderCollection,ubyte):this (FullOpts)
@@ -286,7 +286,7 @@ G_M45731_IG06:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
-       jle      G_M45731_IG44
+       jle      G_M45731_IG31
                      ;; size=24 bbWeight=1 PerfScore 10.50
 G_M45731_IG07:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rbx+0x08]
@@ -305,7 +305,7 @@ G_M45731_IG07:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
 G_M45731_IG08:        ; bbWeight=1, gcrefRegs=004B {rax rcx rbx rsi}, byrefRegs=0000 {}, byref
        mov      rdx, 0xD1FFAB1E      ; System.Collections.Specialized.NameObjectCollectionBase+NameObjectEntry
        cmp      qword ptr [rcx], rdx
-       jne      G_M45731_IG45
+       jne      G_M45731_IG46
                      ;; size=19 bbWeight=1 PerfScore 4.25
 G_M45731_IG09:        ; bbWeight=4, gcrefRegs=004A {rcx rbx rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax]
@@ -316,15 +316,15 @@ G_M45731_IG09:        ; bbWeight=4, gcrefRegs=004A {rcx rbx rsi}, byrefRegs=0000
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
-       je       G_M45731_IG43
+       je       G_M45731_IG30
                      ;; size=21 bbWeight=4 PerfScore 26.00
 G_M45731_IG10:        ; bbWeight=2, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
        test     r14, r14
-       je       G_M45731_IG46
+       je       G_M45731_IG47
                      ;; size=9 bbWeight=2 PerfScore 2.50
 G_M45731_IG11:        ; bbWeight=1.84, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
        cmp      dword ptr [r14+0x08], 0
-       je       G_M45731_IG46
+       je       G_M45731_IG47
                       ;; size=11 bbWeight=1.84 PerfScore 7.37
 G_M45731_IG12:        ; bbWeight=2, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rbx+0x18]
@@ -344,34 +344,28 @@ G_M45731_IG12:        ; bbWeight=2, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000
 G_M45731_IG13:        ; bbWeight=1, gcrefRegs=404B {rax rcx rbx rsi r14}, byrefRegs=0000 {}, byref
        mov      r8, 0xD1FFAB1E      ; System.Collections.Specialized.NameObjectCollectionBase+NameObjectEntry
        cmp      qword ptr [rcx], r8
-       jne      G_M45731_IG47
+       jne      G_M45731_IG48
                       ;; size=19 bbWeight=1 PerfScore 4.25
-G_M45731_IG14:        ; bbWeight=2, gcrefRegs=404A {rcx rbx rsi r14}, byrefRegs=0000 {}, byref, isz
+G_M45731_IG14:        ; bbWeight=2, gcrefRegs=404A {rcx rbx rsi r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax]
        test     rcx, rcx
-       jne      SHORT G_M45731_IG15
+       jne      G_M45731_IG32
        xor      rdx, rdx
        ; gcrRegs +[rdx]
-       jmp      SHORT G_M45731_IG16
-                       ;; size=9 bbWeight=2 PerfScore 7.00
-G_M45731_IG15:        ; bbWeight=2, gcrefRegs=404A {rcx rbx rsi r14}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rdx]
-       mov      rdx, gword ptr [rcx+0x10]
-       ; gcrRegs +[rdx]
-                       ;; size=4 bbWeight=2 PerfScore 4.00
-G_M45731_IG16:        ; bbWeight=2, gcrefRegs=404C {rdx rbx rsi r14}, byrefRegs=0000 {}, byref, isz
+                      ;; size=11 bbWeight=2 PerfScore 3.00
+G_M45731_IG15:        ; bbWeight=2, gcrefRegs=404C {rdx rbx rsi r14}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
        mov      rcx, rdx
        ; gcrRegs +[rcx]
        test     rcx, rcx
-       je       SHORT G_M45731_IG19
+       je       SHORT G_M45731_IG18
                      ;; size=8 bbWeight=2 PerfScore 3.00
-G_M45731_IG17:        ; bbWeight=1, gcrefRegs=404E {rcx rdx rbx rsi r14}, byrefRegs=0000 {}, byref, isz
+G_M45731_IG16:        ; bbWeight=1, gcrefRegs=404E {rcx rdx rbx rsi r14}, byrefRegs=0000 {}, byref, isz
        mov      rax, 0xD1FFAB1E      ; System.Collections.ArrayList
        cmp      qword ptr [rcx], rax
-       je       SHORT G_M45731_IG19
+       je       SHORT G_M45731_IG18
                      ;; size=15 bbWeight=1 PerfScore 4.25
-G_M45731_IG18:        ; bbWeight=0.50, gcrefRegs=404C {rdx rbx rsi r14}, byrefRegs=0000 {}, byref
+G_M45731_IG17:        ; bbWeight=0.50, gcrefRegs=404C {rdx rbx rsi r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        mov      rcx, rax
        call     CORINFO_HELP_CHKCASTCLASS_SPECIAL
@@ -380,7 +374,7 @@ G_M45731_IG18:        ; bbWeight=0.50, gcrefRegs=404C {rdx rbx rsi r14}, byrefRe
        mov      rcx, rax
        ; gcrRegs +[rcx]
                        ;; size=11 bbWeight=0.50 PerfScore 0.75
-G_M45731_IG19:        ; bbWeight=2, gcrefRegs=404A {rcx rbx rsi r14}, byrefRegs=0000 {}, byref
+G_M45731_IG18:        ; bbWeight=2, gcrefRegs=404A {rcx rbx rsi r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax]
        call     [System.Collections.Specialized.NameValueCollection:GetAsStringArray(System.Collections.ArrayList):System.String[]]
        ; gcrRegs -[rcx] +[rax]
@@ -389,9 +383,9 @@ G_M45731_IG19:        ; bbWeight=2, gcrefRegs=404A {rcx rbx rsi r14}, byrefRegs=
        ; gcrRegs +[r15]
        xor      r13d, r13d
        cmp      dword ptr [r15+0x08], 0
-       jle      G_M45731_IG43
+       jle      G_M45731_IG30
                       ;; size=23 bbWeight=2 PerfScore 15.00
-G_M45731_IG20:        ; bbWeight=16, gcrefRegs=C048 {rbx rsi r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M45731_IG19:        ; bbWeight=16, gcrefRegs=C048 {rbx rsi r14 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax]
        mov      ecx, r13d
        mov      r12, gword ptr [r15+8*rcx+0x10]
@@ -404,42 +398,28 @@ G_M45731_IG20:        ; bbWeight=16, gcrefRegs=C048 {rbx rsi r14 r15}, byrefRegs
        ; gcrRegs -[rcx rdx]
        ; gcr arg pop 0
        test     r12, r12
-       jne      SHORT G_M45731_IG22
-                       ;; size=32 bbWeight=16 PerfScore 112.00
-G_M45731_IG21:        ; bbWeight=8, gcrefRegs=D048 {rbx rsi r12 r14 r15}, byrefRegs=0000 {}, byref, isz
+       jne      G_M45731_IG33
+                       ;; size=36 bbWeight=16 PerfScore 112.00
+G_M45731_IG20:        ; bbWeight=8, gcrefRegs=D048 {rbx rsi r12 r14 r15}, byrefRegs=0000 {}, byref
        xor      rcx, rcx
        ; byrRegs +[rcx]
        xor      edx, edx
-       jmp      SHORT G_M45731_IG23
-                       ;; size=6 bbWeight=8 PerfScore 20.00
-G_M45731_IG22:        ; bbWeight=8, gcrefRegs=D048 {rbx rsi r12 r14 r15}, byrefRegs=0000 {}, byref
-       ; byrRegs -[rcx]
-       lea      rcx, bword ptr [r12+0x0C]
-       ; byrRegs +[rcx]
-       mov      edx, dword ptr [r12+0x08]
-                       ;; size=10 bbWeight=8 PerfScore 20.00
-G_M45731_IG23:        ; bbWeight=16, gcrefRegs=D048 {rbx rsi r12 r14 r15}, byrefRegs=0002 {rcx}, byref, isz
+                      ;; size=4 bbWeight=8 PerfScore 4.00
+G_M45731_IG21:        ; bbWeight=16, gcrefRegs=D048 {rbx rsi r12 r14 r15}, byrefRegs=0002 {rcx}, byref, isz
        call     [<unknown method>]
        ; byrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
-       je       SHORT G_M45731_IG27
+       je       SHORT G_M45731_IG24
                      ;; size=10 bbWeight=16 PerfScore 68.00
-G_M45731_IG24:        ; bbWeight=8, gcrefRegs=D048 {rbx rsi r12 r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M45731_IG22:        ; bbWeight=8, gcrefRegs=D048 {rbx rsi r12 r14 r15}, byrefRegs=0000 {}, byref
        test     r12, r12
-       jne      SHORT G_M45731_IG25
+       jne      G_M45731_IG34
        xor      rcx, rcx
        ; byrRegs +[rcx]
        xor      r9d, r9d
-       jmp      SHORT G_M45731_IG26
-                       ;; size=12 bbWeight=8 PerfScore 30.00
-G_M45731_IG25:        ; bbWeight=8, gcrefRegs=D048 {rbx rsi r12 r14 r15}, byrefRegs=0000 {}, byref
-       ; byrRegs -[rcx]
-       lea      rcx, bword ptr [r12+0x0C]
-       ; byrRegs +[rcx]
-       mov      r9d, dword ptr [r12+0x08]
-                       ;; size=10 bbWeight=8 PerfScore 20.00
-G_M45731_IG26:        ; bbWeight=8, gcrefRegs=C048 {rbx rsi r14 r15}, byrefRegs=0002 {rcx}, byref, isz
+                       ;; size=14 bbWeight=8 PerfScore 14.00
+G_M45731_IG23:        ; bbWeight=8, gcrefRegs=C048 {rbx rsi r14 r15}, byrefRegs=0002 {rcx}, byref, isz
        ; gcrRegs -[r12]
        mov      r8d, 10
        mov      edx, 13
@@ -447,35 +427,28 @@ G_M45731_IG26:        ; bbWeight=8, gcrefRegs=C048 {rbx rsi r14 r15}, byrefRegs=
        ; byrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
-       jl       SHORT G_M45731_IG30
+       jl       SHORT G_M45731_IG26
                      ;; size=21 bbWeight=8 PerfScore 38.00
-G_M45731_IG27:        ; bbWeight=8, gcrefRegs=C048 {rbx rsi r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M45731_IG24:        ; bbWeight=8, gcrefRegs=C048 {rbx rsi r14 r15}, byrefRegs=0000 {}, byref
        test     dil, dil
-       je       SHORT G_M45731_IG31
+       je       G_M45731_IG36
        mov      rcx, r14
        ; gcrRegs +[rcx]
        call     [System.Net.Mail.MailHeaderInfo:AllowsUnicode(System.String):ubyte]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
-       je       SHORT G_M45731_IG31
+       je       G_M45731_IG36
        mov      r8d, r13d
        mov      r8, gword ptr [r15+8*r8+0x10]
        ; gcrRegs +[r8]
        test     r8, r8
-       jne      SHORT G_M45731_IG28
+       jne      G_M45731_IG35
        xor      rcx, rcx
        ; byrRegs +[rcx]
        xor      r9d, r9d
-       jmp      SHORT G_M45731_IG29
-                       ;; size=38 bbWeight=8 PerfScore 94.00
-G_M45731_IG28:        ; bbWeight=8, gcrefRegs=C148 {rbx rsi r8 r14 r15}, byrefRegs=0000 {}, byref
-       ; byrRegs -[rcx]
-       lea      rcx, bword ptr [r8+0x0C]
-       ; byrRegs +[rcx]
-       mov      r9d, dword ptr [r8+0x08]
-                       ;; size=8 bbWeight=8 PerfScore 20.00
-G_M45731_IG29:        ; bbWeight=8, gcrefRegs=C048 {rbx rsi r14 r15}, byrefRegs=0002 {rcx}, byref, isz
+                       ;; size=48 bbWeight=8 PerfScore 78.00
+G_M45731_IG25:        ; bbWeight=8, gcrefRegs=C048 {rbx rsi r14 r15}, byrefRegs=0002 {rcx}, byref
        ; gcrRegs -[r8]
        mov      r8d, 10
        mov      edx, 13
@@ -483,16 +456,88 @@ G_M45731_IG29:        ; bbWeight=8, gcrefRegs=C048 {rbx rsi r14 r15}, byrefRegs=
        ; byrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
-       jge      SHORT G_M45731_IG31
-                       ;; size=21 bbWeight=8 PerfScore 38.00
-G_M45731_IG30:        ; bbWeight=8, gcrefRegs=C048 {rbx rsi r14 r15}, byrefRegs=0000 {}, byref
+       jge      G_M45731_IG36
+                       ;; size=25 bbWeight=8 PerfScore 38.00
+G_M45731_IG26:        ; bbWeight=8, gcrefRegs=C048 {rbx rsi r14 r15}, byrefRegs=0000 {}, byref
        mov      ecx, r13d
        mov      r8, gword ptr [r15+8*rcx+0x10]
        ; gcrRegs +[r8]
-       jmp      G_M45731_IG39
-                       ;; size=13 bbWeight=8 PerfScore 34.00
-G_M45731_IG31:        ; bbWeight=8, gcrefRegs=C048 {rbx rsi r14 r15}, byrefRegs=0000 {}, byref, isz
+                      ;; size=8 bbWeight=8 PerfScore 18.00
+G_M45731_IG27:        ; bbWeight=16, gcrefRegs=C148 {rbx rsi r8 r14 r15}, byrefRegs=0000 {}, byref
+       test     r13d, r13d
+       jne      G_M45731_IG45
+                       ;; size=9 bbWeight=16 PerfScore 20.00
+G_M45731_IG28:        ; bbWeight=8, gcrefRegs=C148 {rbx rsi r8 r14 r15}, byrefRegs=0000 {}, byref
+       mov      rcx, rbx
+       ; gcrRegs +[rcx]
+       mov      rdx, r14
+       ; gcrRegs +[rdx]
+       call     [System.Net.Mime.HeaderCollection:Set(System.String,System.String):this]
+       ; gcrRegs -[rcx rdx r8]
+       ; gcr arg pop 0
+                       ;; size=12 bbWeight=8 PerfScore 28.00
+G_M45731_IG29:        ; bbWeight=16, gcrefRegs=C048 {rbx rsi r14 r15}, byrefRegs=0000 {}, byref
+       inc      r13d
+       cmp      dword ptr [r15+0x08], r13d
+       jg       G_M45731_IG19
+                       ;; size=13 bbWeight=16 PerfScore 68.00
+G_M45731_IG30:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[r14-r15]
+       inc      ebp
+       mov      rcx, gword ptr [rbx+0x08]
+       ; gcrRegs +[rcx]
+       mov      rax, qword ptr [rcx]
+       mov      rax, qword ptr [rax+0x48]
+       call     [rax+0x30]<unknown method>
+       ; gcrRegs -[rcx]
+       ; gcr arg pop 0
+       cmp      eax, ebp
+       jg       G_M45731_IG07
+                       ;; size=24 bbWeight=4 PerfScore 42.00
+G_M45731_IG31:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       ; gcrRegs -[rbx rsi]
+       add      rsp, 56
+       pop      rbx
...
  
+24 (+6.22%) : 14347.dasm - System.Linq.Enumerable:TryGetFirstMicrosoft.CodeAnalysis.SyntaxToken:Microsoft.CodeAnalysis.SyntaxToken (FullOpts)
@@ -10,41 +10,42 @@
 ;  V00 RetBuf       [V00,T02] (  6,  6   )   byref  ->  [rbp+0x10]  EH-live single-def
 ;  V01 arg0         [V01,T03] (  4,  4   )     ref  ->  rdx         class-hnd single-def <System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.SyntaxToken]>
 ;  V02 arg1         [V02,T00] (  5, 19   )     ref  ->  rsi         class-hnd single-def <System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte]>
-;  V03 arg2         [V03,T04] (  4,  4   )   byref  ->  rdi         single-def
-;  V04 loc0         [V04,T01] (  7, 20   )     ref  ->  [rbp-0x68]  class-hnd EH-live spill-single-def <<unknown class>>
-;  V05 loc1         [V05    ] (  3, 17   )  struct (24) [rbp-0x30]  do-not-enreg[XS] must-init addr-exposed <Microsoft.CodeAnalysis.SyntaxToken>
-;  V06 loc2         [V06,T05] (  2,  2   )  struct (24) [rbp-0x48]  do-not-enreg[SZ] must-init EH-live <Microsoft.CodeAnalysis.SyntaxToken>
+;  V03 arg2         [V03,T04] (  4,  4   )   byref  ->  r14         single-def
+;  V04 loc0         [V04,T01] (  7, 20   )     ref  ->  [rbp-0x70]  class-hnd EH-live single-def <<unknown class>>
+;  V05 loc1         [V05    ] (  3, 17   )  struct (24) [rbp-0x38]  do-not-enreg[XS] must-init addr-exposed <Microsoft.CodeAnalysis.SyntaxToken>
+;  V06 loc2         [V06,T05] (  2,  2   )  struct (24) [rbp-0x50]  do-not-enreg[SZ] must-init EH-live <Microsoft.CodeAnalysis.SyntaxToken>
 ;* V07 loc3         [V07    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] ld-addr-op <Microsoft.CodeAnalysis.SyntaxToken>
 ;  V08 OutArgs      [V08    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V09 tmp1         [V09    ] (  2, 32   )  struct (24) [rbp-0x60]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.CodeAnalysis.SyntaxToken>
-;  V10 PSPSym       [V10,T06] (  1,  1   )    long  ->  [rbp-0x70]  do-not-enreg[V] "PSPSym"
+;  V09 tmp1         [V09    ] (  2, 32   )  struct (24) [rbp-0x68]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.CodeAnalysis.SyntaxToken>
+;  V10 PSPSym       [V10,T06] (  1,  1   )    long  ->  [rbp-0x80]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 120
+; Lcl frame size = 128
 
 G_M13384_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
+       push     r14
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 120
+       sub      rsp, 128
        vzeroupper 
-       lea      rbp, [rsp+0x90]
+       lea      rbp, [rsp+0xA0]
+       xor      eax, eax
+       mov      qword ptr [rbp-0x68], rax
        vxorps   xmm4, xmm4, xmm4
        vmovdqu  ymmword ptr [rbp-0x60], ymm4
        vmovdqu  ymmword ptr [rbp-0x40], ymm4
-       xor      eax, eax
-       mov      qword ptr [rbp-0x20], rax
-       mov      qword ptr [rbp-0x70], rsp
+       mov      qword ptr [rbp-0x80], rsp
        mov      bword ptr [rbp+0x10], rcx
        ; GC ptr vars +{V00}
        mov      rbx, rcx
        ; byrRegs +[rbx]
        mov      rsi, r8
        ; gcrRegs +[rsi]
-       mov      rdi, r9
-       ; byrRegs +[rdi]
-                       ;; size=56 bbWeight=1 PerfScore 14.08
-G_M13384_IG02:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=0044 {rdx rsi}, byrefRegs=0088 {rbx rdi}, gcvars, byref
+       mov      r14, r9
+       ; byrRegs +[r14]
+                       ;; size=61 bbWeight=1 PerfScore 15.08
+G_M13384_IG02:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=0044 {rdx rsi}, byrefRegs=4008 {rbx r14}, gcvars, byref
        ; gcrRegs +[rdx]
        test     rdx, rdx
        je       G_M13384_IG18
@@ -56,37 +57,39 @@ G_M13384_IG02:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=004
        call     [r11]<unknown method>
        ; gcrRegs -[rcx rdx] +[rax]
        ; gcr arg pop 0
-       mov      rcx, rax
-       ; gcrRegs +[rcx]
-       mov      gword ptr [rbp-0x68], rcx
+       mov      rdi, rax
+       ; gcrRegs +[rdi]
+       mov      gword ptr [rbp-0x70], rdi
        ; GC ptr vars +{V04}
                        ;; size=41 bbWeight=1 PerfScore 7.25
-G_M13384_IG03:        ; bbWeight=1, gcVars=0000000000000006 {V00 V04}, gcrefRegs=0042 {rcx rsi}, byrefRegs=0088 {rbx rdi}, gcvars, byref, isz
+G_M13384_IG03:        ; bbWeight=1, gcVars=0000000000000006 {V00 V04}, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008 {rbx r14}, gcvars, byref, isz
        ; gcrRegs -[rax]
+       mov      rcx, rdi
+       ; gcrRegs +[rcx]
        mov      r11, 0xD1FFAB1E      ; function address
        call     [r11]<unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
        je       SHORT G_M13384_IG11
-                      ;; size=17 bbWeight=1 PerfScore 4.50
-G_M13384_IG04:        ; bbWeight=8, gcrefRegs=0040 {rsi}, byrefRegs=0088 {rbx rdi}, byref
-       lea      rdx, [rbp-0x30]
-       mov      rcx, gword ptr [rbp-0x68]
+                        ;; size=20 bbWeight=1 PerfScore 4.75
+G_M13384_IG04:        ; bbWeight=8, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008 {rbx r14}, byref
+       lea      rdx, [rbp-0x38]
+       mov      rcx, rdi
        ; gcrRegs +[rcx]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
        call     [r11]<unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-                       ;; size=21 bbWeight=8 PerfScore 38.00
+                     ;; size=20 bbWeight=8 PerfScore 32.00
 G_M13384_IG05:        ; bbWeight=8, nogc, extend
-       vmovdqu  xmm0, xmmword ptr [rbp-0x30]
-       vmovdqu  xmmword ptr [rbp-0x60], xmm0
-       mov      rdx, qword ptr [rbp-0x20]
-       mov      qword ptr [rbp-0x50], rdx
+       vmovdqu  xmm0, xmmword ptr [rbp-0x38]
+       vmovdqu  xmmword ptr [rbp-0x68], xmm0
+       mov      rdx, qword ptr [rbp-0x28]
+       mov      qword ptr [rbp-0x58], rdx
                       ;; size=18 bbWeight=8 PerfScore 48.00
 G_M13384_IG06:        ; bbWeight=8, isz, extend
-       lea      rdx, [rbp-0x60]
+       lea      rdx, [rbp-0x68]
        mov      rcx, gword ptr [rsi+0x08]
        ; gcrRegs +[rcx]
        call     [rsi+0x18]<unknown method>
@@ -94,7 +97,7 @@ G_M13384_IG06:        ; bbWeight=8, isz, extend
        ; gcr arg pop 0
        test     eax, eax
        jne      SHORT G_M13384_IG08
-       mov      rcx, gword ptr [rbp-0x68]
+       mov      rcx, rdi
        ; gcrRegs +[rcx]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
        call     [r11]<unknown method>
@@ -102,38 +105,40 @@ G_M13384_IG06:        ; bbWeight=8, isz, extend
        ; gcr arg pop 0
        test     eax, eax
        jne      SHORT G_M13384_IG04
-                      ;; size=36 bbWeight=8 PerfScore 98.00
-G_M13384_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0088 {rbx rdi}, byref, isz
+                      ;; size=35 bbWeight=8 PerfScore 92.00
+G_M13384_IG07:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=4008 {rbx r14}, byref, isz
        ; gcrRegs -[rsi]
        jmp      SHORT G_M13384_IG11
                        ;; size=2 bbWeight=1 PerfScore 2.00
-G_M13384_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0088 {rbx rdi}, byref
-       mov      byte  ptr [rdi], 1
-                       ;; size=3 bbWeight=1 PerfScore 1.00
+G_M13384_IG08:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=4008 {rbx r14}, byref
+       mov      byte  ptr [r14], 1
+                       ;; size=4 bbWeight=1 PerfScore 1.00
 G_M13384_IG09:        ; bbWeight=1, nogc, extend
-       vmovdqu  xmm0, xmmword ptr [rbp-0x30]
-       vmovdqu  xmmword ptr [rbp-0x48], xmm0
-       mov      rcx, qword ptr [rbp-0x20]
-       mov      qword ptr [rbp-0x38], rcx
+       vmovdqu  xmm0, xmmword ptr [rbp-0x38]
+       vmovdqu  xmmword ptr [rbp-0x50], xmm0
+       mov      rcx, qword ptr [rbp-0x28]
+       mov      qword ptr [rbp-0x40], rcx
                       ;; size=18 bbWeight=1 PerfScore 6.00
 G_M13384_IG10:        ; bbWeight=1, isz, extend
        jmp      SHORT G_M13384_IG12
                        ;; size=2 bbWeight=1 PerfScore 2.00
-G_M13384_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0088 {rbx rdi}, byref, isz
-       mov      rcx, gword ptr [rbp-0x68]
+G_M13384_IG11:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=4008 {rbx r14}, byref, isz
+       mov      rcx, rdi
        ; gcrRegs +[rcx]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
        ; GC ptr vars -{V04}
        call     [r11]<unknown method>
-       ; gcrRegs -[rcx]
+       ; gcrRegs -[rcx rdi]
        ; gcr arg pop 0
        jmp      SHORT G_M13384_IG16
-                      ;; size=19 bbWeight=1 PerfScore 6.25
-G_M13384_IG12:        ; bbWeight=1, gcVars=0000000000000006 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, gcvars, byref
-       ; byrRegs -[rdi]
+                      ;; size=18 bbWeight=1 PerfScore 5.50
+G_M13384_IG12:        ; bbWeight=1, gcVars=0000000000000006 {V00 V04}, gcrefRegs=0080 {rdi}, byrefRegs=0008 {rbx}, gcvars, byref
+       ; gcrRegs +[rdi]
+       ; byrRegs -[r14]
        ; GC ptr vars +{V01 V04}
        mov      rcx, rsp
        call     G_M13384_IG20
+       ; gcrRegs -[rdi]
        ; byrRegs -[rbx]
                        ;; size=8 bbWeight=1 PerfScore 1.25
 G_M13384_IG13:        ; bbWeight=1, nogc, extend
@@ -143,7 +148,7 @@ G_M13384_IG14:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=000
        ; GC ptr vars -{V01 V04}
        mov      rdi, bword ptr [rbp+0x10]
        ; byrRegs +[rdi]
-       lea      rsi, bword ptr [rbp-0x48]
+       lea      rsi, bword ptr [rbp-0x50]
        ; byrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_BYREF
        call     CORINFO_HELP_ASSIGN_BYREF
@@ -152,33 +157,35 @@ G_M13384_IG14:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=000
        ; byrRegs +[rax]
                        ;; size=24 bbWeight=1 PerfScore 5.50
 G_M13384_IG15:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 120
+       add      rsp, 128
        pop      rbx
        pop      rsi
        pop      rdi
+       pop      r14
        pop      rbp
        ret      
-                     ;; size=9 bbWeight=1 PerfScore 3.25
-G_M13384_IG16:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=0000 {}, byrefRegs=0088 {rbx rdi}, gcvars, byref
-       ; byrRegs -[rax rsi] +[rbx]
-       mov      byte  ptr [rdi], 0
+                       ;; size=14 bbWeight=1 PerfScore 3.75
+G_M13384_IG16:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=0000 {}, byrefRegs=4008 {rbx r14}, gcvars, byref
+       ; byrRegs -[rax rsi rdi] +[rbx r14]
+       mov      byte  ptr [r14], 0
        xor      eax, eax
        mov      qword ptr [rbx], rax
        mov      qword ptr [rbx+0x08], rax
        mov      qword ptr [rbx+0x10], rax
        mov      rax, rbx
        ; byrRegs +[rax]
-                      ;; size=19 bbWeight=1 PerfScore 4.50
+                      ;; size=20 bbWeight=1 PerfScore 4.50
 G_M13384_IG17:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 120
+       add      rsp, 128
        pop      rbx
        pop      rsi
        pop      rdi
+       pop      r14
        pop      rbp
        ret      
-                     ;; size=9 bbWeight=1 PerfScore 3.25
+                       ;; size=14 bbWeight=1 PerfScore 3.75
 G_M13384_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       ; byrRegs -[rax rbx rdi]
+       ; byrRegs -[rax rbx r14]
        ; GC ptr vars -{V00}
        mov      ecx, 17
        call     [System.Linq.ThrowHelper:ThrowArgumentNullException(int)]
@@ -194,39 +201,43 @@ G_M13384_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
 G_M13384_IG20:        ; bbWeight=1, gcVars=0000000000000006 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
        ; GC ptr vars +{V00 V01 V02 V04}
        push     rbp
+       push     r14
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 40
+       sub      rsp, 48
        vzeroupper 
        mov      rbp, qword ptr [rcx+0x20]
        mov      qword ptr [rsp+0x20], rbp
-       lea      rbp, [rbp+0x90]
-                       ;; size=27 bbWeight=1 PerfScore 8.75
+       lea      rbp, [rbp+0xA0]
+                       ;; size=29 bbWeight=1 PerfScore 9.75
 G_M13384_IG21:        ; bbWeight=1, gcVars=0000000000000006 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
...
  
  
realworld.run.windows.x64.checked.mch
-14 (-2.89%) : 270.dasm - System.Reflection.RuntimeAssembly:GetType(System.String,ubyte,ubyte):System.Type:this (FullOpts)
@@ -15,7 +15,7 @@
 ;* V04 loc0         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.Reflection.RuntimeAssembly>
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06,T25] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V07 tmp2         [V07    ] ( 34, 39.50)  struct (64) [rsp+0x28]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Reflection.TypeNameParser>
+;  V07 tmp2         [V07    ] ( 34, 39.50)  struct (64) [rsp+0x20]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Reflection.TypeNameParser>
 ;* V08 tmp3         [V08    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V09 tmp4         [V09    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp5         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
@@ -31,8 +31,8 @@
 ;* V20 tmp15        [V20    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V21 tmp16        [V21    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;  V22 tmp17        [V22,T14] (  4,  2   )     int  ->  rdi         "Inline stloc first use temp"
-;  V23 tmp18        [V23,T12] (  3,  3   )     int  ->  rdi         "Span.get_Item index"
-;  V24 tmp19        [V24,T21] (  3,  1.50)     int  ->  rcx        
+;  V23 tmp18        [V23,T12] (  3,  3   )     int  ->  rcx         "Span.get_Item index"
+;  V24 tmp19        [V24,T21] (  3,  1.50)     int  ->  rdx        
 ;* V25 tmp20        [V25    ] (  0,  0   )  ushort  ->  zero-ref    "Inline stloc first use temp"
 ;  V26 tmp21        [V26,T01] (  3, 24   )     int  ->  rcx         "Span.get_Item index"
 ;  V27 tmp22        [V27,T04] (  2,  8   )   ubyte  ->  rax         "Inline return value spill temp"
@@ -68,26 +68,22 @@
 ;  V57 cse0         [V57,T02] (  3, 12   )     int  ->  rcx         "CSE - aggressive"
 ;  V58 cse1         [V58,T03] (  3, 12   )     int  ->  rax         "CSE - aggressive"
 ;  V59 cse2         [V59,T16] (  3,  2   )     int  ->  rax         "CSE - moderate"
-;  V60 cse3         [V60,T22] (  3,  1.50)     int  ->  rdi         "CSE - moderate"
-;  V61 cse4         [V61,T23] (  3,  1.50)     int  ->  rbp         "CSE - moderate"
+;  V60 cse3         [V60,T22] (  3,  1.50)     int  ->  rcx         "CSE - moderate"
+;  V61 cse4         [V61,T23] (  3,  1.50)     int  ->  rax         "CSE - moderate"
 ;
-; Lcl frame size = 104
+; Lcl frame size = 96
 
 G_M21860_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rdi
        push     rsi
-       push     rbp
        push     rbx
-       sub      rsp, 104
-       xor      eax, eax
-       mov      qword ptr [rsp+0x28], rax
+       sub      rsp, 96
        vxorps   xmm4, xmm4, xmm4
-       vmovdqu  ymmword ptr [rsp+0x30], ymm4
-       vmovdqa  xmmword ptr [rsp+0x50], xmm4
-       mov      qword ptr [rsp+0x60], rax
+       vmovdqu  ymmword ptr [rsp+0x20], ymm4
+       vmovdqu  ymmword ptr [rsp+0x40], ymm4
        mov      rbx, rdx
        ; gcrRegs +[rbx]
-                      ;; size=39 bbWeight=1 PerfScore 11.08
+                     ;; size=26 bbWeight=1 PerfScore 7.83
 G_M21860_IG02:        ; bbWeight=1, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rcx]
        test     rbx, rbx
@@ -104,36 +100,36 @@ G_M21860_IG04:        ; bbWeight=1, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {},
        ; byrRegs +[rbx]
        xor      rdx, rdx
        ; gcrRegs +[rdx]
-       mov      gword ptr [rsp+0x28], rdx
+       mov      gword ptr [rsp+0x20], rdx
                       ;; size=11 bbWeight=1 PerfScore 1.50
 G_M21860_IG05:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0008 {rbx}, byref
        ; gcrRegs -[rdx]
-       mov      gword ptr [rsp+0x30], rdx
-       mov      byte  ptr [rsp+0x50], 0
-       mov      byte  ptr [rsp+0x51], 0
-       mov      byte  ptr [rsp+0x52], 0
-       mov      byte  ptr [rsp+0x53], 0
-       mov      byte  ptr [rsp+0x54], 0
+       mov      gword ptr [rsp+0x28], rdx
+       mov      byte  ptr [rsp+0x48], 0
+       mov      byte  ptr [rsp+0x49], 0
+       mov      byte  ptr [rsp+0x4A], 0
+       mov      byte  ptr [rsp+0x4B], 0
+       mov      byte  ptr [rsp+0x4C], 0
                         ;; size=30 bbWeight=1 PerfScore 6.00
 G_M21860_IG06:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0008 {rbx}, byref
-       mov      gword ptr [rsp+0x38], rdx
+       mov      gword ptr [rsp+0x30], rdx
                         ;; size=5 bbWeight=1 PerfScore 1.00
 G_M21860_IG07:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0008 {rbx}, byref
-       mov      gword ptr [rsp+0x40], rdx
-       mov      bword ptr [rsp+0x58], rbx
-       mov      dword ptr [rsp+0x60], eax
+       mov      gword ptr [rsp+0x38], rdx
+       mov      bword ptr [rsp+0x50], rbx
+       mov      dword ptr [rsp+0x58], eax
                       ;; size=14 bbWeight=1 PerfScore 3.00
 G_M21860_IG08:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
        ; byrRegs -[rbx]
-       mov      dword ptr [rsp+0x48], edx
+       mov      dword ptr [rsp+0x40], edx
                       ;; size=4 bbWeight=1 PerfScore 1.00
 G_M21860_IG09:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rsp+0x4C], edx
-       mov      byte  ptr [rsp+0x50], r8b
-       mov      byte  ptr [rsp+0x51], r9b
-       mov      gword ptr [rsp+0x40], rcx
+       mov      dword ptr [rsp+0x44], edx
+       mov      byte  ptr [rsp+0x48], r8b
+       mov      byte  ptr [rsp+0x49], r9b
        mov      gword ptr [rsp+0x38], rcx
-       lea      rcx, [rsp+0x28]
+       mov      gword ptr [rsp+0x30], rcx
+       lea      rcx, [rsp+0x20]
        ; gcrRegs -[rcx]
        call     [<unknown method>]
        ; gcrRegs +[rax]
@@ -153,23 +149,23 @@ G_M21860_IG11:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcrRegs -[rax] +[rbx]
        xor      rsi, rsi
        ; gcrRegs +[rsi]
-       mov      ecx, dword ptr [rsp+0x48]
-       mov      dword ptr [rsp+0x4C], ecx
+       mov      ecx, dword ptr [rsp+0x40]
+       mov      dword ptr [rsp+0x44], ecx
        jmp      SHORT G_M21860_IG13
                        ;; size=12 bbWeight=0.50 PerfScore 2.12
 G_M21860_IG12:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       mov      ecx, dword ptr [rsp+0x48]
+       mov      ecx, dword ptr [rsp+0x40]
        inc      ecx
-       mov      dword ptr [rsp+0x48], ecx
+       mov      dword ptr [rsp+0x40], ecx
                       ;; size=10 bbWeight=2 PerfScore 4.50
 G_M21860_IG13:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       mov      ecx, dword ptr [rsp+0x48]
-       mov      eax, dword ptr [rsp+0x60]
+       mov      ecx, dword ptr [rsp+0x40]
+       mov      eax, dword ptr [rsp+0x58]
        cmp      ecx, eax
        jge      SHORT G_M21860_IG16
        cmp      ecx, eax
        jae      G_M21860_IG24
-       mov      rax, bword ptr [rsp+0x58]
+       mov      rax, bword ptr [rsp+0x50]
        ; byrRegs +[rax]
        movzx    rcx, word  ptr [rax+2*rcx]
        cmp      ecx, 256
@@ -190,24 +186,24 @@ G_M21860_IG15:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
        jne      SHORT G_M21860_IG12
                        ;; size=18 bbWeight=4 PerfScore 18.00
 G_M21860_IG16:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       mov      edi, dword ptr [rsp+0x48]
-       mov      ebp, dword ptr [rsp+0x60]
-       cmp      edi, ebp
+       mov      ecx, dword ptr [rsp+0x40]
+       mov      eax, dword ptr [rsp+0x58]
+       cmp      ecx, eax
        jl       SHORT G_M21860_IG17
-       xor      ecx, ecx
+       xor      edx, edx
        jmp      SHORT G_M21860_IG18
                        ;; size=16 bbWeight=0.50 PerfScore 2.75
 G_M21860_IG17:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       cmp      edi, ebp
+       cmp      ecx, eax
        jae      G_M21860_IG24
-       mov      rcx, bword ptr [rsp+0x58]
-       ; byrRegs +[rcx]
-       mov      eax, edi
-       movzx    rcx, word  ptr [rcx+2*rax]
-       ; byrRegs -[rcx]
+       mov      rdx, bword ptr [rsp+0x50]
+       ; byrRegs +[rdx]
+       mov      ecx, ecx
+       movzx    rdx, word  ptr [rdx+2*rcx]
+       ; byrRegs -[rdx]
                         ;; size=19 bbWeight=0.50 PerfScore 2.25
 G_M21860_IG18:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       movzx    rcx, cx
+       movzx    rcx, dx
        call     [System.Reflection.TypeNameParser:CharToToken(ushort):int]
        ; gcr arg pop 0
        mov      edi, eax
@@ -215,7 +211,7 @@ G_M21860_IG18:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
        je       SHORT G_M21860_IG21
        cmp      edi, 7
        je       SHORT G_M21860_IG19
-       lea      rcx, [rsp+0x28]
+       lea      rcx, [rsp+0x20]
        call     [System.Reflection.TypeNameParser:Skip():this]
        ; gcrRegs -[rsi]
        ; gcr arg pop 0
@@ -223,7 +219,7 @@ G_M21860_IG18:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
 G_M21860_IG19:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        cmp      edi, 3
        je       SHORT G_M21860_IG20
-       lea      rcx, [rsp+0x28]
+       lea      rcx, [rsp+0x20]
        call     [System.Reflection.TypeNameParser:ParseError():this]
        ; gcrRegs -[rbx]
        ; gcr arg pop 0
@@ -231,12 +227,12 @@ G_M21860_IG19:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
                        ;; size=21 bbWeight=0.50 PerfScore 3.38
 G_M21860_IG20:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rbx]
-       lea      rcx, [rsp+0x28]
+       lea      rcx, [rsp+0x20]
        call     [System.Reflection.TypeNameParser:CheckTopLevelAssemblyQualifiedName():ubyte:this]
        ; gcr arg pop 0
        test     eax, eax
        je       G_M21860_IG10
-       lea      rcx, [rsp+0x28]
+       lea      rcx, [rsp+0x20]
        call     [System.Reflection.TypeNameParser:GetNextAssemblyName():System.String:this]
        ; gcrRegs +[rax]
        ; gcr arg pop 0
@@ -244,7 +240,7 @@ G_M21860_IG20:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcrRegs +[rsi]
        test     rsi, rsi
        je       G_M21860_IG10
-       lea      rcx, [rsp+0x28]
+       lea      rcx, [rsp+0x20]
        call     [System.Reflection.TypeNameParser:get_Peek():int:this]
        ; gcrRegs -[rax]
        ; gcr arg pop 0
@@ -255,7 +251,7 @@ G_M21860_IG20:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
                        ;; size=66 bbWeight=0.50 PerfScore 8.88
 G_M21860_IG21:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       lea      rdx, [rsp+0x28]
+       lea      rdx, [rsp+0x20]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        mov      r8, rsi
@@ -270,13 +266,12 @@ G_M21860_IG22:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byr
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
 G_M21860_IG23:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 104
+       add      rsp, 96
        pop      rbx
-       pop      rbp
        pop      rsi
        pop      rdi
        ret      
-                     ;; size=9 bbWeight=1 PerfScore 3.25
+                       ;; size=8 bbWeight=1 PerfScore 2.75
 G_M21860_IG24:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -299,7 +294,7 @@ G_M21860_IG25:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        int3     
                        ;; size=33 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 484, prolog size 39, PerfScore 144.71, instruction count 129, allocated bytes for code 484 (MethodHash=5b2daa9b) for method System.Reflection.RuntimeAssembly:GetType(System.String,ubyte,ubyte):System.Type:this (FullOpts)
+; Total bytes of code 470, prolog size 26, PerfScore 140.96, instruction count 124, allocated bytes for code 470 (MethodHash=5b2daa9b) for method System.Reflection.RuntimeAssembly:GetType(System.String,ubyte,ubyte):System.Type:this (FullOpts)
 ; ============================================================
 
...
  
-17 (-1.86%) : 28554.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetNextToken(byref,System.Func2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],ubyte,System.Func2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte]):Microsoft.CodeAnalysis.SyntaxToken:this (FullOpts)
@@ -11,21 +11,21 @@
 ;  V00 this         [V00,T06] (  6,  7   )     ref  ->  rdi         this class-hnd single-def <Microsoft.CodeAnalysis.SyntaxNavigator>
 ;  V01 RetBuf       [V01,T01] ( 17, 10   )   byref  ->  rsi         single-def
 ;  V02 arg1         [V02,T00] ( 10, 12.50)   byref  ->  rbx         single-def
-;  V03 arg2         [V03,T07] (  6,  7   )     ref  ->  [rsp+0x138]  class-hnd single-def <System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte]>
-;  V04 arg3         [V04,T47] (  1,  0.50)   ubyte  ->  [rsp+0x140]  single-def
+;  V03 arg2         [V03,T07] (  6,  7   )     ref  ->  rbp         class-hnd single-def <System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte]>
+;  V04 arg3         [V04,T47] (  1,  0.50)   ubyte  ->  [rsp+0x150]  single-def
 ;  V05 arg4         [V05,T24] (  4,  5   )     ref  ->  r14         class-hnd single-def <System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte]>
 ;  V06 loc0         [V06,T25] (  3,  4.50)   ubyte  ->  r15        
-;  V07 loc1         [V07    ] (  6,  3   )  struct (24) [rsp+0xC0]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.SyntaxToken>
+;  V07 loc1         [V07    ] (  6,  3   )  struct (24) [rsp+0xD0]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.SyntaxToken>
 ;* V08 loc2         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <Microsoft.CodeAnalysis.ChildSyntaxList+Enumerator>
 ;* V09 loc3         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <Microsoft.CodeAnalysis.ChildSyntaxList>
-;  V10 loc4         [V10    ] ( 15, 30   )  struct (24) [rsp+0xA8]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.SyntaxNodeOrToken>
-;  V11 loc5         [V11    ] (  6,  6   )  struct (24) [rsp+0x90]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.SyntaxToken>
-;  V12 loc6         [V12    ] (  6,  6   )  struct (24) [rsp+0x78]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.SyntaxToken>
+;  V10 loc4         [V10    ] ( 15, 30   )  struct (24) [rsp+0xB8]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.SyntaxNodeOrToken>
+;  V11 loc5         [V11    ] (  6,  6   )  struct (24) [rsp+0xA0]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.SyntaxToken>
+;  V12 loc6         [V12    ] (  6,  6   )  struct (24) [rsp+0x88]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.SyntaxToken>
 ;* V13 loc7         [V13    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] ld-addr-op <Microsoft.CodeAnalysis.SyntaxToken>
 ;  V14 OutArgs      [V14    ] (  1,  1   )  struct (40) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V15 tmp1         [V15    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] "spilled call-like call argument" <Microsoft.CodeAnalysis.SyntaxToken>
 ;* V16 tmp2         [V16    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] "spilled call-like call argument" <Microsoft.CodeAnalysis.SyntaxToken>
-;  V17 tmp3         [V17    ] (  2,  2   )  struct (40) [rsp+0x50]  do-not-enreg[XHS] must-init addr-exposed hidden-struct-arg "spilled call-like call argument" <Microsoft.CodeAnalysis.SyntaxTriviaList>
+;  V17 tmp3         [V17    ] (  2,  2   )  struct (40) [rsp+0x60]  do-not-enreg[XHS] must-init addr-exposed hidden-struct-arg "spilled call-like call argument" <Microsoft.CodeAnalysis.SyntaxTriviaList>
 ;  V18 tmp4         [V18,T40] (  2,  1   )     int  ->  rcx         "Inline return value spill temp"
 ;  V19 tmp5         [V19,T36] (  3,  3   )     ref  ->  rcx         class-hnd single-def "dup spill" <Microsoft.CodeAnalysis.GreenNode>
 ;* V20 tmp6         [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def
@@ -36,7 +36,7 @@
 ;* V25 tmp11        [V25    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <Microsoft.CodeAnalysis.ChildSyntaxList+Enumerator>
 ;* V26 tmp12        [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.SyntaxNode>
 ;* V27 tmp13        [V27    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V28 tmp14        [V28    ] (  6, 12   )  struct (24) [rsp+0x38]  do-not-enreg[XS] must-init addr-exposed "Inline return value spill temp" <Microsoft.CodeAnalysis.SyntaxToken>
+;  V28 tmp14        [V28    ] (  6, 12   )  struct (24) [rsp+0x48]  do-not-enreg[XS] must-init addr-exposed "Inline return value spill temp" <Microsoft.CodeAnalysis.SyntaxToken>
 ;* V29 tmp15        [V29    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] ld-addr-op "Inline ldloca(s) first use temp" <Microsoft.CodeAnalysis.SyntaxToken>
 ;  V30 tmp16        [V30,T08] (  2,  8   )     ref  ->   r8         class-hnd "impAppendStmt" <Microsoft.CodeAnalysis.SyntaxNode>
 ;  V31 tmp17        [V31,T09] (  2,  8   )     ref  ->  rdx         class-hnd "impAppendStmt" <Microsoft.CodeAnalysis.GreenNode>
@@ -47,16 +47,16 @@
 ;  V36 tmp22        [V36,T02] (  3, 12   )     ref  ->  rdx         class-hnd "dup spill" <Microsoft.CodeAnalysis.GreenNode>
 ;* V37 tmp23        [V37    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V38 tmp24        [V38,T17] (  3,  6   )     ref  ->   r8         class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.SyntaxNode>
-;  V39 tmp25        [V39,T21] (  2,  4   )     int  ->  rdx         "Inline return value spill temp"
-;  V40 tmp26        [V40,T03] (  3, 12   )     ref  ->  registers   class-hnd "dup spill" <Microsoft.CodeAnalysis.GreenNode>
+;  V39 tmp25        [V39,T21] (  2,  4   )     int  ->   r8         "Inline return value spill temp"
+;  V40 tmp26        [V40,T03] (  3, 12   )     ref  ->   r8         class-hnd "dup spill" <Microsoft.CodeAnalysis.GreenNode>
 ;* V41 tmp27        [V41    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V42 tmp28        [V42    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] "Inline return value spill temp" <Microsoft.CodeAnalysis.SyntaxToken>
 ;* V43 tmp29        [V43    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] ld-addr-op "Inline ldloca(s) first use temp" <Microsoft.CodeAnalysis.SyntaxToken>
-;  V44 tmp30        [V44,T10] (  2,  8   )     ref  ->  rdx         class-hnd "impAppendStmt" <Microsoft.CodeAnalysis.SyntaxNode>
-;  V45 tmp31        [V45,T11] (  2,  8   )     ref  ->  rax         class-hnd "impAppendStmt" <Microsoft.CodeAnalysis.GreenNode>
+;  V44 tmp30        [V44,T10] (  2,  8   )     ref  ->   r8         class-hnd "impAppendStmt" <Microsoft.CodeAnalysis.SyntaxNode>
+;  V45 tmp31        [V45,T11] (  2,  8   )     ref  ->  rdx         class-hnd "impAppendStmt" <Microsoft.CodeAnalysis.GreenNode>
 ;* V46 tmp32        [V46    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.SyntaxToken>
-;  V47 tmp33        [V47,T14] (  2,  8   )     int  ->   r8         "Inlining Arg"
-;  V48 tmp34        [V48,T15] (  2,  8   )     int  ->  r10         "Inlining Arg"
+;  V47 tmp33        [V47,T14] (  2,  8   )     int  ->   r9         "Inlining Arg"
+;  V48 tmp34        [V48,T15] (  2,  8   )     int  ->  rax         "Inlining Arg"
 ;* V49 tmp35        [V49    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "Inlining Arg" <Microsoft.CodeAnalysis.SyntaxToken>
 ;* V50 tmp36        [V50    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] "Inlining Arg" <Microsoft.CodeAnalysis.SyntaxToken>
 ;* V51 tmp37        [V51,T39] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
@@ -68,27 +68,27 @@
 ;* V57 tmp43        [V57,T16] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V58 tmp44        [V58,T04] (  3, 12   )     int  ->  rcx         "Inline stloc first use temp"
 ;  V59 tmp45        [V59,T27] (  2,  4   )   byref  ->  rax         single-def "Single return block return value"
-;  V60 tmp46        [V60    ] (  2,  1   )     ref  ->  [rsp+0xC0]  do-not-enreg[X] addr-exposed "field V07.<Parent>k__BackingField (fldOffset=0x0)" P-DEP
-;  V61 tmp47        [V61    ] (  3,  1.50)     ref  ->  [rsp+0xC8]  do-not-enreg[X] addr-exposed "field V07.<Node>k__BackingField (fldOffset=0x8)" P-DEP
-;  V62 tmp48        [V62    ] (  2,  1   )     int  ->  [rsp+0xD0]  do-not-enreg[X] addr-exposed "field V07.<Index>k__BackingField (fldOffset=0x10)" P-DEP
-;  V63 tmp49        [V63    ] (  2,  1   )     int  ->  [rsp+0xD4]  do-not-enreg[X] addr-exposed "field V07.<Position>k__BackingField (fldOffset=0x14)" P-DEP
-;  V64 tmp50        [V64,T38] (  2,  2.50)     ref  ->  r13         single-def "field V08._node (fldOffset=0x0)" P-INDEP
+;  V60 tmp46        [V60    ] (  2,  1   )     ref  ->  [rsp+0xD0]  do-not-enreg[X] addr-exposed "field V07.<Parent>k__BackingField (fldOffset=0x0)" P-DEP
+;  V61 tmp47        [V61    ] (  3,  1.50)     ref  ->  [rsp+0xD8]  do-not-enreg[X] addr-exposed "field V07.<Node>k__BackingField (fldOffset=0x8)" P-DEP
+;  V62 tmp48        [V62    ] (  2,  1   )     int  ->  [rsp+0xE0]  do-not-enreg[X] addr-exposed "field V07.<Index>k__BackingField (fldOffset=0x10)" P-DEP
+;  V63 tmp49        [V63    ] (  2,  1   )     int  ->  [rsp+0xE4]  do-not-enreg[X] addr-exposed "field V07.<Position>k__BackingField (fldOffset=0x14)" P-DEP
+;  V64 tmp50        [V64,T38] (  2,  2.50)     ref  ->  [rsp+0x38]  spill-single-def "field V08._node (fldOffset=0x0)" P-INDEP
 ;  V65 tmp51        [V65,T26] (  2,  4.50)     int  ->  r12         single-def "field V08._count (fldOffset=0x8)" P-INDEP
-;  V66 tmp52        [V66,T05] (  4, 10.50)     int  ->  [rsp+0x34]  "field V08._childIndex (fldOffset=0xc)" P-INDEP
+;  V66 tmp52        [V66,T05] (  4, 10.50)     int  ->  [rsp+0x44]  "field V08._childIndex (fldOffset=0xc)" P-INDEP
 ;* V67 tmp53        [V67    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V09._node (fldOffset=0x0)" P-INDEP
 ;* V68 tmp54        [V68    ] (  0,  0   )     int  ->  zero-ref    single-def "field V09._count (fldOffset=0x8)" P-INDEP
-;  V69 tmp55        [V69    ] (  4,  8   )     ref  ->  [rsp+0xA8]  do-not-enreg[X] addr-exposed "field V10._nodeOrParent (fldOffset=0x0)" P-DEP
-;  V70 tmp56        [V70    ] (  6, 12   )     ref  ->  [rsp+0xB0]  do-not-enreg[X] addr-exposed "field V10._token (fldOffset=0x8)" P-DEP
-;  V71 tmp57        [V71    ] (  3,  6   )     int  ->  [rsp+0xB8]  do-not-enreg[X] addr-exposed "field V10._position (fldOffset=0x10)" P-DEP
-;  V72 tmp58        [V72    ] (  5, 10   )     int  ->  [rsp+0xBC]  do-not-enreg[X] addr-exposed "field V10._tokenIndex (fldOffset=0x14)" P-DEP
-;  V73 tmp59        [V73    ] (  2,  2.50)     ref  ->  [rsp+0x90]  do-not-enreg[X] addr-exposed "field V11.<Parent>k__BackingField (fldOffset=0x0)" P-DEP
-;  V74 tmp60        [V74    ] (  3,  4.50)     ref  ->  [rsp+0x98]  do-not-enreg[X] addr-exposed "field V11.<Node>k__BackingField (fldOffset=0x8)" P-DEP
-;  V75 tmp61        [V75    ] (  2,  2.50)     int  ->  [rsp+0xA0]  do-not-enreg[X] addr-exposed "field V11.<Index>k__BackingField (fldOffset=0x10)" P-DEP
-;  V76 tmp62        [V76    ] (  2,  2.50)     int  ->  [rsp+0xA4]  do-not-enreg[X] addr-exposed "field V11.<Position>k__BackingField (fldOffset=0x14)" P-DEP
-;  V77 tmp63        [V77    ] (  2,  2.50)     ref  ->  [rsp+0x78]  do-not-enreg[X] addr-exposed "field V12.<Parent>k__BackingField (fldOffset=0x0)" P-DEP
-;  V78 tmp64        [V78    ] (  3,  4.50)     ref  ->  [rsp+0x80]  do-not-enreg[X] addr-exposed "field V12.<Node>k__BackingField (fldOffset=0x8)" P-DEP
-;  V79 tmp65        [V79    ] (  2,  2.50)     int  ->  [rsp+0x88]  do-not-enreg[X] addr-exposed "field V12.<Index>k__BackingField (fldOffset=0x10)" P-DEP
-;  V80 tmp66        [V80    ] (  2,  2.50)     int  ->  [rsp+0x8C]  do-not-enreg[X] addr-exposed "field V12.<Position>k__BackingField (fldOffset=0x14)" P-DEP
+;  V69 tmp55        [V69    ] (  4,  8   )     ref  ->  [rsp+0xB8]  do-not-enreg[X] addr-exposed "field V10._nodeOrParent (fldOffset=0x0)" P-DEP
+;  V70 tmp56        [V70    ] (  6, 12   )     ref  ->  [rsp+0xC0]  do-not-enreg[X] addr-exposed "field V10._token (fldOffset=0x8)" P-DEP
+;  V71 tmp57        [V71    ] (  3,  6   )     int  ->  [rsp+0xC8]  do-not-enreg[X] addr-exposed "field V10._position (fldOffset=0x10)" P-DEP
+;  V72 tmp58        [V72    ] (  5, 10   )     int  ->  [rsp+0xCC]  do-not-enreg[X] addr-exposed "field V10._tokenIndex (fldOffset=0x14)" P-DEP
+;  V73 tmp59        [V73    ] (  2,  2.50)     ref  ->  [rsp+0xA0]  do-not-enreg[X] addr-exposed "field V11.<Parent>k__BackingField (fldOffset=0x0)" P-DEP
+;  V74 tmp60        [V74    ] (  3,  4.50)     ref  ->  [rsp+0xA8]  do-not-enreg[X] addr-exposed "field V11.<Node>k__BackingField (fldOffset=0x8)" P-DEP
+;  V75 tmp61        [V75    ] (  2,  2.50)     int  ->  [rsp+0xB0]  do-not-enreg[X] addr-exposed "field V11.<Index>k__BackingField (fldOffset=0x10)" P-DEP
+;  V76 tmp62        [V76    ] (  2,  2.50)     int  ->  [rsp+0xB4]  do-not-enreg[X] addr-exposed "field V11.<Position>k__BackingField (fldOffset=0x14)" P-DEP
+;  V77 tmp63        [V77    ] (  2,  2.50)     ref  ->  [rsp+0x88]  do-not-enreg[X] addr-exposed "field V12.<Parent>k__BackingField (fldOffset=0x0)" P-DEP
+;  V78 tmp64        [V78    ] (  3,  4.50)     ref  ->  [rsp+0x90]  do-not-enreg[X] addr-exposed "field V12.<Node>k__BackingField (fldOffset=0x8)" P-DEP
+;  V79 tmp65        [V79    ] (  2,  2.50)     int  ->  [rsp+0x98]  do-not-enreg[X] addr-exposed "field V12.<Index>k__BackingField (fldOffset=0x10)" P-DEP
+;  V80 tmp66        [V80    ] (  2,  2.50)     int  ->  [rsp+0x9C]  do-not-enreg[X] addr-exposed "field V12.<Position>k__BackingField (fldOffset=0x14)" P-DEP
 ;* V81 tmp67        [V81    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V22._node (fldOffset=0x0)" P-INDEP
 ;  V82 tmp68        [V82,T43] (  2,  1   )     int  ->  rax         single-def "field V22._count (fldOffset=0x8)" P-INDEP
 ;  V83 tmp69        [V83,T41] (  2,  1   )     ref  ->  r13         "field V23._node (fldOffset=0x0)" P-INDEP
@@ -112,20 +112,20 @@
 ;* V101 tmp87       [V101    ] (  0,  0   )     ref  ->  zero-ref    "field V49.<Node>k__BackingField (fldOffset=0x8)" P-INDEP
 ;* V102 tmp88       [V102    ] (  0,  0   )     int  ->  zero-ref    "field V49.<Index>k__BackingField (fldOffset=0x10)" P-INDEP
 ;* V103 tmp89       [V103    ] (  0,  0   )     int  ->  zero-ref    "field V49.<Position>k__BackingField (fldOffset=0x14)" P-INDEP
-;  V104 tmp90       [V104,T30] (  2,  4   )     ref  ->   r9         "field V52.<Parent>k__BackingField (fldOffset=0x0)" P-INDEP
-;  V105 tmp91       [V105,T31] (  2,  4   )     ref  ->  r11         "field V52.<Node>k__BackingField (fldOffset=0x8)" P-INDEP
+;  V104 tmp90       [V104,T30] (  2,  4   )     ref  ->  r10         "field V52.<Parent>k__BackingField (fldOffset=0x0)" P-INDEP
+;  V105 tmp91       [V105,T31] (  2,  4   )     ref  ->  [rsp+0x30]  "field V52.<Node>k__BackingField (fldOffset=0x8)" P-INDEP
 ;  V106 tmp92       [V106,T34] (  2,  4   )     int  ->  registers   "field V52.<Index>k__BackingField (fldOffset=0x10)" P-INDEP
-;  V107 tmp93       [V107,T35] (  2,  4   )     int  ->  registers   "field V52.<Position>k__BackingField (fldOffset=0x14)" P-INDEP
-;  V108 tmp94       [V108,T18] (  3,  6   )     ref  ->  rdx         "V42.[000..008)"
-;  V109 tmp95       [V109,T19] (  3,  6   )     ref  ->  rax         "V42.[008..016)"
-;  V110 tmp96       [V110,T22] (  3,  6   )     int  ->  r10         "V42.[016..020)"
-;  V111 tmp97       [V111,T23] (  3,  6   )     int  ->   r8         "V42.[020..024)"
+;  V107 tmp93       [V107,T35] (  2,  4   )     int  ->  r11         "field V52.<Position>k__BackingField (fldOffset=0x14)" P-INDEP
+;  V108 tmp94       [V108,T18] (  3,  6   )     ref  ->   r8         "V42.[000..008)"
+;  V109 tmp95       [V109,T19] (  3,  6   )     ref  ->  rdx         "V42.[008..016)"
+;  V110 tmp96       [V110,T22] (  3,  6   )     int  ->  rax         "V42.[016..020)"
+;  V111 tmp97       [V111,T23] (  3,  6   )     int  ->   r9         "V42.[020..024)"
 ;* V112 tmp98       [V112    ] (  0,  0   )     ref  ->  zero-ref    "V43.[000..008)"
 ;* V113 tmp99       [V113    ] (  0,  0   )     ref  ->  zero-ref    "V43.[008..016)"
 ;* V114 tmp100      [V114    ] (  0,  0   )     int  ->  zero-ref    "V43.[016..020)"
 ;* V115 tmp101      [V115    ] (  0,  0   )     int  ->  zero-ref    "V43.[020..024)"
 ;
-; Lcl frame size = 216
+; Lcl frame size = 232
 
 G_M12762_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     r15
@@ -136,17 +136,17 @@ G_M12762_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        push     rsi
        push     rbp
        push     rbx
-       sub      rsp, 216
+       sub      rsp, 232
        vzeroupper 
        xor      eax, eax
-       mov      qword ptr [rsp+0x38], rax
+       mov      qword ptr [rsp+0x48], rax
        vxorps   xmm4, xmm4, xmm4
-       vmovdqu  ymmword ptr [rsp+0x40], ymm4
-       vmovdqu  ymmword ptr [rsp+0x60], ymm4
-       vmovdqu  ymmword ptr [rsp+0x80], ymm4
-       vmovdqu  ymmword ptr [rsp+0xA0], ymm4
-       vmovdqa  xmmword ptr [rsp+0xC0], xmm4
-       mov      qword ptr [rsp+0xD0], rax
+       vmovdqu  ymmword ptr [rsp+0x50], ymm4
+       vmovdqu  ymmword ptr [rsp+0x70], ymm4
+       vmovdqu  ymmword ptr [rsp+0x90], ymm4
+       vmovdqu  ymmword ptr [rsp+0xB0], ymm4
+       vmovdqa  xmmword ptr [rsp+0xD0], xmm4
+       mov      qword ptr [rsp+0xE0], rax
        mov      rdi, rcx
        ; gcrRegs +[rdi]
        mov      rsi, rdx
@@ -155,17 +155,17 @@ G_M12762_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; byrRegs +[rbx]
        mov      rbp, r9
        ; gcrRegs +[rbp]
-       mov      r14, gword ptr [rsp+0x148]
+       mov      r14, gword ptr [rsp+0x158]
        ; gcrRegs +[r14]
                        ;; size=100 bbWeight=1 PerfScore 23.83
 G_M12762_IG02:        ; bbWeight=1, gcrefRegs=40A0 {rbp rdi r14}, byrefRegs=0048 {rbx rsi}, byref
        cmp      gword ptr [rbx], 0
-       je       G_M12762_IG22
+       je       G_M12762_IG21
                        ;; size=10 bbWeight=1 PerfScore 4.00
 G_M12762_IG03:        ; bbWeight=0.50, gcrefRegs=40A0 {rbp rdi r14}, byrefRegs=0048 {rbx rsi}, byref, isz
-       cmp      byte  ptr [rsp+0x140], 0
+       cmp      byte  ptr [rsp+0x150], 0
        je       SHORT G_M12762_IG04
-       lea      rdx, [rsp+0x50]
+       lea      rdx, [rsp+0x60]
        mov      rcx, rbx
        ; byrRegs +[rcx]
        call     [Microsoft.CodeAnalysis.SyntaxToken:get_TrailingTrivia():Microsoft.CodeAnalysis.SyntaxTriviaList:this]
@@ -173,8 +173,8 @@ G_M12762_IG03:        ; bbWeight=0.50, gcrefRegs=40A0 {rbp rdi r14}, byrefRegs=0
        ; gcr arg pop 0
        mov      gword ptr [rsp+0x20], r14
        ; gcr arg write
-       lea      r8, [rsp+0x50]
-       lea      rdx, [rsp+0xC0]
+       lea      r8, [rsp+0x60]
+       lea      rdx, [rsp+0xD0]
        mov      rcx, rdi
        ; gcrRegs +[rcx]
        mov      r9, rbp
@@ -182,7 +182,7 @@ G_M12762_IG03:        ; bbWeight=0.50, gcrefRegs=40A0 {rbp rdi r14}, byrefRegs=0
        call     [Microsoft.CodeAnalysis.SyntaxNavigator:GetFirstToken(Microsoft.CodeAnalysis.SyntaxTriviaList,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte]):Microsoft.CodeAnalysis.SyntaxToken:this]
        ; gcrRegs -[rcx r9]
        ; gcr arg pop 0
-       mov      rcx, gword ptr [rsp+0xC8]
+       mov      rcx, gword ptr [rsp+0xD8]
        ; gcrRegs +[rcx]
        test     rcx, rcx
        je       SHORT G_M12762_IG04
@@ -190,7 +190,7 @@ G_M12762_IG03:        ; bbWeight=0.50, gcrefRegs=40A0 {rbp rdi r14}, byrefRegs=0
        ; gcrRegs -[rcx]
        test     ecx, ecx
        je       SHORT G_M12762_IG04
-       mov      rdx, gword ptr [rsp+0xC0]
+       mov      rdx, gword ptr [rsp+0xD0]
        ; gcrRegs +[rdx]
        mov      rcx, rsi
        ; byrRegs +[rcx]
@@ -199,16 +199,16 @@ G_M12762_IG03:        ; bbWeight=0.50, gcrefRegs=40A0 {rbp rdi r14}, byrefRegs=0
        ; byrRegs -[rcx rbx]
        lea      rcx, bword ptr [rsi+0x08]
        ; byrRegs +[rcx]
-       mov      rdx, gword ptr [rsp+0xC8]
+       mov      rdx, gword ptr [rsp+0xD8]
        ; gcrRegs +[rdx]
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        ; gcrRegs -[rdx]
        ; byrRegs -[rcx]
-       mov      ecx, dword ptr [rsp+0xD0]
+       mov      ecx, dword ptr [rsp+0xE0]
        mov      dword ptr [rsi+0x10], ecx
-       mov      ecx, dword ptr [rsp+0xD4]
+       mov      ecx, dword ptr [rsp+0xE4]
        mov      dword ptr [rsi+0x14], ecx
-       jmp      G_M12762_IG23
+       jmp      G_M12762_IG22
                         ;; size=133 bbWeight=0.50 PerfScore 14.25
 G_M12762_IG04:        ; bbWeight=0.50, gcrefRegs=40A0 {rbp rdi r14}, byrefRegs=0048 {rbx rsi}, byref
        ; gcrRegs +[rbp rdi r14]
@@ -223,46 +223,48 @@ G_M12762_IG04:        ; bbWeight=0.50, gcrefRegs=40A0 {rbp rdi r14}, byrefRegs=0
        ; gcr arg pop 0
        mov      r12d, eax
        mov      ecx, -1
-       jmp      G_M12762_IG17
-                       ;; size=29 bbWeight=0.50 PerfScore 4.88
-G_M12762_IG05:        ; bbWeight=2, gcrefRegs=60A0 {rbp rdi r13 r14}, byrefRegs=0048 {rbx rsi}, byref, isz
-       lea      rcx, [rsp+0xA8]
+       mov      gword ptr [rsp+0x38], r13
+       ; GC ptr vars +{V64}
+       jmp      G_M12762_IG16
+                       ;; size=34 bbWeight=0.50 PerfScore 5.38
+G_M12762_IG05:        ; bbWeight=2, gcVars=0000004000000000 {V64}, gcrefRegs=60A0 {rbp rdi r13 r14}, byrefRegs=0048 {rbx rsi}, gcvars, byref, isz
+       lea      rcx, [rsp+0xB8]
        mov      rdx, r13
        ; gcrRegs +[rdx]
...
  
-4 (-1.10%) : 30844.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:g_findInitializer|1060(System.Collections.Immutable.ImmutableArray1[System.Collections.Immutable.ImmutableArray1[Microsoft.CodeAnalysis.CSharp.Symbols.FieldOrPropertyInitializer]],int,Microsoft.CodeAnalysis.SyntaxTree,byref,byref):ubyte (FullOpts)
@@ -53,7 +53,7 @@
 ;  V42 tmp33        [V42    ] (  2,  4   )     ref  ->  [rsp+0x38]  do-not-enreg[X] addr-exposed "field V21.Syntax (fldOffset=0x8)" P-DEP
 ;  V43 tmp34        [V43,T04] (  3, 12   )   byref  ->  rcx         "BlockOp address local"
 ;  V44 cse0         [V44,T16] (  2,  4   )     int  ->  rcx         "CSE - aggressive"
-;  V45 cse1         [V45,T03] (  5, 12.50)     int  ->  [rsp+0x2C]  "CSE - aggressive"
+;  V45 cse1         [V45,T03] (  5, 12.50)     int  ->  [rsp+0x2C]  spill-single-def "CSE - aggressive"
 ;  V46 cse2         [V46,T10] (  3,  6   )     int  ->  r14         "CSE - aggressive"
 ;  TEMP_01                                     int  ->  [rsp+0x54]
 ;
@@ -198,17 +198,16 @@ G_M25641_IG11:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=100
        mov      edi, eax
        test     edi, edi
        jl       SHORT G_M25641_IG09
-       mov      ebx, dword ptr [rsp+0x2C]
-       mov      r14d, dword ptr [rsi]
+       mov      ebx, dword ptr [rsi]
        mov      rcx, r12
        ; gcrRegs +[rcx]
        mov      edx, edi
        call     [Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:<TryCalculateSyntaxOffsetOfPositionInInitializer>g__getPrecedingInitializersLength|106_2(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.FieldOrPropertyInitializer],int):int]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       add      eax, r14d
+       add      eax, ebx
        mov      dword ptr [rsi], eax
-       cmp      edi, ebx
+       cmp      edi, dword ptr [rsp+0x2C]
        jae      SHORT G_M25641_IG13
        mov      eax, edi
        shl      rax, 4
@@ -220,7 +219,7 @@ G_M25641_IG11:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=100
        ; byrRegs -[rbp]
        call     CORINFO_HELP_ASSIGN_BYREF
        mov      eax, 1
-                       ;; size=73 bbWeight=0.50 PerfScore 9.12
+                       ;; size=69 bbWeight=0.50 PerfScore 9.50
 G_M25641_IG12:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 88
        pop      rbx
@@ -244,7 +243,7 @@ G_M25641_IG14:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 364, prolog size 26, PerfScore 191.33, instruction count 116, allocated bytes for code 364 (MethodHash=36369bd6) for method Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:<TryCalculateSyntaxOffsetOfPositionInInitializer>g__findInitializer|106_0(System.Collections.Immutable.ImmutableArray`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.FieldOrPropertyInitializer]],int,Microsoft.CodeAnalysis.SyntaxTree,byref,byref):ubyte (FullOpts)
+; Total bytes of code 360, prolog size 26, PerfScore 191.71, instruction count 115, allocated bytes for code 360 (MethodHash=36369bd6) for method Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:<TryCalculateSyntaxOffsetOfPositionInInitializer>g__findInitializer|106_0(System.Collections.Immutable.ImmutableArray`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.FieldOrPropertyInitializer]],int,Microsoft.CodeAnalysis.SyntaxTree,byref,byref):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+11 (+2.69%) : 15890.dasm - System.Linq.Enumerable:TryGetFirstMicrosoft.ML.SchemaShape+Column:Microsoft.ML.SchemaShape+Column (FullOpts)
@@ -10,32 +10,30 @@
 ;  V00 RetBuf       [V00,T02] (  6,  6   )   byref  ->  [rbp+0x10]  EH-live single-def
 ;  V01 arg0         [V01,T03] (  4,  4   )     ref  ->  rdx         class-hnd single-def <System.Collections.Generic.IEnumerable`1[Microsoft.ML.SchemaShape+Column]>
 ;  V02 arg1         [V02,T00] (  5, 19   )     ref  ->  rsi         class-hnd single-def <System.Func`2[Microsoft.ML.SchemaShape+Column,ubyte]>
-;  V03 arg2         [V03,T04] (  4,  4   )   byref  ->  rdi         single-def
-;  V04 loc0         [V04,T01] (  7, 20   )     ref  ->  [rbp-0x80]  class-hnd EH-live spill-single-def <<unknown class>>
-;  V05 loc1         [V05    ] (  3, 17   )  struct (32) [rbp-0x38]  do-not-enreg[XS] must-init addr-exposed <Microsoft.ML.SchemaShape+Column>
-;  V06 loc2         [V06,T05] (  2,  2   )  struct (32) [rbp-0x58]  do-not-enreg[SZ] must-init EH-live <Microsoft.ML.SchemaShape+Column>
+;  V03 arg2         [V03,T04] (  4,  4   )   byref  ->  r14         single-def
+;  V04 loc0         [V04,T01] (  7, 20   )     ref  ->  [rbp-0x88]  class-hnd EH-live single-def <<unknown class>>
+;  V05 loc1         [V05    ] (  3, 17   )  struct (32) [rbp-0x40]  do-not-enreg[XS] must-init addr-exposed <Microsoft.ML.SchemaShape+Column>
+;  V06 loc2         [V06,T05] (  2,  2   )  struct (32) [rbp-0x60]  do-not-enreg[SZ] must-init EH-live <Microsoft.ML.SchemaShape+Column>
 ;* V07 loc3         [V07    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[S] ld-addr-op <Microsoft.ML.SchemaShape+Column>
 ;  V08 OutArgs      [V08    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V09 tmp1         [V09    ] (  2, 32   )  struct (32) [rbp-0x78]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.ML.SchemaShape+Column>
+;  V09 tmp1         [V09    ] (  2, 32   )  struct (32) [rbp-0x80]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.ML.SchemaShape+Column>
 ;  V10 PSPSym       [V10,T06] (  1,  1   )    long  ->  [rbp-0x90]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 152
+; Lcl frame size = 144
 
 G_M60936_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
+       push     r14
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 152
+       sub      rsp, 144
        vzeroupper 
        lea      rbp, [rsp+0xB0]
-       xor      eax, eax
-       mov      qword ptr [rbp-0x78], rax
        vxorps   xmm4, xmm4, xmm4
-       vmovdqu  ymmword ptr [rbp-0x70], ymm4
-       vmovdqu  ymmword ptr [rbp-0x50], ymm4
-       vmovdqa  xmmword ptr [rbp-0x30], xmm4
-       mov      qword ptr [rbp-0x20], rax
+       vmovdqu  ymmword ptr [rbp-0x80], ymm4
+       vmovdqu  ymmword ptr [rbp-0x60], ymm4
+       vmovdqu  ymmword ptr [rbp-0x40], ymm4
        mov      qword ptr [rbp-0x90], rsp
        mov      bword ptr [rbp+0x10], rcx
        ; GC ptr vars +{V00}
@@ -43,10 +41,10 @@ G_M60936_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; byrRegs +[rbx]
        mov      rsi, r8
        ; gcrRegs +[rsi]
-       mov      rdi, r9
-       ; byrRegs +[rdi]
-                       ;; size=71 bbWeight=1 PerfScore 17.08
-G_M60936_IG02:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=0044 {rdx rsi}, byrefRegs=0088 {rbx rdi}, gcvars, byref
+       mov      r14, r9
+       ; byrRegs +[r14]
+                       ;; size=63 bbWeight=1 PerfScore 15.83
+G_M60936_IG02:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=0044 {rdx rsi}, byrefRegs=4008 {rbx r14}, gcvars, byref
        ; gcrRegs +[rdx]
        test     rdx, rdx
        je       G_M60936_IG18
@@ -58,35 +56,37 @@ G_M60936_IG02:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=004
        call     [r11]<unknown method>
        ; gcrRegs -[rcx rdx] +[rax]
        ; gcr arg pop 0
-       mov      rcx, rax
-       ; gcrRegs +[rcx]
-       mov      gword ptr [rbp-0x80], rcx
+       mov      rdi, rax
+       ; gcrRegs +[rdi]
+       mov      gword ptr [rbp-0x88], rdi
        ; GC ptr vars +{V04}
-                     ;; size=41 bbWeight=1 PerfScore 7.25
-G_M60936_IG03:        ; bbWeight=1, gcVars=0000000000000006 {V00 V04}, gcrefRegs=0042 {rcx rsi}, byrefRegs=0088 {rbx rdi}, gcvars, byref, isz
+                        ;; size=44 bbWeight=1 PerfScore 7.25
+G_M60936_IG03:        ; bbWeight=1, gcVars=0000000000000006 {V00 V04}, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008 {rbx r14}, gcvars, byref, isz
        ; gcrRegs -[rax]
+       mov      rcx, rdi
+       ; gcrRegs +[rcx]
        mov      r11, 0xD1FFAB1E      ; function address
        call     [r11]<unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
        je       SHORT G_M60936_IG11
-                      ;; size=17 bbWeight=1 PerfScore 4.50
-G_M60936_IG04:        ; bbWeight=8, gcrefRegs=0040 {rsi}, byrefRegs=0088 {rbx rdi}, byref
-       lea      rdx, [rbp-0x38]
-       mov      rcx, gword ptr [rbp-0x80]
+                        ;; size=20 bbWeight=1 PerfScore 4.75
+G_M60936_IG04:        ; bbWeight=8, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008 {rbx r14}, byref
+       lea      rdx, [rbp-0x40]
+       mov      rcx, rdi
        ; gcrRegs +[rcx]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
        call     [r11]<unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-                       ;; size=21 bbWeight=8 PerfScore 38.00
+                     ;; size=20 bbWeight=8 PerfScore 32.00
 G_M60936_IG05:        ; bbWeight=8, nogc, extend
-       vmovdqu  ymm0, ymmword ptr [rbp-0x38]
-       vmovdqu  ymmword ptr [rbp-0x78], ymm0
+       vmovdqu  ymm0, ymmword ptr [rbp-0x40]
+       vmovdqu  ymmword ptr [rbp-0x80], ymm0
                        ;; size=10 bbWeight=8 PerfScore 40.00
 G_M60936_IG06:        ; bbWeight=8, isz, extend
-       lea      rdx, [rbp-0x78]
+       lea      rdx, [rbp-0x80]
        mov      rcx, gword ptr [rsi+0x08]
        ; gcrRegs +[rcx]
        call     [rsi+0x18]<unknown method>
@@ -94,7 +94,7 @@ G_M60936_IG06:        ; bbWeight=8, isz, extend
        ; gcr arg pop 0
        test     eax, eax
        jne      SHORT G_M60936_IG08
-       mov      rcx, gword ptr [rbp-0x80]
+       mov      rcx, rdi
        ; gcrRegs +[rcx]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
        call     [r11]<unknown method>
@@ -102,36 +102,38 @@ G_M60936_IG06:        ; bbWeight=8, isz, extend
        ; gcr arg pop 0
        test     eax, eax
        jne      SHORT G_M60936_IG04
-                      ;; size=36 bbWeight=8 PerfScore 98.00
-G_M60936_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0088 {rbx rdi}, byref, isz
+                      ;; size=35 bbWeight=8 PerfScore 92.00
+G_M60936_IG07:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=4008 {rbx r14}, byref, isz
        ; gcrRegs -[rsi]
        jmp      SHORT G_M60936_IG11
                        ;; size=2 bbWeight=1 PerfScore 2.00
-G_M60936_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0088 {rbx rdi}, byref
-       mov      byte  ptr [rdi], 1
-                       ;; size=3 bbWeight=1 PerfScore 1.00
+G_M60936_IG08:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=4008 {rbx r14}, byref
+       mov      byte  ptr [r14], 1
+                       ;; size=4 bbWeight=1 PerfScore 1.00
 G_M60936_IG09:        ; bbWeight=1, nogc, extend
-       vmovdqu  ymm0, ymmword ptr [rbp-0x38]
-       vmovdqu  ymmword ptr [rbp-0x58], ymm0
+       vmovdqu  ymm0, ymmword ptr [rbp-0x40]
+       vmovdqu  ymmword ptr [rbp-0x60], ymm0
                        ;; size=10 bbWeight=1 PerfScore 5.00
 G_M60936_IG10:        ; bbWeight=1, isz, extend
        jmp      SHORT G_M60936_IG12
                        ;; size=2 bbWeight=1 PerfScore 2.00
-G_M60936_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0088 {rbx rdi}, byref, isz
-       mov      rcx, gword ptr [rbp-0x80]
+G_M60936_IG11:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=4008 {rbx r14}, byref, isz
+       mov      rcx, rdi
        ; gcrRegs +[rcx]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
        ; GC ptr vars -{V04}
        call     [r11]<unknown method>
-       ; gcrRegs -[rcx]
+       ; gcrRegs -[rcx rdi]
        ; gcr arg pop 0
        jmp      SHORT G_M60936_IG16
-                      ;; size=19 bbWeight=1 PerfScore 6.25
-G_M60936_IG12:        ; bbWeight=1, gcVars=0000000000000006 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, gcvars, byref
-       ; byrRegs -[rdi]
+                      ;; size=18 bbWeight=1 PerfScore 5.50
+G_M60936_IG12:        ; bbWeight=1, gcVars=0000000000000006 {V00 V04}, gcrefRegs=0080 {rdi}, byrefRegs=0008 {rbx}, gcvars, byref
+       ; gcrRegs +[rdi]
+       ; byrRegs -[r14]
        ; GC ptr vars +{V01 V04}
        mov      rcx, rsp
        call     G_M60936_IG20
+       ; gcrRegs -[rdi]
        ; byrRegs -[rbx]
                        ;; size=8 bbWeight=1 PerfScore 1.25
 G_M60936_IG13:        ; bbWeight=1, nogc, extend
@@ -141,7 +143,7 @@ G_M60936_IG14:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=000
        ; GC ptr vars -{V01 V04}
        mov      rdi, bword ptr [rbp+0x10]
        ; byrRegs +[rdi]
-       lea      rsi, bword ptr [rbp-0x58]
+       lea      rsi, bword ptr [rbp-0x60]
        ; byrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_BYREF
        call     CORINFO_HELP_ASSIGN_BYREF
@@ -152,16 +154,17 @@ G_M60936_IG14:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=000
                        ;; size=29 bbWeight=1 PerfScore 6.50
 G_M60936_IG15:        ; bbWeight=1, epilog, nogc, extend
        vzeroupper 
-       add      rsp, 152
+       add      rsp, 144
        pop      rbx
        pop      rsi
        pop      rdi
+       pop      r14
        pop      rbp
        ret      
-                     ;; size=15 bbWeight=1 PerfScore 4.25
-G_M60936_IG16:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=0000 {}, byrefRegs=0088 {rbx rdi}, gcvars, byref
-       ; byrRegs -[rax rsi] +[rbx]
-       mov      byte  ptr [rdi], 0
+                       ;; size=17 bbWeight=1 PerfScore 4.75
+G_M60936_IG16:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=0000 {}, byrefRegs=4008 {rbx r14}, gcvars, byref
+       ; byrRegs -[rax rsi rdi] +[rbx r14]
+       mov      byte  ptr [r14], 0
        xor      eax, eax
        mov      qword ptr [rbx], rax
        mov      qword ptr [rbx+0x08], rax
@@ -169,18 +172,19 @@ G_M60936_IG16:        ; bbWeight=1, gcVars=0000000000000004 {V00}, gcrefRegs=000
        mov      qword ptr [rbx+0x18], rax
        mov      rax, rbx
        ; byrRegs +[rax]
-                      ;; size=23 bbWeight=1 PerfScore 5.50
+                      ;; size=24 bbWeight=1 PerfScore 5.50
 G_M60936_IG17:        ; bbWeight=1, epilog, nogc, extend
        vzeroupper 
-       add      rsp, 152
+       add      rsp, 144
        pop      rbx
        pop      rsi
        pop      rdi
+       pop      r14
        pop      rbp
        ret      
-                     ;; size=15 bbWeight=1 PerfScore 4.25
+                      ;; size=17 bbWeight=1 PerfScore 4.75
 G_M60936_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       ; byrRegs -[rax rbx rdi]
+       ; byrRegs -[rax rbx r14]
        ; GC ptr vars -{V00}
        mov      ecx, 17
        call     [System.Linq.ThrowHelper:ThrowArgumentNullException(int)]
@@ -196,40 +200,44 @@ G_M60936_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
 G_M60936_IG20:        ; bbWeight=1, gcVars=0000000000000006 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
        ; GC ptr vars +{V00 V01 V02 V04}
        push     rbp
+       push     r14
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 40
+       sub      rsp, 48
        vzeroupper 
        mov      rbp, qword ptr [rcx+0x20]
        mov      qword ptr [rsp+0x20], rbp
        lea      rbp, [rbp+0xB0]
-                      ;; size=27 bbWeight=1 PerfScore 8.75
+                      ;; size=29 bbWeight=1 PerfScore 9.75
 G_M60936_IG21:        ; bbWeight=1, gcVars=0000000000000006 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-       mov      rcx, gword ptr [rbp-0x80]
-       ; gcrRegs +[rcx]
-       test     rcx, rcx
+       mov      rdi, gword ptr [rbp-0x88]
+       ; gcrRegs +[rdi]
+       test     rdi, rdi
...
  
+11 (+3.78%) : 34383.dasm - System.Management.Automation.ScriptBlock+SuspiciousContentChecker:Match(System.String):System.String (FullOpts)
@@ -12,32 +12,33 @@
 ;  V01 loc0         [V01,T05] (  8, 37.50)     ref  ->  rsi         class-hnd exact single-def <uint[]>
 ;  V02 loc1         [V02,T07] (  6, 11   )     int  ->  rdi        
 ;  V03 loc2         [V03,T06] (  7, 21   )     int  ->  rbp        
-;  V04 loc3         [V04,T04] ( 11, 38   )     int  ->  rcx        
-;  V05 loc4         [V05,T01] ( 12, 70.16)     int  ->  rdx        
+;  V04 loc3         [V04,T04] ( 11, 38   )     int  ->  r15        
+;  V05 loc4         [V05,T01] ( 12, 70.16)     int  ->  rcx        
 ;  V06 loc5         [V06,T12] (  3,  4.50)     ref  ->  rax         class-hnd exact <System.String>
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T02] (  4, 64   )     int  ->  r10         "Strict ordering of exceptions for Array store"
+;  V08 tmp1         [V08,T02] (  4, 64   )     int  ->   r8         "Strict ordering of exceptions for Array store"
 ;  V09 tmp2         [V09,T09] (  2,  8   )     int  ->  rdi         "dup spill"
-;  V10 tmp3         [V10,T10] (  3,  6   )     int  ->  rdx         "Inline return value spill temp"
+;  V10 tmp3         [V10,T10] (  3,  6   )     int  ->  rcx         "Inline return value spill temp"
 ;* V11 tmp4         [V11,T13] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V12 cse0         [V12,T03] (  4, 63.36)     int  ->  rax         "CSE - aggressive"
+;  V12 cse0         [V12,T03] (  4, 63.36)     int  ->  rdx         "CSE - aggressive"
 ;  V13 cse1         [V13,T11] (  3,  6   )     int  ->  r14         "CSE - aggressive"
-;  V14 cse2         [V14,T15] (  4,  0.64)     int  ->  rax         "CSE - conservative"
-;  V15 rat0         [V15,T00] (  3, 95.04)     int  ->   r8         "ReplaceWithLclVar is creating a new local variable"
-;  V16 rat1         [V16,T14] (  3,  0.96)     int  ->  r10         "ReplaceWithLclVar is creating a new local variable"
+;  V14 cse2         [V14,T15] (  4,  0.64)     int  ->  rdx         "CSE - conservative"
+;  V15 rat0         [V15,T00] (  3, 95.04)     int  ->  rax         "ReplaceWithLclVar is creating a new local variable"
+;  V16 rat1         [V16,T14] (  3,  0.96)     int  ->   r8         "ReplaceWithLclVar is creating a new local variable"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 40
 
 G_M43253_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, 32
+       sub      rsp, 40
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=13 bbWeight=1 PerfScore 5.50
+                      ;; size=15 bbWeight=1 PerfScore 6.50
 G_M43253_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, 0xD1FFAB1E      ; uint[]
        mov      edx, 29
@@ -55,82 +56,82 @@ G_M43253_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
 G_M43253_IG03:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
        mov      ecx, ebp
-       movzx    rcx, word  ptr [rbx+2*rcx+0x0C]
-       cmp      ecx, 65
+       movzx    r15, word  ptr [rbx+2*rcx+0x0C]
+       cmp      r15d, 65
        jb       SHORT G_M43253_IG05
-                      ;; size=12 bbWeight=4 PerfScore 14.00
+                     ;; size=14 bbWeight=4 PerfScore 14.00
 G_M43253_IG04:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       cmp      ecx, 90
+       cmp      r15d, 90
        ja       SHORT G_M43253_IG05
-       or       ecx, 32
+       or       r15d, 32
        jmp      SHORT G_M43253_IG07
-                      ;; size=10 bbWeight=2 PerfScore 7.00
+                      ;; size=12 bbWeight=2 PerfScore 7.00
 G_M43253_IG05:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       cmp      ecx, 97
+       cmp      r15d, 97
        jb       SHORT G_M43253_IG06
-       cmp      ecx, 122
+       cmp      r15d, 122
        jbe      SHORT G_M43253_IG07
-                     ;; size=10 bbWeight=2 PerfScore 5.00
+                      ;; size=12 bbWeight=2 PerfScore 5.00
 G_M43253_IG06:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       cmp      ecx, 45
+       cmp      r15d, 45
        je       SHORT G_M43253_IG07
        xor      edi, edi
        jmp      G_M43253_IG14
-                        ;; size=12 bbWeight=2 PerfScore 7.00
+                      ;; size=13 bbWeight=2 PerfScore 7.00
 G_M43253_IG07:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        cmp      ebp, 28
        jle      SHORT G_M43253_IG08
-       mov      edx, 28
+       mov      ecx, 28
        jmp      SHORT G_M43253_IG09
                        ;; size=12 bbWeight=2 PerfScore 7.00
 G_M43253_IG08:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       mov      edx, ebp
+       mov      ecx, ebp
                      ;; size=2 bbWeight=2 PerfScore 0.50
 G_M43253_IG09:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       test     edx, edx
+       test     ecx, ecx
        jle      SHORT G_M43253_IG13
-       cmp      edx, 29
+       cmp      ecx, 29
        jg       SHORT G_M43253_IG12
                        ;; size=9 bbWeight=2 PerfScore 5.00
 G_M43253_IG10:        ; bbWeight=15.84, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       lea      eax, [rdx-0x01]
-       cmp      eax, 29
+       lea      edx, [rcx-0x01]
+       cmp      edx, 29
        jae      G_M43253_IG18
+       mov      eax, edx
+       mov      eax, dword ptr [rsi+4*rax+0x10]
        mov      r8d, eax
-       mov      r8d, dword ptr [rsi+4*r8+0x10]
-       mov      r10d, r8d
-       shl      r10d, 5
-       sub      r10d, r8d
-       add      r10d, ecx
-       mov      edx, edx
-       mov      dword ptr [rsi+4*rdx+0x10], r10d
-       mov      edx, eax
-       test     edx, edx
+       shl      r8d, 5
+       sub      r8d, eax
+       add      r8d, r15d
+       mov      ecx, ecx
+       mov      dword ptr [rsi+4*rcx+0x10], r8d
+       mov      ecx, edx
+       test     ecx, ecx
        jg       SHORT G_M43253_IG10
-                      ;; size=46 bbWeight=15.84 PerfScore 126.72
+                        ;; size=44 bbWeight=15.84 PerfScore 126.72
 G_M43253_IG11:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M43253_IG13
                        ;; size=2 bbWeight=2 PerfScore 4.00
 G_M43253_IG12:        ; bbWeight=0.16, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       lea      eax, [rdx-0x01]
-       cmp      eax, 29
-       jae      SHORT G_M43253_IG18
-       mov      r10d, eax
-       mov      r10d, dword ptr [rsi+4*r10+0x10]
-       mov      r8d, r10d
-       shl      r8d, 5
-       sub      r8d, r10d
-       lea      r10d, [r8+rcx]
+       lea      edx, [rcx-0x01]
        cmp      edx, 29
        jae      SHORT G_M43253_IG18
-       mov      edx, edx
-       mov      dword ptr [rsi+4*rdx+0x10], r10d
-       mov      edx, eax
-       test     edx, edx
+       mov      r8d, edx
+       mov      r8d, dword ptr [rsi+4*r8+0x10]
+       mov      eax, r8d
+       shl      eax, 5
+       sub      eax, r8d
+       lea      r8d, [rax+r15]
+       cmp      ecx, 29
+       jae      SHORT G_M43253_IG18
+       mov      ecx, ecx
+       mov      dword ptr [rsi+4*rcx+0x10], r8d
+       mov      ecx, edx
+       test     ecx, ecx
        jg       SHORT G_M43253_IG12
-                      ;; size=48 bbWeight=0.16 PerfScore 1.52
+                       ;; size=47 bbWeight=0.16 PerfScore 1.52
 G_M43253_IG13:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rsi+0x10], ecx
+       mov      dword ptr [rsi+0x10], r15d
        inc      edi
        cmp      edi, 4
        jl       SHORT G_M43253_IG14
@@ -142,7 +143,7 @@ G_M43253_IG13:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
        ; gcr arg pop 0
        test     rax, rax
        jne      SHORT G_M43253_IG17
-                      ;; size=26 bbWeight=2 PerfScore 14.50
+                     ;; size=27 bbWeight=2 PerfScore 14.50
 G_M43253_IG14:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax]
        inc      ebp
@@ -156,25 +157,27 @@ G_M43253_IG15:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {},
        xor      edx, edx
                        ;; size=5 bbWeight=0.50 PerfScore 0.25
 G_M43253_IG16:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 32
+       add      rsp, 40
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
        pop      r14
+       pop      r15
        tail.jmp [System.Management.Automation.ScriptBlock+SuspiciousContentChecker:CheckForMatches(uint[],int):System.String]
        ; gcr arg pop 0
-                       ;; size=16 bbWeight=0.50 PerfScore 2.38
+                       ;; size=18 bbWeight=0.50 PerfScore 2.62
 G_M43253_IG17:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rcx rsi] +[rax]
-       add      rsp, 32
+       add      rsp, 40
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
        pop      r14
+       pop      r15
        ret      
-                     ;; size=11 bbWeight=0.50 PerfScore 1.88
+                       ;; size=13 bbWeight=0.50 PerfScore 2.12
 G_M43253_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -182,7 +185,7 @@ G_M43253_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 291, prolog size 13, PerfScore 213.74, instruction count 102, allocated bytes for code 291 (MethodHash=ca42570a) for method System.Management.Automation.ScriptBlock+SuspiciousContentChecker:Match(System.String):System.String (FullOpts)
+; Total bytes of code 302, prolog size 15, PerfScore 215.24, instruction count 105, allocated bytes for code 302 (MethodHash=ca42570a) for method System.Management.Automation.ScriptBlock+SuspiciousContentChecker:Match(System.String):System.String (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -190,14 +193,15 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0A
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x0C
+  CountOfUnwindCodes: 7
   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: 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)
  
+33 (+4.48%) : 7092.dasm - System.Number:TryNumberToDecimal(byref,byref):ubyte (FullOpts)
@@ -13,28 +13,28 @@
 ;  V02 loc0         [V02,T03] ( 14, 33.50)    long  ->  rcx        
 ;  V03 loc1         [V03,T02] ( 20, 39.50)     int  ->  rdi        
 ;  V04 loc2         [V04,T19] (  4,  2.50)   ubyte  ->  rbp        
-;  V05 loc3         [V05,T01] ( 21, 46.50)     int  ->  rdx        
-;  V06 loc4         [V06,T00] ( 22, 48   )    long  ->  r14        
-;  V07 loc5         [V07,T04] ( 12, 19   )     int  ->  r15        
+;  V05 loc3         [V05,T01] ( 21, 46.50)     int  ->  r14        
+;  V06 loc4         [V06,T00] ( 22, 48   )    long  ->  r15        
+;  V07 loc5         [V07,T04] ( 12, 19   )     int  ->  r13        
 ;  V08 loc6         [V08,T11] (  3,  6   )    long  ->  rax        
-;  V09 loc7         [V09,T12] (  3,  6   )    long  ->   r8        
+;  V09 loc7         [V09,T12] (  3,  6   )    long  ->  rdx        
 ;  V10 loc8         [V10,T07] (  7, 14   )   ubyte  ->  rsi        
 ;  V11 OutArgs      [V11    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V12 tmp1         [V12,T05] (  2, 16   )    long  ->  rcx         "dup spill"
 ;  V13 tmp2         [V13,T10] (  2,  8   )    long  ->  rcx         "dup spill"
 ;* V14 tmp3         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Decimal>
 ;* V15 tmp4         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Decimal>
-;  V16 tmp5         [V16,T22] (  2,  2   )    long  ->  r14         "dup spill"
-;  V17 tmp6         [V17,T23] (  2,  2   )     int  ->  r15         "dup spill"
+;  V16 tmp5         [V16,T22] (  2,  2   )    long  ->  r15         "dup spill"
+;  V17 tmp6         [V17,T23] (  2,  2   )     int  ->  r13         "dup spill"
 ;  V18 tmp7         [V18,T24] (  2,  2   )    long  ->  rcx         "dup spill"
 ;  V19 tmp8         [V19,T06] (  2, 16   )    long  ->  rcx         "dup spill"
 ;  V20 tmp9         [V20,T25] (  3,  1.50)     int  ->  rcx        
 ;* V21 tmp10        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Decimal>
 ;* V22 tmp11        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V23 tmp12        [V23,T26] (  3,  1.50)     int  ->  rdx         "Inline return value spill temp"
+;  V23 tmp12        [V23,T26] (  3,  1.50)     int  ->  rcx         "Inline return value spill temp"
 ;  V24 tmp13        [V24,T15] (  4,  4   )     int  ->  rax         "Inlining Arg"
 ;  V25 tmp14        [V25,T13] (  5,  5   )   ubyte  ->  rax         "Inlining Arg"
-;  V26 tmp15        [V26,T29] (  2,  1   )     int  ->  r14         ld-addr-op "Inlining Arg"
+;  V26 tmp15        [V26,T29] (  2,  1   )     int  ->  r15         ld-addr-op "Inlining Arg"
 ;* V27 tmp16        [V27,T27] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V28 tmp17        [V28,T33] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
 ;* V29 tmp18        [V29,T34] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
@@ -59,21 +59,22 @@
 ;* V48 tmp37        [V48    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V49 tmp38        [V49,T40] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 32
 
 G_M46956_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     r15
        push     r14
+       push     r13
        push     rdi
        push     rsi
        push     rbp
        push     rbx
-       sub      rsp, 40
+       sub      rsp, 32
        mov      rsi, rcx
        ; byrRegs +[rsi]
        mov      rbx, rdx
        ; byrRegs +[rbx]
-                      ;; size=18 bbWeight=1 PerfScore 6.75
+                      ;; size=20 bbWeight=1 PerfScore 7.75
 G_M46956_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref, isz
        mov      rcx, rsi
        ; byrRegs +[rcx]
@@ -84,26 +85,26 @@ G_M46956_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi},
        ; byrRegs +[rcx]
        mov      edi, dword ptr [rsi+0x04]
        movzx    rbp, byte  ptr [rsi+0x08]
-       movzx    rdx, byte  ptr [rcx]
-       test     edx, edx
+       movzx    r14, byte  ptr [rcx]
+       test     r14d, r14d
        jne      SHORT G_M46956_IG09
-                        ;; size=28 bbWeight=1 PerfScore 12.50
+                     ;; size=30 bbWeight=1 PerfScore 12.50
 G_M46956_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
        ; byrRegs -[rcx rsi]
        mov      eax, edi
        neg      eax
        jns      SHORT G_M46956_IG04
-       xor      edx, edx
+       xor      ecx, ecx
        jmp      SHORT G_M46956_IG05
                        ;; size=10 bbWeight=0.50 PerfScore 1.88
 G_M46956_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
-       mov      edx, 28
+       mov      ecx, 28
        cmp      eax, 28
-       cmovle   edx, eax
+       cmovle   ecx, eax
                      ;; size=11 bbWeight=0.50 PerfScore 0.38
 G_M46956_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
-       movzx    rax, dl
-       mov      r14d, eax
+       movzx    rax, cl
+       mov      r15d, eax
        cmp      eax, 28
        jl       SHORT G_M46956_IG06
        cmp      eax, 28
@@ -124,15 +125,16 @@ G_M46956_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx},
        mov      eax, 1
                        ;; size=9 bbWeight=0.50 PerfScore 0.62
 G_M46956_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 40
+       add      rsp, 32
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
+       pop      r13
        pop      r14
        pop      r15
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 2.12
+                       ;; size=15 bbWeight=0.50 PerfScore 2.38
 G_M46956_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, gcvars, byref, isz
        ; byrRegs +[rsi]
        cmp      edi, 29
@@ -143,36 +145,38 @@ G_M46956_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M46956_IG11:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 40
+       add      rsp, 32
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
+       pop      r13
        pop      r14
        pop      r15
        ret      
-                     ;; size=13 bbWeight=0.50 PerfScore 2.12
+                       ;; size=15 bbWeight=0.50 PerfScore 2.38
 G_M46956_IG12:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, gcvars, byref, isz
        ; byrRegs +[rbx rsi]
-       xor      r14d, r14d
+       xor      r15d, r15d
        cmp      edi, -28
        jle      SHORT G_M46956_IG17
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M46956_IG13:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref, isz
        dec      edi
-       lea      rax, [r14+4*r14]
-       add      edx, -48
-       lea      r14, [rdx+2*rax]
+       lea      rax, [r15+4*r15]
+       add      r14d, -48
+       mov      edx, r14d
+       lea      r15, [rdx+2*rax]
        inc      rcx
-       movzx    rdx, byte  ptr [rcx]
+       movzx    r14, byte  ptr [rcx]
        mov      rax, 0xD1FFAB1E
-       cmp      r14, rax
+       cmp      r15, rax
        jae      SHORT G_M46956_IG17
-       test     edx, edx
+       test     r14d, r14d
        je       SHORT G_M46956_IG15
        cmp      edi, -28
        jg       SHORT G_M46956_IG13
-                      ;; size=43 bbWeight=4 PerfScore 31.00
+                     ;; size=49 bbWeight=4 PerfScore 32.00
 G_M46956_IG14:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref, isz
        jmp      SHORT G_M46956_IG17
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
@@ -182,48 +186,49 @@ G_M46956_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rs
                        ;; size=4 bbWeight=0.50 PerfScore 0.62
 G_M46956_IG16:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref, isz
        dec      edi
-       lea      r14, [r14+4*r14]
-       add      r14, r14
+       lea      r15, [r15+4*r15]
+       add      r15, r15
        mov      rax, 0xD1FFAB1E
-       cmp      r14, rax
+       cmp      r15, rax
        jae      SHORT G_M46956_IG17
        test     edi, edi
        jg       SHORT G_M46956_IG16
                        ;; size=28 bbWeight=4 PerfScore 15.00
 G_M46956_IG17:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref, isz
-       xor      r15d, r15d
+       xor      r13d, r13d
        jmp      SHORT G_M46956_IG21
                        ;; size=5 bbWeight=0.50 PerfScore 1.12
 G_M46956_IG18:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref, isz
-       mov      eax, r14d
+       mov      eax, r15d
        lea      rax, [rax+4*rax]
        add      rax, rax
-       shr      r14, 32
-       mov      r8d, r14d
-       lea      r8, [r8+4*r8]
-       mov      r10, rax
-       shr      r10, 32
-       lea      r8, [r10+2*r8]
-       mov      r14d, eax
-       mov      rax, r8
-       shl      rax, 32
-       add      r14, rax
+       shr      r15, 32
+       mov      edx, r15d
+       lea      rdx, [rdx+4*rdx]
+       mov      r8, rax
        shr      r8, 32
-       lea      eax, [r15+4*r15]
-       lea      r15d, [r8+2*rax]
-       test     edx, edx
+       lea      rdx, [r8+2*rdx]
+       mov      r15d, eax
+       mov      rax, rdx
+       shl      rax, 32
+       add      r15, rax
+       shr      rdx, 32
+       lea      eax, [r13+4*r13]
+       lea      r13d, [rdx+2*rax]
+       test     r14d, r14d
        je       SHORT G_M46956_IG20
-       add      edx, -48
-       mov      eax, edx
-       add      r14, rax
-       cmp      r14, rdx
+       add      r14d, -48
+       mov      eax, r14d
+       add      r15, rax
+       mov      eax, r14d
+       cmp      r15, rax
        jae      SHORT G_M46956_IG19
-       inc      r15d
-                       ;; size=77 bbWeight=2 PerfScore 19.50
+       inc      r13d
+                       ;; size=84 bbWeight=2 PerfScore 23.00
 G_M46956_IG19:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
        inc      rcx
-       movzx    rdx, byte  ptr [rcx]
-                       ;; size=6 bbWeight=2 PerfScore 4.50
+       movzx    r14, byte  ptr [rcx]
+                       ;; size=7 bbWeight=2 PerfScore 4.50
 G_M46956_IG20:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
        dec      edi
                        ;; size=2 bbWeight=2 PerfScore 0.50
@@ -232,65 +237,65 @@ G_M46956_IG21:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi},
        jg       SHORT G_M46956_IG23
                        ;; size=4 bbWeight=4 PerfScore 5.00
 G_M46956_IG22:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref, isz
-       test     edx, edx
+       test     r14d, r14d
        je       SHORT G_M46956_IG24
        cmp      edi, -28
...
  
  
  
Details
Improvements/regressions per collection
| Collection | Contexts with diffs | Improvements | Regressions | Same size | Improvements (bytes) | Regressions (bytes) | 
| benchmarks.run.windows.x64.checked.mch | 179 | 54 | 58 | 67 | -588 | +451 | 
| benchmarks.run_pgo.windows.x64.checked.mch | 2,263 | 1,098 | 581 | 584 | -15,089 | +6,153 | 
| benchmarks.run_tiered.windows.x64.checked.mch | 83 | 25 | 27 | 31 | -854 | +154 | 
| coreclr_tests.run.windows.x64.checked.mch | 1,071 | 410 | 460 | 201 | -5,230 | +5,346 | 
| libraries.crossgen2.windows.x64.checked.mch | 3 | 2 | 0 | 1 | -18 | +0 | 
| libraries.pmi.windows.x64.checked.mch | 1,133 | 355 | 399 | 379 | -2,517 | +2,766 | 
| libraries_tests.run.windows.x64.Release.mch | 6,960 | 2,571 | 2,511 | 1,878 | -38,706 | +39,521 | 
| librariestestsnotieredcompilation.run.windows.x64.Release.mch | 1,357 | 436 | 462 | 459 | -4,497 | +3,233 | 
| realworld.run.windows.x64.checked.mch | 287 | 87 | 84 | 116 | -623 | +880 | 
| smoke_tests.nativeaot.windows.x64.checked.mch | 0 | 0 | 0 | 0 | -0 | +0 | 
|  | 13,336 | 5,038 | 4,582 | 3,716 | -68,122 | +58,504 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| benchmarks.run.windows.x64.checked.mch | 28,083 | 4 | 28,079 | 0 (0.00%) | 0 (0.00%) | 
| benchmarks.run_pgo.windows.x64.checked.mch | 99,987 | 49,362 | 50,625 | 0 (0.00%) | 0 (0.00%) | 
| benchmarks.run_tiered.windows.x64.checked.mch | 54,405 | 36,887 | 17,518 | 0 (0.00%) | 0 (0.00%) | 
| coreclr_tests.run.windows.x64.checked.mch | 574,390 | 341,373 | 233,017 | 0 (0.00%) | 0 (0.00%) | 
| libraries.crossgen2.windows.x64.checked.mch | 2,093 | 0 | 2,093 | 0 (0.00%) | 0 (0.00%) | 
| libraries.pmi.windows.x64.checked.mch | 308,969 | 6 | 308,963 | 0 (0.00%) | 0 (0.00%) | 
| libraries_tests.run.windows.x64.Release.mch | 676,328 | 481,881 | 194,447 | 0 (0.00%) | 0 (0.00%) | 
| librariestestsnotieredcompilation.run.windows.x64.Release.mch | 320,452 | 21,924 | 298,528 | 0 (0.00%) | 0 (0.00%) | 
| realworld.run.windows.x64.checked.mch | 36,672 | 3 | 36,669 | 0 (0.00%) | 0 (0.00%) | 
| smoke_tests.nativeaot.windows.x64.checked.mch | 71 | 0 | 71 | 0 (0.00%) | 0 (0.00%) | 
|  | 2,101,450 | 931,440 | 1,170,010 | 0 (0.00%) | 0 (0.00%) | 
jit-analyze output
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: 8749783 (overridden on cmd)
Total bytes of diff: 8749646 (overridden on cmd)
Total bytes of delta: -137 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          66 : 19531.dasm (2.30 % of base)
          39 : 19282.dasm (0.51 % of base)
          33 : 15855.dasm (4.42 % of base)
          19 : 13905.dasm (0.90 % of base)
          18 : 7714.dasm (0.36 % of base)
          17 : 14418.dasm (4.20 % of base)
          16 : 3236.dasm (0.80 % of base)
          16 : 9128.dasm (0.15 % of base)
          15 : 16244.dasm (4.16 % of base)
          15 : 15001.dasm (0.79 % of base)
          11 : 9663.dasm (0.79 % of base)
           9 : 22780.dasm (2.01 % of base)
           8 : 15937.dasm (4.44 % of base)
           8 : 2220.dasm (0.49 % of base)
           8 : 17518.dasm (1.42 % of base)
           7 : 15936.dasm (3.87 % of base)
           7 : 22123.dasm (0.21 % of base)
           7 : 152.dasm (0.66 % of base)
           7 : 2528.dasm (1.36 % of base)
           7 : 15752.dasm (0.28 % of base)
Top file improvements (bytes):
        -159 : 4908.dasm (-7.96 % of base)
         -59 : 3279.dasm (-6.75 % of base)
         -54 : 24113.dasm (-5.27 % of base)
         -50 : 18141.dasm (-1.57 % of base)
         -22 : 24599.dasm (-0.88 % of base)
         -22 : 18140.dasm (-2.04 % of base)
         -18 : 4917.dasm (-0.17 % of base)
         -16 : 19615.dasm (-1.06 % of base)
         -15 : 10578.dasm (-1.11 % of base)
         -14 : 17769.dasm (-3.98 % of base)
         -14 : 271.dasm (-2.89 % of base)
         -11 : 6052.dasm (-1.84 % of base)
          -8 : 10424.dasm (-0.18 % of base)
          -8 : 21260.dasm (-0.41 % of base)
          -8 : 21340.dasm (-0.38 % of base)
          -7 : 16693.dasm (-0.36 % of base)
          -6 : 4552.dasm (-0.79 % of base)
          -5 : 13895.dasm (-0.66 % of base)
          -5 : 25501.dasm (-0.06 % of base)
          -5 : 4794.dasm (-0.36 % of base)
58 total files with Code Size differences (32 improved, 26 regressed), 20 unchanged.
Top method regressions (bytes):
          66 (2.30 % of base) : 19531.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 (FullOpts)
          39 (0.51 % of base) : 19282.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)
          33 (4.42 % of base) : 15855.dasm - System.Number:TryNumberToDecimal(byref,byref):ubyte (FullOpts)
          19 (0.90 % of base) : 13905.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
          18 (0.36 % of base) : 7714.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (FullOpts)
          17 (4.20 % of base) : 14418.dasm - System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
          16 (0.15 % of base) : 9128.dasm - MessagePack.Internal.ObjectSerializationInfo:CreateOrNull(System.Type,ubyte,ubyte,ubyte):MessagePack.Internal.ObjectSerializationInfo (FullOpts)
          16 (0.80 % of base) : 3236.dasm - System.Text.CompositeFormat:TryParseLiterals(System.ReadOnlySpan`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`4[System.String,int,int,System.String]],byref,byref):ubyte (FullOpts)
          15 (4.16 % of base) : 16244.dasm - System.Reflection.RuntimePropertyInfo:SetValue(System.Object,System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):this (FullOpts)
          15 (0.79 % of base) : 15001.dasm - System.String:SplitWithPostProcessing(System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int],int,int,int):System.String[]:this (FullOpts)
          11 (0.79 % of base) : 9663.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (FullOpts)
           9 (2.01 % of base) : 22780.dasm - System.Linq.Enumerable:TryGetFirst[Microsoft.CodeAnalysis.SyntaxTrivia](System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.SyntaxTrivia],System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte],byref):Microsoft.CodeAnalysis.SyntaxTrivia (FullOpts)
           8 (0.49 % of base) : 2220.dasm - System.Enum:FormatFlagNames[uint](System.Enum+EnumInfo`1[uint],uint):System.String (FullOpts)
           8 (4.44 % of base) : 15937.dasm - System.MemoryExtensions:TrimEnd(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort] (FullOpts)
           8 (1.42 % of base) : 17518.dasm - System.Text.Json.JsonCamelCaseNamingPolicy:FixCasing(System.Span`1[ushort]) (FullOpts)
           7 (0.21 % of base) : 22123.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (FullOpts)
           7 (1.36 % of base) : 2528.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitMethodCall(System.Reflection.MethodInfo,System.Linq.Expressions.IArgumentProvider,System.Type,int):this (FullOpts)
           7 (3.87 % of base) : 15936.dasm - System.MemoryExtensions:TrimStart(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort] (FullOpts)
           7 (0.66 % of base) : 152.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,int](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (FullOpts)
           7 (0.28 % of base) : 15752.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
Top method improvements (bytes):
        -159 (-7.96 % of base) : 4908.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
         -59 (-6.75 % of base) : 3279.dasm - System.Reflection.CustomAttributeEncodedArgument:ParseNamedArgs(byref,System.Reflection.CustomAttributeNamedParameter[],System.Reflection.RuntimeModule) (FullOpts)
         -54 (-5.27 % of base) : 24113.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (FullOpts)
         -50 (-1.57 % of base) : 18141.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (FullOpts)
         -22 (-2.04 % of base) : 18140.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (FullOpts)
         -22 (-0.88 % of base) : 24599.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -18 (-0.17 % of base) : 4917.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -16 (-1.06 % of base) : 19615.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:LoadAndValidateNetModuleAttributes(byref):this (FullOpts)
         -15 (-1.11 % of base) : 10578.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
         -14 (-3.98 % of base) : 17769.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
         -14 (-2.89 % of base) : 271.dasm - System.Reflection.RuntimeAssembly:GetType(System.String,ubyte,ubyte):System.Type:this (FullOpts)
         -11 (-1.84 % of base) : 6052.dasm - System.Xml.XmlUTF8TextReader:ReadQualifiedName(System.Xml.PrefixHandle,System.Xml.StringHandle):this (FullOpts)
          -8 (-0.38 % of base) : 21340.dasm - Microsoft.CodeAnalysis.Compilation:ReportManifestResourceDuplicates(System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.ResourceDescription],System.Collections.Generic.IEnumerable`1[System.String],System.Collections.Generic.IEnumerable`1[System.String],Microsoft.CodeAnalysis.DiagnosticBag):this (FullOpts)
          -8 (-0.41 % of base) : 21260.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:BuildStoresToTemps(ubyte,System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],ubyte,Microsoft.CodeAnalysis.CSharp.BoundExpression[],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[ubyte],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.BoundAssignmentOperator]):this (FullOpts)
          -8 (-0.18 % of base) : 10424.dasm - Utf8Json.Formatters.ISO8601DateTimeFormatter:Deserialize(byref,Utf8Json.IJsonFormatterResolver):System.DateTime:this (FullOpts)
          -7 (-0.36 % of base) : 16693.dasm - System.Enum:TryFormatFlagNames[uint](System.Enum+EnumInfo`1[uint],uint,System.Span`1[ushort],byref,byref):ubyte (FullOpts)
          -6 (-0.79 % of base) : 4552.dasm - System.Reflection.RuntimeMethodInfo:MakeGenericMethod(System.Type[]):System.Reflection.MethodInfo:this (FullOpts)
          -5 (-0.11 % of base) : 3969.dasm - Jil.Deserialize.Methods:SkipWithLeadChar(System.IO.TextReader,int) (FullOpts)
          -5 (-0.06 % of base) : 25501.dasm - Jil.Deserialize.Methods:SkipWithLeadCharThunkReader(byref,int) (FullOpts)
          -5 (-0.36 % of base) : 4794.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetMethodMetadataToken(System.Reflection.ConstructorInfo):int:this (FullOpts)
Top method regressions (percentages):
           8 (4.44 % of base) : 15937.dasm - System.MemoryExtensions:TrimEnd(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort] (FullOpts)
          33 (4.42 % of base) : 15855.dasm - System.Number:TryNumberToDecimal(byref,byref):ubyte (FullOpts)
          17 (4.20 % of base) : 14418.dasm - System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
          15 (4.16 % of base) : 16244.dasm - System.Reflection.RuntimePropertyInfo:SetValue(System.Object,System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):this (FullOpts)
           7 (3.87 % of base) : 15936.dasm - System.MemoryExtensions:TrimStart(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort] (FullOpts)
          66 (2.30 % of base) : 19531.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 (FullOpts)
           9 (2.01 % of base) : 22780.dasm - System.Linq.Enumerable:TryGetFirst[Microsoft.CodeAnalysis.SyntaxTrivia](System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.SyntaxTrivia],System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte],byref):Microsoft.CodeAnalysis.SyntaxTrivia (FullOpts)
           4 (1.78 % of base) : 16360.dasm - System.Runtime.Serialization.Json.XmlJsonReader:ComputeQuotedTextLengthUntilEndQuote(ubyte[],int,int,byref):int (FullOpts)
           2 (1.55 % of base) : 13894.dasm - System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
           8 (1.42 % of base) : 17518.dasm - System.Text.Json.JsonCamelCaseNamingPolicy:FixCasing(System.Span`1[ushort]) (FullOpts)
           7 (1.36 % of base) : 2528.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitMethodCall(System.Reflection.MethodInfo,System.Linq.Expressions.IArgumentProvider,System.Type,int):this (FullOpts)
           3 (1.23 % of base) : 8928.dasm - System.Decimal+DecCalc:VarDecCmpSub(byref,byref):int (FullOpts)
          19 (0.90 % of base) : 13905.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
          16 (0.80 % of base) : 3236.dasm - System.Text.CompositeFormat:TryParseLiterals(System.ReadOnlySpan`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`4[System.String,int,int,System.String]],byref,byref):ubyte (FullOpts)
          11 (0.79 % of base) : 9663.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (FullOpts)
          15 (0.79 % of base) : 15001.dasm - System.String:SplitWithPostProcessing(System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int],int,int,int):System.String[]:this (FullOpts)
           7 (0.66 % of base) : 152.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,int](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (FullOpts)
           3 (0.57 % of base) : 26923.dasm - Benchstone.BenchI.Array2:Bench(int):ubyte (FullOpts)
           6 (0.52 % of base) : 4034.dasm - System.Diagnostics.Tracing.EventSource:DoCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts)
           5 (0.52 % of base) : 18138.dasm - LUDecomp:Run():double:this (FullOpts)
Top method improvements (percentages):
        -159 (-7.96 % of base) : 4908.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
         -59 (-6.75 % of base) : 3279.dasm - System.Reflection.CustomAttributeEncodedArgument:ParseNamedArgs(byref,System.Reflection.CustomAttributeNamedParameter[],System.Reflection.RuntimeModule) (FullOpts)
         -54 (-5.27 % of base) : 24113.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (FullOpts)
         -14 (-3.98 % of base) : 17769.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
         -14 (-2.89 % of base) : 271.dasm - System.Reflection.RuntimeAssembly:GetType(System.String,ubyte,ubyte):System.Type:this (FullOpts)
         -22 (-2.04 % of base) : 18140.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (FullOpts)
         -11 (-1.84 % of base) : 6052.dasm - System.Xml.XmlUTF8TextReader:ReadQualifiedName(System.Xml.PrefixHandle,System.Xml.StringHandle):this (FullOpts)
         -50 (-1.57 % of base) : 18141.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (FullOpts)
          -4 (-1.15 % of base) : 25694.dasm - Benchstone.BenchF.SqMtx:Test():ubyte:this (FullOpts)
         -15 (-1.11 % of base) : 10578.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
         -16 (-1.06 % of base) : 19615.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:LoadAndValidateNetModuleAttributes(byref):this (FullOpts)
         -22 (-0.88 % of base) : 24599.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -4 (-0.84 % of base) : 26925.dasm - Benchstone.BenchI.Array2:VerifyCopy(int[][][],int[][][]):ubyte (FullOpts)
          -3 (-0.80 % of base) : 23266.dasm - System.Collections.Concurrent.ConcurrentBag`1[int]:ToArray():int[]:this (FullOpts)
          -6 (-0.79 % of base) : 4552.dasm - System.Reflection.RuntimeMethodInfo:MakeGenericMethod(System.Type[]):System.Reflection.MethodInfo:this (FullOpts)
          -5 (-0.66 % of base) : 13895.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (FullOpts)
          -4 (-0.57 % of base) : 273.dasm - System.Reflection.TypeNameParser:ParseNamedOrConstructedGenericTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts)
          -2 (-0.51 % of base) : 6361.dasm - Utf8Json.JsonReader:ReadInt64():long:this (FullOpts)
          -2 (-0.49 % of base) : 19272.dasm - Microsoft.CodeAnalysis.DiagnosticBag:AsEnumerable():System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.Diagnostic]:this (FullOpts)
          -4 (-0.41 % of base) : 26037.dasm - System.Threading.TimerQueue:FireNextTimers():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: 34821548 (overridden on cmd)
Total bytes of diff: 34812612 (overridden on cmd)
Total bytes of delta: -8936 (-0.03 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          87 : 70486.dasm (2.02 % of base)
          52 : 96695.dasm (3.07 % of base)
          49 : 18110.dasm (2.60 % of base)
          49 : 46599.dasm (2.60 % of base)
          49 : 33272.dasm (2.60 % of base)
          49 : 54194.dasm (2.60 % of base)
          49 : 73453.dasm (2.60 % of base)
          49 : 77949.dasm (2.60 % of base)
          47 : 12495.dasm (2.22 % of base)
          46 : 42146.dasm (2.51 % of base)
          42 : 92753.dasm (5.41 % of base)
          42 : 15823.dasm (5.41 % of base)
          41 : 96667.dasm (2.45 % of base)
          39 : 24762.dasm (2.06 % of base)
          39 : 90064.dasm (2.06 % of base)
          38 : 71388.dasm (1.11 % of base)
          37 : 50279.dasm (6.06 % of base)
          37 : 75933.dasm (6.06 % of base)
          37 : 83501.dasm (6.06 % of base)
          37 : 86833.dasm (6.06 % of base)
Top file improvements (bytes):
        -471 : 25925.dasm (-33.84 % of base)
        -470 : 25929.dasm (-33.84 % of base)
        -198 : 52580.dasm (-29.25 % of base)
        -198 : 52612.dasm (-29.25 % of base)
         -76 : 81359.dasm (-4.39 % of base)
         -70 : 24413.dasm (-9.70 % of base)
         -70 : 35034.dasm (-9.70 % of base)
         -70 : 52881.dasm (-9.70 % of base)
         -70 : 53830.dasm (-9.70 % of base)
         -70 : 92717.dasm (-9.70 % of base)
         -70 : 38105.dasm (-9.70 % of base)
         -70 : 49826.dasm (-9.70 % of base)
         -70 : 74234.dasm (-9.71 % of base)
         -70 : 75485.dasm (-9.71 % of base)
         -70 : 83525.dasm (-9.70 % of base)
         -70 : 83625.dasm (-9.70 % of base)
         -70 : 90917.dasm (-9.70 % of base)
         -70 : 41170.dasm (-9.70 % of base)
         -70 : 48553.dasm (-9.70 % of base)
         -70 : 55714.dasm (-9.70 % of base)
76 total files with Code Size differences (32 improved, 44 regressed), 20 unchanged.
Top method regressions (bytes):
          87 (2.02 % of base) : 70486.dasm - Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass:VisitBlock(Microsoft.CodeAnalysis.CSharp.BoundBlock):Microsoft.CodeAnalysis.CSharp.BoundNode:this (Tier1)
          52 (3.07 % of base) : 96695.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1-OSR)
          49 (2.60 % of base) : 18110.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          49 (2.60 % of base) : 46599.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          49 (2.60 % of base) : 33272.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          49 (2.60 % of base) : 54194.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          49 (2.60 % of base) : 73453.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          49 (2.60 % of base) : 77949.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          47 (2.22 % of base) : 12495.dasm - System.Text.CompositeFormat:TryParseLiterals(System.ReadOnlySpan`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`4[System.String,int,int,System.String]],byref,byref):ubyte (Tier0-FullOpts)
          46 (2.51 % of base) : 42146.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          42 (5.41 % of base) : 92753.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (Tier1-OSR)
          42 (5.41 % of base) : 15823.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (Tier1-OSR)
          41 (2.45 % of base) : 96667.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1-OSR)
          39 (2.06 % of base) : 24762.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          39 (2.06 % of base) : 90064.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
          38 (1.11 % of base) : 71388.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PENamedTypeSymbol:.ctor(Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEModuleSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceOrTypeSymbol,System.Reflection.Metadata.TypeDefinitionHandle,System.String,ushort,byref):this (Tier1)
          37 (6.06 % of base) : 50279.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          37 (6.06 % of base) : 75933.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          37 (6.06 % of base) : 83501.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          37 (6.06 % of base) : 86833.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
Top method improvements (bytes):
        -471 (-33.84 % of base) : 25925.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -470 (-33.84 % of base) : 25929.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -198 (-29.25 % of base) : 52580.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -198 (-29.25 % of base) : 52612.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -76 (-4.39 % of base) : 81359.dasm - System.IO.Tests.Perf_RandomAccess:Write(long,int,int):this (Tier1-OSR)
         -70 (-9.70 % of base) : 24413.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 35034.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 52881.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 53830.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 92717.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 38105.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 49826.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.71 % of base) : 74234.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.71 % of base) : 75485.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 83525.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 83625.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 90917.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 41170.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 48553.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 55714.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
Top method regressions (percentages):
          21 (8.68 % of base) : 85385.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 4308.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          24 (7.27 % of base) : 70657.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          12 (7.06 % of base) : 84132.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[System.__Canon]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
          16 (6.58 % of base) : 14514.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          37 (6.06 % of base) : 50279.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          37 (6.06 % of base) : 75933.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          37 (6.06 % of base) : 83501.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          37 (6.06 % of base) : 86833.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          37 (6.06 % of base) : 92517.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          37 (6.06 % of base) : 95513.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          37 (6.06 % of base) : 19185.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          37 (6.06 % of base) : 38047.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          37 (6.06 % of base) : 50017.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          37 (6.06 % of base) : 78529.dasm - System.Linq.Enumerable:Count[ushort](System.Collections.Generic.IEnumerable`1[ushort],System.Func`2[ushort,ubyte]):int (Tier1-OSR)
          22 (5.95 % of base) : 50190.dasm - Benchstone.BenchF.InProd:Test():ubyte:this (Tier1-OSR)
          25 (5.52 % of base) : 71459.dasm - Microsoft.CodeAnalysis.PEModule:IsNoPiaLocalType(System.Reflection.Metadata.TypeDefinitionHandle,byref):ubyte:this (Tier1)
          42 (5.41 % of base) : 92753.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (Tier1-OSR)
          42 (5.41 % of base) : 15823.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (Tier1-OSR)
          15 (4.52 % of base) : 80337.dasm - Benchstone.MDBenchF.MDInProd:Test():ubyte:this (Tier1-OSR)
Top method improvements (percentages):
        -470 (-33.84 % of base) : 25929.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -471 (-33.84 % of base) : 25925.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -198 (-29.25 % of base) : 52580.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -198 (-29.25 % of base) : 52612.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -70 (-9.71 % of base) : 74234.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.71 % of base) : 75485.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 24413.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 35034.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 52881.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 53830.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 92717.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 38105.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 49826.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 83525.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 83625.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 90917.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 41170.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 48553.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 55714.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 88305.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
  
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: 12620519 (overridden on cmd)
Total bytes of diff: 12619819 (overridden on cmd)
Total bytes of delta: -700 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          18 : 24126.dasm (0.36 % of base)
          16 : 3326.dasm (0.80 % of base)
          15 : 49352.dasm (2.81 % of base)
          14 : 34374.dasm (1.80 % of base)
          11 : 34215.dasm (0.79 % of base)
           9 : 44883.dasm (2.01 % of base)
           7 : 3523.dasm (0.66 % of base)
           7 : 29376.dasm (0.28 % of base)
           7 : 43127.dasm (0.22 % of base)
           6 : 14147.dasm (0.69 % of base)
           5 : 34376.dasm (0.52 % of base)
           5 : 42920.dasm (0.10 % of base)
           5 : 43182.dasm (0.44 % of base)
           5 : 20268.dasm (0.32 % of base)
           4 : 42272.dasm (0.35 % of base)
           3 : 24142.dasm (0.03 % of base)
           3 : 48507.dasm (1.23 % of base)
           2 : 20783.dasm (0.06 % of base)
           2 : 46208.dasm (0.13 % of base)
           2 : 42940.dasm (0.17 % of base)
Top file improvements (bytes):
        -439 : 23916.dasm (-32.11 % of base)
        -147 : 34370.dasm (-15.91 % of base)
         -50 : 47607.dasm (-6.39 % of base)
         -50 : 34379.dasm (-1.57 % of base)
         -25 : 47746.dasm (-2.71 % of base)
         -22 : 48983.dasm (-0.88 % of base)
         -22 : 34380.dasm (-2.04 % of base)
         -20 : 30651.dasm (-0.96 % of base)
         -18 : 26215.dasm (-0.17 % of base)
         -17 : 36198.dasm (-3.04 % of base)
          -7 : 29661.dasm (-0.38 % of base)
          -6 : 20274.dasm (-0.79 % of base)
          -4 : 53506.dasm (-0.41 % of base)
          -4 : 2439.dasm (-0.57 % of base)
          -3 : 34372.dasm (-0.10 % of base)
          -3 : 20371.dasm (-0.32 % of base)
          -2 : 49360.dasm (-0.14 % of base)
          -2 : 9151.dasm (-0.01 % of base)
          -2 : 49677.dasm (-0.01 % of base)
          -2 : 33098.dasm (-0.05 % of base)
47 total files with Code Size differences (23 improved, 24 regressed), 20 unchanged.
Top method regressions (bytes):
          18 (0.36 % of base) : 24126.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1)
          16 (0.80 % of base) : 3326.dasm - System.Text.CompositeFormat:TryParseLiterals(System.ReadOnlySpan`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`4[System.String,int,int,System.String]],byref,byref):ubyte (Tier0-FullOpts)
          15 (2.81 % of base) : 49352.dasm - Benchstone.MDBenchF.MDInvMt:Inner(double[,],byref,byref) (Tier1-OSR)
          14 (1.80 % of base) : 34374.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1-OSR)
          11 (0.79 % of base) : 34215.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (Tier1)
           9 (2.01 % of base) : 44883.dasm - System.Linq.Enumerable:TryGetFirst[Microsoft.CodeAnalysis.SyntaxTrivia](System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.SyntaxTrivia],System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte],byref):Microsoft.CodeAnalysis.SyntaxTrivia (Tier1)
           7 (0.22 % of base) : 43127.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (Tier0-FullOpts)
           7 (0.66 % of base) : 3523.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,int](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (Tier1)
           7 (0.28 % of base) : 29376.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
           6 (0.69 % of base) : 14147.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
           5 (0.52 % of base) : 34376.dasm - LUDecomp:Run():double:this (Tier1)
           5 (0.10 % of base) : 42920.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceOrTypeSymbol:LookupMetadataType(byref):Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol:this (Tier1)
           5 (0.32 % of base) : 20268.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (Tier1)
           5 (0.44 % of base) : 43182.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
           4 (0.35 % of base) : 42272.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2[System.__Canon,int]:<ForWorker>b__1(byref,long,byref):this (Tier1)
           3 (1.23 % of base) : 48507.dasm - System.Decimal+DecCalc:VarDecCmpSub(byref,byref):int (Tier1)
           3 (0.03 % of base) : 24142.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (Tier1)
           2 (0.13 % of base) : 46208.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
           2 (0.50 % of base) : 50657.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
           2 (0.06 % of base) : 20783.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength4To7,System.Buffers.StringSearchValuesHelper+CaseInsensitiveAsciiLetters]:IndexOf(byref,int):int:this (Tier1)
Top method improvements (bytes):
        -439 (-32.11 % of base) : 23916.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -147 (-15.91 % of base) : 34370.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -50 (-6.39 % of base) : 47607.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -50 (-1.57 % of base) : 34379.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (Tier1)
         -25 (-2.71 % of base) : 47746.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
         -22 (-2.04 % of base) : 34380.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1)
         -22 (-0.88 % of base) : 48983.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
         -20 (-0.96 % of base) : 30651.dasm - AssignRect:second_assignments(int[,],short[,]) (Tier1-OSR)
         -18 (-0.17 % of base) : 26215.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         -17 (-3.04 % of base) : 36198.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:QuickScanSyntaxToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:this (Tier1)
          -7 (-0.38 % of base) : 29661.dasm - AssignJagged:second_assignments(int[][],short[][]) (Tier1-OSR)
          -6 (-0.79 % of base) : 20274.dasm - System.Reflection.RuntimeMethodInfo:MakeGenericMethod(System.Type[]):System.Reflection.MethodInfo:this (Tier1)
          -4 (-0.57 % of base) : 2439.dasm - System.Reflection.TypeNameParser:ParseNamedOrConstructedGenericTypeName():System.Reflection.TypeNameParser+TypeName:this (Tier1)
          -4 (-0.41 % of base) : 53506.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
          -3 (-0.10 % of base) : 34372.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (Tier1-OSR)
          -3 (-0.32 % of base) : 20371.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:FindLeadingOrTrailingAnchor(System.Text.RegularExpressions.RegexNode,ubyte):ubyte (Tier1)
          -2 (-0.01 % of base) : 49677.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -2 (-0.05 % of base) : 33098.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -2 (-0.01 % of base) : 9151.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -2 (-0.14 % of base) : 49360.dasm - (dynamicClass):ReadSimpleStructWithPropertiesFromXml(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.XmlObjectSerializerReadContext,System.Xml.XmlDictionaryString[],System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
Top method regressions (percentages):
          15 (2.81 % of base) : 49352.dasm - Benchstone.MDBenchF.MDInvMt:Inner(double[,],byref,byref) (Tier1-OSR)
           9 (2.01 % of base) : 44883.dasm - System.Linq.Enumerable:TryGetFirst[Microsoft.CodeAnalysis.SyntaxTrivia](System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.SyntaxTrivia],System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte],byref):Microsoft.CodeAnalysis.SyntaxTrivia (Tier1)
          14 (1.80 % of base) : 34374.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1-OSR)
           3 (1.23 % of base) : 48507.dasm - System.Decimal+DecCalc:VarDecCmpSub(byref,byref):int (Tier1)
          16 (0.80 % of base) : 3326.dasm - System.Text.CompositeFormat:TryParseLiterals(System.ReadOnlySpan`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`4[System.String,int,int,System.String]],byref,byref):ubyte (Tier0-FullOpts)
          11 (0.79 % of base) : 34215.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (Tier1)
           6 (0.69 % of base) : 14147.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon],int):System.Collections.Immutable.ImmutableDictionary`2+MutationResult[System.__Canon,System.__Canon] (Tier1-OSR)
           7 (0.66 % of base) : 3523.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,int](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (Tier1)
           5 (0.52 % of base) : 34376.dasm - LUDecomp:Run():double:this (Tier1)
           2 (0.50 % of base) : 50657.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
           5 (0.44 % of base) : 43182.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
           1 (0.43 % of base) : 4641.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Threading.PortableThreadPool+IOCompletionPoller+Event]:TryDequeue(byref):ubyte:this (Tier1)
          18 (0.36 % of base) : 24126.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1)
           4 (0.35 % of base) : 42272.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2[System.__Canon,int]:<ForWorker>b__1(byref,long,byref):this (Tier1)
           5 (0.32 % of base) : 20268.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (Tier1)
           7 (0.28 % of base) : 29376.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
           7 (0.22 % of base) : 43127.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (Tier0-FullOpts)
           2 (0.17 % of base) : 42940.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
           1 (0.15 % of base) : 5074.dasm - System.Collections.Frozen.FrozenHashTable:Create(System.Span`1[int],ubyte):System.Collections.Frozen.FrozenHashTable (Tier1-OSR)
           1 (0.14 % of base) : 20244.dasm - System.Reflection.SignatureTypeExtensions:TryResolve(System.Reflection.SignatureType,System.Type[]):System.Type (Tier1)
Top method improvements (percentages):
        -439 (-32.11 % of base) : 23916.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -147 (-15.91 % of base) : 34370.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -50 (-6.39 % of base) : 47607.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -17 (-3.04 % of base) : 36198.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:QuickScanSyntaxToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:this (Tier1)
         -25 (-2.71 % of base) : 47746.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
         -22 (-2.04 % of base) : 34380.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1)
         -50 (-1.57 % of base) : 34379.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (Tier1)
         -20 (-0.96 % of base) : 30651.dasm - AssignRect:second_assignments(int[,],short[,]) (Tier1-OSR)
         -22 (-0.88 % of base) : 48983.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -6 (-0.79 % of base) : 20274.dasm - System.Reflection.RuntimeMethodInfo:MakeGenericMethod(System.Type[]):System.Reflection.MethodInfo:this (Tier1)
          -4 (-0.57 % of base) : 2439.dasm - System.Reflection.TypeNameParser:ParseNamedOrConstructedGenericTypeName():System.Reflection.TypeNameParser+TypeName:this (Tier1)
          -4 (-0.41 % of base) : 53506.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
          -7 (-0.38 % of base) : 29661.dasm - AssignJagged:second_assignments(int[][],short[][]) (Tier1-OSR)
          -3 (-0.32 % of base) : 20371.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:FindLeadingOrTrailingAnchor(System.Text.RegularExpressions.RegexNode,ubyte):ubyte (Tier1)
          -2 (-0.24 % of base) : 50702.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,int]:TryAddInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[int,int],int,System.Nullable`1[int],int,ubyte,ubyte,byref):ubyte:this (Tier1)
         -18 (-0.17 % of base) : 26215.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
          -2 (-0.14 % of base) : 49360.dasm - (dynamicClass):ReadSimpleStructWithPropertiesFromXml(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.XmlObjectSerializerReadContext,System.Xml.XmlDictionaryString[],System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
          -2 (-0.13 % of base) : 23919.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1)
          -1 (-0.11 % of base) : 34378.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1)
          -3 (-0.10 % of base) : 34372.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (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: 393023545 (overridden on cmd)
Total bytes of diff: 393023661 (overridden on cmd)
Total bytes of delta: 116 (0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         147 : 187215.dasm (5.57 % of base)
         138 : 568080.dasm (1.18 % of base)
         110 : 568084.dasm (3.45 % of base)
         106 : 229574.dasm (5.46 % of base)
          77 : 186645.dasm (1.01 % of base)
          66 : 186943.dasm (2.30 % of base)
          62 : 570085.dasm (3.23 % of base)
          62 : 565927.dasm (3.23 % of base)
          58 : 570009.dasm (3.11 % of base)
          58 : 565658.dasm (3.09 % of base)
          46 : 565345.dasm (2.66 % of base)
          40 : 321618.dasm (0.79 % of base)
          37 : 299903.dasm (2.53 % of base)
          36 : 370769.dasm (0.98 % of base)
          36 : 186177.dasm (1.75 % of base)
          30 : 494161.dasm (13.70 % of base)
          30 : 570007.dasm (2.24 % of base)
          30 : 565752.dasm (2.24 % of base)
          30 : 494159.dasm (13.70 % of base)
          29 : 572840.dasm (1.53 % of base)
Top file improvements (bytes):
        -471 : 450133.dasm (-33.84 % of base)
        -260 : 570172.dasm (-2.21 % of base)
        -198 : 439755.dasm (-29.25 % of base)
        -198 : 439770.dasm (-29.25 % of base)
        -146 : 487406.dasm (-36.32 % of base)
        -112 : 227372.dasm (-3.36 % of base)
        -112 : 227608.dasm (-3.36 % of base)
         -96 : 559347.dasm (-8.84 % of base)
         -75 : 168415.dasm (-2.40 % of base)
         -69 : 559125.dasm (-0.66 % of base)
         -69 : 558902.dasm (-0.66 % of base)
         -64 : 571020.dasm (-2.15 % of base)
         -62 : 565533.dasm (-3.37 % of base)
         -58 : 439594.dasm (-2.92 % of base)
         -54 : 191116.dasm (-5.27 % of base)
         -50 : 186222.dasm (-1.57 % of base)
         -47 : 482934.dasm (-6.82 % of base)
         -44 : 240406.dasm (-2.14 % of base)
         -43 : 307924.dasm (-4.16 % of base)
         -41 : 474626.dasm (-1.97 % of base)
85 total files with Code Size differences (37 improved, 48 regressed), 20 unchanged.
Top method regressions (bytes):
         147 (5.57 % of base) : 187215.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol:CheckMembers(Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol,System.Collections.Generic.Dictionary`2[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceOrTypeSymbol]],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)
         138 (1.18 % of base) : 568080.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
         110 (3.45 % of base) : 568084.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+RuntimeDeterminedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+RuntimeDeterminedTypeKey,byref):ubyte:this (Tier1)
         106 (5.46 % of base) : 229574.dasm - JitTest_array1_refany_il.Test:Main():int (FullOpts)
          77 (1.01 % of base) : 186645.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)
          66 (2.30 % of base) : 186943.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 (FullOpts)
          62 (3.23 % of base) : 570085.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          62 (3.23 % of base) : 565927.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          58 (3.11 % of base) : 570009.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          58 (3.09 % of base) : 565658.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          46 (2.66 % of base) : 565345.dasm - Internal.TypeSystem.MetadataVirtualMethodAlgorithm:FindMatchingVirtualMethodOnTypeByNameAndSig(Internal.TypeSystem.MethodDesc,Internal.TypeSystem.DefType,ubyte,System.Func`3[Internal.TypeSystem.MethodDesc,Internal.TypeSystem.MethodDesc,ubyte]):Internal.TypeSystem.MethodDesc (Tier1)
          40 (0.79 % of base) : 321618.dasm - TestLibrary.OutOfProcessTest:RunOutOfProcessTest(System.String) (Tier1)
          37 (2.53 % of base) : 299903.dasm - AutoGen.Program:Func1(AutoGen.VType1,long,uint,AutoGen.VType2):AutoGen.VType1:this (FullOpts)
          36 (1.75 % of base) : 186177.dasm - Huffman:DoHuffIteration(ubyte[],ubyte[],ubyte[],int,int,huff_node[]):long (FullOpts)
          36 (0.98 % of base) : 370769.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (Instrumented Tier1)
          30 (2.24 % of base) : 570007.dasm - Internal.TypeSystem.Ecma.EcmaType:GetMethod(System.String,Internal.TypeSystem.MethodSignature,Internal.TypeSystem.Instantiation):Internal.TypeSystem.MethodDesc:this (Tier1)
          30 (2.24 % of base) : 565752.dasm - Internal.TypeSystem.Ecma.EcmaType:GetMethod(System.String,Internal.TypeSystem.MethodSignature,Internal.TypeSystem.Instantiation):Internal.TypeSystem.MethodDesc:this (Tier1)
          30 (13.70 % of base) : 494159.dasm - testout1:Test1(int):int (Tier1-OSR)
          30 (13.70 % of base) : 494161.dasm - testout1:Test2(int):int (Tier1-OSR)
          29 (1.53 % of base) : 572840.dasm - System.IO.FileSystem:CreateDirectory(System.String,ubyte[]) (Tier1)
Top method improvements (bytes):
        -471 (-33.84 % of base) : 450133.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -260 (-2.21 % of base) : 570172.dasm - ILCompiler.ReadyToRunMetadataFieldLayoutAlgorithm+ModuleFieldLayoutMap:CalculateTypeLayout(Internal.TypeSystem.DefType,Internal.TypeSystem.Ecma.EcmaModule,byref):Internal.TypeSystem.FieldAndOffset[]:this (Tier1)
        -198 (-29.25 % of base) : 439755.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -198 (-29.25 % of base) : 439770.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -146 (-36.32 % of base) : 487406.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -112 (-3.36 % of base) : 227372.dasm - plainarr:gaussj(double[,],int,double[,],int) (FullOpts)
        -112 (-3.36 % of base) : 227608.dasm - structarr:gaussj(MatrixStruct,int,MatrixStruct,int) (FullOpts)
         -96 (-8.84 % of base) : 559347.dasm - System.Diagnostics.Process:GetEnvironmentVariablesBlock(System.Collections.Specialized.DictionaryWrapper):System.String (Tier1)
         -75 (-2.40 % of base) : 168415.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -69 (-0.66 % of base) : 559125.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
         -69 (-0.66 % of base) : 558902.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
         -64 (-2.15 % of base) : 571020.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+RuntimeDeterminedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+RuntimeDeterminedTypeKey,byref):ubyte:this (Tier1)
         -62 (-3.37 % of base) : 565533.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+ArrayTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+ArrayTypeKey,byref):ubyte:this (Tier1)
         -58 (-2.92 % of base) : 439594.dasm - Huffman:DoHuffIteration(ubyte[],ubyte[],ubyte[],int,int,huff_node[]):long (Tier1-OSR)
         -54 (-5.27 % of base) : 191116.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (FullOpts)
         -50 (-1.57 % of base) : 186222.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (FullOpts)
         -47 (-6.82 % of base) : 482934.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -44 (-2.14 % of base) : 240406.dasm - System.Xml.Xsl.Xslt.XsltInput:GetAttributes(System.Xml.Xsl.Xslt.XsltInput+XsltAttribute[]):System.Xml.Xsl.Xslt.XsltInput+ContextInfo:this (FullOpts)
         -43 (-4.16 % of base) : 307924.dasm - System.Diagnostics.Process:GetEnvironmentVariablesBlock(System.Collections.Specialized.DictionaryWrapper):System.String (Tier1)
         -41 (-1.97 % of base) : 474626.dasm - JitTest_lcs_refany_il.LCS:findLCS(System.TypedReference,System.TypedReference,System.TypedReference,System.TypedReference) (Tier1-OSR)
Top method regressions (percentages):
          30 (13.70 % of base) : 494159.dasm - testout1:Test1(int):int (Tier1-OSR)
          30 (13.70 % of base) : 494161.dasm - testout1:Test2(int):int (Tier1-OSR)
          21 (8.68 % of base) : 310634.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 321590.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 462273.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 495465.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 307130.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 453250.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 454019.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 460570.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 481462.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 484228.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 542808.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 543469.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 546508.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 546893.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 452944.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 492867.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 557328.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 571792.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
Top method improvements (percentages):
        -146 (-36.32 % of base) : 487406.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -471 (-33.84 % of base) : 450133.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -198 (-29.25 % of base) : 439755.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -198 (-29.25 % of base) : 439770.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -96 (-8.84 % of base) : 559347.dasm - System.Diagnostics.Process:GetEnvironmentVariablesBlock(System.Collections.Specialized.DictionaryWrapper):System.String (Tier1)
         -47 (-6.82 % of base) : 482934.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -37 (-5.61 % of base) : 492747.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -13 (-5.37 % of base) : 449476.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
         -54 (-5.27 % of base) : 191116.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (FullOpts)
         -13 (-5.16 % of base) : 449478.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
         -26 (-4.17 % of base) : 567442.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -26 (-4.17 % of base) : 570872.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -43 (-4.16 % of base) : 307924.dasm - System.Diagnostics.Process:GetEnvironmentVariablesBlock(System.Collections.Specialized.DictionaryWrapper):System.String (Tier1)
         -25 (-4.09 % of base) : 329070.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -25 (-4.09 % of base) : 331407.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
          -7 (-3.76 % of base) : 455764.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
          -7 (-3.76 % of base) : 453218.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
          -3 (-3.75 % of base) : 567714.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
          -3 (-3.75 % of base) : 571007.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
         -62 (-3.37 % of base) : 565533.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+ArrayTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+ArrayTypeKey,byref):ubyte:this (Tier1)
  
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: 212830 (overridden on cmd)
Total bytes of diff: 212812 (overridden on cmd)
Total bytes of delta: -18 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
          -9 : 755.dasm (-0.56 % of base)
          -9 : 1659.dasm (-0.55 % of base)
2 total files with Code Size differences (2 improved, 0 regressed), 1 unchanged.
Top method improvements (bytes):
          -9 (-0.56 % of base) : 755.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
          -9 (-0.55 % of base) : 1659.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
Top method improvements (percentages):
          -9 (-0.56 % of base) : 755.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
          -9 (-0.55 % of base) : 1659.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
2 total methods with Code Size differences (2 improved, 0 regressed).
  
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: 61619320 (overridden on cmd)
Total bytes of diff: 61619569 (overridden on cmd)
Total bytes of delta: 249 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         147 : 86968.dasm (5.44 % of base)
         106 : 119845.dasm (3.27 % of base)
          93 : 148409.dasm (2.06 % of base)
          86 : 135202.dasm (7.05 % of base)
          86 : 170885.dasm (7.05 % of base)
          77 : 105396.dasm (0.79 % of base)
          51 : 157551.dasm (2.63 % of base)
          43 : 23379.dasm (2.57 % of base)
          39 : 222350.dasm (0.60 % of base)
          36 : 57171.dasm (0.48 % of base)
          33 : 19350.dasm (1.87 % of base)
          32 : 65364.dasm (3.08 % of base)
          30 : 211939.dasm (0.84 % of base)
          30 : 198372.dasm (0.83 % of base)
          30 : 221081.dasm (2.79 % of base)
          29 : 125313.dasm (0.60 % of base)
          28 : 295603.dasm (0.98 % of base)
          28 : 163671.dasm (1.62 % of base)
          28 : 185335.dasm (1.62 % of base)
          26 : 230918.dasm (0.56 % of base)
Top file improvements (bytes):
        -147 : 148407.dasm (-0.52 % of base)
         -90 : 222112.dasm (-1.10 % of base)
         -75 : 129449.dasm (-2.39 % of base)
         -60 : 63823.dasm (-0.54 % of base)
         -54 : 191184.dasm (-0.39 % of base)
         -51 : 148421.dasm (-0.84 % of base)
         -44 : 217395.dasm (-2.05 % of base)
         -44 : 221973.dasm (-1.10 % of base)
         -37 : 135201.dasm (-1.30 % of base)
         -37 : 170884.dasm (-1.30 % of base)
         -36 : 121628.dasm (-0.93 % of base)
         -35 : 282687.dasm (-2.23 % of base)
         -33 : 63900.dasm (-0.53 % of base)
         -31 : 128447.dasm (-0.29 % of base)
         -27 : 96377.dasm (-1.40 % of base)
         -26 : 147706.dasm (-1.24 % of base)
         -24 : 295814.dasm (-2.26 % of base)
         -24 : 63717.dasm (-0.19 % of base)
         -22 : 270967.dasm (-1.03 % of base)
         -21 : 121173.dasm (-5.34 % of base)
82 total files with Code Size differences (38 improved, 44 regressed), 20 unchanged.
Top method regressions (bytes):
         147 (5.44 % of base) : 86968.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol:CheckMembers(Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol,System.Collections.Generic.Dictionary`2[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceOrTypeSymbol]],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)
         106 (3.27 % of base) : 119845.dasm - Microsoft.CodeAnalysis.VisualBasic.ExpressionLambdaRewriter:VisitObjectInitializer(Microsoft.CodeAnalysis.VisualBasic.BoundObjectInitializerExpression):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
          93 (2.06 % of base) : 148409.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMostSpecific(System.Reflection.MethodBase,System.Reflection.MethodBase,int[],System.Object[],ubyte,int,int,System.Object[]):int:this (FullOpts)
          86 (7.05 % of base) : 135202.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetNextToken(Microsoft.CodeAnalysis.SyntaxTrivia,Microsoft.CodeAnalysis.SyntaxTriviaList,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte],byref):Microsoft.CodeAnalysis.SyntaxToken:this (FullOpts)
          86 (7.05 % of base) : 170885.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetNextToken(Microsoft.CodeAnalysis.SyntaxTrivia,Microsoft.CodeAnalysis.SyntaxTriviaList,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte],byref):Microsoft.CodeAnalysis.SyntaxToken:this (FullOpts)
          77 (0.79 % of base) : 105396.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCommandLineParser:ParseConditionalCompilationSymbols(System.String,byref,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]):System.Collections.Generic.IReadOnlyDictionary`2[System.String,System.Object] (FullOpts)
          51 (2.63 % of base) : 157551.dasm - Microsoft.Build.Evaluation.ExpressionShredder:GetReferencedItemExpressions(System.String,int,int):System.Collections.Generic.List`1[Microsoft.Build.Evaluation.ExpressionShredder+ItemExpressionCapture] (FullOpts)
          43 (2.57 % of base) : 23379.dasm - System.Enum:FormatFlagNames[short](System.Enum+EnumInfo`1[short],short):System.String (FullOpts)
          39 (0.60 % of base) : 222350.dasm - System.Xml.Serialization.XmlSerializationWriterCodeGen:GenerateMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
          36 (0.48 % of base) : 57171.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindAnonymousObjectCreation(Microsoft.CodeAnalysis.CSharp.Syntax.AnonymousObjectCreationExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          33 (1.87 % of base) : 19350.dasm - System.Data.DataView:ToTable(System.String,ubyte,System.String[]):System.Data.DataTable:this (FullOpts)
          32 (3.08 % of base) : 65364.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitBinaryOperator(Microsoft.CodeAnalysis.CSharp.BoundBinaryOperator,Microsoft.CodeAnalysis.CSharp.BoundUnaryOperator):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          30 (0.83 % of base) : 198372.dasm - System.Linq.Parallel.SortHelper`2[ubyte,System.Nullable`1[int]]:MergeSortCooperatively():this (FullOpts)
          30 (2.79 % of base) : 221081.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteElements(System.Object,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,ubyte,ubyte):this (FullOpts)
          30 (0.84 % of base) : 211939.dasm - System.Xml.XmlTextReaderImpl+<ParseAttributesAsync>d__531:MoveNext():this (FullOpts)
          29 (0.60 % of base) : 125313.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation+ReferenceManager:SetupReferencesForSourceAssembly(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceAssemblySymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.PEModule],int,Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation,Microsoft.CodeAnalysis.VisualBasic.Symbols.AssemblySymbol][],byref,byref) (FullOpts)
          28 (1.62 % of base) : 163671.dasm - System.Configuration.ConfigurationElement:UnMergeLockList(System.Configuration.ConfigurationLockCollection,System.Configuration.ConfigurationLockCollection,int):System.Configuration.ConfigurationLockCollection:this (FullOpts)
          28 (1.62 % of base) : 185335.dasm - System.Configuration.ConfigurationElement:UnMergeLockList(System.Configuration.ConfigurationLockCollection,System.Configuration.ConfigurationLockCollection,int):System.Configuration.ConfigurationLockCollection:this (FullOpts)
          28 (0.98 % of base) : 295603.dasm - System.Runtime.InteropServices.Marshalling.ComImportInteropInterfaceDetailsStrategy+<>c:<GetIUnknownDerivedDetails>b__3_0(System.Type):System.Type:this (FullOpts)
          26 (0.56 % of base) : 230918.dasm - System.Security.Cryptography.X509Certificates.CertificateRequest:LoadSigningRequest(System.ReadOnlySpan`1[ubyte],ubyte,System.Security.Cryptography.HashAlgorithmName,byref,int,System.Security.Cryptography.RSASignaturePadding):System.Security.Cryptography.X509Certificates.CertificateRequest (FullOpts)
Top method improvements (bytes):
        -147 (-0.52 % of base) : 148407.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)
         -90 (-1.10 % of base) : 222112.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
         -75 (-2.39 % of base) : 129449.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -60 (-0.54 % of base) : 63823.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)
         -54 (-0.39 % of base) : 191184.dasm - System.DirectoryServices.ActiveDirectory.Utils:GetReplicaList(System.DirectoryServices.ActiveDirectory.DirectoryContext,System.String,System.String,ubyte,ubyte,ubyte):System.Collections.ArrayList (FullOpts)
         -51 (-0.84 % of base) : 148421.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -44 (-1.10 % of base) : 221973.dasm - System.Xml.Serialization.XmlSerializationReader:ReadArray(System.String,System.String):System.Array:this (FullOpts)
         -44 (-2.05 % of base) : 217395.dasm - System.Xml.Xsl.Xslt.XsltInput:GetAttributes(System.Xml.Xsl.Xslt.XsltInput+XsltAttribute[]):System.Xml.Xsl.Xslt.XsltInput+ContextInfo:this (FullOpts)
         -37 (-1.30 % of base) : 135201.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetPreviousToken(Microsoft.CodeAnalysis.SyntaxTrivia,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte]):Microsoft.CodeAnalysis.SyntaxToken:this (FullOpts)
         -37 (-1.30 % of base) : 170884.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetPreviousToken(Microsoft.CodeAnalysis.SyntaxTrivia,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte]):Microsoft.CodeAnalysis.SyntaxToken:this (FullOpts)
         -36 (-0.93 % of base) : 121628.dasm - Microsoft.CodeAnalysis.VisualBasic.TypeUnification:CanUnifyHelper(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeWithModifiers,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeWithModifiers,byref):ubyte (FullOpts)
         -35 (-2.23 % of base) : 282687.dasm - System.Buffers.SequenceReader`1[double]:TryReadTo(byref,double,double,ubyte):ubyte:this (FullOpts)
         -33 (-0.53 % of base) : 63900.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArguments>g__visitArguments|231_0(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Conversion],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,ubyte):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte,Microsoft.CodeAnalysis.CSharp.NullableWalker+ArgumentsCompletionDelegate]:this (FullOpts)
         -31 (-0.29 % of base) : 128447.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)
         -27 (-1.40 % of base) : 96377.dasm - System.Speech.Internal.SrgsCompiler.Item:System.Speech.Internal.SrgsParser.IElement.PostParse(System.Speech.Internal.SrgsParser.IElement):this (FullOpts)
         -26 (-1.24 % of base) : 147706.dasm - Microsoft.VisualBasic.CompilerServices.LikeOperator:MatchAsterisk(System.String,int,int,Microsoft.VisualBasic.CompilerServices.LikeOperator+LigatureInfo[],System.String,Microsoft.VisualBasic.CompilerServices.LikeOperator+LigatureInfo[],Microsoft.VisualBasic.CompilerServices.LikeOperator+PatternGroup[],int,byref,byref,System.Globalization.CompareInfo,int) (FullOpts)
         -24 (-0.19 % of base) : 63717.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)
         -24 (-2.26 % of base) : 295814.dasm - System.Globalization.FormatProvider+Number:FormatFixed(byref,byref,int,int,System.Globalization.NumberFormatInfo,int[],System.String,System.String) (FullOpts)
         -22 (-1.03 % of base) : 270967.dasm - System.Data.Odbc.OdbcDataReader:RetrieveKeyInfoFromStatistics(System.Data.Odbc.OdbcDataReader+QualifiedTableName,ubyte):int:this (FullOpts)
         -21 (-5.34 % of base) : 121173.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:ReportOverloadResolutionFailedOrLateBound(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult],int,ubyte,System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]):Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+OverloadResolutionResult (FullOpts)
Top method regressions (percentages):
          86 (7.05 % of base) : 170885.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetNextToken(Microsoft.CodeAnalysis.SyntaxTrivia,Microsoft.CodeAnalysis.SyntaxTriviaList,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte],byref):Microsoft.CodeAnalysis.SyntaxToken:this (FullOpts)
          86 (7.05 % of base) : 135202.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetNextToken(Microsoft.CodeAnalysis.SyntaxTrivia,Microsoft.CodeAnalysis.SyntaxTriviaList,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte],byref):Microsoft.CodeAnalysis.SyntaxToken:this (FullOpts)
           5 (6.33 % of base) : 66311.dasm - Microsoft.CodeAnalysis.CSharp.ObjectDisplay:ContainsNewLine(System.String):ubyte (FullOpts)
         147 (5.44 % of base) : 86968.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol:CheckMembers(Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol,System.Collections.Generic.Dictionary`2[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceOrTypeSymbol]],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)
          17 (4.20 % of base) : 203723.dasm - System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
           6 (3.66 % of base) : 17147.dasm - System.Xml.XPathNodePointer:DecideXPNodeTypeForTextNodes(System.Xml.XmlNode):int:this (FullOpts)
           3 (3.30 % of base) : 262931.dasm - System.Collections.Immutable.ImmutableList`1+Node[int]:get_Item(int):int:this (FullOpts)
           3 (3.30 % of base) : 264019.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[int]:get_Item(int):int:this (FullOpts)
         106 (3.27 % of base) : 119845.dasm - Microsoft.CodeAnalysis.VisualBasic.ExpressionLambdaRewriter:VisitObjectInitializer(Microsoft.CodeAnalysis.VisualBasic.BoundObjectInitializerExpression):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
           3 (3.26 % of base) : 262979.dasm - System.Collections.Immutable.ImmutableList`1+Node[long]:get_Item(int):long:this (FullOpts)
           3 (3.26 % of base) : 262772.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:get_Item(int):System.__Canon:this (FullOpts)
           3 (3.26 % of base) : 262846.dasm - System.Collections.Immutable.ImmutableList`1+Node[ubyte]:get_Item(int):ubyte:this (FullOpts)
           3 (3.26 % of base) : 264049.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[long]:get_Item(int):long:this (FullOpts)
           3 (3.26 % of base) : 263942.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:get_Item(int):System.__Canon:this (FullOpts)
           3 (3.26 % of base) : 263978.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[ubyte]:get_Item(int):ubyte:this (FullOpts)
           3 (3.23 % of base) : 262915.dasm - System.Collections.Immutable.ImmutableList`1+Node[short]:get_Item(int):short:this (FullOpts)
           3 (3.23 % of base) : 264009.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[short]:get_Item(int):short:this (FullOpts)
           7 (3.23 % of base) : 237045.dasm - System.Text.RegularExpressions.Symbolic.BitVector:Not(System.Text.RegularExpressions.Symbolic.BitVector):System.Text.RegularExpressions.Symbolic.BitVector (FullOpts)
          32 (3.08 % of base) : 65364.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitBinaryOperator(Microsoft.CodeAnalysis.CSharp.BoundBinaryOperator,Microsoft.CodeAnalysis.CSharp.BoundUnaryOperator):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
           8 (2.87 % of base) : 219185.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
Top method improvements (percentages):
         -18 (-7.23 % of base) : 76327.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ConsumeRemainingContentThroughNewLine(System.Text.StringBuilder,System.ReadOnlySpan`1[ushort],int):int (FullOpts)
         -17 (-6.25 % of base) : 123977.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder+MemberLookup:IsDerivedInterface(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BasesBeingResolved,byref):ubyte (FullOpts)
         -21 (-5.34 % of base) : 121173.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:ReportOverloadResolutionFailedOrLateBound(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult],int,ubyte,System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]):Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+OverloadResolutionResult (FullOpts)
         -15 (-4.93 % of base) : 145242.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerFileReference+Extensions`1[System.__Canon]:CheckAssemblyReferencesNewerCompiler(System.Reflection.Assembly):ubyte:this (FullOpts)
         -15 (-4.93 % of base) : 180867.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerFileReference+Extensions`1[System.__Canon]:CheckAssemblyReferencesNewerCompiler(System.Reflection.Assembly):ubyte:this (FullOpts)
          -5 (-4.10 % of base) : 296494.dasm - System.Runtime.Serialization.ObjectHolderListEnumerator:MoveNext():ubyte:this (FullOpts)
         -14 (-3.98 % of base) : 290012.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
          -2 (-3.03 % of base) : 62360.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
          -6 (-2.90 % of base) : 99746.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.NamespaceSymbol:LookupNestedNamespace(System.Collections.Immutable.ImmutableArray`1[System.String]):Microsoft.CodeAnalysis.VisualBasic.Symbols.NamespaceSymbol:this (FullOpts)
         -13 (-2.49 % of base) : 203724.dasm - System.Xml.XmlConverter:TryParseInt64(ubyte[],int,int,byref):ubyte (FullOpts)
         -75 (-2.39 % of base) : 129449.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -24 (-2.26 % of base) : 295814.dasm - System.Globalization.FormatProvider+Number:FormatFixed(byref,byref,int,int,System.Globalization.NumberFormatInfo,int[],System.String,System.String) (FullOpts)
          -4 (-2.23 % of base) : 307334.dasm - Xunit.Sdk.SerializationHelper:SubstringTrim(System.String,int,int):System.String (FullOpts)
          -4 (-2.23 % of base) : 308620.dasm - Xunit.SerializationHelper:SubstringTrim(System.String,int,int):System.String (FullOpts)
         -35 (-2.23 % of base) : 282687.dasm - System.Buffers.SequenceReader`1[double]:TryReadTo(byref,double,double,ubyte):ubyte:this (FullOpts)
          -2 (-2.17 % of base) : 135749.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
          -2 (-2.17 % of base) : 171423.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
          -8 (-2.09 % of base) : 239290.dasm - Internal.JitInterface.CorInfoImpl:allocUnwindInfo(ulong,ulong,uint,uint,uint,ulong,int):this (FullOpts)
         -44 (-2.05 % of base) : 217395.dasm - System.Xml.Xsl.Xslt.XsltInput:GetAttributes(System.Xml.Xsl.Xslt.XsltInput+XsltAttribute[]):System.Xml.Xsl.Xslt.XsltInput+ContextInfo:this (FullOpts)
          -6 (-1.99 % of base) : 284801.dasm - System.Net.Mail.WhitespaceReader:TryReadFwsReverse(System.String,int,byref,ubyte):ubyte (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: 278638237 (overridden on cmd)
Total bytes of diff: 278639052 (overridden on cmd)
Total bytes of delta: 815 (0.00 % of base)
    diff is a regression.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
         776 : 453347.dasm (5.91 % of base)
         749 : 255980.dasm (5.77 % of base)
         618 : 616449.dasm (5.15 % of base)
         521 : 637347.dasm (4.25 % of base)
         512 : 648146.dasm (6.61 % of base)
         407 : 64365.dasm (3.61 % of base)
         406 : 85770.dasm (2.17 % of base)
         404 : 58810.dasm (2.16 % of base)
         391 : 233891.dasm (3.14 % of base)
         348 : 201743.dasm (2.46 % of base)
         255 : 621941.dasm (4.54 % of base)
         230 : 592132.dasm (1.06 % of base)
         227 : 85560.dasm (1.43 % of base)
         227 : 53464.dasm (1.43 % of base)
         221 : 166530.dasm (1.86 % of base)
         217 : 126038.dasm (2.54 % of base)
         215 : 381420.dasm (1.46 % of base)
         209 : 170377.dasm (5.53 % of base)
         191 : 354092.dasm (1.50 % of base)
         180 : 90171.dasm (1.57 % of base)
Top file improvements (bytes):
        -899 : 648536.dasm (-5.06 % of base)
        -781 : 619902.dasm (-3.74 % of base)
        -388 : 586583.dasm (-4.68 % of base)
        -355 : 87075.dasm (-2.14 % of base)
        -334 : 638029.dasm (-8.70 % of base)
        -277 : 621727.dasm (-5.66 % of base)
        -258 : 591374.dasm (-3.12 % of base)
        -257 : 164262.dasm (-5.25 % of base)
        -246 : 396087.dasm (-2.51 % of base)
        -242 : 163376.dasm (-7.66 % of base)
        -242 : 165182.dasm (-3.76 % of base)
        -226 : 638009.dasm (-6.75 % of base)
        -207 : 172315.dasm (-2.35 % of base)
        -206 : 55724.dasm (-4.99 % of base)
        -205 : 395223.dasm (-2.29 % of base)
        -202 : 602936.dasm (-2.80 % of base)
        -186 : 321042.dasm (-1.30 % of base)
        -181 : 19157.dasm (-1.77 % of base)
        -178 : 395922.dasm (-2.43 % of base)
        -171 : 87065.dasm (-0.87 % of base)
83 total files with Code Size differences (45 improved, 38 regressed), 20 unchanged.
Top method regressions (bytes):
         776 (5.91 % of base) : 453347.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         749 (5.77 % of base) : 255980.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         618 (5.15 % of base) : 616449.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (Tier1-OSR)
         521 (4.25 % of base) : 637347.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (Tier1)
         512 (6.61 % of base) : 648146.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)
         407 (3.61 % of base) : 64365.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMethodSymbolWithAttributes:<DecodeUnmanagedCallersOnlyAttribute>g__DecodeUnmanagedCallersOnlyAttributeData|72_1(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMethodSymbolWithAttributes,Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.UnmanagedCallersOnlyAttributeData (Tier1)
         406 (2.17 % of base) : 85770.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)
         404 (2.16 % of base) : 58810.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)
         391 (3.14 % of base) : 233891.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         348 (2.46 % of base) : 201743.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         255 (4.54 % of base) : 621941.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:MergePartialMembers(byref,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
         230 (1.06 % of base) : 592132.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)
         227 (1.43 % of base) : 85560.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier1)
         227 (1.43 % of base) : 53464.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier1)
         221 (1.86 % of base) : 166530.dasm - Microsoft.CodeAnalysis.GeneratorDriver:RunGeneratorsCore(Microsoft.CodeAnalysis.Compilation,Microsoft.CodeAnalysis.DiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.GeneratorDriverState:this (Tier1)
         217 (2.54 % of base) : 126038.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain):Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite:this (Tier1)
         215 (1.46 % of base) : 381420.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         209 (5.53 % of base) : 170377.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetRewrittenAttributeConstructorArguments(Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.TypedConstant],Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.TypedConstant]:this (Tier1)
         191 (1.50 % of base) : 354092.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         180 (1.57 % of base) : 90171.dasm - Microsoft.Interop.BoundGenerators:Create(System.Collections.Immutable.ImmutableArray`1[Microsoft.Interop.TypePositionInfo],Microsoft.Interop.IMarshallingGeneratorResolver,Microsoft.Interop.StubCodeContext,Microsoft.Interop.IMarshallingGenerator,byref):Microsoft.Interop.BoundGenerators (Tier1)
Top method improvements (bytes):
        -899 (-5.06 % of base) : 648536.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)
        -781 (-3.74 % of base) : 619902.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)
        -388 (-4.68 % of base) : 586583.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.SimpleStruct]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -355 (-2.14 % of base) : 87075.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)
        -334 (-8.70 % of base) : 638029.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[ulong]:FindSubcaptures[System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1+FullInputReader[ulong]](System.ReadOnlySpan`1[ushort],int,int,System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1+PerThreadData[ulong]):System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1+Registers[ulong]:this (Tier1)
        -277 (-5.66 % of base) : 621727.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol:CheckMembers(Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol,System.Collections.Generic.Dictionary`2[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceOrTypeSymbol]],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (Tier1)
        -258 (-3.12 % of base) : 591374.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -257 (-5.25 % of base) : 164262.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol:CheckMembers(Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol,System.Collections.Generic.Dictionary`2[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceOrTypeSymbol]],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (Tier1)
        -246 (-2.51 % of base) : 396087.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[double]:<MaxMagnitude_TwoTensors_SpecialValues>b__200_0(int):this (Tier1)
        -242 (-3.76 % of base) : 165182.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[],System.Action`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax],System.Action`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (Tier1)
        -242 (-7.66 % of base) : 163376.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseCommaSeparatedSyntaxList[System.__Canon](byref,ushort,System.Func`2[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser,ubyte],System.Func`2[System.__Canon,System.__Canon],Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser+SkipBadTokens`1[System.__Canon],ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList`1[System.__Canon]:this (Tier1)
        -226 (-6.75 % of base) : 638009.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[ulong]:FindSubcaptures[System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1+NoZAnchorInputReader[ulong]](System.ReadOnlySpan`1[ushort],int,int,System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1+PerThreadData[ulong]):System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1+Registers[ulong]:this (Tier1)
        -207 (-2.35 % of base) : 172315.dasm - Microsoft.Cci.MetadataWriter:WriteInstructions(System.Reflection.Metadata.Blob,System.Collections.Immutable.ImmutableArray`1[ubyte],byref,byref):this (Tier1)
        -206 (-4.99 % of base) : 55724.dasm - Microsoft.CodeAnalysis.CSharp.Binder:ValidateParameterNameConflicts(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
        -205 (-2.29 % of base) : 395223.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<MinMagnitude_TwoTensors_SpecialValues>b__222_0(int):this (Tier1)
        -202 (-2.80 % of base) : 602936.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Collections.Generic.KeyValuePair`2[System.Text.Json.Serialization.Tests.StreamTests+ImmutableStructWithStrings,System.Text.Json.Serialization.Tests.StreamTests+ImmutableStructWithStrings]]:ReadConstructorArgumentsWithContinuation(byref,byref,System.Text.Json.JsonSerializerOptions):ubyte:this (Tier1)
        -186 (-1.30 % of base) : 321042.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
        -181 (-1.77 % of base) : 19157.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)
        -178 (-2.43 % of base) : 395922.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[double]:<AddMultiply_TensorTensorScalar>b__118_0(int):this (Tier1)
        -171 (-0.87 % of base) : 87065.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)
Top method regressions (percentages):
         123 (15.19 % of base) : 499276.dasm - System.Numerics.BigIntegerCalculator:Divide(System.Span`1[uint],System.ReadOnlySpan`1[uint],System.Span`1[uint]) (Tier1)
          54 (12.22 % of base) : 198169.dasm - System.Collections.Frozen.FrozenSetInternalBase`2[System.__Canon,System.Collections.Frozen.DefaultFrozenSet`1+GSW[System.__Canon]]:IsSubsetOfSetWithCompatibleComparer(System.Collections.Generic.IReadOnlySet`1[System.__Canon]):ubyte:this (Tier1-OSR)
          19 (9.60 % of base) : 194454.dasm - System.Collections.Generic.HashSet`1[int]:IsSubsetOfHashSetWithSameComparer(System.Collections.Generic.HashSet`1[int]):ubyte:this (Tier1-OSR)
          21 (8.68 % of base) : 373394.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 670962.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 671829.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 671908.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          21 (8.68 % of base) : 672119.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          24 (8.30 % of base) : 411465.dasm - System.Xml.Serialization.XmlSerializerNamespaces:TryLookupPrefix(System.String,byref):ubyte:this (Tier1)
           2 (8.00 % of base) : 262213.dasm - System.Diagnostics.Tracing.EventSource:GetDispatcher(System.Diagnostics.Tracing.EventListener):System.Diagnostics.Tracing.EventDispatcher:this (Tier1)
          24 (7.27 % of base) : 162752.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          18 (7.11 % of base) : 333501.dasm - Xunit.Sdk.TypeUtility:ResolveGenericDisplay(Xunit.Abstractions.ITypeInfo[]):System.String (Tier1)
          34 (7.07 % of base) : 64370.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:CheckAndReportValidUnmanagedCallersOnlyTarget(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):ubyte:this (Tier1)
           7 (6.73 % of base) : 165152.dasm - Microsoft.CodeAnalysis.CSharp.ContextualAttributeBinder:GetAttributedMember(Microsoft.CodeAnalysis.CSharp.Symbol):Microsoft.CodeAnalysis.CSharp.Symbol (Tier1)
         512 (6.61 % of base) : 648146.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)
          16 (6.58 % of base) : 668414.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          40 (6.45 % of base) : 70634.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
          35 (6.00 % of base) : 652258.dasm - System.Threading.Channels.UnboundedChannel`1+UnboundedChannelWriter[int]:TryWrite(int):ubyte:this (Tier1)
          24 (5.93 % of base) : 657825.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[int,long]]:EnqueueSlow(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
         776 (5.91 % of base) : 453347.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 (percentages):
         -23 (-10.45 % of base) : 217722.dasm - System.IO.BinaryWriter:Write7BitEncodedInt(int):this (Tier1)
         -66 (-9.36 % of base) : 174817.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
        -334 (-8.70 % of base) : 638029.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[ulong]:FindSubcaptures[System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1+FullInputReader[ulong]](System.ReadOnlySpan`1[ushort],int,int,System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1+PerThreadData[ulong]):System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1+Registers[ulong]:this (Tier1)
         -53 (-7.82 % of base) : 385146.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
        -242 (-7.66 % of base) : 163376.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseCommaSeparatedSyntaxList[System.__Canon](byref,ushort,System.Func`2[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser,ubyte],System.Func`2[System.__Canon,System.__Canon],Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser+SkipBadTokens`1[System.__Canon],ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList`1[System.__Canon]:this (Tier1)
         -53 (-7.56 % of base) : 122345.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -51 (-7.51 % of base) : 293761.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -51 (-7.51 % of base) : 376358.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -49 (-7.08 % of base) : 300423.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -47 (-6.83 % of base) : 174641.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
        -226 (-6.75 % of base) : 638009.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[ulong]:FindSubcaptures[System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1+NoZAnchorInputReader[ulong]](System.ReadOnlySpan`1[ushort],int,int,System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1+PerThreadData[ulong]):System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1+Registers[ulong]:this (Tier1)
         -46 (-6.53 % of base) : 256839.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -56 (-6.13 % of base) : 117643.dasm - System.Reflection.CustomAttributeEncodedArgument:ParseNamedArgs(byref,System.Reflection.CustomAttributeNamedParameter[],System.Reflection.RuntimeModule) (Tier1)
         -13 (-6.10 % of base) : 450054.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -13 (-5.83 % of base) : 122970.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -13 (-5.83 % of base) : 506716.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -13 (-5.83 % of base) : 542212.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
        -277 (-5.66 % of base) : 621727.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol:CheckMembers(Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol,System.Collections.Generic.Dictionary`2[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceOrTypeSymbol]],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (Tier1)
         -39 (-5.60 % of base) : 542683.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
          -7 (-5.34 % of base) : 234735.dasm - System.Configuration.XmlUtil:StrictReadToNextElement(int):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: 137428665 (overridden on cmd)
Total bytes of diff: 137427401 (overridden on cmd)
Total bytes of delta: -1264 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
         147 : 5931.dasm (5.22 % of base)
         132 : 291211.dasm (3.89 % of base)
          77 : 49429.dasm (1.01 % of base)
          77 : 43754.dasm (1.01 % of base)
          50 : 290849.dasm (1.92 % of base)
          48 : 5036.dasm (0.63 % of base)
          47 : 160426.dasm (5.11 % of base)
          40 : 305706.dasm (1.35 % of base)
          33 : 98246.dasm (1.97 % of base)
          33 : 174409.dasm (0.50 % of base)
          32 : 56424.dasm (3.14 % of base)
          31 : 308169.dasm (0.54 % of base)
          30 : 319013.dasm (0.84 % of base)
          30 : 62773.dasm (2.79 % of base)
          29 : 302684.dasm (1.00 % of base)
          29 : 302685.dasm (1.00 % of base)
          29 : 291406.dasm (0.60 % of base)
          28 : 2033.dasm (0.97 % of base)
          26 : 1166.dasm (2.15 % of base)
          26 : 305694.dasm (0.66 % of base)
Top file improvements (bytes):
        -209 : 43957.dasm (-7.25 % of base)
        -209 : 49671.dasm (-7.25 % of base)
        -208 : 5417.dasm (-4.27 % of base)
        -155 : 60045.dasm (-0.54 % of base)
        -151 : 15171.dasm (-2.65 % of base)
        -105 : 45056.dasm (-1.63 % of base)
         -90 : 63396.dasm (-1.10 % of base)
         -88 : 51118.dasm (-0.55 % of base)
         -88 : 45313.dasm (-0.56 % of base)
         -73 : 50919.dasm (-1.19 % of base)
         -69 : 8739.dasm (-4.17 % of base)
         -67 : 52468.dasm (-1.60 % of base)
         -61 : 25748.dasm (-2.11 % of base)
         -60 : 291602.dasm (-1.78 % of base)
         -51 : 60044.dasm (-0.84 % of base)
         -51 : 269059.dasm (-2.25 % of base)
         -47 : 289519.dasm (-2.75 % of base)
         -44 : 63021.dasm (-1.12 % of base)
         -41 : 188276.dasm (-2.14 % of base)
         -37 : 54787.dasm (-0.55 % of base)
82 total files with Code Size differences (40 improved, 42 regressed), 20 unchanged.
Top method regressions (bytes):
         147 (5.22 % of base) : 5931.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol:CheckMembers(Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol,System.Collections.Generic.Dictionary`2[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceOrTypeSymbol]],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)
         132 (3.89 % of base) : 291211.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3878_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          77 (1.01 % of base) : 49429.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)
          77 (1.01 % of base) : 43754.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)
          50 (1.92 % of base) : 290849.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1546_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          48 (0.63 % of base) : 5036.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)
          47 (5.11 % of base) : 160426.dasm - System.Net.Mail.Message:EncodeHeaders(System.Net.Mime.HeaderCollection,ubyte):this (FullOpts)
          40 (1.35 % of base) : 305706.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex32902_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          33 (0.50 % of base) : 174409.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderTypeWithGetSetArrayMembers:Read3_TypeWithGetSetArrayMembers(ubyte,ubyte):SerializationTypes.TypeWithGetSetArrayMembers:this (FullOpts)
          33 (1.97 % of base) : 98246.dasm - System.Data.DataView:ToTable(System.String,ubyte,System.String[]):System.Data.DataTable:this (FullOpts)
          32 (3.14 % of base) : 56424.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitBinaryOperator(Microsoft.CodeAnalysis.CSharp.BoundBinaryOperator,Microsoft.CodeAnalysis.CSharp.BoundUnaryOperator):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          31 (0.54 % of base) : 308169.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>FE11ED309466AF57DE9D7AB55C09A60EE21567522F71D3843DB41A5B03BB97697__Match_InstanceMethods_DefaultTimeout_SourceGenerated_ThrowsImpl_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
          30 (2.79 % of base) : 62773.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteElements(System.Object,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,ubyte,ubyte):this (FullOpts)
          30 (0.84 % of base) : 319013.dasm - System.Xml.XmlTextReaderImpl+<ParseAttributesAsync>d__531:MoveNext():this (FullOpts)
          29 (0.60 % of base) : 291406.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex4187_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          29 (1.00 % of base) : 302684.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex8252_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          29 (1.00 % of base) : 302685.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex8253_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          28 (0.97 % of base) : 2033.dasm - System.Runtime.InteropServices.Marshalling.ComImportInteropInterfaceDetailsStrategy+<>c:<GetIUnknownDerivedDetails>b__3_0(System.Type):System.Type:this (FullOpts)
          26 (2.15 % of base) : 1166.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.RuntimeTypeHandle,System.Runtime.InteropServices.Marshalling.IIUnknownCacheStrategy+TableInfo]:TryAddInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.RuntimeTypeHandle,System.Runtime.InteropServices.Marshalling.IIUnknownCacheStrategy+TableInfo],System.RuntimeTypeHandle,System.Nullable`1[int],System.Runtime.InteropServices.Marshalling.IIUnknownCacheStrategy+TableInfo,ubyte,ubyte,byref):ubyte:this (FullOpts)
          26 (0.66 % of base) : 305694.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex32891_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
Top method improvements (bytes):
        -209 (-7.25 % of base) : 43957.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 (FullOpts)
        -209 (-7.25 % of base) : 49671.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 (FullOpts)
        -208 (-4.27 % of base) : 5417.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 (FullOpts)
        -155 (-0.54 % of base) : 60045.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)
        -151 (-2.65 % of base) : 15171.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:ReportDiagnostics[System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.String,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[System.__Canon],Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,ubyte,System.Nullable`1[ubyte],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):this (FullOpts)
        -105 (-1.63 % of base) : 45056.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitArguments(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte]:this (FullOpts)
         -90 (-1.10 % of base) : 63396.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
         -88 (-0.55 % of base) : 51118.dasm - Microsoft.Extensions.Logging.Generators.LoggerMessageGenerator+Parser:GetLogClasses(System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax]):System.Collections.Generic.IReadOnlyList`1[Microsoft.Extensions.Logging.Generators.LoggerMessageGenerator+LoggerClass]:this (FullOpts)
         -88 (-0.56 % of base) : 45313.dasm - Microsoft.Extensions.Logging.Generators.LoggerMessageGenerator+Parser:GetLogClasses(System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax]):System.Collections.Generic.IReadOnlyList`1[Microsoft.Extensions.Logging.Generators.LoggerMessageGenerator+LoggerClass]:this (FullOpts)
         -73 (-1.19 % of base) : 50919.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitArguments(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte]:this (FullOpts)
         -69 (-4.17 % of base) : 8739.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindIdentifier>g__reportPrimaryConstructorParameterShadowing|352_0(Microsoft.CodeAnalysis.CSharp.Syntax.SimpleNameSyntax,Microsoft.CodeAnalysis.CSharp.Symbol,System.String,ubyte,Microsoft.CodeAnalysis.CSharp.LookupResult,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbol],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -67 (-1.60 % of base) : 52468.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[System.__Canon]:ReportDiagnostics[System.__Canon](Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.String,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[System.__Canon],Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,ubyte,System.Nullable`1[ubyte],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):this (FullOpts)
         -61 (-2.11 % of base) : 25748.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -60 (-1.78 % of base) : 291602.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2754_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -51 (-0.84 % of base) : 60044.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -51 (-2.25 % of base) : 269059.dasm - System.Text.Json.Serialization.Tests.StreamTests+<DeepNestedJsonFileTest>d__68:MoveNext():this (FullOpts)
         -47 (-2.75 % of base) : 289519.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1256_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -44 (-1.12 % of base) : 63021.dasm - System.Xml.Serialization.XmlSerializationReader:ReadArray(System.String,System.String):System.Array:this (FullOpts)
         -41 (-2.14 % of base) : 188276.dasm - System.Reflection.Emit.Tests.AssemblySaveTools:PopulateMembersForModule(System.Reflection.Emit.ModuleBuilder,System.Type[]) (FullOpts)
         -37 (-0.55 % of base) : 54787.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArguments>g__visitArguments|231_0(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Conversion],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitResult],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,ubyte):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitResult],ubyte,Microsoft.CodeAnalysis.CSharp.NullableWalker+ArgumentsCompletionDelegate]:this (FullOpts)
Top method regressions (percentages):
          24 (6.22 % of base) : 14347.dasm - System.Linq.Enumerable:TryGetFirst[Microsoft.CodeAnalysis.SyntaxToken](System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.SyntaxToken],System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],byref):Microsoft.CodeAnalysis.SyntaxToken (FullOpts)
         147 (5.22 % of base) : 5931.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol:CheckMembers(Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol,System.Collections.Generic.Dictionary`2[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceOrTypeSymbol]],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)
          47 (5.11 % of base) : 160426.dasm - System.Net.Mail.Message:EncodeHeaders(System.Net.Mime.HeaderCollection,ubyte):this (FullOpts)
          17 (4.20 % of base) : 107097.dasm - System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
          21 (4.02 % of base) : 150898.dasm - System.SpanTests.SpanTests:SequenceEqualNoMatch_Char() (FullOpts)
         132 (3.89 % of base) : 291211.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3878_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          20 (3.75 % of base) : 150785.dasm - System.SpanTests.SpanTests:SequenceEqualNoMatch_Byte() (FullOpts)
           7 (3.23 % of base) : 283265.dasm - System.Text.RegularExpressions.Symbolic.BitVector:Not(System.Text.RegularExpressions.Symbolic.BitVector):System.Text.RegularExpressions.Symbolic.BitVector (FullOpts)
          32 (3.14 % of base) : 56424.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitBinaryOperator(Microsoft.CodeAnalysis.CSharp.BoundBinaryOperator,Microsoft.CodeAnalysis.CSharp.BoundUnaryOperator):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
           8 (2.87 % of base) : 179102.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          11 (2.82 % of base) : 4642.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanIdentifier_FastPath(byref):ubyte:this (FullOpts)
          30 (2.79 % of base) : 62773.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteElements(System.Object,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,ubyte,ubyte):this (FullOpts)
           3 (2.78 % of base) : 203756.dasm - System.Numerics.BigInteger:GetGenericMathByteCount():int:this (FullOpts)
          12 (2.75 % of base) : 162744.dasm - System.Net.CookieTokenizer:FindNext(ubyte,ubyte):int:this (FullOpts)
          12 (2.75 % of base) : 157585.dasm - System.Net.CookieTokenizer:FindNext(ubyte,ubyte):int:this (FullOpts)
          12 (2.75 % of base) : 159411.dasm - System.Net.CookieTokenizer:FindNext(ubyte,ubyte):int:this (FullOpts)
          22 (2.49 % of base) : 160980.dasm - System.Net.Mail.Message:EncodeHeaders(System.Net.Mime.HeaderCollection,ubyte):this (FullOpts)
          11 (2.35 % of base) : 69244.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct]:EnqueueSlow(System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests+LargeStruct):this (FullOpts)
           4 (2.31 % of base) : 203770.dasm - System.Numerics.BigInteger:System.Numerics.IBinaryInteger<System.Numerics.BigInteger>.GetShortestBitLength():int:this (FullOpts)
          23 (2.30 % of base) : 18458.dasm - Microsoft.CodeAnalysis.CSharp.RefSafetyAnalysis:CheckInvocationEscapeWithUpdatedRules(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.BoundExpression,ubyte,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[int],ubyte,uint,uint,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte):ubyte:this (FullOpts)
Top method improvements (percentages):
        -209 (-7.25 % of base) : 43957.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 (FullOpts)
        -209 (-7.25 % of base) : 49671.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 (FullOpts)
        -208 (-4.27 % of base) : 5417.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 (FullOpts)
         -69 (-4.17 % of base) : 8739.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindIdentifier>g__reportPrimaryConstructorParameterShadowing|352_0(Microsoft.CodeAnalysis.CSharp.Syntax.SimpleNameSyntax,Microsoft.CodeAnalysis.CSharp.Symbol,System.String,ubyte,Microsoft.CodeAnalysis.CSharp.LookupResult,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbol],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -5 (-4.10 % of base) : 40413.dasm - System.Runtime.Serialization.ObjectHolderListEnumerator:MoveNext():ubyte:this (FullOpts)
         -14 (-3.98 % of base) : 159778.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
         -13 (-3.95 % of base) : 150634.dasm - System.SpanTests.SpanTests:StartsWithNoMatch_Byte() (FullOpts)
          -9 (-3.05 % of base) : 152362.dasm - System.SpanTests.ReadOnlySpanTests:EndsWithNoMatch_Byte() (FullOpts)
          -9 (-3.05 % of base) : 150697.dasm - System.SpanTests.SpanTests:EndsWithNoMatch_Byte() (FullOpts)
          -2 (-3.03 % of base) : 51140.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
          -2 (-3.03 % of base) : 11774.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
          -9 (-2.99 % of base) : 152876.dasm - System.SpanTests.ReadOnlySpanTests:StartsWithNoMatch_Byte() (FullOpts)
         -29 (-2.92 % of base) : 289520.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1258_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -6 (-2.90 % of base) : 44304.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol:LookupNestedNamespace(System.Collections.Immutable.ImmutableArray`1[System.String]):Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol:this (FullOpts)
          -6 (-2.90 % of base) : 50253.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol:LookupNestedNamespace(System.Collections.Immutable.ImmutableArray`1[System.String]):Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol:this (FullOpts)
          -8 (-2.83 % of base) : 152091.dasm - System.SpanTests.ReadOnlySpanTests:StartsWithNoMatch_Long() (FullOpts)
          -8 (-2.83 % of base) : 150490.dasm - System.SpanTests.SpanTests:StartsWithNoMatch_Long() (FullOpts)
         -47 (-2.75 % of base) : 289519.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1256_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -8 (-2.70 % of base) : 149995.dasm - System.SpanTests.SpanTests:StartsWithNoMatch_Char() (FullOpts)
          -8 (-2.66 % of base) : 150388.dasm - System.SpanTests.SpanTests:EndsWithNoMatch_Char() (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: 14138383 (overridden on cmd)
Total bytes of diff: 14138640 (overridden on cmd)
Total bytes of delta: 257 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          94 : 8841.dasm (0.80 % of base)
          94 : 15982.dasm (2.14 % of base)
          66 : 21058.dasm (2.30 % of base)
          50 : 29354.dasm (5.15 % of base)
          39 : 16396.dasm (1.25 % of base)
          38 : 20610.dasm (0.51 % of base)
          33 : 7092.dasm (4.48 % of base)
          26 : 15269.dasm (1.81 % of base)
          22 : 15762.dasm (0.53 % of base)
          22 : 16964.dasm (0.41 % of base)
          20 : 4904.dasm (0.38 % of base)
          19 : 1893.dasm (0.90 % of base)
          18 : 32499.dasm (0.29 % of base)
          14 : 879.dasm (0.15 % of base)
          13 : 5018.dasm (1.62 % of base)
          12 : 1383.dasm (0.56 % of base)
          12 : 17556.dasm (0.41 % of base)
          11 : 24166.dasm (0.64 % of base)
          11 : 34383.dasm (3.78 % of base)
          11 : 15890.dasm (2.69 % of base)
Top file improvements (bytes):
        -128 : 15219.dasm (-6.24 % of base)
         -33 : 22304.dasm (-0.54 % of base)
         -26 : 6663.dasm (-0.27 % of base)
         -24 : 27830.dasm (-0.20 % of base)
         -19 : 17205.dasm (-0.51 % of base)
         -19 : 22139.dasm (-0.41 % of base)
         -18 : 34635.dasm (-0.17 % of base)
         -18 : 15547.dasm (-0.38 % of base)
         -17 : 28554.dasm (-1.86 % of base)
         -14 : 18777.dasm (-0.77 % of base)
         -14 : 270.dasm (-2.89 % of base)
         -14 : 5329.dasm (-0.22 % of base)
         -13 : 15787.dasm (-0.80 % of base)
         -11 : 36363.dasm (-0.35 % of base)
          -9 : 16378.dasm (-0.11 % of base)
          -9 : 26754.dasm (-0.65 % of base)
          -8 : 29889.dasm (-0.41 % of base)
          -8 : 31271.dasm (-0.38 % of base)
          -8 : 1637.dasm (-0.31 % of base)
          -7 : 7470.dasm (-0.22 % of base)
64 total files with Code Size differences (34 improved, 30 regressed), 20 unchanged.
Top method regressions (bytes):
          94 (0.80 % of base) : 8841.dasm - FSharp.Compiler.ConstraintSolver:SolveTypeSubsumesType(FSharp.Compiler.ConstraintSolver+ConstraintSolverEnv,int,FSharp.Compiler.Text.Range,FSharp.Compiler.ConstraintSolver+OptionalTrace,Microsoft.FSharp.Core.FSharpOption`1[System.Tuple`2[FSharp.Compiler.TypedTree+TraitConstraintInfo,FSharp.Compiler.TypedTree+TraitConstraintSln]],FSharp.Compiler.TypedTree+TType,FSharp.Compiler.TypedTree+TType):FSharp.Compiler.ErrorLogger+OperationResult`1[Microsoft.FSharp.Core.Unit] (FullOpts)
          94 (2.14 % of base) : 15982.dasm - Microsoft.ML.Transforms.ValueToKeyMappingTransformer:Train(Microsoft.ML.Runtime.IHostEnvironment,Microsoft.ML.Runtime.IChannel,Microsoft.ML.Transforms.ValueToKeyMappingTransformer+ColInfo[],Microsoft.ML.IDataView,Microsoft.ML.Transforms.ValueToKeyMappingEstimator+ColumnOptionsBase[],Microsoft.ML.IDataView,ubyte):Microsoft.ML.Transforms.ValueToKeyMappingTransformer+TermMap[] (FullOpts)
          66 (2.30 % of base) : 21058.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 (FullOpts)
          50 (5.15 % of base) : 29354.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitBinaryOperator(Microsoft.CodeAnalysis.CSharp.BoundBinaryOperator,Microsoft.CodeAnalysis.CSharp.BoundUnaryOperator):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          39 (1.25 % of base) : 16396.dasm - Microsoft.ML.Trainers.SdcaMulticlassTrainerBase`1[System.__Canon]:CheckConvergence(Microsoft.ML.Runtime.IProgressChannel,int,Microsoft.ML.Trainers.FloatLabelCursor+Factory,Microsoft.ML.Trainers.SdcaTrainerBase`3+DualsTableBase[System.__Canon,System.__Canon,System.__Canon],Microsoft.ML.Trainers.SdcaTrainerBase`3+IdToIdxLookup[System.__Canon,System.__Canon,System.__Canon],Microsoft.ML.Data.VBuffer`1[float][],Microsoft.ML.Data.VBuffer`1[float][],float[],float[],float[],float[],long,double[],byref,byref):ubyte:this (FullOpts)
          38 (0.51 % of base) : 20610.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)
          33 (4.48 % of base) : 7092.dasm - System.Number:TryNumberToDecimal(byref,byref):ubyte (FullOpts)
          26 (1.81 % of base) : 15269.dasm - SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:GetQuantizedColor(SixLabors.ImageSharp.PixelFormats.Rgba32,byref):ubyte:this (FullOpts)
          22 (0.53 % of base) : 15762.dasm - Microsoft.ML.Data.TextLoader+Bindings:.ctor(Microsoft.ML.Data.TextLoader,Microsoft.ML.Data.TextLoader+Column[],Microsoft.ML.Data.IMultiStreamSource,Microsoft.ML.Data.IMultiStreamSource):this (FullOpts)
          22 (0.41 % of base) : 16964.dasm - Microsoft.ML.Transforms.Text.NgramExtractingTransformer:Train(Microsoft.ML.Runtime.IHostEnvironment,Microsoft.ML.Transforms.Text.NgramExtractingEstimator+ColumnOptions[],System.Collections.Immutable.ImmutableArray`1[Microsoft.ML.Transforms.Text.NgramExtractingTransformer+TransformInfo],Microsoft.ML.IDataView,byref):Microsoft.ML.Internal.Utilities.SequencePool[] (FullOpts)
          20 (0.38 % of base) : 4904.dasm - FSharp.Compiler.CompilerOptions:attempt@284(Microsoft.FSharp.Core.FSharpFunc`2[System.String,Microsoft.FSharp.Core.Unit],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerOptions+CompilerOptionBlock],Microsoft.FSharp.Collections.FSharpList`1[System.String],Microsoft.FSharp.Collections.FSharpList`1[System.String],System.String,System.String,System.String,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerOptions+CompilerOption]):Microsoft.FSharp.Collections.FSharpList`1[System.String] (FullOpts)
          19 (0.90 % of base) : 1893.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
          18 (0.29 % of base) : 32499.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (FullOpts)
          14 (0.15 % of base) : 879.dasm - BepuPhysics.CollisionDetection.CollisionTasks.BoxTriangleTester:Test(byref,byref,byref,byref,byref,byref,int,byref):this (FullOpts)
          13 (1.62 % of base) : 5018.dasm - FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5[int,int,int,int,int] (FullOpts)
          12 (0.56 % of base) : 1383.dasm - BepuPhysics.CollisionDetection.NarrowPhase`1[DemoBenchmarks.ShapePileBenchmark+DemoNarrowPhaseCallbacks]:UpdateConstraint[BepuPhysics.CollisionDetection.TwoBodyHandles,BepuPhysics.Constraints.Contact.Contact1,BepuPhysics.CollisionDetection.ContactImpulses1,BepuPhysics.CollisionDetection.EmptyCollisionCache,BepuPhysics.CollisionDetection.ConstraintCache1](int,byref,int,byref,byref,byref,BepuPhysics.CollisionDetection.TwoBodyHandles):this (FullOpts)
          12 (0.41 % of base) : 17556.dasm - System.Net.HttpWebRequest+<SendRequest>d__196:MoveNext():this (FullOpts)
          11 (0.64 % of base) : 24166.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:GetUserDefinedBinaryOperatorsFromInterfaces(int,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,byref,System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.BinaryOperatorAnalysisResult]):ubyte:this (FullOpts)
          11 (2.69 % of base) : 15890.dasm - System.Linq.Enumerable:TryGetFirst[Microsoft.ML.SchemaShape+Column](System.Collections.Generic.IEnumerable`1[Microsoft.ML.SchemaShape+Column],System.Func`2[Microsoft.ML.SchemaShape+Column,ubyte],byref):Microsoft.ML.SchemaShape+Column (FullOpts)
          11 (3.78 % of base) : 34383.dasm - System.Management.Automation.ScriptBlock+SuspiciousContentChecker:Match(System.String):System.String (FullOpts)
Top method improvements (bytes):
        -128 (-6.24 % of base) : 15219.dasm - SixLabors.ImageSharp.Compression.Zlib.DeflaterEngine:FindLongestMatch(int):ubyte:this (FullOpts)
         -33 (-0.54 % of base) : 22304.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArguments>g__visitArguments|231_0(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Conversion],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,ubyte):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte,Microsoft.CodeAnalysis.CSharp.NullableWalker+ArgumentsCompletionDelegate]:this (FullOpts)
         -26 (-0.27 % of base) : 6663.dasm - FSharp.Compiler.Lexer:singleQuoteString(FSharp.Compiler.IO.ByteBuffer,FSharp.Compiler.Lexhelp+LexerStringFinisher,FSharp.Compiler.Text.Range,FSharp.Compiler.ParseHelpers+LexerStringKind,FSharp.Compiler.Lexhelp+LexArgs,ubyte,Internal.Utilities.Text.Lexing.LexBuffer`1[ushort]):FSharp.Compiler.Parser+token (FullOpts)
         -24 (-0.20 % of base) : 27830.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)
         -19 (-0.41 % of base) : 22139.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:IsApplicable(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.OverloadResolution+EffectiveParameters,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.Collections.Immutable.ImmutableArray`1[int],ubyte,ubyte,ubyte,ubyte,byref):Microsoft.CodeAnalysis.CSharp.MemberAnalysisResult:this (FullOpts)
         -19 (-0.51 % of base) : 17205.dasm - Microsoft.ML.Transforms.NormalizingTransformer:Train(Microsoft.ML.Runtime.IHostEnvironment,Microsoft.ML.IDataView,Microsoft.ML.Transforms.NormalizingEstimator+ColumnOptionsBase[]):Microsoft.ML.Transforms.NormalizingTransformer (FullOpts)
         -18 (-0.38 % of base) : 15547.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.HuffmanScanDecoder:ParseProgressiveDataNonInterleaved():this (FullOpts)
         -18 (-0.17 % of base) : 34635.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -17 (-1.86 % of base) : 28554.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetNextToken(byref,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],ubyte,System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte]):Microsoft.CodeAnalysis.SyntaxToken:this (FullOpts)
         -14 (-0.22 % of base) : 5329.dasm - FSharp.Compiler.TypedTreePickle:unpickleObjWithDanglingCcus[System.__Canon](System.String,FSharp.Compiler.AbstractIL.IL+ILScopeRef,Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.AbstractIL.IL+ILModuleDef],Microsoft.FSharp.Core.FSharpFunc`2[System.__Canon,System.__Canon],FSharp.Compiler.IO.ReadOnlyByteMemory):FSharp.Compiler.TypedTreePickle+PickledDataWithReferences`1[System.__Canon] (FullOpts)
         -14 (-0.77 % of base) : 18777.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
         -14 (-2.89 % of base) : 270.dasm - System.Reflection.RuntimeAssembly:GetType(System.String,ubyte,ubyte):System.Type:this (FullOpts)
         -13 (-0.80 % of base) : 15787.dasm - Microsoft.ML.Data.TextLoader+Cursor+LineReader:ThreadProc():this (FullOpts)
         -11 (-0.35 % of base) : 36363.dasm - System.Management.Automation.Language.PSGetMemberBinder:GetPSMemberInfo(System.Dynamic.DynamicMetaObject,byref,byref,byref,int,System.Collections.Generic.HashSet`1[System.String],System.Collections.Generic.List`1[System.Dynamic.BindingRestrictions]):System.Management.Automation.PSMemberInfo:this (FullOpts)
          -9 (-0.65 % of base) : 26754.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:TrackNullableStateOfTupleElements(int,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState],System.Collections.Immutable.ImmutableArray`1[int],ubyte):this (FullOpts)
          -9 (-0.11 % of base) : 16378.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)
          -8 (-0.38 % of base) : 31271.dasm - Microsoft.CodeAnalysis.Compilation:ReportManifestResourceDuplicates(System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.ResourceDescription],System.Collections.Generic.IEnumerable`1[System.String],System.Collections.Generic.IEnumerable`1[System.String],Microsoft.CodeAnalysis.DiagnosticBag):this (FullOpts)
          -8 (-0.41 % of base) : 29889.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:BuildStoresToTemps(ubyte,System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],ubyte,Microsoft.CodeAnalysis.CSharp.BoundExpression[],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[ubyte],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.BoundAssignmentOperator]):this (FullOpts)
          -8 (-0.31 % of base) : 1637.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -7 (-0.22 % of base) : 7470.dasm - System.Xml.Linq.XContainer+ContentReader:ReadContentFromContainer(System.Xml.Linq.XContainer,System.Xml.XmlReader):ubyte:this (FullOpts)
Top method regressions (percentages):
          50 (5.15 % of base) : 29354.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitBinaryOperator(Microsoft.CodeAnalysis.CSharp.BoundBinaryOperator,Microsoft.CodeAnalysis.CSharp.BoundUnaryOperator):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          33 (4.48 % of base) : 7092.dasm - System.Number:TryNumberToDecimal(byref,byref):ubyte (FullOpts)
          11 (3.78 % of base) : 34383.dasm - System.Management.Automation.ScriptBlock+SuspiciousContentChecker:Match(System.String):System.String (FullOpts)
          11 (2.69 % of base) : 15890.dasm - System.Linq.Enumerable:TryGetFirst[Microsoft.ML.SchemaShape+Column](System.Collections.Generic.IEnumerable`1[Microsoft.ML.SchemaShape+Column],System.Func`2[Microsoft.ML.SchemaShape+Column,ubyte],byref):Microsoft.ML.SchemaShape+Column (FullOpts)
           8 (2.68 % of base) : 16994.dasm - Microsoft.ML.Internal.Utilities.Hashing:MurmurHash(uint,uint[],int,int):uint (FullOpts)
          66 (2.30 % of base) : 21058.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 (FullOpts)
          94 (2.14 % of base) : 15982.dasm - Microsoft.ML.Transforms.ValueToKeyMappingTransformer:Train(Microsoft.ML.Runtime.IHostEnvironment,Microsoft.ML.Runtime.IChannel,Microsoft.ML.Transforms.ValueToKeyMappingTransformer+ColInfo[],Microsoft.ML.IDataView,Microsoft.ML.Transforms.ValueToKeyMappingEstimator+ColumnOptionsBase[],Microsoft.ML.IDataView,ubyte):Microsoft.ML.Transforms.ValueToKeyMappingTransformer+TermMap[] (FullOpts)
           2 (1.89 % of base) : 20473.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
          26 (1.81 % of base) : 15269.dasm - SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1[SixLabors.ImageSharp.PixelFormats.Rgba32]:GetQuantizedColor(SixLabors.ImageSharp.PixelFormats.Rgba32,byref):ubyte:this (FullOpts)
          13 (1.62 % of base) : 5018.dasm - FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5[int,int,int,int,int] (FullOpts)
           4 (1.42 % of base) : 27604.dasm - Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
           7 (1.36 % of base) : 36007.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitMethodCall(System.Reflection.MethodInfo,System.Linq.Expressions.IArgumentProvider,System.Type,int):this (FullOpts)
          39 (1.25 % of base) : 16396.dasm - Microsoft.ML.Trainers.SdcaMulticlassTrainerBase`1[System.__Canon]:CheckConvergence(Microsoft.ML.Runtime.IProgressChannel,int,Microsoft.ML.Trainers.FloatLabelCursor+Factory,Microsoft.ML.Trainers.SdcaTrainerBase`3+DualsTableBase[System.__Canon,System.__Canon,System.__Canon],Microsoft.ML.Trainers.SdcaTrainerBase`3+IdToIdxLookup[System.__Canon,System.__Canon,System.__Canon],Microsoft.ML.Data.VBuffer`1[float][],Microsoft.ML.Data.VBuffer`1[float][],float[],float[],float[],float[],long,double[],byref,byref):ubyte:this (FullOpts)
           3 (1.23 % of base) : 2410.dasm - System.Decimal+DecCalc:VarDecCmpSub(byref,byref):int (FullOpts)
           3 (1.06 % of base) : 26288.dasm - Microsoft.CodeAnalysis.BitVector:IntersectWith(byref):ubyte:this (FullOpts)
           8 (0.91 % of base) : 16920.dasm - Microsoft.ML.Transforms.Text.NgramExtractorTransform:Create(Microsoft.ML.Runtime.IHostEnvironment,Microsoft.ML.Transforms.Text.NgramExtractorTransform+NgramExtractorArguments,Microsoft.ML.IDataView,Microsoft.ML.Transforms.Text.ExtractorColumn[],Microsoft.ML.Transforms.Text.TermLoaderArguments):Microsoft.ML.ITransformer (FullOpts)
          19 (0.90 % of base) : 1893.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
           2 (0.87 % of base) : 22625.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]):ubyte (FullOpts)
          94 (0.80 % of base) : 8841.dasm - FSharp.Compiler.ConstraintSolver:SolveTypeSubsumesType(FSharp.Compiler.ConstraintSolver+ConstraintSolverEnv,int,FSharp.Compiler.Text.Range,FSharp.Compiler.ConstraintSolver+OptionalTrace,Microsoft.FSharp.Core.FSharpOption`1[System.Tuple`2[FSharp.Compiler.TypedTree+TraitConstraintInfo,FSharp.Compiler.TypedTree+TraitConstraintSln]],FSharp.Compiler.TypedTree+TType,FSharp.Compiler.TypedTree+TType):FSharp.Compiler.ErrorLogger+OperationResult`1[Microsoft.FSharp.Core.Unit] (FullOpts)
           7 (0.66 % of base) : 152.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,int](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (FullOpts)
Top method improvements (percentages):
        -128 (-6.24 % of base) : 15219.dasm - SixLabors.ImageSharp.Compression.Zlib.DeflaterEngine:FindLongestMatch(int):ubyte:this (FullOpts)
         -14 (-2.89 % of base) : 270.dasm - System.Reflection.RuntimeAssembly:GetType(System.String,ubyte,ubyte):System.Type:this (FullOpts)
         -17 (-1.86 % of base) : 28554.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetNextToken(byref,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],ubyte,System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte]):Microsoft.CodeAnalysis.SyntaxToken:this (FullOpts)
          -4 (-1.10 % of base) : 30844.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:<TryCalculateSyntaxOffsetOfPositionInInitializer>g__findInitializer|106_0(System.Collections.Immutable.ImmutableArray`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.FieldOrPropertyInitializer]],int,Microsoft.CodeAnalysis.SyntaxTree,byref,byref):ubyte (FullOpts)
          -6 (-0.87 % of base) : 32839.dasm - System.Management.Automation.MutableTuple:MakeTupleType(System.Type[],int,int):System.Type (FullOpts)
          -6 (-0.82 % of base) : 26816.dasm - Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+Tests+AndSequence:Create(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+Tests]):Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+Tests (FullOpts)
          -6 (-0.82 % of base) : 28657.dasm - Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+Tests+OrSequence:Create(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+Tests]):Microsoft.CodeAnalysis.CSharp.DecisionDagBuilder+Tests (FullOpts)
         -13 (-0.80 % of base) : 15787.dasm - Microsoft.ML.Data.TextLoader+Cursor+LineReader:ThreadProc():this (FullOpts)
          -6 (-0.80 % of base) : 2199.dasm - System.Reflection.RuntimeMethodInfo:MakeGenericMethod(System.Type[]):System.Reflection.MethodInfo:this (FullOpts)
         -14 (-0.77 % of base) : 18777.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
          -5 (-0.73 % of base) : 4949.dasm - Microsoft.FSharp.Primitives.Basics.Array:stableSortWithKeysAndComparer[System.__Canon,System.__Canon](System.Collections.Generic.IComparer`1[System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon],System.__Canon[],System.__Canon[]) (FullOpts)
          -5 (-0.66 % of base) : 1770.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (FullOpts)
          -4 (-0.66 % of base) : 8508.dasm - FSharp.Compiler.TypedTreeOps:eliminateDeadTargetsFromMatch[System.__Canon](FSharp.Compiler.TypedTree+DecisionTree,System.__Canon[]):System.Tuple`2[System.__Canon,System.__Canon] (FullOpts)
          -9 (-0.65 % of base) : 26754.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:TrackNullableStateOfTupleElements(int,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState],System.Collections.Immutable.ImmutableArray`1[int],ubyte):this (FullOpts)
          -4 (-0.59 % of base) : 12108.dasm - FSharp.Compiler.CheckExpressions:TcMethodArg$cont@9938(FSharp.Compiler.CheckExpressions+TcFileState,FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.MethodCalls+ArgumentAnalysis[],FSharp.Compiler.Text.Range,FSharp.Compiler.TypedTree+TType,FSharp.Compiler.TcGlobals+TcGlobals,Microsoft.FSharp.Core.Unit) (FullOpts)
          -2 (-0.59 % of base) : 2957.dasm - Microsoft.FSharp.Collections.ArrayModule+Filter:createMask[ubyte](Microsoft.FSharp.Core.FSharpFunc`2[ubyte,ubyte],ubyte[],byref,byref):int (FullOpts)
          -4 (-0.57 % of base) : 272.dasm - System.Reflection.TypeNameParser:ParseNamedOrConstructedGenericTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts)
         -33 (-0.54 % of base) : 22304.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArguments>g__visitArguments|231_0(Microsoft.CodeAnalysis.CSharp.BoundNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Conversion],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],System.Collections.Immutable.ImmutableArray`1[ubyte],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.BitVector,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,ubyte):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+VisitArgumentResult],ubyte,Microsoft.CodeAnalysis.CSharp.NullableWalker+ArgumentsCompletionDelegate]:this (FullOpts)
         -19 (-0.51 % of base) : 17205.dasm - Microsoft.ML.Transforms.NormalizingTransformer:Train(Microsoft.ML.Runtime.IHostEnvironment,Microsoft.ML.IDataView,Microsoft.ML.Transforms.NormalizingEstimator+ColumnOptionsBase[]):Microsoft.ML.Transforms.NormalizingTransformer (FullOpts)
          -5 (-0.51 % of base) : 25604.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:FailsConstraintChecks(Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,byref,Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol]):ubyte:this (FullOpts)