Assembly Diffs
linux arm64
Diffs are based on 2,498,787 contexts (1,011,240 MinOpts, 1,487,547 FullOpts).
MISSED contexts: 6,564 (0.26%)
Overall (-6,076 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.linux.arm64.checked.mch | 15,911,068 | +124 | 
| benchmarks.run_pgo.linux.arm64.checked.mch | 78,737,872 | +1,248 | 
| benchmarks.run_tiered.linux.arm64.checked.mch | 29,679,604 | -572 | 
| coreclr_tests.run.linux.arm64.checked.mch | 509,268,132 | +832 | 
| libraries.crossgen2.linux.arm64.checked.mch | 55,793,084 | -240 | 
| libraries.pmi.linux.arm64.checked.mch | 74,620,516 | +124 | 
| libraries_tests.run.linux.arm64.Release.mch | 384,368,224 | -7,600 | 
| librariestestsnotieredcompilation.run.linux.arm64.Release.mch | 163,159,496 | -72 | 
| realworld.run.linux.arm64.checked.mch | 15,377,016 | +48 | 
| smoke_tests.nativeaot.linux.arm64.checked.mch | 2,946,560 | +32 | 
  
FullOpts (-6,076 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.linux.arm64.checked.mch | 15,564,812 | +124 | 
| benchmarks.run_pgo.linux.arm64.checked.mch | 54,693,016 | +1,248 | 
| benchmarks.run_tiered.linux.arm64.checked.mch | 4,972,380 | -572 | 
| coreclr_tests.run.linux.arm64.checked.mch | 160,122,204 | +832 | 
| libraries.crossgen2.linux.arm64.checked.mch | 55,791,448 | -240 | 
| libraries.pmi.linux.arm64.checked.mch | 74,500,532 | +124 | 
| libraries_tests.run.linux.arm64.Release.mch | 168,479,728 | -7,600 | 
| librariestestsnotieredcompilation.run.linux.arm64.Release.mch | 149,678,484 | -72 | 
| realworld.run.linux.arm64.checked.mch | 14,798,420 | +48 | 
| smoke_tests.nativeaot.linux.arm64.checked.mch | 2,945,572 | +32 | 
  
Example diffs
benchmarks.run.linux.arm64.checked.mch
-4 (-1.56%) : 16378.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%) : 7432.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%) : 2227.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
@@ -293,7 +292,7 @@ RWD00   dd  G_M7930_IG07 - G_M7930_IG02
            dd  G_M7930_IG04 - G_M7930_IG02
 
 
-; Total bytes of code 492, prolog size 16, PerfScore 238.31, instruction count 123, allocated bytes for code 492 (MethodHash=bd94e105) for method Utf8Json.JsonReader:ReadInt64():long:this (FullOpts)
+; Total bytes of code 488, prolog size 16, PerfScore 237.31, instruction count 122, allocated bytes for code 488 (MethodHash=bd94e105) for method Utf8Json.JsonReader:ReadInt64():long:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -304,7 +303,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 123 (0x0007b) Actual length = 492 (0x0001ec)
+  Function Length   : 122 (0x0007a) Actual length = 488 (0x0001e8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+4 (+2.33%) : 15381.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%) : 28730.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%) : 7607.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%) : 31817.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)
  
-24 (-7.41%) : 120869.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, 22.19)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T03] (  8, 25.74)     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.94)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V04 loc2         [V04,T08] (  5,  1.77)     int  ->  x22        
-;  V05 loc3         [V05,T02] (  6, 26.17)     ref  ->  x23         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T01] (  9, 34.45)     int  ->  x24        
-;  V07 loc5         [V07,T00] (  5, 37.61)     ref  ->   x0         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T02] (  6, 29.72)     ref  ->  x23         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T00] (  6, 37.99)     int  ->  x24        
+;  V07 loc5         [V07,T01] (  5, 37.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,T05] (  2, 15.26)     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,39 +59,28 @@ G_M50755_IG04:        ; bbWeight=0.95, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0.95 PerfScore 4.75
-G_M50755_IG05:        ; bbWeight=7.09, 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=7.09 PerfScore 53.21
-G_M50755_IG06:        ; bbWeight=56.75, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
-            b       G_M50755_IG15
-                       ;; size=4 bbWeight=56.75 PerfScore 56.75
-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_IG17
+            ble     G_M50755_IG15
                        ;; size=16 bbWeight=0.05 PerfScore 0.25
-G_M50755_IG08:        ; bbWeight=0.40, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG06:        ; bbWeight=0.40, 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.40 PerfScore 1.82
-G_M50755_IG09:        ; bbWeight=0.39, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG07:        ; bbWeight=0.39, 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.39 PerfScore 1.94
-G_M50755_IG10:        ; bbWeight=7.63, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG08:        ; bbWeight=7.63, 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=7.63, 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=7.63 PerfScore 72.47
-G_M50755_IG11:        ; bbWeight=7.09, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG09:        ; bbWeight=7.09, 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=7.09, 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=7.09 PerfScore 46.11
-G_M50755_IG12:        ; bbWeight=1.77, 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.77 PerfScore 1.77
-G_M50755_IG13:        ; bbWeight=7.63, 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=7.09 PerfScore 106.41
+G_M50755_IG10:        ; bbWeight=7.63, 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=7.63, 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=7.63 PerfScore 87.72
-G_M50755_IG14:        ; bbWeight=7.63, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG11:        ; bbWeight=7.63, 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=7.63 PerfScore 45.77
-G_M50755_IG15:        ; bbWeight=3.55, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bgt     G_M50755_IG08
+                       ;; size=16 bbWeight=7.63 PerfScore 38.14
+G_M50755_IG12:        ; bbWeight=0.44, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x23]
+            b       G_M50755_IG14
+                       ;; size=4 bbWeight=0.44 PerfScore 0.44
+G_M50755_IG13:        ; bbWeight=7.09, 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.55, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2 x23]
             ; gcr arg pop 0
-                      ;; size=16 bbWeight=3.55 PerfScore 8.87
-G_M50755_IG16:        ; bbWeight=0.44, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+                     ;; size=16 bbWeight=7.09 PerfScore 17.74
+G_M50755_IG14:        ; bbWeight=0.44, 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.44 PerfScore 2.19
-G_M50755_IG17:        ; 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]
@@ -164,23 +159,15 @@ G_M50755_IG17:        ; bbWeight=0.05, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ; gcrRegs -[x15 x19-x20]
             ; byrRegs -[x14]
                        ;; size=12 bbWeight=0.05 PerfScore 0.10
-G_M50755_IG18:        ; 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.25
-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 395.37, 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 345.62, 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%) : 104965.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.05
 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%) : 70887.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%) : 48964.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%) : 68684.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.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
 
  
  
benchmarks.run_tiered.linux.arm64.checked.mch
-24 (-1.10%) : 16583.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%) : 47050.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
@@ -69,7 +69,7 @@
 ;  V58 cse0         [V58,T16] (  3, 12   )    long  ->   x8         "CSE - aggressive"
 ;  V59 cse1         [V59,T09] (  2, 16   )     int  ->   x3         "CSE - aggressive"
 ;  V60 cse2         [V60,T17] (  3, 12   )    long  ->   x1         "CSE - aggressive"
-;  V61 cse3         [V61,T19] (  3, 10   )    long  ->   x3         "CSE - aggressive"
+;  V61 cse3         [V61,T19] (  3, 10   )    long  ->   x0         "CSE - aggressive"
 ;  V62 rat0         [V62,T30] (  3, 96   )  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 168
@@ -289,23 +289,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]
@@ -476,7 +475,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:
@@ -487,7 +486,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%) : 62658.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%) : 49379.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%) : 31051.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%) : 55601.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%) : 250461.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.06, 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.56, 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%) : 250444.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.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%) : 179926.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)
  
+48 (+22.64%) : 573018.dasm - ILGEN0x1db2cfa3:Method0x8618f02c(ushort,double,short,byte):int (FullOpts)
@@ -7,10 +7,10 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  3,  2.50)  ushort  ->  x20         single-def
-;  V01 arg1         [V01,T08] (  3,  3   )  double  ->  [fp+0x18]  single-def
+;  V00 arg0         [V00,T01] (  5,  3.50)  ushort  ->  x20         single-def
+;  V01 arg1         [V01,T08] (  5,  4.50)  double  ->  [fp+0x18]  single-def
 ;* V02 arg2         [V02    ] (  0,  0   )   short  ->  zero-ref    single-def
-;  V03 arg3         [V03,T00] (  3,  3   )    byte  ->  x19        
+;  V03 arg3         [V03,T00] (  6,  6   )    byte  ->  x19        
 ;* V04 loc0         [V04,T11] (  0,  0   )  double  ->  zero-ref   
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )     int  ->  zero-ref   
@@ -32,14 +32,14 @@
 ;* V22 tmp17        [V22    ] (  0,  0   )  double  ->  zero-ref   
 ;* V23 tmp18        [V23    ] (  0,  0   )   float  ->  zero-ref   
 ;* V24 tmp19        [V24    ] (  0,  0   )   float  ->  zero-ref   
-;* V25 tmp20        [V25,T04] (  0,  0   )     int  ->  zero-ref   
+;  V25 tmp20        [V25,T04] (  3,  2   )     int  ->   x0        
 ;* V26 tmp21        [V26    ] (  0,  0   )   float  ->  zero-ref   
 ;* V27 tmp22        [V27    ] (  0,  0   )     int  ->  zero-ref   
 ;* V28 tmp23        [V28    ] (  0,  0   )   float  ->  zero-ref   
 ;* V29 tmp24        [V29    ] (  0,  0   )     int  ->  zero-ref   
 ;* V30 tmp25        [V30,T14] (  0,  0   )   float  ->  zero-ref   
-;* V31 tmp26        [V31,T05] (  0,  0   )     int  ->  zero-ref   
-;* V32 tmp27        [V32,T06] (  0,  0   )     int  ->  zero-ref   
+;  V31 tmp26        [V31,T05] (  2,  2   )     int  ->   x0        
+;  V32 tmp27        [V32,T06] (  2,  2   )     int  ->   x1        
 ;* V33 tmp28        [V33    ] (  0,  0   )   float  ->  zero-ref   
 ;* V34 tmp29        [V34    ] (  0,  0   )   float  ->  zero-ref   
 ;* V35 tmp30        [V35    ] (  0,  0   )   float  ->  zero-ref   
@@ -57,7 +57,7 @@
 ;* V47 tmp42        [V47    ] (  0,  0   )     int  ->  zero-ref   
 ;* V48 tmp43        [V48    ] (  0,  0   )   float  ->  zero-ref   
 ;* V49 tmp44        [V49    ] (  0,  0   )   float  ->  zero-ref   
-;* V50 tmp45        [V50,T07] (  0,  0   )     int  ->  zero-ref   
+;  V50 tmp45        [V50,T07] (  2,  1   )     int  ->   x0        
 ;* V51 tmp46        [V51    ] (  0,  0   )  double  ->  zero-ref   
 ;  V52 cse0         [V52,T02] (  3,  3   )    long  ->  x21         "CSE - aggressive"
 ;  V53 cse1         [V53,T03] (  3,  3   )    long  ->  x22         "CSE - aggressive"
@@ -107,42 +107,59 @@ G_M36522_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             sxtb    w0, w19
             mov     w1, #7
             subs    w0, w1, w0
-            blo     G_M36522_IG08
+            blo     G_M36522_IG10
             ldr     d16, [@RWD00]
+            mov     w0, #3
             ldr     d0, [fp, #0x18]   // [V01 arg1]
             fcmp    d0, d16
+            csel    w19, w19, w0, ls
+            fcmp    d0, d16
             bhi     G_M36522_IG04
-                     ;; size=128 bbWeight=1 PerfScore 23.00
+                        ;; size=140 bbWeight=1 PerfScore 25.00
 G_M36522_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            uxth    w0, w20
             b       G_M36522_IG05
-                        ;; size=4 bbWeight=0.50 PerfScore 0.50
+                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M36522_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             mov     w0, #2
             uxth    w1, w20
             cmp     w1, #0
-            beq     G_M36522_IG07
+            beq     G_M36522_IG09
             udiv    w0, w0, w1
-                       ;; size=20 bbWeight=0.50 PerfScore 6.75
-G_M36522_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            uxth    w1, w20
+            mneg    w0, w0, w1
+            add     w0, w0, #2
+                       ;; size=32 bbWeight=0.50 PerfScore 8.25
+G_M36522_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            sxtb    w1, w19
+            cmp     w0, w1
+            bhi     G_M36522_IG07
+                       ;; size=12 bbWeight=1 PerfScore 2.00
+G_M36522_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            ldr     d16, [@RWD08]
+            fcmp    d0, d16
+                       ;; size=8 bbWeight=0.50 PerfScore 1.50
+G_M36522_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #3
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M36522_IG06:        ; bbWeight=1, epilog, nogc, extend
+G_M36522_IG08:        ; bbWeight=1, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=16 bbWeight=1 PerfScore 4.00
-G_M36522_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M36522_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             bl      CORINFO_HELP_THROWDIVZERO
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M36522_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M36522_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_OVERFLOW
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 RWD00      dq  B3E5A6C0C2213032h   ; -1.07789489e-58
+RWD08    dq  0027489EA903E70Eh   ; 6.47598595e-308
 
 
-; Total bytes of code 212, prolog size 16, PerfScore 40.25, instruction count 53, allocated bytes for code 212 (MethodHash=7dff7155) for method ILGEN_0x1db2cfa3:Method_0x8618f02c(ushort,double,short,byte):int (FullOpts)
+; Total bytes of code 260, prolog size 16, PerfScore 47.50, instruction count 65, allocated bytes for code 260 (MethodHash=7dff7155) for method ILGEN_0x1db2cfa3:Method_0x8618f02c(ushort,double,short,byte):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -153,7 +170,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 53 (0x00035) Actual length = 212 (0x0000d4)
+  Function Length   : 65 (0x00041) Actual length = 260 (0x000104)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+24 (+46.15%) : 573040.dasm - ILGEN0x4601be46:Method0x9c86375f(ulong,ubyte):int (FullOpts)
@@ -8,19 +8,19 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  3,  3   )    long  ->   x0         ld-addr-op single-def
-;* V01 arg1         [V01,T01] (  0,  0   )   ubyte  ->  zero-ref    ld-addr-op single-def
+;  V01 arg1         [V01,T01] (  3,  3   )   ubyte  ->   x1         ld-addr-op single-def
 ;* V02 loc0         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
 ;* V03 loc1         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
 ;* V04 loc2         [V04,T04] (  0,  0   )   short  ->  zero-ref   
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V07 tmp1         [V07,T03] (  0,  0   )     int  ->  zero-ref   
+;  V07 tmp1         [V07,T03] (  2,  2   )     int  ->   x2        
 ;* V08 tmp2         [V08,T05] (  0,  0   )  double  ->  zero-ref   
 ;* V09 tmp3         [V09    ] (  0,  0   )     int  ->  zero-ref   
 ;* V10 tmp4         [V10    ] (  0,  0   )     int  ->  zero-ref   
 ;* V11 tmp5         [V11    ] (  0,  0   )    long  ->  zero-ref   
 ;* V12 tmp6         [V12    ] (  0,  0   )  double  ->  zero-ref   
-;* V13 cse0         [V13,T02] (  0,  0   )     int  ->  zero-ref    "CSE - aggressive"
+;  V13 cse0         [V13,T02] (  3,  3   )     int  ->   x1         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -29,22 +29,28 @@ G_M16983_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M16983_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            movk    x1, #0xD1FFAB1E LSL #48
-            movz    x2, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
+            movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
-            str     x1, [x2]
+            movk    x2, #0xD1FFAB1E LSL #48
+            movz    x3, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            str     x2, [x3]
+            uxtb    w1, w1
+            mov     w2, #4
+            movn    w3, #0
+            cmp     w1, #6
+            csel    w2, w2, w3, ge
+            cmp     w2, w1
             sxth    w0, w0
-                     ;; size=36 bbWeight=1 PerfScore 5.00
+                      ;; size=60 bbWeight=1 PerfScore 8.00
 G_M16983_IG03:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 52, prolog size 8, PerfScore 8.50, instruction count 13, allocated bytes for code 52 (MethodHash=0155bda8) for method ILGEN_0x4601be46:Method_0x9c86375f(ulong,ubyte):int (FullOpts)
+; Total bytes of code 76, prolog size 8, PerfScore 11.50, instruction count 19, allocated bytes for code 76 (MethodHash=0155bda8) for method ILGEN_0x4601be46:Method_0x9c86375f(ulong,ubyte):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -55,7 +61,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 13 (0x0000d) Actual length = 52 (0x000034)
+  Function Length   : 19 (0x00013) Actual length = 76 (0x00004c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+160.00%) : 573231.dasm - ILGEN0x2dda4eb5:Method0xa084659a():ushort (FullOpts)
@@ -9,8 +9,8 @@
 ;
 ;* V00 loc0         [V00,T02] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V02 tmp1         [V02,T00] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
-;* V03 cse0         [V03,T01] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
+;  V02 tmp1         [V02,T00] (  2,  4   )     ref  ->   x0         single-def "arr expr"
+;  V03 cse0         [V03,T01] (  2,  2   )    long  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -19,14 +19,24 @@ G_M5817_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M5817_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            mov     x1, #41
+            bl      CORINFO_HELP_NEWARR_1_VC
+            ; gcrRegs +[x0]
+            ldr     d16, [x0, #0x48]
+            fmov    d17, #7.0000
+            fcmp    d16, d17
             mov     w0, #100
-                     ;; size=4 bbWeight=1 PerfScore 0.50
+            ; gcrRegs -[x0]
+                       ;; size=36 bbWeight=1 PerfScore 8.00
 G_M5817_IG03:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 20, prolog size 8, PerfScore 4.00, instruction count 5, allocated bytes for code 20 (MethodHash=cc10e946) for method ILGEN_0x2dda4eb5:Method_0xa084659a():ushort (FullOpts)
+; Total bytes of code 52, prolog size 8, PerfScore 11.50, instruction count 13, allocated bytes for code 52 (MethodHash=cc10e946) for method ILGEN_0x2dda4eb5:Method_0xa084659a():ushort (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -37,7 +47,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 5 (0x00005) Actual length = 20 (0x000014)
+  Function Length   : 13 (0x0000d) Actual length = 52 (0x000034)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
libraries.crossgen2.linux.arm64.checked.mch
-32 (-3.98%) : 140768.dasm - System.Data.DataRelation:Create(System.String,System.Data.DataColumn[],System.Data.DataColumn[],ubyte):this (FullOpts)
@@ -32,26 +32,24 @@
 ;  V20 tmp13        [V20,T12] (  2,  4   )     ref  ->   x0         single-def "argument with side effect"
 ;  V21 PSPSym       [V21,T17] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
 ;  V22 cse0         [V22,T15] (  5,  3   )   byref  ->  x24         multi-def "CSE - aggressive"
-;  V23 cse1         [V23,T04] (  6,  9.04)    long  ->  x27         hoist multi-def "CSE - aggressive"
-;  V24 cse2         [V24,T05] (  6,  9.04)    long  ->  x28         hoist multi-def "CSE - aggressive"
-;  V25 cse3         [V25,T01] (  3, 11.88)    long  ->   x0         "CSE - aggressive"
-;  V26 cse4         [V26,T18] (  3,  0.12)    long  ->  x14         "CSE - conservative"
-;  V27 cse5         [V27,T06] (  6,  8   )     int  ->  x25         "CSE - aggressive"
+;  V23 cse1         [V23,T04] (  6,  9.04)    long  ->   x2         hoist multi-def "CSE - aggressive"
+;  V24 cse2         [V24,T05] (  6,  9.04)    long  ->  registers   hoist multi-def "CSE - aggressive"
+;  V25 cse3         [V25,T01] (  3, 11.88)    long  ->   x4         "CSE - aggressive"
+;  V26 cse4         [V26,T18] (  3,  0.12)    long  ->   x4         "CSE - conservative"
+;  V27 cse5         [V27,T06] (  6,  8   )     int  ->   x0         "CSE - aggressive"
 ;  V28 cse6         [V28,T11] (  4,  5.04)   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V29 cse7         [V29,T14] (  4,  3.04)     int  ->  x26         "CSE - aggressive"
+;  V29 cse7         [V29,T14] (  4,  3.04)     int  ->  x11         "CSE - aggressive"
 ;
 ; Lcl frame size = 32
 
 G_M1015_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x80]!
+            stp     fp, lr, [sp, #-0x60]!
             stp     x19, x20, [sp, #0x30]
             stp     x21, x22, [sp, #0x40]
             stp     x23, x24, [sp, #0x50]
-            stp     x25, x26, [sp, #0x60]
-            stp     x27, x28, [sp, #0x70]
             mov     fp, sp
             stp     xzr, xzr, [fp, #0x10]  // [V10 tmp3], [V09 tmp2]
-            add     x5, sp, #128
+            add     x5, sp, #96
             str     x5, [fp, #0x28] // [V21 PSPSym]
             mov     x19, x0
             ; gcrRegs +[x19]
@@ -62,7 +60,7 @@ G_M1015_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
             mov     x20, x3
             ; gcrRegs +[x20]
             mov     w23, w4
-                      ;; size=60 bbWeight=1 PerfScore 11.50
+                     ;; size=52 bbWeight=1 PerfScore 9.50
 G_M1015_IG02:        ; bbWeight=1, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
@@ -137,57 +135,57 @@ G_M1015_IG03:        ; bbWeight=1, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs
             blr     x12
             ; gcrRegs -[x15]
             ; byrRegs -[x14]
-            ldr     w25, [x21, #0x08]
-            ldr     w26, [x20, #0x08]
-            cmp     w25, w26
+            ldr     w0, [x21, #0x08]
+            ldr     w11, [x20, #0x08]
+            cmp     w0, w11
             bne     G_M1015_IG11
             mov     w1, wzr
-            cmp     w25, #0
+            cmp     w0, #0
             ble     G_M1015_IG05
-            cmp     w26, w25
+            cmp     w11, w0
             blt     G_M1015_IG09
-            add     x26, x21, #16
-            ; byrRegs +[x26]
-            adrp    x0, [HIGH RELOC #0xD1FFAB1E]
-            add     x0, x0, [LOW RELOC #0xD1FFAB1E]
-            ldr     x27, [x0]
-            adrp    x0, [HIGH RELOC #0xD1FFAB1E]
-            add     x0, x0, [LOW RELOC #0xD1FFAB1E]
-            ldr     x28, [x0]
+            add     x11, x21, #16
+            ; byrRegs +[x11]
+            adrp    x2, [HIGH RELOC #0xD1FFAB1E]
+            add     x2, x2, [LOW RELOC #0xD1FFAB1E]
+            ldr     x2, [x2]
+            adrp    x3, [HIGH RELOC #0xD1FFAB1E]
+            add     x3, x3, [LOW RELOC #0xD1FFAB1E]
+            ldr     x3, [x3]
                        ;; size=168 bbWeight=1 PerfScore 47.50
-G_M1015_IG04:        ; bbWeight=3.96, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=5000000 {x24 x26}, byref, isz
+G_M1015_IG04:        ; bbWeight=3.96, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=1000800 {x11 x24}, byref, isz
             ; gcrRegs -[x21]
-            ubfiz   x0, x1, #3, #32
-            ldr     x11, [x26, x0]
-            ; gcrRegs +[x11]
-            add     x11, x11, x27
-            ; gcrRegs -[x11]
-            ; byrRegs +[x11]
-            ldr     x11, [x11, #0x30]
-            ; gcrRegs +[x11]
-            ; byrRegs -[x11]
-            ldr     x11, [x11, x28]
-            cbz     x11, G_M1015_IG08
-            add     x11, x20, #16
-            ; gcrRegs -[x11]
-            ; byrRegs +[x11]
-            ldr     x0, [x11, x0]
-            ; gcrRegs +[x0]
-            add     x0, x0, x27
-            ; gcrRegs -[x0]
-            ; byrRegs +[x0]
-            ldr     x0, [x0, #0x30]
-            ; gcrRegs +[x0]
-            ; byrRegs -[x0]
-            ldr     x0, [x0, x28]
-            cbz     x0, G_M1015_IG08
+            ubfiz   x4, x1, #3, #32
+            ldr     x5, [x11, x4]
+            ; gcrRegs +[x5]
+            add     x5, x5, x2
+            ; gcrRegs -[x5]
+            ; byrRegs +[x5]
+            ldr     x5, [x5, #0x30]
+            ; gcrRegs +[x5]
+            ; byrRegs -[x5]
+            ldr     x5, [x5, x3]
+            cbz     x5, G_M1015_IG08
+            add     x5, x20, #16
+            ; gcrRegs -[x5]
+            ; byrRegs +[x5]
+            ldr     x4, [x5, x4]
+            ; gcrRegs +[x4]
+            add     x4, x4, x2
+            ; gcrRegs -[x4]
+            ; byrRegs +[x4]
+            ldr     x4, [x4, #0x30]
+            ; gcrRegs +[x4]
+            ; byrRegs -[x4]
+            ldr     x4, [x4, x3]
+            cbz     x4, G_M1015_IG08
             add     w1, w1, #1
-            cmp     w25, w1
+            cmp     w0, w1
             bgt     G_M1015_IG04
                        ;; size=60 bbWeight=3.96 PerfScore 97.02
 G_M1015_IG05:        ; bbWeight=1, gcrefRegs=480000 {x19 x22}, byrefRegs=1000000 {x24}, byref, isz
-            ; gcrRegs -[x0 x20]
-            ; byrRegs -[x11 x26]
+            ; gcrRegs -[x4 x20]
+            ; byrRegs -[x5 x11]
             mov     x0, x19
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -202,9 +200,9 @@ G_M1015_IG05:        ; bbWeight=1, gcrefRegs=480000 {x19 x22}, byrefRegs=1000000
                        ;; size=28 bbWeight=1 PerfScore 7.00
 G_M1015_IG06:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=1000000 {x24}, byref
             ; gcrRegs -[x15 x22]
-            adrp    x14, [HIGH RELOC #0xD1FFAB1E]      // const ptr
-            add     x14, x14, [LOW RELOC #0xD1FFAB1E]
-            ldr     x14, [x14]
+            adrp    x15, [HIGH RELOC #0xD1FFAB1E]      // const ptr
+            add     x15, x15, [LOW RELOC #0xD1FFAB1E]
+            ldr     x14, [x15]
             ldr     x15, [x14]
             ; gcrRegs +[x15]
                        ;; size=16 bbWeight=0.50 PerfScore 3.50
@@ -239,49 +237,49 @@ G_M1015_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
 G_M1015_IG09:        ; bbWeight=0.04, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=1000000 {x24}, byref, isz
             ; gcrRegs +[x19-x22]
             ; byrRegs +[x24]
-            add     x15, x21, #16
-            ; byrRegs +[x15]
-            ubfiz   x14, x1, #3, #32
-            ldr     x15, [x15, x14]
-            ; gcrRegs +[x15]
-            ; byrRegs -[x15]
-            adrp    x12, [HIGH RELOC #0xD1FFAB1E]
-            add     x12, x12, [LOW RELOC #0xD1FFAB1E]
-            ldr     x27, [x12]
-            add     x15, x15, x27
-            ; gcrRegs -[x15]
-            ; byrRegs +[x15]
-            ldr     x15, [x15, #0x30]
-            ; gcrRegs +[x15]
-            ; byrRegs -[x15]
-            adrp    x12, [HIGH RELOC #0xD1FFAB1E]
-            add     x12, x12, [LOW RELOC #0xD1FFAB1E]
-            ldr     x28, [x12]
-            ldr     x15, [x15, x28]
-            cbz     x15, G_M1015_IG08
-            cmp     w1, w26
+            add     x2, x21, #16
+            ; byrRegs +[x2]
+            ubfiz   x4, x1, #3, #32
+            ldr     x3, [x2, x4]
+            ; gcrRegs +[x3]
+            adrp    x2, [HIGH RELOC #0xD1FFAB1E]
+            ; byrRegs -[x2]
+            add     x2, x2, [LOW RELOC #0xD1FFAB1E]
+            ldr     x2, [x2]
+            add     x3, x3, x2
+            ; gcrRegs -[x3]
+            ; byrRegs +[x3]
+            ldr     x3, [x3, #0x30]
+            ; gcrRegs +[x3]
+            ; byrRegs -[x3]
+            adrp    x5, [HIGH RELOC #0xD1FFAB1E]
+            add     x5, x5, [LOW RELOC #0xD1FFAB1E]
+            ldr     x5, [x5]
+            ldr     x3, [x3, x5]
+            cbz     x3, G_M1015_IG08
+            cmp     w1, w11
             bhs     G_M1015_IG10
-            add     x15, x20, #16
-            ; gcrRegs -[x15]
-            ; byrRegs +[x15]
-            ldr     x14, [x15, x14]
-            ; gcrRegs +[x14]
-            add     x14, x14, x27
-            ; gcrRegs -[x14]
-            ; byrRegs +[x14]
-            ldr     x14, [x14, #0x30]
-            ; gcrRegs +[x14]
-            ; byrRegs -[x14]
-            ldr     x14, [x14, x28]
-            cbz     x14, G_M1015_IG08
+            add     x3, x20, #16
+            ; gcrRegs -[x3]
+            ; byrRegs +[x3]
+            ldr     x3, [x3, x4]
+            ; gcrRegs +[x3]
+            ; byrRegs -[x3]
+            add     x2, x3, x2
+            ; byrRegs +[x2]
+            ldr     x2, [x2, #0x30]
+            ; gcrRegs +[x2]
+            ; byrRegs -[x2]
+            ldr     x2, [x2, x5]
+            cbz     x2, G_M1015_IG08
             add     w1, w1, #1
-            cmp     w25, w1
+            cmp     w0, w1
             bgt     G_M1015_IG09
             b       G_M1015_IG05
                        ;; size=100 bbWeight=0.04 PerfScore 1.42
 G_M1015_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x14 x19-x22]
-            ; byrRegs -[x15 x24]
+            ; gcrRegs -[x2-x3 x19-x22]
+            ; byrRegs -[x24]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x0]
@@ -319,24 +317,20 @@ G_M1015_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=1000000 {x24}, b
             ; gcr arg pop 0
                        ;; size=32 bbWeight=1 PerfScore 13.50
 G_M1015_IG13:        ; bbWeight=1, epilog, nogc, extend
-            ldp     x27, x28, [sp, #0x70]
-            ldp     x25, x26, [sp, #0x60]
             ldp     x23, x24, [sp, #0x50]
...
  
-24 (-2.86%) : 173724.dasm - Microsoft.CodeAnalysis.Text.SourceText:ContentEqualsImpl(Microsoft.CodeAnalysis.Text.SourceText):ubyte:this (FullOpts)
@@ -11,12 +11,12 @@
 ;
 ;  V00 this         [V00,T08] (  8, 15.50)     ref  ->  x19         this class-hnd single-def <Microsoft.CodeAnalysis.Text.SourceText>
 ;  V01 arg1         [V01,T13] (  6,  8   )     ref  ->  x20         class-hnd single-def <Microsoft.CodeAnalysis.Text.SourceText>
-;  V02 loc0         [V02,T11] (  7, 10.52)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <<unknown class>>
-;  V03 loc1         [V03,T10] (  9, 10.68)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V02 loc0         [V02,T11] (  7, 10.52)     ref  ->  [fp+0x20]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V03 loc1         [V03,T10] (  9, 10.68)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <<unknown class>>
 ;  V04 loc2         [V04,T03] (  7, 24.50)     int  ->  x23        
 ;  V05 loc3         [V05,T02] (  9, 40   )     int  ->  x26        
-;  V06 loc4         [V06,T00] ( 11, 68.32)     int  ->   x1        
-;  V07 loc5         [V07,T21] (  3,  1.50)   ubyte  ->  x19        
+;  V06 loc4         [V06,T00] ( 11, 68.32)     int  ->   x0        
+;  V07 loc5         [V07,T21] (  3,  1.50)   ubyte  ->  x23        
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V09 tmp1         [V09    ] (  0,  0   )     int  ->  zero-ref    "non-inline candidate call"
 ;  V10 tmp2         [V10,T15] (  3,  8   )     int  ->  x26         "Inline return value spill temp"
@@ -28,33 +28,32 @@
 ;  V16 tmp8         [V16,T25] (  2,  0   )     ref  ->   x0         single-def "argument with side effect"
 ;  V17 tmp9         [V17,T19] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
 ;  V18 tmp10        [V18,T20] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
-;  V19 PSPSym       [V19,T22] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
+;  V19 PSPSym       [V19,T22] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
 ;  V20 cse0         [V20,T16] (  8,  2.50)   byref  ->  x22         multi-def "CSE - aggressive"
-;  V21 cse1         [V21,T01] (  3, 47.52)    long  ->   x0         "CSE - aggressive"
-;  V22 cse2         [V22,T23] (  3,  0.48)    long  ->   x0         "CSE - conservative"
-;  V23 cse3         [V23,T06] (  4, 18.02)   byref  ->  x24         hoist multi-def "CSE - aggressive"
-;  V24 cse4         [V24,T07] (  4, 18.02)   byref  ->  x27         hoist multi-def "CSE - aggressive"
+;  V21 cse1         [V21,T01] (  3, 47.52)    long  ->   x4         "CSE - aggressive"
+;  V22 cse2         [V22,T23] (  3,  0.48)    long  ->   x4         "CSE - conservative"
+;  V23 cse3         [V23,T06] (  4, 18.02)   byref  ->  x11         hoist multi-def "CSE - aggressive"
+;  V24 cse4         [V24,T07] (  4, 18.02)   byref  ->   x3         hoist multi-def "CSE - aggressive"
 ;  V25 cse5         [V25,T12] (  4, 10.16)     int  ->  x25         "CSE - aggressive"
 ;  V26 cse6         [V26,T14] (  6, 10   )    long  ->  x21         "CSE - aggressive"
 ;  V27 cse7         [V27,T09] (  3, 12   )    long  ->  x24         "CSE - aggressive"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 32
 
 G_M16886_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x70]!
-            stp     x19, x20, [sp, #0x28]
-            stp     x21, x22, [sp, #0x38]
-            stp     x23, x24, [sp, #0x48]
-            stp     x25, x26, [sp, #0x58]
-            str     x27, [sp, #0x68]
+            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, #112
-            str     x2, [fp, #0x20]  // [V19 PSPSym]
+            str     x2, [fp, #0x28]    // [V19 PSPSym]
             mov     x19, x0
             ; gcrRegs +[x19]
             mov     x20, x1
             ; gcrRegs +[x20]
-                     ;; size=44 bbWeight=1 PerfScore 9.00
+                      ;; size=40 bbWeight=1 PerfScore 8.00
 G_M16886_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             cbnz    x20, G_M16886_IG05
                        ;; size=4 bbWeight=1 PerfScore 1.00
@@ -63,14 +62,13 @@ G_M16886_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M16886_IG04:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x27, [sp, #0x68]
-            ldp     x25, x26, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
+            ldp     x25, x26, [sp, #0x60]
+            ldp     x23, x24, [sp, #0x50]
+            ldp     x21, x22, [sp, #0x40]
+            ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x70
             ret     lr
-                       ;; size=28 bbWeight=0.50 PerfScore 4.00
+                       ;; size=24 bbWeight=0.50 PerfScore 3.00
 G_M16886_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x19-x20]
             cmp     x19, x20
@@ -78,14 +76,13 @@ G_M16886_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             mov     w0, #1
                        ;; size=12 bbWeight=0.50 PerfScore 1.00
 G_M16886_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x27, [sp, #0x68]
-            ldp     x25, x26, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
+            ldp     x25, x26, [sp, #0x60]
+            ldp     x23, x24, [sp, #0x50]
+            ldp     x21, x22, [sp, #0x40]
+            ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x70
             ret     lr
-                       ;; size=28 bbWeight=0.50 PerfScore 4.00
+                       ;; size=24 bbWeight=0.50 PerfScore 3.00
 G_M16886_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -124,7 +121,7 @@ G_M16886_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             ldr     x1, [x11]
             blr     x1
             ; gcr arg pop 0
-            str     x0, [fp, #0x18]   // [V02 loc0]
+            str     x0, [fp, #0x20]  // [V02 loc0]
             ; GC ptr vars +{V02}
             ldr     x0, [x22, #0xD1FFAB1E]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -133,7 +130,7 @@ G_M16886_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             ldr     x2, [x11]
             blr     x2
             ; gcr arg pop 0
-            str     x0, [fp, #0x10]   // [V03 loc1]
+            str     x0, [fp, #0x18]  // [V03 loc1]
             ; GC ptr vars +{V03}
                        ;; size=132 bbWeight=0.50 PerfScore 22.75
 G_M16886_IG08:        ; bbWeight=0.50, gcVars=0000000000000C00 {V02 V03}, gcrefRegs=180000 {x19 x20}, byrefRegs=400000 {x22}, gcvars, byref, isz
@@ -158,7 +155,7 @@ G_M16886_IG09:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000
             ; gcrRegs -[x0]
             ; gcr arg pop 0
             sub     w24, w0, w23
-            ldr     x1, [fp, #0x18]  // [V02 loc0]
+            ldr     x1, [fp, #0x20]  // [V02 loc0]
             ; gcrRegs +[x1]
             ldr     w25, [x1, #0x08]
             sxtw    w26, w25
@@ -177,7 +174,7 @@ G_M16886_IG12:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000
             ; gcrRegs +[x0]
             mov     w4, w26
             mov     w1, w23
-            ldr     x2, [fp, #0x18]   // [V02 loc0]
+            ldr     x2, [fp, #0x20]  // [V02 loc0]
             ; gcrRegs +[x2]
             adrp    x24, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x24, x24, [LOW RELOC #0xD1FFAB1E]
@@ -191,7 +188,7 @@ G_M16886_IG12:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000
             ; gcrRegs +[x0]
             mov     w4, w26
             mov     w1, w23
-            ldr     x2, [fp, #0x10]   // [V03 loc1]
+            ldr     x2, [fp, #0x18]  // [V03 loc1]
             ; gcrRegs +[x2]
             mov     x11, x24
             mov     w3, wzr
@@ -199,45 +196,45 @@ G_M16886_IG12:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000
             blr     x5
             ; gcrRegs -[x0 x2]
             ; gcr arg pop 0
-            mov     w1, wzr
+            mov     w0, wzr
             cmp     w26, #0
             ble     G_M16886_IG15
                        ;; size=84 bbWeight=4 PerfScore 80.00
 G_M16886_IG13:        ; bbWeight=2, gcrefRegs=180000 {x19 x20}, byrefRegs=400000 {x22}, byref, isz
-            ldr     x2, [fp, #0x10]    // [V03 loc1]
+            ldr     x2, [fp, #0x18]  // [V03 loc1]
             ; gcrRegs +[x2]
             cbz     x2, G_M16886_IG18
             cmp     w25, w26
             blt     G_M16886_IG18
-            ldr     w0, [x2, #0x08]
-            cmp     w0, w26
-            blt     G_M16886_IG18
-            ldr     x3, [fp, #0x18]    // [V02 loc0]
-            ; gcrRegs +[x3]
-            add     x24, x3, #16
-            ; byrRegs +[x24]
-            add     x27, x2, #16
-            ; byrRegs +[x27]
-                       ;; size=40 bbWeight=2 PerfScore 24.00
-G_M16886_IG14:        ; bbWeight=15.84, gcrefRegs=180000 {x19 x20}, byrefRegs=9400000 {x22 x24 x27}, byref, isz
-            ; gcrRegs -[x2-x3]
-            ubfiz   x0, x1, #1, #32
-            ldrh    w11, [x24, x0]
-            ldrh    w0, [x27, x0]
-            cmp     w11, w0
-            bne     G_M16886_IG20
-            add     w1, w1, #1
+            ldr     w1, [x2, #0x08]
             cmp     w1, w26
+            blt     G_M16886_IG18
+            ldr     x1, [fp, #0x20]    // [V02 loc0]
+            ; gcrRegs +[x1]
+            add     x11, x1, #16
+            ; byrRegs +[x11]
+            add     x3, x2, #16
+            ; byrRegs +[x3]
+                       ;; size=40 bbWeight=2 PerfScore 24.00
+G_M16886_IG14:        ; bbWeight=15.84, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=400808 {x3 x11 x22}, byref, isz
+            ubfiz   x4, x0, #1, #32
+            ldrh    w5, [x11, x4]
+            ldrh    w4, [x3, x4]
+            cmp     w5, w4
+            bne     G_M16886_IG20
+            add     w0, w0, #1
+            cmp     w0, w26
             blt     G_M16886_IG14
                        ;; size=32 bbWeight=15.84 PerfScore 166.32
 G_M16886_IG15:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000 {x22}, byref, isz
-            ; byrRegs -[x24 x27]
+            ; gcrRegs -[x1-x2]
+            ; byrRegs -[x3 x11]
             add     w23, w23, w26
             mov     x0, x19
             ; gcrRegs +[x0]
             mov     x11, x21
-            ldr     x1, [x11]
-            blr     x1
+            ldr     x3, [x11]
+            blr     x3
             ; gcrRegs -[x0]
             ; gcr arg pop 0
             cmp     w0, w23
@@ -245,9 +242,9 @@ G_M16886_IG15:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000
                        ;; size=28 bbWeight=4 PerfScore 28.00
 G_M16886_IG16:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
             ; gcrRegs -[x19-x20]
-            ldr     x2, [fp, #0x10]  // [V03 loc1]
+            ldr     x2, [fp, #0x18]  // [V03 loc1]
             ; gcrRegs +[x2]
-            mov     w19, #1
+            mov     w23, #1
             b       G_M16886_IG21
                        ;; size=12 bbWeight=0.50 PerfScore 1.75
 G_M16886_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -262,38 +259,39 @@ G_M16886_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
 G_M16886_IG18:        ; bbWeight=0.02, gcrefRegs=180004 {x2 x19 x20}, byrefRegs=400000 {x22}, byref
             ; gcrRegs +[x2 x19-x20]
             ; byrRegs +[x22]
-            ldr     x3, [fp, #0x18]  // [V02 loc0]
-            ; gcrRegs +[x3]
-            add     x24, x3, #16
-            ; byrRegs +[x24]
-            add     x27, x2, #16
-            ; byrRegs +[x27]
+            ldr     x1, [fp, #0x20]  // [V02 loc0]
+            ; gcrRegs +[x1]
+            add     x11, x1, #16
+            ; byrRegs +[x11]
+            add     x3, x2, #16
+            ; byrRegs +[x3]
                         ;; size=12 bbWeight=0.02 PerfScore 0.06
-G_M16886_IG19:        ; bbWeight=0.16, gcrefRegs=180004 {x2 x19 x20}, byrefRegs=9400000 {x22 x24 x27}, byref, isz
-            ; gcrRegs -[x3]
-            cmp     w1, w25
+G_M16886_IG19:        ; bbWeight=0.16, gcrefRegs=180004 {x2 x19 x20}, byrefRegs=400808 {x3 x11 x22}, byref, isz
...
  
-12 (-2.13%) : 70860.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstraintsHelper:CheckConstraints(Microsoft.CodeAnalysis.CSharp.Symbol,byref,Microsoft.CodeAnalysis.CSharp.Symbols.TypeMap,System.Collections.Immutable.ImmutableArray1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterDiagnosticInfo],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterDiagnosticInfo],byref,Microsoft.CodeAnalysis.BitVector,System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol]):ubyte (FullOpts)
@@ -81,12 +81,12 @@ G_M49290_IG02:        ; bbWeight=1, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26
             str     w3, [fp, #0x30]    // [V11 loc1]
             mov     w4, wzr
             cmp     w2, #0
-            ble     G_M49290_IG11
-            cbz     x23, G_M49290_IG10
+            ble     G_M49290_IG10
+            cbz     x23, G_M49290_IG09
             ldr     wzr, [x24, #0x08]
             ldr     w0, [x23, #0x08]
             cmp     w0, w2
-            blt     G_M49290_IG12
+            blt     G_M49290_IG11
                        ;; size=48 bbWeight=1 PerfScore 16.00
 G_M49290_IG03:        ; bbWeight=3.96, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
             mov     x0, x22
@@ -150,30 +150,27 @@ G_M49290_IG07:        ; bbWeight=3.96, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x
             add     w3, w3, #1
             ldr     w4, [fp, #0x34]    // [V10 loc0]
             cmp     w3, w4
-            blt     G_M49290_IG09
-                       ;; size=20 bbWeight=3.96 PerfScore 23.76
+            mov     w4, w3
+            blt     G_M49290_IG03
+                       ;; size=24 bbWeight=3.96 PerfScore 25.74
 G_M49290_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x21 x23-x26 x28]
             ; byrRegs -[x20 x22 x27]
             ldr     w3, [fp, #0x30]    // [V11 loc1]
-            b       G_M49290_IG18
+            b       G_M49290_IG16
                      ;; size=8 bbWeight=1 PerfScore 3.00
-G_M49290_IG09:        ; bbWeight=1.98, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref
+G_M49290_IG09:        ; bbWeight=0.50, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref
             ; gcrRegs +[x19 x21 x23-x26 x28]
             ; byrRegs +[x20 x22 x27]
-            mov     w4, w3
-            b       G_M49290_IG03
-                       ;; size=8 bbWeight=1.98 PerfScore 2.97
-G_M49290_IG10:        ; bbWeight=0.50, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref
-            b       G_M49290_IG12
+            b       G_M49290_IG11
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M49290_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M49290_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x21 x23-x26 x28]
             ; byrRegs -[x20 x22 x27]
             ldr     w3, [fp, #0x30]    // [V11 loc1]
-            b       G_M49290_IG18
+            b       G_M49290_IG16
                      ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M49290_IG12:        ; bbWeight=0.04, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
+G_M49290_IG11:        ; bbWeight=0.04, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
             ; gcrRegs +[x19 x21 x23-x26 x28]
             ; byrRegs +[x20 x22 x27]
             mov     x0, x22
@@ -185,9 +182,9 @@ G_M49290_IG12:        ; bbWeight=0.04, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x
             ldr     x5, [x11]
             blr     x5
             ; byrRegs -[x0]
-            cbnz    w0, G_M49290_IG22
+            cbnz    w0, G_M49290_IG19
                       ;; size=32 bbWeight=0.04 PerfScore 0.32
-G_M49290_IG13:        ; bbWeight=0.02, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
+G_M49290_IG12:        ; bbWeight=0.02, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
             add     x0, x24, #16
             ; byrRegs +[x0]
             ldr     w8, [fp, #0x2C]    // [V12 loc2]
@@ -196,7 +193,7 @@ G_M49290_IG13:        ; bbWeight=0.02, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x
             ldr     w0, [x23, #0x08]
             ; byrRegs -[x0]
             cmp     w8, w0
-            bhs     G_M49290_IG23
+            bhs     G_M49290_IG20
             mov     w0, #24
             mov     x1, #16
             str     w8, [fp, #0x2C]    // [V12 loc2]
@@ -204,13 +201,13 @@ G_M49290_IG13:        ; bbWeight=0.02, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x
             add     x0, x23, x0
             ; byrRegs +[x0]
                        ;; size=44 bbWeight=0.02 PerfScore 0.35
-G_M49290_IG14:        ; bbWeight=0.02, nogc, extend
+G_M49290_IG13:        ; bbWeight=0.02, nogc, extend
             ldp     x1, x2, [x0]
             stp     x1, x2, [fp, #0x10]
             ldr     x1, [x0, #0x10]
             str     x1, [fp, #0x20]
                        ;; size=16 bbWeight=0.02 PerfScore 0.18
-G_M49290_IG15:        ; bbWeight=0.02, isz, extend
+G_M49290_IG14:        ; bbWeight=0.02, isz, extend
             str     x28, [sp]    // [V13 OutArgs]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -232,26 +229,24 @@ G_M49290_IG15:        ; bbWeight=0.02, isz, extend
             blr     x9
             ; gcrRegs -[x0 x2-x3 x5-x6]
             ; byrRegs -[x1 x7]
-            cbnz    w0, G_M49290_IG21
-            mov     w0, wzr
-                       ;; size=56 bbWeight=0.02 PerfScore 0.22
-G_M49290_IG16:        ; bbWeight=0.04, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
-            ldr     w8, [fp, #0x2C]    // [V12 loc2]
-            add     w8, w8, #1
+            ldr     w3, [fp, #0x30]    // [V11 loc1]
+            cbnz    w0, G_M49290_IG15
+            mov     w3, wzr
+                       ;; size=60 bbWeight=0.02 PerfScore 0.26
+G_M49290_IG15:        ; bbWeight=0.04, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
+            ldr     w0, [fp, #0x2C]    // [V12 loc2]
+            add     w0, w0, #1
             ldr     w2, [fp, #0x34]  // [V10 loc0]
-            cmp     w8, w2
-            mov     w4, w8
-            blt     G_M49290_IG20
+            cmp     w0, w2
+            mov     w4, w0
+            blt     G_M49290_IG18
                       ;; size=24 bbWeight=0.04 PerfScore 0.26
-G_M49290_IG17:        ; bbWeight=0.02, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M49290_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x21 x23-x26 x28]
             ; byrRegs -[x20 x22 x27]
-            mov     w3, w0
-                       ;; size=4 bbWeight=0.02 PerfScore 0.01
-G_M49290_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, w3
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M49290_IG19:        ; bbWeight=1, epilog, nogc, extend
+G_M49290_IG17:        ; bbWeight=1, epilog, nogc, extend
             ldp     x27, x28, [sp, #0x80]
             ldp     x25, x26, [sp, #0x70]
             ldp     x23, x24, [sp, #0x60]
@@ -261,21 +256,17 @@ G_M49290_IG19:        ; bbWeight=1, epilog, nogc, extend
             add     sp, sp, #144
             ret     lr
                        ;; size=32 bbWeight=1 PerfScore 7.50
-G_M49290_IG20:        ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, gcvars, byref
+G_M49290_IG18:        ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, gcvars, byref
             ; gcrRegs +[x19 x21 x23-x26 x28]
             ; byrRegs +[x20 x22 x27]
-            str     w0, [fp, #0x30]  // [V11 loc1]
-            b       G_M49290_IG12
+            str     w3, [fp, #0x30] // [V11 loc1]
+            b       G_M49290_IG11
                       ;; size=8 bbWeight=0.02 PerfScore 0.04
-G_M49290_IG21:        ; bbWeight=0.01, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref
-            ldr     w0, [fp, #0x30]    // [V11 loc1]
-            b       G_M49290_IG16
-                       ;; size=8 bbWeight=0.01 PerfScore 0.03
-G_M49290_IG22:        ; bbWeight=0.02, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref
-            ldr     w0, [fp, #0x30]    // [V11 loc1]
-            b       G_M49290_IG16
+G_M49290_IG19:        ; bbWeight=0.02, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref
+            ldr     w3, [fp, #0x30]    // [V11 loc1]
+            b       G_M49290_IG15
                       ;; size=8 bbWeight=0.02 PerfScore 0.06
-G_M49290_IG23:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M49290_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x21 x23-x26 x28]
             ; byrRegs -[x20 x22 x27]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -285,7 +276,7 @@ G_M49290_IG23:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 564, prolog size 40, PerfScore 165.27, instruction count 141, allocated bytes for code 564 (MethodHash=ce803f75) for method 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)
+; Total bytes of code 552, prolog size 40, PerfScore 164.28, instruction count 138, allocated bytes for code 552 (MethodHash=ce803f75) for method 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)
 ; ============================================================
 
 Unwind Info:
@@ -296,7 +287,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 141 (0x0008d) Actual length = 564 (0x000234)
+  Function Length   : 138 (0x0008a) Actual length = 552 (0x000228)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+3.98%) : 216987.dasm - System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (FullOpts)
@@ -18,41 +18,42 @@
 ;  V06 loc4         [V06,T03] (  3, 48   )     ref  ->  x26         class-hnd <System.Diagnostics.Process>
 ;  V07 loc5         [V07,T17] (  2,  2   )   ubyte  ->  [fp+0x24]  do-not-enreg[Z] EH-live
 ;  V08 loc6         [V08,T14] (  6,  6   )     ref  ->   x1         class-hnd <System.Diagnostics.Process[]>
-;  V09 loc7         [V09,T02] ( 10, 66   )     int  ->  x19        
+;  V09 loc7         [V09,T02] ( 10, 66   )     int  ->  x25        
 ;* V10 loc8         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Diagnostics.Process>
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V12 tmp1         [V12,T16] (  3,  6   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V13 tmp2         [V13,T04] (  2, 32   )     ref  ->   x0         "argument with side effect"
 ;  V14 PSPSym       [V14,T18] (  1,  1   )    long  ->  [fp+0x48]  do-not-enreg[V] "PSPSym"
 ;  V15 cse0         [V15,T00] (  6, 98   )    long  ->  x24         hoist multi-def "CSE - aggressive"
-;  V16 cse1         [V16,T08] (  4, 18   )   byref  ->  x21         hoist multi-def "CSE - aggressive"
-;  V17 cse2         [V17,T07] (  6, 20   )     int  ->  x20         multi-def "CSE - aggressive"
+;  V16 cse1         [V16,T08] (  4, 18   )   byref  ->  x27         hoist multi-def "CSE - aggressive"
+;  V17 cse2         [V17,T07] (  6, 20   )     int  ->  x26         multi-def "CSE - aggressive"
 ;  V18 cse3         [V18,T01] (  2, 72   )    long  ->  x25         hoist "CSE - aggressive"
 ;  V19 cse4         [V19,T10] (  3, 18   )    long  ->  x21         "CSE - aggressive"
-;  V20 cse5         [V20,T09] (  4, 18   )    long  ->  x22         hoist multi-def "CSE - aggressive"
+;  V20 cse5         [V20,T09] (  4, 18   )    long  ->  x28         hoist multi-def "CSE - aggressive"
 ;  V21 cse6         [V21,T12] (  2,  9   )    long  ->  x20         hoist "CSE - aggressive"
 ;  V22 cse7         [V22,T13] (  2,  9   )    long  ->  x23         hoist "CSE - aggressive"
 ;
 ; Lcl frame size = 64
 
 G_M8719_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x90]!
+            stp     fp, lr, [sp, #-0xA0]!
             stp     x19, x20, [sp, #0x50]
             stp     x21, x22, [sp, #0x60]
             stp     x23, x24, [sp, #0x70]
             stp     x25, x26, [sp, #0x80]
+            stp     x27, x28, [sp, #0x90]
             mov     fp, sp
             add     x9, fp, #24
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     xzr, xzr, [x9, #0x20]
-            add     x2, sp, #144
+            add     x2, sp, #160
             str     x2, [fp, #0x48]   // [V14 PSPSym]
             mov     x20, x0
             ; gcrRegs +[x20]
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=56 bbWeight=1 PerfScore 11.00
+                     ;; size=60 bbWeight=1 PerfScore 12.00
 G_M8719_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             mov     x0, x20
             ; gcrRegs +[x0]
@@ -69,13 +70,14 @@ G_M8719_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}
             mov     w0, #1
                        ;; size=36 bbWeight=1 PerfScore 8.00
 G_M8719_IG03:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x27, x28, [sp, #0x90]
             ldp     x25, x26, [sp, #0x80]
             ldp     x23, x24, [sp, #0x70]
             ldp     x21, x22, [sp, #0x60]
             ldp     x19, x20, [sp, #0x50]
-            ldp     fp, lr, [sp], #0x90
+            ldp     fp, lr, [sp], #0xA0
             ret     lr
-                        ;; size=24 bbWeight=1 PerfScore 6.00
+                      ;; size=28 bbWeight=1 PerfScore 7.00
 G_M8719_IG04:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // const ptr
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
@@ -224,32 +226,32 @@ G_M8719_IG15:        ; bbWeight=1, nogc, extend
 G_M8719_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x1, [fp, #0x18]    // [V02 loc0]
             ; gcrRegs +[x1]
-            mov     w19, wzr
-            ldr     w20, [x1, #0x08]
-            cmp     w20, #0
+            mov     w25, wzr
+            ldr     w26, [x1, #0x08]
+            cmp     w26, #0
             ble     G_M8719_IG23
-            add     x21, x1, #16
-            ; byrRegs +[x21]
-            adrp    x22, [HIGH RELOC #0xD1FFAB1E]
-            add     x22, x22, [LOW RELOC #0xD1FFAB1E]
+            add     x27, x1, #16
+            ; byrRegs +[x27]
+            adrp    x28, [HIGH RELOC #0xD1FFAB1E]
+            add     x28, x28, [LOW RELOC #0xD1FFAB1E]
                       ;; size=32 bbWeight=1 PerfScore 8.50
-G_M8719_IG17:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=200000 {x21}, gcvars, byref, isz
+G_M8719_IG17:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=8000000 {x27}, gcvars, byref, isz
             ; gcrRegs -[x1]
             ; GC ptr vars -{V02}
-            ldr     x0, [x21, w19, UXTW #3]
+            ldr     x0, [x27, w25, UXTW #3]
             ; gcrRegs +[x0]
-            mov     x11, x22
+            mov     x11, x28
             ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            add     w19, w19, #1
-            cmp     w20, w19
+            add     w25, w25, #1
+            cmp     w26, w25
             bgt     G_M8719_IG17
                        ;; size=32 bbWeight=8 PerfScore 100.00
 G_M8719_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x21]
+            ; byrRegs -[x27]
             b       G_M8719_IG23
                        ;; size=4 bbWeight=1 PerfScore 1.00
 G_M8719_IG19:        ; bbWeight=1, gcVars=0000000000000800 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
@@ -265,33 +267,36 @@ G_M8719_IG21:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
             ldr     w0, [fp, #0x24]    // [V07 loc5]
                        ;; size=4 bbWeight=1 PerfScore 2.00
 G_M8719_IG22:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x27, x28, [sp, #0x90]
             ldp     x25, x26, [sp, #0x80]
             ldp     x23, x24, [sp, #0x70]
             ldp     x21, x22, [sp, #0x60]
             ldp     x19, x20, [sp, #0x50]
-            ldp     fp, lr, [sp], #0x90
+            ldp     fp, lr, [sp], #0xA0
             ret     lr
-                        ;; size=24 bbWeight=1 PerfScore 6.00
+                      ;; size=28 bbWeight=1 PerfScore 7.00
 G_M8719_IG23:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=1 PerfScore 0.50
 G_M8719_IG24:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x27, x28, [sp, #0x90]
             ldp     x25, x26, [sp, #0x80]
             ldp     x23, x24, [sp, #0x70]
             ldp     x21, x22, [sp, #0x60]
             ldp     x19, x20, [sp, #0x50]
-            ldp     fp, lr, [sp], #0x90
+            ldp     fp, lr, [sp], #0xA0
             ret     lr
-                        ;; size=24 bbWeight=1 PerfScore 6.00
+                      ;; size=28 bbWeight=1 PerfScore 7.00
 G_M8719_IG25:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
-            stp     fp, lr, [sp, #-0x60]!
+            stp     fp, lr, [sp, #-0x70]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             stp     x23, x24, [sp, #0x40]
             stp     x25, x26, [sp, #0x50]
-            add     x3, fp, #144
+            stp     x27, x28, [sp, #0x60]
+            add     x3, fp, #160
             str     x3, [sp, #0x18]
-                      ;; size=28 bbWeight=1 PerfScore 6.50
+                      ;; size=32 bbWeight=1 PerfScore 7.50
 G_M8719_IG26:        ; bbWeight=1, gcVars=0000000000000800 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars +{V02}
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // System.Collections.Generic.List`1+Enumerator[System.Diagnostics.Process]
@@ -306,71 +311,74 @@ G_M8719_IG26:        ; bbWeight=1, gcVars=0000000000000800 {V02}, gcrefRegs=0000
             ; gcr arg pop 0
                        ;; size=36 bbWeight=1 PerfScore 10.00
 G_M8719_IG27:        ; bbWeight=1, funclet epilog, nogc, extend
+            ldp     x27, x28, [sp, #0x60]
             ldp     x25, x26, [sp, #0x50]
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x60
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-                        ;; size=24 bbWeight=1 PerfScore 16.00
+                     ;; size=28 bbWeight=1 PerfScore 19.00
 G_M8719_IG28:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
-            stp     fp, lr, [sp, #-0x60]!
+            stp     fp, lr, [sp, #-0x70]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             stp     x23, x24, [sp, #0x40]
             stp     x25, x26, [sp, #0x50]
-            add     x3, fp, #144
+            stp     x27, x28, [sp, #0x60]
+            add     x3, fp, #160
             str     x3, [sp, #0x18]
-                      ;; size=28 bbWeight=1 PerfScore 6.50
+                      ;; size=32 bbWeight=1 PerfScore 7.50
 G_M8719_IG29:        ; bbWeight=1, gcVars=0000000000000800 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x1, [fp, #0x18]    // [V02 loc0]
             ; gcrRegs +[x1]
-            mov     w19, wzr
-            ldr     w20, [x1, #0x08]
-            cmp     w20, #0
+            mov     w25, wzr
+            ldr     w26, [x1, #0x08]
+            cmp     w26, #0
             ble     G_M8719_IG31
-            add     x21, x1, #16
-            ; byrRegs +[x21]
-            adrp    x22, [HIGH RELOC #0xD1FFAB1E]
-            add     x22, x22, [LOW RELOC #0xD1FFAB1E]
+            add     x27, x1, #16
+            ; byrRegs +[x27]
+            adrp    x28, [HIGH RELOC #0xD1FFAB1E]
+            add     x28, x28, [LOW RELOC #0xD1FFAB1E]
                       ;; size=32 bbWeight=1 PerfScore 8.50
-G_M8719_IG30:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=200000 {x21}, gcvars, byref, isz
+G_M8719_IG30:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=8000000 {x27}, gcvars, byref, isz
             ; gcrRegs -[x1]
             ; GC ptr vars -{V02}
-            ldr     x0, [x21, w19, UXTW #3]
+            ldr     x0, [x27, w25, UXTW #3]
             ; gcrRegs +[x0]
-            mov     x11, x22
+            mov     x11, x28
             ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            add     w19, w19, #1
-            cmp     w20, w19
+            add     w25, w25, #1
+            cmp     w26, w25
             bgt     G_M8719_IG30
                        ;; size=32 bbWeight=8 PerfScore 100.00
 G_M8719_IG31:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
-            ; byrRegs -[x21]
+            ; byrRegs -[x27]
+            ldp     x27, x28, [sp, #0x60]
             ldp     x25, x26, [sp, #0x50]
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x60
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-                        ;; size=24 bbWeight=1 PerfScore 16.00
+                     ;; size=28 bbWeight=1 PerfScore 19.00
 
-; Total bytes of code 804, prolog size 56, PerfScore 1434.00, instruction count 201, allocated bytes for code 804 (MethodHash=4aa4ddf0) for method System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (FullOpts)
+; Total bytes of code 836, prolog size 60, PerfScore 1446.00, instruction count 209, allocated bytes for code 836 (MethodHash=4aa4ddf0) for method System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (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
...
  
+4 (+4.17%) : 53677.dasm - Microsoft.CodeAnalysis.CSharp.ReadWriteWalker:GetRangeVariableUnderlyingParameter(Microsoft.CodeAnalysis.CSharp.BoundNode):Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol (FullOpts)
@@ -23,14 +23,14 @@ G_M12753_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M12753_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
-            cbz     x0, G_M12753_IG04
+            cbz     x0, G_M12753_IG07
                       ;; size=4 bbWeight=1 PerfScore 1.00
 G_M12753_IG03:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldrb    w11, [x0, #0x12]
             cmp     w11, #117
-            beq     G_M12753_IG06
+            beq     G_M12753_IG05
             cmp     w11, #188
-            bne     G_M12753_IG04
+            bne     G_M12753_IG07
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x11]
@@ -41,14 +41,10 @@ G_M12753_IG03:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
                        ;; size=44 bbWeight=4 PerfScore 60.00
 G_M12753_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
-            mov     x0, xzr
+            b       G_M12753_IG07
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
+G_M12753_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0]
-                      ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M12753_IG05:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M12753_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x11]
@@ -56,12 +52,21 @@ G_M12753_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
             ; gcr arg pop 0
             ldr     x0, [x0, #0x20]
                        ;; size=20 bbWeight=0.50 PerfScore 4.00
-G_M12753_IG07:        ; bbWeight=0.50, epilog, nogc, extend
+G_M12753_IG06:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     fp, lr, [sp], #0x10
+            ret     lr
+                       ;; size=8 bbWeight=0.50 PerfScore 1.00
+G_M12753_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0]
+            mov     x0, xzr
+            ; gcrRegs +[x0]
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M12753_IG08:        ; 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 96, prolog size 8, PerfScore 68.75, instruction count 24, allocated bytes for code 96 (MethodHash=9540ce2e) for method Microsoft.CodeAnalysis.CSharp.ReadWriteWalker:GetRangeVariableUnderlyingParameter(Microsoft.CodeAnalysis.CSharp.BoundNode):Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol (FullOpts)
+; Total bytes of code 100, prolog size 8, PerfScore 69.25, instruction count 25, allocated bytes for code 100 (MethodHash=9540ce2e) for method Microsoft.CodeAnalysis.CSharp.ReadWriteWalker:GetRangeVariableUnderlyingParameter(Microsoft.CodeAnalysis.CSharp.BoundNode):Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -72,7 +77,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 24 (0x00018) Actual length = 96 (0x000060)
+  Function Length   : 25 (0x00019) Actual length = 100 (0x000064)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+16 (+4.30%) : 191751.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
@@ -13,55 +13,56 @@
 ;  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  ->   x3        
-;  V04 loc1         [V04,T17] (  2,  1   )     int  ->   x5        
+;  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  ->   x3         "Inlining Arg"
+;  V07 tmp2         [V07,T03] (  3, 24   )  ushort  ->  x11         "Inlining Arg"
 ;* V08 tmp3         [V08,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp4         [V09,T04] (  3, 24   )  ushort  ->   x5         "Inlining Arg"
+;  V09 tmp4         [V09,T04] (  3, 24   )  ushort  ->  x11         "Inlining Arg"
 ;* V10 tmp5         [V10,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V11 tmp6         [V11,T15] (  3,  3   )  ushort  ->   x6         "Inlining Arg"
+;  V11 tmp6         [V11,T15] (  3,  3   )  ushort  ->  x11         "Inlining Arg"
 ;* V12 tmp7         [V12,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V13 tmp8         [V13,T05] (  3, 24   )  ushort  ->   x6         "Inlining Arg"
+;  V13 tmp8         [V13,T05] (  3, 24   )  ushort  ->  x11         "Inlining Arg"
 ;* V14 tmp9         [V14,T14] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V15 tmp10        [V15,T06] (  3, 24   )  ushort  ->   x7         "Inlining Arg"
-;  V16 cse0         [V16,T09] (  3, 12   )     int  ->   x6         "CSE - aggressive"
-;  V17 cse1         [V17,T08] (  5, 13   )     int  ->  registers   multi-def "CSE - aggressive"
-;  V18 cse2         [V18,T01] ( 13, 46.50)     int  ->  x11         hoist "CSE - aggressive"
-;  V19 cse3         [V19,T02] (  9, 25.50)   byref  ->  registers   multi-def "CSE - aggressive"
+;  V15 tmp10        [V15,T06] (  3, 24   )  ushort  ->   x5         "Inlining Arg"
+;  V16 cse0         [V16,T09] (  3, 12   )     int  ->  x11         "CSE - aggressive"
+;  V17 cse1         [V17,T08] (  5, 13   )     int  ->  x11         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     w11, [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     w11, 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, w11
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x3, x0, #12
-            ; byrRegs +[x3]
-            ldrh    w3, [x3, w1, UXTW #2]
-            ; byrRegs -[x3]
-            cmp     w3, #32
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w11, [x20, w1, UXTW #2]
+            cmp     w11, #32
             beq     G_M63854_IG03
-            cmp     w3, #9
+            cmp     w11, #9
             beq     G_M63854_IG03
                        ;; size=32 bbWeight=4 PerfScore 32.00
 G_M63854_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
+            ; byrRegs -[x20]
             sxtw    w3, w1
             b       G_M63854_IG08
                        ;; size=8 bbWeight=1 PerfScore 1.50
@@ -69,25 +70,25 @@ G_M63854_IG07:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, by
             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     w11, 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, w11
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x4, x0, #12
-            ; byrRegs +[x4]
-            ldrh    w5, [x4, w1, UXTW #2]
-            cmp     w5, #61
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w11, [x20, w1, UXTW #2]
+            cmp     w11, #61
             beq     G_M63854_IG10
-            cmp     w5, #32
+            cmp     w11, #32
             beq     G_M63854_IG10
-            cmp     w5, #9
+            cmp     w11, #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 -[x4]
-            cmp     w11, 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
@@ -97,78 +98,80 @@ G_M63854_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, b
             ; gcrRegs +[x0]
                        ;; 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
-            sub     w5, w1, w3
-            cmp     w1, w11
+            sub     w4, w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x4, x0, #12
-            ; byrRegs +[x4]
-            ldrh    w6, [x4, w1, UXTW #2]
-            cmp     w6, #32
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w11, [x20, w1, UXTW #2]
+            cmp     w11, #32
             beq     G_M63854_IG15
-            cmp     w6, #9
+            cmp     w11, #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=0014 {x2 x4}, 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=0014 {x2 x4}, byref, isz
-            cmp     w11, w1
+G_M63854_IG15:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             ble     G_M63854_IG16
-            cmp     w1, w11
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w6, [x4, w1, UXTW #2]
-            cmp     w6, #32
+            ldrh    w11, [x20, w1, UXTW #2]
+            cmp     w11, #32
             beq     G_M63854_IG14
-            cmp     w6, #9
+            cmp     w11, #9
             beq     G_M63854_IG14
                        ;; size=36 bbWeight=4 PerfScore 36.00
-G_M63854_IG16:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0014 {x2 x4}, byref, isz
-            cmp     w11, 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, w11
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w6, [x4, w1, UXTW #2]
-            cmp     w6, #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 -[x4]
+            ; byrRegs -[x20]
             str     w1, [x2]
             mov     x0, xzr
             ; gcrRegs +[x0]
                        ;; 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=0014 {x2 x4}, gcvars, byref
-            ; byrRegs +[x4]
+                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+G_M63854_IG19:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, gcvars, byref
+            ; byrRegs +[x20]
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0014 {x2 x4}, byref, isz
-            cmp     w11, w1
+G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             ble     G_M63854_IG21
-            cmp     w1, w11
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w6, [x4, w1, UXTW #2]
-            sxtw    w7, w6
-            cmp     w7, #32
+            ldrh    w11, [x20, w1, UXTW #2]
+            sxtw    w5, w11
+            cmp     w5, #32
             beq     G_M63854_IG19
-            cmp     w7, #9
+            cmp     w5, #9
             beq     G_M63854_IG19
-            cmp     w6, #61
+            cmp     w11, #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 -[x4]
+            ; byrRegs -[x20]
             str     w1, [x2]
-            mov     w2, w5
+            mov     w2, w4
             ; byrRegs -[x2]
             mov     w1, w3
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -176,10 +179,11 @@ G_M63854_IG21:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2},
             ldr     x3, [x11]
                        ;; size=24 bbWeight=0.50 PerfScore 3.00
 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]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -190,18 +194,18 @@ G_M63854_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             brk_unix #0
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 372, prolog size 8, PerfScore 207.00, instruction count 93, allocated bytes for code 372 (MethodHash=532b0691) for method System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
...
  
  
libraries.pmi.linux.arm64.checked.mch
-4 (-3.57%) : 36938.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%) : 40954.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%) : 28745.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]
...
  
+4 (+9.09%) : 207499.dasm - Microsoft.Build.Shared.FrameworkLocationHelper:GeneratePathToBuildToolsForToolsVersion(System.String,int):System.String (FullOpts)
@@ -28,7 +28,8 @@ G_M25420_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
 G_M25420_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
-                      ;; size=4 bbWeight=0.25 PerfScore 0.75
+            cmp     w0, #7
+                       ;; size=8 bbWeight=0.25 PerfScore 0.88
 G_M25420_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, w1
             movz    x1, #0xD1FFAB1E      // code for Microsoft.Build.Shared.FrameworkLocationHelper:GetPathToBuildToolsFromEnvironment(int):System.String
@@ -42,7 +43,7 @@ G_M25420_IG05:        ; bbWeight=1, epilog, nogc, extend
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 44, prolog size 8, PerfScore 10.25, instruction count 11, allocated bytes for code 44 (MethodHash=a7919cb3) for method Microsoft.Build.Shared.FrameworkLocationHelper:GeneratePathToBuildToolsForToolsVersion(System.String,int):System.String (FullOpts)
+; Total bytes of code 48, prolog size 8, PerfScore 10.38, instruction count 12, allocated bytes for code 48 (MethodHash=a7919cb3) for method Microsoft.Build.Shared.FrameworkLocationHelper:GeneratePathToBuildToolsForToolsVersion(System.String,int):System.String (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -53,7 +54,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 11 (0x0000b) Actual length = 44 (0x00002c)
+  Function Length   : 12 (0x0000c) Actual length = 48 (0x000030)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+20 (+10.20%) : 259011.dasm - System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
@@ -12,7 +12,7 @@
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V02 tmp1         [V02,T09] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V03 tmp2         [V03,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V04 tmp3         [V04,T00] (  7, 20   )     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Type>
+;  V04 tmp3         [V04,T00] (  8, 22   )     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Type>
 ;* V05 tmp4         [V05,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V06 tmp5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Reflection.Emit.TypeBuilderImpl>
 ;* V07 tmp6         [V07,T08] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.Emit.TypeBuilderImpl>
@@ -52,7 +52,12 @@ G_M32453_IG04:        ; bbWeight=2, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=000
             ; gcrRegs +[x0 x20]
             cmp     x0, x20
             beq     G_M32453_IG07
-                        ;; size=8 bbWeight=2 PerfScore 3.00
+            ldr     x1, [x0]
+            movz    x2, #0xD1FFAB1E
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            cmp     x1, x2
+                       ;; size=28 bbWeight=2 PerfScore 13.00
 G_M32453_IG05:        ; bbWeight=4, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x1, [x0]
             ldr     x1, [x1, #0xA0]
@@ -116,7 +121,7 @@ G_M32453_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             brk_unix #0
                        ;; size=80 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 196, prolog size 12, PerfScore 62.75, instruction count 49, allocated bytes for code 196 (MethodHash=b7cb813a) for method System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
+; Total bytes of code 216, prolog size 12, PerfScore 72.75, instruction count 54, allocated bytes for code 216 (MethodHash=b7cb813a) for method System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -127,7 +132,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 49 (0x00031) Actual length = 196 (0x0000c4)
+  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)
  
+28 (+35.00%) : 210258.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:IsDynamicallyTypedRuntimeProxy(System.Dynamic.DynamicMetaObject,Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo):ubyte (FullOpts)
@@ -15,38 +15,51 @@
 ;* V04 tmp1         [V04    ] (  0,  0   )     int  ->  zero-ref   
 ;* V05 tmp2         [V05,T03] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Object>
 ;* V06 tmp3         [V06    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;* V07 rat0         [V07,T02] (  0,  0   )     ref  ->  zero-ref    "Spilling to split statement for tree"
+;  V07 rat0         [V07,T02] (  2,  2   )     ref  ->  x19         "Spilling to split statement for tree"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M52904_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_M52904_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0-x1]
-            cbz     x1, G_M52904_IG04
+            cbz     x1, G_M52904_IG05
                        ;; size=4 bbWeight=1 PerfScore 1.00
 G_M52904_IG03:        ; bbWeight=0.50, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
             ldr     w1, [x1, #0x10]
             ; gcrRegs -[x1]
-            tbnz    w1, #0, G_M52904_IG04
-            ldr     xzr, [x0, #0x08]
+            tbnz    w1, #0, G_M52904_IG05
+            ldr     x19, [x0, #0x08]
+            ; gcrRegs +[x19]
             movz    x0, #0xD1FFAB1E
             ; gcrRegs -[x0]
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     w0, [x0]
-            tbz     w0, #0, G_M52904_IG06
+            tbz     w0, #0, G_M52904_IG07
                      ;; size=32 bbWeight=0.50 PerfScore 6.25
-G_M52904_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52904_IG04:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+            movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            ldr     x0, [x0]
+            ; gcrRegs +[x0]
+            cmp     x19, x0
+                       ;; size=20 bbWeight=0.50 PerfScore 2.50
+G_M52904_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0 x19]
             mov     w0, wzr
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M52904_IG05:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M52904_IG06:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x19, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M52904_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                      ;; size=12 bbWeight=1 PerfScore 4.00
+G_M52904_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs +[x19]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -55,18 +68,18 @@ G_M52904_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             b       G_M52904_IG04
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 80, prolog size 8, PerfScore 11.25, instruction count 20, allocated bytes for code 80 (MethodHash=c74e3157) for method Microsoft.CSharp.RuntimeBinder.BinderHelper:IsDynamicallyTypedRuntimeProxy(System.Dynamic.DynamicMetaObject,Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo):ubyte (FullOpts)
+; Total bytes of code 108, prolog size 12, PerfScore 16.75, instruction count 27, allocated bytes for code 108 (MethodHash=c74e3157) for method Microsoft.CSharp.RuntimeBinder.BinderHelper:IsDynamicallyTypedRuntimeProxy(System.Dynamic.DynamicMetaObject,Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo):ubyte (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   : 20 (0x00014) Actual length = 80 (0x000050)
+  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)
@@ -74,7 +87,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
 
  
  
libraries_tests.run.linux.arm64.Release.mch
-36 (-8.49%) : 260148.dasm - System.Data.Common.Int32Storage:Aggregate(int[],int):System.Object:this (Tier1-OSR)
@@ -11,13 +11,13 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T13] (  4,  4.80)     ref  ->   x0         this class-hnd single-def <System.Data.Common.Int32Storage>
-;  V01 arg1         [V01,T53] (  5,  5.67)     ref  ->   x1         class-hnd single-def <int[]>
+;  V01 arg1         [V01,T52] (  5,  5.67)     ref  ->   x1         class-hnd single-def <int[]>
 ;* V02 arg2         [V02    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V03 loc0         [V03,T14] (  0,  0   )   ubyte  ->  zero-ref   
 ;* V04 loc1         [V04,T33] (  0,  0   )    long  ->  zero-ref   
 ;* V05 loc2         [V05,T34] (  0,  0   )    long  ->  zero-ref   
 ;* V06 loc3         [V06,T35] (  0,  0   )     int  ->  zero-ref   
-;  V07 loc4         [V07,T41] (  5,199.17)     int  ->  [fp+0x148]  tier0-frame
+;  V07 loc4         [V07,T41] (  5,198.57)     int  ->  [fp+0x108]  tier0-frame
 ;* V08 loc5         [V08    ] (  0,  0   )  double  ->  zero-ref   
 ;* V09 loc6         [V09    ] (  0,  0   )  double  ->  zero-ref   
 ;* V10 loc7         [V10,T58] (  0,  0   )  double  ->  zero-ref   
@@ -27,7 +27,7 @@
 ;* V14 loc11        [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <int[]>
 ;* V15 loc12        [V15,T17] (  0,  0   )     int  ->  zero-ref   
 ;* V16 loc13        [V16,T01] (  0,  0   )     int  ->  zero-ref   
-;  V17 loc14        [V17,T52] (  2, 10.21)     ref  ->   x0         class-hnd <System.Object>
+;  V17 loc14        [V17,T51] (  2,  9.61)     ref  ->   x0         class-hnd <System.Object>
 ;* V18 loc15        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <int[]>
 ;* V19 loc16        [V19,T18] (  0,  0   )     int  ->  zero-ref   
 ;* V20 loc17        [V20,T02] (  0,  0   )     int  ->  zero-ref   
@@ -39,7 +39,7 @@
 ;* V26 loc23        [V26,T03] (  0,  0   )     int  ->  zero-ref   
 ;* V27 loc24        [V27,T20] (  0,  0   )     int  ->  zero-ref   
 ;* V28 loc25        [V28,T04] (  0,  0   )     int  ->  zero-ref   
-;  V29 loc26        [V29,T39] ( 11,399.75)     int  ->  [fp+0xCC]  tier0-frame
+;  V29 loc26        [V29,T39] ( 11,399.75)     int  ->  [fp+0x8C]  tier0-frame
 ;# V30 OutArgs      [V30    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V31 tmp1         [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
 ;* V32 tmp2         [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
@@ -49,11 +49,11 @@
 ;* V36 tmp6         [V36    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
 ;* V37 tmp7         [V37    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
 ;* V38 tmp8         [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
-;  V39 tmp9         [V39,T49] (  3, 10.88)     ref  ->   x0         class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
+;  V39 tmp9         [V39,T53] (  3,  7.28)     ref  ->   x0         class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
 ;* V40 tmp10        [V40,T56] (  0,  0   )     int  ->  zero-ref    "OSR entry state var"
 ;* V41 tmp11        [V41,T22] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.BitArray>
 ;* V42 tmp12        [V42,T24] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.BitArray>
-;* V43 tmp13        [V43,T50] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.BitArray>
+;* V43 tmp13        [V43,T49] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.BitArray>
 ;* V44 tmp14        [V44,T26] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.BitArray>
 ;* V45 tmp15        [V45,T31] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V46 tmp16        [V46,T05] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
@@ -61,12 +61,12 @@
 ;* V48 tmp18        [V48,T32] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V49 tmp19        [V49,T00] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V50 tmp20        [V50,T36] (  9,790.22)     int  ->  registers   "Inlining Arg"
-;  V51 tmp21        [V51,T37] (  6,592.66)     ref  ->   x3         class-hnd exact "Inlining Arg" <System.Collections.BitArray>
-;* V52 tmp22        [V52,T51] (  0,  0   )     ref  ->  zero-ref    "arr expr"
+;  V51 tmp21        [V51,T37] (  6,592.66)     ref  ->   x6         class-hnd exact "Inlining Arg" <System.Collections.BitArray>
+;* V52 tmp22        [V52,T50] (  0,  0   )     ref  ->  zero-ref    "arr expr"
 ;* V53 tmp23        [V53,T45] (  0,  0   )     ref  ->  zero-ref    "arr expr"
 ;* V54 tmp24        [V54,T46] (  0,  0   )     ref  ->  zero-ref    "arr expr"
 ;* V55 tmp25        [V55,T47] (  0,  0   )     ref  ->  zero-ref    "arr expr"
-;  V56 tmp26        [V56,T38] (  6,592.66)     ref  ->  x23         "arr expr"
+;  V56 tmp26        [V56,T38] (  6,592.66)     ref  ->   x8         "arr expr"
 ;* V57 tmp27        [V57    ] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
 ;* V58 tmp28        [V58    ] (  0,  0   )     int  ->  zero-ref    "index expr"
 ;* V59 tmp29        [V59,T30] (  0,  0   )     ref  ->  zero-ref    "arr expr"
@@ -78,142 +78,138 @@
 ;* V65 tmp35        [V65,T23] (  0,  0   )     ref  ->  zero-ref    "arr expr"
 ;* V66 tmp36        [V66,T15] (  0,  0   )     ref  ->  zero-ref    "arr expr"
 ;* V67 tmp37        [V67    ] (  0,  0   )     int  ->  zero-ref    "fgMakeTemp is creating a new local variable"
-;  V68 PSPSym       [V68,T57] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
-;  V69 cse0         [V69,T09] (  4,101.58)     ref  ->  x21         hoist multi-def "CSE - moderate"
-;  V70 cse1         [V70,T06] (  4,197.55)     int  ->  x22         multi-def "CSE - moderate"
-;  V71 cse2         [V71,T07] (  4,197.55)     ref  ->  x23         multi-def "CSE - moderate"
-;  V72 cse3         [V72,T43] (  5,103.44)     int  ->  x19         "CSE - moderate"
-;  V73 cse4         [V73,T10] (  4,100.61)   byref  ->  x20         hoist multi-def "CSE - moderate"
-;  V74 cse5         [V74,T42] (  4,197.55)     int  ->  x24         multi-def "CSE - moderate"
-;  V75 cse6         [V75,T08] (  4,197.55)   byref  ->  x25         multi-def "CSE - moderate"
+;  V68 PSPSym       [V68,T57] (  1,  1   )    long  ->  [fp+0x10]  do-not-enreg[V] "PSPSym"
+;  V69 cse0         [V69,T09] (  4,101.58)     ref  ->  registers   hoist multi-def "CSE - moderate"
+;  V70 cse1         [V70,T06] (  4,197.55)     int  ->   x7         multi-def "CSE - moderate"
+;  V71 cse2         [V71,T07] (  4,197.55)     ref  ->   x8         multi-def "CSE - moderate"
+;  V72 cse3         [V72,T43] (  5,103.44)     int  ->   x2         "CSE - moderate"
+;  V73 cse4         [V73,T10] (  4,100.61)   byref  ->   x4         hoist multi-def "CSE - moderate"
+;  V74 cse5         [V74,T42] (  4,197.55)     int  ->   x9         multi-def "CSE - moderate"
+;  V75 cse6         [V75,T08] (  4,197.55)   byref  ->  x10         multi-def "CSE - moderate"
 ;  V76 cse7         [V76,T40] (  3,293.37)     int  ->   x1         "CSE - moderate"
-;  V77 cse8         [V77,T54] (  2,  3.63)    long  ->   x0         "CSE - moderate"
-;  V78 cse9         [V78,T55] (  3,  2.96)     int  ->   x3         "CSE - moderate"
+;  V77 cse8         [V77,T55] (  2,  2.43)    long  ->   x0         "CSE - moderate"
+;  V78 cse9         [V78,T54] (  3,  2.96)     int  ->   x1         "CSE - moderate"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 8
 
 G_M911_IG01:        ; bbWeight=8.40, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
-            stp     x23, x24, [sp, #0x40]
-            stp     x25, x26, [sp, #0x50]
+            stp     fp, lr, [sp, #-0x20]!
+            str     x19, [sp, #0x18]
             mov     fp, sp
             add     xip1, sp, #0xD1FFAB1E
-            str     xip1, [fp, #0x18]   // [V68 PSPSym]
+            str     xip1, [fp, #0x10]  // [V68 PSPSym]
             ldp     x1, x0, [fp, #0xD1FFAB1E]
             ; gcrRegs +[x0-x1]
-                       ;; size=36 bbWeight=8.40 PerfScore 84.05
+                      ;; size=24 bbWeight=8.40 PerfScore 58.83
 G_M911_IG02:        ; bbWeight=8.40, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
-            ldr     w19, [x1, #0x08]
-            ldr     w2, [fp, #0xCC]    // [V29 loc26]
-            cmp     w19, w2
+            ldr     w2, [x1, #0x08]
+            ldr     w3, [fp, #0x8C]    // [V29 loc26]
+            cmp     w2, w3
             ble     G_M911_IG07
                        ;; size=16 bbWeight=8.40 PerfScore 54.63
 G_M911_IG03:        ; bbWeight=1.81, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
-            tbnz    w2, #31, G_M911_IG08
-            add     x20, x1, #16
-            ; byrRegs +[x20]
-            ldr     x21, [x0, #0x20]
-            ; gcrRegs +[x21]
+            tbnz    w3, #31, G_M911_IG08
+            add     x4, x1, #16
+            ; byrRegs +[x4]
+            ldr     x5, [x0, #0x20]
+            ; gcrRegs +[x5]
                         ;; size=12 bbWeight=1.81 PerfScore 8.16
-G_M911_IG04:        ; bbWeight=97.79, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref, isz
+G_M911_IG04:        ; bbWeight=97.79, gcrefRegs=0020 {x5}, byrefRegs=0010 {x4}, byref, isz
             ; gcrRegs -[x0-x1]
-            ldr     w0, [x20, w2, UXTW #2]
-            mov     x3, x21
-            ; gcrRegs +[x3]
-            ldr     w22, [x3, #0x10]
-            cmp     w0, w22
+            ldr     w0, [x4, w3, UXTW #2]
+            mov     x6, x5
+            ; gcrRegs +[x6]
+            ldr     w7, [x6, #0x10]
+            cmp     w0, w7
             bhs     G_M911_IG14
-            ldr     x23, [x3, #0x08]
-            ; gcrRegs +[x23]
+            ldr     x8, [x6, #0x08]
+            ; gcrRegs +[x8]
             asr     w1, w0, #5
-            ldr     w24, [x23, #0x08]
-            cmp     w1, w24
+            ldr     w9, [x8, #0x08]
+            cmp     w1, w9
             bhs     G_M911_IG13
-            add     x25, x23, #16
-            ; byrRegs +[x25]
-            ldr     w1, [x25, w1, UXTW #2]
-            mov     w3, #1
-            ; gcrRegs -[x3]
-            lsl     w0, w3, w0
-            tst     w1, w0
+            add     x10, x8, #16
+            ; byrRegs +[x10]
+            ldr     w6, [x10, w1, UXTW #2]
+            ; gcrRegs -[x6]
+            mov     w7, #1
+            lsl     w0, w7, w0
+            tst     w6, w0
             bne     G_M911_IG06
                        ;; size=64 bbWeight=97.79 PerfScore 2200.27
-G_M911_IG05:        ; bbWeight=97.69, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs -[x23]
-            ; byrRegs -[x25]
-            ldr     w26, [fp, #0xD1FFAB1E] // [V07 loc4]
-            add     w26, w26, #1
-            str     w26, [fp, #0xD1FFAB1E] // [V07 loc4]
+G_M911_IG05:        ; bbWeight=97.69, gcrefRegs=0020 {x5}, byrefRegs=0010 {x4}, byref
+            ; gcrRegs -[x8]
+            ; byrRegs -[x10]
+            ldr     w19, [fp, #0xD1FFAB1E] // [V07 loc4]
+            add     w19, w19, #1
+            str     w19, [fp, #0xD1FFAB1E] // [V07 loc4]
                        ;; size=12 bbWeight=97.69 PerfScore 341.92
-G_M911_IG06:        ; bbWeight=97.79, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref, isz
-            add     w2, w2, #1
-            cmp     w19, w2
+G_M911_IG06:        ; bbWeight=97.79, gcrefRegs=0020 {x5}, byrefRegs=0010 {x4}, byref, isz
+            add     w3, w3, #1
+            cmp     w2, w3
             bgt     G_M911_IG04
                        ;; size=12 bbWeight=97.79 PerfScore 195.58
-G_M911_IG07:        ; bbWeight=1.81, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x21]
-            ; byrRegs -[x20]
+G_M911_IG07:        ; bbWeight=1.21, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x5]
+            ; byrRegs -[x4]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            ldr     w26, [fp, #0xD1FFAB1E]    // [V07 loc4]
-            str     w26, [x0, #0x08]
+            ldr     w19, [fp, #0xD1FFAB1E]   // [V07 loc4]
+            str     w19, [x0, #0x08]
             b       G_M911_IG15
-                      ;; size=28 bbWeight=1.81 PerfScore 11.79
+                      ;; size=28 bbWeight=1.21 PerfScore 7.88
 G_M911_IG08:        ; bbWeight=0.02, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x1]
-            add     x20, x1, #16
-            ; byrRegs +[x20]
+            add     x4, x1, #16
+            ; byrRegs +[x4]
                         ;; size=4 bbWeight=0.02 PerfScore 0.01
-G_M911_IG09:        ; bbWeight=0.99, gcrefRegs=0001 {x0}, byrefRegs=100000 {x20}, byref, isz
+G_M911_IG09:        ; bbWeight=0.99, gcrefRegs=0001 {x0}, byrefRegs=0010 {x4}, byref, isz
             ; gcrRegs -[x1]
-            cmp     w2, w19
+            cmp     w3, w2
             bhs     G_M911_IG13
-            ldr     w1, [x20, w2, UXTW #2]
-            ldr     x21, [x0, #0x20]
-            ; gcrRegs +[x21]
-            mov     x3, x21
-            ; gcrRegs +[x3]
-            ldr     w22, [x3, #0x10]
-            cmp     w1, w22
+            ldr     w5, [x4, w3, UXTW #2]
+            ldr     x8, [x0, #0x20]
+            ; gcrRegs +[x8]
+            mov     x6, x8
+            ; gcrRegs +[x6]
+            ldr     w7, [x6, #0x10]
+            cmp     w5, w7
             bhs     G_M911_IG12
-            ldr     x23, [x3, #0x08]
-            ; gcrRegs +[x23]
-            asr     w3, w1, #5
-            ; gcrRegs -[x3]
-            ldr     w24, [x23, #0x08]
-            cmp     w3, w24
+            ldr     x8, [x6, #0x08]
+            asr     w1, w5, #5
+            ldr     w9, [x8, #0x08]
+            cmp     w1, w9
             bhs     G_M911_IG13
-            add     x25, x23, #16
...
  
-24 (-7.69%) : 313892.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.69)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T00] (  8,  6.18)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
 ;  V02 loc0         [V02,T07] (  3,  2.09)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V03 loc1         [V03,T10] (  4,  0.53)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V04 loc2         [V04,T09] (  5,  0.85)     int  ->  x22        
-;  V05 loc3         [V05,T04] (  6,  3.74)     ref  ->  x23         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T03] (  9,  4.78)     int  ->  x24        
-;  V07 loc5         [V07,T02] (  5,  5.14)     ref  ->   x0         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T04] (  6,  4.23)     ref  ->  x23         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T02] (  6,  5.26)     int  ->  x24        
+;  V07 loc5         [V07,T03] (  5,  5.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,T08] (  2,  2.09)     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.91, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
@@ -60,39 +60,28 @@ G_M50755_IG04:        ; bbWeight=0.91, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0.91 PerfScore 4.55
-G_M50755_IG05:        ; bbWeight=0.97, 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.97 PerfScore 7.28
-G_M50755_IG06:        ; bbWeight=7.76, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
-            b       G_M50755_IG15
-                       ;; size=4 bbWeight=7.76 PerfScore 7.76
-G_M50755_IG07:        ; bbWeight=0.09, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x23]
+G_M50755_IG05:        ; bbWeight=0.09, 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.09 PerfScore 0.45
-G_M50755_IG08:        ; bbWeight=0.14, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG06:        ; bbWeight=0.14, 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.14 PerfScore 0.62
-G_M50755_IG09:        ; bbWeight=0.12, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG07:        ; bbWeight=0.12, 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.12 PerfScore 0.59
-G_M50755_IG10:        ; bbWeight=1.04, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG08:        ; bbWeight=1.04, 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=1.04, 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=1.04 PerfScore 9.91
-G_M50755_IG11:        ; bbWeight=0.97, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG09:        ; bbWeight=0.97, 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.97 PerfScore 4.85
-G_M50755_IG12:        ; bbWeight=0.24, 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.24 PerfScore 0.24
-G_M50755_IG13:        ; bbWeight=1.04, 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.97 PerfScore 13.10
+G_M50755_IG10:        ; bbWeight=1.04, 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=1.04, 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=1.04 PerfScore 12.00
-G_M50755_IG14:        ; bbWeight=1.04, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG11:        ; bbWeight=1.04, 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=1.04 PerfScore 6.26
-G_M50755_IG15:        ; bbWeight=0.49, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bgt     G_M50755_IG08
+                       ;; size=16 bbWeight=1.04 PerfScore 5.22
+G_M50755_IG12:        ; bbWeight=0.21, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x23]
+            b       G_M50755_IG14
+                       ;; size=4 bbWeight=0.21 PerfScore 0.21
+G_M50755_IG13:        ; bbWeight=0.97, 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.49, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2 x23]
             ; gcr arg pop 0
-                      ;; size=16 bbWeight=0.49 PerfScore 1.21
-G_M50755_IG16:        ; bbWeight=0.21, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+                     ;; size=16 bbWeight=0.97 PerfScore 2.43
+G_M50755_IG14:        ; bbWeight=0.21, 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.21 PerfScore 1.04
-G_M50755_IG17:        ; bbWeight=0.09, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M50755_IG15:        ; bbWeight=0.09, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             add     x14, x20, #8
             ; byrRegs +[x14]
@@ -162,23 +157,15 @@ G_M50755_IG17:        ; bbWeight=0.09, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ; gcrRegs -[x15 x19-x20]
             ; byrRegs -[x14]
                        ;; size=12 bbWeight=0.09 PerfScore 0.18
-G_M50755_IG18:        ; bbWeight=0.09, epilog, nogc, extend
+G_M50755_IG16:        ; bbWeight=0.09, 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.09 PerfScore 0.45
-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 68.71, 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 62.05, 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%) : 493989.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalListInOrder(System.Canon[]):this (Tier1)
@@ -10,13 +10,13 @@
 ; 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.34)     ref  ->  x20         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T01] (  8,  3.39)     ref  ->  x20         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.11)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V04 loc2         [V04,T08] (  5,  0.13)     int  ->  x22        
-;  V05 loc3         [V05,T05] (  6,  0.41)     ref  ->  x23         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T04] (  9,  0.62)     int  ->  x24        
-;  V07 loc5         [V07,T03] (  5,  0.64)     ref  ->   x0         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T05] (  6,  0.46)     ref  ->  x23         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T03] (  6,  0.66)     int  ->  x24        
+;  V07 loc5         [V07,T04] (  5,  0.64)     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,  0.27)     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, [x19, #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.85
-G_M50755_IG05:        ; bbWeight=0.09, 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.09 PerfScore 0.67
-G_M50755_IG06:        ; bbWeight=0.71, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
-            b       G_M50755_IG14
-                       ;; size=4 bbWeight=0.71 PerfScore 0.71
-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.15
-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, [x20, #0x08]
             ; byrRegs -[x0]
             cmp     w0, #0
-            ble     G_M50755_IG15
+            ble     G_M50755_IG13
                        ;; size=28 bbWeight=0.03 PerfScore 0.24
-G_M50755_IG09:        ; bbWeight=0.14, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG07:        ; bbWeight=0.14, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     x0, x20, #16
             ; byrRegs +[x0]
             ldr     x0, [x0, w24, UXTW #3]
@@ -100,9 +89,9 @@ G_M50755_IG09:        ; bbWeight=0.14, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x1, x2
-            bne     G_M50755_IG12
+            bne     G_M50755_IG09
                        ;; size=32 bbWeight=0.14 PerfScore 1.30
-G_M50755_IG10:        ; bbWeight=0.09, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG08:        ; bbWeight=0.09, 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.09, 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=0.09 PerfScore 0.58
-G_M50755_IG11:        ; bbWeight=0.02, 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.02 PerfScore 0.02
-G_M50755_IG12:        ; bbWeight=0.14, 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.09 PerfScore 1.34
+G_M50755_IG09:        ; bbWeight=0.14, 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.14, 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.14 PerfScore 1.58
-G_M50755_IG13:        ; bbWeight=0.14, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG10:        ; bbWeight=0.14, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
             ldr     w1, [x20, #0x08]
             cmp     w1, w24
-            ble     G_M50755_IG15
-            b       G_M50755_IG09
-                       ;; size=20 bbWeight=0.14 PerfScore 0.82
-G_M50755_IG14:        ; bbWeight=0.04, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bgt     G_M50755_IG07
+                       ;; size=16 bbWeight=0.14 PerfScore 0.69
+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.09, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x23]
             sxtw    x1, w24
             mov     x0, x20
             ; gcrRegs +[x0]
@@ -145,14 +140,14 @@ G_M50755_IG14:        ; bbWeight=0.04, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2 x23]
             ; gcr arg pop 0
-                      ;; size=16 bbWeight=0.04 PerfScore 0.11
-G_M50755_IG15:        ; bbWeight=0.03, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+                     ;; size=16 bbWeight=0.09 PerfScore 0.22
+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.13
-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, x19, #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.15
-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, [x20, #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 22.82, 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 22.17, 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)
  
+36 (+112.50%) : 551945.dasm - System.Security.Cryptography.IncrementalHash:CheckSha3Support(System.String) (Tier1)
@@ -9,20 +9,20 @@
 ; 0 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  4,  3.50)     ref  ->   x0         class-hnd single-def <System.String>
+;  V00 arg0         [V00,T00] (  5,  4.50)     ref  ->   x0         class-hnd single-def <System.String>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.String>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V04 tmp2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V05 tmp3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
-;* V07 tmp5         [V07,T01] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
+;  V07 tmp5         [V07,T01] (  2,  4   )     int  ->   x0         "spilling unroll qmark"
 ;* V08 tmp6         [V08    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;* V09 tmp7         [V09,T02] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V10 tmp8         [V10    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;* V11 tmp9         [V11    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
-;  V12 cse0         [V12,T03] (  2,  1   )     int  ->   x0         "CSE - moderate"
-;* V13 rat0         [V13,T04] (  0,  0   )  simd16  ->  zero-ref    "ReplaceWithLclVar is creating a new local variable"
+;  V12 cse0         [V12,T03] (  3,  2.00)     int  ->   x1         "CSE - moderate"
+;  V13 rat0         [V13,T04] (  3,  6   )  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
 ;* V14 rat1         [V14,T05] (  0,  0   )  simd16  ->  zero-ref    "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 0
@@ -33,20 +33,35 @@ G_M17450_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M17450_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
-            cbz     x0, G_M17450_IG04
+            cbz     x0, G_M17450_IG06
                       ;; size=4 bbWeight=1 PerfScore 1.00
 G_M17450_IG03:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ldr     w0, [x0, #0x08]
-            ; gcrRegs -[x0]
-            cmp     w0, #8
-            bne     G_M17450_IG04
+            ldr     w1, [x0, #0x08]
+            cmp     w1, #8
+            bne     G_M17450_IG05
                       ;; size=12 bbWeight=0.50 PerfScore 2.25
-G_M17450_IG04:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M17450_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     q16, [x0, #0x0C]
+            ldr     q17, [@RWD00]
+            eor     v16.2d, v16.2d, v17.2d
+            umaxp   v16.4s, v16.4s, v16.4s
+            umov    x0, v16.d[0]
+            ; gcrRegs -[x0]
+            cmp     x0, #0
+            cset    x0, eq
+            cbnz    w0, G_M17450_IG06
+                       ;; size=32 bbWeight=1 PerfScore 9.50
+G_M17450_IG05:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            cmp     w1, #8
+                       ;; size=4 bbWeight=1.00 PerfScore 0.50
+G_M17450_IG06:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1.00 PerfScore 1.99
+RWD00   dq  0033004100480053h, 003600350032002Dh
 
-; Total bytes of code 32, prolog size 8, PerfScore 6.74, instruction count 8, allocated bytes for code 32 (MethodHash=2101bbd5) for method System.Security.Cryptography.IncrementalHash:CheckSha3Support(System.String) (Tier1)
+
+; Total bytes of code 68, prolog size 8, PerfScore 16.74, instruction count 17, allocated bytes for code 68 (MethodHash=2101bbd5) for method System.Security.Cryptography.IncrementalHash:CheckSha3Support(System.String) (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -57,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 8 (0x00008) Actual length = 32 (0x000020)
+  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+36 (+112.50%) : 557946.dasm - System.Security.Cryptography.IncrementalHash:CheckSha3Support(System.String) (Tier1)
@@ -9,20 +9,20 @@
 ; 0 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  4,  3.50)     ref  ->   x0         class-hnd single-def <System.String>
+;  V00 arg0         [V00,T00] (  5,  4.50)     ref  ->   x0         class-hnd single-def <System.String>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.String>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V04 tmp2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V05 tmp3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
-;* V07 tmp5         [V07,T01] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
+;  V07 tmp5         [V07,T01] (  2,  4   )     int  ->   x0         "spilling unroll qmark"
 ;* V08 tmp6         [V08    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;* V09 tmp7         [V09,T02] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V10 tmp8         [V10    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;* V11 tmp9         [V11    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
-;  V12 cse0         [V12,T03] (  2,  1   )     int  ->   x0         "CSE - moderate"
-;* V13 rat0         [V13,T04] (  0,  0   )  simd16  ->  zero-ref    "ReplaceWithLclVar is creating a new local variable"
+;  V12 cse0         [V12,T03] (  3,  2.00)     int  ->   x1         "CSE - moderate"
+;  V13 rat0         [V13,T04] (  3,  6   )  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
 ;* V14 rat1         [V14,T05] (  0,  0   )  simd16  ->  zero-ref    "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 0
@@ -33,20 +33,35 @@ G_M17450_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M17450_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
-            cbz     x0, G_M17450_IG04
+            cbz     x0, G_M17450_IG06
                       ;; size=4 bbWeight=1 PerfScore 1.00
 G_M17450_IG03:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ldr     w0, [x0, #0x08]
-            ; gcrRegs -[x0]
-            cmp     w0, #8
-            bne     G_M17450_IG04
+            ldr     w1, [x0, #0x08]
+            cmp     w1, #8
+            bne     G_M17450_IG05
                       ;; size=12 bbWeight=0.50 PerfScore 2.25
-G_M17450_IG04:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M17450_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     q16, [x0, #0x0C]
+            ldr     q17, [@RWD00]
+            eor     v16.2d, v16.2d, v17.2d
+            umaxp   v16.4s, v16.4s, v16.4s
+            umov    x0, v16.d[0]
+            ; gcrRegs -[x0]
+            cmp     x0, #0
+            cset    x0, eq
+            cbnz    w0, G_M17450_IG06
+                       ;; size=32 bbWeight=1 PerfScore 9.50
+G_M17450_IG05:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            cmp     w1, #8
+                       ;; size=4 bbWeight=1.00 PerfScore 0.50
+G_M17450_IG06:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1.00 PerfScore 1.99
+RWD00   dq  0033004100480053h, 003600350032002Dh
 
-; Total bytes of code 32, prolog size 8, PerfScore 6.74, instruction count 8, allocated bytes for code 32 (MethodHash=2101bbd5) for method System.Security.Cryptography.IncrementalHash:CheckSha3Support(System.String) (Tier1)
+
+; Total bytes of code 68, prolog size 8, PerfScore 16.74, instruction count 17, allocated bytes for code 68 (MethodHash=2101bbd5) for method System.Security.Cryptography.IncrementalHash:CheckSha3Support(System.String) (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -57,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 8 (0x00008) Actual length = 32 (0x000020)
+  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+36 (+112.50%) : 560518.dasm - System.Security.Cryptography.IncrementalHash:CheckSha3Support(System.String) (Tier1)
@@ -9,20 +9,20 @@
 ; 0 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  4,  3.50)     ref  ->   x0         class-hnd single-def <System.String>
+;  V00 arg0         [V00,T00] (  5,  4.50)     ref  ->   x0         class-hnd single-def <System.String>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.String>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V04 tmp2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V05 tmp3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
-;* V07 tmp5         [V07,T01] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
+;  V07 tmp5         [V07,T01] (  2,  4   )     int  ->   x0         "spilling unroll qmark"
 ;* V08 tmp6         [V08    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;* V09 tmp7         [V09,T02] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V10 tmp8         [V10    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;* V11 tmp9         [V11    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
-;  V12 cse0         [V12,T03] (  2,  1   )     int  ->   x0         "CSE - moderate"
-;* V13 rat0         [V13,T04] (  0,  0   )  simd16  ->  zero-ref    "ReplaceWithLclVar is creating a new local variable"
+;  V12 cse0         [V12,T03] (  3,  2.00)     int  ->   x1         "CSE - moderate"
+;  V13 rat0         [V13,T04] (  3,  6   )  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
 ;* V14 rat1         [V14,T05] (  0,  0   )  simd16  ->  zero-ref    "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 0
@@ -33,20 +33,35 @@ G_M17450_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M17450_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
-            cbz     x0, G_M17450_IG04
+            cbz     x0, G_M17450_IG06
                       ;; size=4 bbWeight=1 PerfScore 1.00
 G_M17450_IG03:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ldr     w0, [x0, #0x08]
-            ; gcrRegs -[x0]
-            cmp     w0, #8
-            bne     G_M17450_IG04
+            ldr     w1, [x0, #0x08]
+            cmp     w1, #8
+            bne     G_M17450_IG05
                       ;; size=12 bbWeight=0.50 PerfScore 2.25
-G_M17450_IG04:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M17450_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     q16, [x0, #0x0C]
+            ldr     q17, [@RWD00]
+            eor     v16.2d, v16.2d, v17.2d
+            umaxp   v16.4s, v16.4s, v16.4s
+            umov    x0, v16.d[0]
+            ; gcrRegs -[x0]
+            cmp     x0, #0
+            cset    x0, eq
+            cbnz    w0, G_M17450_IG06
+                       ;; size=32 bbWeight=1 PerfScore 9.50
+G_M17450_IG05:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            cmp     w1, #8
+                       ;; size=4 bbWeight=1.00 PerfScore 0.50
+G_M17450_IG06:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1.00 PerfScore 2.00
+RWD00   dq  0033004100480053h, 003600350032002Dh
 
-; Total bytes of code 32, prolog size 8, PerfScore 6.75, instruction count 8, allocated bytes for code 32 (MethodHash=2101bbd5) for method System.Security.Cryptography.IncrementalHash:CheckSha3Support(System.String) (Tier1)
+
+; Total bytes of code 68, prolog size 8, PerfScore 16.75, instruction count 17, allocated bytes for code 68 (MethodHash=2101bbd5) for method System.Security.Cryptography.IncrementalHash:CheckSha3Support(System.String) (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -57,7 +72,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 8 (0x00008) Actual length = 32 (0x000020)
+  Function Length   : 17 (0x00011) Actual length = 68 (0x000044)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
librariestestsnotieredcompilation.run.linux.arm64.Release.mch
-4 (-3.57%) : 14217.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%) : 50540.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%) : 15561.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]
...
  
+4 (+9.09%) : 96014.dasm - System.Data.Tests.DataTableTest2+DataRowsComparer:.ctor(System.String,System.String):this (FullOpts)
@@ -35,6 +35,7 @@ G_M15830_IG02:        ; bbWeight=1, gcrefRegs=0007 {x0 x1 x2}, byrefRegs=0000 {}
             ; gcrRegs -[x1 x15]
             ; byrRegs -[x14]
             ldr     w14, [x2, #0x08]
+            cmp     w14, #3
             add     x14, x0, #16
             ; byrRegs +[x14]
             mov     x15, x2
@@ -42,13 +43,13 @@ G_M15830_IG02:        ; bbWeight=1, gcrefRegs=0007 {x0 x1 x2}, byrefRegs=0000 {}
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x0 x2 x15]
             ; byrRegs -[x14]
-                     ;; size=28 bbWeight=1 PerfScore 7.00
+                      ;; size=32 bbWeight=1 PerfScore 7.50
 G_M15830_IG03:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 44, prolog size 8, PerfScore 10.50, instruction count 11, allocated bytes for code 44 (MethodHash=434ac229) for method System.Data.Tests.DataTableTest2+DataRowsComparer:.ctor(System.String,System.String):this (FullOpts)
+; Total bytes of code 48, prolog size 8, PerfScore 11.00, instruction count 12, allocated bytes for code 48 (MethodHash=434ac229) for method System.Data.Tests.DataTableTest2+DataRowsComparer:.ctor(System.String,System.String):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -59,7 +60,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 11 (0x0000b) Actual length = 44 (0x00002c)
+  Function Length   : 12 (0x0000c) Actual length = 48 (0x000030)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+9.76%) : 212846.dasm - System.Tests.Int128Tests_GenericMath:IsPow2Test() (FullOpts)
@@ -148,7 +148,7 @@
 ;* V137 tmp137      [V137    ] (  0,  0   )    long  ->  zero-ref    single-def "field V45._upper (fldOffset=0x8)" P-INDEP
 ;* V138 tmp138      [V138    ] (  0,  0   )    long  ->  zero-ref    single-def "field V46._lower (fldOffset=0x0)" P-INDEP
 ;* V139 tmp139      [V139    ] (  0,  0   )    long  ->  zero-ref    single-def "field V46._upper (fldOffset=0x8)" P-INDEP
-;  V140 tmp140      [V140,T11] (  2,  2   )    long  ->   x1         single-def "field V59._lower (fldOffset=0x0)" P-INDEP
+;  V140 tmp140      [V140,T11] (  2,  2   )    long  ->   x2         single-def "field V59._lower (fldOffset=0x0)" P-INDEP
 ;* V141 tmp141      [V141    ] (  0,  0   )    long  ->  zero-ref    single-def "field V59._upper (fldOffset=0x8)" P-INDEP
 ;* V142 tmp142      [V142    ] (  0,  0   )    long  ->  zero-ref    single-def "field V60._lower (fldOffset=0x0)" P-INDEP
 ;* V143 tmp143      [V143    ] (  0,  0   )    long  ->  zero-ref    single-def "field V60._upper (fldOffset=0x8)" P-INDEP
@@ -162,7 +162,7 @@
 ;* V151 tmp151      [V151    ] (  0,  0   )    long  ->  zero-ref    single-def "field V66._upper (fldOffset=0x8)" P-INDEP
 ;* V152 tmp152      [V152    ] (  0,  0   )    long  ->  zero-ref    single-def "field V67._lower (fldOffset=0x0)" P-INDEP
 ;* V153 tmp153      [V153    ] (  0,  0   )    long  ->  zero-ref    single-def "field V67._upper (fldOffset=0x8)" P-INDEP
-;* V154 tmp154      [V154,T12] (  0,  0   )    long  ->  zero-ref    single-def "field V80._lower (fldOffset=0x0)" P-INDEP
+;  V154 tmp154      [V154,T12] (  2,  2   )    long  ->   x0         single-def "field V80._lower (fldOffset=0x0)" P-INDEP
 ;* V155 tmp155      [V155    ] (  0,  0   )    long  ->  zero-ref    single-def "field V80._upper (fldOffset=0x8)" P-INDEP
 ;* V156 tmp156      [V156    ] (  0,  0   )    long  ->  zero-ref    single-def "field V81._lower (fldOffset=0x0)" P-INDEP
 ;* V157 tmp157      [V157    ] (  0,  0   )    long  ->  zero-ref    single-def "field V81._upper (fldOffset=0x8)" P-INDEP
@@ -176,7 +176,7 @@
 ;* V165 tmp165      [V165    ] (  0,  0   )    long  ->  zero-ref    single-def "field V87._upper (fldOffset=0x8)" P-INDEP
 ;* V166 tmp166      [V166    ] (  0,  0   )    long  ->  zero-ref    single-def "field V88._lower (fldOffset=0x0)" P-INDEP
 ;* V167 tmp167      [V167    ] (  0,  0   )    long  ->  zero-ref    single-def "field V88._upper (fldOffset=0x8)" P-INDEP
-;* V168 tmp168      [V168,T13] (  0,  0   )    long  ->  zero-ref    single-def "field V101._lower (fldOffset=0x0)" P-INDEP
+;  V168 tmp168      [V168,T13] (  2,  2   )    long  ->   x1         single-def "field V101._lower (fldOffset=0x0)" P-INDEP
 ;* V169 tmp169      [V169    ] (  0,  0   )    long  ->  zero-ref    single-def "field V101._upper (fldOffset=0x8)" P-INDEP
 ;* V170 tmp170      [V170    ] (  0,  0   )    long  ->  zero-ref    single-def "field V102._lower (fldOffset=0x0)" P-INDEP
 ;* V171 tmp171      [V171    ] (  0,  0   )    long  ->  zero-ref    single-def "field V102._upper (fldOffset=0x8)" P-INDEP
@@ -185,8 +185,8 @@
 ;* V174 tmp174      [V174    ] (  0,  0   )   ubyte  ->  zero-ref    single-def "field V105.hasValue (fldOffset=0x0)" P-INDEP
 ;* V175 tmp175      [V175    ] (  0,  0   )   ubyte  ->  zero-ref    single-def "field V105.value (fldOffset=0x1)" P-INDEP
 ;  V176 tmp176      [V176,T37] (  9,  0   )  struct ( 8) [fp+0x18]  do-not-enreg[SF] "by-value struct argument" <System.Nullable`1[ubyte]>
-;  V177 cse0        [V177,T00] (  2,  2   )    long  ->   x1         "CSE - aggressive"
-;  V178 cse1        [V178,T01] (  2,  2   )    long  ->   x0         "CSE - aggressive"
+;  V177 cse0        [V177,T00] (  4,  4   )    long  ->   x1         "CSE - aggressive"
+;  V178 cse1        [V178,T01] (  3,  3   )    long  ->   x0         "CSE - aggressive"
 ;  V179 cse2        [V179,T02] (  3,  3   )    long  ->   x1         "CSE - aggressive"
 ;* V180 cse3        [V180,T36] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
 ;
@@ -245,9 +245,9 @@ G_M40196_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     d16, [@RWD08]
             cnt     v16.8b, v16.8b
             addv    b16, v16.8b
-            umov    w0, v16.b[0]
-            add     x1, x1, w0, UXTW
-            cmp     x1, #1
+            umov    w2, v16.b[0]
+            add     x2, x1, w2, UXTW
+            cmp     x2, #1
             bne     G_M40196_IG10
                        ;; size=52 bbWeight=1 PerfScore 14.50
 G_M40196_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -259,7 +259,15 @@ G_M40196_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M40196_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             cbnz    w2, G_M40196_IG15
-                        ;; size=4 bbWeight=1 PerfScore 1.00
+            ldr     d16, [@RWD16]
+            cnt     v16.8b, v16.8b
+            addv    b16, v16.8b
+            umov    w2, v16.b[0]
+            add     x0, x0, w2, UXTW
+            cmp     x0, #1
+            add     x1, x1, x1
+            cmp     x1, #1
+                       ;; size=36 bbWeight=1 PerfScore 9.50
 G_M40196_IG12:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x20
             ret     lr
@@ -312,9 +320,10 @@ G_M40196_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
                        ;; size=48 bbWeight=0 PerfScore 0.00
 RWD00      dq  0000000000000001h
 RWD08      dq  7FFFFFFFFFFFFFFFh
+RWD16    dq  8000000000000000h
 
 
-; Total bytes of code 328, prolog size 8, PerfScore 43.50, instruction count 82, allocated bytes for code 328 (MethodHash=59ac62fb) for method System.Tests.Int128Tests_GenericMath:IsPow2Test() (FullOpts)
+; Total bytes of code 360, prolog size 8, PerfScore 52.00, instruction count 90, allocated bytes for code 360 (MethodHash=59ac62fb) for method System.Tests.Int128Tests_GenericMath:IsPow2Test() (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -325,7 +334,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 82 (0x00052) Actual length = 328 (0x000148)
+  Function Length   : 90 (0x0005a) Actual length = 360 (0x000168)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+20 (+10.20%) : 179430.dasm - System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
@@ -12,7 +12,7 @@
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V02 tmp1         [V02,T09] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V03 tmp2         [V03,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V04 tmp3         [V04,T00] (  7, 20   )     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Type>
+;  V04 tmp3         [V04,T00] (  8, 22   )     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Type>
 ;* V05 tmp4         [V05,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V06 tmp5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Reflection.Emit.TypeBuilderImpl>
 ;* V07 tmp6         [V07,T08] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.Emit.TypeBuilderImpl>
@@ -52,7 +52,12 @@ G_M32453_IG04:        ; bbWeight=2, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=000
             ; gcrRegs +[x0 x20]
             cmp     x0, x20
             beq     G_M32453_IG07
-                        ;; size=8 bbWeight=2 PerfScore 3.00
+            ldr     x1, [x0]
+            movz    x2, #0xD1FFAB1E
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            cmp     x1, x2
+                       ;; size=28 bbWeight=2 PerfScore 13.00
 G_M32453_IG05:        ; bbWeight=4, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x1, [x0]
             ldr     x1, [x1, #0xA0]
@@ -116,7 +121,7 @@ G_M32453_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             brk_unix #0
                        ;; size=80 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 196, prolog size 12, PerfScore 62.75, instruction count 49, allocated bytes for code 196 (MethodHash=b7cb813a) for method System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
+; Total bytes of code 216, prolog size 12, PerfScore 72.75, instruction count 54, allocated bytes for code 216 (MethodHash=b7cb813a) for method System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -127,7 +132,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 49 (0x00031) Actual length = 196 (0x0000c4)
+  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)
  
  
realworld.run.linux.arm64.checked.mch
-4 (-1.23%) : 19909.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%) : 25558.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
...
  
+16 (+2.88%) : 22262.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
@@ -19,38 +19,39 @@
 ;* 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,T06] (  4, 12.50)     int  ->   x1         "Inline stloc first use temp"
+;  V15 tmp8         [V15,T06] (  4, 12.50)     int  ->  x23         "Inline stloc first use temp"
 ;  V16 tmp9         [V16,T17] (  2,  1   )     ref  ->   x0         single-def "field V05._array (fldOffset=0x0)" P-INDEP
-;  V17 tmp10        [V17,T05] (  4, 12.50)     int  ->  x23         "field V05._index (fldOffset=0x8)" P-INDEP
+;  V17 tmp10        [V17,T05] (  4, 12.50)     int  ->  x24         "field V05._index (fldOffset=0x8)" P-INDEP
 ;  V18 tmp11        [V18,T16] (  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,T18] (  2,  1   )     ref  ->   x0         single-def "field V13._array (fldOffset=0x0)" P-INDEP
 ;* V24 tmp17        [V24,T19] (  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,T14] (  0,  0   )   byref  ->  zero-ref    "argument with side effect"
 ;* V27 tmp20        [V27,T15] (  0,  0   )   byref  ->  zero-ref    "argument with side effect"
 ;  V28 tmp21        [V28,T00] (  3, 24   )     ref  ->   x0         "argument with side effect"
 ;  V29 cse0         [V29,T12] (  3,  5   )     int  ->  x19         "CSE - aggressive"
-;  V30 cse1         [V30,T13] (  2,  4.50)   byref  ->  x24         hoist "CSE - aggressive"
+;  V30 cse1         [V30,T13] (  2,  4.50)   byref  ->  x25         hoist "CSE - aggressive"
 ;  V31 cse2         [V31,T07] (  3, 12   )    long  ->  x24         "CSE - aggressive"
 ;  V32 cse3         [V32,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]
@@ -60,7 +61,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]
@@ -101,13 +102,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]
@@ -115,15 +116,15 @@ 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
             mov     x0, x19
             ; byrRegs +[x0]
-            add     x2, fp, #16   // [V25 tmp18]
+            add     x2, fp, #24 // [V25 tmp18]
             movz    x24, #0xD1FFAB1E
             movk    x24, #0xD1FFAB1E LSL #16
             movk    x24, #0xD1FFAB1E LSL #32
@@ -136,15 +137,15 @@ 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
             mov     x0, x19
             ; byrRegs +[x0]
-            add     x2, fp, #16   // [V25 tmp18]
+            add     x2, fp, #24 // [V25 tmp18]
             mov     x1, x24
             movz    x3, #0xD1FFAB1E      // code for <unknown method>
             movk    x3, #0xD1FFAB1E LSL #16
@@ -178,16 +179,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]
@@ -195,14 +196,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]
@@ -223,45 +224,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)
@@ -275,10 +279,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
 
  
+24 (+4.84%) : 10685.dasm - FSharp.Compiler.Infos+PropInfo:get_IsNewSlot():ubyte:this (FullOpts)
@@ -8,7 +8,7 @@
 ; 0 inlinees with PGO data; 5 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 12,  7.12)     ref  ->  x19         this class-hnd single-def <FSharp.Compiler.Infos+PropInfo>
+;  V00 this         [V00,T00] ( 13,  7.62)     ref  ->  x19         this class-hnd single-def <FSharp.Compiler.Infos+PropInfo>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <FSharp.Compiler.Infos+PropInfo>
 ;* V02 loc1         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <FSharp.Compiler.Infos+ILPropInfo>
 ;* V03 loc2         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
@@ -21,8 +21,8 @@
 ;* V10 tmp1         [V10,T06] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;* V11 tmp2         [V11,T01] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <<unknown class>>
 ;  V12 tmp3         [V12,T17] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;* V13 tmp4         [V13,T07] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
-;* V14 tmp5         [V14,T02] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <<unknown class>>
+;  V13 tmp4         [V13,T07] (  2,  2   )    long  ->   x2         "fgMakeTemp is creating a new local variable"
+;  V14 tmp5         [V14,T02] (  2,  2   )     ref  ->   x1         class-hnd "spilling QMark2" <<unknown class>>
 ;  V15 tmp6         [V15,T15] (  3,  1.25)    long  ->   x1         "fgMakeTemp is creating a new local variable"
 ;  V16 tmp7         [V16,T03] (  3,  2.50)     ref  ->   x0         class-hnd "spilling QMark2" <<unknown class>>
 ;* V17 tmp8         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
@@ -159,6 +159,14 @@ G_M6027_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M6027_IG14:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0] +[x19]
+            mov     x1, x19
+            ; gcrRegs +[x1]
+            ldr     x1, [x1]
+            ; gcrRegs -[x1]
+            movz    x2, #0xD1FFAB1E
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            cmp     x1, x2
             ldp     x0, x20, [x19, #0x10]
             ; gcrRegs +[x0]
             ldr     x19, [x19, #0x20]
@@ -179,7 +187,7 @@ G_M6027_IG14:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     w0, [x0]
             tbz     w0, #0, G_M6027_IG18
-                     ;; size=60 bbWeight=0.50 PerfScore 9.75
+                       ;; size=84 bbWeight=0.50 PerfScore 12.50
 G_M6027_IG15:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             movk    x0, #0xD1FFAB1E LSL #16
@@ -252,7 +260,7 @@ G_M6027_IG18:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, by
             b       G_M6027_IG15
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 496, prolog size 20, PerfScore 64.50, instruction count 124, allocated bytes for code 496 (MethodHash=e82ee874) for method FSharp.Compiler.Infos+PropInfo:get_IsNewSlot():ubyte:this (FullOpts)
+; Total bytes of code 520, prolog size 20, PerfScore 67.25, instruction count 130, allocated bytes for code 520 (MethodHash=e82ee874) for method FSharp.Compiler.Infos+PropInfo:get_IsNewSlot():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -263,7 +271,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 124 (0x0007c) Actual length = 496 (0x0001f0)
+  Function Length   : 130 (0x00082) Actual length = 520 (0x000208)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+24 (+4.88%) : 10706.dasm - FSharp.Compiler.Infos+PropInfo:get_IsStatic():ubyte:this (FullOpts)
@@ -8,7 +8,7 @@
 ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 12,  7.12)     ref  ->  x19         this class-hnd single-def <FSharp.Compiler.Infos+PropInfo>
+;  V00 this         [V00,T00] ( 13,  7.62)     ref  ->  x19         this class-hnd single-def <FSharp.Compiler.Infos+PropInfo>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <FSharp.Compiler.Infos+PropInfo>
 ;* V02 loc1         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <FSharp.Compiler.Infos+ILPropInfo>
 ;* V03 loc2         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
@@ -20,8 +20,8 @@
 ;* V09 tmp1         [V09,T06] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;* V10 tmp2         [V10,T01] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <<unknown class>>
 ;  V11 tmp3         [V11,T15] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;* V12 tmp4         [V12,T07] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
-;* V13 tmp5         [V13,T02] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <<unknown class>>
+;  V12 tmp4         [V12,T07] (  2,  2   )    long  ->   x2         "fgMakeTemp is creating a new local variable"
+;  V13 tmp5         [V13,T02] (  2,  2   )     ref  ->   x1         class-hnd "spilling QMark2" <<unknown class>>
 ;  V14 tmp6         [V14,T13] (  3,  1.25)    long  ->   x1         "fgMakeTemp is creating a new local variable"
 ;  V15 tmp7         [V15,T03] (  3,  2.50)     ref  ->   x0         class-hnd "spilling QMark2" <<unknown class>>
 ;* V16 tmp8         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
@@ -148,6 +148,14 @@ G_M37451_IG11:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
                        ;; size=8 bbWeight=0.50 PerfScore 2.00
 G_M37451_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0] +[x19]
+            mov     x1, x19
+            ; gcrRegs +[x1]
+            ldr     x1, [x1]
+            ; gcrRegs -[x1]
+            movz    x2, #0xD1FFAB1E
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            cmp     x1, x2
             ldp     x0, x20, [x19, #0x10]
             ; gcrRegs +[x0]
             ldr     x19, [x19, #0x20]
@@ -168,7 +176,7 @@ G_M37451_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     w0, [x0]
             tbz     w0, #0, G_M37451_IG16
-                        ;; size=60 bbWeight=0.50 PerfScore 9.75
+                       ;; size=84 bbWeight=0.50 PerfScore 12.50
 G_M37451_IG13:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             movk    x0, #0xD1FFAB1E LSL #16
@@ -241,7 +249,7 @@ G_M37451_IG16:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, b
             b       G_M37451_IG13
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 492, prolog size 20, PerfScore 59.00, instruction count 123, allocated bytes for code 492 (MethodHash=380a6db4) for method FSharp.Compiler.Infos+PropInfo:get_IsStatic():ubyte:this (FullOpts)
+; Total bytes of code 516, prolog size 20, PerfScore 61.75, instruction count 129, allocated bytes for code 516 (MethodHash=380a6db4) for method FSharp.Compiler.Infos+PropInfo:get_IsStatic():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -252,7 +260,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 123 (0x0007b) Actual length = 492 (0x0001ec)
+  Function Length   : 129 (0x00081) Actual length = 516 (0x000204)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
smoke_tests.nativeaot.linux.arm64.checked.mch
-28 (-3.72%) : 5745.dasm - System.Threading.PortableThreadPool+WorkerThread:WorkerThreadStart() (FullOpts)
@@ -61,7 +61,7 @@ G_M43936_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x0, #-0x08]
-            cbnz    x0, G_M43936_IG33
+            cbnz    x0, G_M43936_IG29
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x0]
@@ -70,7 +70,7 @@ G_M43936_IG04:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x0, #-0x08]
-            cbnz    x0, G_M43936_IG34
+            cbnz    x0, G_M43936_IG30
                      ;; size=56 bbWeight=1 PerfScore 21.00
 G_M43936_IG05:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]
@@ -87,15 +87,10 @@ G_M43936_IG05:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs -[x0]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x0, #-0x08]
-            cbnz    x0, G_M43936_IG35
+            cbnz    x0, G_M43936_IG31
                      ;; size=44 bbWeight=1 PerfScore 19.00
-G_M43936_IG06:        ; bbWeight=0.50, gcVars=0000000000000100 {V01}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+G_M43936_IG06:        ; bbWeight=1, gcVars=0000000000000100 {V01}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x20]
-            ldr     x20, [fp, #0x20] // [V01 loc1]
-            ; gcrRegs +[x20]
-                       ;; size=4 bbWeight=0.50 PerfScore 1.00
-G_M43936_IG07:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; GC ptr vars -{V01}
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x0]
@@ -104,48 +99,48 @@ G_M43936_IG07:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=180000
             adrp    x22, [HIGH RELOC #0xD1FFAB1E]
             add     x22, x22, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x22, #-0x08]
-            cbnz    x0, G_M43936_IG36
+            cbnz    x0, G_M43936_IG32
                         ;; size=32 bbWeight=1 PerfScore 12.00
-G_M43936_IG08:        ; bbWeight=1, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M43936_IG07:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
             ldr     w23, [x22, #0x04]
             adrp    x24, [HIGH RELOC #0xD1FFAB1E]
             add     x24, x24, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x24, #-0x08]
-            cbnz    x0, G_M43936_IG37
+            cbnz    x0, G_M43936_IG33
                         ;; size=20 bbWeight=1 PerfScore 8.00
-G_M43936_IG09:        ; bbWeight=1, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M43936_IG08:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
             ldrsh   w0, [x24]
-            cbz     w0, G_M43936_IG14
+            cbz     w0, G_M43936_IG13
                        ;; size=8 bbWeight=1 PerfScore 4.00
-G_M43936_IG10:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=1000000 {x24}, byref, isz
+G_M43936_IG09:        ; bbWeight=0.50, gcrefRegs=280000 {x19 x21}, byrefRegs=1000000 {x24}, byref, isz
             ; byrRegs +[x24]
-            tbz     w0, #31, G_M43936_IG12
+            tbz     w0, #31, G_M43936_IG11
                      ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M43936_IG11:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+G_M43936_IG10:        ; bbWeight=0.50, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
             ; byrRegs -[x24]
             movn    w23, #0
-            b       G_M43936_IG14
+            b       G_M43936_IG13
                       ;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M43936_IG12:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=1000000 {x24}, byref, isz
+G_M43936_IG11:        ; bbWeight=0.50, gcrefRegs=280000 {x19 x21}, byrefRegs=1000000 {x24}, byref, isz
             ; byrRegs +[x24]
             ldr     w1, [x19, #0x48]
             cmp     w0, w1
-            ble     G_M43936_IG14
+            ble     G_M43936_IG13
             add     x0, x19, #72
             ; byrRegs +[x0]
                        ;; size=16 bbWeight=0.50 PerfScore 2.50
-G_M43936_IG13:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=1000001 {x0 x24}, byref, isz
+G_M43936_IG12:        ; bbWeight=4, gcrefRegs=280000 {x19 x21}, byrefRegs=1000001 {x0 x24}, byref, isz
             add     w2, w1, #1
             mov     w3, w1
             casal   w3, w2, [x0]
             cmp     w3, w1
-            beq     G_M43936_IG11
+            beq     G_M43936_IG10
             sxtw    w1, w3
             ldrsh   w2, [x24]
             cmp     w2, w1
-            bgt     G_M43936_IG13
+            bgt     G_M43936_IG12
                        ;; size=36 bbWeight=4 PerfScore 42.00
-G_M43936_IG14:        ; bbWeight=8, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M43936_IG13:        ; bbWeight=8, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0 x24]
             str     x21, [fp, #0x18]   // [V02 loc2]
             ; GC ptr vars +{V02}
@@ -157,12 +152,9 @@ G_M43936_IG14:        ; bbWeight=8, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
             bl      <unknown method>
             ; gcrRegs -[x0 x21]
             ; gcr arg pop 0
-            ldr     x21, [fp, #0x18]  // [V02 loc2]
-            ; gcrRegs +[x21]
-            cbz     w0, G_M43936_IG31
-                       ;; size=32 bbWeight=8 PerfScore 76.00
-G_M43936_IG15:        ; bbWeight=16, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; GC ptr vars -{V02}
+            cbz     w0, G_M43936_IG27
+                       ;; size=28 bbWeight=8 PerfScore 60.00
+G_M43936_IG14:        ; bbWeight=16, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             mov     w24, wzr
             str     x19, [fp, #0x28]   // [V00 loc0]
             ; GC ptr vars +{V00}
@@ -171,14 +163,9 @@ G_M43936_IG15:        ; bbWeight=16, gcVars=0000000000000000 {}, gcrefRegs=38000
             bl      System.Threading.PortableThreadPool+WorkerThread:TakeActiveRequest(System.Threading.PortableThreadPool):ubyte
             ; gcrRegs -[x0 x19]
             ; gcr arg pop 0
-            cbz     w0, G_M43936_IG26
+            cbz     w0, G_M43936_IG22
                       ;; size=20 bbWeight=16 PerfScore 64.00
-G_M43936_IG16:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
-            stp     x21, x20, [fp, #0x18]  // [V02 loc2], [V01 loc1]
-            ; GC ptr vars +{V01 V02}
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M43936_IG17:        ; bbWeight=64, gcVars=0000000000000122 {V00 V01 V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs -[x20-x21]
+G_M43936_IG15:        ; bbWeight=64, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             bl      <unknown method>
             ; gcr arg pop 0
             ldr     x19, [fp, #0x28]   // [V00 loc0]
@@ -187,13 +174,13 @@ G_M43936_IG17:        ; bbWeight=64, gcVars=0000000000000122 {V00 V01 V02}, gcre
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ldr     w0, [x0]
-            cbnz    w0, G_M43936_IG38
+            cbnz    w0, G_M43936_IG34
                      ;; size=28 bbWeight=64 PerfScore 576.00
-G_M43936_IG18:        ; bbWeight=64, gcVars=0000000000000120 {V01 V02}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M43936_IG16:        ; bbWeight=64, gcVars=0000000000000120 {V01 V02}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; GC ptr vars -{V00 V01}
             bl      <unknown method>
             ; gcr arg pop 0
-            cbz     w0, G_M43936_IG27
+            cbz     w0, G_M43936_IG23
             str     x19, [fp, #0x28]  // [V00 loc0]
             ; GC ptr vars +{V00}
             add     x0, x19, #0xD1FFAB1E
@@ -202,26 +189,26 @@ G_M43936_IG18:        ; bbWeight=64, gcVars=0000000000000120 {V01 V02}, gcrefReg
             ; byrRegs -[x0]
             cmp     w0, #0
             ldr     x19, [fp, #0x28]   // [V00 loc0]
-            ble     G_M43936_IG25
+            ble     G_M43936_IG24
             ; GC ptr vars -{V00}
             bl      <unknown method>
             ; gcr arg pop 0
             adrp    x20, [HIGH RELOC #0xD1FFAB1E]
             add     x20, x20, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x20, #-0x08]
-            cbnz    x0, G_M43936_IG39
+            cbnz    x0, G_M43936_IG35
                         ;; size=52 bbWeight=64 PerfScore 1024.00
-G_M43936_IG19:        ; bbWeight=64, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M43936_IG17:        ; bbWeight=64, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x20, #0x04]
             cmp     w0, #1
-            beq     G_M43936_IG22
+            beq     G_M43936_IG20
                        ;; size=12 bbWeight=64 PerfScore 288.00
-G_M43936_IG20:        ; bbWeight=32, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M43936_IG18:        ; bbWeight=32, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             str     x19, [fp, #0x28] // [V00 loc0]
             ; GC ptr vars +{V00}
             mov     w0, #1
                        ;; size=8 bbWeight=32 PerfScore 48.00
-G_M43936_IG21:        ; bbWeight=32, gcVars=0000000000000122 {V00 V01 V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M43936_IG19:        ; bbWeight=32, gcVars=0000000000000122 {V00 V01 V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x19]
             ; GC ptr vars +{V01}
             bl      <unknown method>
@@ -231,90 +218,80 @@ G_M43936_IG21:        ; bbWeight=32, gcVars=0000000000000122 {V00 V01 V02}, gcre
             ldr     w0, [x0]
             ldr     x19, [fp, #0x28]   // [V00 loc0]
             ; gcrRegs +[x19]
-            cbnz    w0, G_M43936_IG40
+            cbnz    w0, G_M43936_IG36
                      ;; size=24 bbWeight=32 PerfScore 256.00
-G_M43936_IG22:        ; bbWeight=64, gcVars=0000000000000120 {V01 V02}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M43936_IG20:        ; bbWeight=64, gcVars=0000000000000120 {V01 V02}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; GC ptr vars -{V00 V01}
             mov     x0, x19
             ; gcrRegs +[x0]
             bl      System.Threading.PortableThreadPool+WorkerThread:TakeActiveRequest(System.Threading.PortableThreadPool):ubyte
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            cbnz    w0, G_M43936_IG24
-                       ;; size=12 bbWeight=64 PerfScore 160.00
-G_M43936_IG23:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            ldp     x21, x20, [fp, #0x18]  // [V02 loc2], [V01 loc1]
-            ; gcrRegs +[x20-x21]
-            b       G_M43936_IG28
-                       ;; size=8 bbWeight=8 PerfScore 32.00
-G_M43936_IG24:        ; bbWeight=32, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x20-x21]
             str     x19, [fp, #0x28]   // [V00 loc0]
             ; GC ptr vars +{V00}
-            b       G_M43936_IG17
-                       ;; size=8 bbWeight=32 PerfScore 64.00
-G_M43936_IG25:        ; bbWeight=32, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            ; GC ptr vars -{V00}
-            ldp     x21, x20, [fp, #0x18]  // [V02 loc2], [V01 loc1]
-            ; gcrRegs +[x20-x21]
-            b       G_M43936_IG28
-                       ;; size=8 bbWeight=32 PerfScore 128.00
-G_M43936_IG26:        ; bbWeight=8, gcVars=0000000000000002 {V00}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
+            cbnz    w0, G_M43936_IG15
+                       ;; size=16 bbWeight=64 PerfScore 224.00
+G_M43936_IG21:        ; bbWeight=16, gcVars=0000000000000122 {V00 V01 V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x19]
-            ; GC ptr vars -{V02} +{V00 V01}
+            ; GC ptr vars +{V01}
             ldr     x19, [fp, #0x28] // [V00 loc0]
             ; gcrRegs +[x19]
-            b       G_M43936_IG28
+            b       G_M43936_IG24
+                       ;; size=8 bbWeight=16 PerfScore 48.00
+G_M43936_IG22:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x19]
+            ldr     x19, [fp, #0x28]   // [V00 loc0]
+            ; gcrRegs +[x19]
+            b       G_M43936_IG24
                       ;; size=8 bbWeight=8 PerfScore 24.00
-G_M43936_IG27:        ; bbWeight=8, gcVars=0000000000000120 {V01 V02}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x20-x21]
-            ; GC ptr vars -{V00 V01} +{V02 V05}
-            ldp     x21, x20, [fp, #0x18]  // [V02 loc2], [V01 loc1]
-            ; gcrRegs +[x20-x21]
+G_M43936_IG23:        ; bbWeight=8, gcVars=0000000000000120 {V01 V02}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+            ; GC ptr vars -{V00 V01}
             mov     w24, #1
-                      ;; size=8 bbWeight=8 PerfScore 28.00
-G_M43936_IG28:        ; bbWeight=16, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; GC ptr vars -{V02 V05}
+                     ;; size=4 bbWeight=8 PerfScore 4.00
+G_M43936_IG24:        ; bbWeight=16, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             cmp     w24, #0
             cset    x22, eq
...
  
-8 (-1.67%) : 2668.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
@@ -50,7 +50,7 @@ G_M10656_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=36 bbWeight=1 PerfScore 7.50
 G_M10656_IG02:        ; bbWeight=1, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
-            cbz     x0, G_M10656_IG22
+            cbz     x0, G_M10656_IG21
             mov     x21, xzr
             ; gcrRegs +[x21]
             cbnz    x19, G_M10656_IG04
@@ -120,11 +120,11 @@ G_M10656_IG08:        ; bbWeight=15.84, gcrefRegs=380000 {x19 x20 x21}, byrefReg
             cmp     w1, w22
             blt     G_M10656_IG08
                        ;; size=60 bbWeight=15.84 PerfScore 380.16
-G_M10656_IG09:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref
+G_M10656_IG09:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref
             ; byrRegs -[x28]
             str     w1, [fp, #0x2C]    // [V07 loc4]
             b       G_M10656_IG14
-                        ;; size=8 bbWeight=2 PerfScore 4.00
+                       ;; size=8 bbWeight=4 PerfScore 8.00
 G_M10656_IG10:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref
             str     w1, [fp, #0x2C]    // [V07 loc4]
             b       G_M10656_IG14
@@ -141,7 +141,7 @@ G_M10656_IG12:        ; bbWeight=0.16, gcrefRegs=10380000 {x19 x20 x21 x28}, byr
             ; byrRegs -[x0]
             ldr     w0, [x28, #0x08]
             cmp     w1, w0
-            bhs     G_M10656_IG21
+            bhs     G_M10656_IG20
             str     x2, [fp, #0x18]    // [V22 cse3]
             ; GC ptr vars +{V22}
             str     w1, [fp, #0x2C]    // [V07 loc4]
@@ -154,29 +154,29 @@ G_M10656_IG12:        ; bbWeight=0.16, gcrefRegs=10380000 {x19 x20 x21 x28}, byr
             ldr     w1, [x19, #0x08]
             ldr     w2, [fp, #0x2C]    // [V07 loc4]
             cmp     w2, w1
-            bhs     G_M10656_IG21
+            bhs     G_M10656_IG20
             str     w2, [fp, #0x2C]    // [V07 loc4]
             ldr     x1, [x26, w2, UXTW #3]
             ; gcrRegs +[x1]
             bl      System.Type:op_Equality(System.Type,System.Type):ubyte
             ; gcrRegs -[x0-x1]
             cbz     w0, G_M10656_IG14
-            ldr     w0, [fp, #0x2C] // [V07 loc4]
-            add     w0, w0, #1
-            cmp     w0, w22
+            ldr     w1, [fp, #0x2C]   // [V07 loc4]
+            add     w1, w1, #1
+            cmp     w1, w22
             ldr     x2, [fp, #0x18] // [V22 cse3]
             ; byrRegs +[x2]
-            blt     G_M10656_IG20
+            blt     G_M10656_IG12
                       ;; size=88 bbWeight=0.16 PerfScore 5.60
 G_M10656_IG13:        ; bbWeight=0.08, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, gcvars, byref
             ; gcrRegs -[x28]
             ; byrRegs -[x2]
             ; GC ptr vars -{V22}
-            str     w0, [fp, #0x2C]  // [V07 loc4]
+            str     w1, [fp, #0x2C]  // [V07 loc4]
                        ;; size=4 bbWeight=0.08 PerfScore 0.08
 G_M10656_IG14:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref, isz
-            ldr     w0, [fp, #0x2C]   // [V07 loc4]
-            cmp     w0, w22
+            ldr     w1, [fp, #0x2C]   // [V07 loc4]
+            cmp     w1, w22
             blt     G_M10656_IG17
                        ;; size=12 bbWeight=4 PerfScore 14.00
 G_M10656_IG15:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref, isz
@@ -194,7 +194,7 @@ G_M10656_IG15:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=60
             cbz     w0, G_M10656_IG17
                        ;; size=36 bbWeight=2 PerfScore 28.00
 G_M10656_IG16:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref, isz
-            cbnz    x21, G_M10656_IG23
+            cbnz    x21, G_M10656_IG22
             ldr     x21, [x25, x27]
                        ;; size=8 bbWeight=2 PerfScore 8.00
 G_M10656_IG17:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref, isz
@@ -217,18 +217,11 @@ G_M10656_IG19:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x80
             ret     lr
                        ;; size=28 bbWeight=1 PerfScore 7.00
-G_M10656_IG20:        ; bbWeight=0.08, gcVars=0000000000000000 {}, gcrefRegs=10380000 {x19 x20 x21 x28}, byrefRegs=6000004 {x2 x25 x26}, gcvars, byref
-            ; gcrRegs -[x0] +[x19-x20 x28]
-            ; byrRegs +[x2 x25-x26]
-            mov     w1, w0
-            b       G_M10656_IG12
-                       ;; size=8 bbWeight=0.08 PerfScore 0.12
-G_M10656_IG21:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x19-x21 x28]
-            ; byrRegs -[x2 x25-x26]
+G_M10656_IG20:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0 x21]
             bl      CORINFO_HELP_RNGCHKFAIL
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M10656_IG22:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M10656_IG21:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ; gcrRegs +[x0]
@@ -236,7 +229,7 @@ G_M10656_IG22:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             brk_unix #0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M10656_IG23:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M10656_IG22:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x21]
             mov     x0, x21
             ; gcrRegs +[x0]
@@ -247,7 +240,7 @@ G_M10656_IG23:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, b
             brk_unix #0
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 480, prolog size 28, PerfScore 554.79, instruction count 120, allocated bytes for code 480 (MethodHash=09bdd65f) for method System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
+; Total bytes of code 472, prolog size 28, PerfScore 558.67, instruction count 118, allocated bytes for code 472 (MethodHash=09bdd65f) for method System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
 ; ============================================================
 
 Cfi Info:
  
-12 (-1.55%) : 9396.dasm - System.SpanHelpers:LastIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,short,int):int (FullOpts)
@@ -7,7 +7,7 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T06] (  6, 14.50)   byref  ->  x20         single-def
+;  V00 arg0         [V00,T09] (  6, 14.50)   byref  ->  x20         single-def
 ;  V01 arg1         [V01,T21] (  5,  3.50)   short  ->  x25         single-def
 ;  V02 arg2         [V02,T11] (  5,  6.50)   short  ->  x21         single-def
 ;  V03 arg3         [V03,T12] (  5,  6.50)   short  ->  x22         single-def
@@ -16,8 +16,8 @@
 ;  V06 arg6         [V06,T01] ( 14, 30   )     int  ->  x19        
 ;* V07 loc0         [V07    ] (  0,  0   )   ubyte  ->  zero-ref   
 ;  V08 loc1         [V08,T02] ( 11, 26.50)    long  ->   x0        
-;  V09 loc2         [V09,T00] ( 30, 80   )   short  ->   x3        
-;  V10 loc3         [V10,T04] (  5, 20   )   byref  ->   x2        
+;  V09 loc2         [V09,T00] ( 30, 98   )   short  ->   x3        
+;  V10 loc3         [V10,T07] (  5, 20   )   byref  ->   x2        
 ;* V11 loc4         [V11    ] (  0,  0   )  struct (64) zero-ref    HFA(simd16)  do-not-enreg[S] <System.Runtime.Intrinsics.Vector512`1[short]>
 ;* V12 loc5         [V12    ] (  0,  0   )  struct (64) zero-ref    HFA(simd16)  do-not-enreg[S] <System.Runtime.Intrinsics.Vector512`1[short]>
 ;* V13 loc6         [V13    ] (  0,  0   )  struct (64) zero-ref    HFA(simd16)  do-not-enreg[S] <System.Runtime.Intrinsics.Vector512`1[short]>
@@ -41,7 +41,7 @@
 ;  V31 loc24        [V31,T26] (  3,  5   )  simd16  ->  d18         HFA(simd16)  <System.Runtime.Intrinsics.Vector128`1[short]>
 ;  V32 loc25        [V32,T27] (  3,  5   )  simd16  ->  d19         HFA(simd16)  <System.Runtime.Intrinsics.Vector128`1[short]>
 ;  V33 loc26        [V33,T28] (  3,  5   )  simd16  ->  d20         HFA(simd16)  <System.Runtime.Intrinsics.Vector128`1[short]>
-;  V34 loc27        [V34,T05] (  7, 17.50)    long  ->   x0        
+;  V34 loc27        [V34,T08] (  7, 17.50)    long  ->   x0        
 ;# V35 OutArgs      [V35    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V36 tmp1         [V36,T16] (  2,  4   )     int  ->   x3        
 ;  V37 tmp2         [V37,T17] (  2,  4   )     int  ->   x3        
@@ -77,9 +77,9 @@
 ;* V67 tmp32        [V67    ] (  0,  0   )  simd16  ->  zero-ref    HFA(simd16)  "field V25._lower (fldOffset=0x0)" P-INDEP
 ;* V68 tmp33        [V68    ] (  0,  0   )  simd16  ->  zero-ref    HFA(simd16)  "field V25._upper (fldOffset=0x10)" P-INDEP
 ;  V69 cse0         [V69,T03] (  9, 22   )     int  ->   x1         hoist multi-def "CSE - aggressive"
-;  V70 cse1         [V70,T07] (  9, 15   )     int  ->   x4         multi-def "CSE - aggressive"
-;  V71 cse2         [V71,T08] (  9, 15   )     int  ->   x5         multi-def "CSE - aggressive"
-;  V72 cse3         [V72,T09] (  9, 15   )     int  ->   x6         multi-def "CSE - aggressive"
+;  V70 cse1         [V70,T04] (  9, 21   )     int  ->   x4         multi-def "CSE - aggressive"
+;  V71 cse2         [V71,T05] (  9, 21   )     int  ->   x5         multi-def "CSE - aggressive"
+;  V72 cse3         [V72,T06] (  9, 21   )     int  ->   x6         multi-def "CSE - aggressive"
 ;  V73 cse4         [V73,T10] (  9, 15   )     int  ->   x7         multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 8
@@ -153,49 +153,46 @@ G_M47872_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=100004 {x2 x20}
 G_M47872_IG08:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100004 {x2 x20}, byref, isz
             ldrsh   w3, [x2, #-0x02]
             cmp     w3, w1
-            beq     G_M47872_IG21
-                       ;; size=12 bbWeight=4 PerfScore 18.00
-G_M47872_IG09:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=100004 {x2 x20}, byref, isz
-            cmp     w3, w4
+            ccmp    w3, w4, z, ne
             ccmp    w3, w5, z, ne
             ccmp    w3, w6, z, ne
             beq     G_M47872_IG21
+                        ;; size=24 bbWeight=4 PerfScore 24.00
+G_M47872_IG09:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=100004 {x2 x20}, byref, isz
             cmp     w3, w7
             cset    x3, eq
             tst     w3, #255
             bne     G_M47872_IG21
-                        ;; size=32 bbWeight=2 PerfScore 10.00
+                     ;; size=16 bbWeight=2 PerfScore 5.00
 G_M47872_IG10:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100004 {x2 x20}, byref, isz
             ldrsh   w3, [x2, #-0x04]
             cmp     w3, w1
-            beq     G_M47872_IG22
-                       ;; size=12 bbWeight=4 PerfScore 18.00
-G_M47872_IG11:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=100004 {x2 x20}, byref, isz
-            cmp     w3, w4
+            ccmp    w3, w4, z, ne
             ccmp    w3, w5, z, ne
             ccmp    w3, w6, z, ne
             beq     G_M47872_IG22
+                        ;; size=24 bbWeight=4 PerfScore 24.00
+G_M47872_IG11:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=100004 {x2 x20}, byref, isz
             cmp     w3, w7
             cset    x3, eq
             tst     w3, #255
             bne     G_M47872_IG22
-                        ;; size=32 bbWeight=2 PerfScore 10.00
+                     ;; size=16 bbWeight=2 PerfScore 5.00
 G_M47872_IG12:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100004 {x2 x20}, byref, isz
             ldrsh   w3, [x2, #-0x06]
             cmp     w3, w1
-            beq     G_M47872_IG23
-                       ;; size=12 bbWeight=4 PerfScore 18.00
-G_M47872_IG13:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
-            ; byrRegs -[x2]
-            cmp     w3, w4
+            ccmp    w3, w4, z, ne
             ccmp    w3, w5, z, ne
             ccmp    w3, w6, z, ne
             beq     G_M47872_IG23
+                        ;; size=24 bbWeight=4 PerfScore 24.00
+G_M47872_IG13:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
+            ; byrRegs -[x2]
             cmp     w3, w7
             cset    x3, eq
             tst     w3, #255
             bne     G_M47872_IG23
-                        ;; size=32 bbWeight=2 PerfScore 10.00
+                     ;; size=16 bbWeight=2 PerfScore 5.00
 G_M47872_IG14:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             sub     x0, x0, #4
             cmp     w19, #4
@@ -283,8 +280,8 @@ G_M47872_IG25:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, b
             cmeq    v21.8h, v21.8h, v20.8h
             orr     v21.8h, v22.8h, v21.8h
             umaxp   v22.4s, v21.4s, v21.4s
-            umov    x4, v22.d[0]
-            cmp     x4, #0
+            umov    x7, v22.d[0]
+            cmp     x7, #0
             bne     G_M47872_IG27
             sub     x0, x0, #8
             cmp     x0, #0
@@ -323,10 +320,10 @@ G_M47872_IG27:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ldr     q17, [@RWD16]
             ushl    v16.8h, v16.8h, v17.8h
             addv    h16, v16.8h
-            umov    w7, v16.h[0]
-            clz     w2, w7
-            neg     w1, w2
-            add     w0, w1, w0
+            umov    w4, v16.h[0]
+            clz     w5, w4
+            neg     w6, w5
+            add     w0, w6, w0
             add     w0, w0, #31
                        ;; size=40 bbWeight=0.50 PerfScore 5.25
 G_M47872_IG28:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
@@ -352,7 +349,7 @@ RWD00   dq  8000800080008000h, 8000800080008000h
 RWD16      dq  FFF4FFF3FFF2FFF1h, FFF8FFF7FFF6FFF5h
 
 
-; Total bytes of code 776, prolog size 52, PerfScore 303.00, instruction count 194, allocated bytes for code 776 (MethodHash=85eb44ff) for method System.SpanHelpers:LastIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,short,int):int (FullOpts)
+; Total bytes of code 764, prolog size 52, PerfScore 306.00, instruction count 191, allocated bytes for code 764 (MethodHash=85eb44ff) for method System.SpanHelpers:LastIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,short,int):int (FullOpts)
 ; ============================================================
 
 Cfi Info:
  
+12 (+3.06%) : 1667.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
@@ -60,7 +60,7 @@ G_M25962_IG05:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}
             bl      System.Threading.ObjectHeader:GetSyncIndex(System.Object):int
             ; gcrRegs -[x0 x20]
             ; gcr arg pop 0
-            b       G_M25962_IG25
+            b       G_M25962_IG27
                       ;; size=12 bbWeight=0.50 PerfScore 1.25
 G_M25962_IG06:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x20]
@@ -78,64 +78,78 @@ G_M25962_IG07:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M25962_IG08:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
             mov     w22, wzr
-            tbnz    w21, #31, G_M25962_IG21
+            tbnz    w21, #31, G_M25962_IG23
             ldrsb   wzr, [x20]
                        ;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M25962_IG09:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
-            str     x20, [fp, #0x18] // [V06 loc3]
+            stp     x20, x20, [fp, #0x10]    // [V00 arg0], [V06 loc3]
+            ; GC ptr vars +{V00}
             ldr     x0, [fp, #0x18]    // [V06 loc3]
             ; byrRegs +[x0]
             sub     x1, x0, #4
                        ;; size=12 bbWeight=4 PerfScore 14.00
-G_M25962_IG10:        ; bbWeight=32, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
+G_M25962_IG10:        ; bbWeight=32, gcVars=0000000000000100 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs -[x20]
             ; byrRegs -[x0]
             ldr     w0, [x1]
             and     w2, w0, #0xD1FFAB1E
             cbnz    w2, G_M25962_IG13
                        ;; size=12 bbWeight=32 PerfScore 144.00
-G_M25962_IG11:        ; bbWeight=16, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
+G_M25962_IG11:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             orr     w2, w0, w19
             mov     w3, w0
             casal   w3, w2, [x1]
             cmp     w3, w0
             bne     G_M25962_IG10
                        ;; size=20 bbWeight=16 PerfScore 88.00
-G_M25962_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x20]
-            b       G_M25962_IG26
+G_M25962_IG12:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            ; GC ptr vars -{V00}
+            b       G_M25962_IG28
                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M25962_IG13:        ; bbWeight=32, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x20]
+G_M25962_IG13:        ; bbWeight=32, gcVars=0000000000000100 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; GC ptr vars +{V00 V08}
             and     w3, w0, #0xD1FFAB1E
             mov     w4, #0xD1FFAB1E
             cmp     w3, w4
-            beq     G_M25962_IG23
-            tbnz    w0, #27, G_M25962_IG24
+            beq     G_M25962_IG25
+            tbnz    w0, #27, G_M25962_IG17
             uxth    w2, w0
             cmp     w2, w19
-            bne     G_M25962_IG16
+            bne     G_M25962_IG18
                       ;; size=32 bbWeight=32 PerfScore 176.00
-G_M25962_IG14:        ; bbWeight=16, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
+G_M25962_IG14:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             add     w2, w0, #16, LSL #12
             tst     w2, #0xD1FFAB1E
-            beq     G_M25962_IG24
+            beq     G_M25962_IG16
             mov     w3, w0
             casal   w3, w2, [x1]
             cmp     w3, w0
             bne     G_M25962_IG10
                        ;; size=28 bbWeight=16 PerfScore 112.00
-G_M25962_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x20]
-            b       G_M25962_IG26
+G_M25962_IG15:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            ; GC ptr vars -{V00 V08}
+            b       G_M25962_IG28
                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M25962_IG16:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
+G_M25962_IG16:        ; bbWeight=8, gcVars=0000000000000100 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            ; GC ptr vars +{V00 V08}
+            ldr     x20, [fp, #0x10]   // [V00 arg0]
             ; gcrRegs +[x20]
+            b       G_M25962_IG26
+                       ;; size=8 bbWeight=8 PerfScore 24.00
+G_M25962_IG17:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x20]
+            ldr     x20, [fp, #0x10]   // [V00 arg0]
+            ; gcrRegs +[x20]
+            b       G_M25962_IG26
+                       ;; size=8 bbWeight=16 PerfScore 48.00
+G_M25962_IG18:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x20]
             str     xzr, [fp, #0x18]   // [V06 loc3]
-            cbz     w21, G_M25962_IG20
+            cbz     w21, G_M25962_IG22
                        ;; size=8 bbWeight=4 PerfScore 8.00
-G_M25962_IG17:        ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
+G_M25962_IG19:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             cmp     w22, #0xD1FFAB1E
-            ble     G_M25962_IG18
+            ble     G_M25962_IG20
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
             ; gcrRegs +[x1]
@@ -145,45 +159,42 @@ G_M25962_IG17:        ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
                        ;; size=24 bbWeight=2 PerfScore 8.00
-G_M25962_IG18:        ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
+G_M25962_IG20:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             cmp     w22, #0
-            ble     G_M25962_IG20
-            str     x20, [fp, #0x10]   // [V00 arg0]
-            ; GC ptr vars +{V00}
+            ble     G_M25962_IG22
             mov     w0, w22
-                       ;; size=16 bbWeight=2 PerfScore 6.00
-G_M25962_IG19:        ; bbWeight=2, gcVars=0000000000000100 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs -[x20]
+                     ;; size=12 bbWeight=2 PerfScore 4.00
+G_M25962_IG21:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             bl      <unknown method>
             ; gcr arg pop 0
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ldr     w0, [x0]
-            ldr     x20, [fp, #0x10] // [V00 arg0]
-            ; gcrRegs +[x20]
-            cbnz    w0, G_M25962_IG28
-                       ;; size=24 bbWeight=2 PerfScore 16.00
-G_M25962_IG20:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; GC ptr vars -{V00}
+            cbnz    w0, G_M25962_IG30
+                       ;; size=20 bbWeight=2 PerfScore 12.00
+G_M25962_IG22:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             add     w22, w22, #1
             cmp     w22, w21
+            ldr     x20, [fp, #0x10] // [V00 arg0]
+            ; gcrRegs +[x20]
             ble     G_M25962_IG09
-                        ;; size=12 bbWeight=4 PerfScore 8.00
-G_M25962_IG21:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+                       ;; size=16 bbWeight=4 PerfScore 16.00
+G_M25962_IG23:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x20]
+            ; GC ptr vars -{V00 V08}
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M25962_IG22:        ; bbWeight=0.50, epilog, nogc, extend
+G_M25962_IG24:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M25962_IG23:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M25962_IG25:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             sxtw    w0, w2
-            b       G_M25962_IG25
+            b       G_M25962_IG27
                      ;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M25962_IG24:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
+G_M25962_IG26:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x20]
             mov     x0, x20
             ; gcrRegs +[x0]
@@ -191,29 +202,29 @@ G_M25962_IG24:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}
             ; gcrRegs -[x0 x20]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M25962_IG25:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M25962_IG27:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M25962_IG26:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M25962_IG28:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             movn    w0, #0
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M25962_IG27:        ; bbWeight=0.50, epilog, nogc, extend
+G_M25962_IG29:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M25962_IG28:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs +[x20]
+G_M25962_IG30:        ; bbWeight=0, gcVars=0000000000000100 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            ; GC ptr vars +{V00 V08}
             bl      CORINFO_HELP_POLL_GC
             ; gcr arg pop 0
-            b       G_M25962_IG20
+            b       G_M25962_IG22
                       ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 392, prolog size 32, PerfScore 606.50, instruction count 98, allocated bytes for code 392 (MethodHash=c3c79a95) for method System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
+; Total bytes of code 404, prolog size 32, PerfScore 680.50, instruction count 101, allocated bytes for code 404 (MethodHash=c3c79a95) for method System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
 ; ============================================================
 
 Cfi Info:
  
+4 (+3.12%) : 4992.dasm - Internal.TypeSystem.TypeSystemContext:FlushTypeBuilderStates():this (FullOpts)
@@ -8,11 +8,11 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  4,  4   )     ref  ->   x0         this class-hnd exact single-def <<unknown class>>
-;  V01 loc0         [V01,T00] (  8, 24.50)     int  ->   x2        
+;  V01 loc0         [V01,T00] (  9, 24.50)     int  ->   x2        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V03 tmp1         [V03,T03] (  2, 16   )     ref  ->   x4         class-hnd exact "Inlining Arg" <<unknown class>>
 ;* V04 tmp2         [V04    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
-;  V05 tmp3         [V05,T02] (  3, 16   )     int  ->   x5         "Inlining Arg"
+;  V05 tmp3         [V05,T02] (  4, 16   )     int  ->   x5         "Inlining Arg"
 ;* V06 tmp4         [V06,T07] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V07 tmp5         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Internal.TypeSystem.TypeDesc>
 ;* V08 tmp6         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
@@ -74,6 +74,7 @@ G_M17212_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
 G_M17212_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            cmp     w2, w5
             mov     w0, w2
             mov     w1, w5
             adrp    x2, [HIGH RELOC #0xD1FFAB1E]
@@ -83,9 +84,9 @@ G_M17212_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x2]
             ; gcr arg pop 0
             brk_unix #0
-                      ;; size=24 bbWeight=0 PerfScore 0.00
+                      ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 128, prolog size 8, PerfScore 77.00, instruction count 32, allocated bytes for code 128 (MethodHash=6f80bcc3) for method Internal.TypeSystem.TypeSystemContext:FlushTypeBuilderStates():this (FullOpts)
+; Total bytes of code 132, prolog size 8, PerfScore 77.00, instruction count 33, allocated bytes for code 132 (MethodHash=6f80bcc3) for method Internal.TypeSystem.TypeSystemContext:FlushTypeBuilderStates():this (FullOpts)
 ; ============================================================
 
 Cfi Info:
  
+8 (+4.65%) : 8390.dasm - PInvokeTests.Program:TestSizeParamIndex() (FullOpts)
@@ -7,20 +7,21 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00    ] (  3,  3   )   ubyte  ->  [fp+0x18]  do-not-enreg[X] must-init addr-exposed ld-addr-op
-;  V01 loc1         [V01    ] (  3,  9   )     ref  ->  [fp+0x10]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <<unknown class>>
-;  V02 loc2         [V02,T02] (  3,  2.50)   ubyte  ->   x1        
-;  V03 loc3         [V03,T00] (  7, 25   )     int  ->   x0        
+;  V00 loc0         [V00    ] (  3,  3   )   ubyte  ->  [fp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op
+;  V01 loc1         [V01    ] (  3,  9   )     ref  ->  [fp+0x18]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <<unknown class>>
+;  V02 loc2         [V02,T02] (  3,  2.50)   ubyte  ->  x19        
+;  V03 loc3         [V03,T00] (  7, 25   )     int  ->   x1        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 cse0         [V05,T01] (  3,  6   )     int  ->   x2         "CSE - aggressive"
+;  V05 cse0         [V05,T01] (  3,  6   )     int  ->   x0         "CSE - aggressive"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 24
 
 G_M49212_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x20]!
+            stp     fp, lr, [sp, #-0x30]!
+            str     x19, [sp, #0x28]
             mov     fp, sp
-            stp     xzr, xzr, [fp, #0x10]  // [V01 loc1], [V00 loc0]
-                       ;; size=12 bbWeight=1 PerfScore 2.50
+            stp     xzr, xzr, [fp, #0x18] // [V01 loc1], [V00 loc0]
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M49212_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
@@ -28,11 +29,11 @@ G_M49212_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            add     x0, fp, #16   // [V01 loc1]
-            add     x1, fp, #24    // [V00 loc0]
+            add     x0, fp, #24  // [V01 loc1]
+            add     x1, fp, #32    // [V00 loc0]
             bl      <unknown method>
             ; gcr arg pop 0
-            ldrb    w1, [fp, #0x18]   // [V00 loc0]
+            ldrb    w1, [fp, #0x20]  // [V00 loc0]
             mov     w0, #10
             adrp    x2, [HIGH RELOC #0xD1FFAB1E]
             add     x2, x2, [LOW RELOC #0xD1FFAB1E]
@@ -40,40 +41,40 @@ G_M49212_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             bl      PInvokeTests.Program:ThrowIfNotEquals[int](int,int,System.String)
             ; gcrRegs -[x2]
             ; gcr arg pop 0
-            mov     w1, #1
-            mov     w0, wzr
-            ldrb    w2, [fp, #0x18]    // [V00 loc0]
-            cmp     w2, #0
+            mov     w19, #1
+            mov     w1, wzr
+            ldrb    w0, [fp, #0x20]    // [V00 loc0]
+            cmp     w0, #0
             ble     G_M49212_IG06
                        ;; size=64 bbWeight=1 PerfScore 13.00
 G_M49212_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ldr     x3, [fp, #0x10]  // [V01 loc1]
-            ; gcrRegs +[x3]
-            ldr     w3, [x3, #0x08]
-            ; gcrRegs -[x3]
-            cmp     w0, w3
+            ldr     x2, [fp, #0x18]    // [V01 loc1]
+            ; gcrRegs +[x2]
+            ldr     w2, [x2, #0x08]
+            ; gcrRegs -[x2]
+            cmp     w1, w2
             bhs     G_M49212_IG08
-            ldr     x3, [fp, #0x10]   // [V01 loc1]
-            ; gcrRegs +[x3]
-            add     x3, x3, #16
-            ; gcrRegs -[x3]
-            ; byrRegs +[x3]
-            ldrb    w3, [x3, w0, UXTW #2]
-            ; byrRegs -[x3]
-            cmp     w3, w0
+            ldr     x2, [fp, #0x18]    // [V01 loc1]
+            ; gcrRegs +[x2]
+            add     x2, x2, #16
+            ; gcrRegs -[x2]
+            ; byrRegs +[x2]
+            ldrb    w2, [x2, w1, UXTW #2]
+            ; byrRegs -[x2]
+            cmp     w2, w1
             bne     G_M49212_IG05
-            add     w0, w0, #1
-            cmp     w0, w2
+            add     w1, w1, #1
+            cmp     w1, w0
             blt     G_M49212_IG03
                        ;; size=48 bbWeight=4 PerfScore 62.00
-G_M49212_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M49212_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             b       G_M49212_IG06
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
+                        ;; size=4 bbWeight=1 PerfScore 1.00
 G_M49212_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w1, wzr
+            mov     w19, wzr
                         ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M49212_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            cmp     w1, #0
+            cmp     w19, #0
             cset    x1, ne
             mov     w0, #1
             adrp    x2, [HIGH RELOC #0xD1FFAB1E]
@@ -84,22 +85,24 @@ G_M49212_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
                        ;; size=24 bbWeight=1 PerfScore 3.50
 G_M49212_IG07:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x20
+            ldr     x19, [sp, #0x28]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=8 bbWeight=1 PerfScore 2.00
+                       ;; size=12 bbWeight=1 PerfScore 4.00
 G_M49212_IG08:        ; 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 172, prolog size 12, PerfScore 83.75, instruction count 43, allocated bytes for code 172 (MethodHash=824d3fc3) for method PInvokeTests.Program:TestSizeParamIndex() (FullOpts)
+; Total bytes of code 180, prolog size 16, PerfScore 87.25, instruction count 45, allocated bytes for code 180 (MethodHash=824d3fc3) for method PInvokeTests.Program:TestSizeParamIndex() (FullOpts)
 ; ============================================================
 
 Cfi Info:
   >> Start offset   : 0x000000 
   >>   End offset   : 0xd1ffab1e 
-    CodeOffset: 0x04 Op: AdjustCfaOffset Offset:0x20
+    CodeOffset: 0x04 Op: AdjustCfaOffset Offset:0x30
     CodeOffset: 0x04 Op: RelOffset DwarfReg:0x1d Offset:0x0
     CodeOffset: 0x04 Op: RelOffset DwarfReg:0x1e Offset:0x8
-    CodeOffset: 0x08 Op: DefCfaRegister DwarfReg:0x1D
+    CodeOffset: 0x08 Op: RelOffset DwarfReg:0x13 Offset:0x28
+    CodeOffset: 0x0C Op: DefCfaRegister DwarfReg:0x1D
  
  
  
Details
Improvements/regressions per collection
| Collection | Contexts with diffs | Improvements | Regressions | Same size | Improvements (bytes) | Regressions (bytes) | 
| benchmarks.run.linux.arm64.checked.mch | 187 | 29 | 32 | 126 | -168 | +292 | 
| benchmarks.run_pgo.linux.arm64.checked.mch | 2,572 | 760 | 1,023 | 789 | -7,704 | +8,952 | 
| benchmarks.run_tiered.linux.arm64.checked.mch | 86 | 11 | 15 | 60 | -680 | +108 | 
| coreclr_tests.run.linux.arm64.checked.mch | 1,513 | 247 | 363 | 903 | -2,556 | +3,388 | 
| libraries.crossgen2.linux.arm64.checked.mch | 677 | 96 | 68 | 513 | -868 | +628 | 
| libraries.pmi.linux.arm64.checked.mch | 1,005 | 153 | 147 | 705 | -1,452 | +1,576 | 
| libraries_tests.run.linux.arm64.Release.mch | 9,743 | 2,491 | 1,979 | 5,273 | -26,532 | +18,932 | 
| librariestestsnotieredcompilation.run.linux.arm64.Release.mch | 1,358 | 210 | 212 | 936 | -2,172 | +2,100 | 
| realworld.run.linux.arm64.checked.mch | 264 | 38 | 34 | 192 | -324 | +372 | 
| smoke_tests.nativeaot.linux.arm64.checked.mch | 85 | 9 | 21 | 55 | -104 | +136 | 
|  | 17,490 | 4,044 | 3,894 | 9,552 | -42,560 | +36,484 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| benchmarks.run.linux.arm64.checked.mch | 34,614 | 3,148 | 31,466 | 238 (0.68%) | 238 (0.68%) | 
| benchmarks.run_pgo.linux.arm64.checked.mch | 150,972 | 59,296 | 91,676 | 132 (0.09%) | 132 (0.09%) | 
| benchmarks.run_tiered.linux.arm64.checked.mch | 71,125 | 53,989 | 17,136 | 82 (0.12%) | 82 (0.12%) | 
| coreclr_tests.run.linux.arm64.checked.mch | 626,766 | 383,796 | 242,970 | 455 (0.07%) | 455 (0.07%) | 
| libraries.crossgen2.linux.arm64.checked.mch | 234,183 | 15 | 234,168 | 0 (0.00%) | 0 (0.00%) | 
| libraries.pmi.linux.arm64.checked.mch | 293,135 | 6 | 293,129 | 1,908 (0.65%) | 1,908 (0.65%) | 
| libraries_tests.run.linux.arm64.Release.mch | 733,491 | 489,338 | 244,153 | 1,321 (0.18%) | 1,321 (0.18%) | 
| librariestestsnotieredcompilation.run.linux.arm64.Release.mch | 302,708 | 21,560 | 281,148 | 2,089 (0.69%) | 2,089 (0.69%) | 
| realworld.run.linux.arm64.checked.mch | 32,766 | 85 | 32,681 | 337 (1.02%) | 337 (1.02%) | 
| smoke_tests.nativeaot.linux.arm64.checked.mch | 19,027 | 7 | 19,020 | 2 (0.01%) | 2 (0.01%) | 
|  | 2,498,787 | 1,011,240 | 1,487,547 | 6,564 (0.26%) | 6,564 (0.26%) | 
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: 15911068 (overridden on cmd)
Total bytes of diff: 15911192 (overridden on cmd)
Total bytes of delta: 124 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          20 : 18916.dasm (0.53 % of base)
          20 : 14292.dasm (0.89 % of base)
          16 : 13373.dasm (0.22 % of base)
          16 : 31181.dasm (0.21 % of base)
          16 : 27198.dasm (1.67 % of base)
          16 : 9275.dasm (1.50 % of base)
          16 : 33957.dasm (2.25 % of base)
          16 : 34023.dasm (1.01 % of base)
          12 : 7293.dasm (1.23 % of base)
          12 : 10360.dasm (0.15 % of base)
          12 : 28730.dasm (3.16 % of base)
          12 : 2956.dasm (1.74 % of base)
           8 : 15751.dasm (1.89 % of base)
           8 : 24795.dasm (0.43 % of base)
           8 : 12607.dasm (0.31 % of base)
           8 : 31234.dasm (1.80 % of base)
           8 : 13109.dasm (1.13 % of base)
           8 : 31490.dasm (0.54 % of base)
           8 : 7607.dasm (3.64 % of base)
           4 : 20838.dasm (0.44 % of base)
Top file improvements (bytes):
         -24 : 7432.dasm (-1.10 % of base)
         -16 : 9173.dasm (-0.45 % of base)
          -8 : 19828.dasm (-0.10 % of base)
          -8 : 31178.dasm (-0.15 % of base)
          -8 : 10381.dasm (-0.08 % of base)
          -8 : 20065.dasm (-0.26 % of base)
          -8 : 2161.dasm (-0.40 % of base)
          -4 : 16378.dasm (-1.56 % of base)
          -4 : 17134.dasm (-0.09 % of base)
          -4 : 20596.dasm (-0.40 % of base)
          -4 : 20755.dasm (-0.32 % of base)
          -4 : 26529.dasm (-0.24 % of base)
          -4 : 19366.dasm (-0.41 % of base)
          -4 : 20077.dasm (-0.17 % of base)
          -4 : 20111.dasm (-0.14 % of base)
          -4 : 2227.dasm (-0.81 % of base)
          -4 : 22270.dasm (-0.43 % of base)
          -4 : 12569.dasm (-0.36 % of base)
          -4 : 15382.dasm (-0.46 % of base)
          -4 : 16442.dasm (-0.11 % of base)
49 total files with Code Size differences (25 improved, 24 regressed), 20 unchanged.
Top method regressions (bytes):
          20 (0.53 % of base) : 18916.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (FullOpts)
          20 (0.89 % of base) : 14292.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (FullOpts)
          16 (1.67 % of base) : 27198.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (FullOpts)
          16 (2.25 % of base) : 33957.dasm - Benchstone.BenchI.Array2:Bench(int):ubyte (FullOpts)
          16 (0.22 % of base) : 13373.dasm - Jil.Deserialize.Methods:_ReadISO8601Date(System.IO.TextReader,ushort[]):System.DateTime (FullOpts)
          16 (0.21 % of base) : 31181.dasm - Jil.Deserialize.Methods:_ReadISO8601DateWithOffset(System.IO.TextReader,ushort[]):System.DateTimeOffset (FullOpts)
          16 (1.01 % of base) : 34023.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
          16 (1.50 % of base) : 9275.dasm - System.Xml.Serialization.TypeScope:ShouldBeReplaced(System.Reflection.MemberInfo,System.Type,byref):ubyte (FullOpts)
          12 (0.15 % of base) : 10360.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
          12 (3.16 % of base) : 28730.dasm - Benchstone.BenchI.XposMatrix:Test():ubyte:this (FullOpts)
          12 (1.74 % of base) : 2956.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          12 (1.23 % of base) : 7293.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (FullOpts)
           8 (0.54 % of base) : 31490.dasm - BenchmarksGame.KNucleotide_9:loadThreeData(System.IO.Stream) (FullOpts)
           8 (1.80 % of base) : 31234.dasm - Benchstone.BenchF.SqMtx:Test():ubyte:this (FullOpts)
           8 (1.89 % of base) : 15751.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           8 (0.43 % of base) : 24795.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) : 7607.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:AddUniqueStatus(System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],byref) (FullOpts)
           8 (0.31 % of base) : 12607.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
           8 (1.13 % of base) : 13109.dasm - System.Xml.XmlUTF8TextReader:ReadQualifiedName(System.Xml.PrefixHandle,System.Xml.StringHandle):this (FullOpts)
           4 (0.27 % of base) : 20064.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)
Top method improvements (bytes):
         -24 (-1.10 % of base) : 7432.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -16 (-0.45 % of base) : 9173.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[]):System.Reflection.Assembly (FullOpts)
          -8 (-0.15 % of base) : 31178.dasm - Jil.Deserialize.Methods:SkipWithLeadChar(System.IO.TextReader,int) (FullOpts)
          -8 (-0.08 % of base) : 10381.dasm - Jil.Deserialize.Methods:SkipWithLeadCharThunkReader(byref,int) (FullOpts)
          -8 (-0.10 % of base) : 19828.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
          -8 (-0.26 % of base) : 20065.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) : 2161.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
          -4 (-0.09 % of base) : 17134.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.24 % of base) : 26529.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (FullOpts)
          -4 (-0.43 % of base) : 22270.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
          -4 (-0.17 % of base) : 20077.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.15 % of base) : 20021.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) : 20111.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) : 20755.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddDeclaredNontypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -4 (-0.40 % of base) : 20596.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (FullOpts)
          -4 (-0.21 % of base) : 4393.dasm - ProtoBuf.Meta.MetaType:ResolveTupleConstructor(System.Type,byref):System.Reflection.ConstructorInfo (FullOpts)
          -4 (-1.56 % of base) : 16378.dasm - Struct.GSeq:FilterSkipMapSum():int:this (FullOpts)
          -4 (-0.38 % of base) : 4186.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) : 12569.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:get_Count():int:this (FullOpts)
          -4 (-0.41 % of base) : 19366.dasm - System.Net.MultiMemory:CopyFrom(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
Top method regressions (percentages):
           8 (3.64 % of base) : 7607.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:AddUniqueStatus(System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],byref) (FullOpts)
          12 (3.16 % of base) : 28730.dasm - Benchstone.BenchI.XposMatrix:Test():ubyte:this (FullOpts)
           4 (2.33 % of base) : 15381.dasm - System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
          16 (2.25 % of base) : 33957.dasm - Benchstone.BenchI.Array2:Bench(int):ubyte (FullOpts)
           8 (1.89 % of base) : 15751.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           8 (1.80 % of base) : 31234.dasm - Benchstone.BenchF.SqMtx:Test():ubyte:this (FullOpts)
          12 (1.74 % of base) : 2956.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          16 (1.67 % of base) : 27198.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (FullOpts)
          16 (1.50 % of base) : 9275.dasm - System.Xml.Serialization.TypeScope:ShouldBeReplaced(System.Reflection.MemberInfo,System.Type,byref):ubyte (FullOpts)
           4 (1.43 % of base) : 7739.dasm - System.Security.Cryptography.X509Certificates.CertificatePolicyChain:MatchesApplicationPolicies(System.Security.Cryptography.OidCollection):ubyte:this (FullOpts)
          12 (1.23 % of base) : 7293.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (FullOpts)
           8 (1.13 % of base) : 13109.dasm - System.Xml.XmlUTF8TextReader:ReadQualifiedName(System.Xml.PrefixHandle,System.Xml.StringHandle):this (FullOpts)
          16 (1.01 % of base) : 34023.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) : 14292.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (FullOpts)
           8 (0.54 % of base) : 31490.dasm - BenchmarksGame.KNucleotide_9:loadThreeData(System.IO.Stream) (FullOpts)
          20 (0.53 % of base) : 18916.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (FullOpts)
           4 (0.44 % of base) : 20838.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) : 24795.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) : 31989.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:get_Count():int:this (FullOpts)
           8 (0.31 % of base) : 12607.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
Top method improvements (percentages):
          -4 (-1.56 % of base) : 16378.dasm - Struct.GSeq:FilterSkipMapSum():int:this (FullOpts)
         -24 (-1.10 % of base) : 7432.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -4 (-0.81 % of base) : 2227.dasm - Utf8Json.JsonReader:ReadInt64():long:this (FullOpts)
          -4 (-0.46 % of base) : 15382.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (FullOpts)
         -16 (-0.45 % of base) : 9173.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[]):System.Reflection.Assembly (FullOpts)
          -4 (-0.43 % of base) : 22270.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
          -4 (-0.41 % of base) : 19366.dasm - System.Net.MultiMemory:CopyFrom(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
          -8 (-0.40 % of base) : 2161.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
          -4 (-0.40 % of base) : 20596.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (FullOpts)
          -4 (-0.38 % of base) : 4186.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) : 12569.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:get_Count():int:this (FullOpts)
          -4 (-0.33 % of base) : 31262.dasm - System.Threading.TimerQueue:FireNextTimers():this (FullOpts)
          -4 (-0.32 % of base) : 20755.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddDeclaredNontypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -8 (-0.26 % of base) : 20065.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) : 26529.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (FullOpts)
          -4 (-0.21 % of base) : 4393.dasm - ProtoBuf.Meta.MetaType:ResolveTupleConstructor(System.Type,byref):System.Reflection.ConstructorInfo (FullOpts)
          -4 (-0.17 % of base) : 20077.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.15 % of base) : 20021.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)
          -8 (-0.15 % of base) : 31178.dasm - Jil.Deserialize.Methods:SkipWithLeadChar(System.IO.TextReader,int) (FullOpts)
          -4 (-0.14 % of base) : 20111.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)
  
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: 78737872 (overridden on cmd)
Total bytes of diff: 78739120 (overridden on cmd)
Total bytes of delta: 1248 (0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          48 : 68830.dasm (7.41 % of base)
          48 : 74421.dasm (11.43 % of base)
          48 : 93418.dasm (11.43 % of base)
          36 : 67471.dasm (2.04 % of base)
          36 : 98167.dasm (2.04 % of base)
          36 : 23985.dasm (2.04 % of base)
          36 : 56457.dasm (2.04 % of base)
          32 : 124904.dasm (1.82 % of base)
          32 : 144311.dasm (1.82 % of base)
          32 : 150399.dasm (1.82 % of base)
          32 : 72960.dasm (1.82 % of base)
          32 : 115908.dasm (1.82 % of base)
          32 : 133303.dasm (1.82 % of base)
          32 : 145471.dasm (2.22 % of base)
          32 : 43580.dasm (1.82 % of base)
          32 : 99780.dasm (1.82 % of base)
          32 : 104240.dasm (2.22 % of base)
          32 : 122275.dasm (1.82 % of base)
          32 : 145488.dasm (1.82 % of base)
          32 : 96780.dasm (2.19 % of base)
Top file improvements (bytes):
        -476 : 147596.dasm (-33.06 % of base)
        -460 : 147580.dasm (-31.86 % of base)
        -156 : 69181.dasm (-21.67 % of base)
        -156 : 69213.dasm (-21.67 % of base)
         -56 : 103013.dasm (-6.64 % of base)
         -44 : 97856.dasm (-1.38 % of base)
         -44 : 62725.dasm (-1.38 % of base)
         -40 : 54471.dasm (-1.23 % of base)
         -32 : 117194.dasm (-0.99 % of base)
         -24 : 145159.dasm (-1.43 % of base)
         -24 : 31817.dasm (-7.41 % of base)
         -24 : 120869.dasm (-7.41 % of base)
         -24 : 146757.dasm (-0.83 % of base)
         -24 : 140793.dasm (-1.38 % of base)
         -24 : 145739.dasm (-0.77 % of base)
         -24 : 21574.dasm (-1.09 % of base)
         -20 : 128977.dasm (-6.49 % of base)
         -20 : 110352.dasm (-7.25 % of base)
         -20 : 58027.dasm (-7.25 % of base)
         -20 : 70747.dasm (-4.42 % of base)
81 total files with Code Size differences (38 improved, 43 regressed), 20 unchanged.
Top method regressions (bytes):
          48 (11.43 % of base) : 74421.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          48 (11.43 % of base) : 93418.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          48 (7.41 % of base) : 68830.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:TryDequeueSlow(byref):ubyte:this (Tier1)
          36 (2.04 % of base) : 67471.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)
          36 (2.04 % of base) : 98167.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)
          36 (2.04 % of base) : 23985.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)
          36 (2.04 % of base) : 56457.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)
          32 (1.82 % of base) : 124904.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)
          32 (1.82 % of base) : 144311.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)
          32 (1.82 % of base) : 150399.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)
          32 (1.82 % of base) : 72960.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)
          32 (1.82 % of base) : 115908.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)
          32 (1.82 % of base) : 133303.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)
          32 (1.82 % of base) : 43580.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)
          32 (1.82 % of base) : 99780.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)
          32 (1.82 % of base) : 122275.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)
          32 (1.82 % of base) : 145488.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)
          32 (2.22 % of base) : 145471.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.22 % of base) : 104240.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.19 % of base) : 96780.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
Top method improvements (bytes):
        -476 (-33.06 % of base) : 147596.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -460 (-31.86 % of base) : 147580.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -156 (-21.67 % of base) : 69181.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 69213.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -56 (-6.64 % of base) : 103013.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -44 (-1.38 % of base) : 97856.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ulong,int,ulong,int,byref,byref):int (Tier1)
         -44 (-1.38 % of base) : 62725.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ulong,int,ulong,int,byref,byref):int (Tier1)
         -40 (-1.23 % of base) : 54471.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -32 (-0.99 % of base) : 117194.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -24 (-0.83 % of base) : 146757.dasm - StringSort:Run():double:this (Tier1)
         -24 (-1.09 % of base) : 21574.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
         -24 (-7.41 % of base) : 31817.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -24 (-7.41 % of base) : 120869.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -24 (-0.77 % of base) : 145739.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ulong,int,ulong,int,byref,byref):int (Tier1)
         -24 (-1.43 % of base) : 145159.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) : 140793.dasm - System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[System.__Canon]:WriteAsync(System.__Canon,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (Tier1)
         -20 (-4.42 % of base) : 70747.dasm - Benchstone.BenchF.InvMt:Inner(double[][],byref,byref) (Tier1-OSR)
         -20 (-7.25 % of base) : 110352.dasm - System.Collections.Perf_FrozenDictionary_String:TryGetValue_True_Dictionary():ubyte:this (Tier1-OSR)
         -20 (-7.25 % of base) : 58027.dasm - System.Collections.Perf_FrozenDictionary_String:TryGetValue_True_Dictionary():ubyte:this (Tier1-OSR)
         -20 (-7.25 % of base) : 104965.dasm - System.Collections.Perf_FrozenDictionary_String:TryGetValue_True_Dictionary():ubyte:this (Tier1-OSR)
Top method regressions (percentages):
          28 (16.67 % of base) : 68684.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (16.67 % of base) : 97277.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (16.67 % of base) : 63658.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (16.67 % of base) : 67067.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (16.67 % of base) : 70887.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (16.67 % of base) : 48964.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          48 (11.43 % of base) : 74421.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          48 (11.43 % of base) : 93418.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          20 (9.43 % of base) : 106077.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[int]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
          20 (9.43 % of base) : 115391.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[System.__Canon]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
           4 (8.33 % of base) : 103071.dasm - System.ArgumentOutOfRangeException:ThrowIfLessThan[int](int,int,System.String) (Tier1)
           4 (8.33 % of base) : 126469.dasm - System.ArgumentOutOfRangeException:ThrowIfLessThan[int](int,int,System.String) (Tier1)
           4 (8.33 % of base) : 30015.dasm - System.ArgumentOutOfRangeException:ThrowIfLessThan[int](int,int,System.String) (Tier1)
           4 (8.33 % of base) : 30199.dasm - System.ArgumentOutOfRangeException:ThrowIfLessThan[int](int,int,System.String) (Tier1)
           4 (8.33 % of base) : 97085.dasm - System.ArgumentOutOfRangeException:ThrowIfLessThan[int](int,int,System.String) (Tier1)
           4 (8.33 % of base) : 145174.dasm - System.ArgumentOutOfRangeException:ThrowIfLessThan[int](int,int,System.String) (Tier1)
           4 (8.33 % of base) : 96072.dasm - System.ArgumentOutOfRangeException:ThrowIfLessThan[int](int,int,System.String) (Tier1)
          12 (7.69 % of base) : 105271.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 111156.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 71952.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
Top method improvements (percentages):
        -476 (-33.06 % of base) : 147596.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -460 (-31.86 % of base) : 147580.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -156 (-21.67 % of base) : 69181.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 69213.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -24 (-7.41 % of base) : 31817.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -24 (-7.41 % of base) : 120869.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-7.25 % of base) : 110352.dasm - System.Collections.Perf_FrozenDictionary_String:TryGetValue_True_Dictionary():ubyte:this (Tier1-OSR)
         -20 (-7.25 % of base) : 58027.dasm - System.Collections.Perf_FrozenDictionary_String:TryGetValue_True_Dictionary():ubyte:this (Tier1-OSR)
         -20 (-7.25 % of base) : 104965.dasm - System.Collections.Perf_FrozenDictionary_String:TryGetValue_True_Dictionary():ubyte:this (Tier1-OSR)
         -16 (-7.02 % of base) : 16886.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
         -16 (-6.90 % of base) : 16884.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
         -56 (-6.64 % of base) : 103013.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -16 (-6.56 % of base) : 27033.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 67485.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 72981.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 124917.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 127273.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 133321.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 24037.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 98177.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: 29679604 (overridden on cmd)
Total bytes of diff: 29679032 (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 : 37761.dasm (0.54 % of base)
          16 : 55601.dasm (2.07 % of base)
          12 : 20377.dasm (0.15 % of base)
          12 : 31051.dasm (1.23 % of base)
           8 : 62659.dasm (0.78 % of base)
           4 : 22799.dasm (0.17 % of base)
           4 : 49379.dasm (1.08 % of base)
           4 : 52900.dasm (0.29 % of base)
           4 : 64360.dasm (0.15 % of base)
           4 : 34730.dasm (0.13 % of base)
           4 : 38634.dasm (0.49 % of base)
           4 : 52904.dasm (0.27 % of base)
           4 : 24201.dasm (0.29 % of base)
           4 : 27702.dasm (0.07 % of base)
           4 : 58155.dasm (0.82 % of base)
Top file improvements (bytes):
        -420 : 69625.dasm (-31.44 % of base)
        -152 : 38630.dasm (-14.13 % of base)
         -56 : 53484.dasm (-6.97 % of base)
         -24 : 16583.dasm (-1.10 % of base)
          -4 : 32353.dasm (-0.10 % of base)
          -4 : 34805.dasm (-0.07 % of base)
          -4 : 59879.dasm (-0.02 % of base)
          -4 : 47050.dasm (-0.41 % of base)
          -4 : 33911.dasm (-0.09 % of base)
          -4 : 58148.dasm (-0.02 % of base)
          -4 : 62658.dasm (-0.33 % of base)
26 total files with Code Size differences (11 improved, 15 regressed), 31 unchanged.
Top method regressions (bytes):
          20 (0.54 % of base) : 37761.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (Tier0-FullOpts)
          16 (2.07 % of base) : 55601.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
          12 (0.15 % of base) : 20377.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
          12 (1.23 % of base) : 31051.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (Tier1)
           8 (0.78 % of base) : 62659.dasm - System.Threading.TimerQueue:TimerThread() (Tier1-OSR)
           4 (0.29 % of base) : 52900.dasm - Benchstone.BenchF.MatInv4:MinV1(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.27 % of base) : 52904.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.13 % of base) : 34730.dasm - Benchstone.BenchI.MulMatrix:Inner(int[][],int[][],int[][]) (Tier1-OSR)
           4 (0.82 % of base) : 58155.dasm - Benchstone.MDBenchF.MDInvMt:Inner(double[,],byref,byref) (Tier1-OSR)
           4 (1.08 % of base) : 49379.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
           4 (0.49 % of base) : 38634.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1-OSR)
           4 (0.15 % of base) : 64360.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength4To7,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1)
           4 (0.29 % of base) : 24201.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) : 22799.dasm - System.Number:TryParseNumber(byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (Tier1)
           4 (0.07 % of base) : 27702.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1)
Top method improvements (bytes):
        -420 (-31.44 % of base) : 69625.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -152 (-14.13 % of base) : 38630.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -56 (-6.97 % of base) : 53484.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -24 (-1.10 % of base) : 16583.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -4 (-0.02 % of base) : 58148.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.07 % of base) : 34805.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.02 % of base) : 59879.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.09 % of base) : 33911.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.41 % of base) : 47050.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
          -4 (-0.10 % of base) : 32353.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) : 62658.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
Top method regressions (percentages):
          16 (2.07 % of base) : 55601.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
          12 (1.23 % of base) : 31051.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (Tier1)
           4 (1.08 % of base) : 49379.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
           4 (0.82 % of base) : 58155.dasm - Benchstone.MDBenchF.MDInvMt:Inner(double[,],byref,byref) (Tier1-OSR)
           8 (0.78 % of base) : 62659.dasm - System.Threading.TimerQueue:TimerThread() (Tier1-OSR)
          20 (0.54 % of base) : 37761.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (Tier0-FullOpts)
           4 (0.49 % of base) : 38634.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1-OSR)
           4 (0.29 % of base) : 52900.dasm - Benchstone.BenchF.MatInv4:MinV1(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.29 % of base) : 24201.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) : 52904.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.17 % of base) : 22799.dasm - System.Number:TryParseNumber(byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (Tier1)
           4 (0.15 % of base) : 64360.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength4To7,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1)
          12 (0.15 % of base) : 20377.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
           4 (0.13 % of base) : 34730.dasm - Benchstone.BenchI.MulMatrix:Inner(int[][],int[][],int[][]) (Tier1-OSR)
           4 (0.07 % of base) : 27702.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1)
Top method improvements (percentages):
        -420 (-31.44 % of base) : 69625.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -152 (-14.13 % of base) : 38630.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -56 (-6.97 % of base) : 53484.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -24 (-1.10 % of base) : 16583.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -4 (-0.41 % of base) : 47050.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
          -4 (-0.33 % of base) : 62658.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
          -4 (-0.10 % of base) : 32353.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) : 33911.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.07 % of base) : 34805.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.02 % of base) : 59879.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.02 % of base) : 58148.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: 509268132 (overridden on cmd)
Total bytes of diff: 509268964 (overridden on cmd)
Total bytes of delta: 832 (0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         176 : 424002.dasm (1.23 % of base)
          88 : 560228.dasm (3.98 % of base)
          60 : 418379.dasm (0.52 % of base)
          56 : 572449.dasm (26.42 % of base)
          52 : 322656.dasm (24.07 % of base)
          52 : 322659.dasm (24.07 % of base)
          48 : 424126.dasm (2.31 % of base)
          48 : 573018.dasm (22.64 % of base)
          44 : 299110.dasm (8.94 % of base)
          40 : 418712.dasm (1.99 % of base)
          40 : 380924.dasm (1.15 % of base)
          36 : 572829.dasm (16.07 % of base)
          32 : 231364.dasm (0.76 % of base)
          32 : 572965.dasm (2.68 % of base)
          32 : 321243.dasm (4.88 % of base)
          32 : 418054.dasm (3.40 % of base)
          32 : 423871.dasm (3.27 % of base)
          32 : 573231.dasm (160.00 % of base)
          28 : 385312.dasm (16.67 % of base)
          28 : 572755.dasm (7.29 % of base)
Top file improvements (bytes):
        -460 : 252112.dasm (-31.86 % of base)
        -168 : 315199.dasm (-31.82 % of base)
        -156 : 264039.dasm (-21.67 % of base)
        -156 : 264052.dasm (-21.67 % of base)
         -36 : 555816.dasm (-1.17 % of base)
         -36 : 556052.dasm (-1.17 % of base)
         -28 : 321160.dasm (-3.59 % of base)
         -24 : 387897.dasm (-1.12 % of base)
         -24 : 421413.dasm (-1.44 % of base)
         -24 : 421590.dasm (-0.23 % of base)
         -24 : 34559.dasm (-3.09 % of base)
         -24 : 424813.dasm (-1.44 % of base)
         -24 : 424948.dasm (-1.44 % of base)
         -24 : 547158.dasm (-0.26 % of base)
         -20 : 565901.dasm (-0.43 % of base)
         -20 : 179926.dasm (-6.17 % of base)
         -20 : 219500.dasm (-6.17 % of base)
         -16 : 250461.dasm (-7.02 % of base)
         -16 : 422133.dasm (-0.38 % of base)
         -16 : 423873.dasm (-0.38 % of base)
63 total files with Code Size differences (33 improved, 30 regressed), 20 unchanged.
Top method regressions (bytes):
         176 (1.23 % of base) : 424002.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (Tier1)
          88 (3.98 % of base) : 560228.dasm - JitTest_array1_refany_il.Test:Main():int (FullOpts)
          60 (0.52 % of base) : 418379.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (Tier1)
          56 (26.42 % of base) : 572449.dasm - ILGEN_0xc53351bb:Method_0x6cf4(short,byte,uint,ulong,int,long,short,short,ubyte,long,float,ubyte,ulong,ubyte):float (FullOpts)
          52 (24.07 % of base) : 322656.dasm - testout1:Test1(int):int (Tier1-OSR)
          52 (24.07 % of base) : 322659.dasm - testout1:Test2(int):int (Tier1-OSR)
          48 (22.64 % of base) : 573018.dasm - ILGEN_0x1db2cfa3:Method_0x8618f02c(ushort,double,short,byte):int (FullOpts)
          48 (2.31 % of base) : 424126.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) : 299110.dasm - RetBufferBug:Main():int (Tier1-OSR)
          40 (1.99 % of base) : 418712.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          40 (1.15 % of base) : 380924.dasm - System.Reflection.Emit.RuntimeTypeBuilder:CreateTypeNoLock():System.Reflection.TypeInfo:this (Tier1)
          36 (16.07 % of base) : 572829.dasm - ILGEN_0xa83217d:Method_0xf3555db(long,ulong,int,uint,short,byte):int (FullOpts)
          32 (2.68 % of base) : 572965.dasm - ILGEN_0x1125a118:Method_0xa592ccf9(ulong,long,ushort,byte,uint):int (FullOpts)
          32 (160.00 % of base) : 573231.dasm - ILGEN_0x2dda4eb5:Method_0xa084659a():ushort (FullOpts)
          32 (3.40 % of base) : 418054.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.__Canon]:IndexOf(System.__Canon[],System.__Canon,int,int):int:this (Tier1)
          32 (3.27 % of base) : 423871.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.__Canon]:IndexOf(System.__Canon[],System.__Canon,int,int):int:this (Tier1)
          32 (4.88 % of base) : 321243.dasm - System.Net.Sockets.SocketAsyncEngine:EventLoop():this (Tier1-OSR)
          32 (0.76 % of base) : 231364.dasm - VectorMathTests.Program:TestEntryPoint() (Tier1-OSR)
          28 (7.29 % of base) : 572755.dasm - ILGEN_0x57cc69ce:Method_0x183df1b1():int (FullOpts)
          28 (16.67 % of base) : 385312.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
Top method improvements (bytes):
        -460 (-31.86 % of base) : 252112.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -168 (-31.82 % of base) : 315199.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -156 (-21.67 % of base) : 264039.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 264052.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -36 (-1.17 % of base) : 555816.dasm - plainarr:gaussj(double[,],int,double[,],int) (FullOpts)
         -36 (-1.17 % of base) : 556052.dasm - structarr:gaussj(MatrixStruct,int,MatrixStruct,int) (FullOpts)
         -28 (-3.59 % of base) : 321160.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -24 (-0.23 % of base) : 421590.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
         -24 (-0.26 % of base) : 547158.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) : 424948.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) : 421413.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) : 424813.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.12 % of base) : 387897.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier1)
         -24 (-3.09 % of base) : 34559.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -20 (-0.43 % of base) : 565901.dasm - Co1245GetBytes_double:runTest():ubyte:this (FullOpts)
         -20 (-6.17 % of base) : 179926.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.17 % of base) : 219500.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -16 (-6.90 % of base) : 250444.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
         -16 (-7.02 % of base) : 250461.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
         -16 (-0.38 % of base) : 422133.dasm - Internal.IL.Stubs.ComparerIntrinsics:CanCompareValueTypeBits(Internal.TypeSystem.MetadataType,Internal.TypeSystem.MethodDesc):ubyte (Tier1)
Top method regressions (percentages):
          32 (160.00 % of base) : 573231.dasm - ILGEN_0x2dda4eb5:Method_0xa084659a():ushort (FullOpts)
          24 (46.15 % of base) : 573040.dasm - ILGEN_0x4601be46:Method_0x9c86375f(ulong,ubyte):int (FullOpts)
          56 (26.42 % of base) : 572449.dasm - ILGEN_0xc53351bb:Method_0x6cf4(short,byte,uint,ulong,int,long,short,short,ubyte,long,float,ubyte,ulong,ubyte):float (FullOpts)
          52 (24.07 % of base) : 322656.dasm - testout1:Test1(int):int (Tier1-OSR)
          52 (24.07 % of base) : 322659.dasm - testout1:Test2(int):int (Tier1-OSR)
          48 (22.64 % of base) : 573018.dasm - ILGEN_0x1db2cfa3:Method_0x8618f02c(ushort,double,short,byte):int (FullOpts)
          28 (16.67 % of base) : 385312.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (16.67 % of base) : 321290.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (16.67 % of base) : 230598.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          36 (16.07 % of base) : 572829.dasm - ILGEN_0xa83217d:Method_0xf3555db(long,ulong,int,uint,short,byte):int (FullOpts)
          12 (14.29 % of base) : 527679.dasm - Sample4:func(System.Object,System.Object) (FullOpts)
          44 (8.94 % of base) : 299110.dasm - RetBufferBug:Main():int (Tier1-OSR)
          28 (7.29 % of base) : 572755.dasm - ILGEN_0x57cc69ce:Method_0x183df1b1():int (FullOpts)
          24 (5.45 % of base) : 423819.dasm - System.Collections.Generic.ArrayBuilder`1[System.__Canon]:Contains(System.__Canon):ubyte:this (Tier1)
          24 (5.08 % of base) : 418034.dasm - System.Collections.Generic.ArrayBuilder`1[System.__Canon]:Contains(System.__Canon):ubyte:this (Tier1)
          32 (4.88 % of base) : 321243.dasm - System.Net.Sockets.SocketAsyncEngine:EventLoop():this (Tier1-OSR)
          24 (4.55 % of base) : 572733.dasm - ILGEN_0x5db0aa0:Method_0x14ca58b7(long,float,float,short,ushort,float,int,int,double):int (FullOpts)
          16 (4.40 % of base) : 564371.dasm - Default.Graph:BuildEdge(int,int):this (FullOpts)
           8 (4.08 % of base) : 250381.dasm - Benchstone.BenchI.LogicArray:Inner(byref):ubyte (Tier1-OSR)
          88 (3.98 % of base) : 560228.dasm - JitTest_array1_refany_il.Test:Main():int (FullOpts)
Top method improvements (percentages):
        -460 (-31.86 % of base) : 252112.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -168 (-31.82 % of base) : 315199.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -156 (-21.67 % of base) : 264039.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 264052.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -16 (-7.02 % of base) : 250461.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
         -16 (-6.90 % of base) : 250444.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
         -20 (-6.17 % of base) : 179926.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.17 % of base) : 219500.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -28 (-3.59 % of base) : 321160.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
          -4 (-3.57 % of base) : 422661.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.ByteArrayComparer:Equals(ubyte[],ubyte[]):ubyte:this (Tier1)
          -4 (-3.57 % of base) : 425113.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.ByteArrayComparer:Equals(ubyte[],ubyte[]):ubyte:this (Tier1)
          -4 (-3.57 % of base) : 534660.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
          -4 (-3.33 % of base) : 421485.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
         -24 (-3.09 % of base) : 34559.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
          -8 (-2.38 % of base) : 193856.dasm - System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:Rehash(int):this (Tier1)
          -4 (-2.38 % of base) : 383171.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
          -8 (-2.35 % of base) : 149471.dasm - System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:Rehash(int):this (Tier1)
          -4 (-1.75 % of base) : 45455.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
          -4 (-1.75 % of base) : 1431.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Instrumented Tier1)
          -4 (-1.72 % of base) : 244781.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstanceOfAny(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: 55793084 (overridden on cmd)
Total bytes of diff: 55792844 (overridden on cmd)
Total bytes of delta: -240 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         104 : 39463.dasm (0.13 % of base)
          48 : 73764.dasm (1.48 % of base)
          32 : 216987.dasm (3.98 % of base)
          24 : 135933.dasm (1.13 % of base)
          24 : 154863.dasm (0.49 % of base)
          20 : 154845.dasm (0.36 % of base)
          16 : 141558.dasm (0.84 % of base)
          16 : 157376.dasm (0.17 % of base)
          16 : 191751.dasm (4.30 % of base)
          16 : 7308.dasm (1.08 % of base)
          16 : 131805.dasm (0.43 % of base)
          12 : 154174.dasm (1.70 % of base)
          12 : 154769.dasm (0.91 % of base)
          12 : 184414.dasm (1.76 % of base)
          12 : 143380.dasm (0.19 % of base)
          12 : 72325.dasm (1.85 % of base)
          12 : 85230.dasm (1.60 % of base)
           8 : 223888.dasm (0.95 % of base)
           8 : 159888.dasm (0.22 % of base)
           8 : 95276.dasm (0.93 % of base)
Top file improvements (bytes):
        -108 : 131103.dasm (-0.39 % of base)
         -84 : 131806.dasm (-7.81 % of base)
         -44 : 157256.dasm (-1.75 % of base)
         -32 : 140768.dasm (-3.98 % of base)
         -28 : 17588.dasm (-1.18 % of base)
         -24 : 155251.dasm (-1.06 % of base)
         -24 : 155257.dasm (-1.07 % of base)
         -24 : 173724.dasm (-2.86 % of base)
         -20 : 101926.dasm (-1.08 % of base)
         -16 : 141925.dasm (-0.31 % of base)
         -16 : 35664.dasm (-0.43 % of base)
         -16 : 106089.dasm (-0.54 % of base)
         -16 : 132077.dasm (-0.37 % of base)
         -16 : 2399.dasm (-0.91 % of base)
         -12 : 70860.dasm (-2.13 % of base)
          -8 : 104798.dasm (-1.72 % of base)
          -8 : 206890.dasm (-0.96 % of base)
          -8 : 21105.dasm (-0.21 % of base)
          -8 : 35669.dasm (-0.13 % of base)
          -8 : 52260.dasm (-0.78 % of base)
56 total files with Code Size differences (29 improved, 27 regressed), 20 unchanged.
Top method regressions (bytes):
         104 (0.13 % of base) : 39463.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (FullOpts)
          48 (1.48 % of base) : 73764.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)
          32 (3.98 % of base) : 216987.dasm - System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (FullOpts)
          24 (1.13 % of base) : 135933.dasm - System.Text.ISCIIEncoding:GetChars(ulong,int,ulong,int,System.Text.DecoderNLS):int:this (FullOpts)
          24 (0.49 % of base) : 154863.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:GenerateMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
          20 (0.36 % of base) : 154845.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
          16 (0.17 % of base) : 157376.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
          16 (0.43 % of base) : 131805.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.84 % of base) : 141558.dasm - System.Data.Select:CreateIndex():this (FullOpts)
          16 (4.30 % of base) : 191751.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          16 (1.08 % of base) : 7308.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
          12 (0.19 % of base) : 143380.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (FullOpts)
          12 (1.85 % of base) : 72325.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:<AddSynthesizedTypeMembersIfNecessary>g__getBaseToStringMethod|198_14(byref):Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:this (FullOpts)
          12 (1.60 % of base) : 85230.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol:GenerateVarianceDiagnosticsForConstraints(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol],Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,byref):this (FullOpts)
          12 (1.76 % of base) : 184414.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          12 (0.91 % of base) : 154769.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteElements(System.Object,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,ubyte,ubyte):this (FullOpts)
          12 (1.70 % of base) : 154174.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteEnumMethod(System.Xml.Serialization.EnumMapping,System.Object):System.String:this (FullOpts)
           8 (0.93 % of base) : 95276.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner:QuickScanToken(ubyte):Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner+QuickScanResult:this (FullOpts)
           8 (0.22 % of base) : 159888.dasm - System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte[] (FullOpts)
           8 (0.95 % of base) : 223888.dasm - System.Runtime.Caching.ExpiresBucket:Expand():this (FullOpts)
Top method improvements (bytes):
        -108 (-0.39 % of base) : 131103.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -84 (-7.81 % of base) : 131806.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:MethodsDifferOnlyByReturnType(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte:this (FullOpts)
         -44 (-1.75 % of base) : 157256.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -32 (-3.98 % of base) : 140768.dasm - System.Data.DataRelation:Create(System.String,System.Data.DataColumn[],System.Data.DataColumn[],ubyte):this (FullOpts)
         -28 (-1.18 % of base) : 17588.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -24 (-2.86 % of base) : 173724.dasm - Microsoft.CodeAnalysis.Text.SourceText:ContentEqualsImpl(Microsoft.CodeAnalysis.Text.SourceText):ubyte:this (FullOpts)
         -24 (-1.07 % of base) : 155257.dasm - System.Xml.DtdParser:ScanAttlist2():int:this (FullOpts)
         -24 (-1.06 % of base) : 155251.dasm - System.Xml.DtdParser:ScanSubsetContent():int:this (FullOpts)
         -20 (-1.08 % of base) : 101926.dasm - Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyImmediateVarianceCompatibility(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,int,byref):int (FullOpts)
         -16 (-0.43 % of base) : 35664.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[Microsoft.CodeAnalysis.CommonReferenceManager`2+AssemblyData[System.__Canon,System.__Canon]],int):this (FullOpts)
         -16 (-0.54 % of base) : 106089.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation+ReferenceManager:SetupReferencesForRetargetingAssembly(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation,Microsoft.CodeAnalysis.VisualBasic.Symbols.AssemblySymbol][],int,byref,Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceAssemblySymbol) (FullOpts)
         -16 (-0.37 % of base) : 132077.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -16 (-0.31 % of base) : 141925.dasm - System.Data.ProviderBase.SchemaMapping:SetupSchemaWithKeyInfo(int,int,ubyte,System.Data.DataColumn,System.Object):System.Object[]:this (FullOpts)
         -16 (-0.91 % of base) : 2399.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
         -12 (-2.13 % of base) : 70860.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 (-0.13 % of base) : 35669.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ReferencedAssemblyIdentity[System.__Canon,System.__Canon]]],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
          -8 (-0.78 % of base) : 52260.dasm - Microsoft.CodeAnalysis.CSharp.DocumentationCommentCompiler:WriteFormattedMultiLineComment(System.String[],int):this (FullOpts)
          -8 (-1.72 % of base) : 104798.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder+MemberLookup:IsDerivedInterface(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BasesBeingResolved,byref):ubyte (FullOpts)
          -8 (-0.47 % of base) : 132005.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)
          -8 (-0.32 % of base) : 131005.dasm - Microsoft.VisualBasic.CompilerServices.StringType:StrLikeBinary(System.String,System.String):ubyte (FullOpts)
Top method regressions (percentages):
          16 (4.30 % of base) : 191751.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
           4 (4.17 % of base) : 53677.dasm - Microsoft.CodeAnalysis.CSharp.ReadWriteWalker:GetRangeVariableUnderlyingParameter(Microsoft.CodeAnalysis.CSharp.BoundNode):Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol (FullOpts)
          32 (3.98 % of base) : 216987.dasm - System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (FullOpts)
           4 (2.86 % of base) : 175743.dasm - Microsoft.CodeAnalysis.Emit.SymbolChanges:IsReplaced(Microsoft.CodeAnalysis.ISymbol,ubyte):ubyte:this (FullOpts)
           4 (2.86 % of base) : 31190.dasm - Microsoft.CodeAnalysis.Emit.SymbolChanges:IsReplaced(Microsoft.CodeAnalysis.Symbols.ISymbolInternal,ubyte):ubyte:this (FullOpts)
           4 (2.04 % of base) : 145683.dasm - System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
           4 (1.89 % of base) : 141734.dasm - System.Xml.XPathNodePointer:DecideXPNodeTypeForTextNodes(System.Xml.XmlNode):int:this (FullOpts)
          12 (1.85 % of base) : 72325.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:<AddSynthesizedTypeMembersIfNecessary>g__getBaseToStringMethod|198_14(byref):Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:this (FullOpts)
           4 (1.82 % of base) : 63836.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
          12 (1.76 % of base) : 184414.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          12 (1.70 % of base) : 154174.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteEnumMethod(System.Xml.Serialization.EnumMapping,System.Object):System.String:this (FullOpts)
          12 (1.60 % of base) : 85230.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol:GenerateVarianceDiagnosticsForConstraints(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol],Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,byref):this (FullOpts)
          48 (1.48 % of base) : 73764.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)
          24 (1.13 % of base) : 135933.dasm - System.Text.ISCIIEncoding:GetChars(ulong,int,ulong,int,System.Text.DecoderNLS):int:this (FullOpts)
          16 (1.08 % of base) : 7308.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
           8 (0.95 % of base) : 223888.dasm - System.Runtime.Caching.ExpiresBucket:Expand():this (FullOpts)
           8 (0.93 % of base) : 95276.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner:QuickScanToken(ubyte):Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner+QuickScanResult:this (FullOpts)
           4 (0.93 % of base) : 5252.dasm - System.Globalization.CultureInfo:CreateSpecificCulture(System.String):System.Globalization.CultureInfo (FullOpts)
          12 (0.91 % of base) : 154769.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.84 % of base) : 141558.dasm - System.Data.Select:CreateIndex():this (FullOpts)
Top method improvements (percentages):
         -84 (-7.81 % of base) : 131806.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:MethodsDifferOnlyByReturnType(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte:this (FullOpts)
         -32 (-3.98 % of base) : 140768.dasm - System.Data.DataRelation:Create(System.String,System.Data.DataColumn[],System.Data.DataColumn[],ubyte):this (FullOpts)
         -24 (-2.86 % of base) : 173724.dasm - Microsoft.CodeAnalysis.Text.SourceText:ContentEqualsImpl(Microsoft.CodeAnalysis.Text.SourceText):ubyte:this (FullOpts)
         -12 (-2.13 % of base) : 70860.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)
         -44 (-1.75 % of base) : 157256.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
          -8 (-1.72 % of base) : 104798.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder+MemberLookup:IsDerivedInterface(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BasesBeingResolved,byref):ubyte (FullOpts)
          -8 (-1.24 % of base) : 15773.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
         -28 (-1.18 % of base) : 17588.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -4 (-1.16 % of base) : 70898.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.13 % of base) : 210415.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
         -20 (-1.08 % of base) : 101926.dasm - Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyImmediateVarianceCompatibility(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,int,byref):int (FullOpts)
         -24 (-1.07 % of base) : 155257.dasm - System.Xml.DtdParser:ScanAttlist2():int:this (FullOpts)
          -8 (-1.06 % of base) : 209006.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.PropertyInfo (FullOpts)
         -24 (-1.06 % of base) : 155251.dasm - System.Xml.DtdParser:ScanSubsetContent():int:this (FullOpts)
          -8 (-0.96 % of base) : 206890.dasm - System.Reflection.Metadata.Ecma335.NamespaceCache:LinkChildToParentNamespace(System.Collections.Generic.Dictionary`2[System.String,System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder],System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder,byref):this (FullOpts)
         -16 (-0.91 % of base) : 2399.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
          -4 (-0.90 % of base) : 15711.dasm - System.String:TrimHelper(ulong,int,int):System.String:this (FullOpts)
          -4 (-0.87 % of base) : 15686.dasm - System.RuntimeType+RuntimeTypeCache:GetDefaultMemberName():System.String:this (FullOpts)
          -8 (-0.78 % of base) : 52260.dasm - Microsoft.CodeAnalysis.CSharp.DocumentationCommentCompiler:WriteFormattedMultiLineComment(System.String[],int):this (FullOpts)
          -4 (-0.70 % of base) : 171393.dasm - Microsoft.CodeAnalysis.AssemblyIdentity:TryParseNameToken(System.String,byref,byref):ubyte (FullOpts)
  
libraries.pmi.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 74620516 (overridden on cmd)
Total bytes of diff: 74620640 (overridden on cmd)
Total bytes of delta: 124 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          76 : 271627.dasm (1.82 % of base)
          56 : 111333.dasm (0.24 % of base)
          48 : 188555.dasm (5.63 % of base)
          44 : 234324.dasm (1.87 % of base)
          44 : 232411.dasm (1.87 % of base)
          40 : 203820.dasm (1.65 % of base)
          28 : 207441.dasm (4.90 % of base)
          28 : 210258.dasm (35.00 % of base)
          28 : 225286.dasm (1.62 % of base)
          28 : 145042.dasm (0.44 % of base)
          24 : 152318.dasm (5.71 % of base)
          24 : 154507.dasm (2.42 % of base)
          24 : 207356.dasm (2.08 % of base)
          20 : 234320.dasm (2.09 % of base)
          20 : 258719.dasm (2.98 % of base)
          20 : 258976.dasm (5.81 % of base)
          20 : 258986.dasm (4.59 % of base)
          20 : 259011.dasm (10.20 % of base)
          20 : 258687.dasm (3.85 % of base)
          20 : 226415.dasm (1.95 % of base)
Top file improvements (bytes):
        -132 : 247990.dasm (-0.45 % of base)
         -80 : 211603.dasm (-2.49 % of base)
         -52 : 155244.dasm (-0.45 % of base)
         -28 : 172193.dasm (-3.37 % of base)
         -28 : 28745.dasm (-3.37 % of base)
         -24 : 210628.dasm (-0.26 % of base)
         -20 : 155105.dasm (-0.42 % of base)
         -20 : 134107.dasm (-1.10 % of base)
         -20 : 265805.dasm (-1.03 % of base)
         -20 : 205137.dasm (-0.50 % of base)
         -20 : 62806.dasm (-0.83 % of base)
         -16 : 153822.dasm (-0.43 % of base)
         -16 : 249682.dasm (-1.76 % of base)
         -16 : 248004.dasm (-0.26 % of base)
         -12 : 161449.dasm (-0.40 % of base)
         -12 : 17077.dasm (-0.40 % of base)
         -12 : 28796.dasm (-3.30 % of base)
         -12 : 64005.dasm (-0.33 % of base)
         -12 : 66089.dasm (-0.39 % of base)
         -12 : 59512.dasm (-2.11 % of base)
70 total files with Code Size differences (36 improved, 34 regressed), 20 unchanged.
Top method regressions (bytes):
          76 (1.82 % of base) : 271627.dasm - System.Net.Mail.SmtpClient:SendAsync(System.Net.Mail.MailMessage,System.Object):this (FullOpts)
          56 (0.24 % of base) : 111333.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureForASingleCandidate(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.Location,int,byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.VisualBasic.Symbol):this (FullOpts)
          48 (5.63 % of base) : 188555.dasm - System.Runtime.Serialization.SchemaExporter:ReprocessAll(System.Xml.Schema.XmlSchemaSet) (FullOpts)
          44 (1.87 % of base) : 234324.dasm - System.Configuration.ConfigurationElement:UnMergeLockList(System.Configuration.ConfigurationLockCollection,System.Configuration.ConfigurationLockCollection,int):System.Configuration.ConfigurationLockCollection:this (FullOpts)
          44 (1.87 % of base) : 232411.dasm - System.Configuration.ConfigurationElement:UnMergeLockList(System.Configuration.ConfigurationLockCollection,System.Configuration.ConfigurationLockCollection,int):System.Configuration.ConfigurationLockCollection:this (FullOpts)
          40 (1.65 % of base) : 203820.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) : 207441.dasm - Microsoft.Build.Shared.FileUtilities:PathsEqual(System.String,System.String):ubyte (FullOpts)
          28 (35.00 % of base) : 210258.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:IsDynamicallyTypedRuntimeProxy(System.Dynamic.DynamicMetaObject,Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo):ubyte (FullOpts)
          28 (1.62 % of base) : 225286.dasm - System.Text.DBCSCodePageEncoding:ReadBestFitTable():this (FullOpts)
          28 (0.44 % of base) : 145042.dasm - System.Xml.XmlTextReaderImpl+<ParseAttributeValueSlowAsync>d__532:MoveNext():this (FullOpts)
          24 (2.08 % of base) : 207356.dasm - Microsoft.Build.Shared.FileMatcher:Normalize(System.String):System.String (FullOpts)
          24 (2.42 % of base) : 154507.dasm - System.Xml.Serialization.TypeScope:ShouldBeReplaced(System.Reflection.MemberInfo,System.Type,byref):ubyte (FullOpts)
          24 (5.71 % of base) : 152318.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          20 (2.09 % of base) : 234320.dasm - System.Configuration.ConfigurationElement:EnsureRequiredProperties(ubyte):this (FullOpts)
          20 (2.09 % of base) : 232407.dasm - System.Configuration.ConfigurationElement:EnsureRequiredProperties(ubyte):this (FullOpts)
          20 (1.95 % of base) : 226415.dasm - System.Data.XmlTreeGen:GenerateConstraintNames(System.Data.DataTable,ubyte):this (FullOpts)
          20 (2.98 % of base) : 258719.dasm - System.Reflection.Emit.EnumBuilderImpl:.ctor(System.String,System.Type,int,System.Reflection.Emit.ModuleBuilderImpl):this (FullOpts)
          20 (3.85 % of base) : 258687.dasm - System.Reflection.Emit.EnumBuilderImpl:DefineLiteralCore(System.String,System.Object):System.Reflection.Emit.FieldBuilder:this (FullOpts)
          20 (5.81 % of base) : 258976.dasm - System.Reflection.Emit.TypeBuilderImpl:CreateTypeInfoCore():System.Reflection.TypeInfo:this (FullOpts)
          20 (4.59 % of base) : 258986.dasm - System.Reflection.Emit.TypeBuilderImpl:DefineFieldCore(System.String,System.Type,System.Type[],System.Type[],int):System.Reflection.Emit.FieldBuilder:this (FullOpts)
Top method improvements (bytes):
        -132 (-0.45 % of base) : 247990.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -80 (-2.49 % of base) : 211603.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -52 (-0.45 % of base) : 155244.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
         -28 (-3.37 % of base) : 172193.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -28 (-3.37 % of base) : 28745.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -24 (-0.26 % of base) : 210628.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
         -20 (-0.50 % of base) : 205137.dasm - Microsoft.Build.BackEnd.Scheduler:WriteNodeUtilizationGraph(Microsoft.Build.BackEnd.Logging.ILoggingService,Microsoft.Build.Framework.BuildEventContext,ubyte):this (FullOpts)
         -20 (-0.83 % of base) : 62806.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) : 134107.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) : 265805.dasm - System.Buffers.SequenceReader`1[double]:TryReadTo(byref,double,double,ubyte):ubyte:this (FullOpts)
         -20 (-0.42 % of base) : 155105.dasm - System.Xml.Serialization.XmlSerializationReader:ReadArray(System.String,System.String):System.Array:this (FullOpts)
         -16 (-0.26 % of base) : 248004.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -16 (-1.76 % of base) : 249682.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) : 153822.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[]):System.Reflection.Assembly (FullOpts)
         -12 (-0.44 % of base) : 159925.dasm - Microsoft.CodeAnalysis.CommonCompiler:<ReportDiagnostics>g__reportDiagnostic|61_0(Microsoft.CodeAnalysis.Diagnostic,Microsoft.CodeAnalysis.Diagnostics.SuppressionInfo,byref):this (FullOpts)
         -12 (-0.39 % of base) : 66089.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:Populate(Microsoft.CodeAnalysis.CSharp.NullableWalker+VariablesSnapshot):this (FullOpts)
         -12 (-2.11 % of base) : 59512.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) : 64005.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Retargeting.RetargetingMethodSymbol:GetUnmanagedCallersOnlyAttributeData(ubyte):Microsoft.CodeAnalysis.UnmanagedCallersOnlyAttributeData:this (FullOpts)
         -12 (-0.52 % of base) : 20549.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)
         -12 (-3.30 % of base) : 28796.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerFileReference+Extensions`1[System.__Canon]:CheckAssemblyReferencesNewerCompiler(System.Reflection.Assembly):ubyte:this (FullOpts)
Top method regressions (percentages):
          28 (35.00 % of base) : 210258.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:IsDynamicallyTypedRuntimeProxy(System.Dynamic.DynamicMetaObject,Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo):ubyte (FullOpts)
          20 (10.20 % of base) : 259011.dasm - System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
           4 (9.09 % of base) : 207499.dasm - Microsoft.Build.Shared.FrameworkLocationHelper:GeneratePathToBuildToolsForToolsVersion(System.String,int):System.String (FullOpts)
          20 (5.81 % of base) : 258976.dasm - System.Reflection.Emit.TypeBuilderImpl:CreateTypeInfoCore():System.Reflection.TypeInfo:this (FullOpts)
          24 (5.71 % of base) : 152318.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          48 (5.63 % of base) : 188555.dasm - System.Runtime.Serialization.SchemaExporter:ReprocessAll(System.Xml.Schema.XmlSchemaSet) (FullOpts)
           4 (5.56 % of base) : 694.dasm - System.ArgumentOutOfRangeException:ThrowIfGreaterThan[double](double,double,System.String) (FullOpts)
           4 (5.56 % of base) : 706.dasm - System.ArgumentOutOfRangeException:ThrowIfLessThanOrEqual[double](double,double,System.String) (FullOpts)
          28 (4.90 % of base) : 207441.dasm - Microsoft.Build.Shared.FileUtilities:PathsEqual(System.String,System.String):ubyte (FullOpts)
          20 (4.59 % of base) : 258986.dasm - System.Reflection.Emit.TypeBuilderImpl:DefineFieldCore(System.String,System.Type,System.Type[],System.Type[],int):System.Reflection.Emit.FieldBuilder:this (FullOpts)
           4 (4.55 % of base) : 2673.dasm - System.SpanHelpers:LastIndexOfAnyExceptInRange[long](byref,long,long,int):int (FullOpts)
          16 (4.40 % of base) : 223228.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
           4 (4.17 % of base) : 2661.dasm - System.SpanHelpers:IndexOfAnyExceptInRange[long](byref,long,long,int):int (FullOpts)
          20 (3.85 % of base) : 258687.dasm - System.Reflection.Emit.EnumBuilderImpl:DefineLiteralCore(System.String,System.Object):System.Reflection.Emit.FieldBuilder:this (FullOpts)
           8 (3.64 % of base) : 201332.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:AddUniqueStatus(System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],byref) (FullOpts)
          20 (2.98 % of base) : 258719.dasm - System.Reflection.Emit.EnumBuilderImpl:.ctor(System.String,System.Type,int,System.Reflection.Emit.ModuleBuilderImpl):this (FullOpts)
           4 (2.94 % of base) : 2672.dasm - System.SpanHelpers:LastIndexOfAnyExceptInRange[double](byref,double,double,int):int (FullOpts)
           4 (2.94 % of base) : 2667.dasm - System.SpanHelpers:LastIndexOfAnyInRange[double](byref,double,double,int):int (FullOpts)
          16 (2.88 % of base) : 59942.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) : 167684.dasm - Microsoft.CodeAnalysis.Emit.SymbolChanges:IsReplaced(Microsoft.CodeAnalysis.ISymbol,ubyte):ubyte:this (FullOpts)
Top method improvements (percentages):
          -4 (-3.57 % of base) : 40954.dasm - Microsoft.CodeAnalysis.CSharp.ObjectDisplay:ContainsNewLine(System.String):ubyte (FullOpts)
          -4 (-3.57 % of base) : 36938.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
         -28 (-3.37 % of base) : 172193.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -28 (-3.37 % of base) : 28745.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -12 (-3.30 % of base) : 28796.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerFileReference+Extensions`1[System.__Canon]:CheckAssemblyReferencesNewerCompiler(System.Reflection.Assembly):ubyte:this (FullOpts)
         -12 (-3.30 % of base) : 172244.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerFileReference+Extensions`1[System.__Canon]:CheckAssemblyReferencesNewerCompiler(System.Reflection.Assembly):ubyte:this (FullOpts)
          -4 (-3.23 % of base) : 18864.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
          -4 (-3.23 % of base) : 163125.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
         -80 (-2.49 % of base) : 211603.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
          -8 (-2.15 % of base) : 137017.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.11 % of base) : 59512.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) : 249682.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) : 273994.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
          -4 (-1.49 % of base) : 110793.dasm - Microsoft.CodeAnalysis.VisualBasic.DataFlowPass:IsConvertedLambda(Microsoft.CodeAnalysis.VisualBasic.BoundExpression):ubyte (FullOpts)
          -4 (-1.32 % of base) : 161425.dasm - Microsoft.CodeAnalysis.RealParser:ConvertBigIntegerToFloatingPointBits(ubyte[],uint,ubyte,Microsoft.CodeAnalysis.RealParser+FloatingPointType,byref):int (FullOpts)
          -4 (-1.32 % of base) : 17048.dasm - Microsoft.CodeAnalysis.RealParser:ConvertBigIntegerToFloatingPointBits(ubyte[],uint,ubyte,Microsoft.CodeAnalysis.RealParser+FloatingPointType,byref):int (FullOpts)
          -8 (-1.31 % of base) : 273995.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTarget(byref,System.String):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target:this (FullOpts)
          -8 (-1.29 % of base) : 174332.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
          -4 (-1.28 % of base) : 203823.dasm - Microsoft.Build.Evaluation.ExpressionShredder:SinkArgumentsInParentheses(System.String,byref,int):ubyte (FullOpts)
          -4 (-1.23 % of base) : 59551.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: 384368224 (overridden on cmd)
Total bytes of diff: 384360624 (overridden on cmd)
Total bytes of delta: -7600 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         100 : 438611.dasm (0.75 % of base)
          96 : 488264.dasm (2.40 % of base)
          96 : 669906.dasm (2.81 % of base)
          96 : 342225.dasm (1.51 % of base)
          92 : 670170.dasm (0.46 % of base)
          92 : 89128.dasm (0.46 % of base)
          92 : 660504.dasm (0.71 % of base)
          88 : 678557.dasm (1.13 % of base)
          84 : 229449.dasm (4.77 % of base)
          76 : 686018.dasm (0.77 % of base)
          76 : 51305.dasm (0.64 % of base)
          76 : 709197.dasm (10.16 % of base)
          76 : 82318.dasm (0.64 % of base)
          64 : 475043.dasm (0.34 % of base)
          64 : 649519.dasm (3.25 % of base)
          64 : 475040.dasm (0.34 % of base)
          64 : 475041.dasm (0.33 % of base)
          60 : 314364.dasm (0.48 % of base)
          60 : 82200.dasm (0.53 % of base)
          56 : 683664.dasm (0.47 % of base)
Top file improvements (bytes):
        -308 : 103805.dasm (-2.94 % of base)
        -248 : 60576.dasm (-1.24 % of base)
        -184 : 494833.dasm (-1.37 % of base)
        -144 : 702297.dasm (-0.89 % of base)
        -140 : 623297.dasm (-0.98 % of base)
        -136 : 677993.dasm (-1.18 % of base)
        -128 : 609955.dasm (-1.48 % of base)
        -116 : 631934.dasm (-2.46 % of base)
        -116 : 656164.dasm (-3.48 % of base)
        -112 : 624953.dasm (-1.31 % of base)
        -112 : 642448.dasm (-1.36 % of base)
        -108 : 559460.dasm (-0.74 % of base)
        -108 : 656313.dasm (-0.88 % of base)
        -108 : 621128.dasm (-1.24 % of base)
        -104 : 624566.dasm (-2.24 % of base)
        -104 : 205319.dasm (-1.94 % of base)
        -100 : 518544.dasm (-0.76 % of base)
         -96 : 607204.dasm (-1.10 % of base)
         -88 : 704044.dasm (-0.53 % of base)
         -88 : 668196.dasm (-4.11 % of base)
91 total files with Code Size differences (52 improved, 39 regressed), 20 unchanged.
Top method regressions (bytes):
         100 (0.75 % of base) : 438611.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
          96 (2.81 % of base) : 669906.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)
          96 (1.51 % of base) : 342225.dasm - System.Linq.Parallel.SortHelper`2[System.Collections.Generic.KeyValuePair`2[int,System.Collections.Generic.KeyValuePair`2[int,int]],System.Linq.Parallel.Pair`2[int,int]]:MergeSortCooperatively():this (Tier1)
          96 (2.40 % of base) : 488264.dasm - System.Runtime.Caching.MemoryCacheStore:Dispose():this (Tier1-OSR)
          92 (0.46 % of base) : 89128.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 (0.46 % of base) : 670170.dasm - Microsoft.CodeAnalysis.CSharp.Binder:TryPerformConstructorOverloadResolution(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.String,Microsoft.CodeAnalysis.Location,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref,byref,ubyte,ubyte):ubyte:this (Tier1)
          92 (0.71 % of base) : 660504.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
          88 (1.13 % of base) : 678557.dasm - Microsoft.Cci.MetadataVisitor:Visit(System.Collections.Generic.IEnumerable`1[Microsoft.Cci.IMethodDefinition]):this (Tier1)
          84 (4.77 % of base) : 229449.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.77 % of base) : 686018.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)
          76 (0.64 % of base) : 51305.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier1)
          76 (0.64 % of base) : 82318.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier1)
          76 (10.16 % of base) : 709197.dasm - System.Threading.Channels.UnboundedChannel`1+UnboundedChannelWriter[int]:TryWrite(int):ubyte:this (Tier1)
          64 (3.25 % of base) : 649519.dasm - System.Linq.Enumerable:Contains[ubyte](System.Collections.Generic.IEnumerable`1[ubyte],ubyte,System.Collections.Generic.IEqualityComparer`1[ubyte]):ubyte (Tier1)
          64 (0.34 % of base) : 475040.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess1():int:this (Tier1)
          64 (0.33 % of base) : 475041.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess2():int:this (Tier1)
          64 (0.34 % of base) : 475043.dasm - System.Xml.Tests.TCAttributeAccess:TestAttributeAccess4():int:this (Tier1)
          60 (0.53 % of base) : 82200.dasm - Microsoft.CodeAnalysis.CSharp.DeclarationTreeBuilder:VisitTypeDeclaration(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax,ubyte):Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration:this (Tier1)
          60 (0.48 % of base) : 314364.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
          56 (0.47 % of base) : 683664.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (Tier1)
Top method improvements (bytes):
        -308 (-2.94 % of base) : 103805.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)
        -248 (-1.24 % of base) : 60576.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)
        -184 (-1.37 % of base) : 494833.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
        -144 (-0.89 % of base) : 702297.dasm - System.Text.RegularExpressions.Tests.GetGroupNamesTests:GroupNamesAndNumbers(System.String,System.String,System.String[],int[],System.String[],int):this (Tier1)
        -140 (-0.98 % of base) : 623297.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)
        -136 (-1.18 % of base) : 677993.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (Tier1-OSR)
        -128 (-1.48 % of base) : 609955.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.__Canon]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -116 (-3.48 % of base) : 656164.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (Tier1)
        -116 (-2.46 % of base) : 631934.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.__Canon]:PopulatePropertiesFastPath(System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Text.Json.JsonSerializerOptions,byref,byref) (Tier1)
        -112 (-1.36 % of base) : 642448.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -112 (-1.31 % of base) : 624953.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Text.Json.Serialization.Tests.Point_2D_Struct_WithAttribute]:ReadConstructorArgumentsWithContinuation(byref,byref,System.Text.Json.JsonSerializerOptions):ubyte:this (Tier1)
        -108 (-0.74 % of base) : 559460.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
        -108 (-1.24 % of base) : 621128.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)
        -108 (-0.88 % of base) : 656313.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)
        -104 (-2.24 % of base) : 624566.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Text.Json.Serialization.Tests.Point_2D_With_ExtData]:ReadConstructorArgumentsWithContinuation(byref,byref,System.Text.Json.JsonSerializerOptions):ubyte:this (Tier1)
        -104 (-1.94 % of base) : 205319.dasm - Xunit.Sdk.ReflectionMethodInfo:GetParent(System.Reflection.MethodInfo):System.Reflection.MethodInfo (Tier1)
        -100 (-0.76 % of base) : 518544.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         -96 (-1.10 % of base) : 607204.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.__Canon]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
         -88 (-0.53 % of base) : 704044.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)
         -88 (-4.11 % of base) : 668196.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:SkipBadTokens[System.__Canon](byref,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder,System.Func`2[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser,ubyte],System.Func`2[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser,ubyte],int):int:this (Tier1)
Top method regressions (percentages):
          36 (112.50 % of base) : 551945.dasm - System.Security.Cryptography.IncrementalHash:CheckSha3Support(System.String) (Tier1)
          36 (112.50 % of base) : 557946.dasm - System.Security.Cryptography.IncrementalHash:CheckSha3Support(System.String) (Tier1)
          36 (112.50 % of base) : 560518.dasm - System.Security.Cryptography.IncrementalHash:CheckSha3Support(System.String) (Tier1)
          20 (55.56 % of base) : 104490.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:IsDynamicallyTypedRuntimeProxy(System.Dynamic.DynamicMetaObject,Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo):ubyte (Tier1)
          28 (18.92 % of base) : 200846.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
          28 (18.92 % of base) : 652449.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
          28 (18.92 % of base) : 709199.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
          28 (18.92 % of base) : 718995.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
          32 (17.78 % of base) : 383676.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Diagnostics.Metrics.Measurement`1[double]]:Enqueue(System.Diagnostics.Metrics.Measurement`1[double]):this (Tier1)
          28 (17.50 % of base) : 715586.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
          20 (12.82 % of base) : 708462.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          48 (11.43 % of base) : 172911.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          48 (11.43 % of base) : 182442.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          48 (11.43 % of base) : 168425.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          76 (10.16 % of base) : 709197.dasm - System.Threading.Channels.UnboundedChannel`1+UnboundedChannelWriter[int]:TryWrite(int):ubyte:this (Tier1)
          44 (8.80 % of base) : 213050.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) : 220112.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 305492.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 546856.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 490920.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
Top method improvements (percentages):
         -36 (-8.49 % of base) : 260148.dasm - System.Data.Common.Int32Storage:Aggregate(int[],int):System.Object:this (Tier1-OSR)
         -24 (-7.69 % of base) : 313892.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -24 (-7.41 % of base) : 233176.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -24 (-7.41 % of base) : 389296.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -24 (-7.41 % of base) : 489495.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -24 (-7.41 % of base) : 493989.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -24 (-7.41 % of base) : 582696.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -24 (-7.41 % of base) : 128600.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.49 % of base) : 503296.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.49 % of base) : 506702.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.49 % of base) : 182900.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.49 % of base) : 273228.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.49 % of base) : 719678.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.25 % of base) : 486624.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.25 % of base) : 182306.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.25 % of base) : 240889.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.25 % of base) : 510166.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.25 % of base) : 513962.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-5.95 % of base) : 308789.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-5.81 % of base) : 192031.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(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: 163159496 (overridden on cmd)
Total bytes of diff: 163159424 (overridden on cmd)
Total bytes of delta: -72 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          56 : 165720.dasm (0.79 % of base)
          56 : 39320.dasm (43.75 % of base)
          48 : 195380.dasm (5.69 % of base)
          40 : 164876.dasm (0.66 % of base)
          40 : 165564.dasm (0.66 % of base)
          36 : 286480.dasm (0.95 % of base)
          32 : 212846.dasm (9.76 % of base)
          28 : 129213.dasm (1.67 % of base)
          28 : 303363.dasm (0.44 % of base)
          24 : 163998.dasm (2.53 % of base)
          24 : 170465.dasm (5.71 % of base)
          24 : 17528.dasm (7.79 % of base)
          20 : 179430.dasm (10.20 % of base)
          20 : 30768.dasm (0.68 % of base)
          20 : 155224.dasm (0.72 % of base)
          20 : 179023.dasm (1.66 % of base)
          20 : 179428.dasm (3.23 % of base)
          20 : 278807.dasm (0.68 % of base)
          20 : 178386.dasm (5.10 % of base)
          20 : 178403.dasm (5.81 % of base)
Top file improvements (bytes):
        -140 : 59263.dasm (-0.48 % of base)
        -104 : 14807.dasm (-1.78 % of base)
         -92 : 44417.dasm (-1.57 % of base)
         -80 : 24593.dasm (-2.55 % of base)
         -68 : 5272.dasm (-1.39 % of base)
         -52 : 164007.dasm (-0.45 % of base)
         -44 : 43318.dasm (-1.59 % of base)
         -44 : 49043.dasm (-1.59 % of base)
         -36 : 51870.dasm (-0.78 % of base)
         -36 : 50319.dasm (-0.63 % of base)
         -28 : 15561.dasm (-3.45 % of base)
         -24 : 24559.dasm (-0.26 % of base)
         -24 : 40387.dasm (-1.04 % of base)
         -24 : 175411.dasm (-1.51 % of base)
         -20 : 164147.dasm (-0.44 % of base)
         -20 : 13136.dasm (-0.83 % of base)
         -16 : 153073.dasm (-0.39 % of base)
         -16 : 165029.dasm (-0.51 % of base)
         -16 : 270772.dasm (-1.25 % of base)
         -16 : 278637.dasm (-0.83 % of base)
64 total files with Code Size differences (31 improved, 33 regressed), 20 unchanged.
Top method regressions (bytes):
          56 (43.75 % of base) : 39320.dasm - Microsoft.Extensions.Logging.Console.ConsoleLoggerProvider:DoesConsoleSupportAnsi():ubyte (FullOpts)
          56 (0.79 % of base) : 165720.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderTypeWithGetSetArrayMembers:Read3_TypeWithGetSetArrayMembers(ubyte,ubyte):SerializationTypes.TypeWithGetSetArrayMembers:this (FullOpts)
          48 (5.69 % of base) : 195380.dasm - System.Runtime.Serialization.SchemaExporter:ReprocessAll(System.Xml.Schema.XmlSchemaSet) (FullOpts)
          40 (0.66 % of base) : 164876.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderXmlSerializerAttributes:Read3_XmlSerializerAttributes(ubyte,ubyte):SerializationTypes.XmlSerializerAttributes:this (FullOpts)
          40 (0.66 % of base) : 165564.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderXmlSerializerAttributes:Read3_XmlSerializerAttributes(ubyte,ubyte):SerializationTypes.XmlSerializerAttributes:this (FullOpts)
          36 (0.95 % of base) : 286480.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex31992_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          32 (9.76 % of base) : 212846.dasm - System.Tests.Int128Tests_GenericMath:IsPow2Test() (FullOpts)
          28 (1.67 % of base) : 129213.dasm - System.Text.DBCSCodePageEncoding:ReadBestFitTable():this (FullOpts)
          28 (0.44 % of base) : 303363.dasm - System.Xml.XmlTextReaderImpl+<ParseAttributeValueSlowAsync>d__532:MoveNext():this (FullOpts)
          24 (7.79 % of base) : 17528.dasm - Microsoft.DotNet.RemoteExecutor.PasteArguments:Paste(System.Collections.Generic.IEnumerable`1[System.String],ubyte):System.String (FullOpts)
          24 (2.53 % of base) : 163998.dasm - System.Xml.Serialization.TypeScope:ShouldBeReplaced(System.Reflection.MemberInfo,System.Type,byref):ubyte (FullOpts)
          24 (5.71 % of base) : 170465.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          20 (0.68 % of base) : 30768.dasm - Microsoft.CodeAnalysis.CSharp.Binder:MakeIsPatternExpression(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundPattern,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          20 (0.72 % of base) : 155224.dasm - System.Net.Security.Tests.SslStreamNetworkStreamTest+<SslStream_ClientCertificate_SendsChain>d__19:MoveNext():this (FullOpts)
          20 (3.23 % of base) : 179428.dasm - System.Reflection.Emit.EnumBuilderImpl:.ctor(System.String,System.Type,int,System.Reflection.Emit.ModuleBuilderImpl):this (FullOpts)
          20 (4.31 % of base) : 179429.dasm - System.Reflection.Emit.EnumBuilderImpl:DefineLiteralCore(System.String,System.Object):System.Reflection.Emit.FieldBuilder:this (FullOpts)
          20 (5.81 % of base) : 178403.dasm - System.Reflection.Emit.TypeBuilderImpl:CreateTypeInfoCore():System.Reflection.TypeInfo:this (FullOpts)
          20 (1.66 % of base) : 179023.dasm - System.Reflection.Emit.TypeBuilderImpl:DefineDataHelper(System.String,ubyte[],int,int):System.Reflection.Emit.FieldBuilder:this (FullOpts)
          20 (5.10 % of base) : 178386.dasm - System.Reflection.Emit.TypeBuilderImpl:DefineFieldCore(System.String,System.Type,System.Type[],System.Type[],int):System.Reflection.Emit.FieldBuilder:this (FullOpts)
          20 (10.20 % of base) : 179430.dasm - System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
Top method improvements (bytes):
        -140 (-0.48 % of base) : 59263.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        -104 (-1.78 % of base) : 14807.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) : 44417.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) : 24593.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -68 (-1.39 % of base) : 5272.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) : 164007.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
         -44 (-1.59 % of base) : 43318.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) : 49043.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)
         -36 (-0.63 % of base) : 50319.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) : 51870.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) : 15561.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ushort]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -24 (-0.26 % of base) : 24559.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) : 40387.dasm - Microsoft.Extensions.Hosting.Internal.HostTests+<AppCrashesOnStartWhenFirstHostedServiceThrows>d__12:MoveNext():this (FullOpts)
         -24 (-1.51 % of base) : 175411.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.83 % of base) : 13136.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) : 164147.dasm - System.Xml.Serialization.XmlSerializationReader:ReadArray(System.String,System.String):System.Array:this (FullOpts)
         -16 (-1.67 % of base) : 46238.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:CanBePassedByReference(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
         -16 (-0.51 % of base) : 165029.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1:Read3_wrapper():System.Object[]:this (FullOpts)
         -16 (-1.89 % of base) : 79196.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) : 153073.dasm - System.Net.HttpWebRequest+<SendRequest>d__196:MoveNext():this (FullOpts)
Top method regressions (percentages):
          56 (43.75 % of base) : 39320.dasm - Microsoft.Extensions.Logging.Console.ConsoleLoggerProvider:DoesConsoleSupportAnsi():ubyte (FullOpts)
          20 (10.20 % of base) : 179430.dasm - System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
          32 (9.76 % of base) : 212846.dasm - System.Tests.Int128Tests_GenericMath:IsPow2Test() (FullOpts)
           4 (9.09 % of base) : 96014.dasm - System.Data.Tests.DataTableTest2+DataRowsComparer:.ctor(System.String,System.String):this (FullOpts)
          24 (7.79 % of base) : 17528.dasm - Microsoft.DotNet.RemoteExecutor.PasteArguments:Paste(System.Collections.Generic.IEnumerable`1[System.String],ubyte):System.String (FullOpts)
          20 (5.81 % of base) : 178403.dasm - System.Reflection.Emit.TypeBuilderImpl:CreateTypeInfoCore():System.Reflection.TypeInfo:this (FullOpts)
          24 (5.71 % of base) : 170465.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          48 (5.69 % of base) : 195380.dasm - System.Runtime.Serialization.SchemaExporter:ReprocessAll(System.Xml.Schema.XmlSchemaSet) (FullOpts)
          20 (5.10 % of base) : 178386.dasm - System.Reflection.Emit.TypeBuilderImpl:DefineFieldCore(System.String,System.Type,System.Type[],System.Type[],int):System.Reflection.Emit.FieldBuilder:this (FullOpts)
           4 (4.55 % of base) : 142107.dasm - System.SpanHelpers:LastIndexOfAnyExceptInRange[System.TimeSpan](byref,System.TimeSpan,System.TimeSpan,int):int (FullOpts)
          16 (4.40 % of base) : 146524.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          20 (4.31 % of base) : 179429.dasm - System.Reflection.Emit.EnumBuilderImpl:DefineLiteralCore(System.String,System.Object):System.Reflection.Emit.FieldBuilder:this (FullOpts)
           4 (4.17 % of base) : 142105.dasm - System.SpanHelpers:IndexOfAnyExceptInRange[System.TimeSpan](byref,System.TimeSpan,System.TimeSpan,int):int (FullOpts)
           8 (3.64 % of base) : 152002.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:AddUniqueStatus(System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],byref) (FullOpts)
          16 (3.48 % of base) : 197475.dasm - SerializationTestTypes.DataContract:GetIsReferenceValue():ubyte:this (FullOpts)
          16 (3.48 % of base) : 198793.dasm - SerializationTestTypes.DataContract:GetIsReferenceValue():ubyte:this (FullOpts)
          20 (3.23 % of base) : 179428.dasm - System.Reflection.Emit.EnumBuilderImpl:.ctor(System.String,System.Type,int,System.Reflection.Emit.ModuleBuilderImpl):this (FullOpts)
           4 (2.86 % of base) : 188760.dasm - System.Runtime.InteropServices.Tests.DoubleArrayTests+<>c__DisplayClass4_0:<CopyTo_NegativeLength_ThrowsArgumentOutOfRangeException>b__0():this (FullOpts)
           4 (2.86 % of base) : 188488.dasm - System.Runtime.InteropServices.Tests.Int16ArrayTests+<>c__DisplayClass4_0:<CopyTo_NegativeLength_ThrowsArgumentOutOfRangeException>b__0():this (FullOpts)
           4 (2.86 % of base) : 189284.dasm - System.Runtime.InteropServices.Tests.Int64ArrayTests+<>c__DisplayClass4_0:<CopyTo_NegativeLength_ThrowsArgumentOutOfRangeException>b__0():this (FullOpts)
Top method improvements (percentages):
          -4 (-3.57 % of base) : 14217.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
          -4 (-3.57 % of base) : 50540.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
         -28 (-3.45 % of base) : 15561.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ushort]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -80 (-2.55 % of base) : 24593.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -16 (-1.89 % of base) : 79196.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) : 14807.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) : 46238.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:CanBePassedByReference(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
         -44 (-1.59 % of base) : 43318.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) : 49043.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) : 44417.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) : 37392.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
         -24 (-1.51 % of base) : 175411.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) : 5272.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) : 31435.dasm - Microsoft.CodeAnalysis.RealParser:ConvertBigIntegerToFloatingPointBits(ubyte[],uint,ubyte,Microsoft.CodeAnalysis.RealParser+FloatingPointType,byref):int (FullOpts)
          -8 (-1.31 % of base) : 37393.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTarget(byref,System.String):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target:this (FullOpts)
         -16 (-1.25 % of base) : 270772.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex8620_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -4 (-1.23 % of base) : 50928.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) : 44941.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) : 8927.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) : 254221.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: 15377016 (overridden on cmd)
Total bytes of diff: 15377064 (overridden on cmd)
Total bytes of delta: 48 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          36 : 23868.dasm (1.23 % of base)
          24 : 8508.dasm (0.14 % of base)
          24 : 8560.dasm (1.09 % of base)
          24 : 8564.dasm (1.22 % of base)
          24 : 10685.dasm (4.84 % of base)
          24 : 10706.dasm (4.88 % of base)
          20 : 23934.dasm (0.18 % of base)
          16 : 1435.dasm (1.92 % of base)
          16 : 22262.dasm (2.88 % of base)
          16 : 13480.dasm (0.50 % of base)
          16 : 13061.dasm (0.34 % of base)
          12 : 5318.dasm (0.19 % of base)
          12 : 5600.dasm (1.24 % of base)
          12 : 14274.dasm (0.14 % of base)
          12 : 14982.dasm (1.20 % of base)
           8 : 2499.dasm (0.31 % of base)
           8 : 2067.dasm (0.99 % of base)
           4 : 15411.dasm (1.43 % of base)
           4 : 20177.dasm (0.44 % of base)
           4 : 2144.dasm (0.19 % of base)
Top file improvements (bytes):
         -68 : 7111.dasm (-0.92 % of base)
         -20 : 25558.dasm (-0.84 % of base)
         -20 : 3705.dasm (-0.33 % of base)
         -16 : 2262.dasm (-0.70 % of base)
         -16 : 14610.dasm (-0.41 % of base)
         -12 : 12034.dasm (-0.66 % of base)
         -12 : 23882.dasm (-0.27 % of base)
         -12 : 22949.dasm (-0.40 % of base)
          -8 : 17913.dasm (-0.10 % of base)
          -8 : 18344.dasm (-0.26 % of base)
          -8 : 26484.dasm (-0.16 % of base)
          -8 : 10965.dasm (-0.08 % of base)
          -8 : 16054.dasm (-0.26 % of base)
          -8 : 16073.dasm (-0.37 % of base)
          -8 : 17158.dasm (-0.39 % of base)
          -4 : 14141.dasm (-0.12 % of base)
          -4 : 15851.dasm (-0.33 % of base)
          -4 : 20223.dasm (-0.32 % of base)
          -4 : 2461.dasm (-0.46 % of base)
          -4 : 29102.dasm (-0.43 % of base)
52 total files with Code Size differences (26 improved, 26 regressed), 20 unchanged.
Top method regressions (bytes):
          36 (1.23 % of base) : 23868.dasm - Microsoft.CodeAnalysis.CSharp.Binder:MakeIsPatternExpression(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundPattern,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          24 (0.14 % of base) : 8508.dasm - FSharp.Compiler.CheckExpressions:TcPat(FSharp.Compiler.NameResolution+WarnOnUpperFlag,FSharp.Compiler.CheckExpressions+TcFileState,FSharp.Compiler.CheckExpressions+TcEnv,Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.CheckExpressions+PartialValReprInfo],FSharp.Compiler.TypedTree+ValInline,FSharp.Compiler.CheckExpressions+ExplicitTyparInfo,FSharp.Compiler.CheckExpressions+ArgAndRetAttribs,ubyte,Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynAccess],ubyte,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String],FSharp.Compiler.TypedTree+TType,FSharp.Compiler.Syntax.SynPat):System.Tuple`2[Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.CheckExpressions+TcPatPhase2Input,FSharp.Compiler.PatternMatchCompilation+Pattern],System.Tuple`3[FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String]]] (FullOpts)
          24 (1.22 % of base) : 8564.dasm - FSharp.Compiler.CheckExpressions:TcSimplePat(ubyte,FSharp.Compiler.CheckExpressions+CheckConstraints,FSharp.Compiler.CheckExpressions+TcFileState,FSharp.Compiler.TypedTree+TType,FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String],FSharp.Compiler.Syntax.SynSimplePat):System.Tuple`2[System.String,System.Tuple`3[FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String]]] (FullOpts)
          24 (1.09 % of base) : 8560.dasm - FSharp.Compiler.CheckExpressions:TcSimplePats(FSharp.Compiler.CheckExpressions+TcFileState,ubyte,FSharp.Compiler.CheckExpressions+CheckConstraints,FSharp.Compiler.TypedTree+TType,FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String],FSharp.Compiler.Syntax.SynSimplePats):System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[System.String],System.Tuple`3[FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String]]] (FullOpts)
          24 (4.84 % of base) : 10685.dasm - FSharp.Compiler.Infos+PropInfo:get_IsNewSlot():ubyte:this (FullOpts)
          24 (4.88 % of base) : 10706.dasm - FSharp.Compiler.Infos+PropInfo:get_IsStatic():ubyte:this (FullOpts)
          20 (0.18 % of base) : 23934.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
          16 (1.92 % of base) : 1435.dasm - BepuUtilities.Collections.QuickSort:Sort[int,BepuPhysics.Trees.Tree+IndexMapComparer](byref,int,int,byref) (FullOpts)
          16 (2.88 % of base) : 22262.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) : 13480.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) : 13061.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) : 5600.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) : 14274.dasm - Microsoft.ML.Transforms.Text.TextFeaturizingEstimator:Fit(Microsoft.ML.IDataView):Microsoft.ML.ITransformer:this (FullOpts)
          12 (1.20 % of base) : 14982.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (FullOpts)
           8 (0.99 % of base) : 2067.dasm - BepuPhysics.CollisionDetection.ConstraintRemover:RemoveConstraintsFromBodyLists():this (FullOpts)
           8 (0.31 % of base) : 2499.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
           4 (0.19 % of base) : 2144.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.42 % of base) : 2166.dasm - BepuUtilities.Collections.QuickSort:Sort[BepuPhysics.CollisionDetection.TypeBatchIndex,BepuPhysics.CollisionDetection.ConstraintRemover+RemovalsForTypeBatch,BepuPhysics.CollisionDetection.ConstraintRemover+TypeBatchIndexComparer](byref,byref,int,int,byref) (FullOpts)
           4 (2.70 % of base) : 17780.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
Top method improvements (bytes):
         -68 (-0.92 % of base) : 7111.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.84 % of base) : 25558.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) : 14610.dasm - System.Net.HttpWebRequest+<SendRequest>d__196:MoveNext():this (FullOpts)
         -12 (-0.27 % of base) : 23882.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) : 22949.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:Populate(Microsoft.CodeAnalysis.CSharp.NullableWalker+VariablesSnapshot):this (FullOpts)
         -12 (-0.66 % of base) : 12034.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.HuffmanScanDecoder:ParseBaselineDataSingleComponent():this (FullOpts)
          -8 (-0.08 % of base) : 10965.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.16 % of base) : 26484.dasm - Microsoft.CodeAnalysis.AnalyzerConfigSet+GlobalAnalyzerConfigBuilder:Build(Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.AnalyzerConfigSet+GlobalAnalyzerConfig:this (FullOpts)
          -8 (-0.10 % of base) : 17913.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
          -8 (-0.26 % of base) : 18344.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) : 17158.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlEntity(byref):this (FullOpts)
          -8 (-0.26 % of base) : 16054.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) : 16073.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
          -4 (-0.43 % of base) : 29102.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
          -4 (-0.19 % of base) : 26001.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:GetUserDefinedOperators(int,ubyte,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.UnaryOperatorAnalysisResult],byref):ubyte:this (FullOpts)
          -4 (-1.23 % of base) : 19909.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 (-0.32 % of base) : 20223.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddDeclaredNontypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -4 (-0.40 % of base) : 19057.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (FullOpts)
Top method regressions (percentages):
          24 (4.88 % of base) : 10706.dasm - FSharp.Compiler.Infos+PropInfo:get_IsStatic():ubyte:this (FullOpts)
          24 (4.84 % of base) : 10685.dasm - FSharp.Compiler.Infos+PropInfo:get_IsNewSlot():ubyte:this (FullOpts)
          16 (2.88 % of base) : 22262.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) : 17780.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
          16 (1.92 % of base) : 1435.dasm - BepuUtilities.Collections.QuickSort:Sort[int,BepuPhysics.Trees.Tree+IndexMapComparer](byref,int,int,byref) (FullOpts)
           4 (1.43 % of base) : 15411.dasm - System.Security.Cryptography.X509Certificates.CertificatePolicyChain:MatchesApplicationPolicies(System.Security.Cryptography.OidCollection):ubyte:this (FullOpts)
          12 (1.24 % of base) : 5600.dasm - FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5[int,int,int,int,int] (FullOpts)
          36 (1.23 % of base) : 23868.dasm - Microsoft.CodeAnalysis.CSharp.Binder:MakeIsPatternExpression(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundPattern,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          24 (1.22 % of base) : 8564.dasm - FSharp.Compiler.CheckExpressions:TcSimplePat(ubyte,FSharp.Compiler.CheckExpressions+CheckConstraints,FSharp.Compiler.CheckExpressions+TcFileState,FSharp.Compiler.TypedTree+TType,FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String],FSharp.Compiler.Syntax.SynSimplePat):System.Tuple`2[System.String,System.Tuple`3[FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String]]] (FullOpts)
          12 (1.20 % of base) : 14982.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (FullOpts)
          24 (1.09 % of base) : 8560.dasm - FSharp.Compiler.CheckExpressions:TcSimplePats(FSharp.Compiler.CheckExpressions+TcFileState,ubyte,FSharp.Compiler.CheckExpressions+CheckConstraints,FSharp.Compiler.TypedTree+TType,FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String],FSharp.Compiler.Syntax.SynSimplePats):System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[System.String],System.Tuple`3[FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String]]] (FullOpts)
           8 (0.99 % of base) : 2067.dasm - BepuPhysics.CollisionDetection.ConstraintRemover:RemoveConstraintsFromBodyLists():this (FullOpts)
          16 (0.50 % of base) : 13480.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) : 20177.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) : 23462.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.42 % of base) : 2166.dasm - BepuUtilities.Collections.QuickSort:Sort[BepuPhysics.CollisionDetection.TypeBatchIndex,BepuPhysics.CollisionDetection.ConstraintRemover+RemovalsForTypeBatch,BepuPhysics.CollisionDetection.ConstraintRemover+TypeBatchIndexComparer](byref,byref,int,int,byref) (FullOpts)
           4 (0.36 % of base) : 30837.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) : 15758.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) : 13061.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)
Top method improvements (percentages):
          -4 (-1.23 % of base) : 19909.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) : 7111.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) : 25558.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) : 12034.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) : 29102.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
         -16 (-0.41 % of base) : 14610.dasm - System.Net.HttpWebRequest+<SendRequest>d__196:MoveNext():this (FullOpts)
          -4 (-0.40 % of base) : 19057.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (FullOpts)
         -12 (-0.40 % of base) : 22949.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:Populate(Microsoft.CodeAnalysis.CSharp.NullableWalker+VariablesSnapshot):this (FullOpts)
          -4 (-0.39 % of base) : 13479.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,System.__Canon]:TryRemoveInternal(int,byref,ubyte,System.__Canon):ubyte:this (FullOpts)
          -8 (-0.39 % of base) : 17158.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlEntity(byref):this (FullOpts)
          -4 (-0.39 % of base) : 15907.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) : 16073.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
          -4 (-0.36 % of base) : 13128.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:get_Count():int:this (FullOpts)
          -4 (-0.33 % of base) : 15851.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) : 20223.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddDeclaredNontypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -12 (-0.27 % of base) : 23882.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)
          -8 (-0.26 % of base) : 16054.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)
  
smoke_tests.nativeaot.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 2946560 (overridden on cmd)
Total bytes of diff: 2946592 (overridden on cmd)
Total bytes of delta: 32 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          20 : 2920.dasm (0.94 % of base)
          20 : 5075.dasm (1.04 % of base)
          12 : 1667.dasm (3.06 % of base)
           8 : 8390.dasm (4.65 % of base)
           8 : 17817.dasm (0.25 % of base)
           8 : 1660.dasm (0.25 % of base)
           4 : 1202.dasm (0.34 % of base)
           4 : 3908.dasm (0.67 % of base)
           4 : 6339.dasm (2.50 % of base)
           4 : 6877.dasm (0.99 % of base)
           4 : 7477.dasm (0.96 % of base)
           4 : 9697.dasm (0.17 % of base)
           4 : 16238.dasm (2.13 % of base)
           4 : 1291.dasm (0.26 % of base)
           4 : 4992.dasm (3.12 % of base)
           4 : 7510.dasm (1.11 % of base)
           4 : 7638.dasm (2.33 % of base)
           4 : 7723.dasm (1.23 % of base)
           4 : 9405.dasm (0.55 % of base)
           4 : 9881.dasm (0.28 % of base)
Top file improvements (bytes):
         -28 : 5745.dasm (-3.72 % of base)
         -20 : 9858.dasm (-0.87 % of base)
         -16 : 9991.dasm (-1.48 % of base)
         -12 : 9396.dasm (-1.55 % of base)
          -8 : 2668.dasm (-1.67 % of base)
          -8 : 6509.dasm (-0.86 % of base)
          -4 : 8956.dasm (-0.51 % of base)
          -4 : 9828.dasm (-0.29 % of base)
          -4 : 1233.dasm (-0.14 % of base)
30 total files with Code Size differences (9 improved, 21 regressed), 29 unchanged.
Top method regressions (bytes):
          20 (1.04 % of base) : 5075.dasm - System.Text.StringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.Text.StringBuilder:this (FullOpts)
          20 (0.94 % of base) : 2920.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
          12 (3.06 % of base) : 1667.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
           8 (4.65 % of base) : 8390.dasm - PInvokeTests.Program:TestSizeParamIndex() (FullOpts)
           8 (0.25 % of base) : 17817.dasm - System.Threading.Lock:TryEnterSlow(int,System.Threading.Lock+ThreadId):System.Threading.Lock+ThreadId:this (FullOpts)
           8 (0.25 % of base) : 1660.dasm - System.Threading.Lock:TryEnterSlow(int,System.Threading.Lock+ThreadId):System.Threading.Lock+ThreadId:this (FullOpts)
           4 (2.13 % of base) : 16238.dasm - Internal.Reflection.Execution.ExecutionEnvironmentImplementation:GetManifestResourceNames(System.Reflection.Assembly):System.String[]:this (FullOpts)
           4 (2.33 % of base) : 7638.dasm - Internal.Runtime.TypeLoader.EETypeCreator:IsAllGCPointers(System.Collections.Generic.LowLevelList`1[ubyte]):ubyte (FullOpts)
           4 (1.23 % of base) : 7723.dasm - Internal.Runtime.TypeLoader.MetadataNameExtensions:GetContainingModuleName(Internal.Metadata.NativeFormat.TypeDefinitionHandle,Internal.Metadata.NativeFormat.MetadataReader):System.String (FullOpts)
           4 (2.50 % of base) : 6339.dasm - Internal.Runtime.TypeLoader.TypeBuilder:ProcessTypesNeedingPreparation():this (FullOpts)
           4 (0.99 % of base) : 6877.dasm - Internal.Runtime.TypeLoader.TypeBuilder:RegisterGenericTypesAndMethods():this (FullOpts)
           4 (1.11 % of base) : 7510.dasm - Internal.Runtime.TypeLoader.TypeBuilder+<TypesToRegister>d__32:MoveNext():ubyte:this (FullOpts)
           4 (3.12 % of base) : 4992.dasm - Internal.TypeSystem.TypeSystemContext:FlushTypeBuilderStates():this (FullOpts)
           4 (0.48 % of base) : 9926.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.55 % of base) : 9405.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:get_Count():int:this (FullOpts)
           4 (0.96 % of base) : 7477.dasm - System.Globalization.UmAlQuraCalendar:ConvertGregorianToHijri(System.DateTime,byref,byref,byref) (FullOpts)
           4 (0.28 % of base) : 9881.dasm - System.Net.Sockets.SocketPal:SysReceive(System.Net.Sockets.SafeSocketHandle,int,System.Collections.Generic.IList`1[System.ArraySegment`1[ubyte]],System.Span`1[ubyte],byref,byref,byref):int (FullOpts)
           4 (0.67 % of base) : 3908.dasm - System.Reflection.Runtime.General.NamespaceChain:.ctor(Internal.Metadata.NativeFormat.MetadataReader,Internal.Metadata.NativeFormat.NamespaceDefinitionHandle):this (FullOpts)
           4 (0.34 % of base) : 1202.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
           4 (0.26 % of base) : 1291.dasm - System.Text.UTF32Encoding:GetChars(ulong,int,ulong,int,System.Text.DecoderNLS):int:this (FullOpts)
Top method improvements (bytes):
         -28 (-3.72 % of base) : 5745.dasm - System.Threading.PortableThreadPool+WorkerThread:WorkerThreadStart() (FullOpts)
         -20 (-0.87 % of base) : 9858.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -16 (-1.48 % of base) : 9991.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[long,System.Net.Sockets.SocketAsyncEngine+SocketAsyncContextWrapper]:TryAddInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[long,System.Net.Sockets.SocketAsyncEngine+SocketAsyncContextWrapper],long,System.Nullable`1[int],System.Net.Sockets.SocketAsyncEngine+SocketAsyncContextWrapper,ubyte,ubyte,byref):ubyte:this (FullOpts)
         -12 (-1.55 % of base) : 9396.dasm - System.SpanHelpers:LastIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,short,int):int (FullOpts)
          -8 (-1.67 % of base) : 2668.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
          -8 (-0.86 % of base) : 6509.dasm - System.Threading.WaitSubsystem:Wait(System.Span`1[long],ubyte,int):int (FullOpts)
          -4 (-0.14 % of base) : 1233.dasm - System.Text.UnicodeEncoding:GetChars(ulong,int,ulong,int,System.Text.DecoderNLS):int:this (FullOpts)
          -4 (-0.51 % of base) : 8956.dasm - System.Threading.TimerQueue:FireNextTimers():this (FullOpts)
          -4 (-0.29 % of base) : 9828.dasm - System.UriHelper:UnescapeString(ulong,int,int,byref,ushort,ushort,ushort,int,System.UriParser,ubyte) (FullOpts)
Top method regressions (percentages):
           8 (4.65 % of base) : 8390.dasm - PInvokeTests.Program:TestSizeParamIndex() (FullOpts)
           4 (3.12 % of base) : 4992.dasm - Internal.TypeSystem.TypeSystemContext:FlushTypeBuilderStates():this (FullOpts)
          12 (3.06 % of base) : 1667.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
           4 (2.50 % of base) : 6339.dasm - Internal.Runtime.TypeLoader.TypeBuilder:ProcessTypesNeedingPreparation():this (FullOpts)
           4 (2.33 % of base) : 7638.dasm - Internal.Runtime.TypeLoader.EETypeCreator:IsAllGCPointers(System.Collections.Generic.LowLevelList`1[ubyte]):ubyte (FullOpts)
           4 (2.13 % of base) : 16238.dasm - Internal.Reflection.Execution.ExecutionEnvironmentImplementation:GetManifestResourceNames(System.Reflection.Assembly):System.String[]:this (FullOpts)
           4 (1.23 % of base) : 7723.dasm - Internal.Runtime.TypeLoader.MetadataNameExtensions:GetContainingModuleName(Internal.Metadata.NativeFormat.TypeDefinitionHandle,Internal.Metadata.NativeFormat.MetadataReader):System.String (FullOpts)
           4 (1.11 % of base) : 7510.dasm - Internal.Runtime.TypeLoader.TypeBuilder+<TypesToRegister>d__32:MoveNext():ubyte:this (FullOpts)
          20 (1.04 % of base) : 5075.dasm - System.Text.StringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.Text.StringBuilder:this (FullOpts)
           4 (0.99 % of base) : 6877.dasm - Internal.Runtime.TypeLoader.TypeBuilder:RegisterGenericTypesAndMethods():this (FullOpts)
           4 (0.96 % of base) : 7477.dasm - System.Globalization.UmAlQuraCalendar:ConvertGregorianToHijri(System.DateTime,byref,byref,byref) (FullOpts)
          20 (0.94 % of base) : 2920.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
           4 (0.67 % of base) : 3908.dasm - System.Reflection.Runtime.General.NamespaceChain:.ctor(Internal.Metadata.NativeFormat.MetadataReader,Internal.Metadata.NativeFormat.NamespaceDefinitionHandle):this (FullOpts)
           4 (0.55 % of base) : 9405.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:get_Count():int:this (FullOpts)
           4 (0.48 % of base) : 9926.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.34 % of base) : 1202.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
           4 (0.28 % of base) : 9881.dasm - System.Net.Sockets.SocketPal:SysReceive(System.Net.Sockets.SafeSocketHandle,int,System.Collections.Generic.IList`1[System.ArraySegment`1[ubyte]],System.Span`1[ubyte],byref,byref,byref):int (FullOpts)
           4 (0.26 % of base) : 1291.dasm - System.Text.UTF32Encoding:GetChars(ulong,int,ulong,int,System.Text.DecoderNLS):int:this (FullOpts)
           8 (0.25 % of base) : 1660.dasm - System.Threading.Lock:TryEnterSlow(int,System.Threading.Lock+ThreadId):System.Threading.Lock+ThreadId:this (FullOpts)
           8 (0.25 % of base) : 17817.dasm - System.Threading.Lock:TryEnterSlow(int,System.Threading.Lock+ThreadId):System.Threading.Lock+ThreadId:this (FullOpts)
Top method improvements (percentages):
         -28 (-3.72 % of base) : 5745.dasm - System.Threading.PortableThreadPool+WorkerThread:WorkerThreadStart() (FullOpts)
          -8 (-1.67 % of base) : 2668.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
         -12 (-1.55 % of base) : 9396.dasm - System.SpanHelpers:LastIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,short,int):int (FullOpts)
         -16 (-1.48 % of base) : 9991.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[long,System.Net.Sockets.SocketAsyncEngine+SocketAsyncContextWrapper]:TryAddInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[long,System.Net.Sockets.SocketAsyncEngine+SocketAsyncContextWrapper],long,System.Nullable`1[int],System.Net.Sockets.SocketAsyncEngine+SocketAsyncContextWrapper,ubyte,ubyte,byref):ubyte:this (FullOpts)
         -20 (-0.87 % of base) : 9858.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -8 (-0.86 % of base) : 6509.dasm - System.Threading.WaitSubsystem:Wait(System.Span`1[long],ubyte,int):int (FullOpts)
          -4 (-0.51 % of base) : 8956.dasm - System.Threading.TimerQueue:FireNextTimers():this (FullOpts)
          -4 (-0.29 % of base) : 9828.dasm - System.UriHelper:UnescapeString(ulong,int,int,byref,ushort,ushort,ushort,int,System.UriParser,ubyte) (FullOpts)
          -4 (-0.14 % of base) : 1233.dasm - System.Text.UnicodeEncoding:GetChars(ulong,int,ulong,int,System.Text.DecoderNLS):int:this (FullOpts)
  
  
linux x64
Diffs are based on 2,505,358 contexts (977,766 MinOpts, 1,527,592 FullOpts).
MISSED contexts: 6,904 (0.27%)
Overall (+82,939 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.linux.x64.checked.mch | 16,154,102 | +6,821 | 
| benchmarks.run_pgo.linux.x64.checked.mch | 70,160,705 | -16,324 | 
| benchmarks.run_tiered.linux.x64.checked.mch | 15,920,075 | +1,132 | 
| coreclr_tests.run.linux.x64.checked.mch | 403,032,058 | +18,020 | 
| libraries.crossgen2.linux.x64.checked.mch | 38,710,332 | -495 | 
| libraries.pmi.linux.x64.checked.mch | 58,945,732 | +19,059 | 
| libraries_tests.run.linux.x64.Release.mch | 340,323,621 | +31,352 | 
| librariestestsnotieredcompilation.run.linux.x64.Release.mch | 131,037,400 | +19,341 | 
| realworld.run.linux.x64.checked.mch | 12,773,829 | +4,439 | 
| smoke_tests.nativeaot.linux.x64.checked.mch | 4,193,336 | -406 | 
  
FullOpts (+82,939 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.linux.x64.checked.mch | 15,889,929 | +6,821 | 
| benchmarks.run_pgo.linux.x64.checked.mch | 48,814,841 | -16,324 | 
| benchmarks.run_tiered.linux.x64.checked.mch | 3,638,061 | +1,132 | 
| coreclr_tests.run.linux.x64.checked.mch | 123,214,722 | +18,020 | 
| libraries.crossgen2.linux.x64.checked.mch | 38,709,130 | -495 | 
| libraries.pmi.linux.x64.checked.mch | 58,832,862 | +19,059 | 
| libraries_tests.run.linux.x64.Release.mch | 156,407,925 | +31,352 | 
| librariestestsnotieredcompilation.run.linux.x64.Release.mch | 120,378,952 | +19,341 | 
| realworld.run.linux.x64.checked.mch | 12,386,919 | +4,439 | 
| smoke_tests.nativeaot.linux.x64.checked.mch | 4,192,387 | -406 | 
  
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.59%) : 8652.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:
  
-30 (-2.94%) : 27115.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
...
  
+35 (+92.11%) : 2724.dasm - System.Collections.Immutable.ImmutableDictionary2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.Canon,System.Canon]]):this (FullOpts)
@@ -16,13 +16,13 @@
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "dup spill" <System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V08 tmp5         [V08,T05] (  3,  2.50)     ref  ->  rdi         single-def "V02.[000..008)"
-;* V09 cse0         [V09,T04] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
-;* V10 rat0         [V10,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V08 tmp5         [V08,T05] (  3,  2.50)     ref  ->  rax         single-def "V02.[000..008)"
+;  V09 cse0         [V09,T04] (  3,  3   )    long  ->  rdi         "CSE - aggressive"
+;  V10 rat0         [V10,T03] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V11 rat1         [V11,T06] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V12 rat2         [V12,T00] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V12 rat2         [V12,T00] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;* V13 rat3         [V13,T07] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V14 rat4         [V14,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V14 rat4         [V14,T01] (  2,  4   )    long  ->  rdi         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 16
 
@@ -34,17 +34,28 @@ G_M20412_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs +[rbx]
                        ;; size=13 bbWeight=1 PerfScore 2.50
 G_M20412_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       cmp      dword ptr [rbx], ebx
-       mov      rdi, gword ptr [rsp+0x28]
-       ; gcrRegs +[rdi]
+       mov      rdi, qword ptr [rbx]
+       mov      rax, rdi
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x18]
+       test     rax, rax
+       mov      rax, gword ptr [rsp+0x28]
+       ; gcrRegs +[rax]
+       mov      rdi, qword ptr [rdi+0x38]
+       mov      rdi, qword ptr [rdi]
+       mov      rdi, qword ptr [rdi+0x20]
        test     rdi, rdi
+       test     rax, rax
        je       SHORT G_M20412_IG04
-                       ;; size=12 bbWeight=1 PerfScore 5.25
-G_M20412_IG03:        ; bbWeight=0.50, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
+                        ;; size=44 bbWeight=1 PerfScore 17.00
+G_M20412_IG03:        ; bbWeight=0.50, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
+       mov      rdi, rax
+       ; gcrRegs +[rdi]
        call     [System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:Freeze():this]
-       ; gcrRegs -[rdi]
+       ; gcrRegs -[rax rdi]
        ; gcr arg pop 0
-                       ;; size=6 bbWeight=0.50 PerfScore 1.50
+                        ;; size=9 bbWeight=0.50 PerfScore 1.62
 G_M20412_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
@@ -54,7 +65,7 @@ G_M20412_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=6 bbWeight=1 PerfScore 1.75
 
-; Total bytes of code 38, prolog size 10, PerfScore 11.25, instruction count 13, allocated bytes for code 38 (MethodHash=5457b043) for method System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (FullOpts)
+; Total bytes of code 73, prolog size 10, PerfScore 23.12, instruction count 23, allocated bytes for code 73 (MethodHash=5457b043) for method System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+35 (+92.11%) : 10148.dasm - System.Collections.Immutable.ImmutableDictionary2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.Canon,System.Canon]]):this (FullOpts)
@@ -16,13 +16,13 @@
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "dup spill" <System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V08 tmp5         [V08,T05] (  3,  2.50)     ref  ->  rdi         single-def "V02.[000..008)"
-;* V09 cse0         [V09,T04] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
-;* V10 rat0         [V10,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V08 tmp5         [V08,T05] (  3,  2.50)     ref  ->  rax         single-def "V02.[000..008)"
+;  V09 cse0         [V09,T04] (  3,  3   )    long  ->  rdi         "CSE - aggressive"
+;  V10 rat0         [V10,T03] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V11 rat1         [V11,T06] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V12 rat2         [V12,T00] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V12 rat2         [V12,T00] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;* V13 rat3         [V13,T07] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V14 rat4         [V14,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V14 rat4         [V14,T01] (  2,  4   )    long  ->  rdi         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 16
 
@@ -34,17 +34,28 @@ G_M20412_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs +[rbx]
                        ;; size=13 bbWeight=1 PerfScore 2.50
 G_M20412_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       cmp      dword ptr [rbx], ebx
-       mov      rdi, gword ptr [rsp+0x28]
-       ; gcrRegs +[rdi]
+       mov      rdi, qword ptr [rbx]
+       mov      rax, rdi
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x18]
+       test     rax, rax
+       mov      rax, gword ptr [rsp+0x28]
+       ; gcrRegs +[rax]
+       mov      rdi, qword ptr [rdi+0x38]
+       mov      rdi, qword ptr [rdi]
+       mov      rdi, qword ptr [rdi+0x20]
        test     rdi, rdi
+       test     rax, rax
        je       SHORT G_M20412_IG04
-                       ;; size=12 bbWeight=1 PerfScore 5.25
-G_M20412_IG03:        ; bbWeight=0.50, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
+                        ;; size=44 bbWeight=1 PerfScore 17.00
+G_M20412_IG03:        ; bbWeight=0.50, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
+       mov      rdi, rax
+       ; gcrRegs +[rdi]
        call     [System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:Freeze():this]
-       ; gcrRegs -[rdi]
+       ; gcrRegs -[rax rdi]
        ; gcr arg pop 0
-                       ;; size=6 bbWeight=0.50 PerfScore 1.50
+                        ;; size=9 bbWeight=0.50 PerfScore 1.62
 G_M20412_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
@@ -54,7 +65,7 @@ G_M20412_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=6 bbWeight=1 PerfScore 1.75
 
-; Total bytes of code 38, prolog size 10, PerfScore 11.25, instruction count 13, allocated bytes for code 38 (MethodHash=5457b043) for method System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (FullOpts)
+; Total bytes of code 73, prolog size 10, PerfScore 23.12, instruction count 23, allocated bytes for code 73 (MethodHash=5457b043) for method System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+34 (+100.00%) : 27147.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (FullOpts)
@@ -8,46 +8,55 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  7,  6.50)     ref  ->  rbx         this class-hnd single-def <System.Collections.Generic.List`1[System.__Canon]>
+;  V00 this         [V00,T00] (  8,  7.50)     ref  ->  rbx         this class-hnd single-def <System.Collections.Generic.List`1[System.__Canon]>
 ;  V01 loc0         [V01,T03] (  3,  2.50)     int  ->  rdx        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;* V04 rat0         [V04,T02] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V04 rat0         [V04,T02] (  2,  4   )    long  ->  rdi         "Spilling to split statement for tree"
 ;* V05 rat1         [V05,T04] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V06 rat2         [V06,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V06 rat2         [V06,T01] (  2,  4   )    long  ->  rdi         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M54344_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbx
+       sub      rsp, 16
+       mov      qword ptr [rsp+0x08], rdi
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=4 bbWeight=1 PerfScore 1.25
+                       ;; size=13 bbWeight=1 PerfScore 2.50
 G_M54344_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        inc      dword ptr [rbx+0x14]
+       mov      rdi, qword ptr [rbx]
+       mov      rdi, qword ptr [rdi+0x38]
+       mov      rdi, qword ptr [rdi]
+       mov      rdi, qword ptr [rdi+0x28]
+       test     rdi, rdi
        mov      edx, dword ptr [rbx+0x10]
        xor      edi, edi
        mov      dword ptr [rbx+0x10], edi
        test     edx, edx
        jle      SHORT G_M54344_IG05
-                      ;; size=15 bbWeight=1 PerfScore 7.50
+                      ;; size=32 bbWeight=1 PerfScore 15.75
 G_M54344_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
        xor      esi, esi
                        ;; size=6 bbWeight=0.50 PerfScore 1.12
 G_M54344_IG04:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 16
        pop      rbx
        tail.jmp [<unknown method>]
        ; gcr arg pop 0
-                       ;; size=7 bbWeight=0.50 PerfScore 1.25
+                        ;; size=11 bbWeight=0.50 PerfScore 1.38
 G_M54344_IG05:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rdi]
+       add      rsp, 16
        pop      rbx
        ret      
-                     ;; size=2 bbWeight=0.50 PerfScore 0.75
+                        ;; size=6 bbWeight=0.50 PerfScore 0.88
 
-; Total bytes of code 34, prolog size 4, PerfScore 11.88, instruction count 14, allocated bytes for code 34 (MethodHash=82472bb7) for method System.Collections.Generic.List`1[System.__Canon]:Clear():this (FullOpts)
+; Total bytes of code 68, prolog size 13, PerfScore 21.62, instruction count 23, allocated bytes for code 68 (MethodHash=82472bb7) for method System.Collections.Generic.List`1[System.__Canon]:Clear():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -55,9 +64,10 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x01
-  CountOfUnwindCodes: 1
+  SizeOfProlog      : 0x05
+  CountOfUnwindCodes: 2
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
+    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
  
  
benchmarks.run_pgo.linux.x64.checked.mch
-22 (-11.89%) : 57865.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 44.25, 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 41.25, 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%) : 65489.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 36.30, 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 33.30, 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%) : 76241.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 31.00, 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 28.00, 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)
  
+15 (+75.00%) : 90998.dasm - System.Collections.Immutable.ImmutableDictionary2[System.__Canon,System.__Canon]:get_Origin():System.Collections.Immutable.ImmutableDictionary2+MutationInput[System.Canon,System.Canon]:this (Tier1)
@@ -14,9 +14,9 @@
 ;* V03 tmp2         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V04 tmp3         [V04,T03] (  2,  2   )     ref  ->  rax         single-def "field V02._root (fldOffset=0x0)" P-INDEP
 ;  V05 tmp4         [V05,T04] (  2,  2   )     ref  ->  rdx         single-def "field V02._comparers (fldOffset=0x8)" P-INDEP
-;* V06 rat0         [V06,T02] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V06 rat0         [V06,T02] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V07 rat1         [V07,T05] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V08 rat2         [V08,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V08 rat2         [V08,T01] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 8
 
@@ -26,18 +26,22 @@ G_M61046_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=5 bbWeight=1 PerfScore 2.00
 G_M61046_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rdi]
-       cmp      dword ptr [rdi], edi
+       mov      rax, qword ptr [rdi]
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x60]
+       test     rax, rax
        mov      rax, gword ptr [rdi+0x08]
        ; gcrRegs +[rax]
        mov      rdx, gword ptr [rdi+0x10]
        ; gcrRegs +[rdx]
-                      ;; size=10 bbWeight=1 PerfScore 7.00
+                      ;; size=25 bbWeight=1 PerfScore 12.25
 G_M61046_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 8
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 20, prolog size 5, PerfScore 10.25, instruction count 7, allocated bytes for code 20 (MethodHash=c8f91189) for method System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:get_Origin():System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon]:this (Tier1)
+; Total bytes of code 35, prolog size 5, PerfScore 15.50, instruction count 11, allocated bytes for code 35 (MethodHash=c8f91189) for method System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:get_Origin():System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon]:this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+15 (+75.00%) : 92664.dasm - Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder1[System.__Canon]:GetEnumerator():Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder1+Enumerator[System.__Canon]:this (Tier1)
@@ -14,9 +14,9 @@
 ;* V03 tmp2         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V04 tmp3         [V04,T03] (  2,  2   )     ref  ->  rax         single-def "field V02._builder (fldOffset=0x0)" P-INDEP
 ;  V05 tmp4         [V05,T04] (  2,  2   )     int  ->  rdx         "field V02._index (fldOffset=0x8)" P-INDEP
-;* V06 rat0         [V06,T02] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V06 rat0         [V06,T02] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V07 rat1         [V07,T05] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V08 rat2         [V08,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V08 rat2         [V08,T01] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 8
 
@@ -26,17 +26,21 @@ G_M55546_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=5 bbWeight=1 PerfScore 2.00
 G_M55546_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rdi]
-       cmp      dword ptr [rdi], edi
+       mov      rax, qword ptr [rdi]
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x38]
+       test     rax, rax
        mov      rax, rdi
        ; gcrRegs +[rax]
        mov      edx, -1
-                      ;; size=10 bbWeight=1 PerfScore 3.50
+                      ;; size=25 bbWeight=1 PerfScore 8.75
 G_M55546_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 8
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 20, prolog size 5, PerfScore 6.75, instruction count 7, allocated bytes for code 20 (MethodHash=d1372705) for method Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.__Canon]:GetEnumerator():Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1+Enumerator[System.__Canon]:this (Tier1)
+; Total bytes of code 35, prolog size 5, PerfScore 12.00, instruction count 11, allocated bytes for code 35 (MethodHash=d1372705) for method Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.__Canon]:GetEnumerator():Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1+Enumerator[System.__Canon]:this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+30 (+103.45%) : 92921.dasm - Microsoft.CodeAnalysis.BindingDiagnosticBag1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo1[System.__Canon]):this (Tier1)
@@ -9,41 +9,49 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  4,  3   )     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]>
-;  V01 arg1         [V01,T04] (  1,  0   )  struct (32) [rsp+0x10]  do-not-enreg[SF] ld-addr-op single-def <Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]>
+;  V00 this         [V00,T00] (  5,  3   )     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]>
+;  V01 arg1         [V01,T04] (  1,  0   )  struct (32) [rsp+0x20]  do-not-enreg[SF] ld-addr-op single-def <Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;* V04 rat0         [V04,T01] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V04 rat0         [V04,T01] (  2,  0   )    long  ->  rdi         "Spilling to split statement for tree"
 ;* V05 rat1         [V05,T03] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V06 rat2         [V06,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V06 rat2         [V06,T02] (  2,  0   )    long  ->  rdi         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M44880_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbx
+       sub      rsp, 16
+       mov      qword ptr [rsp+0x08], rdi
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=4 bbWeight=1 PerfScore 1.25
+                       ;; size=13 bbWeight=1 PerfScore 2.50
 G_M44880_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        cmp      gword ptr [rbx+0x10], 0
        jne      SHORT G_M44880_IG04
                        ;; size=7 bbWeight=1 PerfScore 4.00
 G_M44880_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, epilog, nogc
+       add      rsp, 16
        pop      rbx
        ret      
-                     ;; size=2 bbWeight=1 PerfScore 1.50
+                       ;; size=6 bbWeight=1 PerfScore 1.75
 G_M44880_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+       mov      rdi, qword ptr [rbx]
+       mov      rdi, qword ptr [rdi+0x38]
+       mov      rdi, qword ptr [rdi]
+       mov      rdi, qword ptr [rdi+0x50]
+       test     rdi, rdi
        mov      rdi, rbx
        ; gcrRegs +[rdi]
-       mov      rsi, gword ptr [rsp+0x18]
+       mov      rsi, gword ptr [rsp+0x28]
        ; gcrRegs +[rsi]
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
        jmp      SHORT G_M44880_IG03
-                      ;; size=16 bbWeight=0 PerfScore 0.00
+                      ;; size=33 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 29, prolog size 1, PerfScore 6.75, instruction count 10, allocated bytes for code 29 (MethodHash=282050af) for method Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]):this (Tier1)
+; Total bytes of code 59, prolog size 10, PerfScore 8.25, instruction count 18, allocated bytes for code 59 (MethodHash=282050af) for method Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -51,9 +59,10 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x01
-  CountOfUnwindCodes: 1
+  SizeOfProlog      : 0x05
+  CountOfUnwindCodes: 2
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
+    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
  
  
benchmarks.run_tiered.linux.x64.checked.mch
-39 (-5.41%) : 47932.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%) : 1219.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:
  
-30 (-2.94%) : 33975.dasm - LUDecomp:Run():double:this (Tier1)
@@ -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
...
  
+35 (+92.11%) : 11567.dasm - System.Collections.Immutable.ImmutableDictionary2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.Canon,System.Canon]]):this (Tier1)
@@ -16,13 +16,13 @@
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "dup spill" <System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V08 tmp5         [V08,T05] (  3,  2.50)     ref  ->  rdi         single-def "V02.[000..008)"
-;* V09 cse0         [V09,T04] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
-;* V10 rat0         [V10,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V08 tmp5         [V08,T05] (  3,  2.50)     ref  ->  rax         single-def "V02.[000..008)"
+;  V09 cse0         [V09,T04] (  3,  3   )    long  ->  rdi         "CSE - aggressive"
+;  V10 rat0         [V10,T03] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V11 rat1         [V11,T06] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V12 rat2         [V12,T00] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V12 rat2         [V12,T00] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;* V13 rat3         [V13,T07] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V14 rat4         [V14,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V14 rat4         [V14,T01] (  2,  4   )    long  ->  rdi         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 16
 
@@ -34,17 +34,28 @@ G_M20412_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs +[rbx]
                        ;; size=13 bbWeight=1 PerfScore 2.50
 G_M20412_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       cmp      dword ptr [rbx], ebx
-       mov      rdi, gword ptr [rsp+0x28]
-       ; gcrRegs +[rdi]
+       mov      rdi, qword ptr [rbx]
+       mov      rax, rdi
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x18]
+       test     rax, rax
+       mov      rax, gword ptr [rsp+0x28]
+       ; gcrRegs +[rax]
+       mov      rdi, qword ptr [rdi+0x38]
+       mov      rdi, qword ptr [rdi]
+       mov      rdi, qword ptr [rdi+0x20]
        test     rdi, rdi
+       test     rax, rax
        je       SHORT G_M20412_IG04
-                       ;; size=12 bbWeight=1 PerfScore 5.25
-G_M20412_IG03:        ; bbWeight=0.50, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
+                        ;; size=44 bbWeight=1 PerfScore 17.00
+G_M20412_IG03:        ; bbWeight=0.50, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
+       mov      rdi, rax
+       ; gcrRegs +[rdi]
        call     [System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:Freeze():this]
-       ; gcrRegs -[rdi]
+       ; gcrRegs -[rax rdi]
        ; gcr arg pop 0
-                       ;; size=6 bbWeight=0.50 PerfScore 1.50
+                        ;; size=9 bbWeight=0.50 PerfScore 1.62
 G_M20412_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
@@ -54,7 +65,7 @@ G_M20412_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=6 bbWeight=1 PerfScore 1.75
 
-; Total bytes of code 38, prolog size 10, PerfScore 11.25, instruction count 13, allocated bytes for code 38 (MethodHash=5457b043) for method System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (Tier1)
+; Total bytes of code 73, prolog size 10, PerfScore 23.12, instruction count 23, allocated bytes for code 73 (MethodHash=5457b043) for method System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+34 (+100.00%) : 34066.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
@@ -8,46 +8,55 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  7,  6.50)     ref  ->  rbx         this class-hnd single-def <System.Collections.Generic.List`1[System.__Canon]>
+;  V00 this         [V00,T00] (  8,  7.50)     ref  ->  rbx         this class-hnd single-def <System.Collections.Generic.List`1[System.__Canon]>
 ;  V01 loc0         [V01,T03] (  3,  2.50)     int  ->  rdx        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;* V04 rat0         [V04,T02] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V04 rat0         [V04,T02] (  2,  4   )    long  ->  rdi         "Spilling to split statement for tree"
 ;* V05 rat1         [V05,T04] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V06 rat2         [V06,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V06 rat2         [V06,T01] (  2,  4   )    long  ->  rdi         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M54344_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbx
+       sub      rsp, 16
+       mov      qword ptr [rsp+0x08], rdi
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=4 bbWeight=1 PerfScore 1.25
+                       ;; size=13 bbWeight=1 PerfScore 2.50
 G_M54344_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        inc      dword ptr [rbx+0x14]
+       mov      rdi, qword ptr [rbx]
+       mov      rdi, qword ptr [rdi+0x38]
+       mov      rdi, qword ptr [rdi]
+       mov      rdi, qword ptr [rdi+0x30]
+       test     rdi, rdi
        mov      edx, dword ptr [rbx+0x10]
        xor      edi, edi
        mov      dword ptr [rbx+0x10], edi
        test     edx, edx
        jle      SHORT G_M54344_IG05
-                      ;; size=15 bbWeight=1 PerfScore 7.50
+                      ;; size=32 bbWeight=1 PerfScore 15.75
 G_M54344_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
        xor      esi, esi
                        ;; size=6 bbWeight=0.50 PerfScore 1.12
 G_M54344_IG04:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 16
        pop      rbx
        tail.jmp [<unknown method>]
        ; gcr arg pop 0
-                       ;; size=7 bbWeight=0.50 PerfScore 1.25
+                        ;; size=11 bbWeight=0.50 PerfScore 1.38
 G_M54344_IG05:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rdi]
+       add      rsp, 16
        pop      rbx
        ret      
-                     ;; size=2 bbWeight=0.50 PerfScore 0.75
+                        ;; size=6 bbWeight=0.50 PerfScore 0.88
 
-; Total bytes of code 34, prolog size 4, PerfScore 11.88, instruction count 14, allocated bytes for code 34 (MethodHash=82472bb7) for method System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
+; Total bytes of code 68, prolog size 13, PerfScore 21.62, instruction count 23, allocated bytes for code 68 (MethodHash=82472bb7) for method System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -55,9 +64,10 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x01
-  CountOfUnwindCodes: 1
+  SizeOfProlog      : 0x05
+  CountOfUnwindCodes: 2
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
+    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
  
+30 (+107.14%) : 43355.dasm - Microsoft.CodeAnalysis.BindingDiagnosticBag1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo1[System.__Canon]):this (Tier1)
@@ -8,43 +8,51 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  4,  3.50)     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]>
-;  V01 arg1         [V01,T04] (  1,  0.50)  struct (32) [rsp+0x10]  do-not-enreg[SF] ld-addr-op single-def <Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]>
+;  V00 this         [V00,T00] (  5,  4   )     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]>
+;  V01 arg1         [V01,T04] (  1,  0.50)  struct (32) [rsp+0x20]  do-not-enreg[SF] ld-addr-op single-def <Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;* V04 rat0         [V04,T02] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V04 rat0         [V04,T02] (  2,  2   )    long  ->  rdi         "Spilling to split statement for tree"
 ;* V05 rat1         [V05,T03] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V06 rat2         [V06,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V06 rat2         [V06,T01] (  2,  2   )    long  ->  rdi         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M44880_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbx
+       sub      rsp, 16
+       mov      qword ptr [rsp+0x08], rdi
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=4 bbWeight=1 PerfScore 1.25
+                       ;; size=13 bbWeight=1 PerfScore 2.50
 G_M44880_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        cmp      gword ptr [rbx+0x10], 0
        je       SHORT G_M44880_IG04
                        ;; size=7 bbWeight=1 PerfScore 4.00
 G_M44880_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       mov      rdi, qword ptr [rbx]
+       mov      rdi, qword ptr [rdi+0x38]
+       mov      rdi, qword ptr [rdi]
+       mov      rdi, qword ptr [rdi+0x50]
+       test     rdi, rdi
        mov      rdi, rbx
        ; gcrRegs +[rdi]
-       mov      rsi, gword ptr [rsp+0x18]
+       mov      rsi, gword ptr [rsp+0x28]
        ; gcrRegs +[rsi]
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
-                       ;; size=14 bbWeight=0.50 PerfScore 2.12
+                       ;; size=31 bbWeight=0.50 PerfScore 6.25
 G_M44880_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
 G_M44880_IG05:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 16
        pop      rbx
        ret      
-                     ;; size=2 bbWeight=1 PerfScore 1.50
+                       ;; size=6 bbWeight=1 PerfScore 1.75
 
-; Total bytes of code 28, prolog size 1, PerfScore 9.12, instruction count 10, allocated bytes for code 28 (MethodHash=282050af) for method Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]):this (Tier1)
+; Total bytes of code 58, prolog size 10, PerfScore 14.75, instruction count 18, allocated bytes for code 58 (MethodHash=282050af) for method Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -52,9 +60,10 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x01
-  CountOfUnwindCodes: 1
+  SizeOfProlog      : 0x05
+  CountOfUnwindCodes: 2
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
+    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
  
  
coreclr_tests.run.linux.x64.checked.mch
-43 (-6.54%) : 34852.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.65)     ref  ->  r15         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T01] (  8,125.45)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
-;  V02 loc0         [V02,T05] ( 17, 26.58)     ref  ->  r14         class-hnd <System.__Canon[]>
-;  V03 loc1         [V03,T07] (  5, 18.93)     int  ->  r13        
+;  V01 arg1         [V01,T03] (  8, 20.62)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
+;  V02 loc0         [V02,T02] ( 17, 26.58)     ref  ->  r14         class-hnd <System.__Canon[]>
+;  V03 loc1         [V03,T06] (  5, 18.93)     int  ->  r13        
 ;  V04 loc2         [V04,T11] (  9, 10   )     int  ->  r12        
-;  V05 loc3         [V05,T02] (  6,125.60)     int  ->  [rbp-0x34] 
-;  V06 loc4         [V06,T08] (  9, 18.67)     ref  ->  [rbp-0x50]  class-hnd spill-single-def <System.__Canon>
-;* V07 loc5         [V07,T03] (  0,  0   )   ubyte  ->  zero-ref   
-;  V08 loc6         [V08,T04] ( 11, 66.56)     int  ->  [rbp-0x38] 
-;  V09 loc7         [V09,T00] ( 10,181.50)     ref  ->  [rbp-0x58]  class-hnd <System.__Canon>
+;  V05 loc3         [V05,T05] (  6, 20.77)     int  ->  [rbp-0x34] 
+;  V06 loc4         [V06,T07] (  9, 18.67)     ref  ->  [rbp-0x50]  class-hnd spill-single-def <System.__Canon>
+;* V07 loc5         [V07,T09] (  0,  0   )   ubyte  ->  zero-ref   
+;  V08 loc6         [V08,T01] ( 11, 66.56)     int  ->  [rbp-0x38] 
+;  V09 loc7         [V09,T00] ( 10, 76.67)     ref  ->  [rbp-0x58]  class-hnd <System.__Canon>
 ;  V10 loc8         [V10,T20] (  3,  0.50)     int  ->  [rbp-0x3C] 
 ;  V11 loc9         [V11    ] (  3,  0.75)     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.70)     int  ->   r8         "Inline return value spill temp"
 ;  V20 tmp8         [V20,T15] (  3,  1.10)     int  ->   r8         "Inlining Arg"
 ;  V21 tmp9         [V21,T21] (  3,  0.50)     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,  1   )    long  ->  rdi         "argument with side effect"
-;  V26 cse0         [V26,T09] (  6, 16.47)    long  ->   r9         multi-def "CSE - aggressive"
+;  V26 cse0         [V26,T08] (  6, 16.47)    long  ->  rsi         multi-def "CSE - aggressive"
 ;  V27 cse1         [V27,T10] (  3, 13.80)     ref  ->  rsi         "CSE - moderate"
 ;  V28 rat0         [V28,T14] (  3,  1.10)    long  ->  rdi         "Spilling to split statement for tree"
 ;  V29 rat1         [V29,T17] (  3,  1   )    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.20, 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.20 PerfScore 5.70
-G_M8298_IG04:        ; bbWeight=0.60, gcVars=0000000000000100 {V06}, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+                     ;; size=25 bbWeight=1.20 PerfScore 6.90
+G_M8298_IG04:        ; bbWeight=0.60, 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.60 PerfScore 6.45
 G_M8298_IG05:        ; bbWeight=15.72, 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.72 PerfScore 55.01
-G_M8298_IG06:        ; bbWeight=14.83, gcrefRegs=C40A {rcx rbx r10 r14 r15}, byrefRegs=0000 {}, byref, isz
-       cmp      qword ptr [r10], r9
+                      ;; size=16 bbWeight=15.72 PerfScore 55.01
+G_M8298_IG06:        ; bbWeight=14.83, 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.83 PerfScore 148.25
-G_M8298_IG07:        ; bbWeight=119.80, gcVars=0000000000000000 {}, gcrefRegs=C408 {rbx r10 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M8298_IG07:        ; bbWeight=14.97, 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=119.80 PerfScore 329.45
+                       ;; size=12 bbWeight=14.97 PerfScore 63.64
 G_M8298_IG08:        ; bbWeight=1.20, 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.96, gcVars=0000000000000100 {V06}, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M8298_IG11:        ; bbWeight=15.96, 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.96 PerfScore 23.95
+                      ;; size=7 bbWeight=15.96 PerfScore 23.95
 G_M8298_IG12:        ; bbWeight=0.60, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M8298_IG16
                        ;; size=2 bbWeight=0.60 PerfScore 1.20
 G_M8298_IG13:        ; bbWeight=0.16, 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.16 PerfScore 1.23
+                       ;; size=22 bbWeight=0.16 PerfScore 1.19
 G_M8298_IG14:        ; bbWeight=0.15, 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.15 PerfScore 2.32
+       je       SHORT G_M8298_IG07
+                       ;; size=38 bbWeight=0.15 PerfScore 2.28
 G_M8298_IG15:        ; bbWeight=0.16, 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.16 PerfScore 0.24
+                        ;; size=7 bbWeight=0.16 PerfScore 0.24
 G_M8298_IG16:        ; bbWeight=1.15, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        test     r12d, r12d
        jne      SHORT G_M8298_IG18
                        ;; size=5 bbWeight=1.15 PerfScore 1.44
 G_M8298_IG17:        ; bbWeight=0.95, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
-       mov      r12d, r8d
+       mov      r12d, edi
                      ;; size=3 bbWeight=0.95 PerfScore 0.24
 G_M8298_IG18:        ; bbWeight=1.15, 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.15, 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.15 PerfScore 10.64
+                      ;; size=21 bbWeight=1.15 PerfScore 9.49
 G_M8298_IG20:        ; bbWeight=4.60, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        mov      rsi, 0xD1FFAB1E
@@ -232,16 +224,16 @@ G_M8298_IG21:        ; bbWeight=1.15, 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.15 PerfScore 18.40
-G_M8298_IG22:        ; bbWeight=0.25, gcVars=0000000000000100 {V06}, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M8298_IG22:        ; bbWeight=0.25, 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.25, gcrefRegs=C00A {rcx rbx r14 r15}, byrefReg
 G_M8298_IG28:        ; bbWeight=0.20, gcrefRegs=800A {rcx rbx r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        mov      rdi, rdx
-       mov      dword ptr [rbp-0x34], eax
-                       ;; size=6 bbWeight=0.20 PerfScore 0.25
+                        ;; size=3 bbWeight=0.20 PerfScore 0.05
 G_M8298_IG29:        ; bbWeight=0.25, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        lea      rsi, [rbp-0x48]
@@ -286,14 +277,12 @@ G_M8298_IG29:        ; bbWeight=0.25, 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.25 PerfScore 2.19
+                       ;; size=26 bbWeight=0.25 PerfScore 1.94
 G_M8298_IG30:        ; bbWeight=0.05, 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.05, gcrefRegs=800A {rcx rbx r15}, byrefRegs=00
...
  
-49 (-6.36%) : 283833.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
...
  
-44 (-6.04%) : 30815.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalList(System.Canon[]):this (Tier1)
@@ -10,15 +10,15 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T04] (  8,  4.56)     ref  ->  r15         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T03] (  8,  5.89)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
-;  V02 loc0         [V02,T02] ( 17,  9.16)     ref  ->  r14         class-hnd <System.__Canon[]>
-;  V03 loc1         [V03,T06] (  6,  5.39)     int  ->  r13        
-;  V04 loc2         [V04,T11] (  9,  3.00)     int  ->  r12        
-;  V05 loc3         [V05,T10] (  6,  3.78)     int  ->  [rbp-0x34] 
-;  V06 loc4         [V06,T07] (  9,  5.26)     ref  ->  [rbp-0x50]  class-hnd spill-single-def <System.__Canon>
-;  V07 loc5         [V07,T12] (  3,  2.78)   ubyte  ->  [rbp-0x38] 
-;  V08 loc6         [V08,T01] ( 14, 18.82)     int  ->  [rbp-0x3C] 
-;  V09 loc7         [V09,T00] ( 10, 19.44)     ref  ->  [rbp-0x58]  class-hnd <System.__Canon>
+;  V01 arg1         [V01,T02] (  8,  8   )     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
+;  V02 loc0         [V02,T03] ( 17,  9.16)     ref  ->  r14         class-hnd <System.__Canon[]>
+;  V03 loc1         [V03,T07] (  5,  5.39)     int  ->  r13        
+;  V04 loc2         [V04,T12] (  9,  3.00)     int  ->  r12        
+;  V05 loc3         [V05,T06] (  6,  5.89)     int  ->  [rbp-0x34] 
+;  V06 loc4         [V06,T08] (  9,  5.26)     ref  ->  [rbp-0x50]  class-hnd spill-single-def <System.__Canon>
+;  V07 loc5         [V07,T09] (  3,  4.89)   ubyte  ->  [rbp-0x38] 
+;  V08 loc6         [V08,T01] ( 11, 18.82)     int  ->  [rbp-0x3C] 
+;  V09 loc7         [V09,T00] ( 10, 21.56)     ref  ->  [rbp-0x58]  class-hnd <System.__Canon>
 ;  V10 loc8         [V10,T20] (  3,  0.22)     int  ->  [rbp-0x40] 
 ;  V11 loc9         [V11    ] (  3,  0.33)     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,T05] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
-;  V19 tmp7         [V19,T19] (  4,  0.31)     int  ->  rdx         "Inline return value spill temp"
-;  V20 tmp8         [V20,T15] (  3,  0.49)     int  ->  rdx         "Inlining Arg"
-;  V21 tmp9         [V21,T21] (  3,  0.22)     int  ->   r8         "Inline return value spill temp"
-;  V22 tmp10        [V22,T16] (  3,  0.49)     int  ->   r8         "Inlining Arg"
+;  V19 tmp7         [V19,T19] (  4,  0.31)     int  ->   r9         "Inline return value spill temp"
+;  V20 tmp8         [V20,T15] (  3,  0.49)     int  ->   r9         "Inlining Arg"
+;  V21 tmp9         [V21,T21] (  3,  0.22)     int  ->  r10         "Inline return value spill temp"
+;  V22 tmp10        [V22,T16] (  3,  0.49)     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,T18] (  2,  0.44)    long  ->  rdi         "argument with side effect"
-;  V26 cse0         [V26,T08] (  6,  4.64)    long  ->  rdi         multi-def "CSE - moderate"
-;  V27 cse1         [V27,T09] (  3,  4.00)     ref  ->  rsi         "CSE - moderate"
+;  V26 cse0         [V26,T10] (  6,  4.64)    long  ->  rsi         multi-def "CSE - moderate"
+;  V27 cse1         [V27,T11] (  3,  4.00)     ref  ->  rsi         "CSE - moderate"
 ;  V28 rat0         [V28,T14] (  3,  0.49)    long  ->  rdi         "Spilling to split statement for tree"
 ;  V29 rat1         [V29,T17] (  3,  0.44)    long  ->  rdi         "runtime lookup"
-;  V30 rat2         [V30,T13] (  3,  0.62)    long  ->   r8         "fgMakeTemp is creating a new local variable"
+;  V30 rat2         [V30,T13] (  3,  0.62)    long  ->  rdx         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 56
 
@@ -87,233 +87,124 @@ G_M8298_IG04:        ; bbWeight=0.67, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=15 bbWeight=0.67 PerfScore 2.83
-G_M8298_IG05:        ; bbWeight=4.18, gcVars=0000000000000080 {V06}, gcrefRegs=C20A {rcx rbx r9 r14 r15}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[rcx rbx r9 r14]
-       ; GC ptr vars +{V06 V07}
-       mov      rdx, qword ptr [r9+0x50]
-       cmp      rdx, qword ptr [rcx+0x50]
-       jne      G_M8298_IG15
-                       ;; size=14 bbWeight=4.18 PerfScore 25.08
-G_M8298_IG06:        ; bbWeight=33.78, gcrefRegs=C20A {rcx rbx r9 r14 r15}, byrefRegs=0000 {}, byref
-       mov      dword ptr [rbp-0x3C], esi
-       jmp      G_M8298_IG24
-                       ;; size=8 bbWeight=33.78 PerfScore 101.33
+G_M8298_IG05:        ; bbWeight=4.51, gcVars=0000000000000100 {V06}, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; gcrRegs +[rcx rbx r14]
+       ; GC ptr vars +{V06 V08}
+       inc      edi
+       cmp      edi, r13d
+       jl       SHORT G_M8298_IG13
+                       ;; size=7 bbWeight=4.51 PerfScore 6.76
+G_M8298_IG06:        ; bbWeight=0.33, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M8298_IG09
+                       ;; size=2 bbWeight=0.33 PerfScore 0.67
 G_M8298_IG07:        ; bbWeight=0.33, gcVars=0000000000000000 {}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs -[rcx r9]
-       ; GC ptr vars -{V06 V07}
+       ; gcrRegs -[rcx]
+       ; GC ptr vars -{V06 V08}
        mov      r13d, dword ptr [r14+0x08]
        xor      r12d, r12d
        xor      eax, eax
        cmp      dword ptr [rbx+0x08], 0
-       jle      G_M8298_IG38
+       jle      G_M8298_IG23
                         ;; size=19 bbWeight=0.33 PerfScore 2.17
 G_M8298_IG08:        ; bbWeight=0.33, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       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      esi, esi
+       xor      edx, edx
+       xor      edi, edi
        test     r13d, r13d
        jg       SHORT G_M8298_IG12
-                       ;; size=21 bbWeight=0.33 PerfScore 1.67
-G_M8298_IG09:        ; bbWeight=0.33, gcVars=0000000000000080 {V06}, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
-       test     r8d, r8d
-       jne      G_M8298_IG37
+                     ;; size=23 bbWeight=0.33 PerfScore 2.00
+G_M8298_IG09:        ; bbWeight=0.33, gcVars=0000000000000100 {V06}, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+       test     edx, edx
+       jne      G_M8298_IG22
        test     r12d, r12d
        jne      SHORT G_M8298_IG10
-       mov      r12d, esi
-                       ;; size=17 bbWeight=0.33 PerfScore 0.92
+       mov      r12d, edi
+                       ;; size=16 bbWeight=0.33 PerfScore 0.92
 G_M8298_IG10:        ; bbWeight=0.33, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
        cmp      dword ptr [r14+0x08], r12d
-       jg       G_M8298_IG34
+       jg       G_M8298_IG19
                      ;; size=10 bbWeight=0.33 PerfScore 1.33
 G_M8298_IG11:        ; bbWeight=0.11, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
-       jmp      G_M8298_IG26
+       jmp      G_M8298_IG30
                        ;; size=5 bbWeight=0.11 PerfScore 0.22
-G_M8298_IG12:        ; bbWeight=0.17, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M8298_IG12:        ; bbWeight=0.17, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
        test     r14, r14
-       je       SHORT G_M8298_IG17
+       je       G_M8298_IG25
        test     rcx, rcx
-       je       SHORT G_M8298_IG17
-       mov      rdi, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
-       cmp      qword ptr [rcx], rdi
-       jne      SHORT G_M8298_IG17
+       je       G_M8298_IG25
+       mov      rsi, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
+       cmp      qword ptr [rcx], rsi
+       jne      G_M8298_IG25
        cmp      dword ptr [r14+0x08], r13d
-       jl       SHORT G_M8298_IG17
-                       ;; size=31 bbWeight=0.17 PerfScore 1.79
+       jl       G_M8298_IG25
+                       ;; size=47 bbWeight=0.17 PerfScore 1.79
 G_M8298_IG13:        ; bbWeight=4.40, 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
+       mov      r8d, edi
+       mov      r8, gword ptr [r14+8*r8+0x10]
+       ; gcrRegs +[r8]
+       test     r8, r8
        je       SHORT G_M8298_IG09
-                     ;; size=12 bbWeight=4.40 PerfScore 15.40
-G_M8298_IG14:        ; bbWeight=4.18, gcrefRegs=C20A {rcx rbx r9 r14 r15}, byrefRegs=0000 {}, byref
-       cmp      qword ptr [r9], rdi
-       je       G_M8298_IG05
-                       ;; size=9 bbWeight=4.18 PerfScore 16.72
-G_M8298_IG15:        ; bbWeight=4.51, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[r9]
-       inc      esi
-       cmp      esi, r13d
-       jl       SHORT G_M8298_IG13
-                       ;; size=7 bbWeight=4.51 PerfScore 6.76
-G_M8298_IG16:        ; bbWeight=0.89, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       jmp      SHORT G_M8298_IG09
-                       ;; size=2 bbWeight=0.89 PerfScore 1.78
-G_M8298_IG17:        ; bbWeight=0.04, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       cmp      esi, dword ptr [r14+0x08]
-       jae      G_M8298_IG42
-       mov      r9d, esi
-       mov      r9, gword ptr [r14+8*r9+0x10]
-       ; gcrRegs +[r9]
-       test     r9, r9
-       je       SHORT G_M8298_IG09
-                       ;; size=23 bbWeight=0.04 PerfScore 0.33
-G_M8298_IG18:        ; bbWeight=0.04, 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_IG20
-                       ;; size=15 bbWeight=0.04 PerfScore 0.18
-G_M8298_IG19:        ; bbWeight=0, gcrefRegs=C20A {rcx rbx r9 r14 r15}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rbp-0x3C], esi
-       mov      dword ptr [rbp-0x34], eax
-       mov      dword ptr [rbp-0x38], r8d
-       mov      rdi, rcx
-       ; gcrRegs +[rdi]
-       mov      gword ptr [rbp-0x58], r9
-       ; GC ptr vars +{V09}
-       mov      rsi, r9
-       ; gcrRegs +[rsi]
-       mov      rdx, qword ptr [rcx]
-       mov      rdx, qword ptr [rdx+0x48]
-       call     [rdx+0x20]<unknown method>
-       ; gcrRegs -[rcx rsi rdi r9]
-       ; gcr arg pop 0
-       test     eax, eax
-       mov      eax, dword ptr [rbp-0x34]
-       mov      r9, gword ptr [rbp-0x58]
-       ; gcrRegs +[r9]
-       jne      SHORT G_M8298_IG24
-       mov      rcx, gword ptr [rbp-0x50]
-       ; gcrRegs +[rcx]
-       mov      esi, dword ptr [rbp-0x3C]
-       mov      r8d, dword ptr [rbp-0x38]
-       jmp      SHORT G_M8298_IG21
-                       ;; size=54 bbWeight=0 PerfScore 0.00
-G_M8298_IG20:        ; bbWeight=0.04, gcVars=0000000000000080 {V06}, gcrefRegs=C20A {rcx rbx r9 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; GC ptr vars -{V09}
-       cmp      qword ptr [r9], rdi
-       jne      G_M8298_IG43
-       mov      rdi, qword ptr [r9+0x50]
-       cmp      rdi, qword ptr [rcx+0x50]
-       je       SHORT G_M8298_IG23
-                       ;; size=19 bbWeight=0.04 PerfScore 0.42
-G_M8298_IG21:        ; bbWeight=0.05, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rcx r9]
-       inc      esi
-       mov      dword ptr [rbp-0x3C], esi
-       cmp      esi, r13d
-       mov      rcx, gword ptr [rbp-0x50]
-       ; gcrRegs +[rcx]
-       mov      esi, dword ptr [rbp-0x3C]
-       jge      G_M8298_IG09
-                       ;; size=21 bbWeight=0.05 PerfScore 0.21
-G_M8298_IG22:        ; bbWeight=0.04, gcrefRegs=C00A {rcx rbx r14 r15}, byrefRegs=0000 {}, byref
-       jmp      G_M8298_IG17
-                       ;; size=5 bbWeight=0.04 PerfScore 0.09
-G_M8298_IG23:        ; bbWeight=0.02, gcrefRegs=C208 {rbx r9 r14 r15}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rcx] +[r9]
-       mov      dword ptr [rbp-0x3C], esi
-                       ;; size=3 bbWeight=0.02 PerfScore 0.02
-G_M8298_IG24:        ; bbWeight=2.11, gcrefRegs=C208 {rbx r9 r14 r15}, byrefRegs=0000 {}, byref
-       mov      dword ptr [rbp-0x34], eax
-       movsxd   rsi, eax
+                     ;; size=13 bbWeight=4.40 PerfScore 15.40
+G_M8298_IG14:        ; bbWeight=4.18, gcrefRegs=C10A {rcx rbx r8 r14 r15}, byrefRegs=0000 {}, byref
+       cmp      qword ptr [r8], rsi
+       jne      G_M8298_IG05
+       mov      r9, qword ptr [r8+0x50]
+       cmp      r9, qword ptr [rcx+0x50]
+       jne      G_M8298_IG05
+                       ;; size=23 bbWeight=4.18 PerfScore 41.80
+G_M8298_IG15:        ; bbWeight=2.09, gcrefRegs=C10A {rcx rbx r8 r14 r15}, byrefRegs=0000 {}, byref
+       mov      dword ptr [rbp-0x3C], edi
+                       ;; size=3 bbWeight=2.09 PerfScore 2.09
+G_M8298_IG16:        ; bbWeight=4.22, gcrefRegs=C108 {rbx r8 r14 r15}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rcx]
...
  
+37 (+108.82%) : 390951.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
@@ -9,23 +9,30 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  7,  7   )     ref  ->  rbx         this class-hnd single-def <System.Collections.Generic.List`1[System.__Canon]>
+;  V00 this         [V00,T00] (  8,  8   )     ref  ->  rbx         this class-hnd single-def <System.Collections.Generic.List`1[System.__Canon]>
 ;  V01 loc0         [V01,T03] (  3,  3   )     int  ->  rdx        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;* V04 rat0         [V04,T02] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V04 rat0         [V04,T02] (  2,  4   )    long  ->  rdi         "Spilling to split statement for tree"
 ;* V05 rat1         [V05,T04] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V06 rat2         [V06,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V06 rat2         [V06,T01] (  2,  4   )    long  ->  rdi         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M54344_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbx
+       sub      rsp, 16
+       mov      qword ptr [rsp+0x08], rdi
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=4 bbWeight=1 PerfScore 1.25
+                       ;; size=13 bbWeight=1 PerfScore 2.50
 G_M54344_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        inc      dword ptr [rbx+0x14]
+       mov      rdi, qword ptr [rbx]
+       mov      rdi, qword ptr [rdi+0x38]
+       mov      rdi, qword ptr [rdi]
+       mov      rdi, qword ptr [rdi+0xA8]
+       test     rdi, rdi
        mov      edx, dword ptr [rbx+0x10]
        xor      edi, edi
        mov      dword ptr [rbx+0x10], edi
@@ -34,19 +41,21 @@ G_M54344_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
        xor      esi, esi
-                     ;; size=21 bbWeight=1 PerfScore 9.75
+                      ;; size=41 bbWeight=1 PerfScore 18.00
 G_M54344_IG03:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 16
        pop      rbx
        tail.jmp [<unknown method>]
        ; gcr arg pop 0
-                       ;; size=7 bbWeight=1 PerfScore 2.50
+                       ;; size=11 bbWeight=1 PerfScore 2.75
 G_M54344_IG04:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rdi]
+       add      rsp, 16
        pop      rbx
        ret      
-                     ;; size=2 bbWeight=0 PerfScore 0.00
+                       ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 34, prolog size 4, PerfScore 13.50, instruction count 14, allocated bytes for code 34 (MethodHash=82472bb7) for method System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
+; Total bytes of code 71, prolog size 13, PerfScore 23.25, instruction count 23, allocated bytes for code 71 (MethodHash=82472bb7) for method System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -54,9 +63,10 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x01
-  CountOfUnwindCodes: 1
+  SizeOfProlog      : 0x05
+  CountOfUnwindCodes: 2
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
+    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
  
+15 (+136.36%) : 211203.dasm - Program:TestSystem.__Canon:int (FullOpts)
@@ -8,27 +8,31 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 TypeCtx      [V00,T00] (  3,  3   )    long  ->  rdi         single-def
+;  V00 TypeCtx      [V00,T00] (  4,  4   )    long  ->  rdi         single-def
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <MyInterfaceImpl`1[System.__Canon]>
 ;* V03 tmp2         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V04 rat0         [V04,T02] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V05 rat1         [V05,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V05 rat1         [V05,T01] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 8
 
 G_M46698_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rax
-                      ;; size=1 bbWeight=1 PerfScore 1.00
+       mov      qword ptr [rsp], rdi
+                       ;; size=5 bbWeight=1 PerfScore 2.00
 G_M46698_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      rax, qword ptr [rdi+0x38]
+       mov      rax, qword ptr [rax+0x10]
+       test     rax, rax
        mov      eax, 100
-                     ;; size=5 bbWeight=1 PerfScore 0.25
+                       ;; size=16 bbWeight=1 PerfScore 4.50
 G_M46698_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 8
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 11, prolog size 1, PerfScore 2.50, instruction count 4, allocated bytes for code 11 (MethodHash=498b4995) for method Program:Test[System.__Canon]():int (FullOpts)
+; Total bytes of code 26, prolog size 5, PerfScore 7.75, instruction count 8, allocated bytes for code 26 (MethodHash=498b4995) for method Program:Test[System.__Canon]():int (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+36 (+327.27%) : 542667.dasm - ILGEN0x2dda4eb5:Method0xa084659a():ushort (FullOpts)
@@ -9,23 +9,34 @@
 ;
 ;* V00 loc0         [V00,T02] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V02 tmp1         [V02,T00] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
-;* V03 cse0         [V03,T01] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
+;  V02 tmp1         [V02,T00] (  2,  4   )     ref  ->  rax         single-def "arr expr"
+;  V03 cse0         [V03,T01] (  2,  2   )    long  ->  rdi         "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
 G_M5817_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rax
-                      ;; size=1 bbWeight=1 PerfScore 1.00
+       vzeroupper 
+                       ;; size=4 bbWeight=1 PerfScore 2.00
 G_M5817_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      rdi, 0xD1FFAB1E      ; <unknown class>
+       mov      esi, 41
+       call     CORINFO_HELP_NEWARR_1_VC
+       ; gcrRegs +[rax]
+       ; gcr arg pop 0
+       vmovsd   xmm0, qword ptr [reloc @RWD00]
+       vucomisd xmm0, qword ptr [rax+0x48]
        mov      eax, 100
-                       ;; size=5 bbWeight=1 PerfScore 0.25
+       ; gcrRegs -[rax]
+                       ;; size=38 bbWeight=1 PerfScore 9.75
 G_M5817_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 8
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
+RWD00      dq  401C000000000000h   ;            7
 
-; Total bytes of code 11, prolog size 1, PerfScore 2.50, instruction count 4, allocated bytes for code 11 (MethodHash=cc10e946) for method ILGEN_0x2dda4eb5:Method_0xa084659a():ushort (FullOpts)
+
+; Total bytes of code 47, prolog size 4, PerfScore 13.00, instruction count 10, allocated bytes for code 47 (MethodHash=cc10e946) for method ILGEN_0x2dda4eb5:Method_0xa084659a():ushort (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
libraries.crossgen2.linux.x64.checked.mch
-12 (-3.86%) : 6746.dasm - System.Data.SqlTypes.SqlString:CompareBinary2(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):int (FullOpts)
@@ -10,22 +10,22 @@
 ;
 ;  V00 arg0         [V00,T13] (  1,  1   )  struct (32) [rbp+0x10]  do-not-enreg[SF] single-def <System.Data.SqlTypes.SqlString>
 ;  V01 arg1         [V01,T14] (  1,  1   )  struct (32) [rbp+0x30]  do-not-enreg[SF] single-def <System.Data.SqlTypes.SqlString>
-;  V02 loc0         [V02,T07] (  5,  8   )     ref  ->  rax         class-hnd single-def <<unknown class>>
-;  V03 loc1         [V03,T04] (  7, 10.50)     ref  ->  rcx         class-hnd single-def <<unknown class>>
-;  V04 loc2         [V04,T08] (  5,  7.50)     int  ->  rdi        
-;  V05 loc3         [V05,T06] (  7,  8   )     int  ->   r8        
-;  V06 loc4         [V06,T05] (  7,  8.50)     int  ->   r9        
-;  V07 loc5         [V07,T00] ( 31, 47.66)     int  ->  r10        
+;  V02 loc0         [V02,T07] (  5,  8   )     ref  ->  rcx         class-hnd single-def <<unknown class>>
+;  V03 loc1         [V03,T04] (  7, 10.50)     ref  ->  rdx         class-hnd single-def <<unknown class>>
+;  V04 loc2         [V04,T08] (  5,  7.50)     int  ->  rsi        
+;  V05 loc3         [V05,T06] (  7,  8   )     int  ->   r9        
+;  V06 loc4         [V06,T05] (  7,  8.50)     int  ->  r10        
+;  V07 loc5         [V07,T00] ( 31, 47.66)     int  ->  rax        
 ;* V08 loc6         [V08,T15] (  0,  0   )  ushort  ->  zero-ref   
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 tmp1         [V10,T12] (  2,  2   )     int  ->   r9        
-;  V11 cse0         [V11,T10] (  3,  4.50)     int  ->  rcx         "CSE - aggressive"
+;  V10 tmp1         [V10,T12] (  2,  2   )     int  ->  r10        
+;  V11 cse0         [V11,T10] (  3,  4.50)     int  ->   r8         "CSE - aggressive"
 ;  V12 cse1         [V12,T16] (  3,  0.12)     int  ->  r11         "CSE - conservative"
 ;  V13 cse2         [V13,T17] (  3,  0.12)     int  ->  rbx         "CSE - conservative"
 ;  V14 cse3         [V14,T01] (  3, 11.88)     int  ->  rbx         "CSE - aggressive"
 ;  V15 cse4         [V15,T02] (  3, 11.88)     int  ->  r11         "CSE - aggressive"
-;  V16 cse5         [V16,T09] (  5,  5.04)     int  ->  rdx         "CSE - aggressive"
-;  V17 cse6         [V17,T11] (  6,  3.58)     int  ->  rsi         "CSE - aggressive"
+;  V16 cse5         [V16,T09] (  5,  5.04)     int  ->  rdi         "CSE - aggressive"
+;  V17 cse6         [V17,T11] (  6,  3.58)     int  ->   r8         "CSE - aggressive"
 ;  V18 cse7         [V18,T03] (  3, 11.88)    long  ->  r11         "CSE - aggressive"
 ;
 ; Lcl frame size = 8
@@ -37,118 +37,118 @@ G_M443_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, n
        lea      rbp, [rsp+0x10]
                        ;; size=8 bbWeight=1 PerfScore 3.50
 G_M443_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       mov      rax, gword ptr [rbp+0x10]
-       ; gcrRegs +[rax]
-       mov      rcx, gword ptr [rbp+0x30]
+       mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
-       mov      edx, dword ptr [rax+0x08]
-       mov      edi, edx
-       mov      esi, dword ptr [rcx+0x08]
-       mov      r8d, esi
-       cmp      edi, r8d
+       mov      rdx, gword ptr [rbp+0x30]
+       ; gcrRegs +[rdx]
+       mov      edi, dword ptr [rcx+0x08]
+       mov      esi, edi
+       mov      r8d, dword ptr [rdx+0x08]
        mov      r9d, r8d
-       cmovl    r9d, edi
-       xor      r10d, r10d
-       test     r9d, r9d
-       jle      SHORT G_M443_IG06
-       cmp      edx, r9d
-       jl       SHORT G_M443_IG05
        cmp      esi, r9d
+       mov      r10d, r9d
+       cmovl    r10d, esi
+       xor      eax, eax
+       test     r10d, r10d
+       jle      SHORT G_M443_IG06
+       cmp      edi, r10d
+       jl       SHORT G_M443_IG05
+       cmp      r8d, r10d
        jl       SHORT G_M443_IG05
                        ;; size=47 bbWeight=1 PerfScore 11.25
-G_M443_IG03:        ; bbWeight=3.96, gcrefRegs=0003 {rax rcx}, byrefRegs=0000 {}, byref, isz
-       mov      r11d, r10d
-       movzx    rbx, word  ptr [rax+2*r11+0x0C]
-       movzx    r11, word  ptr [rcx+2*r11+0x0C]
+G_M443_IG03:        ; bbWeight=3.96, gcrefRegs=0006 {rcx rdx}, byrefRegs=0000 {}, byref, isz
+       mov      r11d, eax
+       movzx    rbx, word  ptr [rcx+2*r11+0x0C]
+       movzx    r11, word  ptr [rdx+2*r11+0x0C]
        cmp      ebx, r11d
        jl       G_M443_IG17
        jg       G_M443_IG19
-       inc      r10d
-       cmp      r10d, r9d
+       inc      eax
+       cmp      eax, r10d
        jl       SHORT G_M443_IG03
-                       ;; size=38 bbWeight=3.96 PerfScore 31.68
-G_M443_IG04:        ; bbWeight=1, gcrefRegs=0003 {rax rcx}, byrefRegs=0000 {}, byref, isz
+                        ;; size=37 bbWeight=3.96 PerfScore 31.68
+G_M443_IG04:        ; bbWeight=0.50, gcrefRegs=0006 {rcx rdx}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M443_IG06
-                        ;; size=2 bbWeight=1 PerfScore 2.00
-G_M443_IG05:        ; bbWeight=0.04, gcrefRegs=0003 {rax rcx}, byrefRegs=0000 {}, byref, isz
-       cmp      r10d, edx
+                        ;; size=2 bbWeight=0.50 PerfScore 1.00
+G_M443_IG05:        ; bbWeight=0.04, gcrefRegs=0006 {rcx rdx}, byrefRegs=0000 {}, byref, isz
+       cmp      eax, edi
        jae      G_M443_IG21
-       mov      r11d, r10d
-       movzx    r11, word  ptr [rax+2*r11+0x0C]
-       cmp      r10d, esi
+       mov      r11d, eax
+       movzx    r11, word  ptr [rcx+2*r11+0x0C]
+       cmp      eax, r8d
        jae      G_M443_IG21
-       mov      ebx, r10d
-       movzx    rbx, word  ptr [rcx+2*rbx+0x0C]
+       mov      ebx, eax
+       movzx    rbx, word  ptr [rdx+2*rbx+0x0C]
        cmp      r11d, ebx
        jl       G_M443_IG17
        cmp      ebx, r11d
        jl       G_M443_IG19
-       inc      r10d
-       cmp      r10d, r9d
+       inc      eax
+       cmp      eax, r10d
        jl       SHORT G_M443_IG05
-                       ;; size=61 bbWeight=0.04 PerfScore 0.44
-G_M443_IG06:        ; bbWeight=0.50, gcrefRegs=0003 {rax rcx}, byrefRegs=0000 {}, byref, isz
-       mov      r10d, r9d
-       cmp      edi, r8d
+                     ;; size=58 bbWeight=0.04 PerfScore 0.44
+G_M443_IG06:        ; bbWeight=0.50, gcrefRegs=0006 {rcx rdx}, byrefRegs=0000 {}, byref, isz
+       mov      eax, r10d
+       cmp      esi, r9d
        jge      SHORT G_M443_IG13
-       cmp      r10d, r8d
+       cmp      eax, r9d
        jge      SHORT G_M443_IG14
-       test     r10d, r10d
+       test     eax, eax
        jl       SHORT G_M443_IG09
-                       ;; size=18 bbWeight=0.50 PerfScore 2.00
-G_M443_IG07:        ; bbWeight=3.96, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
-       mov      edi, r10d
-       cmp      word  ptr [rcx+2*rdi+0x0C], 32
+                       ;; size=17 bbWeight=0.50 PerfScore 2.00
+G_M443_IG07:        ; bbWeight=3.96, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rcx]
+       mov      esi, eax
+       cmp      word  ptr [rdx+2*rsi+0x0C], 32
        jne      SHORT G_M443_IG11
-       inc      r10d
-       cmp      r10d, r8d
+       inc      eax
+       cmp      eax, r9d
        jl       SHORT G_M443_IG07
-                        ;; size=19 bbWeight=3.96 PerfScore 22.77
+                      ;; size=17 bbWeight=3.96 PerfScore 22.77
 G_M443_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rcx]
+       ; gcrRegs -[rdx]
        jmp      SHORT G_M443_IG14
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M443_IG09:        ; bbWeight=0.04, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs +[rcx]
-       cmp      r10d, esi
+G_M443_IG09:        ; bbWeight=0.04, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[rdx]
+       cmp      eax, r8d
        jae      SHORT G_M443_IG21
-       mov      edx, r10d
-       cmp      word  ptr [rcx+2*rdx+0x0C], 32
+       mov      edi, eax
+       cmp      word  ptr [rdx+2*rdi+0x0C], 32
        jne      SHORT G_M443_IG11
-       inc      r10d
-       cmp      r10d, r8d
+       inc      eax
+       cmp      eax, r9d
        jl       SHORT G_M443_IG09
-                        ;; size=24 bbWeight=0.04 PerfScore 0.28
+                       ;; size=22 bbWeight=0.04 PerfScore 0.28
 G_M443_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rcx]
+       ; gcrRegs -[rdx]
        jmp      SHORT G_M443_IG14
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M443_IG11:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs +[rcx]
-       cmp      r10d, esi
+G_M443_IG11:        ; bbWeight=0.50, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[rdx]
+       cmp      eax, r8d
        jae      SHORT G_M443_IG21
-       mov      r10d, r10d
-       cmp      word  ptr [rcx+2*r10+0x0C], 32
+       mov      eax, eax
+       cmp      word  ptr [rdx+2*rax+0x0C], 32
        jb       SHORT G_M443_IG19
        jmp      SHORT G_M443_IG17
-                        ;; size=19 bbWeight=0.50 PerfScore 3.75
-G_M443_IG12:        ; bbWeight=2, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rcx] +[rax]
-       cmp      r10d, edx
+                        ;; size=17 bbWeight=0.50 PerfScore 3.75
+G_M443_IG12:        ; bbWeight=2, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rdx] +[rcx]
+       cmp      eax, edi
        jae      SHORT G_M443_IG21
-       mov      ecx, r10d
-       movzx    rcx, word  ptr [rax+2*rcx+0x0C]
-       cmp      ecx, 32
+       mov      edx, eax
+       movzx    r8, word  ptr [rcx+2*rdx+0x0C]
+       cmp      r8d, 32
        jne      SHORT G_M443_IG16
-       inc      r10d
-                       ;; size=21 bbWeight=2 PerfScore 10.00
-G_M443_IG13:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       cmp      r10d, edi
+       inc      eax
+                       ;; size=20 bbWeight=2 PerfScore 10.00
+G_M443_IG13:        ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       cmp      eax, esi
        jl       SHORT G_M443_IG12
-                        ;; size=5 bbWeight=4 PerfScore 5.00
+                       ;; size=4 bbWeight=4 PerfScore 5.00
 G_M443_IG14:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rax]
+       ; gcrRegs -[rcx]
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M443_IG15:        ; bbWeight=0.50, epilog, nogc, extend
@@ -158,9 +158,9 @@ G_M443_IG15:        ; bbWeight=0.50, epilog, nogc, extend
        ret      
                        ;; size=7 bbWeight=0.50 PerfScore 1.12
 G_M443_IG16:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-       cmp      ecx, 32
+       cmp      r8d, 32
        jg       SHORT G_M443_IG19
-                     ;; size=5 bbWeight=0.50 PerfScore 0.62
+                        ;; size=6 bbWeight=0.50 PerfScore 0.62
 G_M443_IG17:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      eax, -1
                        ;; size=5 bbWeight=0.50 PerfScore 0.12
@@ -185,7 +185,7 @@ G_M443_IG21:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {},
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 311, prolog size 8, PerfScore 99.05, instruction count 102, allocated bytes for code 311 (MethodHash=bd33fe44) for method System.Data.SqlTypes.SqlString:CompareBinary2(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):int (FullOpts)
+; Total bytes of code 299, prolog size 8, PerfScore 98.05, instruction count 102, allocated bytes for code 299 (MethodHash=bd33fe44) for method System.Data.SqlTypes.SqlString:CompareBinary2(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
-4 (-3.31%) : 38099.dasm - System.Globalization.TimeSpanParse:ParseExactDigits(byref,int,int,byref,byref):ubyte (FullOpts)
@@ -14,17 +14,17 @@
 ;  V02 arg2         [V02,T05] (  4,  7   )     int  ->  rdx         single-def
 ;  V03 arg3         [V03,T08] (  3,  3   )   byref  ->  rcx         single-def
 ;  V04 arg4         [V04,T09] (  3,  3   )   byref  ->   r8         single-def
-;  V05 loc0         [V05,T01] (  5, 14   )     int  ->  rax        
-;  V06 loc1         [V06,T07] (  4,  6   )     int  ->   r9        
-;  V07 loc2         [V07,T02] (  5, 14   )     int  ->  r10        
+;  V05 loc0         [V05,T01] (  5, 14   )     int  ->   r9        
+;  V06 loc1         [V06,T07] (  4,  6   )     int  ->  r10        
+;  V07 loc2         [V07,T02] (  5, 14   )     int  ->  r11        
 ;* V08 loc3         [V08    ] (  0,  0   )  ushort  ->  zero-ref   
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V10 tmp1         [V10,T04] (  4, 12   )  ushort  ->  rbx         "Inline return value spill temp"
-;  V11 tmp2         [V11,T03] (  4, 14   )     int  ->  r11         "Inline stloc first use temp"
+;  V11 tmp2         [V11,T03] (  4, 14   )     int  ->  rax         "Inline stloc first use temp"
 ;* V12 tmp3         [V12    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V13 tmp4         [V13    ] (  0,  0   )   byref  ->  zero-ref    "Span.get_Item ptrToSpan"
 ;  V14 cse0         [V14,T06] (  2,  8   )     int  ->  rbx         "CSE - aggressive"
-;  V15 cse1         [V15,T11] (  3,  1.50)     int  ->  rdx         "CSE - moderate"
+;  V15 cse1         [V15,T11] (  3,  1.50)     int  ->  rax         "CSE - moderate"
 ;
 ; Lcl frame size = 8
 
@@ -36,20 +36,20 @@ G_M46808_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=8 bbWeight=1 PerfScore 3.50
 G_M46808_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0182 {rcx rdi r8}, byref, isz
        ; byrRegs +[rcx rdi r8]
-       xor      eax, eax
        xor      r9d, r9d
        xor      r10d, r10d
+       xor      r11d, r11d
        test     edx, edx
        jle      SHORT G_M46808_IG11
-                      ;; size=12 bbWeight=1 PerfScore 2.00
+                      ;; size=13 bbWeight=1 PerfScore 2.00
 G_M46808_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0182 {rcx rdi r8}, byref, isz
-       mov      r11d, dword ptr [rdi+0x10]
-       inc      r11d
-       mov      dword ptr [rdi+0x10], r11d
+       mov      eax, dword ptr [rdi+0x10]
+       inc      eax
+       mov      dword ptr [rdi+0x10], eax
        mov      ebx, dword ptr [rdi+0x08]
-       cmp      r11d, ebx
+       cmp      eax, ebx
        jb       SHORT G_M46808_IG05
-                       ;; size=19 bbWeight=4 PerfScore 26.00
+                     ;; size=15 bbWeight=4 PerfScore 26.00
 G_M46808_IG04:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0182 {rcx rdi r8}, byref, isz
        xor      ebx, ebx
        jmp      SHORT G_M46808_IG06
@@ -57,45 +57,45 @@ G_M46808_IG04:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0182 {rcx rdi r
 G_M46808_IG05:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0182 {rcx rdi r8}, byref
        mov      rbx, bword ptr [rdi]
        ; byrRegs +[rbx]
-       mov      r11d, r11d
-       movzx    rbx, word  ptr [rbx+2*r11]
+       mov      eax, eax
+       movzx    rbx, word  ptr [rbx+2*rax]
        ; byrRegs -[rbx]
-                        ;; size=11 bbWeight=2 PerfScore 8.50
+                      ;; size=9 bbWeight=2 PerfScore 8.50
 G_M46808_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0182 {rcx rdi r8}, byref, isz
-       lea      r11d, [rbx-0x30]
-       cmp      r11d, 9
+       lea      eax, [rbx-0x30]
+       cmp      eax, 9
        ja       SHORT G_M46808_IG10
-       lea      eax, [rax+4*rax]
-       lea      eax, [rbx+2*rax-0x30]
-       test     eax, eax
+       lea      r9d, [r9+4*r9]
+       lea      r9d, [rbx+2*r9-0x30]
+       test     r9d, r9d
        jne      SHORT G_M46808_IG08
-                      ;; size=21 bbWeight=4 PerfScore 18.00
+                     ;; size=22 bbWeight=4 PerfScore 18.00
 G_M46808_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0182 {rcx rdi r8}, byref
-       inc      r9d
+       inc      r10d
                        ;; size=3 bbWeight=2 PerfScore 0.50
 G_M46808_IG08:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0182 {rcx rdi r8}, byref, isz
-       inc      r10d
-       cmp      r10d, edx
+       inc      r11d
+       cmp      r11d, edx
        jl       SHORT G_M46808_IG03
                        ;; size=8 bbWeight=4 PerfScore 6.00
-G_M46808_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0102 {rcx r8}, byref, isz
+G_M46808_IG09:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0102 {rcx r8}, byref, isz
        ; byrRegs -[rdi]
        jmp      SHORT G_M46808_IG11
-                      ;; size=2 bbWeight=0.50 PerfScore 1.00
+                        ;; size=2 bbWeight=1 PerfScore 2.00
 G_M46808_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0182 {rcx rdi r8}, byref, isz
        ; byrRegs +[rdi]
-       mov      edx, dword ptr [rdi+0x10]
-       test     edx, edx
+       mov      eax, dword ptr [rdi+0x10]
+       test     eax, eax
        jle      SHORT G_M46808_IG11
-       dec      edx
-       mov      dword ptr [rdi+0x10], edx
+       dec      eax
+       mov      dword ptr [rdi+0x10], eax
                       ;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M46808_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0102 {rcx r8}, byref
        ; byrRegs -[rdi]
-       mov      dword ptr [rcx], r9d
-       mov      dword ptr [r8], eax
+       mov      dword ptr [rcx], r10d
+       mov      dword ptr [r8], r9d
        xor      eax, eax
-       cmp      r10d, esi
+       cmp      r11d, esi
        setge    al
                        ;; size=14 bbWeight=1 PerfScore 3.50
 G_M46808_IG12:        ; bbWeight=1, epilog, nogc, extend
@@ -105,7 +105,7 @@ G_M46808_IG12:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=7 bbWeight=1 PerfScore 2.25
 
-; Total bytes of code 121, prolog size 8, PerfScore 78.00, instruction count 46, allocated bytes for code 121 (MethodHash=b4c64927) for method System.Globalization.TimeSpanParse:ParseExactDigits(byref,int,int,byref,byref):ubyte (FullOpts)
+; Total bytes of code 117, prolog size 8, PerfScore 79.00, instruction count 46, allocated bytes for code 117 (MethodHash=b4c64927) for method System.Globalization.TimeSpanParse:ParseExactDigits(byref,int,int,byref,byref):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
-20 (-3.08%) : 62212.dasm - Microsoft.CodeAnalysis.CSharp.AccessCheck:InheritsFromOrImplementsIgnoringConstruction(Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpCompilation,byref,Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):ubyte (FullOpts)
@@ -21,12 +21,12 @@
 ;  V09 loc4         [V09,T00] (  9, 26   )     ref  ->  r12         class-hnd <Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol>
 ;  V10 loc5         [V10,T13] (  5,  4   )   ubyte  ->  [rbp-0x3C] 
 ;  V11 loc6         [V11,T06] (  3, 12   )     ref  ->  rax         class-hnd <Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol>
-;  V12 loc7         [V12,T05] (  4, 12   )     ref  ->  r13         class-hnd <Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol>
+;  V12 loc7         [V12,T05] (  4, 12   )     ref  ->  r12         class-hnd <Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol>
 ;  V13 loc8         [V13    ] (  6,  9.50)  struct (24) [rbp-0x58]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.HashSet`1+Enumerator[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]>
 ;# V14 OutArgs      [V14    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V15 tmp1         [V15,T01] (  2, 16   )     ref  ->  rdi         "argument with side effect"
 ;  V16 PSPSym       [V16,T14] (  1,  1   )    long  ->  [rbp-0x70]  do-not-enreg[V] "PSPSym"
-;  V17 cse0         [V17,T08] (  7,  9.50)    long  ->  r14         multi-def "CSE - moderate"
+;  V17 cse0         [V17,T08] (  7,  9.50)    long  ->  r12         multi-def "CSE - moderate"
 ;
 ; Lcl frame size = 72
 
@@ -166,13 +166,14 @@ G_M39728_IG10:        ; bbWeight=4, gcrefRegs=7008 {rbx r12 r13 r14}, byrefRegs=
        test     r12, r12
        jne      SHORT G_M39728_IG06
                        ;; size=62 bbWeight=4 PerfScore 58.00
-G_M39728_IG11:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
+G_M39728_IG11:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
        ; gcrRegs -[r12-r13]
        jmp      SHORT G_M39728_IG13
-                      ;; size=2 bbWeight=0.50 PerfScore 1.00
+                        ;; size=2 bbWeight=1 PerfScore 2.00
 G_M39728_IG12:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref
-       mov      dword ptr [rbp-0x3C], 1
-                       ;; size=7 bbWeight=0.50 PerfScore 0.50
+       mov      r13d, 1
+       mov      dword ptr [rbp-0x3C], r13d
+                       ;; size=10 bbWeight=0.50 PerfScore 0.62
 G_M39728_IG13:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
        cmp      gword ptr [rbp-0x38], 0
        je       SHORT G_M39728_IG15
@@ -184,13 +185,14 @@ G_M39728_IG14:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=8000
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
                        ;; size=10 bbWeight=0.50 PerfScore 2.00
-G_M39728_IG15:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
+G_M39728_IG15:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref
+       mov      r13d, dword ptr [rbp-0x3C]
        xor      edi, edi
-       cmp      dword ptr [rbp-0x3C], 0
+       test     r13d, r13d
        sete     dil
        test     edi, dword ptr [rbp-0x2C]
-       je       SHORT G_M39728_IG22
-                       ;; size=15 bbWeight=1 PerfScore 6.25
+       je       G_M39728_IG26
+                       ;; size=22 bbWeight=1 PerfScore 5.50
 G_M39728_IG16:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
        mov      rdi, gword ptr [rbp-0x68]
        ; gcrRegs +[rdi]
@@ -200,7 +202,7 @@ G_M39728_IG16:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=8000
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
        test     eax, eax
-       je       SHORT G_M39728_IG21
+       je       SHORT G_M39728_IG22
                      ;; size=20 bbWeight=0.50 PerfScore 4.38
 G_M39728_IG17:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
        mov      rdi, qword ptr [(reloc)]      ; <unknown method>
@@ -209,9 +211,9 @@ G_M39728_IG17:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r1
        call     [<unknown method>]
        ; gcrRegs -[rsi] +[rax]
        ; gcr arg pop 0
-       mov      r13, rax
-       ; gcrRegs +[r13]
-       mov      rdi, r13
+       mov      r12, rax
+       ; gcrRegs +[r12]
+       mov      rdi, r12
        ; gcrRegs +[rdi]
        lea      r11, [(reloc)]      ; function address
        cmp      dword ptr [rdi], edi
@@ -221,10 +223,10 @@ G_M39728_IG17:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r1
        test     eax, eax
        je       SHORT G_M39728_IG19
                        ;; size=39 bbWeight=4 PerfScore 57.00
-G_M39728_IG18:        ; bbWeight=2, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=8000 {r15}, byref, isz
-       cmp      r13, r14
-       je       SHORT G_M39728_IG23
-       mov      rdi, r13
+G_M39728_IG18:        ; bbWeight=2, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=8000 {r15}, byref, isz
+       cmp      r12, r14
+       je       SHORT G_M39728_IG21
+       mov      rdi, r12
        ; gcrRegs +[rdi]
        mov      rsi, gword ptr [rbp-0x68]
        ; gcrRegs +[rsi]
@@ -233,7 +235,7 @@ G_M39728_IG18:        ; bbWeight=2, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=8000
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        call     [<unknown method>]
-       ; gcrRegs -[rcx rdx rsi rdi r13]
+       ; gcrRegs -[rcx rdx rsi rdi r12]
        ; gcr arg pop 0
                        ;; size=25 bbWeight=2 PerfScore 13.50
 G_M39728_IG19:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref, isz
@@ -248,24 +250,14 @@ G_M39728_IG19:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r1
                        ;; size=18 bbWeight=4 PerfScore 23.00
 G_M39728_IG20:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8000 {r15}, byref, isz
        ; gcrRegs -[rbx r14]
-       mov      ebx, dword ptr [rbp-0x3C]
-       jmp      SHORT G_M39728_IG24
-                       ;; size=5 bbWeight=0.50 PerfScore 1.50
-G_M39728_IG21:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=8000 {r15}, byref, isz
-       mov      ebx, dword ptr [rbp-0x3C]
-       jmp      SHORT G_M39728_IG24
-                       ;; size=5 bbWeight=0.25 PerfScore 0.75
-G_M39728_IG22:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M39728_IG22
+                       ;; size=2 bbWeight=0.50 PerfScore 1.00
+G_M39728_IG21:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; byrRegs -[r15]
-       mov      ecx, dword ptr [rbp-0x3C]
-       jmp      SHORT G_M39728_IG28
-                       ;; size=5 bbWeight=0.50 PerfScore 1.50
-G_M39728_IG23:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rbp-0x3C], 1
-       mov      ecx, dword ptr [rbp-0x3C]
-       jmp      SHORT G_M39728_IG28
-                       ;; size=12 bbWeight=0.50 PerfScore 2.00
-G_M39728_IG24:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8000 {r15}, byref
+       mov      r13d, 1
+       jmp      SHORT G_M39728_IG26
+                       ;; size=8 bbWeight=0.50 PerfScore 1.12
+G_M39728_IG22:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8000 {r15}, byref
        ; byrRegs +[r15]
        lea      rsi, [rbp-0x58]
        mov      rdi, gword ptr [rbp-0x60]
@@ -277,18 +269,18 @@ G_M39728_IG24:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8000 {r15},
        ; gcr arg pop 0
        nop      
                        ;; size=21 bbWeight=0.50 PerfScore 4.12
-G_M39728_IG25:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8000 {r15}, byref, isz
+G_M39728_IG23:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8000 {r15}, byref, isz
        lea      rdi, [rbp-0x58]
-       mov      r14, qword ptr [(reloc)]
-       mov      rsi, r14
+       mov      r12, qword ptr [(reloc)]
+       mov      rsi, r12
        call     [<unknown method>]
        ; gcr arg pop 0
        test     eax, eax
-       je       SHORT G_M39728_IG27
+       je       SHORT G_M39728_IG25
                      ;; size=24 bbWeight=0.50 PerfScore 3.50
-G_M39728_IG26:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=8000 {r15}, byref, isz
+G_M39728_IG24:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=8000 {r15}, byref, isz
        lea      rdi, [rbp-0x58]
-       mov      rsi, r14
+       mov      rsi, r12
        call     [<unknown method>]
        ; gcrRegs +[rax]
        ; gcr arg pop 0
@@ -302,56 +294,51 @@ G_M39728_IG26:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=8000 {r15}, byr
        ; byrRegs -[rsi]
        ; gcr arg pop 0
        lea      rdi, [rbp-0x58]
-       mov      rsi, r14
+       mov      rsi, r12
        call     [<unknown method>]
        ; gcr arg pop 0
        test     eax, eax
-       jne      SHORT G_M39728_IG26
+       jne      SHORT G_M39728_IG24
                      ;; size=47 bbWeight=4 PerfScore 50.00
-G_M39728_IG27:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M39728_IG25:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; byrRegs -[r15]
        lea      rdi, [rbp-0x58]
-       mov      rsi, r14
+       mov      rsi, r12
        call     [<unknown method>]
        ; gcr arg pop 0
-       mov      ecx, ebx
-                       ;; size=15 bbWeight=0.50 PerfScore 2.00
+                       ;; size=13 bbWeight=0.50 PerfScore 1.88
+G_M39728_IG26:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      r12, gword ptr [rbp-0x60]
+       ; gcrRegs +[r12]
+       test     r12, r12
+       je       SHORT G_M39728_IG28
+                       ;; size=9 bbWeight=1 PerfScore 2.25
+G_M39728_IG27:        ; bbWeight=0.50, gcVars=0000000000000004 {V06}, gcrefRegs=1000 {r12}, byrefRegs=0000 {}, gcvars, byref
+       ; GC ptr vars -{V05}
+       mov      rdi, r12
+       ; gcrRegs +[rdi]
+       call     [<unknown method>]
+       ; gcrRegs -[rdi r12]
+       ; gcr arg pop 0
+                       ;; size=9 bbWeight=0.50 PerfScore 1.62
 G_M39728_IG28:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       mov      rbx, gword ptr [rbp-0x60]
+       mov      rbx, gword ptr [rbp-0x68]
        ; gcrRegs +[rbx]
        test     rbx, rbx
        je       SHORT G_M39728_IG30
                        ;; size=9 bbWeight=1 PerfScore 2.25
-G_M39728_IG29:        ; bbWeight=0.50, gcVars=0000000000000004 {V06}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
-       ; GC ptr vars -{V05}
-       mov      dword ptr [rbp-0x3C], ecx
-       mov      rdi, rbx
-       ; gcrRegs +[rdi]
-       call     [<unknown method>]
-       ; gcrRegs -[rbx rdi]
-       ; gcr arg pop 0
-       mov      ecx, dword ptr [rbp-0x3C]
-                       ;; size=15 bbWeight=0.50 PerfScore 2.62
-G_M39728_IG30:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       mov      rbx, gword ptr [rbp-0x68]
-       ; gcrRegs +[rbx]
-       test     rbx, rbx
-       je       SHORT G_M39728_IG32
-                       ;; size=9 bbWeight=1 PerfScore 2.25
-G_M39728_IG31:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
+G_M39728_IG29:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V06}
-       mov      dword ptr [rbp-0x3C], ecx
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        call     [<unknown method>]
        ; gcrRegs -[rbx rdi]
        ; gcr arg pop 0
-       mov      ecx, dword ptr [rbp-0x3C]
-                       ;; size=15 bbWeight=0.50 PerfScore 2.62
-G_M39728_IG32:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       mov      eax, ecx
-                       ;; size=2 bbWeight=1 PerfScore 0.25
-G_M39728_IG33:        ; bbWeight=1, epilog, nogc, extend
+                     ;; size=9 bbWeight=0.50 PerfScore 1.62
+G_M39728_IG30:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      eax, r13d
+                       ;; size=3 bbWeight=1 PerfScore 0.25
+G_M39728_IG31:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 72
        pop      rbx
        pop      r12
@@ -361,7 +348,7 @@ G_M39728_IG33:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=15 bbWeight=1 PerfScore 4.25
-G_M39728_IG34:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M39728_IG32:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        push     rbp
        push     r15
        push     r14
@@ -373,15 +360,15 @@ G_M39728_IG34:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      qword ptr [rsp], rbp
...
  
+6 (+7.69%) : 164474.dasm - System.Data.Odbc.OdbcCommand:ExecuteReaderObject(int,System.String,ubyte):System.Data.Odbc.OdbcDataReader:this (FullOpts)
@@ -14,11 +14,11 @@
 ;  V02 arg2         [V02,T01] (  4,  3   )     ref  ->  rdx         class-hnd single-def <System.String>
 ;  V03 arg3         [V03,T03] (  3,  3   )   ubyte  ->  rcx         single-def
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V05 tmp1         [V05,T04] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "dup spill" <System.String>
-;* V06 tmp2         [V06,T08] (  0,  0   )     ref  ->  zero-ref   
+;  V05 tmp1         [V05,T04] (  2,  4   )     ref  ->   r8         class-hnd single-def "dup spill" <System.String>
+;  V06 tmp2         [V06,T08] (  2,  2   )     ref  ->   r8        
 ;  V07 tmp3         [V07,T05] (  2,  4   )     ref  ->  rax         class-hnd single-def "dup spill" <System.String>
 ;  V08 tmp4         [V08,T06] (  4,  3.50)     ref  ->  rax        
-;  V09 cse0         [V09,T07] (  2,  2   )     ref  ->  rax         "CSE - moderate"
+;  V09 cse0         [V09,T07] (  3,  3   )     ref  ->  rax         "CSE - moderate"
 ;
 ; Lcl frame size = 0
 
@@ -31,11 +31,14 @@ G_M18056_IG02:        ; bbWeight=1, gcrefRegs=0084 {rdx rdi}, byrefRegs=0000 {},
        mov      rax, qword ptr [(reloc)]      ; const ptr
        mov      rax, gword ptr [rdi+rax]
        ; gcrRegs +[rax]
+       mov      r8, rax
+       ; gcrRegs +[r8]
+       test     r8, r8
        test     rax, rax
        jne      SHORT G_M18056_IG04
-                      ;; size=16 bbWeight=1 PerfScore 5.25
+                      ;; size=22 bbWeight=1 PerfScore 5.75
 G_M18056_IG03:        ; bbWeight=0.50, gcrefRegs=0084 {rdx rdi}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rax]
+       ; gcrRegs -[rax r8]
        mov      rax, qword ptr [(reloc)]      ; const ptr
        mov      rax, gword ptr [rax]
        ; gcrRegs +[rax]
@@ -69,7 +72,7 @@ G_M18056_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0004 {
        int3     
                        ;; size=19 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 78, prolog size 4, PerfScore 16.25, instruction count 21, allocated bytes for code 78 (MethodHash=bbbbb977) for method System.Data.Odbc.OdbcCommand:ExecuteReaderObject(int,System.String,ubyte):System.Data.Odbc.OdbcDataReader:this (FullOpts)
+; Total bytes of code 84, prolog size 4, PerfScore 16.75, instruction count 23, allocated bytes for code 84 (MethodHash=bbbbb977) for method System.Data.Odbc.OdbcCommand:ExecuteReaderObject(int,System.String,ubyte):System.Data.Odbc.OdbcDataReader:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+28 (+9.89%) : 167702.dasm - Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
@@ -13,33 +13,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        
+;  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  ->  rcx         single-def
 ;  V07 loc5         [V07,T00] ( 10, 16.54)     int  ->  rcx        
-;  V08 loc6         [V08,T09] (  3,  1.50)    long  ->  rax         single-def
+;  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
@@ -63,13 +65,15 @@ G_M40875_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx},
        ; byrRegs +[rax]
                        ;; size=33 bbWeight=0.50 PerfScore 5.38
 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]
@@ -94,82 +98,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
+       lea      r13d, [r14-0x01]
+       mov      r12, -1
        xor      ecx, ecx
-       test     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
        ; gcrRegs -[rax]
-       mov      eax, ecx
-       mov      qword ptr [rsi+8*rax+0x10], -1
+       mov      edi, ecx
+       mov      qword ptr [rsi+8*rdi+0x10], -1
        inc      ecx
-       cmp      ecx, edi
+       cmp      ecx, 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      ecx, dword ptr [rsi+0x08]
-       jae      SHORT G_M40875_IG16
-       mov      eax, ecx
-       mov      qword ptr [rsi+8*rax+0x10], -1
+       jae      G_M40875_IG16
+       mov      edi, ecx
+       mov      qword ptr [rsi+8*rdi+0x10], -1
        inc      ecx
-       cmp      ecx, edi
+       cmp      ecx, r13d
        jl       SHORT G_M40875_IG10
-                        ;; size=22 bbWeight=0.04 PerfScore 0.27
+                       ;; size=27 bbWeight=0.04 PerfScore 0.27
 G_M40875_IG11:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
        mov      ecx, r15d
        and      ecx, 63
        jle      SHORT G_M40875_IG13
-       mov      rax, -1
-       shl      rax, cl
-       not      rax
-       test     edi, edi
+       mov      rdi, -1
+       shl      rdi, cl
+       not      rdi
+       test     r13d, r13d
        jge      SHORT G_M40875_IG12
-       mov      r13, rax
+       mov      r12, rdi
        jmp      SHORT G_M40875_IG14
-                     ;; size=33 bbWeight=0.50 PerfScore 3.75
+                       ;; size=34 bbWeight=0.50 PerfScore 3.75
 G_M40875_IG12:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
-       cmp      edi, dword ptr [rsi+0x08]
+       cmp      r13d, dword ptr [rsi+0x08]
        jae      SHORT G_M40875_IG16
-       mov      edi, edi
-       mov      qword ptr [rsi+8*rdi+0x10], rax
+       mov      eax, r13d
+       mov      qword ptr [rsi+8*rax+0x10], rdi
        jmp      SHORT G_M40875_IG14
-                       ;; size=14 bbWeight=0.50 PerfScore 3.62
+                       ;; 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=20 bbWeight=0.50 PerfScore 2.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]
@@ -177,7 +183,7 @@ G_M40875_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 283, prolog size 19, PerfScore 51.16, instruction count 92, allocated bytes for code 283 (MethodHash=4a676054) for method Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
+; Total bytes of code 311, prolog size 22, PerfScore 53.91, instruction count 98, allocated bytes for code 311 (MethodHash=4a676054) for method Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -185,12 +191,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)
  
+28 (+9.89%) : 138351.dasm - Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
@@ -13,33 +13,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        
+;  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  ->  rcx         single-def
 ;  V07 loc5         [V07,T00] ( 10, 16.54)     int  ->  rcx        
-;  V08 loc6         [V08,T09] (  3,  1.50)    long  ->  rax         single-def
+;  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
@@ -63,13 +65,15 @@ G_M40875_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx},
        ; byrRegs +[rax]
                        ;; size=33 bbWeight=0.50 PerfScore 5.38
 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]
@@ -94,82 +98,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
+       lea      r13d, [r14-0x01]
+       mov      r12, -1
        xor      ecx, ecx
-       test     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
        ; gcrRegs -[rax]
-       mov      eax, ecx
-       mov      qword ptr [rsi+8*rax+0x10], -1
+       mov      edi, ecx
+       mov      qword ptr [rsi+8*rdi+0x10], -1
        inc      ecx
-       cmp      ecx, edi
+       cmp      ecx, 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      ecx, dword ptr [rsi+0x08]
-       jae      SHORT G_M40875_IG16
-       mov      eax, ecx
-       mov      qword ptr [rsi+8*rax+0x10], -1
+       jae      G_M40875_IG16
+       mov      edi, ecx
+       mov      qword ptr [rsi+8*rdi+0x10], -1
        inc      ecx
-       cmp      ecx, edi
+       cmp      ecx, r13d
        jl       SHORT G_M40875_IG10
-                        ;; size=22 bbWeight=0.04 PerfScore 0.27
+                       ;; size=27 bbWeight=0.04 PerfScore 0.27
 G_M40875_IG11:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
        mov      ecx, r15d
        and      ecx, 63
        jle      SHORT G_M40875_IG13
-       mov      rax, -1
-       shl      rax, cl
-       not      rax
-       test     edi, edi
+       mov      rdi, -1
+       shl      rdi, cl
+       not      rdi
+       test     r13d, r13d
        jge      SHORT G_M40875_IG12
-       mov      r13, rax
+       mov      r12, rdi
        jmp      SHORT G_M40875_IG14
-                     ;; size=33 bbWeight=0.50 PerfScore 3.75
+                       ;; size=34 bbWeight=0.50 PerfScore 3.75
 G_M40875_IG12:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz
-       cmp      edi, dword ptr [rsi+0x08]
+       cmp      r13d, dword ptr [rsi+0x08]
        jae      SHORT G_M40875_IG16
-       mov      edi, edi
-       mov      qword ptr [rsi+8*rdi+0x10], rax
+       mov      eax, r13d
+       mov      qword ptr [rsi+8*rax+0x10], rdi
        jmp      SHORT G_M40875_IG14
-                       ;; size=14 bbWeight=0.50 PerfScore 3.62
+                       ;; 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=20 bbWeight=0.50 PerfScore 2.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]
@@ -177,7 +183,7 @@ G_M40875_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 283, prolog size 19, PerfScore 51.16, instruction count 92, allocated bytes for code 283 (MethodHash=4a676054) for method Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
+; Total bytes of code 311, prolog size 22, PerfScore 53.91, instruction count 98, allocated bytes for code 311 (MethodHash=4a676054) for method Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -185,12 +191,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)
  
  
libraries.pmi.linux.x64.checked.mch
-17 (-5.20%) : 267875.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%) : 282619.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%) : 73545.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:
  
+33 (+122.22%) : 172384.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary2+Builder[System.__Canon,System.Nullable1[int]]:System.Collections.Generic.ICollection>.CopyTo(System.Collections.Generic.KeyValuePair2[System.__Canon,System.Nullable1[int]][],int):this (FullOpts)
@@ -8,7 +8,7 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  4,  3.50)     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]>
+;  V00 this         [V00,T00] (  5,  4.50)     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]>
 ;  V01 arg1         [V01,T02] (  3,  3   )     ref  ->  rsi         class-hnd single-def <System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Nullable`1[int]][]>
 ;  V02 arg2         [V02,T03] (  3,  3   )     int  ->  rdx         single-def
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -16,17 +16,19 @@
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "VirtualCall with runtime lookup"
 ;  V06 tmp3         [V06,T06] (  2,  4   )     ref  ->  rdi         class-hnd exact single-def "dup spill" <Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2[System.__Canon,System.Nullable`1[int]]>
 ;  V07 tmp4         [V07,T04] (  5,  4.50)     ref  ->  rdi        
-;* V08 rat0         [V08,T05] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V08 rat0         [V08,T05] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V09 rat1         [V09,T07] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V10 rat2         [V10,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V10 rat2         [V10,T01] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M10262_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbx
+       sub      rsp, 16
+       mov      qword ptr [rsp+0x08], rdi
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=4 bbWeight=1 PerfScore 1.25
+                       ;; size=13 bbWeight=1 PerfScore 2.50
 G_M10262_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rsi]
        mov      rdi, gword ptr [rbx+0x08]
@@ -40,15 +42,21 @@ G_M10262_IG03:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
        ; gcrRegs +[rdi]
                        ;; size=4 bbWeight=0.50 PerfScore 1.00
 G_M10262_IG04:        ; bbWeight=1, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
+       mov      rax, qword ptr [rbx]
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x80]
+       test     rax, rax
        cmp      byte  ptr [rdi], dil
-                     ;; size=3 bbWeight=1 PerfScore 3.00
+                       ;; size=23 bbWeight=1 PerfScore 11.25
 G_M10262_IG05:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 16
        pop      rbx
        tail.jmp [Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2[System.__Canon,System.Nullable`1[int]]:CopyTo(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Nullable`1[int]][],int):this]
        ; gcr arg pop 0
-                       ;; size=7 bbWeight=1 PerfScore 2.50
+                       ;; size=11 bbWeight=1 PerfScore 2.75
 
-; Total bytes of code 27, prolog size 4, PerfScore 11.00, instruction count 9, allocated bytes for code 27 (MethodHash=24e0d7e9) for method Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.CopyTo(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Nullable`1[int]][],int):this (FullOpts)
+; Total bytes of code 60, prolog size 13, PerfScore 20.75, instruction count 17, allocated bytes for code 60 (MethodHash=24e0d7e9) for method Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.CopyTo(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Nullable`1[int]][],int):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -56,9 +64,10 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x01
-  CountOfUnwindCodes: 1
+  SizeOfProlog      : 0x05
+  CountOfUnwindCodes: 2
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
+    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
  
+33 (+122.22%) : 203964.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary2+Builder[System.__Canon,System.Nullable1[int]]:System.Collections.Generic.ICollection>.CopyTo(System.Collections.Generic.KeyValuePair2[System.__Canon,System.Nullable1[int]][],int):this (FullOpts)
@@ -8,7 +8,7 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  4,  3.50)     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]>
+;  V00 this         [V00,T00] (  5,  4.50)     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]>
 ;  V01 arg1         [V01,T02] (  3,  3   )     ref  ->  rsi         class-hnd single-def <System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Nullable`1[int]][]>
 ;  V02 arg2         [V02,T03] (  3,  3   )     int  ->  rdx         single-def
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -16,17 +16,19 @@
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "VirtualCall with runtime lookup"
 ;  V06 tmp3         [V06,T06] (  2,  4   )     ref  ->  rdi         class-hnd exact single-def "dup spill" <Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2[System.__Canon,System.Nullable`1[int]]>
 ;  V07 tmp4         [V07,T04] (  5,  4.50)     ref  ->  rdi        
-;* V08 rat0         [V08,T05] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V08 rat0         [V08,T05] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V09 rat1         [V09,T07] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V10 rat2         [V10,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V10 rat2         [V10,T01] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M10262_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbx
+       sub      rsp, 16
+       mov      qword ptr [rsp+0x08], rdi
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=4 bbWeight=1 PerfScore 1.25
+                       ;; size=13 bbWeight=1 PerfScore 2.50
 G_M10262_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rsi]
        mov      rdi, gword ptr [rbx+0x08]
@@ -40,15 +42,21 @@ G_M10262_IG03:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
        ; gcrRegs +[rdi]
                        ;; size=4 bbWeight=0.50 PerfScore 1.00
 G_M10262_IG04:        ; bbWeight=1, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
+       mov      rax, qword ptr [rbx]
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x80]
+       test     rax, rax
        cmp      byte  ptr [rdi], dil
-                     ;; size=3 bbWeight=1 PerfScore 3.00
+                       ;; size=23 bbWeight=1 PerfScore 11.25
 G_M10262_IG05:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 16
        pop      rbx
        tail.jmp [Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2[System.__Canon,System.Nullable`1[int]]:CopyTo(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Nullable`1[int]][],int):this]
        ; gcr arg pop 0
-                       ;; size=7 bbWeight=1 PerfScore 2.50
+                       ;; size=11 bbWeight=1 PerfScore 2.75
 
-; Total bytes of code 27, prolog size 4, PerfScore 11.00, instruction count 9, allocated bytes for code 27 (MethodHash=24e0d7e9) for method Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.CopyTo(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Nullable`1[int]][],int):this (FullOpts)
+; Total bytes of code 60, prolog size 13, PerfScore 20.75, instruction count 17, allocated bytes for code 60 (MethodHash=24e0d7e9) for method Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.CopyTo(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Nullable`1[int]][],int):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -56,9 +64,10 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x01
-  CountOfUnwindCodes: 1
+  SizeOfProlog      : 0x05
+  CountOfUnwindCodes: 2
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
+    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
  
+34 (+161.90%) : 244598.dasm - Microsoft.Build.Shared.FrameworkLocationHelper:GeneratePathToBuildToolsForToolsVersion(System.String,int):System.String (FullOpts)
@@ -7,7 +7,7 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  4,  3.25)     ref  ->  rdi         class-hnd single-def <System.String>
+;  V00 arg0         [V00,T00] (  6,  3.50)     ref  ->  rdi         class-hnd single-def <System.String>
 ;  V01 arg1         [V01,T01] (  3,  3   )     int  ->  rsi         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
@@ -24,22 +24,30 @@ G_M25420_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M25420_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       SHORT G_M25420_IG04
+       je       SHORT G_M25420_IG05
                      ;; size=5 bbWeight=1 PerfScore 1.25
-G_M25420_IG03:        ; bbWeight=0.25, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
-       mov      edi, dword ptr [rdi+0x08]
+G_M25420_IG03:        ; bbWeight=0.25, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       cmp      dword ptr [rdi+0x08], 7
+       jne      SHORT G_M25420_IG05
+                       ;; size=6 bbWeight=0.25 PerfScore 1.00
+G_M25420_IG04:        ; bbWeight=0.12, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+       mov      rax, 0xD1FFAB1E
+       xor      rax, qword ptr [rdi+0x0C]
+       mov      rcx, 0xD1FFAB1E
+       xor      rcx, qword ptr [rdi+0x12]
+       or       rax, rcx
+                       ;; size=31 bbWeight=0.12 PerfScore 0.84
+G_M25420_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
-                       ;; size=3 bbWeight=0.25 PerfScore 0.50
-G_M25420_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      edi, esi
                        ;; size=2 bbWeight=1 PerfScore 0.25
-G_M25420_IG05:        ; bbWeight=1, epilog, nogc, extend
+G_M25420_IG06:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        tail.jmp [Microsoft.Build.Shared.FrameworkLocationHelper:GetPathToBuildToolsFromEnvironment(int):System.String]
        ; gcr arg pop 0
                        ;; size=7 bbWeight=1 PerfScore 2.50
 
-; Total bytes of code 21, prolog size 4, PerfScore 5.75, instruction count 8, allocated bytes for code 21 (MethodHash=a7919cb3) for method Microsoft.Build.Shared.FrameworkLocationHelper:GeneratePathToBuildToolsForToolsVersion(System.String,int):System.String (FullOpts)
+; Total bytes of code 55, prolog size 4, PerfScore 7.09, instruction count 14, allocated bytes for code 55 (MethodHash=a7919cb3) for method Microsoft.Build.Shared.FrameworkLocationHelper:GeneratePathToBuildToolsForToolsVersion(System.String,int):System.String (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
libraries_tests.run.linux.x64.Release.mch
-13 (-8.18%) : 382538.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) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V04 tmp1         [V04,T08] (  2,  4   )     ref  ->  rax         class-hnd single-def "impAppendStmt" <int[]>
-;  V05 tmp2         [V05,T11] (  2,  2.00)     int  ->  rbx         "Inline return value spill temp"
+;  V05 tmp2         [V05,T11] (  2,  2.00)     int  ->  r11         "Inline return value spill temp"
 ;  V06 tmp3         [V06,T07] (  4,  4.74)   byref  ->  rax         single-def "Inline stloc first use temp"
 ;  V07 tmp4         [V07,T00] (  3,  6.74)    long  ->  rcx         "Inlining Arg"
 ;  V08 tmp5         [V08,T06] (  4,  5.11)     int  ->  rdx         "Inline stloc first use temp"
@@ -22,18 +22,16 @@
 ;  V10 tmp7         [V10,T02] (  5,  6.09)   byref  ->   r9         "Inline stloc first use temp"
 ;  V11 tmp8         [V11,T05] (  5,  5.47)     int  ->  r10         "Inline stloc first use temp"
 ;  V12 tmp9         [V12,T10] (  2,  2.74)    long  ->  r11         "Inline stloc first use temp"
-;  V13 tmp10        [V13,T09] (  3,  2.98)    long  ->  rbx         "Inline stloc first use temp"
+;  V13 tmp10        [V13,T09] (  3,  2.98)    long  ->  r11         "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
        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_M33150_IG02:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rsi]
        mov      rax, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
@@ -64,9 +62,9 @@ G_M33150_IG03:        ; bbWeight=1.37, gcrefRegs=0040 {rsi}, byrefRegs=0001 {rax
        jne      SHORT G_M33150_IG08
                        ;; size=31 bbWeight=1.37 PerfScore 9.91
 G_M33150_IG04:        ; bbWeight=0.99, gcrefRegs=0040 {rsi}, byrefRegs=0201 {rax r9}, byref, isz
-       mov      rbx, rdi
-       xor      rbx, qword ptr [r9+0x10]
-       cmp      rbx, 1
+       mov      r11, rdi
+       xor      r11, qword ptr [r9+0x10]
+       cmp      r11, 1
        ja       SHORT G_M33150_IG08
                        ;; size=13 bbWeight=0.99 PerfScore 4.46
 G_M33150_IG05:        ; bbWeight=0.99, gcrefRegs=0040 {rsi}, byrefRegs=0200 {r9}, byref, isz
@@ -76,17 +74,15 @@ G_M33150_IG05:        ; bbWeight=0.99, gcrefRegs=0040 {rsi}, byrefRegs=0200 {r9}
                        ;; size=5 bbWeight=0.99 PerfScore 3.97
 G_M33150_IG06:        ; bbWeight=1.00, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
        ; byrRegs -[r9]
-       cmp      ebx, 1
+       cmp      r11d, 1
        jne      SHORT G_M33150_IG10
        mov      rax, rsi
        ; gcrRegs +[rax]
-                      ;; size=8 bbWeight=1.00 PerfScore 1.50
+                        ;; size=9 bbWeight=1.00 PerfScore 1.50
 G_M33150_IG07:        ; bbWeight=1.00, epilog, nogc, extend
-       add      rsp, 8
-       pop      rbx
        pop      rbp
        ret      
-                     ;; size=7 bbWeight=1.00 PerfScore 2.25
+                        ;; size=2 bbWeight=1.00 PerfScore 1.50
 G_M33150_IG08:        ; bbWeight=0.38, gcVars=0000000000000000 {}, gcrefRegs=0040 {rsi}, byrefRegs=0001 {rax}, gcvars, byref, isz
        ; gcrRegs -[rax]
        ; byrRegs +[rax]
@@ -108,13 +104,11 @@ G_M33150_IG10:        ; bbWeight=0.01, gcrefRegs=0040 {rsi}, byrefRegs=0000 {},
        nop      
                        ;; size=6 bbWeight=0.01 PerfScore 0.01
 G_M33150_IG11:        ; bbWeight=0.01, epilog, nogc, extend
-       add      rsp, 8
-       pop      rbx
        pop      rbp
        ret      
-                     ;; size=7 bbWeight=0.01 PerfScore 0.02
+                        ;; size=2 bbWeight=0.01 PerfScore 0.01
 
-; Total bytes of code 159, prolog size 8, PerfScore 42.85, instruction count 50, allocated bytes for code 159 (MethodHash=c42d7e81) for method System.Runtime.CompilerServices.CastHelpers:ChkCast_Helper(ulong,System.Object):System.Object (Tier1)
+; Total bytes of code 146, prolog size 4, PerfScore 39.84, instruction count 44, allocated bytes for code 146 (MethodHash=c42d7e81) for method System.Runtime.CompilerServices.CastHelpers:ChkCast_Helper(ulong,System.Object):System.Object (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -122,11 +116,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)
  
-17 (-7.36%) : 236283.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.61)     ref  ->  rbx         this class-hnd single-def <System.IO.BinaryWriter>
+;  V00 this         [V00,T00] ( 13,  5.61)     ref  ->  rbx         this class-hnd single-def <System.IO.BinaryWriter>
 ;  V01 arg1         [V01,T03] (  3,  3   )     int  ->  rsi         single-def
 ;  V02 loc0         [V02,T01] ( 13,  6   )     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.24
-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.43, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M62697_IG05:        ; bbWeight=0.43, 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.43, gcVars=0000000000000000 {}, gcrefRegs=000
        cmp      qword ptr [rbx], rdi
        jne      SHORT G_M62697_IG09
                        ;; size=20 bbWeight=0.43 PerfScore 2.36
-G_M62697_IG07:        ; bbWeight=0.74, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M62697_IG06:        ; bbWeight=0.74, 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.74, 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.74 PerfScore 8.54
-G_M62697_IG08:        ; bbWeight=0.43, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M62697_IG07:        ; bbWeight=0.42, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M62697_IG03
-                        ;; size=2 bbWeight=0.43 PerfScore 0.86
+                        ;; size=2 bbWeight=0.42 PerfScore 0.84
+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.01
 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.11
-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.01
-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.01
-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.12
+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 31.12, 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 31.12, instruction count 65, allocated bytes for code 214 (MethodHash=7c1b0b16) for method System.IO.BinaryWriter:Write7BitEncodedInt(int):this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
-23 (-7.30%) : 692356.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.39)     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.Symbols.INamedTypeSymbolInternal>
 ;  V01 arg1         [V01,T03] (  3,  3.74)     int  ->  r15         single-def
 ;  V02 arg2         [V02,T09] (  4,  1.39)  struct (32) [rbp+0x10]  do-not-enreg[SF] ld-addr-op single-def <Microsoft.CodeAnalysis.AttributeDescription>
-;  V03 loc0         [V03,T04] (  3,  4.54)     int  ->  rax         single-def
-;  V04 loc1         [V04,T01] (  5, 10.35)     int  ->  r13        
+;  V03 loc0         [V03,T04] (  3,  4.54)     int  ->  rdi         single-def
+;  V04 loc1         [V04,T01] (  5, 10.35)     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.39)     int  ->  r12        
+;  V11 tmp4         [V11,T12] (  3,  0.39)     int  ->  r13        
 ;  V12 tmp5         [V12,T05] (  5,  4.00)     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.00)     int  ->  rax         "guarded devirt return temp"
@@ -28,25 +28,23 @@
 ;  V16 tmp9         [V16,T11] (  3,  0.39)     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.74)     ref  ->  r14         single-def "V02.[016..024)"
-;  V19 tmp12        [V19,T00] (  3, 10.44)     ref  ->  rdi         "arr expr"
+;  V19 tmp12        [V19,T00] (  3, 10.44)     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]
@@ -72,36 +70,37 @@ G_M33430_IG04:        ; bbWeight=1.00, gcrefRegs=4088 {rbx rdi r14}, byrefRegs=0
        jne      SHORT G_M33430_IG11
                        ;; size=33 bbWeight=1.00 PerfScore 8.76
 G_M33430_IG05:        ; 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_IG11
-                      ;; size=11 bbWeight=1 PerfScore 3.50
+                      ;; size=10 bbWeight=1 PerfScore 3.50
 G_M33430_IG06:        ; bbWeight=1.74, 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_IG09
-                     ;; size=28 bbWeight=1.74 PerfScore 16.53
+                      ;; size=26 bbWeight=1.74 PerfScore 16.53
 G_M33430_IG07:        ; bbWeight=2.54, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
-       inc      r13d
-       cmp      r13d, eax
-       jge      SHORT G_M33430_IG11
-                       ;; size=8 bbWeight=2.54 PerfScore 3.80
-G_M33430_IG08:        ; bbWeight=1.74, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
-       jmp      SHORT G_M33430_IG06
-                       ;; size=2 bbWeight=1.74 PerfScore 3.48
+       inc      esi
+       cmp      esi, edi
+       jl       SHORT G_M33430_IG06
+                       ;; size=6 bbWeight=2.54 PerfScore 3.80
+G_M33430_IG08:        ; bbWeight=0.80, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rbx r14]
+       jmp      SHORT G_M33430_IG11
+                       ;; size=2 bbWeight=0.80 PerfScore 1.61
 G_M33430_IG09:        ; bbWeight=0.20, 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_IG17
@@ -111,7 +110,7 @@ G_M33430_IG09:        ; bbWeight=0.20, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
 G_M33430_IG10:        ; bbWeight=0.20, 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]
@@ -124,15 +123,13 @@ G_M33430_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        xor      eax, eax
                        ;; size=2 bbWeight=0 PerfScore 0.00
 G_M33430_IG12:        ; 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_IG13:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rbx]
        mov      rdi, rbx
@@ -145,22 +142,20 @@ G_M33430_IG13:        ; 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_IG14:        ; 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_IG15:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
@@ -177,7 +172,7 @@ G_M33430_IG16:        ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {},
        ; gcrRegs +[rdi]
        jmp      G_M33430_IG03
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M33430_IG17:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M33430_IG17:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax rdi r14]
        mov      rdi, rbx
        ; gcrRegs +[rdi]
@@ -187,10 +182,10 @@ G_M33430_IG17:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        mov      rdi, rax
        ; gcrRegs +[rdi]
-       jmp      G_M33430_IG10
-                       ;; size=24 bbWeight=0 PerfScore 0.00
+       jmp      SHORT G_M33430_IG10
+                       ;; size=21 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 315, prolog size 22, PerfScore 56.02, 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 52.14, 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:
@@ -198,14 +193,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)
  
+37 (+108.82%) : 608644.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
@@ -9,45 +9,54 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  7,  6   )     ref  ->  rbx         this class-hnd single-def <System.Collections.Generic.List`1[System.__Canon]>
+;  V00 this         [V00,T00] (  8,  7   )     ref  ->  rbx         this class-hnd single-def <System.Collections.Generic.List`1[System.__Canon]>
 ;  V01 loc0         [V01,T03] (  3,  2   )     int  ->  rdx        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;* V04 rat0         [V04,T02] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V04 rat0         [V04,T02] (  2,  4   )    long  ->  rdi         "Spilling to split statement for tree"
 ;* V05 rat1         [V05,T04] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V06 rat2         [V06,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V06 rat2         [V06,T01] (  2,  4   )    long  ->  rdi         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M54344_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbx
+       sub      rsp, 16
+       mov      qword ptr [rsp+0x08], rdi
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=4 bbWeight=1 PerfScore 1.25
+                       ;; size=13 bbWeight=1 PerfScore 2.50
 G_M54344_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        inc      dword ptr [rbx+0x14]
+       mov      rdi, qword ptr [rbx]
+       mov      rdi, qword ptr [rdi+0x38]
+       mov      rdi, qword ptr [rdi]
+       mov      rdi, qword ptr [rdi+0xD0]
+       test     rdi, rdi
        mov      edx, dword ptr [rbx+0x10]
        xor      edi, edi
        mov      dword ptr [rbx+0x10], edi
        test     edx, edx
        jg       SHORT G_M54344_IG04
-                      ;; size=15 bbWeight=1 PerfScore 7.50
+                      ;; size=35 bbWeight=1 PerfScore 15.75
 G_M54344_IG03:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 16
        pop      rbx
        ret      
-                     ;; size=2 bbWeight=1 PerfScore 1.50
+                       ;; size=6 bbWeight=1 PerfScore 1.75
 G_M54344_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
        xor      esi, esi
                        ;; size=6 bbWeight=0 PerfScore 0.00
 G_M54344_IG05:        ; bbWeight=0, epilog, nogc, extend
+       add      rsp, 16
        pop      rbx
        tail.jmp [<unknown method>]
        ; gcr arg pop 0
-                       ;; size=7 bbWeight=0 PerfScore 0.00
+                       ;; size=11 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 34, prolog size 4, PerfScore 10.25, instruction count 14, allocated bytes for code 34 (MethodHash=82472bb7) for method System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
+; Total bytes of code 71, prolog size 13, PerfScore 20.00, instruction count 23, allocated bytes for code 71 (MethodHash=82472bb7) for method System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -55,9 +64,10 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x01
-  CountOfUnwindCodes: 1
+  SizeOfProlog      : 0x05
+  CountOfUnwindCodes: 2
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
+    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
  
+37 (+108.82%) : 690484.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
@@ -9,45 +9,54 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  7,  6   )     ref  ->  rbx         this class-hnd single-def <System.Collections.Generic.List`1[System.__Canon]>
+;  V00 this         [V00,T00] (  8,  7   )     ref  ->  rbx         this class-hnd single-def <System.Collections.Generic.List`1[System.__Canon]>
 ;  V01 loc0         [V01,T03] (  3,  2   )     int  ->  rdx        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;* V04 rat0         [V04,T02] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V04 rat0         [V04,T02] (  2,  4   )    long  ->  rdi         "Spilling to split statement for tree"
 ;* V05 rat1         [V05,T04] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V06 rat2         [V06,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V06 rat2         [V06,T01] (  2,  4   )    long  ->  rdi         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M54344_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbx
+       sub      rsp, 16
+       mov      qword ptr [rsp+0x08], rdi
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=4 bbWeight=1 PerfScore 1.25
+                       ;; size=13 bbWeight=1 PerfScore 2.50
 G_M54344_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        inc      dword ptr [rbx+0x14]
+       mov      rdi, qword ptr [rbx]
+       mov      rdi, qword ptr [rdi+0x38]
+       mov      rdi, qword ptr [rdi]
+       mov      rdi, qword ptr [rdi+0xD8]
+       test     rdi, rdi
        mov      edx, dword ptr [rbx+0x10]
        xor      edi, edi
        mov      dword ptr [rbx+0x10], edi
        test     edx, edx
        jg       SHORT G_M54344_IG04
-                      ;; size=15 bbWeight=1 PerfScore 7.50
+                      ;; size=35 bbWeight=1 PerfScore 15.75
 G_M54344_IG03:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 16
        pop      rbx
        ret      
-                     ;; size=2 bbWeight=1 PerfScore 1.50
+                       ;; size=6 bbWeight=1 PerfScore 1.75
 G_M54344_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
        xor      esi, esi
                        ;; size=6 bbWeight=0 PerfScore 0.00
 G_M54344_IG05:        ; bbWeight=0, epilog, nogc, extend
+       add      rsp, 16
        pop      rbx
        tail.jmp [<unknown method>]
        ; gcr arg pop 0
-                       ;; size=7 bbWeight=0 PerfScore 0.00
+                       ;; size=11 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 34, prolog size 4, PerfScore 10.25, instruction count 14, allocated bytes for code 34 (MethodHash=82472bb7) for method System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
+; Total bytes of code 71, prolog size 13, PerfScore 20.00, instruction count 23, allocated bytes for code 71 (MethodHash=82472bb7) for method System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -55,9 +64,10 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x01
-  CountOfUnwindCodes: 1
+  SizeOfProlog      : 0x05
+  CountOfUnwindCodes: 2
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
+    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
  
+34 (+178.95%) : 584630.dasm - System.Security.Cryptography.IncrementalHash:CheckSha3Support(System.String) (Tier1)
@@ -9,45 +9,60 @@
 ; 0 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  4,  3.50)     ref  ->  rdi         class-hnd single-def <System.String>
+;  V00 arg0         [V00,T00] (  5,  4.50)     ref  ->  rdi         class-hnd single-def <System.String>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.String>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V04 tmp2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V05 tmp3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
-;* V07 tmp5         [V07,T01] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
+;  V07 tmp5         [V07,T01] (  2,  4   )     int  ->  rcx         "spilling unroll qmark"
 ;* V08 tmp6         [V08    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;* V09 tmp7         [V09,T02] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V10 tmp8         [V10    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;* V11 tmp9         [V11    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
-;  V12 cse0         [V12,T03] (  2,  1   )     int  ->  rax         "CSE - aggressive"
-;* V13 rat0         [V13,T04] (  0,  0   )  simd16  ->  zero-ref    "ReplaceWithLclVar is creating a new local variable"
+;  V12 cse0         [V12,T03] (  3,  2   )     int  ->  rax         "CSE - aggressive"
+;  V13 rat0         [V13,T04] (  3,  6   )  simd16  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;* V14 rat1         [V14,T05] (  0,  0   )  simd16  ->  zero-ref    "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 0
 
 G_M17450_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
+       vzeroupper 
        mov      rbp, rsp
-                      ;; size=4 bbWeight=1 PerfScore 1.25
+                       ;; size=7 bbWeight=1 PerfScore 2.25
 G_M17450_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       SHORT G_M17450_IG04
+       je       SHORT G_M17450_IG06
                      ;; size=5 bbWeight=1 PerfScore 1.25
 G_M17450_IG03:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        mov      eax, dword ptr [rdi+0x08]
        cmp      eax, 8
-       jne      SHORT G_M17450_IG04
+       jne      SHORT G_M17450_IG05
                        ;; size=8 bbWeight=0.50 PerfScore 1.62
-G_M17450_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M17450_IG04:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       vmovups  xmm0, xmmword ptr [rdi+0x0C]
+       vpxor    xmm0, xmm0, xmmword ptr [reloc @RWD00]
+       vptest   xmm0, xmm0
+       sete     cl
+       movzx    rcx, cl
+       test     ecx, ecx
+       jne      SHORT G_M17450_IG06
+                       ;; size=28 bbWeight=1 PerfScore 11.50
+G_M17450_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
+       cmp      eax, 8
+                       ;; size=3 bbWeight=1 PerfScore 0.25
+G_M17450_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        pop      rbp
        ret      
                        ;; size=2 bbWeight=1 PerfScore 1.50
+RWD00      dq  0033004100480053h, 003600350032002Dh
 
-; Total bytes of code 19, prolog size 4, PerfScore 5.62, instruction count 9, allocated bytes for code 19 (MethodHash=2101bbd5) for method System.Security.Cryptography.IncrementalHash:CheckSha3Support(System.String) (Tier1)
+
+; Total bytes of code 53, prolog size 7, PerfScore 18.38, instruction count 18, allocated bytes for code 53 (MethodHash=2101bbd5) for method System.Security.Cryptography.IncrementalHash:CheckSha3Support(System.String) (Tier1)
 ; ============================================================
 
 Unwind Info:
  
  
librariestestsnotieredcompilation.run.linux.x64.Release.mch
-17 (-5.20%) : 37747.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%) : 39954.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%) : 46522.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
...
  
+15 (+107.14%) : 68411.dasm - System.Collections.Frozen.Tests.FrozenFromKnownValuesTests+<>c72[uint,System.__Canon]:<FrozenSetWorker>b__7_0(System.Collections.Generic.KeyValuePair2[uint,System.Canon]):uint:this (FullOpts)
@@ -14,9 +14,9 @@
 ;* V03 tmp1         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V04 tmp2         [V04,T04] (  1,  1   )     ref  ->  rsi         single-def "field V01.value (fldOffset=0x0)" P-INDEP
 ;  V05 tmp3         [V05,T03] (  2,  2   )     int  ->  rdx         single-def "field V01.key (fldOffset=0x8)" P-INDEP
-;* V06 rat0         [V06,T02] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V06 rat0         [V06,T02] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V07 rat1         [V07,T05] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V08 rat2         [V08,T00] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V08 rat2         [V08,T00] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 8
 
@@ -26,15 +26,19 @@ G_M57550_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=5 bbWeight=1 PerfScore 2.00
 G_M57550_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rdi]
-       cmp      dword ptr [rdi], edi
+       mov      rax, qword ptr [rdi]
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x18]
+       test     rax, rax
        mov      eax, edx
-                     ;; size=4 bbWeight=1 PerfScore 3.25
+                       ;; size=19 bbWeight=1 PerfScore 8.50
 G_M57550_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 8
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 14, prolog size 5, PerfScore 6.50, instruction count 6, allocated bytes for code 14 (MethodHash=65f81f31) for method System.Collections.Frozen.Tests.FrozenFromKnownValuesTests+<>c__7`2[uint,System.__Canon]:<FrozenSetWorker>b__7_0(System.Collections.Generic.KeyValuePair`2[uint,System.__Canon]):uint:this (FullOpts)
+; Total bytes of code 29, prolog size 5, PerfScore 11.75, instruction count 10, allocated bytes for code 29 (MethodHash=65f81f31) for method System.Collections.Frozen.Tests.FrozenFromKnownValuesTests+<>c__7`2[uint,System.__Canon]:<FrozenSetWorker>b__7_0(System.Collections.Generic.KeyValuePair`2[uint,System.__Canon]):uint:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+15 (+107.14%) : 68252.dasm - System.Collections.Frozen.Tests.FrozenFromKnownValuesTests+<>c72[int,System.__Canon]:<FrozenSetWorker>b__7_0(System.Collections.Generic.KeyValuePair2[int,System.Canon]):int:this (FullOpts)
@@ -14,9 +14,9 @@
 ;* V03 tmp1         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V04 tmp2         [V04,T04] (  1,  1   )     ref  ->  rsi         single-def "field V01.value (fldOffset=0x0)" P-INDEP
 ;  V05 tmp3         [V05,T03] (  2,  2   )     int  ->  rdx         single-def "field V01.key (fldOffset=0x8)" P-INDEP
-;* V06 rat0         [V06,T02] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V06 rat0         [V06,T02] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V07 rat1         [V07,T05] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V08 rat2         [V08,T00] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V08 rat2         [V08,T00] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 8
 
@@ -26,15 +26,19 @@ G_M19515_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=5 bbWeight=1 PerfScore 2.00
 G_M19515_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rdi]
-       cmp      dword ptr [rdi], edi
+       mov      rax, qword ptr [rdi]
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x18]
+       test     rax, rax
        mov      eax, edx
-                     ;; size=4 bbWeight=1 PerfScore 3.25
+                       ;; size=19 bbWeight=1 PerfScore 8.50
 G_M19515_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 8
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 14, prolog size 5, PerfScore 6.50, instruction count 6, allocated bytes for code 14 (MethodHash=bb63b3c4) for method System.Collections.Frozen.Tests.FrozenFromKnownValuesTests+<>c__7`2[int,System.__Canon]:<FrozenSetWorker>b__7_0(System.Collections.Generic.KeyValuePair`2[int,System.__Canon]):int:this (FullOpts)
+; Total bytes of code 29, prolog size 5, PerfScore 11.75, instruction count 10, allocated bytes for code 29 (MethodHash=bb63b3c4) for method System.Collections.Frozen.Tests.FrozenFromKnownValuesTests+<>c__7`2[int,System.__Canon]:<FrozenSetWorker>b__7_0(System.Collections.Generic.KeyValuePair`2[int,System.__Canon]):int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+15 (+107.14%) : 69760.dasm - System.Collections.Immutable.ImmutableSortedDictionary2+Node+<>c[System.__Canon,int]:<get_Values>b__32_0(System.Collections.Generic.KeyValuePair2[System.__Canon,int]):int:this (FullOpts)
@@ -14,9 +14,9 @@
 ;* V03 tmp1         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V04 tmp2         [V04,T04] (  1,  1   )     ref  ->  rsi         single-def "field V01.key (fldOffset=0x0)" P-INDEP
 ;  V05 tmp3         [V05,T03] (  2,  2   )     int  ->  rdx         single-def "field V01.value (fldOffset=0x8)" P-INDEP
-;* V06 rat0         [V06,T02] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V06 rat0         [V06,T02] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V07 rat1         [V07,T05] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V08 rat2         [V08,T00] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V08 rat2         [V08,T00] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 8
 
@@ -26,15 +26,19 @@ G_M13134_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=5 bbWeight=1 PerfScore 2.00
 G_M13134_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rdi]
-       cmp      dword ptr [rdi], edi
+       mov      rax, qword ptr [rdi]
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x18]
+       test     rax, rax
        mov      eax, edx
-                     ;; size=4 bbWeight=1 PerfScore 3.25
+                       ;; size=19 bbWeight=1 PerfScore 8.50
 G_M13134_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 8
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 14, prolog size 5, PerfScore 6.50, instruction count 6, allocated bytes for code 14 (MethodHash=bc51ccb1) for method System.Collections.Immutable.ImmutableSortedDictionary`2+Node+<>c[System.__Canon,int]:<get_Values>b__32_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,int]):int:this (FullOpts)
+; Total bytes of code 29, prolog size 5, PerfScore 11.75, instruction count 10, allocated bytes for code 29 (MethodHash=bc51ccb1) for method System.Collections.Immutable.ImmutableSortedDictionary`2+Node+<>c[System.__Canon,int]:<get_Values>b__32_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,int]):int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
realworld.run.linux.x64.checked.mch
-5 (-3.88%) : 27470.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%) : 32851.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
...
  
+16 (+106.67%) : 4697.dasm - Microsoft.FSharp.Collections.ListModule+groupByRefType@560-4[System.Canon]:Invoke(Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.Canon]):System.__Canon:this (FullOpts)
@@ -13,9 +13,9 @@
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V04 tmp2         [V04,T03] (  2,  2   )     ref  ->  rsi         single-def "field V01.value (fldOffset=0x0)" P-INDEP
-;* V05 rat0         [V05,T02] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V05 rat0         [V05,T02] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V06 rat1         [V06,T04] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V07 rat2         [V07,T00] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V07 rat2         [V07,T00] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 8
 
@@ -25,16 +25,20 @@ G_M13481_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=5 bbWeight=1 PerfScore 2.00
 G_M13481_IG02:        ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rsi rdi]
-       cmp      dword ptr [rdi], edi
+       mov      rax, qword ptr [rdi]
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax+0x08]
+       mov      rax, qword ptr [rax+0x10]
+       test     rax, rax
        mov      rax, rsi
        ; gcrRegs +[rax]
-                      ;; size=5 bbWeight=1 PerfScore 3.25
+                       ;; size=21 bbWeight=1 PerfScore 8.50
 G_M13481_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 8
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 15, prolog size 5, PerfScore 6.50, instruction count 6, allocated bytes for code 15 (MethodHash=2bb3cb56) for method Microsoft.FSharp.Collections.ListModule+groupByRefType@560-4[System.__Canon]:Invoke(Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]):System.__Canon:this (FullOpts)
+; Total bytes of code 31, prolog size 5, PerfScore 11.75, instruction count 10, allocated bytes for code 31 (MethodHash=2bb3cb56) for method Microsoft.FSharp.Collections.ListModule+groupByRefType@560-4[System.__Canon]:Invoke(Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]):System.__Canon:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+16 (+106.67%) : 3430.dasm - Microsoft.FSharp.Core.ExtraTopLevelOperators+dictRefType@200[System.Canon]:Invoke(System.Canon):Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]:this (FullOpts)
@@ -14,9 +14,9 @@
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]>
 ;* V04 tmp2         [V04    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V05 tmp3         [V05    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V03.value (fldOffset=0x0)" P-INDEP
-;* V06 rat0         [V06,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V06 rat0         [V06,T03] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V07 rat1         [V07,T04] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V08 rat2         [V08,T00] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V08 rat2         [V08,T00] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 8
 
@@ -26,16 +26,20 @@ G_M33213_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=5 bbWeight=1 PerfScore 2.00
 G_M33213_IG02:        ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rsi rdi]
-       cmp      dword ptr [rdi], edi
+       mov      rax, qword ptr [rdi]
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax+0x08]
+       mov      rax, qword ptr [rax+0x10]
+       test     rax, rax
        mov      rax, rsi
        ; gcrRegs +[rax]
-                      ;; size=5 bbWeight=1 PerfScore 3.25
+                       ;; size=21 bbWeight=1 PerfScore 8.50
 G_M33213_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 8
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 15, prolog size 5, PerfScore 6.50, instruction count 6, allocated bytes for code 15 (MethodHash=44387e42) for method Microsoft.FSharp.Core.ExtraTopLevelOperators+dictRefType@200[System.__Canon]:Invoke(System.__Canon):Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]:this (FullOpts)
+; Total bytes of code 31, prolog size 5, PerfScore 11.75, instruction count 10, allocated bytes for code 31 (MethodHash=44387e42) for method Microsoft.FSharp.Core.ExtraTopLevelOperators+dictRefType@200[System.__Canon]:Invoke(System.__Canon):Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+15 (+107.14%) : 18131.dasm - Roslyn.Utilities.ImmutableSetWithInsertionOrder1+<>c[System.__Canon]:<get_InInsertionOrder>b__10_0(System.Collections.Generic.KeyValuePair2[System.__Canon,uint]):uint:this (FullOpts)
@@ -14,9 +14,9 @@
 ;* V03 tmp1         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V04 tmp2         [V04,T04] (  1,  1   )     ref  ->  rsi         single-def "field V01.key (fldOffset=0x0)" P-INDEP
 ;  V05 tmp3         [V05,T03] (  2,  2   )     int  ->  rdx         single-def "field V01.value (fldOffset=0x8)" P-INDEP
-;* V06 rat0         [V06,T02] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V06 rat0         [V06,T02] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V07 rat1         [V07,T05] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V08 rat2         [V08,T00] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V08 rat2         [V08,T00] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 8
 
@@ -26,15 +26,19 @@ G_M55866_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=5 bbWeight=1 PerfScore 2.00
 G_M55866_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rdi]
-       cmp      dword ptr [rdi], edi
+       mov      rax, qword ptr [rdi]
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x10]
+       test     rax, rax
        mov      eax, edx
-                     ;; size=4 bbWeight=1 PerfScore 3.25
+                       ;; size=19 bbWeight=1 PerfScore 8.50
 G_M55866_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 8
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 14, prolog size 5, PerfScore 6.50, instruction count 6, allocated bytes for code 14 (MethodHash=96c125c5) for method Roslyn.Utilities.ImmutableSetWithInsertionOrder`1+<>c[System.__Canon]:<get_InInsertionOrder>b__10_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,uint]):uint:this (FullOpts)
+; Total bytes of code 29, prolog size 5, PerfScore 11.75, instruction count 10, allocated bytes for code 29 (MethodHash=96c125c5) for method Roslyn.Utilities.ImmutableSetWithInsertionOrder`1+<>c[System.__Canon]:<get_InInsertionOrder>b__10_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,uint]):uint:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
smoke_tests.nativeaot.linux.x64.checked.mch
-49 (-6.45%) : 5663.dasm - System.Threading.PortableThreadPool+WorkerThread:WorkerThreadStart() (FullOpts)
@@ -7,14 +7,14 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T01] ( 12,230.50)     ref  ->  [rbp-0x38]  class-hnd exact single-def <System.Threading.PortableThreadPool>
-;  V01 loc1         [V01,T08] (  3,  9   )     ref  ->  [rbp-0x40]  class-hnd exact single-def <<unknown class>>
-;  V02 loc2         [V02,T05] (  4, 25   )     ref  ->  [rbp-0x48]  class-hnd exact single-def <<unknown class>>
+;  V00 loc0         [V00,T01] ( 12,230.50)     ref  ->  [rbp-0x30]  class-hnd exact single-def <System.Threading.PortableThreadPool>
+;  V01 loc1         [V01,T08] (  3,  9   )     ref  ->  [rbp-0x38]  class-hnd exact single-def <<unknown class>>
+;  V02 loc2         [V02,T05] (  4, 25   )     ref  ->  [rbp-0x40]  class-hnd exact single-def <<unknown class>>
 ;  V03 loc3         [V03,T04] (  5, 25.50)     int  ->  r12        
 ;* V04 loc4         [V04    ] (  0,  0   )  struct ( 8) zero-ref    <System.Threading.PortableThreadPool+ThreadCounts>
 ;  V05 loc5         [V05,T06] (  7, 21   )     int  ->  rdi        
 ;  V06 loc6         [V06,T07] (  3, 12   )     int  ->  rax        
-;  V07 loc7         [V07,T03] (  2, 32   )   ubyte  ->  [rbp-0x2C]  ld-addr-op spill-single-def
+;  V07 loc7         [V07,T03] (  2, 32   )   ubyte  ->  r15         ld-addr-op
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T12] (  2,  4   )     ref  ->  rdi         class-hnd exact single-def "dup spill" <System.Threading.Thread>
 ;  V10 tmp2         [V10,T13] (  4,  3.50)     ref  ->  rdi        
@@ -28,7 +28,7 @@
 ;  V18 rat1         [V18,T10] (  5,  6   )    long  ->  r13         "fgMakeTemp is creating a new local variable"
 ;  V19 rat2         [V19,T00] (  3,384   )    long  ->  r15         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 24
 
 G_M43936_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
@@ -37,8 +37,8 @@ G_M43936_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 40
-       lea      rbp, [rsp+0x50]
+       sub      rsp, 24
+       lea      rbp, [rsp+0x40]
                         ;; size=19 bbWeight=1 PerfScore 6.75
 G_M43936_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        call     CORINFO_HELP_READYTORUN_THREADSTATIC_BASE
@@ -66,13 +66,13 @@ G_M43936_IG04:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        lea      rax, [(reloc)]
        cmp      qword ptr [rax-0x08], 0
-       jne      G_M43936_IG34
+       jne      G_M43936_IG29
        mov      rax, qword ptr [(reloc)]
        mov      rbx, gword ptr [rax+0x08]
        ; gcrRegs +[rbx]
        lea      rax, [(reloc)]
        cmp      qword ptr [rax-0x08], 0
-       jne      G_M43936_IG35
+       jne      G_M43936_IG30
                       ;; size=54 bbWeight=1 PerfScore 17.00
 G_M43936_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rax, qword ptr [(reloc)]
@@ -81,55 +81,50 @@ G_M43936_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        cmp      byte  ptr [rax], al
        mov      r15, gword ptr [rbx+0x10]
        ; gcrRegs +[r15]
-       mov      gword ptr [rbp-0x40], r15
+       mov      gword ptr [rbp-0x38], r15
        ; GC ptr vars +{V01}
        lea      rax, [(reloc)]
        ; gcrRegs -[rax]
        cmp      qword ptr [rax-0x08], 0
-       jne      G_M43936_IG36
+       jne      G_M43936_IG31
                       ;; size=39 bbWeight=1 PerfScore 14.50
-G_M43936_IG06:        ; bbWeight=0.50, gcVars=0000000000000100 {V01}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
+G_M43936_IG06:        ; bbWeight=1, gcVars=0000000000000100 {V01}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[r15]
-       mov      r15, gword ptr [rbp-0x40]
-       ; gcrRegs +[r15]
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M43936_IG07:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, gcvars, byref
-       ; GC ptr vars -{V01}
        mov      rax, qword ptr [(reloc)]
        mov      r14, gword ptr [rax+0x08]
        ; gcrRegs +[r14]
        lea      r13, [(reloc)]
        cmp      qword ptr [r13-0x08], 0
-       jne      G_M43936_IG37
+       jne      G_M43936_IG32
                       ;; size=29 bbWeight=1 PerfScore 8.50
-G_M43936_IG08:        ; bbWeight=1, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
+G_M43936_IG07:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        mov      r12d, dword ptr [r13+0x04]
        lea      r13, [(reloc)]
        cmp      qword ptr [r13-0x08], 0
-       jne      G_M43936_IG38
+       jne      G_M43936_IG33
                       ;; size=22 bbWeight=1 PerfScore 6.50
-G_M43936_IG09:        ; bbWeight=1, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M43936_IG08:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        movsx    rax, word  ptr [r13]
        test     eax, eax
-       je       SHORT G_M43936_IG14
+       je       SHORT G_M43936_IG13
                      ;; size=9 bbWeight=1 PerfScore 5.25
-G_M43936_IG10:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=2000 {r13}, byref, isz
+G_M43936_IG09:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref, isz
        ; byrRegs +[r13]
        test     eax, eax
-       jge      SHORT G_M43936_IG12
+       jge      SHORT G_M43936_IG11
                      ;; size=4 bbWeight=0.50 PerfScore 0.62
-G_M43936_IG11:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M43936_IG10:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        ; byrRegs -[r13]
        mov      r12d, -1
-       jmp      SHORT G_M43936_IG14
+       jmp      SHORT G_M43936_IG13
                      ;; size=8 bbWeight=0.50 PerfScore 1.12
-G_M43936_IG12:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=2000 {r13}, byref, isz
+G_M43936_IG11:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref, isz
        ; byrRegs +[r13]
        mov      edi, dword ptr [rbx+0x48]
        cmp      eax, edi
-       jle      SHORT G_M43936_IG14
+       jle      SHORT G_M43936_IG13
                      ;; size=7 bbWeight=0.50 PerfScore 1.62
-G_M43936_IG13:        ; bbWeight=4, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=2000 {r13}, byref, isz
+G_M43936_IG12:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref, isz
        lea      rsi, bword ptr [rbx+0x48]
        ; byrRegs +[rsi]
        lea      edx, [rdi+0x01]
@@ -137,16 +132,16 @@ G_M43936_IG13:        ; bbWeight=4, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=2000
        lock     
        cmpxchg  dword ptr [rsi], edx
        cmp      eax, edi
-       je       SHORT G_M43936_IG11
+       je       SHORT G_M43936_IG10
        mov      edi, eax
        movsx    rsi, word  ptr [r13]
        ; byrRegs -[rsi]
        cmp      esi, edi
-       jg       SHORT G_M43936_IG13
+       jg       SHORT G_M43936_IG12
                      ;; size=28 bbWeight=4 PerfScore 104.00
-G_M43936_IG14:        ; bbWeight=8, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
+G_M43936_IG13:        ; bbWeight=8, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        ; byrRegs -[r13]
-       mov      gword ptr [rbp-0x48], r14
+       mov      gword ptr [rbp-0x40], r14
        ; GC ptr vars +{V02}
        mov      rdi, r14
        ; gcrRegs +[rdi]
@@ -157,14 +152,11 @@ G_M43936_IG14:        ; bbWeight=8, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000
        ; gcrRegs -[rdi r14]
        ; gcr arg pop 0
        test     eax, eax
-       mov      r14, gword ptr [rbp-0x48]
-       ; gcrRegs +[r14]
-       je       G_M43936_IG31
-                       ;; size=34 bbWeight=8 PerfScore 64.00
-G_M43936_IG15:        ; bbWeight=16, gcVars=0000000000000000 {}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
-       ; GC ptr vars -{V02}
+       je       G_M43936_IG27
+                       ;; size=30 bbWeight=8 PerfScore 56.00
+G_M43936_IG14:        ; bbWeight=16, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        xor      r13d, r13d
-       mov      gword ptr [rbp-0x38], rbx
+       mov      gword ptr [rbp-0x30], rbx
        ; GC ptr vars +{V00}
        mov      rdi, rbx
        ; gcrRegs +[rdi]
@@ -172,62 +164,55 @@ G_M43936_IG15:        ; bbWeight=16, gcVars=0000000000000000 {}, gcrefRegs=C008
        ; gcrRegs -[rbx rdi]
        ; gcr arg pop 0
        test     eax, eax
-       je       G_M43936_IG26
+       je       G_M43936_IG22
                      ;; size=23 bbWeight=16 PerfScore 60.00
-G_M43936_IG16:        ; bbWeight=8, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref
-       mov      gword ptr [rbp-0x48], r14
-       ; GC ptr vars +{V02}
-       mov      gword ptr [rbp-0x40], r15
-       ; GC ptr vars +{V01}
-                       ;; size=8 bbWeight=8 PerfScore 16.00
-G_M43936_IG17:        ; bbWeight=64, gcVars=0000000000000122 {V00 V01 V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs -[r14-r15]
+G_M43936_IG15:        ; bbWeight=64, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     <unknown method>
        ; gcr arg pop 0
-       mov      rbx, gword ptr [rbp-0x38]
+       mov      rbx, gword ptr [rbp-0x30]
        ; gcrRegs +[rbx]
        mov      dword ptr [rbx+0xE0], eax
        cmp      dword ptr [(reloc)], 0
-       jne      G_M43936_IG39
+       jne      G_M43936_IG34
                        ;; size=28 bbWeight=64 PerfScore 448.00
-G_M43936_IG18:        ; bbWeight=64, gcVars=0000000000000120 {V01 V02}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M43936_IG16:        ; bbWeight=64, gcVars=0000000000000120 {V01 V02}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; GC ptr vars -{V00 V01}
        call     <unknown method>
        ; gcr arg pop 0
        test     eax, eax
-       je       G_M43936_IG27
-       mov      gword ptr [rbp-0x38], rbx
+       je       SHORT G_M43936_IG23
+       mov      gword ptr [rbp-0x30], rbx
        ; GC ptr vars +{V00}
        cmp      dword ptr [rbx+0x160], 0
-       mov      rbx, gword ptr [rbp-0x38]
-       jle      SHORT G_M43936_IG25
+       mov      rbx, gword ptr [rbp-0x30]
+       jle      SHORT G_M43936_IG24
        ; GC ptr vars -{V00}
        call     <unknown method>
        ; gcr arg pop 0
        lea      r15, [(reloc)]
        cmp      qword ptr [r15-0x08], 0
-       jne      G_M43936_IG40
-                       ;; size=53 bbWeight=64 PerfScore 880.00
-G_M43936_IG19:        ; bbWeight=64, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       jne      G_M43936_IG35
+                       ;; size=49 bbWeight=64 PerfScore 880.00
+G_M43936_IG17:        ; bbWeight=64, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        cmp      dword ptr [r15+0x04], 1
-       je       SHORT G_M43936_IG22
+       je       SHORT G_M43936_IG20
                       ;; size=7 bbWeight=64 PerfScore 256.00
-G_M43936_IG20:        ; bbWeight=32, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       mov      gword ptr [rbp-0x38], rbx
+G_M43936_IG18:        ; bbWeight=32, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       mov      gword ptr [rbp-0x30], rbx
        ; GC ptr vars +{V00}
        mov      edi, 1
                        ;; size=9 bbWeight=32 PerfScore 40.00
-G_M43936_IG21:        ; bbWeight=32, gcVars=0000000000000122 {V00 V01 V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M43936_IG19:        ; bbWeight=32, gcVars=0000000000000122 {V00 V01 V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rbx]
        ; GC ptr vars +{V01}
        call     <unknown method>
        ; gcr arg pop 0
        cmp      dword ptr [(reloc)], 0
-       mov      rbx, gword ptr [rbp-0x38]
+       mov      rbx, gword ptr [rbp-0x30]
        ; gcrRegs +[rbx]
-       jne      G_M43936_IG41
+       jne      G_M43936_IG36
                       ;; size=22 bbWeight=32 PerfScore 192.00
-G_M43936_IG22:        ; bbWeight=64, gcVars=0000000000000120 {V01 V02}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M43936_IG20:        ; bbWeight=64, gcVars=0000000000000120 {V01 V02}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V00 V01}
        mov      rdi, rbx
        ; gcrRegs +[rdi]
@@ -235,87 +220,69 @@ G_M43936_IG22:        ; bbWeight=64, gcVars=0000000000000120 {V01 V02}, gcrefReg
        ; gcrRegs -[rdi]
...
  
-4 (-3.31%) : 7312.dasm - System.Globalization.TimeSpanParse:ParseExactDigits(byref,int,int,byref,byref):ubyte (FullOpts)
@@ -12,17 +12,17 @@
 ;  V02 arg2         [V02,T05] (  4,  7   )     int  ->  rdx         single-def
 ;  V03 arg3         [V03,T08] (  3,  3   )   byref  ->  rcx         single-def
 ;  V04 arg4         [V04,T09] (  3,  3   )   byref  ->   r8         single-def
-;  V05 loc0         [V05,T01] (  5, 14   )     int  ->  rax        
-;  V06 loc1         [V06,T07] (  4,  6   )     int  ->   r9        
-;  V07 loc2         [V07,T02] (  5, 14   )     int  ->  r10        
+;  V05 loc0         [V05,T01] (  5, 14   )     int  ->   r9        
+;  V06 loc1         [V06,T07] (  4,  6   )     int  ->  r10        
+;  V07 loc2         [V07,T02] (  5, 14   )     int  ->  r11        
 ;* V08 loc3         [V08    ] (  0,  0   )  ushort  ->  zero-ref   
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V10 tmp1         [V10,T04] (  4, 12   )  ushort  ->  rbx         "Inline return value spill temp"
-;  V11 tmp2         [V11,T03] (  4, 14   )     int  ->  r11         "Inline stloc first use temp"
+;  V11 tmp2         [V11,T03] (  4, 14   )     int  ->  rax         "Inline stloc first use temp"
 ;* V12 tmp3         [V12    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V13 tmp4         [V13    ] (  0,  0   )   byref  ->  zero-ref    "Span.get_Item ptrToSpan"
 ;  V14 cse0         [V14,T06] (  2,  8   )     int  ->  rbx         "CSE - aggressive"
-;  V15 cse1         [V15,T11] (  3,  1.50)     int  ->  rdx         "CSE - moderate"
+;  V15 cse1         [V15,T11] (  3,  1.50)     int  ->  rax         "CSE - moderate"
 ;
 ; Lcl frame size = 8
 
@@ -34,20 +34,20 @@ G_M46808_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=8 bbWeight=1 PerfScore 3.50
 G_M46808_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0182 {rcx rdi r8}, byref, isz
        ; byrRegs +[rcx rdi r8]
-       xor      eax, eax
        xor      r9d, r9d
        xor      r10d, r10d
+       xor      r11d, r11d
        test     edx, edx
        jle      SHORT G_M46808_IG11
-                      ;; size=12 bbWeight=1 PerfScore 2.00
+                      ;; size=13 bbWeight=1 PerfScore 2.00
 G_M46808_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0182 {rcx rdi r8}, byref, isz
-       mov      r11d, dword ptr [rdi+0x10]
-       inc      r11d
-       mov      dword ptr [rdi+0x10], r11d
+       mov      eax, dword ptr [rdi+0x10]
+       inc      eax
+       mov      dword ptr [rdi+0x10], eax
        mov      ebx, dword ptr [rdi+0x08]
-       cmp      r11d, ebx
+       cmp      eax, ebx
        jb       SHORT G_M46808_IG05
-                       ;; size=19 bbWeight=4 PerfScore 26.00
+                     ;; size=15 bbWeight=4 PerfScore 26.00
 G_M46808_IG04:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0182 {rcx rdi r8}, byref, isz
        xor      ebx, ebx
        jmp      SHORT G_M46808_IG06
@@ -55,45 +55,45 @@ G_M46808_IG04:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0182 {rcx rdi r
 G_M46808_IG05:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0182 {rcx rdi r8}, byref
        mov      rbx, bword ptr [rdi]
        ; byrRegs +[rbx]
-       mov      r11d, r11d
-       movzx    rbx, word  ptr [rbx+2*r11]
+       mov      eax, eax
+       movzx    rbx, word  ptr [rbx+2*rax]
        ; byrRegs -[rbx]
-                        ;; size=11 bbWeight=2 PerfScore 8.50
+                      ;; size=9 bbWeight=2 PerfScore 8.50
 G_M46808_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0182 {rcx rdi r8}, byref, isz
-       lea      r11d, [rbx-0x30]
-       cmp      r11d, 9
+       lea      eax, [rbx-0x30]
+       cmp      eax, 9
        ja       SHORT G_M46808_IG10
-       lea      eax, [rax+4*rax]
-       lea      eax, [rbx+2*rax-0x30]
-       test     eax, eax
+       lea      r9d, [r9+4*r9]
+       lea      r9d, [rbx+2*r9-0x30]
+       test     r9d, r9d
        jne      SHORT G_M46808_IG08
-                      ;; size=21 bbWeight=4 PerfScore 18.00
+                     ;; size=22 bbWeight=4 PerfScore 18.00
 G_M46808_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0182 {rcx rdi r8}, byref
-       inc      r9d
+       inc      r10d
                        ;; size=3 bbWeight=2 PerfScore 0.50
 G_M46808_IG08:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0182 {rcx rdi r8}, byref, isz
-       inc      r10d
-       cmp      r10d, edx
+       inc      r11d
+       cmp      r11d, edx
        jl       SHORT G_M46808_IG03
                        ;; size=8 bbWeight=4 PerfScore 6.00
-G_M46808_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0102 {rcx r8}, byref, isz
+G_M46808_IG09:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0102 {rcx r8}, byref, isz
        ; byrRegs -[rdi]
        jmp      SHORT G_M46808_IG11
-                      ;; size=2 bbWeight=0.50 PerfScore 1.00
+                        ;; size=2 bbWeight=1 PerfScore 2.00
 G_M46808_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0182 {rcx rdi r8}, byref, isz
        ; byrRegs +[rdi]
-       mov      edx, dword ptr [rdi+0x10]
-       test     edx, edx
+       mov      eax, dword ptr [rdi+0x10]
+       test     eax, eax
        jle      SHORT G_M46808_IG11
-       dec      edx
-       mov      dword ptr [rdi+0x10], edx
+       dec      eax
+       mov      dword ptr [rdi+0x10], eax
                       ;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M46808_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0102 {rcx r8}, byref
        ; byrRegs -[rdi]
-       mov      dword ptr [rcx], r9d
-       mov      dword ptr [r8], eax
+       mov      dword ptr [rcx], r10d
+       mov      dword ptr [r8], r9d
        xor      eax, eax
-       cmp      r10d, esi
+       cmp      r11d, esi
        setge    al
                        ;; size=14 bbWeight=1 PerfScore 3.50
 G_M46808_IG12:        ; bbWeight=1, epilog, nogc, extend
@@ -103,7 +103,7 @@ G_M46808_IG12:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=7 bbWeight=1 PerfScore 2.25
 
-; Total bytes of code 121, prolog size 8, PerfScore 78.00, instruction count 46, allocated bytes for code 121 (MethodHash=b4c64927) for method System.Globalization.TimeSpanParse:ParseExactDigits(byref,int,int,byref,byref):ubyte (FullOpts)
+; Total bytes of code 117, prolog size 8, PerfScore 79.00, instruction count 46, allocated bytes for code 117 (MethodHash=b4c64927) for method System.Globalization.TimeSpanParse:ParseExactDigits(byref,int,int,byref,byref):ubyte (FullOpts)
 ; ============================================================
 
 Cfi Info:
  
-24 (-3.13%) : 25594.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
@@ -224,13 +224,12 @@ G_M65128_IG16:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14},
        vpor     xmm4, xmm4, xmm5
        vpmovmskb edi, xmm4
        popcnt   edi, edi
-       vmovaps  xmm2, xmmword ptr [rbp-0x70]
-       vpaddw   xmm4, xmm3, xmm2
+       vpaddw   xmm4, xmm3, xmmword ptr [rbp-0x70]
        vpcmpgtw xmm4, xmm1, xmm4
        vpmovmskb edx, xmm4
        cmp      edx, 0xFFFF
        jne      SHORT G_M65128_IG19
-                      ;; size=59 bbWeight=4 PerfScore 83.00
+                     ;; size=55 bbWeight=4 PerfScore 77.67
 G_M65128_IG17:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14}, byref, isz
        add      r12, rdi
        cmp      rbx, r15
@@ -263,9 +262,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  xmm1, xmmword ptr [rbp-0x60]
-       vmovaps  xmm2, xmmword ptr [rbp-0x70]
-                       ;; size=43 bbWeight=8 PerfScore 80.00
+                     ;; size=33 bbWeight=8 PerfScore 32.00
 G_M65128_IG21:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14}, byref, isz
        mov      edx, dword ptr [rbp-0xA0]
        mov      esi, edx
@@ -283,9 +280,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  xmm1, xmmword ptr [rbp-0x60]
-       vmovaps  xmm2, xmmword ptr [rbp-0x70]
-                       ;; size=43 bbWeight=8 PerfScore 80.00
+                     ;; size=33 bbWeight=8 PerfScore 32.00
 G_M65128_IG23:        ; bbWeight=32, gcrefRegs=0000 {}, byrefRegs=6000 {r13 r14}, byref, isz
        mov      edx, dword ptr [rbp-0xA0]
        shl      edx, 2
@@ -370,7 +365,7 @@ RWD16   dq  7800780078007800h, 7800780078007800h
 RWD32      dq  A000A000A000A000h, A000A000A000A000h
 
 
-; Total bytes of code 767, prolog size 37, PerfScore 1198.00, instruction count 196, allocated bytes for code 767 (MethodHash=5a2e0197) for method System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
+; Total bytes of code 743, prolog size 37, PerfScore 1096.67, instruction count 191, allocated bytes for code 743 (MethodHash=5a2e0197) for method System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
 ; ============================================================
 
 Cfi Info:
  
+22 (+9.65%) : 5273.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
@@ -11,43 +11,44 @@
 ;  V01 arg1         [V01,T05] (  4,  6   )   ubyte  ->  r15         single-def
 ;  V02 arg2         [V02,T06] (  5,  5   )     int  ->  r14         single-def
 ;  V03 loc0         [V03,T04] (  7,  8.04)     ref  ->  rax         class-hnd exact single-def <<unknown class>>
-;  V04 loc1         [V04,T00] ( 17, 26.04)     int  ->  rdx        
+;  V04 loc1         [V04,T00] ( 17, 26.04)     int  ->  r13        
 ;  V05 loc2         [V05,T09] (  2,  2   )     ref  ->  rax         class-hnd exact single-def <System.String>
 ;* V06 loc3         [V06    ] (  0,  0   )    long  ->  zero-ref   
-;  V07 loc4         [V07    ] (  3,  3   )   byref  ->  [rbp-0x20]  must-init pinned
+;  V07 loc4         [V07    ] (  3,  3   )   byref  ->  [rbp-0x28]  must-init pinned
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T03] (  6, 16   )     int  ->  rdi         "Strict ordering of exceptions for Array store"
 ;  V10 tmp2         [V10,T01] (  8, 24   )     int  ->  rdi         "Inlining Arg"
 ;  V11 tmp3         [V11,T07] (  2,  4   )    long  ->  rdi         "Cast away GC"
 ;  V12 tmp4         [V12,T08] (  2,  4   )    long  ->  rdi         "argument with side effect"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M51810_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
+       push     r13
        push     rbx
-       push     rax
-       lea      rbp, [rsp+0x20]
+       sub      rsp, 16
+       lea      rbp, [rsp+0x30]
        xor      eax, eax
-       mov      qword ptr [rbp-0x20], rax
+       mov      qword ptr [rbp-0x28], rax
        mov      rbx, rdi
        mov      r15d, esi
        mov      r14d, edx
-                        ;; size=27 bbWeight=1 PerfScore 7.50
+                      ;; size=32 bbWeight=1 PerfScore 7.75
 G_M51810_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        movsxd   rsi, r14d
        lea      rdi, [(reloc)]      ; <unknown class>
        call     CORINFO_HELP_NEWARR_1_VC
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       lea      edx, [r14-0x01]
-       test     edx, edx
-       jl       SHORT G_M51810_IG16
-       cmp      dword ptr [rax+0x08], edx
+       lea      r13d, [r14-0x01]
+       test     r13d, r13d
+       jl       G_M51810_IG16
+       cmp      dword ptr [rax+0x08], r13d
        jle      SHORT G_M51810_IG10
-                        ;; size=28 bbWeight=1 PerfScore 7.50
+                      ;; size=34 bbWeight=1 PerfScore 7.50
 G_M51810_IG03:        ; bbWeight=3.96, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        mov      rdi, rbx
        and      rdi, 15
@@ -64,22 +65,22 @@ G_M51810_IG05:        ; bbWeight=1.98, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        movzx    rdi, di
                        ;; size=6 bbWeight=1.98 PerfScore 0.99
 G_M51810_IG06:        ; bbWeight=3.96, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       mov      esi, edx
-       mov      word  ptr [rax+2*rsi+0x10], di
+       mov      edx, r13d
+       mov      word  ptr [rax+2*rdx+0x10], di
        shr      rbx, 4
-       test     edx, edx
+       test     r13d, r13d
        je       SHORT G_M51810_IG16
        test     r15b, r15b
        jne      SHORT G_M51810_IG08
-                      ;; size=20 bbWeight=3.96 PerfScore 16.83
+                      ;; size=22 bbWeight=3.96 PerfScore 16.83
 G_M51810_IG07:        ; bbWeight=1.98, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        test     rbx, rbx
        je       SHORT G_M51810_IG16
                        ;; size=5 bbWeight=1.98 PerfScore 2.48
 G_M51810_IG08:        ; bbWeight=3.96, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       dec      edx
+       dec      r13d
        jns      SHORT G_M51810_IG03
-                     ;; size=4 bbWeight=3.96 PerfScore 4.95
+                        ;; size=5 bbWeight=3.96 PerfScore 4.95
 G_M51810_IG09:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M51810_IG16
                        ;; size=2 bbWeight=1 PerfScore 2.00
@@ -99,49 +100,50 @@ G_M51810_IG12:        ; bbWeight=0.02, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        movzx    rdi, di
                        ;; size=6 bbWeight=0.02 PerfScore 0.01
 G_M51810_IG13:        ; bbWeight=0.04, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       cmp      edx, dword ptr [rax+0x08]
+       cmp      r13d, dword ptr [rax+0x08]
        jae      SHORT G_M51810_IG18
-       mov      esi, edx
-       mov      word  ptr [rax+2*rsi+0x10], di
+       mov      edx, r13d
+       mov      word  ptr [rax+2*rdx+0x10], di
        shr      rbx, 4
-       test     edx, edx
+       test     r13d, r13d
        je       SHORT G_M51810_IG16
        test     r15b, r15b
        jne      SHORT G_M51810_IG15
-                      ;; size=25 bbWeight=0.04 PerfScore 0.33
+                       ;; size=28 bbWeight=0.04 PerfScore 0.33
 G_M51810_IG14:        ; bbWeight=0.02, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        test     rbx, rbx
        je       SHORT G_M51810_IG16
                        ;; size=5 bbWeight=0.02 PerfScore 0.03
 G_M51810_IG15:        ; bbWeight=0.04, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       dec      edx
+       dec      r13d
        jns      SHORT G_M51810_IG10
-                     ;; size=4 bbWeight=0.04 PerfScore 0.05
+                        ;; size=5 bbWeight=0.04 PerfScore 0.05
 G_M51810_IG16:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       cmp      edx, dword ptr [rax+0x08]
+       cmp      r13d, dword ptr [rax+0x08]
        jae      SHORT G_M51810_IG18
-       mov      edi, edx
+       mov      edi, r13d
        lea      rdi, bword ptr [rax+2*rdi+0x10]
        ; byrRegs +[rdi]
-       mov      bword ptr [rbp-0x20], rdi
-       mov      rdi, bword ptr [rbp-0x20]
-       sub      r14d, edx
+       mov      bword ptr [rbp-0x28], rdi
+       mov      rdi, bword ptr [rbp-0x28]
        mov      edx, r14d
+       sub      edx, r13d
        xor      esi, esi
        call     <unknown method>
        ; byrRegs -[rdi]
        ; gcr arg pop 0
        xor      ecx, ecx
-       mov      bword ptr [rbp-0x20], rcx
-                       ;; size=39 bbWeight=1 PerfScore 10.25
+       mov      bword ptr [rbp-0x28], rcx
+                       ;; size=41 bbWeight=1 PerfScore 10.25
 G_M51810_IG17:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 8
+       add      rsp, 16
        pop      rbx
+       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=1 PerfScore 3.25
+                      ;; size=13 bbWeight=1 PerfScore 3.75
 G_M51810_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -149,7 +151,7 @@ G_M51810_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 228, prolog size 27, PerfScore 68.16, instruction count 82, allocated bytes for code 228 (MethodHash=4e8e359d) for method System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
+; Total bytes of code 250, prolog size 32, PerfScore 68.91, instruction count 84, allocated bytes for code 250 (MethodHash=4e8e359d) for method System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
 ; ============================================================
 
 Cfi Info:
@@ -161,6 +163,8 @@ Cfi Info:
     CodeOffset: 0x03 Op: RelOffset DwarfReg:0xf Offset:0x0
     CodeOffset: 0x05 Op: AdjustCfaOffset Offset:0x8
     CodeOffset: 0x05 Op: RelOffset DwarfReg:0xe Offset:0x0
-    CodeOffset: 0x06 Op: AdjustCfaOffset Offset:0x8
-    CodeOffset: 0x06 Op: RelOffset DwarfReg:0x3 Offset:0x0
     CodeOffset: 0x07 Op: AdjustCfaOffset Offset:0x8
+    CodeOffset: 0x07 Op: RelOffset DwarfReg:0xd Offset:0x0
+    CodeOffset: 0x08 Op: AdjustCfaOffset Offset:0x8
+    CodeOffset: 0x08 Op: RelOffset DwarfReg:0x3 Offset:0x0
+    CodeOffset: 0x0C Op: AdjustCfaOffset Offset:0x10
  
+22 (+9.65%) : 22669.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
@@ -11,43 +11,44 @@
 ;  V01 arg1         [V01,T05] (  4,  6   )   ubyte  ->  r15         single-def
 ;  V02 arg2         [V02,T06] (  5,  5   )     int  ->  r14         single-def
 ;  V03 loc0         [V03,T04] (  7,  8.04)     ref  ->  rax         class-hnd exact single-def <<unknown class>>
-;  V04 loc1         [V04,T00] ( 17, 26.04)     int  ->  rdx        
+;  V04 loc1         [V04,T00] ( 17, 26.04)     int  ->  r13        
 ;  V05 loc2         [V05,T09] (  2,  2   )     ref  ->  rax         class-hnd exact single-def <System.String>
 ;* V06 loc3         [V06    ] (  0,  0   )    long  ->  zero-ref   
-;  V07 loc4         [V07    ] (  3,  3   )   byref  ->  [rbp-0x20]  must-init pinned
+;  V07 loc4         [V07    ] (  3,  3   )   byref  ->  [rbp-0x28]  must-init pinned
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T03] (  6, 16   )     int  ->  rdi         "Strict ordering of exceptions for Array store"
 ;  V10 tmp2         [V10,T01] (  8, 24   )     int  ->  rdi         "Inlining Arg"
 ;  V11 tmp3         [V11,T07] (  2,  4   )    long  ->  rdi         "Cast away GC"
 ;  V12 tmp4         [V12,T08] (  2,  4   )    long  ->  rdi         "argument with side effect"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M51810_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
+       push     r13
        push     rbx
-       push     rax
-       lea      rbp, [rsp+0x20]
+       sub      rsp, 16
+       lea      rbp, [rsp+0x30]
        xor      eax, eax
-       mov      qword ptr [rbp-0x20], rax
+       mov      qword ptr [rbp-0x28], rax
        mov      rbx, rdi
        mov      r15d, esi
        mov      r14d, edx
-                        ;; size=27 bbWeight=1 PerfScore 7.50
+                      ;; size=32 bbWeight=1 PerfScore 7.75
 G_M51810_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        movsxd   rsi, r14d
        lea      rdi, [(reloc)]      ; <unknown class>
        call     CORINFO_HELP_NEWARR_1_VC
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       lea      edx, [r14-0x01]
-       test     edx, edx
-       jl       SHORT G_M51810_IG16
-       cmp      dword ptr [rax+0x08], edx
+       lea      r13d, [r14-0x01]
+       test     r13d, r13d
+       jl       G_M51810_IG16
+       cmp      dword ptr [rax+0x08], r13d
        jle      SHORT G_M51810_IG10
-                        ;; size=28 bbWeight=1 PerfScore 7.50
+                      ;; size=34 bbWeight=1 PerfScore 7.50
 G_M51810_IG03:        ; bbWeight=3.96, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        mov      rdi, rbx
        and      rdi, 15
@@ -64,22 +65,22 @@ G_M51810_IG05:        ; bbWeight=1.98, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        movzx    rdi, di
                        ;; size=6 bbWeight=1.98 PerfScore 0.99
 G_M51810_IG06:        ; bbWeight=3.96, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       mov      esi, edx
-       mov      word  ptr [rax+2*rsi+0x10], di
+       mov      edx, r13d
+       mov      word  ptr [rax+2*rdx+0x10], di
        shr      rbx, 4
-       test     edx, edx
+       test     r13d, r13d
        je       SHORT G_M51810_IG16
        test     r15b, r15b
        jne      SHORT G_M51810_IG08
-                      ;; size=20 bbWeight=3.96 PerfScore 16.83
+                      ;; size=22 bbWeight=3.96 PerfScore 16.83
 G_M51810_IG07:        ; bbWeight=1.98, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        test     rbx, rbx
        je       SHORT G_M51810_IG16
                        ;; size=5 bbWeight=1.98 PerfScore 2.48
 G_M51810_IG08:        ; bbWeight=3.96, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       dec      edx
+       dec      r13d
        jns      SHORT G_M51810_IG03
-                     ;; size=4 bbWeight=3.96 PerfScore 4.95
+                        ;; size=5 bbWeight=3.96 PerfScore 4.95
 G_M51810_IG09:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M51810_IG16
                        ;; size=2 bbWeight=1 PerfScore 2.00
@@ -99,49 +100,50 @@ G_M51810_IG12:        ; bbWeight=0.02, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        movzx    rdi, di
                        ;; size=6 bbWeight=0.02 PerfScore 0.01
 G_M51810_IG13:        ; bbWeight=0.04, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       cmp      edx, dword ptr [rax+0x08]
+       cmp      r13d, dword ptr [rax+0x08]
        jae      SHORT G_M51810_IG18
-       mov      esi, edx
-       mov      word  ptr [rax+2*rsi+0x10], di
+       mov      edx, r13d
+       mov      word  ptr [rax+2*rdx+0x10], di
        shr      rbx, 4
-       test     edx, edx
+       test     r13d, r13d
        je       SHORT G_M51810_IG16
        test     r15b, r15b
        jne      SHORT G_M51810_IG15
-                      ;; size=25 bbWeight=0.04 PerfScore 0.33
+                       ;; size=28 bbWeight=0.04 PerfScore 0.33
 G_M51810_IG14:        ; bbWeight=0.02, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        test     rbx, rbx
        je       SHORT G_M51810_IG16
                        ;; size=5 bbWeight=0.02 PerfScore 0.03
 G_M51810_IG15:        ; bbWeight=0.04, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       dec      edx
+       dec      r13d
        jns      SHORT G_M51810_IG10
-                     ;; size=4 bbWeight=0.04 PerfScore 0.05
+                        ;; size=5 bbWeight=0.04 PerfScore 0.05
 G_M51810_IG16:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       cmp      edx, dword ptr [rax+0x08]
+       cmp      r13d, dword ptr [rax+0x08]
        jae      SHORT G_M51810_IG18
-       mov      edi, edx
+       mov      edi, r13d
        lea      rdi, bword ptr [rax+2*rdi+0x10]
        ; byrRegs +[rdi]
-       mov      bword ptr [rbp-0x20], rdi
-       mov      rdi, bword ptr [rbp-0x20]
-       sub      r14d, edx
+       mov      bword ptr [rbp-0x28], rdi
+       mov      rdi, bword ptr [rbp-0x28]
        mov      edx, r14d
+       sub      edx, r13d
        xor      esi, esi
        call     <unknown method>
        ; byrRegs -[rdi]
        ; gcr arg pop 0
        xor      ecx, ecx
-       mov      bword ptr [rbp-0x20], rcx
-                       ;; size=39 bbWeight=1 PerfScore 10.25
+       mov      bword ptr [rbp-0x28], rcx
+                       ;; size=41 bbWeight=1 PerfScore 10.25
 G_M51810_IG17:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 8
+       add      rsp, 16
        pop      rbx
+       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=1 PerfScore 3.25
+                      ;; size=13 bbWeight=1 PerfScore 3.75
 G_M51810_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -149,7 +151,7 @@ G_M51810_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 228, prolog size 27, PerfScore 68.16, instruction count 82, allocated bytes for code 228 (MethodHash=4e8e359d) for method System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
+; Total bytes of code 250, prolog size 32, PerfScore 68.91, instruction count 84, allocated bytes for code 250 (MethodHash=4e8e359d) for method System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
 ; ============================================================
 
 Cfi Info:
@@ -161,6 +163,8 @@ Cfi Info:
     CodeOffset: 0x03 Op: RelOffset DwarfReg:0xf Offset:0x0
     CodeOffset: 0x05 Op: AdjustCfaOffset Offset:0x8
     CodeOffset: 0x05 Op: RelOffset DwarfReg:0xe Offset:0x0
-    CodeOffset: 0x06 Op: AdjustCfaOffset Offset:0x8
-    CodeOffset: 0x06 Op: RelOffset DwarfReg:0x3 Offset:0x0
     CodeOffset: 0x07 Op: AdjustCfaOffset Offset:0x8
+    CodeOffset: 0x07 Op: RelOffset DwarfReg:0xd Offset:0x0
+    CodeOffset: 0x08 Op: AdjustCfaOffset Offset:0x8
+    CodeOffset: 0x08 Op: RelOffset DwarfReg:0x3 Offset:0x0
+    CodeOffset: 0x0C Op: AdjustCfaOffset Offset:0x10
  
+22 (+9.65%) : 26484.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
@@ -11,43 +11,44 @@
 ;  V01 arg1         [V01,T05] (  4,  6   )   ubyte  ->  r15         single-def
 ;  V02 arg2         [V02,T06] (  5,  5   )     int  ->  r14         single-def
 ;  V03 loc0         [V03,T04] (  7,  8.04)     ref  ->  rax         class-hnd exact single-def <<unknown class>>
-;  V04 loc1         [V04,T00] ( 17, 26.04)     int  ->  rdx        
+;  V04 loc1         [V04,T00] ( 17, 26.04)     int  ->  r13        
 ;  V05 loc2         [V05,T09] (  2,  2   )     ref  ->  rax         class-hnd exact single-def <System.String>
 ;* V06 loc3         [V06    ] (  0,  0   )    long  ->  zero-ref   
-;  V07 loc4         [V07    ] (  3,  3   )   byref  ->  [rbp-0x20]  must-init pinned
+;  V07 loc4         [V07    ] (  3,  3   )   byref  ->  [rbp-0x28]  must-init pinned
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T03] (  6, 16   )     int  ->  rdi         "Strict ordering of exceptions for Array store"
 ;  V10 tmp2         [V10,T01] (  8, 24   )     int  ->  rdi         "Inlining Arg"
 ;  V11 tmp3         [V11,T07] (  2,  4   )    long  ->  rdi         "Cast away GC"
 ;  V12 tmp4         [V12,T08] (  2,  4   )    long  ->  rdi         "argument with side effect"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M51810_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
+       push     r13
        push     rbx
-       push     rax
-       lea      rbp, [rsp+0x20]
+       sub      rsp, 16
+       lea      rbp, [rsp+0x30]
        xor      eax, eax
-       mov      qword ptr [rbp-0x20], rax
+       mov      qword ptr [rbp-0x28], rax
        mov      rbx, rdi
        mov      r15d, esi
        mov      r14d, edx
-                        ;; size=27 bbWeight=1 PerfScore 7.50
+                      ;; size=32 bbWeight=1 PerfScore 7.75
 G_M51810_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        movsxd   rsi, r14d
        lea      rdi, [(reloc)]      ; <unknown class>
        call     CORINFO_HELP_NEWARR_1_VC
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       lea      edx, [r14-0x01]
-       test     edx, edx
-       jl       SHORT G_M51810_IG16
-       cmp      dword ptr [rax+0x08], edx
+       lea      r13d, [r14-0x01]
+       test     r13d, r13d
+       jl       G_M51810_IG16
+       cmp      dword ptr [rax+0x08], r13d
        jle      SHORT G_M51810_IG10
-                        ;; size=28 bbWeight=1 PerfScore 7.50
+                      ;; size=34 bbWeight=1 PerfScore 7.50
 G_M51810_IG03:        ; bbWeight=3.96, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        mov      rdi, rbx
        and      rdi, 15
@@ -64,22 +65,22 @@ G_M51810_IG05:        ; bbWeight=1.98, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        movzx    rdi, di
                        ;; size=6 bbWeight=1.98 PerfScore 0.99
 G_M51810_IG06:        ; bbWeight=3.96, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       mov      esi, edx
-       mov      word  ptr [rax+2*rsi+0x10], di
+       mov      edx, r13d
+       mov      word  ptr [rax+2*rdx+0x10], di
        shr      rbx, 4
-       test     edx, edx
+       test     r13d, r13d
        je       SHORT G_M51810_IG16
        test     r15b, r15b
        jne      SHORT G_M51810_IG08
-                      ;; size=20 bbWeight=3.96 PerfScore 16.83
+                      ;; size=22 bbWeight=3.96 PerfScore 16.83
 G_M51810_IG07:        ; bbWeight=1.98, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        test     rbx, rbx
        je       SHORT G_M51810_IG16
                        ;; size=5 bbWeight=1.98 PerfScore 2.48
 G_M51810_IG08:        ; bbWeight=3.96, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       dec      edx
+       dec      r13d
        jns      SHORT G_M51810_IG03
-                     ;; size=4 bbWeight=3.96 PerfScore 4.95
+                        ;; size=5 bbWeight=3.96 PerfScore 4.95
 G_M51810_IG09:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M51810_IG16
                        ;; size=2 bbWeight=1 PerfScore 2.00
@@ -99,49 +100,50 @@ G_M51810_IG12:        ; bbWeight=0.02, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        movzx    rdi, di
                        ;; size=6 bbWeight=0.02 PerfScore 0.01
 G_M51810_IG13:        ; bbWeight=0.04, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       cmp      edx, dword ptr [rax+0x08]
+       cmp      r13d, dword ptr [rax+0x08]
        jae      SHORT G_M51810_IG18
-       mov      esi, edx
-       mov      word  ptr [rax+2*rsi+0x10], di
+       mov      edx, r13d
+       mov      word  ptr [rax+2*rdx+0x10], di
        shr      rbx, 4
-       test     edx, edx
+       test     r13d, r13d
        je       SHORT G_M51810_IG16
        test     r15b, r15b
        jne      SHORT G_M51810_IG15
-                      ;; size=25 bbWeight=0.04 PerfScore 0.33
+                       ;; size=28 bbWeight=0.04 PerfScore 0.33
 G_M51810_IG14:        ; bbWeight=0.02, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        test     rbx, rbx
        je       SHORT G_M51810_IG16
                        ;; size=5 bbWeight=0.02 PerfScore 0.03
 G_M51810_IG15:        ; bbWeight=0.04, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       dec      edx
+       dec      r13d
        jns      SHORT G_M51810_IG10
-                     ;; size=4 bbWeight=0.04 PerfScore 0.05
+                        ;; size=5 bbWeight=0.04 PerfScore 0.05
 G_M51810_IG16:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       cmp      edx, dword ptr [rax+0x08]
+       cmp      r13d, dword ptr [rax+0x08]
        jae      SHORT G_M51810_IG18
-       mov      edi, edx
+       mov      edi, r13d
        lea      rdi, bword ptr [rax+2*rdi+0x10]
        ; byrRegs +[rdi]
-       mov      bword ptr [rbp-0x20], rdi
-       mov      rdi, bword ptr [rbp-0x20]
-       sub      r14d, edx
+       mov      bword ptr [rbp-0x28], rdi
+       mov      rdi, bword ptr [rbp-0x28]
        mov      edx, r14d
+       sub      edx, r13d
        xor      esi, esi
        call     <unknown method>
        ; byrRegs -[rdi]
        ; gcr arg pop 0
        xor      ecx, ecx
-       mov      bword ptr [rbp-0x20], rcx
-                       ;; size=39 bbWeight=1 PerfScore 10.25
+       mov      bword ptr [rbp-0x28], rcx
+                       ;; size=41 bbWeight=1 PerfScore 10.25
 G_M51810_IG17:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 8
+       add      rsp, 16
        pop      rbx
+       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=1 PerfScore 3.25
+                      ;; size=13 bbWeight=1 PerfScore 3.75
 G_M51810_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -149,7 +151,7 @@ G_M51810_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 228, prolog size 27, PerfScore 68.16, instruction count 82, allocated bytes for code 228 (MethodHash=4e8e359d) for method System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
+; Total bytes of code 250, prolog size 32, PerfScore 68.91, instruction count 84, allocated bytes for code 250 (MethodHash=4e8e359d) for method System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
 ; ============================================================
 
 Cfi Info:
@@ -161,6 +163,8 @@ Cfi Info:
     CodeOffset: 0x03 Op: RelOffset DwarfReg:0xf Offset:0x0
     CodeOffset: 0x05 Op: AdjustCfaOffset Offset:0x8
     CodeOffset: 0x05 Op: RelOffset DwarfReg:0xe Offset:0x0
-    CodeOffset: 0x06 Op: AdjustCfaOffset Offset:0x8
-    CodeOffset: 0x06 Op: RelOffset DwarfReg:0x3 Offset:0x0
     CodeOffset: 0x07 Op: AdjustCfaOffset Offset:0x8
+    CodeOffset: 0x07 Op: RelOffset DwarfReg:0xd Offset:0x0
+    CodeOffset: 0x08 Op: AdjustCfaOffset Offset:0x8
+    CodeOffset: 0x08 Op: RelOffset DwarfReg:0x3 Offset:0x0
+    CodeOffset: 0x0C Op: AdjustCfaOffset Offset:0x10
  
  
  
Details
Improvements/regressions per collection
| Collection | Contexts with diffs | Improvements | Regressions | Same size | Improvements (bytes) | Regressions (bytes) | 
| benchmarks.run.linux.x64.checked.mch | 612 | 116 | 388 | 108 | -901 | +7,722 | 
| benchmarks.run_pgo.linux.x64.checked.mch | 3,602 | 2,163 | 1,182 | 257 | -27,153 | +10,829 | 
| benchmarks.run_tiered.linux.x64.checked.mch | 205 | 42 | 120 | 43 | -975 | +2,107 | 
| coreclr_tests.run.linux.x64.checked.mch | 2,694 | 547 | 1,773 | 374 | -6,406 | +24,426 | 
| libraries.crossgen2.linux.x64.checked.mch | 922 | 383 | 230 | 309 | -2,301 | +1,806 | 
| libraries.pmi.linux.x64.checked.mch | 2,159 | 553 | 1,233 | 373 | -2,996 | +22,055 | 
| libraries_tests.run.linux.x64.Release.mch | 15,239 | 4,448 | 7,935 | 2,856 | -103,603 | +134,955 | 
| librariestestsnotieredcompilation.run.linux.x64.Release.mch | 2,409 | 539 | 1,424 | 446 | -4,376 | +23,717 | 
| realworld.run.linux.x64.checked.mch | 534 | 123 | 280 | 131 | -877 | +5,316 | 
| smoke_tests.nativeaot.linux.x64.checked.mch | 213 | 99 | 78 | 36 | -1,031 | +625 | 
|  | 28,589 | 9,013 | 14,643 | 4,933 | -150,619 | +233,558 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| benchmarks.run.linux.x64.checked.mch | 42,535 | 3,142 | 39,393 | 322 (0.75%) | 322 (0.75%) | 
| benchmarks.run_pgo.linux.x64.checked.mch | 158,221 | 60,171 | 98,050 | 156 (0.10%) | 156 (0.10%) | 
| benchmarks.run_tiered.linux.x64.checked.mch | 56,416 | 42,280 | 14,136 | 84 (0.15%) | 84 (0.15%) | 
| coreclr_tests.run.linux.x64.checked.mch | 596,312 | 354,685 | 241,627 | 459 (0.08%) | 459 (0.08%) | 
| libraries.crossgen2.linux.x64.checked.mch | 234,032 | 15 | 234,017 | 0 (0.00%) | 0 (0.00%) | 
| libraries.pmi.linux.x64.checked.mch | 294,187 | 6 | 294,181 | 2,047 (0.69%) | 2,047 (0.69%) | 
| libraries_tests.run.linux.x64.Release.mch | 760,255 | 495,575 | 264,680 | 1,397 (0.18%) | 1,397 (0.18%) | 
| librariestestsnotieredcompilation.run.linux.x64.Release.mch | 303,253 | 21,873 | 281,380 | 2,095 (0.69%) | 2,095 (0.69%) | 
| realworld.run.linux.x64.checked.mch | 32,730 | 9 | 32,721 | 339 (1.03%) | 339 (1.03%) | 
| smoke_tests.nativeaot.linux.x64.checked.mch | 27,417 | 10 | 27,407 | 5 (0.02%) | 5 (0.02%) | 
|  | 2,505,358 | 977,766 | 1,527,592 | 6,904 (0.27%) | 6,904 (0.27%) | 
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: 16154102 (overridden on cmd)
Total bytes of diff: 16160923 (overridden on cmd)
Total bytes of delta: 6821 (0.04 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         331 : 27973.dasm (4.37 % of base)
          89 : 28059.dasm (8.16 % of base)
          87 : 28210.dasm (6.36 % of base)
          74 : 28211.dasm (2.59 % of base)
          61 : 15455.dasm (9.55 % of base)
          60 : 2629.dasm (9.48 % of base)
          60 : 19552.dasm (7.47 % of base)
          59 : 11375.dasm (18.55 % of base)
          59 : 16672.dasm (10.67 % of base)
          59 : 8434.dasm (18.55 % of base)
          54 : 23158.dasm (10.87 % of base)
          53 : 2751.dasm (21.03 % of base)
          53 : 11161.dasm (21.03 % of base)
          51 : 30080.dasm (2.50 % of base)
          50 : 11373.dasm (40.98 % of base)
          50 : 16088.dasm (19.61 % of base)
          50 : 8432.dasm (40.98 % of base)
          49 : 4750.dasm (13.65 % of base)
          48 : 18614.dasm (0.87 % of base)
          46 : 11292.dasm (4.34 % of base)
Top file improvements (bytes):
        -101 : 15861.dasm (-5.13 % of base)
        -101 : 7943.dasm (-5.13 % of base)
         -61 : 18631.dasm (-1.33 % of base)
         -44 : 22795.dasm (-2.77 % of base)
         -43 : 21085.dasm (-2.72 % of base)
         -30 : 27115.dasm (-2.94 % of base)
         -29 : 27118.dasm (-0.91 % of base)
         -28 : 55.dasm (-3.59 % of base)
         -28 : 8652.dasm (-3.59 % of base)
         -18 : 8764.dasm (-1.61 % of base)
         -18 : 167.dasm (-1.61 % of base)
         -15 : 14054.dasm (-0.16 % of base)
         -15 : 3588.dasm (-0.16 % of base)
         -12 : 18235.dasm (-0.43 % of base)
         -11 : 1961.dasm (-0.47 % of base)
         -11 : 36275.dasm (-2.27 % of base)
         -11 : 12479.dasm (-0.47 % of base)
          -9 : 10171.dasm (-2.34 % of base)
          -9 : 2772.dasm (-2.34 % of base)
          -8 : 28261.dasm (-0.36 % of base)
73 total files with Code Size differences (29 improved, 44 regressed), 20 unchanged.
Top method regressions (bytes):
         331 (4.37 % of base) : 27973.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
          89 (8.16 % of base) : 28059.dasm - Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]:AddIfNotPresent(System.__Canon,byref):ubyte:this (FullOpts)
          87 (6.36 % of base) : 28210.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)
          74 (2.59 % of base) : 28211.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)
          61 (9.55 % of base) : 15455.dasm - System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:Remove(System.__Canon):ubyte:this (FullOpts)
          60 (7.47 % of base) : 19552.dasm - System.Collections.Frozen.KeysAndValuesFrozenDictionary`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],ubyte):this (FullOpts)
          60 (9.48 % of base) : 2629.dasm - System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:Remove(System.__Canon):ubyte:this (FullOpts)
          59 (18.55 % of base) : 11375.dasm - System.Collections.Generic.PriorityQueue`2[System.__Canon,System.__Canon]:EnqueueDequeue(System.__Canon,System.__Canon):System.__Canon:this (FullOpts)
          59 (18.55 % of base) : 8434.dasm - System.Collections.Generic.PriorityQueue`2[System.__Canon,System.__Canon]:EnqueueDequeue(System.__Canon,System.__Canon):System.__Canon:this (FullOpts)
          59 (10.67 % of base) : 16672.dasm - System.Collections.Generic.SortedSet`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:DeepClone(int):System.Collections.Generic.SortedSet`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:this (FullOpts)
          54 (10.87 % of base) : 23158.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2[System.__Canon,System.__Canon]:WithComparers(System.Collections.Generic.IComparer`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Immutable.ImmutableSortedDictionary`2[System.__Canon,System.__Canon]:this (FullOpts)
          53 (21.03 % of base) : 2751.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.__Canon,System.__Canon],int,System.Collections.Generic.IComparer`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (FullOpts)
          53 (21.03 % of base) : 11161.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.__Canon,System.__Canon],int,System.Collections.Generic.IComparer`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (FullOpts)
          51 (2.50 % of base) : 30080.dasm - Microsoft.CodeAnalysis.Emit.PEModuleBuilder`9+<GetTopLevelTypeDefinitions>d__23[System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          50 (40.98 % of base) : 11373.dasm - System.Collections.Generic.PriorityQueue`2[System.__Canon,System.__Canon]:Enqueue(System.__Canon,System.__Canon):this (FullOpts)
          50 (40.98 % of base) : 8432.dasm - System.Collections.Generic.PriorityQueue`2[System.__Canon,System.__Canon]:Enqueue(System.__Canon,System.__Canon):this (FullOpts)
          50 (19.61 % of base) : 16088.dasm - System.Collections.Generic.SortedList`2[System.__Canon,System.__Canon]:RemoveAt(int):this (FullOpts)
          49 (13.65 % of base) : 4750.dasm - System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:CopyTo(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon][],int):this (FullOpts)
          48 (0.87 % of base) : 18614.dasm - Utf8Json.Formatters.DictionaryFormatterBase`5[int,System.__Canon,System.__Canon,System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon],System.__Canon]:Serialize(byref,System.__Canon,Utf8Json.IJsonFormatterResolver):this (FullOpts)
          46 (4.34 % of base) : 11292.dasm - System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]):this (FullOpts)
Top method improvements (bytes):
        -101 (-5.13 % of base) : 15861.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
        -101 (-5.13 % of base) : 7943.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
         -61 (-1.33 % of base) : 18631.dasm - Utf8Json.Formatters.ISO8601DateTimeFormatter:Deserialize(byref,Utf8Json.IJsonFormatterResolver):System.DateTime:this (FullOpts)
         -44 (-2.77 % of base) : 22795.dasm - AssignJagged:second_assignments(int[][],short[][]) (FullOpts)
         -43 (-2.72 % of base) : 21085.dasm - System.String:SplitWithPostProcessing(System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int],int,int,int):System.String[]:this (FullOpts)
         -30 (-2.94 % of base) : 27115.dasm - LUDecomp:Run():double:this (FullOpts)
         -29 (-0.91 % of base) : 27118.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (FullOpts)
         -28 (-3.59 % of base) : 55.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
         -28 (-3.59 % of base) : 8652.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
         -18 (-1.61 % of base) : 8764.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,int](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (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) : 14054.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -15 (-0.16 % of base) : 3588.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -12 (-0.43 % of base) : 18235.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[]):System.Reflection.Assembly (FullOpts)
         -11 (-2.27 % of base) : 36275.dasm - Benchstone.BenchI.Array2:VerifyCopy(int[][][],int[][][]):ubyte (FullOpts)
         -11 (-0.47 % of base) : 1961.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -11 (-0.47 % of base) : 12479.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -9 (-2.34 % of base) : 10171.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.34 % of base) : 2772.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) : 28261.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation+ReferenceManager:SetupReferencesForFileAssembly(Microsoft.CodeAnalysis.CSharp.CSharpCompilation+ReferenceManager+AssemblyDataForFile,Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol][],byref,byref,Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol) (FullOpts)
Top method regressions (percentages):
          34 (100.00 % of base) : 27147.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (FullOpts)
          35 (92.11 % of base) : 10148.dasm - System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (FullOpts)
          35 (92.11 % of base) : 2724.dasm - System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (FullOpts)
          35 (92.11 % of base) : 7195.dasm - System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
          31 (91.18 % of base) : 34785.dasm - System.Collections.IterateFor`1[System.__Canon]:ImmutableArray():System.__Canon:this (FullOpts)
          45 (80.36 % of base) : 16075.dasm - System.Collections.Generic.SortedList`2[System.__Canon,System.__Canon]:Clear():this (FullOpts)
          30 (78.95 % of base) : 28070.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedHashSet`1+Builder[System.__Canon]:ToImmutable():Microsoft.CodeAnalysis.Collections.ImmutableSegmentedHashSet`1[System.__Canon]:this (FullOpts)
          15 (75.00 % of base) : 11201.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.__Canon,System.__Canon]:get_Value():System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]:this (FullOpts)
          15 (75.00 % of base) : 7558.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.__Canon,System.__Canon]:get_Value():System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]:this (FullOpts)
          30 (55.56 % of base) : 4102.dasm - System.Collections.Generic.Stack`1[System.Collections.Immutable.RefAsValueType`1[System.__Canon]]:Pop():System.Collections.Immutable.RefAsValueType`1[System.__Canon]:this (FullOpts)
          30 (55.56 % of base) : 11198.dasm - System.Collections.Generic.Stack`1[System.Collections.Immutable.RefAsValueType`1[System.__Canon]]:Pop():System.Collections.Immutable.RefAsValueType`1[System.__Canon]:this (FullOpts)
          15 (48.39 % of base) : 27989.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:ToImmutable():System.Collections.Immutable.ImmutableArray`1[System.__Canon]:this (FullOpts)
          34 (45.33 % of base) : 25238.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:ContainsKey(System.__Canon):ubyte:this (FullOpts)
          50 (40.98 % of base) : 11373.dasm - System.Collections.Generic.PriorityQueue`2[System.__Canon,System.__Canon]:Enqueue(System.__Canon,System.__Canon):this (FullOpts)
          50 (40.98 % of base) : 8432.dasm - System.Collections.Generic.PriorityQueue`2[System.__Canon,System.__Canon]:Enqueue(System.__Canon,System.__Canon):this (FullOpts)
          15 (40.54 % of base) : 28835.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:AddRange(System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (FullOpts)
          29 (40.28 % of base) : 27631.dasm - Microsoft.CodeAnalysis.PooledObjects.ObjectPool`1[System.__Canon]:Allocate():System.__Canon:this (FullOpts)
          31 (39.74 % of base) : 28909.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,int]:TryGetValue(System.__Canon,byref):ubyte:this (FullOpts)
          15 (34.09 % of base) : 35326.dasm - System.Collections.Generic.Stack`1[System.__Canon]:Clear():this (FullOpts)
          33 (32.67 % of base) : 26504.dasm - System.Collections.Generic.SortedDictionary`2[System.__Canon,System.__Canon]:TryGetValue(System.__Canon,byref):ubyte:this (FullOpts)
Top method improvements (percentages):
        -101 (-5.13 % of base) : 15861.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
        -101 (-5.13 % of base) : 7943.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.59 % of base) : 8652.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
         -30 (-2.94 % of base) : 27115.dasm - LUDecomp:Run():double:this (FullOpts)
         -44 (-2.77 % of base) : 22795.dasm - AssignJagged:second_assignments(int[][],short[][]) (FullOpts)
         -43 (-2.72 % of base) : 21085.dasm - System.String:SplitWithPostProcessing(System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int],int,int,int):System.String[]:this (FullOpts)
          -7 (-2.55 % of base) : 33835.dasm - Benchstone.BenchI.XposMatrix:Test():ubyte:this (FullOpts)
          -9 (-2.34 % of base) : 10171.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.34 % of base) : 2772.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) : 36275.dasm - Benchstone.BenchI.Array2:VerifyCopy(int[][][],int[][][]):ubyte (FullOpts)
         -18 (-1.61 % of base) : 8764.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,int](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (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) : 18631.dasm - Utf8Json.Formatters.ISO8601DateTimeFormatter:Deserialize(byref,Utf8Json.IJsonFormatterResolver):System.DateTime:this (FullOpts)
          -5 (-1.01 % of base) : 13825.dasm - BenchmarksGame.Mandelbrot_2:DoBench(int,System.IO.MemoryStream,ubyte) (FullOpts)
          -5 (-0.94 % of base) : 3152.dasm - System.Reflection.Emit.DynamicILGenerator:AddParameters(System.Reflection.Emit.SignatureHelper,System.Type[],System.Type[][],System.Type[][]):this (FullOpts)
         -29 (-0.91 % of base) : 27118.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (FullOpts)
          -2 (-0.84 % of base) : 4640.dasm - Jil.Common.ExtensionMethods:GetConstructor(System.Type,int,System.Type[]):System.Reflection.ConstructorInfo (FullOpts)
          -5 (-0.79 % of base) : 898.dasm - System.Reflection.Emit.SignatureHelper:AddArguments(System.Type[],System.Type[][],System.Type[][]):this (FullOpts)
          -5 (-0.79 % of base) : 9495.dasm - System.Reflection.Emit.SignatureHelper:AddArguments(System.Type[],System.Type[][],System.Type[][]):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: 70160705 (overridden on cmd)
Total bytes of diff: 70144381 (overridden on cmd)
Total bytes of delta: -16324 (-0.02 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          80 : 103210.dasm (1.80 % of base)
          76 : 110759.dasm (1.39 % of base)
          64 : 149161.dasm (1.15 % of base)
          58 : 94173.dasm (28.02 % of base)
          55 : 103255.dasm (19.64 % of base)
          55 : 103438.dasm (19.64 % of base)
          49 : 104255.dasm (15.17 % of base)
          44 : 156401.dasm (1.25 % of base)
          44 : 154177.dasm (1.44 % of base)
          44 : 135284.dasm (7.36 % of base)
          44 : 155797.dasm (1.67 % of base)
          44 : 36504.dasm (7.36 % of base)
          42 : 139931.dasm (4.21 % of base)
          42 : 153667.dasm (1.59 % of base)
          42 : 42579.dasm (4.21 % of base)
          41 : 90830.dasm (5.11 % of base)
          41 : 93074.dasm (5.14 % of base)
          40 : 53680.dasm (1.31 % of base)
          40 : 61027.dasm (1.30 % of base)
          40 : 66075.dasm (1.30 % of base)
Top file improvements (bytes):
        -472 : 32976.dasm (-34.20 % of base)
        -471 : 33099.dasm (-33.48 % of base)
        -174 : 142770.dasm (-4.18 % of base)
        -135 : 74801.dasm (-23.00 % of base)
        -135 : 74771.dasm (-23.00 % of base)
        -104 : 155735.dasm (-4.47 % of base)
         -97 : 137665.dasm (-5.75 % of base)
         -80 : 146616.dasm (-5.72 % of base)
         -74 : 130872.dasm (-1.03 % of base)
         -62 : 100025.dasm (-7.81 % of base)
         -62 : 98077.dasm (-7.81 % of base)
         -62 : 45349.dasm (-7.82 % of base)
         -62 : 57765.dasm (-7.81 % of base)
         -62 : 71597.dasm (-7.81 % of base)
         -62 : 73233.dasm (-7.81 % of base)
         -62 : 52981.dasm (-7.81 % of base)
         -62 : 53401.dasm (-7.81 % of base)
         -62 : 58241.dasm (-7.81 % of base)
         -62 : 80097.dasm (-7.81 % of base)
         -62 : 95981.dasm (-7.81 % of base)
93 total files with Code Size differences (44 improved, 49 regressed), 20 unchanged.
Top method regressions (bytes):
          80 (1.80 % of base) : 103210.dasm - Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass:VisitBlock(Microsoft.CodeAnalysis.CSharp.BoundBlock):Microsoft.CodeAnalysis.CSharp.BoundNode:this (Tier1)
          76 (1.39 % of base) : 110759.dasm - System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]:SetOrAdd(int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]],ubyte,byref,byref):System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]:this (Tier1)
          64 (1.15 % of base) : 149161.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLengthLessThan4,System.Buffers.StringSearchValuesHelper+CaseInsensitiveAscii]:IndexOf(byref,int):int:this (Tier1)
          58 (28.02 % of base) : 94173.dasm - Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (Tier1)
          55 (19.64 % of base) : 103438.dasm - Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2+PendingBranchesCollection[Microsoft.CodeAnalysis.CSharp.ControlFlowPass+LocalState,System.__Canon]:AddRange(Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2+PendingBranchesCollection[Microsoft.CodeAnalysis.CSharp.ControlFlowPass+LocalState,System.__Canon]):this (Tier1)
          55 (19.64 % of base) : 103255.dasm - Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2+PendingBranchesCollection[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState,System.__Canon]:AddRange(Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2+PendingBranchesCollection[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState,System.__Canon]):this (Tier1)
          49 (15.17 % of base) : 104255.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.Reflection.Metadata.TypeDefinitionHandle,System.__Canon]:TryGetValue(System.Reflection.Metadata.TypeDefinitionHandle,byref):ubyte:this (Tier1)
          44 (7.36 % of base) : 135284.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.Text.RegularExpressions.RegexCache+Key,System.__Canon]:TryGetValue(System.Text.RegularExpressions.RegexCache+Key,byref):ubyte:this (Tier1)
          44 (7.36 % of base) : 36504.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.Text.RegularExpressions.RegexCache+Key,System.__Canon]:TryGetValue(System.Text.RegularExpressions.RegexCache+Key,byref):ubyte:this (Tier1)
          44 (1.67 % of base) : 155797.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)
          44 (1.44 % of base) : 154177.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ulong,int,ulong,int,byref,byref):int (Tier1)
          44 (1.25 % of base) : 156401.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          42 (4.21 % of base) : 139931.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.Text.RegularExpressions.RegexCache+Key,System.__Canon]:TryGetValue(System.Text.RegularExpressions.RegexCache+Key,byref):ubyte:this (Tier1)
          42 (4.21 % of base) : 42579.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.Text.RegularExpressions.RegexCache+Key,System.__Canon]:TryGetValue(System.Text.RegularExpressions.RegexCache+Key,byref):ubyte:this (Tier1)
          42 (1.59 % of base) : 153667.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)
          41 (5.11 % of base) : 90830.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor(int,int,ubyte,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (Tier1)
          41 (5.14 % of base) : 93074.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,ubyte]:.ctor(int,int,ubyte,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (Tier1)
          40 (1.31 % of base) : 53680.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ulong,int,ulong,int,byref,byref):int (Tier1)
          40 (1.30 % of base) : 61027.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ulong,int,ulong,int,byref,byref):int (Tier1)
          40 (1.30 % of base) : 66075.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ulong,int,ulong,int,byref,byref):int (Tier1)
Top method improvements (bytes):
        -472 (-34.20 % of base) : 32976.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -471 (-33.48 % of base) : 33099.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -174 (-4.18 % of base) : 142770.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength4To7,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1)
        -135 (-23.00 % of base) : 74801.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -135 (-23.00 % of base) : 74771.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -104 (-4.47 % of base) : 155735.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1-OSR)
         -97 (-5.75 % of base) : 137665.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1-OSR)
         -80 (-5.72 % of base) : 146616.dasm - System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[System.__Canon]:WriteAsync(System.__Canon,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (Tier1)
         -74 (-1.03 % of base) : 130872.dasm - System.Collections.Generic.ArraySortHelper`1[System.__Canon]:IntroSort(System.Span`1[System.__Canon],int,System.Comparison`1[System.__Canon]) (Tier1)
         -62 (-7.81 % of base) : 100025.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -62 (-7.81 % of base) : 98077.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -62 (-7.82 % of base) : 45349.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -62 (-7.81 % of base) : 57765.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -62 (-7.81 % of base) : 71597.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -62 (-7.81 % of base) : 73233.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -62 (-7.81 % of base) : 52981.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -62 (-7.81 % of base) : 53401.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -62 (-7.81 % of base) : 58241.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -62 (-7.81 % of base) : 80097.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -62 (-7.81 % of base) : 95981.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
Top method regressions (percentages):
          30 (103.45 % of base) : 92921.dasm - Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]):this (Tier1)
          15 (75.00 % of base) : 92664.dasm - Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.__Canon]:GetEnumerator():Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1+Enumerator[System.__Canon]:this (Tier1)
          15 (75.00 % of base) : 90998.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:get_Origin():System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon]:this (Tier1)
          15 (48.39 % of base) : 88649.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:ToImmutable():System.Collections.Immutable.ImmutableArray`1[System.__Canon]:this (Tier1)
          15 (40.54 % of base) : 89399.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:AddRange(System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (Tier1)
          31 (39.74 % of base) : 93061.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,int]:TryGetValue(System.__Canon,byref):ubyte:this (Tier1)
          29 (39.19 % of base) : 102452.dasm - Microsoft.CodeAnalysis.PooledObjects.ObjectPool`1[System.__Canon]:Allocate():System.__Canon:this (Tier1)
          29 (39.19 % of base) : 85376.dasm - Microsoft.CodeAnalysis.PooledObjects.ObjectPool`1[System.__Canon]:Allocate():System.__Canon:this (Tier1)
          15 (31.91 % of base) : 91651.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor():this (Tier1)
          15 (31.91 % of base) : 90834.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (Tier1)
          58 (28.02 % of base) : 94173.dasm - Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (Tier1)
          21 (26.58 % of base) : 153413.dasm - System.Collections.Generic.Stack`1[System.__Canon]:Pop():System.__Canon:this (Tier1)
          21 (26.58 % of base) : 94607.dasm - System.Collections.Generic.Stack`1[System.__Canon]:Pop():System.__Canon:this (Tier1)
          21 (25.93 % of base) : 155608.dasm - System.Collections.Generic.Stack`1[System.__Canon]:Pop():System.__Canon:this (Tier1)
          33 (22.92 % of base) : 147857.dasm - System.Collections.Generic.List`1[System.__Canon]:RemoveRange(int,int):this (Tier1)
          33 (22.92 % of base) : 155692.dasm - System.Collections.Generic.List`1[System.__Canon]:RemoveRange(int,int):this (Tier1)
          14 (21.54 % of base) : 5651.dasm - System.Collections.Generic.Dictionary`2+KeyCollection[System.__Canon,ubyte]:GetEnumerator():System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:this (Tier1)
          14 (21.54 % of base) : 93494.dasm - System.Collections.Generic.Dictionary`2+ValueCollection[System.__Canon,System.__Canon]:GetEnumerator():System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.__Canon,System.__Canon]:this (Tier1)
          14 (20.90 % of base) : 93257.dasm - System.Collections.Generic.HashSet`1[System.__Canon]:GetEnumerator():System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:this (Tier1)
          14 (20.90 % of base) : 21637.dasm - System.Collections.Generic.List`1[System.__Canon]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.__Canon]:this (Tier1)
Top method improvements (percentages):
        -472 (-34.20 % of base) : 32976.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -471 (-33.48 % of base) : 33099.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -135 (-23.00 % of base) : 74801.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -135 (-23.00 % of base) : 74771.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -22 (-11.89 % of base) : 105938.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 109658.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 112190.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 115997.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 130865.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 143853.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 152625.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 158357.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 76241.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 9346.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 57758.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 58742.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 31734.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 57865.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 65489.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -22 (-11.89 % of base) : 78094.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: 15920075 (overridden on cmd)
Total bytes of diff: 15921207 (overridden on cmd)
Total bytes of delta: 1132 (0.01 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          51 : 44233.dasm (2.50 % of base)
          45 : 42758.dasm (13.93 % of base)
          42 : 34718.dasm (10.34 % of base)
          38 : 48276.dasm (10.50 % of base)
          36 : 43067.dasm (4.90 % of base)
          35 : 11539.dasm (3.61 % of base)
          35 : 11567.dasm (92.11 % of base)
          35 : 26677.dasm (92.11 % of base)
          35 : 43211.dasm (71.43 % of base)
          34 : 34066.dasm (100.00 % of base)
          34 : 42467.dasm (6.10 % of base)
          34 : 19203.dasm (43.59 % of base)
          33 : 52841.dasm (23.40 % of base)
          32 : 26658.dasm (16.49 % of base)
          32 : 44575.dasm (14.22 % of base)
          32 : 40007.dasm (25.40 % of base)
          31 : 42492.dasm (12.60 % of base)
          30 : 43355.dasm (107.14 % of base)
          29 : 30871.dasm (3.60 % of base)
          29 : 38599.dasm (40.28 % of base)
Top file improvements (bytes):
        -454 : 24427.dasm (-32.41 % of base)
        -177 : 33968.dasm (-17.32 % of base)
         -44 : 29818.dasm (-2.77 % of base)
         -39 : 47932.dasm (-5.41 % of base)
         -30 : 33975.dasm (-2.94 % of base)
         -29 : 33973.dasm (-0.91 % of base)
         -28 : 1219.dasm (-3.59 % of base)
         -19 : 47936.dasm (-2.10 % of base)
         -18 : 1030.dasm (-1.61 % of base)
         -17 : 30489.dasm (-0.81 % of base)
         -11 : 9748.dasm (-0.47 % of base)
          -9 : 33970.dasm (-0.31 % of base)
          -7 : 32590.dasm (-0.20 % of base)
          -7 : 56015.dasm (-0.93 % of base)
          -6 : 22072.dasm (-2.80 % of base)
          -6 : 9241.dasm (-0.78 % of base)
          -6 : 27196.dasm (-0.38 % of base)
          -5 : 9324.dasm (-0.79 % of base)
          -5 : 53297.dasm (-1.11 % of base)
          -4 : 29828.dasm (-0.48 % of base)
63 total files with Code Size differences (26 improved, 37 regressed), 20 unchanged.
Top method regressions (bytes):
          51 (2.50 % of base) : 44233.dasm - Microsoft.CodeAnalysis.Emit.PEModuleBuilder`9+<GetTopLevelTypeDefinitions>d__23[System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon]:MoveNext():ubyte:this (Tier1)
          45 (13.93 % of base) : 42758.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.Reflection.Metadata.TypeDefinitionHandle,System.__Canon]:TryGetValue(System.Reflection.Metadata.TypeDefinitionHandle,byref):ubyte:this (Tier1)
          42 (10.34 % of base) : 34718.dasm - System.Collections.Concurrent.ConcurrentBag`1+WorkStealingQueue[System.__Canon]:TryLocalPop(byref):ubyte:this (Tier1)
          38 (10.50 % of base) : 48276.dasm - System.Collections.Concurrent.ConcurrentBag`1[System.__Canon]:TrySteal(byref,ubyte):ubyte:this (Tier1)
          36 (4.90 % of base) : 43067.dasm - Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2[System.__Canon,System.__Canon]:FindValue(System.__Canon):byref:this (Tier1)
          35 (71.43 % of base) : 43211.dasm - Microsoft.CodeAnalysis.CustomAttributesBag`1[System.__Canon]:get_IsEmpty():ubyte:this (Tier1)
          35 (92.11 % of base) : 11567.dasm - System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (Tier1)
          35 (92.11 % of base) : 26677.dasm - System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (Tier1)
          35 (3.61 % of base) : 11539.dasm - System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]:SetOrAdd(int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]],ubyte,byref,byref):System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]:this (Tier1)
          34 (100.00 % of base) : 34066.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          34 (43.59 % of base) : 19203.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:TryGetValue(System.__Canon,byref):ubyte:this (Tier1)
          34 (6.10 % of base) : 42467.dasm - System.Lazy`1[System.__Canon]:CreateValue():System.__Canon:this (Tier1)
          33 (23.40 % of base) : 52841.dasm - System.Collections.Generic.List`1[System.__Canon]:RemoveRange(int,int):this (Tier1)
          32 (14.22 % of base) : 44575.dasm - Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (Tier1)
          32 (25.40 % of base) : 40007.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (Tier1)
          32 (16.49 % of base) : 26658.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]],System.Collections.Generic.IEqualityComparer`1[System.__Canon],int):this (Tier1)
          31 (12.60 % of base) : 42492.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]],ubyte):System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:this (Tier1)
          30 (107.14 % of base) : 43355.dasm - Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]):this (Tier1)
          29 (40.28 % of base) : 38599.dasm - Microsoft.CodeAnalysis.PooledObjects.ObjectPool`1[System.__Canon]:Allocate():System.__Canon:this (Tier1)
          29 (3.60 % of base) : 30871.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor(int,int,ubyte,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (Tier1)
Top method improvements (bytes):
        -454 (-32.41 % of base) : 24427.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -177 (-17.32 % of base) : 33968.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -44 (-2.77 % of base) : 29818.dasm - AssignJagged:second_assignments(int[][],short[][]) (Tier1)
         -39 (-5.41 % of base) : 47932.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -30 (-2.94 % of base) : 33975.dasm - LUDecomp:Run():double:this (Tier1)
         -29 (-0.91 % of base) : 33973.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (Tier1)
         -28 (-3.59 % of base) : 1219.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (Tier1)
         -19 (-2.10 % of base) : 47936.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
         -18 (-1.61 % of base) : 1030.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,int](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (Tier1)
         -17 (-0.81 % of base) : 30489.dasm - AssignRect:second_assignments(int[,],short[,]) (Tier1-OSR)
         -11 (-0.47 % of base) : 9748.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -9 (-0.31 % of base) : 33970.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (Tier1-OSR)
          -7 (-0.93 % of base) : 56015.dasm - BenchmarksGame.ReverseComplement_1:Reverse(System.IO.Stream,int,int,System.Collections.Generic.List`1[ubyte[]]) (Tier1-OSR)
          -7 (-0.20 % of base) : 32590.dasm - Benchstone.BenchI.MulMatrix:Inner(int[][],int[][],int[][]) (Tier1)
          -6 (-2.80 % of base) : 22072.dasm - Benchstone.BenchI.CSieve:Test():ubyte:this (Tier1-OSR)
          -6 (-0.38 % of base) : 27196.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (Tier1)
          -6 (-0.78 % of base) : 9241.dasm - System.Reflection.CustomAttribute:GetCustomAttributes(System.RuntimeType,System.RuntimeType,ubyte):System.Object[] (Tier1)
          -5 (-1.11 % of base) : 53297.dasm - System.MulticastDelegate:CombineImpl(System.Delegate):System.Delegate:this (Tier1-OSR)
          -5 (-0.79 % of base) : 9324.dasm - System.Reflection.Emit.SignatureHelper:AddArguments(System.Type[],System.Type[][],System.Type[][]):this (Tier1)
          -4 (-0.54 % of base) : 2399.dasm - System.Reflection.TypeNameParser:ParseNamedOrConstructedGenericTypeName():System.Reflection.TypeNameParser+TypeName:this (Tier1)
Top method regressions (percentages):
          30 (107.14 % of base) : 43355.dasm - Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]):this (Tier1)
          34 (100.00 % of base) : 34066.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          35 (92.11 % of base) : 11567.dasm - System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (Tier1)
          35 (92.11 % of base) : 26677.dasm - System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (Tier1)
          15 (75.00 % of base) : 42855.dasm - Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.__Canon]:GetEnumerator():Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1+Enumerator[System.__Canon]:this (Tier1)
          15 (75.00 % of base) : 19200.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:get_Origin():System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon]:this (Tier1)
          35 (71.43 % of base) : 43211.dasm - Microsoft.CodeAnalysis.CustomAttributesBag`1[System.__Canon]:get_IsEmpty():ubyte:this (Tier1)
          15 (48.39 % of base) : 40141.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:ToImmutable():System.Collections.Immutable.ImmutableArray`1[System.__Canon]:this (Tier1)
          34 (43.59 % of base) : 19203.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:TryGetValue(System.__Canon,byref):ubyte:this (Tier1)
          15 (42.86 % of base) : 21568.dasm - BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,System.__Canon):this (Tier1)
          15 (40.54 % of base) : 42421.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:AddRange(System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (Tier1)
          29 (40.28 % of base) : 38599.dasm - Microsoft.CodeAnalysis.PooledObjects.ObjectPool`1[System.__Canon]:Allocate():System.__Canon:this (Tier1)
          15 (34.09 % of base) : 53331.dasm - System.Collections.Generic.Stack`1[System.__Canon]:Clear():this (Tier1)
          15 (31.91 % of base) : 30869.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor():this (Tier1)
          15 (31.91 % of base) : 42443.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (Tier1)
          21 (26.58 % of base) : 7209.dasm - System.Collections.Generic.Stack`1[System.__Canon]:Pop():System.__Canon:this (Tier1)
          18 (26.09 % of base) : 43124.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:Union(System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:this (Tier1)
          32 (25.40 % of base) : 40007.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (Tier1)
          18 (24.32 % of base) : 43034.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:AddRange(System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]):this (Tier1)
          33 (23.40 % of base) : 52841.dasm - System.Collections.Generic.List`1[System.__Canon]:RemoveRange(int,int):this (Tier1)
Top method improvements (percentages):
        -454 (-32.41 % of base) : 24427.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -177 (-17.32 % of base) : 33968.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -39 (-5.41 % of base) : 47932.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -28 (-3.59 % of base) : 1219.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (Tier1)
         -30 (-2.94 % of base) : 33975.dasm - LUDecomp:Run():double:this (Tier1)
          -6 (-2.80 % of base) : 22072.dasm - Benchstone.BenchI.CSieve:Test():ubyte:this (Tier1-OSR)
         -44 (-2.77 % of base) : 29818.dasm - AssignJagged:second_assignments(int[][],short[][]) (Tier1)
         -19 (-2.10 % of base) : 47936.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
         -18 (-1.61 % of base) : 1030.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,int](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (Tier1)
          -5 (-1.11 % of base) : 53297.dasm - System.MulticastDelegate:CombineImpl(System.Delegate):System.Delegate:this (Tier1-OSR)
          -7 (-0.93 % of base) : 56015.dasm - BenchmarksGame.ReverseComplement_1:Reverse(System.IO.Stream,int,int,System.Collections.Generic.List`1[ubyte[]]) (Tier1-OSR)
         -29 (-0.91 % of base) : 33973.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (Tier1)
         -17 (-0.81 % of base) : 30489.dasm - AssignRect:second_assignments(int[,],short[,]) (Tier1-OSR)
          -5 (-0.79 % of base) : 9324.dasm - System.Reflection.Emit.SignatureHelper:AddArguments(System.Type[],System.Type[][],System.Type[][]):this (Tier1)
          -6 (-0.78 % of base) : 9241.dasm - System.Reflection.CustomAttribute:GetCustomAttributes(System.RuntimeType,System.RuntimeType,ubyte):System.Object[] (Tier1)
          -2 (-0.77 % of base) : 5026.dasm - System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:Rehash(int):this (Tier1)
          -2 (-0.57 % of base) : 5359.dasm - System.Linq.EnumerableSorter`2[System.__Canon,int]:ComputeKeys(System.__Canon[],int):this (Tier1)
          -2 (-0.54 % of base) : 27144.dasm - System.Linq.EnumerableSorter`2[System.Collections.BigStruct,System.Collections.BigStruct]:ComputeKeys(System.Collections.BigStruct[],int):this (Tier1)
          -4 (-0.54 % of base) : 2399.dasm - System.Reflection.TypeNameParser:ParseNamedOrConstructedGenericTypeName():System.Reflection.TypeNameParser+TypeName:this (Tier1)
          -4 (-0.48 % of base) : 29828.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex9_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
  
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: 403032058 (overridden on cmd)
Total bytes of diff: 403050078 (overridden on cmd)
Total bytes of delta: 18020 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         301 : 498451.dasm (3.92 % of base)
         159 : 397295.dasm (1.39 % of base)
         129 : 390389.dasm (1.09 % of base)
         128 : 395975.dasm (6.23 % of base)
         125 : 383155.dasm (1.06 % of base)
         119 : 386224.dasm (3.52 % of base)
         111 : 390451.dasm (5.18 % of base)
         107 : 529518.dasm (5.51 % of base)
          97 : 397259.dasm (4.03 % of base)
          96 : 390490.dasm (5.30 % of base)
          96 : 397385.dasm (5.30 % of base)
          91 : 383266.dasm (0.81 % of base)
          91 : 383650.dasm (0.81 % of base)
          89 : 498563.dasm (8.16 % of base)
          87 : 498747.dasm (6.36 % of base)
          81 : 397375.dasm (4.05 % of base)
          78 : 396154.dasm (2.27 % of base)
          75 : 390491.dasm (4.41 % of base)
          75 : 397374.dasm (4.41 % of base)
          74 : 498748.dasm (2.59 % of base)
Top file improvements (bytes):
        -472 : 234248.dasm (-34.20 % of base)
        -135 : 230018.dasm (-23.00 % of base)
        -135 : 230031.dasm (-23.00 % of base)
        -131 : 288906.dasm (-32.51 % of base)
        -131 : 154445.dasm (-15.63 % of base)
        -127 : 174956.dasm (-15.41 % of base)
        -127 : 112035.dasm (-14.89 % of base)
        -112 : 383537.dasm (-0.86 % of base)
        -102 : 267966.dasm (-7.38 % of base)
        -102 : 279457.dasm (-7.38 % of base)
         -97 : 267972.dasm (-7.00 % of base)
         -97 : 279461.dasm (-7.00 % of base)
         -70 : 382800.dasm (-0.53 % of base)
         -70 : 524557.dasm (-2.05 % of base)
         -69 : 269315.dasm (-3.24 % of base)
         -59 : 225420.dasm (-7.63 % of base)
         -58 : 295008.dasm (-7.98 % of base)
         -57 : 390461.dasm (-2.68 % of base)
         -55 : 267934.dasm (-4.48 % of base)
         -55 : 279438.dasm (-4.48 % of base)
85 total files with Code Size differences (34 improved, 51 regressed), 20 unchanged.
Top method regressions (bytes):
         301 (3.92 % of base) : 498451.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)
         159 (1.39 % of base) : 397295.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
         129 (1.09 % of base) : 390389.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
         128 (6.23 % of base) : 395975.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,System.__Canon]:Expand(System.__Canon[]):this (Tier1-OSR)
         125 (1.06 % of base) : 383155.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
         119 (3.52 % of base) : 386224.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+InstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+InstantiatedTypeKey,byref):ubyte:this (Tier1)
         111 (5.18 % of base) : 390451.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+InstantiatedTypeKey,System.__Canon]:Expand(System.__Canon[]):this (Tier1)
         107 (5.51 % of base) : 529518.dasm - JitTest_array1_refany_il.Test:Main():int (FullOpts)
          97 (4.03 % of base) : 397259.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+InstantiatedMethodKey,System.__Canon]:Expand(System.__Canon[]):this (Tier1)
          96 (5.30 % of base) : 390490.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,System.__Canon]:Expand(System.__Canon[]):this (Tier1)
          96 (5.30 % of base) : 397385.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,System.__Canon]:Expand(System.__Canon[]):this (Tier1)
          91 (0.81 % of base) : 383266.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
          91 (0.81 % of base) : 383650.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
          89 (8.16 % of base) : 498563.dasm - Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]:AddIfNotPresent(System.__Canon,byref):ubyte:this (FullOpts)
          87 (6.36 % of base) : 498747.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)
          81 (4.05 % of base) : 397375.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+InstantiatedTypeKey,System.__Canon]:Expand(System.__Canon[]):this (Tier1)
          78 (2.27 % of base) : 396154.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+InstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+InstantiatedTypeKey,byref):ubyte:this (Tier1)
          75 (4.41 % of base) : 390491.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,System.__Canon]:Expand(System.__Canon[]):this (Tier1-OSR)
          75 (4.41 % of base) : 397374.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+MethodForInstantiatedTypeKey,System.__Canon]:Expand(System.__Canon[]):this (Tier1-OSR)
          74 (2.59 % of base) : 498748.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)
Top method improvements (bytes):
        -472 (-34.20 % of base) : 234248.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -135 (-23.00 % of base) : 230018.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -135 (-23.00 % of base) : 230031.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -131 (-32.51 % of base) : 288906.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -131 (-15.63 % of base) : 154445.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
        -127 (-15.41 % of base) : 174956.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
        -127 (-14.89 % of base) : 112035.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
        -112 (-0.86 % of base) : 383537.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
        -102 (-7.38 % of base) : 267966.dasm - JitTest_lcsval_lcs_cs.LCS:findLCS(JitTest_lcsval_lcs_cs.Data[,,,],ushort[][],int[]) (Tier1-OSR)
        -102 (-7.38 % of base) : 279457.dasm - JitTest_lcsval_lcs_cs.LCS:findLCS(JitTest_lcsval_lcs_cs.Data[,,,],ushort[][],int[]) (Tier1-OSR)
         -97 (-7.00 % of base) : 267972.dasm - JitTest_lcs_lcs_cs.LCS:findLCS(int[,,,],int[,,,],ushort[][],int[]) (Tier1-OSR)
         -97 (-7.00 % of base) : 279461.dasm - JitTest_lcs_lcs_cs.LCS:findLCS(int[,,,],int[,,,],ushort[][],int[]) (Tier1-OSR)
         -70 (-2.05 % of base) : 524557.dasm - classarr:gaussj(MatrixCls,int,MatrixCls,int) (FullOpts)
         -70 (-0.53 % of base) : 382800.dasm - ILCompiler.NativeAotNameMangler:ComputeMangledTypeName(Internal.TypeSystem.TypeDesc):System.String:this (Tier1-OSR)
         -69 (-3.24 % of base) : 269315.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)
         -59 (-7.63 % of base) : 225420.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -58 (-7.98 % of base) : 295008.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -57 (-2.68 % of base) : 390461.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,System.__Canon]:Expand(System.__Canon[]):this (Tier1)
         -55 (-4.48 % of base) : 267934.dasm - JitTest_lcsbas_lcs_cs.LCS:findLCS(int[,,,],int[,,,],ushort[][],int[]) (Tier1-OSR)
         -55 (-4.48 % of base) : 279438.dasm - JitTest_lcsbas_lcs_cs.LCS:findLCS(int[,,,],int[,,,],ushort[][],int[]) (Tier1-OSR)
Top method regressions (percentages):
          36 (327.27 % of base) : 542667.dasm - ILGEN_0x2dda4eb5:Method_0xa084659a():ushort (FullOpts)
          15 (136.36 % of base) : 211203.dasm - Program:Test[System.__Canon]():int (FullOpts)
          37 (108.82 % of base) : 390951.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          15 (100.00 % of base) : 395136.dasm - System.Threading.Tasks.Task`1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.TaskAwaiter`1[System.__Canon]:this (Instrumented Tier1)
          15 (93.75 % of base) : 592398.dasm - HelperILDllTests:CallGenMethodFromGenericType[System.__Canon]():System.String (FullOpts)
          15 (93.75 % of base) : 592392.dasm - HelperILDllTests:CallMethodFromGenericType[System.__Canon]():System.String (FullOpts)
          35 (92.11 % of base) : 498474.dasm - System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,int]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,int]]):this (FullOpts)
          35 (92.11 % of base) : 498806.dasm - System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
          22 (81.48 % of base) : 542476.dasm - ILGEN_0x4601be46:Method_0x9c86375f(ulong,ubyte):int (FullOpts)
          30 (78.95 % of base) : 498574.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedHashSet`1+Builder[System.__Canon]:ToImmutable():Microsoft.CodeAnalysis.Collections.ImmutableSegmentedHashSet`1[System.__Canon]:this (FullOpts)
          15 (68.18 % of base) : 521506.dasm - Caller`4[MyStruct`2[System.__Canon,System.__Canon],System.__Canon,System.__Canon,System.__Canon]:CallGenInstMethodU(System.__Canon):System.String:this (FullOpts)
          15 (68.18 % of base) : 521507.dasm - Caller`4[MyStruct`2[System.__Canon,System.__Canon],System.__Canon,System.__Canon,System.__Canon]:CallVirtMethodU(System.__Canon):System.String:this (FullOpts)
          15 (51.72 % of base) : 594335.dasm - Microsoft.Build.Collections.PropertyDictionary`1[System.__Canon]:Contains(System.String):ubyte:this (FullOpts)
          15 (51.72 % of base) : 394974.dasm - System.Collections.Generic.Dictionary`2+ValueCollection[int,System.__Canon]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (Instrumented Tier1)
          15 (48.39 % of base) : 498467.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:ToImmutable():System.Collections.Immutable.ImmutableArray`1[System.__Canon]:this (FullOpts)
          15 (48.39 % of base) : 224581.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:ToImmutable():System.Collections.Immutable.ImmutableArray`1[System.__Canon]:this (Tier1)
          33 (47.83 % of base) : 580485.dasm - System.Collections.Generic.SortedDictionary`2[ushort,System.__Canon]:TryGetValue(ushort,byref):ubyte:this (FullOpts)
          30 (43.48 % of base) : 580937.dasm - System.Collections.Generic.Stack`1[ILCompiler.LazyGenericsSupport+Graph`1+TarjanWorkerClass+StrongConnectStackElement[System.__Canon]]:Pop():ILCompiler.LazyGenericsSupport+Graph`1+TarjanWorkerClass+StrongConnectStackElement[System.__Canon]:this (FullOpts)
          30 (43.48 % of base) : 396565.dasm - System.Collections.Generic.Stack`1[ILCompiler.LazyGenericsSupport+Graph`1+TarjanWorkerClass+StrongConnectStackElement[System.__Canon]]:Pop():ILCompiler.LazyGenericsSupport+Graph`1+TarjanWorkerClass+StrongConnectStackElement[System.__Canon]:this (Tier1)
          30 (43.48 % of base) : 387185.dasm - System.Collections.Generic.Stack`1[ILCompiler.LazyGenericsSupport+Graph`1+TarjanWorkerClass+StrongConnectStackElement[System.__Canon]]:Pop():ILCompiler.LazyGenericsSupport+Graph`1+TarjanWorkerClass+StrongConnectStackElement[System.__Canon]:this (Tier1)
Top method improvements (percentages):
        -472 (-34.20 % of base) : 234248.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -131 (-32.51 % of base) : 288906.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -135 (-23.00 % of base) : 230018.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -135 (-23.00 % of base) : 230031.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -131 (-15.63 % of base) : 154445.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
        -127 (-15.41 % of base) : 174956.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
        -127 (-14.89 % of base) : 112035.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -58 (-7.98 % of base) : 295008.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 225420.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
        -102 (-7.38 % of base) : 267966.dasm - JitTest_lcsval_lcs_cs.LCS:findLCS(JitTest_lcsval_lcs_cs.Data[,,,],ushort[][],int[]) (Tier1-OSR)
        -102 (-7.38 % of base) : 279457.dasm - JitTest_lcsval_lcs_cs.LCS:findLCS(JitTest_lcsval_lcs_cs.Data[,,,],ushort[][],int[]) (Tier1-OSR)
         -97 (-7.00 % of base) : 267972.dasm - JitTest_lcs_lcs_cs.LCS:findLCS(int[,,,],int[,,,],ushort[][],int[]) (Tier1-OSR)
         -97 (-7.00 % of base) : 279461.dasm - JitTest_lcs_lcs_cs.LCS:findLCS(int[,,,],int[,,,],ushort[][],int[]) (Tier1-OSR)
         -43 (-6.54 % of base) : 34852.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -49 (-6.36 % of base) : 283833.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -44 (-6.04 % of base) : 30815.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -41 (-5.21 % of base) : 143394.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -11 (-5.14 % of base) : 232603.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
         -38 (-5.12 % of base) : 397342.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -32 (-4.98 % of base) : 66974.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
  
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: 38710332 (overridden on cmd)
Total bytes of diff: 38709837 (overridden on cmd)
Total bytes of delta: -495 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         138 : 8951.dasm (0.19 % of base)
         113 : 183048.dasm (10.87 % of base)
          83 : 96349.dasm (6.38 % of base)
          74 : 7069.dasm (2.70 % of base)
          74 : 164825.dasm (2.70 % of base)
          52 : 195299.dasm (2.48 % of base)
          35 : 31819.dasm (4.32 % of base)
          33 : 194621.dasm (1.44 % of base)
          28 : 138351.dasm (9.89 % of base)
          28 : 167702.dasm (9.89 % of base)
          27 : 109791.dasm (3.40 % of base)
          27 : 214971.dasm (0.63 % of base)
          24 : 123908.dasm (0.47 % of base)
          24 : 115358.dasm (1.43 % of base)
          21 : 214895.dasm (2.05 % of base)
          21 : 228188.dasm (4.10 % of base)
          20 : 134635.dasm (0.85 % of base)
          20 : 6575.dasm (5.29 % of base)
          18 : 177851.dasm (1.34 % of base)
          18 : 214989.dasm (0.47 % of base)
Top file improvements (bytes):
        -364 : 194163.dasm (-1.42 % of base)
        -101 : 38240.dasm (-5.33 % of base)
         -70 : 149057.dasm (-2.06 % of base)
         -58 : 164758.dasm (-2.71 % of base)
         -57 : 194860.dasm (-7.05 % of base)
         -50 : 206193.dasm (-1.18 % of base)
         -38 : 116444.dasm (-2.06 % of base)
         -37 : 197186.dasm (-1.75 % of base)
         -35 : 36237.dasm (-2.51 % of base)
         -27 : 195131.dasm (-0.75 % of base)
         -23 : 99031.dasm (-0.95 % of base)
         -22 : 18450.dasm (-0.24 % of base)
         -21 : 38306.dasm (-1.89 % of base)
         -20 : 140880.dasm (-2.11 % of base)
         -20 : 170072.dasm (-2.11 % of base)
         -20 : 62212.dasm (-3.08 % of base)
         -20 : 116562.dasm (-0.66 % of base)
         -17 : 165361.dasm (-0.99 % of base)
         -16 : 32960.dasm (-1.96 % of base)
         -15 : 128912.dasm (-1.08 % of base)
66 total files with Code Size differences (30 improved, 36 regressed), 20 unchanged.
Top method regressions (bytes):
         138 (0.19 % of base) : 8951.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (FullOpts)
         113 (10.87 % of base) : 183048.dasm - System.Net.Http.Headers.AltSvcHeaderParser:GetParsedValueLength(System.String,int,System.Object,byref):int:this (FullOpts)
          83 (6.38 % of base) : 96349.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:VerifyNameShadowingInMethodBody(Microsoft.CodeAnalysis.VisualBasic.Symbol,Microsoft.CodeAnalysis.SyntaxNodeOrToken,Microsoft.CodeAnalysis.SyntaxNodeOrToken,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):this (FullOpts)
          74 (2.70 % of base) : 7069.dasm - System.Data.Common.DbConnectionOptions:GetKeyValuePair(System.String,int,System.Text.StringBuilder,ubyte,byref,byref):int (FullOpts)
          74 (2.70 % of base) : 164825.dasm - System.Data.Common.DbConnectionOptions:GetKeyValuePair(System.String,int,System.Text.StringBuilder,ubyte,byref,byref):int (FullOpts)
          52 (2.48 % of base) : 195299.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:MoreSpecificProcedure(Microsoft.VisualBasic.CompilerServices.Symbols+Method,Microsoft.VisualBasic.CompilerServices.Symbols+Method,System.Object[],System.String[],int,byref,ubyte):Microsoft.VisualBasic.CompilerServices.Symbols+Method (FullOpts)
          35 (4.32 % of base) : 31819.dasm - System.Number:TryNumberToDecimal(byref,byref):ubyte (FullOpts)
          33 (1.44 % of base) : 194621.dasm - Microsoft.VisualBasic.CompilerServices.LikeOperator:MatchRange(System.String,int,byref,Microsoft.VisualBasic.CompilerServices.LikeOperator+LigatureInfo[],System.String,int,byref,Microsoft.VisualBasic.CompilerServices.LikeOperator+LigatureInfo[],byref,byref,byref,System.Globalization.CompareInfo,int,byref,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.LikeOperator+Range],ubyte) (FullOpts)
          28 (9.89 % of base) : 138351.dasm - Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
          28 (9.89 % of base) : 167702.dasm - Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
          27 (3.40 % of base) : 109791.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner:QuickScanToken(ubyte):Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner+QuickScanResult:this (FullOpts)
          27 (0.63 % of base) : 214971.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
          24 (0.47 % of base) : 123908.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (FullOpts)
          24 (1.43 % of base) : 115358.dasm - Microsoft.CodeAnalysis.VisualBasic.ExpressionLambdaRewriter:VisitObjectInitializer(Microsoft.CodeAnalysis.VisualBasic.BoundObjectInitializerExpression):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
          21 (4.10 % of base) : 228188.dasm - System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (FullOpts)
          21 (2.05 % of base) : 214895.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteElements(System.Object,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,ubyte,ubyte):this (FullOpts)
          20 (0.85 % of base) : 134635.dasm - Newtonsoft.Json.Utilities.ConvertUtils:DecimalTryParse(ushort[],int,int,byref):int (FullOpts)
          20 (5.29 % of base) : 6575.dasm - System.Data.DataKey:.ctor(System.Data.DataColumn[],ubyte):this (FullOpts)
          18 (1.34 % of base) : 177851.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[Microsoft.CodeAnalysis.CommonReferenceManager`2+AssemblyData[System.__Canon,System.__Canon]],int):ubyte:this (FullOpts)
          18 (0.47 % of base) : 214989.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:GenerateMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
Top method improvements (bytes):
        -364 (-1.42 % of base) : 194163.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        -101 (-5.33 % of base) : 38240.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
         -70 (-2.06 % of base) : 149057.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[Microsoft.CodeAnalysis.CommonReferenceManager`2+AssemblyData[System.__Canon,System.__Canon]],int):this (FullOpts)
         -58 (-2.71 % of base) : 164758.dasm - System.Data.Odbc.OdbcDataReader:RetrieveKeyInfoFromStatistics(System.Data.Odbc.OdbcDataReader+QualifiedTableName,ubyte):int:this (FullOpts)
         -57 (-7.05 % of base) : 194860.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:MethodsDifferOnlyByReturnType(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte:this (FullOpts)
         -50 (-1.18 % of base) : 206193.dasm - System.Xml.XmlTextReaderImpl+<ParseAttributeValueSlowAsync>d__532:MoveNext():this (FullOpts)
         -38 (-2.06 % of base) : 116444.dasm - Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyImmediateVarianceCompatibility(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,int,byref):int (FullOpts)
         -37 (-1.75 % of base) : 197186.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -35 (-2.51 % of base) : 36237.dasm - System.String:SplitWithPostProcessing(System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int],int,int,int):System.String[]:this (FullOpts)
         -27 (-0.75 % of base) : 195131.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -23 (-0.95 % of base) : 99031.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSignatureComparer:DetailedParameterCompare(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.ParameterSymbol],byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.ParameterSymbol],byref,int,int):int (FullOpts)
         -22 (-0.24 % of base) : 18450.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -21 (-1.89 % of base) : 38306.dasm - System.Diagnostics.Tracing.ManifestBuilder:TranslateToManifestConvention(System.String,System.String):System.String:this (FullOpts)
         -20 (-3.08 % of base) : 62212.dasm - Microsoft.CodeAnalysis.CSharp.AccessCheck:InheritsFromOrImplementsIgnoringConstruction(Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpCompilation,byref,Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):ubyte (FullOpts)
         -20 (-2.11 % of base) : 140880.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.11 % of base) : 170072.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 (-0.66 % of base) : 116562.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:ShadowBasedOnInferenceLevel(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],ubyte,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Binder,byref,byref,byref) (FullOpts)
         -17 (-0.99 % of base) : 165361.dasm - System.DirectoryServices.Protocols.LdapConnection:BuildAttributes(System.Collections.CollectionBase,System.Collections.ArrayList):System.DirectoryServices.Protocols.LdapMod[] (FullOpts)
         -16 (-1.96 % of base) : 32960.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
         -15 (-1.08 % of base) : 128912.dasm - System.ComponentModel.EnumConverter:ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type):System.Object:this (FullOpts)
Top method regressions (percentages):
         113 (10.87 % of base) : 183048.dasm - System.Net.Http.Headers.AltSvcHeaderParser:GetParsedValueLength(System.String,int,System.Object,byref):int:this (FullOpts)
          28 (9.89 % of base) : 138351.dasm - Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
          28 (9.89 % of base) : 167702.dasm - Microsoft.CodeAnalysis.BitVector:AllSet(int):Microsoft.CodeAnalysis.BitVector (FullOpts)
           6 (7.69 % of base) : 164474.dasm - System.Data.Odbc.OdbcCommand:ExecuteReaderObject(int,System.String,ubyte):System.Data.Odbc.OdbcDataReader:this (FullOpts)
          83 (6.38 % of base) : 96349.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:VerifyNameShadowingInMethodBody(Microsoft.CodeAnalysis.VisualBasic.Symbol,Microsoft.CodeAnalysis.SyntaxNodeOrToken,Microsoft.CodeAnalysis.SyntaxNodeOrToken,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):this (FullOpts)
          16 (6.32 % of base) : 183963.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          16 (5.95 % of base) : 160594.dasm - System.Text.InternalDecoderBestFitFallbackBuffer:TryBestFit(ubyte[]):ushort:this (FullOpts)
          10 (5.41 % of base) : 190145.dasm - System.Text.RegularExpressions.Symbolic.BitVector:Or(System.ReadOnlySpan`1[System.Text.RegularExpressions.Symbolic.BitVector]):System.Text.RegularExpressions.Symbolic.BitVector (FullOpts)
          20 (5.29 % of base) : 6575.dasm - System.Data.DataKey:.ctor(System.Data.DataColumn[],ubyte):this (FullOpts)
          35 (4.32 % of base) : 31819.dasm - System.Number:TryNumberToDecimal(byref,byref):ubyte (FullOpts)
          21 (4.10 % of base) : 228188.dasm - System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (FullOpts)
          10 (3.97 % of base) : 155702.dasm - System.Security.Cryptography.RSA:WritePkcs1PrivateKey():System.Formats.Asn1.AsnWriter:this (FullOpts)
           2 (3.57 % of base) : 67235.dasm - Microsoft.CodeAnalysis.CSharp.ReadWriteWalker:GetRangeVariableUnderlyingParameter(Microsoft.CodeAnalysis.CSharp.BoundNode):Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol (FullOpts)
          27 (3.40 % of base) : 109791.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner:QuickScanToken(ubyte):Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner+QuickScanResult:this (FullOpts)
          13 (3.39 % of base) : 188697.dasm - System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
          74 (2.70 % of base) : 7069.dasm - System.Data.Common.DbConnectionOptions:GetKeyValuePair(System.String,int,System.Text.StringBuilder,ubyte,byref,byref):int (FullOpts)
          74 (2.70 % of base) : 164825.dasm - System.Data.Common.DbConnectionOptions:GetKeyValuePair(System.String,int,System.Text.StringBuilder,ubyte,byref,byref):int (FullOpts)
           4 (2.67 % of base) : 193562.dasm - System.Numerics.BigInteger:System.Numerics.IBinaryInteger<System.Numerics.BigInteger>.GetShortestBitLength():int:this (FullOpts)
          52 (2.48 % of base) : 195299.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:MoreSpecificProcedure(Microsoft.VisualBasic.CompilerServices.Symbols+Method,Microsoft.VisualBasic.CompilerServices.Symbols+Method,System.Object[],System.String[],int,byref,ubyte):Microsoft.VisualBasic.CompilerServices.Symbols+Method (FullOpts)
           6 (2.38 % of base) : 84410.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):
         -57 (-7.05 % of base) : 194860.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:MethodsDifferOnlyByReturnType(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte:this (FullOpts)
        -101 (-5.33 % of base) : 38240.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
         -12 (-3.86 % of base) : 6746.dasm - System.Data.SqlTypes.SqlString:CompareBinary2(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):int (FullOpts)
          -4 (-3.31 % of base) : 38099.dasm - System.Globalization.TimeSpanParse:ParseExactDigits(byref,int,int,byref,byref):ubyte (FullOpts)
         -20 (-3.08 % of base) : 62212.dasm - Microsoft.CodeAnalysis.CSharp.AccessCheck:InheritsFromOrImplementsIgnoringConstruction(Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpCompilation,byref,Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):ubyte (FullOpts)
          -9 (-2.85 % of base) : 185506.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)
         -14 (-2.78 % of base) : 62796.dasm - Microsoft.CodeAnalysis.CSharp.MethodTypeInferrer:MakeExplicitParameterTypeInferences(Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.CSharp.BoundTupleLiteral,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,int,byref):ubyte:this (FullOpts)
         -58 (-2.71 % of base) : 164758.dasm - System.Data.Odbc.OdbcDataReader:RetrieveKeyInfoFromStatistics(System.Data.Odbc.OdbcDataReader+QualifiedTableName,ubyte):int:this (FullOpts)
         -35 (-2.51 % of base) : 36237.dasm - System.String:SplitWithPostProcessing(System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int],int,int,int):System.String[]:this (FullOpts)
          -7 (-2.30 % of base) : 31669.dasm - System.RuntimeType+RuntimeTypeCache:GetDefaultMemberName():System.String:this (FullOpts)
         -20 (-2.11 % of base) : 140880.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.11 % of base) : 170072.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)
          -6 (-2.08 % of base) : 162327.dasm - System.Net.Mail.WhitespaceReader:TryReadFwsReverse(System.String,int,byref,ubyte):ubyte (FullOpts)
         -70 (-2.06 % of base) : 149057.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[Microsoft.CodeAnalysis.CommonReferenceManager`2+AssemblyData[System.__Canon,System.__Canon]],int):this (FullOpts)
         -38 (-2.06 % of base) : 116444.dasm - Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyImmediateVarianceCompatibility(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,int,byref):int (FullOpts)
         -16 (-1.96 % of base) : 32960.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
          -8 (-1.91 % of base) : 38050.dasm - System.Globalization.CultureData:NormalizeCultureName(System.String,byref):System.String (FullOpts)
         -21 (-1.89 % of base) : 38306.dasm - System.Diagnostics.Tracing.ManifestBuilder:TranslateToManifestConvention(System.String,System.String):System.String:this (FullOpts)
          -8 (-1.84 % of base) : 62802.dasm - Microsoft.CodeAnalysis.CSharp.MethodTypeInferrer:MakeOutputTypeInferences(Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.CSharp.BoundTupleLiteral,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,byref):this (FullOpts)
          -4 (-1.79 % of base) : 102598.dasm - Microsoft.CodeAnalysis.VisualBasic.CodeGen.CodeGenerator:EmitMultidimensionalElementInitializers(Microsoft.CodeAnalysis.VisualBasic.Symbols.ArrayTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],ubyte):this (FullOpts)
  
libraries.pmi.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 58945732 (overridden on cmd)
Total bytes of diff: 58964791 (overridden on cmd)
Total bytes of delta: 19059 (0.03 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         218 : 208087.dasm (12.12 % of base)
         209 : 208088.dasm (15.00 % of base)
         156 : 217201.dasm (25.28 % of base)
         155 : 149777.dasm (7.11 % of base)
         155 : 202715.dasm (7.11 % of base)
         154 : 212395.dasm (11.39 % of base)
         129 : 126269.dasm (3.87 % of base)
         114 : 104569.dasm (0.47 % of base)
          91 : 180002.dasm (10.06 % of base)
          89 : 147668.dasm (8.16 % of base)
          89 : 200687.dasm (8.16 % of base)
          88 : 275953.dasm (21.95 % of base)
          86 : 289609.dasm (8.54 % of base)
          81 : 180173.dasm (7.17 % of base)
          81 : 217138.dasm (7.40 % of base)
          81 : 221402.dasm (4.10 % of base)
          75 : 35827.dasm (11.57 % of base)
          72 : 193022.dasm (2.00 % of base)
          71 : 218215.dasm (4.19 % of base)
          71 : 287442.dasm (7.86 % of base)
Top file improvements (bytes):
        -386 : 247452.dasm (-1.35 % of base)
         -90 : 140461.dasm (-2.99 % of base)
         -90 : 193856.dasm (-2.99 % of base)
         -44 : 169688.dasm (-0.53 % of base)
         -39 : 247466.dasm (-0.67 % of base)
         -39 : 71834.dasm (-0.32 % of base)
         -38 : 169549.dasm (-0.90 % of base)
         -30 : 244423.dasm (-1.54 % of base)
         -30 : 72017.dasm (-0.49 % of base)
         -29 : 127625.dasm (-0.49 % of base)
         -29 : 111823.dasm (-0.26 % of base)
         -25 : 128054.dasm (-0.68 % of base)
         -24 : 67347.dasm (-0.50 % of base)
         -21 : 236780.dasm (-0.70 % of base)
         -20 : 193861.dasm (-2.13 % of base)
         -20 : 140466.dasm (-2.13 % of base)
         -19 : 213555.dasm (-0.61 % of base)
         -19 : 249347.dasm (-0.19 % of base)
         -19 : 34227.dasm (-0.61 % of base)
         -18 : 139282.dasm (-0.94 % of base)
92 total files with Code Size differences (36 improved, 56 regressed), 20 unchanged.
Top method regressions (bytes):
         218 (12.12 % of base) : 208087.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.__Canon]:RetrievePostponedItemsNonGreedy(ubyte):this (FullOpts)
         209 (15.00 % of base) : 208088.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.__Canon]:RetrievePostponedItemsGreedyBounded(ubyte):this (FullOpts)
         156 (25.28 % of base) : 217201.dasm - System.Linq.Parallel.IntersectQueryOperator`1+OrderedIntersectQueryOperatorEnumerator`1[System.__Canon,System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts)
         155 (7.11 % of base) : 149777.dasm - Microsoft.CodeAnalysis.NodeStateTable`1+Builder[System.__Canon]:TryModifyEntries(System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon],System.TimeSpan,System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.IncrementalGeneratorRunStep,int]],int):ubyte:this (FullOpts)
         155 (7.11 % of base) : 202715.dasm - Microsoft.CodeAnalysis.NodeStateTable`1+Builder[System.__Canon]:TryModifyEntries(System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon],System.TimeSpan,System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.IncrementalGeneratorRunStep,int]],int):ubyte:this (FullOpts)
         154 (11.39 % of base) : 212395.dasm - System.Net.Http.Headers.AltSvcHeaderParser:GetParsedValueLength(System.String,int,System.Object,byref):int:this (FullOpts)
         129 (3.87 % of base) : 126269.dasm - Microsoft.CodeAnalysis.VisualBasic.ExpressionLambdaRewriter:VisitObjectInitializer(Microsoft.CodeAnalysis.VisualBasic.BoundObjectInitializerExpression):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
         114 (0.47 % of base) : 104569.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureForASingleCandidate(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.Location,int,byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.VisualBasic.Symbol):this (FullOpts)
          91 (10.06 % of base) : 180002.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.__Canon,System.Nullable`1[int]]:SetOrAdd(System.__Canon,System.Nullable`1[int],System.Collections.Generic.IComparer`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]],ubyte,byref,byref):System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
          89 (8.16 % of base) : 147668.dasm - Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]:AddIfNotPresent(System.__Canon,byref):ubyte:this (FullOpts)
          89 (8.16 % of base) : 200687.dasm - Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]:AddIfNotPresent(System.__Canon,byref):ubyte:this (FullOpts)
          88 (21.95 % of base) : 275953.dasm - System.Collections.Generic.PriorityQueue`2[System.__Canon,System.Nullable`1[int]]:DequeueEnqueue(System.__Canon,System.Nullable`1[int]):System.__Canon:this (FullOpts)
          86 (8.54 % of base) : 289609.dasm - System.Threading.Channels.UnboundedChannel`1+UnboundedChannelReader[System.__Canon]:ReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.__Canon]:this (FullOpts)
          81 (7.17 % of base) : 180173.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:this (FullOpts)
          81 (4.10 % of base) : 221402.dasm - System.Linq.Enumerable+<TakeRangeFromEndIterator>d__290`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          81 (7.40 % of base) : 217138.dasm - System.Linq.Parallel.ExceptQueryOperator`1+OrderedExceptQueryOperatorEnumerator`1[System.__Canon,System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts)
          75 (11.57 % of base) : 35827.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:SetValue(System.String,System.__Canon,byref):System.__Canon:this (FullOpts)
          72 (2.00 % of base) : 193022.dasm - Microsoft.CodeAnalysis.SourceOutputNode`1[System.__Canon]:UpdateStateTable(Microsoft.CodeAnalysis.DriverStateTable+Builder,Microsoft.CodeAnalysis.NodeStateTable`1[System.ValueTuple`2[System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.GeneratedSourceText],System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.Diagnostic]]],System.Threading.CancellationToken):Microsoft.CodeAnalysis.NodeStateTable`1[System.ValueTuple`2[System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.GeneratedSourceText],System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.Diagnostic]]]:this (FullOpts)
          71 (7.86 % of base) : 287442.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)
          71 (4.19 % of base) : 218215.dasm - System.Linq.Parallel.TakeOrSkipWhileQueryOperator`1+TakeOrSkipWhileQueryOperatorEnumerator`1[System.__Canon,System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts)
Top method improvements (bytes):
        -386 (-1.35 % of base) : 247452.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -90 (-2.99 % of base) : 140461.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) : 193856.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) : 169688.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
         -39 (-0.32 % of base) : 71834.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
         -39 (-0.67 % of base) : 247466.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -38 (-0.90 % of base) : 169549.dasm - System.Xml.Serialization.XmlSerializationReader:ReadArray(System.String,System.String):System.Array:this (FullOpts)
         -30 (-1.54 % of base) : 244423.dasm - Microsoft.Build.Shared.FileMatcher:GetLongPathName(System.String,Microsoft.Build.Shared.FileMatcher+GetFileSystemEntries):System.String (FullOpts)
         -30 (-0.49 % of base) : 72017.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.49 % of base) : 127625.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)
         -29 (-0.26 % of base) : 111823.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)
         -25 (-0.68 % of base) : 128054.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) : 67347.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) : 236780.dasm - System.Text.ISO2022Encoding:GetBytesCP5022xJP(ulong,int,ulong,int,System.Text.ISO2022Encoding+ISO2022Encoder):int:this (FullOpts)
         -20 (-2.13 % of base) : 193861.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) : 140466.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.19 % of base) : 249347.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
         -19 (-0.61 % of base) : 213555.dasm - System.Data.Common.DbConnectionOptions:GetKeyValuePair(System.String,int,System.Text.StringBuilder,ubyte,byref,byref):int (FullOpts)
         -19 (-0.61 % of base) : 34227.dasm - System.Data.Common.DbConnectionOptions:GetKeyValuePair(System.String,int,System.Text.StringBuilder,ubyte,byref,byref):int (FullOpts)
         -18 (-0.94 % of base) : 139282.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
Top method regressions (percentages):
          34 (161.90 % of base) : 244598.dasm - Microsoft.Build.Shared.FrameworkLocationHelper:GeneratePathToBuildToolsForToolsVersion(System.String,int):System.String (FullOpts)
          33 (122.22 % of base) : 172384.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.CopyTo(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Nullable`1[int]][],int):this (FullOpts)
          33 (122.22 % of base) : 203964.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.CopyTo(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Nullable`1[int]][],int):this (FullOpts)
          33 (122.22 % of base) : 151024.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.CopyTo(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Nullable`1[int]][],int):this (FullOpts)
          15 (107.14 % of base) : 201778.dasm - Roslyn.Utilities.ImmutableSetWithInsertionOrder`1+<>c[System.__Canon]:<get_InInsertionOrder>b__10_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,uint]):uint:this (FullOpts)
          15 (107.14 % of base) : 148836.dasm - Roslyn.Utilities.ImmutableSetWithInsertionOrder`1+<>c[System.__Canon]:<get_InInsertionOrder>b__10_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,uint]):uint:this (FullOpts)
          16 (106.67 % of base) : 9816.dasm - Microsoft.FSharp.Collections.ArrayModule+Parallel+Reduce@2143[System.__Canon]:Invoke(System.__Canon):System.__Canon:this (FullOpts)
          16 (106.67 % of base) : 2876.dasm - Microsoft.FSharp.Core.ExtraTopLevelOperators+dictRefType@200[System.__Canon]:Invoke(System.__Canon):Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]:this (FullOpts)
          16 (106.67 % of base) : 2887.dasm - Microsoft.FSharp.Core.ExtraTopLevelOperators+dictRefType@200-1[System.__Canon]:Invoke(Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]):System.__Canon:this (FullOpts)
          30 (103.45 % of base) : 276336.dasm - System.Collections.Generic.SortedList`2[System.__Canon,System.Nullable`1[int]]:Clear():this (FullOpts)
          15 (100.00 % of base) : 172358.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:get_Keys():Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder+KeyCollection[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
          15 (100.00 % of base) : 203938.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:get_Keys():Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder+KeyCollection[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
          15 (100.00 % of base) : 172359.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:get_Values():Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder+ValueCollection[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
          15 (100.00 % of base) : 203939.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:get_Values():Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder+ValueCollection[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
          15 (100.00 % of base) : 150999.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:get_Values():Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder+ValueCollection[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
          15 (100.00 % of base) : 171862.dasm - Microsoft.CodeAnalysis.Collections.SegmentedList`1[System.__Canon]:get_Capacity():int:this (FullOpts)
          15 (100.00 % of base) : 200785.dasm - Microsoft.CodeAnalysis.Collections.SegmentedList`1[System.__Canon]:get_Capacity():int:this (FullOpts)
          15 (100.00 % of base) : 147766.dasm - Microsoft.CodeAnalysis.Collections.SegmentedList`1[System.__Canon]:get_Capacity():int:this (FullOpts)
          15 (100.00 % of base) : 137264.dasm - Microsoft.CodeAnalysis.SmallDictionary`2[System.__Canon,System.Nullable`1[int]]:get_Keys():Microsoft.CodeAnalysis.SmallDictionary`2+KeyCollection[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
          15 (100.00 % of base) : 190848.dasm - Microsoft.CodeAnalysis.SmallDictionary`2[System.__Canon,System.Nullable`1[int]]:get_Keys():Microsoft.CodeAnalysis.SmallDictionary`2+KeyCollection[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
Top method improvements (percentages):
         -17 (-5.20 % of base) : 267875.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
          -5 (-4.50 % of base) : 282619.dasm - System.Runtime.Serialization.ObjectHolderListEnumerator:MoveNext():ubyte:this (FullOpts)
          -5 (-3.88 % of base) : 73545.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) : 33240.dasm - System.Data.SqlTypes.SqlString:CompareBinary2(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):int (FullOpts)
         -90 (-2.99 % of base) : 140461.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) : 193856.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) : 70484.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
         -16 (-2.81 % of base) : 247311.dasm - Microsoft.VisualBasic.CompilerServices.VB6File:PutFixedLengthString(long,System.String,int):this (FullOpts)
         -16 (-2.75 % of base) : 267876.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTarget(byref,System.String):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target:this (FullOpts)
         -11 (-2.71 % of base) : 253232.dasm - System.Security.Cryptography.CryptoConfig:AddOID(System.String,System.String[]) (FullOpts)
         -14 (-2.67 % of base) : 67543.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) : 141012.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
          -2 (-2.53 % of base) : 194393.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
         -15 (-2.46 % of base) : 12401.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) : 181306.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) : 94745.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) : 253229.dasm - System.Security.Cryptography.CryptoConfig:AddAlgorithm(System.Type,System.String[]) (FullOpts)
          -5 (-2.16 % of base) : 106183.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) : 193861.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) : 140466.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: 340323621 (overridden on cmd)
Total bytes of diff: 340354973 (overridden on cmd)
Total bytes of delta: 31352 (0.01 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         546 : 60766.dasm (3.22 % of base)
         535 : 93902.dasm (2.86 % of base)
         522 : 21993.dasm (4.99 % of base)
         444 : 185811.dasm (10.99 % of base)
         438 : 731419.dasm (2.72 % of base)
         403 : 74242.dasm (3.81 % of base)
         401 : 78629.dasm (3.85 % of base)
         391 : 52732.dasm (2.48 % of base)
         390 : 420186.dasm (2.79 % of base)
         372 : 79016.dasm (5.43 % of base)
         370 : 86339.dasm (2.34 % of base)
         329 : 296945.dasm (5.30 % of base)
         287 : 39520.dasm (2.74 % of base)
         246 : 84410.dasm (3.63 % of base)
         227 : 182942.dasm (2.00 % of base)
         223 : 3345.dasm (1.71 % of base)
         212 : 700203.dasm (2.90 % of base)
         195 : 733361.dasm (3.02 % of base)
         188 : 55427.dasm (0.93 % of base)
         170 : 116860.dasm (1.56 % of base)
Top file improvements (bytes):
        -792 : 200648.dasm (-11.78 % of base)
        -597 : 230568.dasm (-4.51 % of base)
        -535 : 606885.dasm (-3.60 % of base)
        -535 : 567825.dasm (-3.60 % of base)
        -535 : 366058.dasm (-3.60 % of base)
        -535 : 758985.dasm (-3.60 % of base)
        -511 : 313157.dasm (-3.48 % of base)
        -511 : 328833.dasm (-3.48 % of base)
        -511 : 329437.dasm (-3.48 % of base)
        -511 : 517617.dasm (-3.48 % of base)
        -511 : 109925.dasm (-3.48 % of base)
        -511 : 311634.dasm (-3.48 % of base)
        -511 : 350706.dasm (-3.48 % of base)
        -511 : 180234.dasm (-3.48 % of base)
        -511 : 207574.dasm (-3.48 % of base)
        -511 : 281542.dasm (-3.48 % of base)
        -511 : 316425.dasm (-3.48 % of base)
        -511 : 318858.dasm (-3.48 % of base)
        -511 : 400538.dasm (-3.48 % of base)
        -511 : 403902.dasm (-3.48 % of base)
91 total files with Code Size differences (50 improved, 41 regressed), 20 unchanged.
Top method regressions (bytes):
         546 (3.22 % of base) : 60766.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)
         535 (2.86 % of base) : 93902.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)
         522 (4.99 % of base) : 21993.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)
         444 (10.99 % of base) : 185811.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)
         438 (2.72 % of base) : 731419.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)
         403 (3.81 % of base) : 74242.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)
         401 (3.85 % of base) : 78629.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)
         391 (2.48 % of base) : 52732.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier1)
         390 (2.79 % of base) : 420186.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         372 (5.43 % of base) : 79016.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)
         370 (2.34 % of base) : 86339.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier1)
         329 (5.30 % of base) : 296945.dasm - Microsoft.CSharp.RuntimeBinder.SymbolTable:AddNamesInInheritanceHierarchy(System.String,System.Collections.Generic.List`1[System.Type]) (Tier1)
         287 (2.74 % of base) : 39520.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)
         246 (3.63 % of base) : 84410.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)
         227 (2.00 % of base) : 182942.dasm - Microsoft.CodeAnalysis.CSharp.DeclarationTreeBuilder:VisitTypeDeclaration(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax,ubyte):Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration:this (Tier1)
         223 (1.71 % of base) : 3345.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         212 (2.90 % of base) : 700203.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)
         195 (3.02 % of base) : 733361.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)
         188 (0.93 % of base) : 55427.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)
         170 (1.56 % of base) : 116860.dasm - Microsoft.CodeAnalysis.CSharp.DeclarationTreeBuilder:VisitTypeDeclaration(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax,ubyte):Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration:this (Tier1)
Top method improvements (bytes):
        -792 (-11.78 % of base) : 200648.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)
        -597 (-4.51 % of base) : 230568.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) : 606885.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) : 567825.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) : 366058.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) : 758985.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) : 313157.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) : 328833.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) : 329437.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) : 517617.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) : 109925.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) : 311634.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) : 350706.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) : 180234.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) : 207574.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) : 281542.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) : 316425.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) : 318858.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) : 400538.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) : 403902.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):
          34 (178.95 % of base) : 584630.dasm - System.Security.Cryptography.IncrementalHash:CheckSha3Support(System.String) (Tier1)
          37 (108.82 % of base) : 128892.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          37 (108.82 % of base) : 219136.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          37 (108.82 % of base) : 289444.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          37 (108.82 % of base) : 321432.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          37 (108.82 % of base) : 585027.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          37 (108.82 % of base) : 214004.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          37 (108.82 % of base) : 285320.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          37 (108.82 % of base) : 347612.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          37 (108.82 % of base) : 105836.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          37 (108.82 % of base) : 266040.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          37 (108.82 % of base) : 532927.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          37 (108.82 % of base) : 579895.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          37 (108.82 % of base) : 608644.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          37 (108.82 % of base) : 744391.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          37 (108.82 % of base) : 509803.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          37 (108.82 % of base) : 520943.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          37 (108.82 % of base) : 611083.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          37 (108.82 % of base) : 655855.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          37 (108.82 % of base) : 690484.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
Top method improvements (percentages):
        -792 (-11.78 % of base) : 200648.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)
         -66 (-8.63 % of base) : 76307.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -66 (-8.62 % of base) : 209070.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -66 (-8.62 % of base) : 458597.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -13 (-8.18 % of base) : 382538.dasm - System.Runtime.CompilerServices.CastHelpers:ChkCast_Helper(ulong,System.Object):System.Object (Tier1)
        -186 (-8.03 % of base) : 710133.dasm - System.Collections.Generic.ArraySortHelper`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]:InsertionSort(System.Span`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet],System.Comparison`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]) (Tier1)
         -59 (-7.63 % of base) : 412990.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 413274.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 419137.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 419464.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 419518.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 413456.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 413550.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 419203.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -59 (-7.63 % of base) : 419325.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -17 (-7.36 % of base) : 236283.dasm - System.IO.BinaryWriter:Write7BitEncodedInt(int):this (Tier1)
         -23 (-7.30 % of base) : 692356.dasm - Microsoft.CodeAnalysis.AttributeData:IsTargetEarlyAttribute(Microsoft.CodeAnalysis.Symbols.INamedTypeSymbolInternal,int,Microsoft.CodeAnalysis.AttributeDescription):ubyte (Tier1)
         -25 (-7.00 % of base) : 88967.dasm - Microsoft.CodeAnalysis.AttributeData:IsTargetEarlyAttribute(Microsoft.CodeAnalysis.Symbols.INamedTypeSymbolInternal,int,Microsoft.CodeAnalysis.AttributeDescription):ubyte (Tier1)
         -20 (-6.49 % of base) : 411505.dasm - System.IO.Stream:ReadAtLeastCore(System.Span`1[ubyte],int,ubyte):int:this (Tier1)
         -25 (-5.94 % of base) : 666255.dasm - System.Text.Json.Serialization.Converters.ArrayConverter`2[System.__Canon,int]:OnWriteResume(System.Text.Json.Utf8JsonWriter,int[],System.Text.Json.JsonSerializerOptions,byref):ubyte:this (Tier1)
  
librariestestsnotieredcompilation.run.linux.x64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 131037400 (overridden on cmd)
Total bytes of diff: 131056741 (overridden on cmd)
Total bytes of delta: 19341 (0.01 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         301 : 5034.dasm (3.97 % of base)
         301 : 43148.dasm (3.93 % of base)
         301 : 48707.dasm (3.93 % of base)
         120 : 77610.dasm (3.12 % of base)
         119 : 5306.dasm (8.85 % of base)
         112 : 5372.dasm (2.40 % of base)
         111 : 78028.dasm (27.75 % of base)
         108 : 232303.dasm (3.75 % of base)
         100 : 148199.dasm (7.97 % of base)
          90 : 77546.dasm (5.60 % of base)
          90 : 77599.dasm (5.37 % of base)
          89 : 5111.dasm (8.16 % of base)
          87 : 43350.dasm (6.36 % of base)
          87 : 48948.dasm (6.36 % of base)
          86 : 153422.dasm (8.54 % of base)
          85 : 52691.dasm (3.99 % of base)
          81 : 141708.dasm (4.10 % of base)
          81 : 71755.dasm (7.08 % of base)
          75 : 236714.dasm (11.57 % of base)
          75 : 75430.dasm (28.85 % of base)
Top file improvements (bytes):
        -408 : 59308.dasm (-1.43 % of base)
        -148 : 14370.dasm (-2.59 % of base)
        -113 : 44450.dasm (-1.77 % of base)
         -91 : 144573.dasm (-4.73 % of base)
         -81 : 284088.dasm (-5.28 % of base)
         -80 : 48949.dasm (-2.79 % of base)
         -80 : 43351.dasm (-2.79 % of base)
         -70 : 51925.dasm (-1.67 % of base)
         -67 : 272998.dasm (-3.69 % of base)
         -54 : 6761.dasm (-1.07 % of base)
         -41 : 272999.dasm (-3.75 % of base)
         -39 : 59307.dasm (-0.66 % of base)
         -38 : 273146.dasm (-1.42 % of base)
         -38 : 61523.dasm (-0.92 % of base)
         -37 : 46522.dasm (-4.07 % of base)
         -37 : 61888.dasm (-0.45 % of base)
         -36 : 284100.dasm (-0.98 % of base)
         -36 : 260199.dasm (-1.64 % of base)
         -36 : 92773.dasm (-0.75 % of base)
         -32 : 291309.dasm (-1.92 % of base)
85 total files with Code Size differences (33 improved, 52 regressed), 20 unchanged.
Top method regressions (bytes):
         301 (3.97 % of base) : 5034.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)
         301 (3.93 % of base) : 43148.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)
         301 (3.93 % of base) : 48707.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)
         120 (3.12 % of base) : 77610.dasm - System.Collections.Tests.LinkedList_Generic_Tests`1[System.__Canon]:AddBefore_LLNode_LLNode():this (FullOpts)
         119 (8.85 % of base) : 5306.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:Bind(System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.PEModule],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]],Microsoft.CodeAnalysis.MetadataReferenceResolver,ubyte,ubyte,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag,byref,byref):Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][]:this (FullOpts)
         112 (2.40 % of base) : 5372.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)
         111 (27.75 % of base) : 78028.dasm - System.Collections.Generic.PriorityQueue`2[System.__Canon,System.__Canon]:DequeueEnqueue(System.__Canon,System.__Canon):System.__Canon:this (FullOpts)
         108 (3.75 % of base) : 232303.dasm - System.Text.Json.Serialization.JsonDictionaryConverter`3[System.__Canon,ushort,System.Text.Json.SourceGeneration.Tests.JsonSerializerContextTests+TestPoco]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (FullOpts)
         100 (7.97 % of base) : 148199.dasm - System.Net.Http.Headers.AltSvcHeaderParser:GetParsedValueLength(System.String,int,System.Object,byref):int:this (FullOpts)
          90 (5.37 % of base) : 77599.dasm - System.Collections.Tests.LinkedList_Generic_Tests`1[System.__Canon]:AddFirst_LinkedListNode():this (FullOpts)
          90 (5.60 % of base) : 77546.dasm - System.Collections.Tests.LinkedList_Generic_Tests`1[System.__Canon]:AddLast_LinkedListNode():this (FullOpts)
          89 (8.16 % of base) : 5111.dasm - Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]:AddIfNotPresent(System.__Canon,byref):ubyte:this (FullOpts)
          87 (6.36 % of base) : 43350.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)
          87 (6.36 % of base) : 48948.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)
          86 (8.54 % of base) : 153422.dasm - System.Threading.Channels.UnboundedChannel`1+UnboundedChannelReader[System.__Canon]:ReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.__Canon]:this (FullOpts)
          85 (3.99 % of base) : 52691.dasm - Microsoft.CodeAnalysis.Emit.PEModuleBuilder`9+<GetTopLevelTypeDefinitions>d__23[System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          81 (7.08 % of base) : 71755.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:this (FullOpts)
          81 (4.10 % of base) : 141708.dasm - System.Linq.Enumerable+<TakeRangeFromEndIterator>d__290`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          75 (28.85 % of base) : 75430.dasm - System.Collections.Generic.PriorityQueue`2[System.__Canon,int]:DequeueEnqueue(System.__Canon,int):System.__Canon:this (FullOpts)
          75 (11.57 % of base) : 236714.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:SetValue(System.String,System.__Canon,byref):System.__Canon:this (FullOpts)
Top method improvements (bytes):
        -408 (-1.43 % of base) : 59308.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        -148 (-2.59 % of base) : 14370.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)
        -113 (-1.77 % of base) : 44450.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) : 144573.dasm - System.Buffers.Tests.ArrayBufferWriterTests_String:WriteData(System.Buffers.IBufferWriter`1[System.String],int):this (FullOpts)
         -81 (-5.28 % of base) : 284088.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex30475_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -80 (-2.79 % of base) : 48949.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)
         -80 (-2.79 % of base) : 43351.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)
         -70 (-1.67 % of base) : 51925.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) : 272998.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1026_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -54 (-1.07 % of base) : 6761.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) : 272999.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1028_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -39 (-0.66 % of base) : 59307.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -38 (-1.42 % of base) : 273146.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1316_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -38 (-0.92 % of base) : 61523.dasm - System.Xml.Serialization.XmlSerializationReader:ReadArray(System.String,System.String):System.Array:this (FullOpts)
         -37 (-4.07 % of base) : 46522.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:CanBePassedByReference(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
         -37 (-0.45 % of base) : 61888.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
         -36 (-0.75 % of base) : 92773.dasm - System.Data.XmlDataTreeWriter:XmlDataRowWriter(System.Data.DataRow,System.String):this (FullOpts)
         -36 (-1.64 % of base) : 260199.dasm - System.Text.Json.Serialization.Tests.StreamTests+<DeepNestedJsonFileTest>d__68:MoveNext():this (FullOpts)
         -36 (-0.98 % of base) : 284100.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex30476_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -32 (-1.92 % of base) : 291309.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex31995_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
Top method regressions (percentages):
          15 (107.14 % of base) : 9318.dasm - Roslyn.Utilities.ImmutableSetWithInsertionOrder`1+<>c[System.__Canon]:<get_InInsertionOrder>b__10_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,uint]):uint:this (FullOpts)
          15 (107.14 % of base) : 68252.dasm - System.Collections.Frozen.Tests.FrozenFromKnownValuesTests+<>c__7`2[int,System.__Canon]:<FrozenSetWorker>b__7_0(System.Collections.Generic.KeyValuePair`2[int,System.__Canon]):int:this (FullOpts)
          15 (107.14 % of base) : 68411.dasm - System.Collections.Frozen.Tests.FrozenFromKnownValuesTests+<>c__7`2[uint,System.__Canon]:<FrozenSetWorker>b__7_0(System.Collections.Generic.KeyValuePair`2[uint,System.__Canon]):uint:this (FullOpts)
          15 (107.14 % of base) : 69760.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node+<>c[System.__Canon,int]:<get_Values>b__32_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,int]):int:this (FullOpts)
          15 (100.00 % of base) : 35667.dasm - Grace.Data.Immutable.ImmutableHashTree`2+<>c[System.__Canon,System.__Canon]:<get_Values>b__22_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):System.__Canon:this (FullOpts)
          15 (100.00 % of base) : 9319.dasm - Roslyn.Utilities.ImmutableSetWithInsertionOrder`1+<>c[System.__Canon]:<get_InInsertionOrder>b__10_1(System.Collections.Generic.KeyValuePair`2[System.__Canon,uint]):System.__Canon:this (FullOpts)
          15 (100.00 % of base) : 68778.dasm - System.Collections.Frozen.Tests.FrozenDictionary_Generic_Tests`2+<>c[System.__Canon,System.__Canon]:<LookupItems_AllItemsFoundAsExpected>b__33_1(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):System.__Canon:this (FullOpts)
          15 (100.00 % of base) : 68748.dasm - System.Collections.Frozen.Tests.FrozenDictionary_Generic_Tests`2+<>c[System.__Canon,System.__Canon]:<MultipleValuesSameKey_LastInSourceWins>b__35_2(System.__Canon,System.__Canon):System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]:this (FullOpts)
          15 (100.00 % of base) : 68696.dasm - System.Collections.Frozen.Tests.FrozenDictionary_Generic_Tests`2+<>c[System.__Canon,System.__Canon]:<ToFrozenDictionary_KeySelector_ResultsAreUsed>b__30_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):System.__Canon:this (FullOpts)
          15 (100.00 % of base) : 68447.dasm - System.Collections.Frozen.Tests.FrozenFromKnownValuesTests+<>c__7`2[long,System.__Canon]:<FrozenSetWorker>b__7_0(System.Collections.Generic.KeyValuePair`2[long,System.__Canon]):long:this (FullOpts)
          15 (100.00 % of base) : 68511.dasm - System.Collections.Frozen.Tests.FrozenFromKnownValuesTests+<>c__7`2[System.TimeSpan,System.__Canon]:<FrozenSetWorker>b__7_0(System.Collections.Generic.KeyValuePair`2[System.TimeSpan,System.__Canon]):System.TimeSpan:this (FullOpts)
          15 (100.00 % of base) : 68347.dasm - System.Collections.Frozen.Tests.FrozenFromKnownValuesTests+<>c__7`2[ubyte,System.__Canon]:<FrozenSetWorker>b__7_0(System.Collections.Generic.KeyValuePair`2[ubyte,System.__Canon]):ubyte:this (FullOpts)
          15 (100.00 % of base) : 68467.dasm - System.Collections.Frozen.Tests.FrozenFromKnownValuesTests+<>c__7`2[ulong,System.__Canon]:<FrozenSetWorker>b__7_0(System.Collections.Generic.KeyValuePair`2[ulong,System.__Canon]):ulong:this (FullOpts)
          15 (100.00 % of base) : 68374.dasm - System.Collections.Frozen.Tests.FrozenFromKnownValuesTests+<>c__7`2[ushort,System.__Canon]:<FrozenSetWorker>b__7_0(System.Collections.Generic.KeyValuePair`2[ushort,System.__Canon]):ushort:this (FullOpts)
          34 (100.00 % of base) : 2268.dasm - System.Collections.Generic.List`1[System.ValueTuple`2[int,System.__Canon]]:Clear():this (FullOpts)
          15 (100.00 % of base) : 69824.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node+<>c[System.__Canon,int]:<get_Keys>b__30_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,int]):System.__Canon:this (FullOpts)
          15 (100.00 % of base) : 29917.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node+<>c[System.__Canon,System.__Canon]:<get_Values>b__32_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):System.__Canon:this (FullOpts)
          15 (100.00 % of base) : 75829.dasm - System.Collections.Tests.Dictionary_Generic_Tests`2+<>c[System.__Canon,System.__Canon]:<IReadOnlyDictionary_Generic_Values_ContainsAllCorrectValues>b__26_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):System.__Canon:this (FullOpts)
          15 (100.00 % of base) : 66809.dasm - System.Collections.Tests.IDictionary_Generic_Tests`2+<>c[System.__Canon,System.__Canon]:<IDictionary_Generic_Keys_ContainsAllCorrectKeys>b__33_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):System.__Canon:this (FullOpts)
          15 (100.00 % of base) : 66624.dasm - System.Collections.Tests.IDictionary_Generic_Tests`2+<>c[System.__Canon,System.__Canon]:<IDictionary_Generic_Values_ContainsAllCorrectValues>b__38_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):System.__Canon:this (FullOpts)
Top method improvements (percentages):
         -81 (-5.28 % of base) : 284088.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex30475_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -17 (-5.20 % of base) : 37747.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
         -91 (-4.73 % of base) : 144573.dasm - System.Buffers.Tests.ArrayBufferWriterTests_String:WriteData(System.Buffers.IBufferWriter`1[System.String],int):this (FullOpts)
          -5 (-4.50 % of base) : 39954.dasm - System.Runtime.Serialization.ObjectHolderListEnumerator:MoveNext():ubyte:this (FullOpts)
         -37 (-4.07 % of base) : 46522.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:CanBePassedByReference(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
         -12 (-3.87 % of base) : 95113.dasm - System.Data.SqlTypes.SqlString:CompareBinary2(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):int (FullOpts)
         -41 (-3.75 % of base) : 272999.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1028_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -67 (-3.69 % of base) : 272998.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1026_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -2 (-2.82 % of base) : 50446.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
          -2 (-2.82 % of base) : 12295.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
         -80 (-2.79 % of base) : 48949.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)
         -80 (-2.79 % of base) : 43351.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)
         -16 (-2.75 % of base) : 37748.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTarget(byref,System.String):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target:this (FullOpts)
         -19 (-2.65 % of base) : 275069.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3589_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
        -148 (-2.59 % of base) : 14370.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) : 68249.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) : 268023.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) : 43698.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol:LookupNestedNamespace(System.Collections.Immutable.ImmutableArray`1[System.String]):Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol:this (FullOpts)
          -5 (-2.16 % of base) : 49564.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol:LookupNestedNamespace(System.Collections.Immutable.ImmutableArray`1[System.String]):Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol:this (FullOpts)
         -20 (-2.13 % of base) : 8722.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)
  
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: 12773829 (overridden on cmd)
Total bytes of diff: 12778268 (overridden on cmd)
Total bytes of delta: 4439 (0.03 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         332 : 18104.dasm (4.51 % of base)
         120 : 32519.dasm (7.11 % of base)
          89 : 18213.dasm (8.16 % of base)
          87 : 18528.dasm (6.36 % of base)
          74 : 18529.dasm (2.59 % of base)
          71 : 15289.dasm (8.08 % of base)
          55 : 31533.dasm (9.55 % of base)
          53 : 10474.dasm (13.77 % of base)
          51 : 28431.dasm (2.50 % of base)
          50 : 26470.dasm (4.71 % of base)
          45 : 3056.dasm (14.02 % of base)
          44 : 12878.dasm (0.99 % of base)
          42 : 32516.dasm (13.95 % of base)
          41 : 18467.dasm (9.07 % of base)
          41 : 31159.dasm (1.61 % of base)
          40 : 7420.dasm (4.92 % of base)
          38 : 23221.dasm (13.19 % of base)
          38 : 12981.dasm (9.50 % of base)
          37 : 15852.dasm (4.16 % of base)
          37 : 31532.dasm (22.98 % of base)
Top file improvements (bytes):
         -92 : 13279.dasm (-1.23 % of base)
         -55 : 11946.dasm (-2.65 % of base)
         -46 : 32851.dasm (-2.84 % of base)
         -39 : 25096.dasm (-0.33 % of base)
         -30 : 19595.dasm (-0.51 % of base)
         -28 : 12578.dasm (-0.58 % of base)
         -28 : 55.dasm (-3.59 % of base)
         -27 : 5051.dasm (-0.93 % of base)
         -20 : 25822.dasm (-2.13 % of base)
         -18 : 167.dasm (-1.61 % of base)
         -15 : 31598.dasm (-0.16 % of base)
         -14 : 25783.dasm (-2.67 % of base)
         -14 : 15902.dasm (-0.75 % of base)
         -13 : 19431.dasm (-0.26 % of base)
         -11 : 6065.dasm (-0.18 % of base)
         -11 : 31745.dasm (-0.34 % of base)
         -11 : 18575.dasm (-0.52 % of base)
         -10 : 31852.dasm (-0.46 % of base)
         -10 : 3200.dasm (-0.15 % of base)
          -9 : 27959.dasm (-2.31 % of base)
82 total files with Code Size differences (32 improved, 50 regressed), 20 unchanged.
Top method regressions (bytes):
         332 (4.51 % of base) : 18104.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
         120 (7.11 % of base) : 32519.dasm - Microsoft.ApplicationInsights.Metrics.ConcurrentDatastructures.MultidimensionalCube2`1[System.__Canon]:TryCreatePoint(System.String[],System.String):Microsoft.ApplicationInsights.Metrics.ConcurrentDatastructures.MultidimensionalPointResult`1[System.__Canon]:this (FullOpts)
          89 (8.16 % of base) : 18213.dasm - Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]:AddIfNotPresent(System.__Canon,byref):ubyte:this (FullOpts)
          87 (6.36 % of base) : 18528.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)
          74 (2.59 % of base) : 18529.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)
          71 (8.08 % of base) : 15289.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)
          55 (9.55 % of base) : 31533.dasm - System.Management.Automation.Interpreter.HybridReferenceDictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this (FullOpts)
          53 (13.77 % of base) : 10474.dasm - System.Collections.Generic.Dictionary`2[System.__Canon,FSharp.Compiler.Text.Range]:CopyTo(System.Collections.Generic.KeyValuePair`2[System.__Canon,FSharp.Compiler.Text.Range][],int):this (FullOpts)
          51 (2.50 % of base) : 28431.dasm - Microsoft.CodeAnalysis.Emit.PEModuleBuilder`9+<GetTopLevelTypeDefinitions>d__23[System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          50 (4.71 % of base) : 26470.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitBinaryOperator(Microsoft.CodeAnalysis.CSharp.BoundBinaryOperator,Microsoft.CodeAnalysis.CSharp.BoundUnaryOperator):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          45 (14.02 % of base) : 3056.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,System.__Canon]:TryGetValue(int,byref):ubyte:this (FullOpts)
          44 (0.99 % of base) : 12878.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)
          42 (13.95 % of base) : 32516.dasm - Microsoft.ApplicationInsights.Metrics.ConcurrentDatastructures.MultidimensionalCube2`1[System.__Canon]:TryGetOrCreatePoint(System.String[]):Microsoft.ApplicationInsights.Metrics.ConcurrentDatastructures.MultidimensionalPointResult`1[System.__Canon]:this (FullOpts)
          41 (9.07 % of base) : 18467.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2+AssemblyDataForAssemblyBeingBuilt[System.__Canon,System.__Canon]:BindAssemblyReferences(System.Collections.Immutable.ImmutableArray`1[System.__Canon],Microsoft.CodeAnalysis.AssemblyIdentityComparer):Microsoft.CodeAnalysis.CommonReferenceManager`2+AssemblyReferenceBinding[System.__Canon,System.__Canon][]:this (FullOpts)
          41 (1.61 % of base) : 31159.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) : 7420.dasm - System.Number:TryNumberToDecimal(byref,byref):ubyte (FullOpts)
          38 (13.19 % of base) : 23221.dasm - Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState,System.__Canon]:VisitArgumentsBeforeCall(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[ubyte]):this (FullOpts)
          38 (9.50 % of base) : 12981.dasm - System.Collections.Concurrent.ConcurrentBag`1[System.__Canon]:TrySteal(byref,ubyte):ubyte:this (FullOpts)
          37 (4.16 % of base) : 15852.dasm - System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]:SetOrAdd(int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]],ubyte,byref,byref):System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]:this (FullOpts)
          37 (22.98 % of base) : 31532.dasm - System.Management.Automation.Interpreter.HybridReferenceDictionary`2[System.__Canon,System.__Canon]:TryGetValue(System.__Canon,byref):ubyte:this (FullOpts)
Top method improvements (bytes):
         -92 (-1.23 % of base) : 13279.dasm - Microsoft.ML.Trainers.SdcaMulticlassTrainerBase`1[System.__Canon]:TrainWithoutLock(Microsoft.ML.Runtime.IProgressChannelProvider,Microsoft.ML.Trainers.FloatLabelCursor+Factory,System.Random,Microsoft.ML.Trainers.SdcaTrainerBase`3+IdToIdxLookup[System.__Canon,System.__Canon,System.__Canon],int,Microsoft.ML.Trainers.SdcaTrainerBase`3+DualsTableBase[System.__Canon,System.__Canon,System.__Canon],float[],float[],float,Microsoft.ML.Data.VBuffer`1[float][],float[],Microsoft.ML.Data.VBuffer`1[float][],float[],float[]):this (FullOpts)
         -55 (-2.65 % of base) : 11946.dasm - SixLabors.ImageSharp.Compression.Zlib.DeflaterEngine:FindLongestMatch(int):ubyte:this (FullOpts)
         -46 (-2.84 % of base) : 32851.dasm - System.String:SplitWithPostProcessing(System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int],int,int,int):System.String[]:this (FullOpts)
         -39 (-0.33 % of base) : 25096.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
         -30 (-0.51 % of base) : 19595.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) : 12578.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) : 5051.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) : 25822.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) : 31598.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -14 (-2.67 % of base) : 25783.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) : 15902.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
         -13 (-0.26 % of base) : 19431.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) : 6065.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) : 18575.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) : 31745.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) : 3200.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) : 31852.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)
          -9 (-0.56 % of base) : 20594.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MemberSignatureComparer:HaveSameParameterTypes(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.CSharp.Symbols.TypeMap,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.CSharp.Symbols.TypeMap,ubyte,int):ubyte (FullOpts)
Top method regressions (percentages):
          15 (107.14 % of base) : 18131.dasm - Roslyn.Utilities.ImmutableSetWithInsertionOrder`1+<>c[System.__Canon]:<get_InInsertionOrder>b__10_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,uint]):uint:this (FullOpts)
          16 (106.67 % of base) : 4697.dasm - Microsoft.FSharp.Collections.ListModule+groupByRefType@560-4[System.__Canon]:Invoke(Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]):System.__Canon:this (FullOpts)
          16 (106.67 % of base) : 3430.dasm - Microsoft.FSharp.Core.ExtraTopLevelOperators+dictRefType@200[System.__Canon]:Invoke(System.__Canon):Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]:this (FullOpts)
          15 (100.00 % of base) : 18133.dasm - Roslyn.Utilities.ImmutableSetWithInsertionOrder`1+<>c[System.__Canon]:<get_InInsertionOrder>b__10_1(System.Collections.Generic.KeyValuePair`2[System.__Canon,uint]):System.__Canon:this (FullOpts)
          34 (100.00 % of base) : 11804.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (FullOpts)
          15 (100.00 % of base) : 14387.dasm - System.Threading.Tasks.Task`1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.TaskAwaiter`1[System.__Canon]:this (FullOpts)
          35 (92.11 % of base) : 15914.dasm - System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,int]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,int]]):this (FullOpts)
          35 (92.11 % of base) : 15864.dasm - System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
          30 (78.95 % of base) : 18235.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedHashSet`1+Builder[System.__Canon]:ToImmutable():Microsoft.CodeAnalysis.Collections.ImmutableSegmentedHashSet`1[System.__Canon]:this (FullOpts)
          15 (75.00 % of base) : 16011.dasm - Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.__Canon]:GetEnumerator():Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1+Enumerator[System.__Canon]:this (FullOpts)
          21 (60.00 % of base) : 32277.dasm - System.Collections.Generic.SortedDictionary`2[int,System.__Canon]:Remove(int):ubyte:this (FullOpts)
          30 (55.56 % of base) : 15932.dasm - System.Collections.Generic.Stack`1[System.Collections.Immutable.RefAsValueType`1[System.__Canon]]:Pop():System.Collections.Immutable.RefAsValueType`1[System.__Canon]:this (FullOpts)
          15 (48.39 % of base) : 16036.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:ToImmutable():System.Collections.Immutable.ImmutableArray`1[System.__Canon]:this (FullOpts)
          16 (43.24 % of base) : 6861.dasm - Internal.Utilities.Library.MapAutoOpens+Map-2-AddMany@1137[System.__Canon,System.__Canon]:Invoke(Microsoft.FSharp.Collections.FSharpMap`2[System.__Canon,System.__Canon],System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):Microsoft.FSharp.Collections.FSharpMap`2[System.__Canon,System.__Canon]:this (FullOpts)
          17 (42.50 % of base) : 26329.dasm - System.Collections.Immutable.ImmutableDictionary`2[int,System.__Canon]:TryGetValue(int,byref):ubyte:this (FullOpts)
          15 (41.67 % of base) : 27582.dasm - Microsoft.CodeAnalysis.Collections.OrderedSet`1[System.__Canon]:System.Collections.Generic.IEnumerable<T>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this (FullOpts)
          31 (41.33 % of base) : 20660.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:ContainsKey(System.__Canon):ubyte:this (FullOpts)
          16 (41.03 % of base) : 6869.dasm - <StartupCode$FSharp-Compiler-Service>.$Illib+AddMany@1150[System.__Canon,System.__Canon]:Invoke(Internal.Utilities.Library.LayeredMultiMap`2[System.__Canon,System.__Canon],System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):Internal.Utilities.Library.LayeredMultiMap`2[System.__Canon,System.__Canon]:this (FullOpts)
          16 (41.03 % of base) : 4694.dasm - Microsoft.FSharp.Collections.ListModule+groupByRefType@560-3[System.__Canon,System.__Canon]:Invoke(System.__Canon):Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]:this (FullOpts)
          15 (40.54 % of base) : 7181.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:AddRange(System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (FullOpts)
Top method improvements (percentages):
          -5 (-3.88 % of base) : 27470.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) : 32851.dasm - System.String:SplitWithPostProcessing(System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int],int,int,int):System.String[]:this (FullOpts)
         -14 (-2.67 % of base) : 25783.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) : 11946.dasm - SixLabors.ImageSharp.Compression.Zlib.DeflaterEngine:FindLongestMatch(int):ubyte:this (FullOpts)
          -9 (-2.31 % of base) : 27959.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) : 25822.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) : 25902.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) : 13543.dasm - Microsoft.ML.Data.PredictedLabelScorerBase:GetGetters(Microsoft.ML.DataViewRow,System.Func`2[int,ubyte]):System.Delegate[]:this (FullOpts)
          -4 (-1.63 % of base) : 21022.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)
         -92 (-1.23 % of base) : 13279.dasm - Microsoft.ML.Trainers.SdcaMulticlassTrainerBase`1[System.__Canon]:TrainWithoutLock(Microsoft.ML.Runtime.IProgressChannelProvider,Microsoft.ML.Trainers.FloatLabelCursor+Factory,System.Random,Microsoft.ML.Trainers.SdcaTrainerBase`3+IdToIdxLookup[System.__Canon,System.__Canon,System.__Canon],int,Microsoft.ML.Trainers.SdcaTrainerBase`3+DualsTableBase[System.__Canon,System.__Canon,System.__Canon],float[],float[],float,Microsoft.ML.Data.VBuffer`1[float][],float[],Microsoft.ML.Data.VBuffer`1[float][],float[],float[]):this (FullOpts)
          -4 (-1.21 % of base) : 6201.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) : 28187.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) : 6203.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) : 10998.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.01 % of base) : 5693.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)
         -27 (-0.93 % of base) : 5051.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) : 24364.dasm - Microsoft.CodeAnalysis.CSharp.MethodTypeInferrer:ExplicitParameterTypeInference(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,byref):this (FullOpts)
          -5 (-0.88 % of base) : 15655.dasm - Microsoft.ML.Trainers.KMeansUtils:FindBestCluster(byref,Microsoft.ML.Data.VBuffer`1[float][],float[],int,ubyte,byref,byref,byref,byref) (FullOpts)
  
smoke_tests.nativeaot.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 4193336 (overridden on cmd)
Total bytes of diff: 4192930 (overridden on cmd)
Total bytes of delta: -406 (-0.01 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          54 : 17490.dasm (2.19 % of base)
          54 : 24531.dasm (2.18 % of base)
          26 : 582.dasm (1.90 % of base)
          26 : 21364.dasm (1.90 % of base)
          26 : 25181.dasm (1.90 % of base)
          26 : 6898.dasm (1.62 % of base)
          22 : 5273.dasm (9.65 % of base)
          22 : 1881.dasm (9.65 % of base)
          22 : 22669.dasm (9.65 % of base)
          22 : 26484.dasm (9.65 % of base)
          18 : 3364.dasm (1.14 % of base)
          17 : 1262.dasm (2.92 % of base)
          17 : 22054.dasm (2.92 % of base)
          17 : 25869.dasm (2.92 % of base)
          17 : 4301.dasm (2.92 % of base)
          15 : 14815.dasm (2.29 % of base)
          11 : 1391.dasm (3.04 % of base)
          11 : 22171.dasm (3.04 % of base)
          11 : 25995.dasm (3.04 % of base)
          11 : 4618.dasm (3.04 % of base)
Top file improvements (bytes):
         -49 : 5663.dasm (-6.45 % of base)
         -35 : 8700.dasm (-2.53 % of base)
         -33 : 21145.dasm (-2.47 % of base)
         -33 : 24972.dasm (-2.47 % of base)
         -33 : 3171.dasm (-2.47 % of base)
         -33 : 362.dasm (-2.47 % of base)
         -26 : 14832.dasm (-0.31 % of base)
         -25 : 3301.dasm (-0.74 % of base)
         -24 : 5044.dasm (-2.50 % of base)
         -24 : 1701.dasm (-2.47 % of base)
         -24 : 21780.dasm (-3.13 % of base)
         -24 : 22499.dasm (-2.47 % of base)
         -24 : 25594.dasm (-3.13 % of base)
         -24 : 26301.dasm (-2.47 % of base)
         -24 : 980.dasm (-3.13 % of base)
         -18 : 487.dasm (-1.59 % of base)
         -18 : 21265.dasm (-1.59 % of base)
         -18 : 25089.dasm (-1.59 % of base)
         -16 : 3972.dasm (-2.09 % of base)
         -15 : 1389.dasm (-0.38 % of base)
57 total files with Code Size differences (30 improved, 27 regressed), 20 unchanged.
Top method regressions (bytes):
          54 (2.19 % of base) : 17490.dasm - Internal.Reflection.Extensions.NonPortable.CustomAttributeInstantiator:Instantiate(System.Reflection.CustomAttributeData):System.Attribute (FullOpts)
          54 (2.18 % of base) : 24531.dasm - Internal.Reflection.Extensions.NonPortable.CustomAttributeInstantiator:Instantiate(System.Reflection.CustomAttributeData):System.Attribute (FullOpts)
          26 (1.90 % of base) : 582.dasm - System.Text.UTF32Encoding:GetChars(ulong,int,ulong,int,System.Text.DecoderNLS):int:this (FullOpts)
          26 (1.90 % of base) : 21364.dasm - System.Text.UTF32Encoding:GetChars(ulong,int,ulong,int,System.Text.DecoderNLS):int:this (FullOpts)
          26 (1.90 % of base) : 25181.dasm - System.Text.UTF32Encoding:GetChars(ulong,int,ulong,int,System.Text.DecoderNLS):int:this (FullOpts)
          26 (1.62 % of base) : 6898.dasm - System.UriHelper:UnescapeString(ulong,int,int,byref,ushort,ushort,ushort,int,System.UriParser,ubyte) (FullOpts)
          22 (9.65 % of base) : 5273.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
          22 (9.65 % of base) : 1881.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
          22 (9.65 % of base) : 22669.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
          22 (9.65 % of base) : 26484.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
          18 (1.14 % of base) : 3364.dasm - System.Text.UTF32Encoding:GetChars(ulong,int,ulong,int,System.Text.DecoderNLS):int:this (FullOpts)
          17 (2.92 % of base) : 1262.dasm - System.Runtime.CompilerServices.ClassConstructorRunner+Cctor:GetCctor(ulong):System.Runtime.CompilerServices.ClassConstructorRunner+CctorHandle (FullOpts)
          17 (2.92 % of base) : 22054.dasm - System.Runtime.CompilerServices.ClassConstructorRunner+Cctor:GetCctor(ulong):System.Runtime.CompilerServices.ClassConstructorRunner+CctorHandle (FullOpts)
          17 (2.92 % of base) : 25869.dasm - System.Runtime.CompilerServices.ClassConstructorRunner+Cctor:GetCctor(ulong):System.Runtime.CompilerServices.ClassConstructorRunner+CctorHandle (FullOpts)
          17 (2.92 % of base) : 4301.dasm - System.Runtime.CompilerServices.ClassConstructorRunner+Cctor:GetCctor(ulong):System.Runtime.CompilerServices.ClassConstructorRunner+CctorHandle (FullOpts)
          15 (2.29 % of base) : 14815.dasm - System.Number:TryParseBinaryIntegerHexOrBinaryNumberStyle[ushort,ulong,System.Number+BinaryParser`1[ulong]](System.ReadOnlySpan`1[ushort],int,byref):int (FullOpts)
          11 (3.04 % of base) : 1391.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
          11 (3.04 % of base) : 22171.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
          11 (3.04 % of base) : 25995.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
          11 (3.04 % of base) : 4618.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
Top method improvements (bytes):
         -49 (-6.45 % of base) : 5663.dasm - System.Threading.PortableThreadPool+WorkerThread:WorkerThreadStart() (FullOpts)
         -35 (-2.53 % of base) : 8700.dasm - System.String:SplitWithPostProcessing(System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int],int,int,int):System.String[]:this (FullOpts)
         -33 (-2.47 % of base) : 21145.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,short](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (FullOpts)
         -33 (-2.47 % of base) : 24972.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,short](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (FullOpts)
         -33 (-2.47 % of base) : 3171.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,short](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (FullOpts)
         -33 (-2.47 % of base) : 362.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,short](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (FullOpts)
         -26 (-0.31 % of base) : 14832.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -25 (-0.74 % of base) : 3301.dasm - System.Text.UnicodeEncoding:GetChars(ulong,int,ulong,int,System.Text.DecoderNLS):int:this (FullOpts)
         -24 (-2.50 % of base) : 5044.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
         -24 (-2.47 % of base) : 1701.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
         -24 (-2.47 % of base) : 22499.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
         -24 (-2.47 % of base) : 26301.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
         -24 (-3.13 % of base) : 21780.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
         -24 (-3.13 % of base) : 25594.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
         -24 (-3.13 % of base) : 980.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
         -18 (-1.59 % of base) : 487.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
         -18 (-1.59 % of base) : 21265.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
         -18 (-1.59 % of base) : 25089.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
         -16 (-2.09 % of base) : 3972.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
         -15 (-0.38 % of base) : 1389.dasm - System.Threading.Lock:TryEnterSlow(int,System.Threading.Lock+ThreadId):System.Threading.Lock+ThreadId:this (FullOpts)
Top method regressions (percentages):
          22 (9.65 % of base) : 5273.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
          22 (9.65 % of base) : 1881.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
          22 (9.65 % of base) : 22669.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
          22 (9.65 % of base) : 26484.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
          11 (3.04 % of base) : 1391.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
          11 (3.04 % of base) : 22171.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
          11 (3.04 % of base) : 25995.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
          11 (3.04 % of base) : 4618.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
           3 (3.00 % of base) : 16125.dasm - Internal.TypeSystem.TypeSystemContext:FlushTypeBuilderStates():this (FullOpts)
          17 (2.92 % of base) : 1262.dasm - System.Runtime.CompilerServices.ClassConstructorRunner+Cctor:GetCctor(ulong):System.Runtime.CompilerServices.ClassConstructorRunner+CctorHandle (FullOpts)
          17 (2.92 % of base) : 22054.dasm - System.Runtime.CompilerServices.ClassConstructorRunner+Cctor:GetCctor(ulong):System.Runtime.CompilerServices.ClassConstructorRunner+CctorHandle (FullOpts)
          17 (2.92 % of base) : 25869.dasm - System.Runtime.CompilerServices.ClassConstructorRunner+Cctor:GetCctor(ulong):System.Runtime.CompilerServices.ClassConstructorRunner+CctorHandle (FullOpts)
          17 (2.92 % of base) : 4301.dasm - System.Runtime.CompilerServices.ClassConstructorRunner+Cctor:GetCctor(ulong):System.Runtime.CompilerServices.ClassConstructorRunner+CctorHandle (FullOpts)
           3 (2.40 % of base) : 15610.dasm - Internal.Runtime.TypeLoader.TypeBuilder:ProcessTypesNeedingPreparation():this (FullOpts)
          15 (2.29 % of base) : 14815.dasm - System.Number:TryParseBinaryIntegerHexOrBinaryNumberStyle[ushort,ulong,System.Number+BinaryParser`1[ulong]](System.ReadOnlySpan`1[ushort],int,byref):int (FullOpts)
          54 (2.19 % of base) : 17490.dasm - Internal.Reflection.Extensions.NonPortable.CustomAttributeInstantiator:Instantiate(System.Reflection.CustomAttributeData):System.Attribute (FullOpts)
          54 (2.18 % of base) : 24531.dasm - Internal.Reflection.Extensions.NonPortable.CustomAttributeInstantiator:Instantiate(System.Reflection.CustomAttributeData):System.Attribute (FullOpts)
           3 (2.08 % of base) : 20772.dasm - Internal.Reflection.Execution.ExecutionEnvironmentImplementation:GetManifestResourceNames(System.Reflection.Assembly):System.String[]:this (FullOpts)
          26 (1.90 % of base) : 582.dasm - System.Text.UTF32Encoding:GetChars(ulong,int,ulong,int,System.Text.DecoderNLS):int:this (FullOpts)
          26 (1.90 % of base) : 21364.dasm - System.Text.UTF32Encoding:GetChars(ulong,int,ulong,int,System.Text.DecoderNLS):int:this (FullOpts)
Top method improvements (percentages):
         -49 (-6.45 % of base) : 5663.dasm - System.Threading.PortableThreadPool+WorkerThread:WorkerThreadStart() (FullOpts)
          -4 (-3.31 % of base) : 7312.dasm - System.Globalization.TimeSpanParse:ParseExactDigits(byref,int,int,byref,byref):ubyte (FullOpts)
         -24 (-3.13 % of base) : 21780.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
         -24 (-3.13 % of base) : 25594.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
         -24 (-3.13 % of base) : 980.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
         -35 (-2.53 % of base) : 8700.dasm - System.String:SplitWithPostProcessing(System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int],int,int,int):System.String[]:this (FullOpts)
         -24 (-2.50 % of base) : 5044.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
         -33 (-2.47 % of base) : 21145.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,short](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (FullOpts)
         -33 (-2.47 % of base) : 24972.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,short](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (FullOpts)
         -33 (-2.47 % of base) : 3171.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,short](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (FullOpts)
         -33 (-2.47 % of base) : 362.dasm - System.Number:TryParseBinaryIntegerStyle[ushort,short](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (FullOpts)
         -24 (-2.47 % of base) : 1701.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
         -24 (-2.47 % of base) : 22499.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
         -24 (-2.47 % of base) : 26301.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
         -16 (-2.09 % of base) : 3972.dasm - System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong (FullOpts)
          -8 (-1.94 % of base) : 5341.dasm - System.Globalization.CultureData:NormalizeCultureName(System.String,byref):System.String (FullOpts)
          -8 (-1.94 % of base) : 1927.dasm - System.Globalization.CultureData:NormalizeCultureName(System.String,byref):System.String (FullOpts)
          -8 (-1.94 % of base) : 22728.dasm - System.Globalization.CultureData:NormalizeCultureName(System.String,byref):System.String (FullOpts)
          -8 (-1.94 % of base) : 26535.dasm - System.Globalization.CultureData:NormalizeCultureName(System.String,byref):System.String (FullOpts)
          -8 (-1.94 % of base) : 24308.dasm - System.Globalization.CultureData:NormalizeCultureName(System.String,byref):System.String (FullOpts)
  
  
osx arm64
Diffs are based on 2,229,935 contexts (927,360 MinOpts, 1,302,575 FullOpts).
MISSED contexts: 6,082 (0.27%)
Overall (-3,444 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run_pgo.osx.arm64.checked.mch | 34,381,132 | +836 | 
| benchmarks.run_tiered.osx.arm64.checked.mch | 15,560,996 | -612 | 
| coreclr_tests.run.osx.arm64.checked.mch | 483,504,168 | +60 | 
| libraries.crossgen2.osx.arm64.checked.mch | 55,672,992 | -236 | 
| libraries.pmi.osx.arm64.checked.mch | 78,467,696 | +256 | 
| libraries_tests.run.osx.arm64.Release.mch | 311,685,436 | -3,840 | 
| librariestestsnotieredcompilation.run.osx.arm64.Release.mch | 161,180,744 | +36 | 
| realworld.run.osx.arm64.checked.mch | 14,668,164 | +56 | 
  
FullOpts (-3,444 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run_pgo.osx.arm64.checked.mch | 17,936,932 | +836 | 
| benchmarks.run_tiered.osx.arm64.checked.mch | 4,048,448 | -612 | 
| coreclr_tests.run.osx.arm64.checked.mch | 152,037,760 | +60 | 
| libraries.crossgen2.osx.arm64.checked.mch | 55,671,364 | -236 | 
| libraries.pmi.osx.arm64.checked.mch | 78,346,568 | +256 | 
| libraries_tests.run.osx.arm64.Release.mch | 109,946,536 | -3,840 | 
| librariestestsnotieredcompilation.run.osx.arm64.Release.mch | 148,043,212 | +36 | 
| realworld.run.osx.arm64.checked.mch | 14,099,756 | +56 | 
  
Example diffs
benchmarks.run_pgo.osx.arm64.checked.mch
-16 (-7.02%) : 21685.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.02, 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.52, 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%) : 21683.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.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)
  
-12 (-5.17%) : 68317.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.03)   byref  ->   x3         single-def "Inline stloc first use temp"
 ;  V08 tmp4         [V08,T00] (  3,  6.03)    long  ->   x4         "Inlining Arg"
 ;  V09 tmp5         [V09,T07] (  4,  4.04)     int  ->   x5         "Inline stloc first use temp"
@@ -23,17 +23,16 @@
 ;  V11 tmp7         [V11,T04] (  5,  5.03)   byref  ->   x7         "Inline stloc first use temp"
 ;  V12 tmp8         [V12,T06] (  5,  4.05)     int  ->   x8         "Inline stloc first use temp"
 ;  V13 tmp9         [V13,T11] (  2,  2.03)    long  ->   x9         "Inline stloc first use temp"
-;  V14 tmp10        [V14,T10] (  3,  2.99)    long  ->  x19         "Inline stloc first use temp"
+;  V14 tmp10        [V14,T10] (  3,  2.99)    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.01, gcrefRegs=0004 {x2}, byrefRegs=0009 {x0 x
                        ;; size=36 bbWeight=1.01 PerfScore 11.66
 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.97
 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.40
 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.02, 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.02, gcVars=0000000000000000 {}, gcrefRegs=000
 G_M34926_IG09:        ; bbWeight=1.01, 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.01 PerfScore 6.08
@@ -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.04
 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.01
 
-; Total bytes of code 232, prolog size 12, PerfScore 64.19, 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.18, 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
 
  
+20 (+9.43%) : 71932.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.40)     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.16)     int  ->   x7         "Inline stloc first use temp"
+;  V18 tmp15        [V18,T12] (  3, 200.16)     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.79)   byref  ->   x6         "CSE - aggressive"
-;  V24 cse1         [V24,T08] (  3, 299.79)   byref  ->   x5         "CSE - aggressive"
+;  V23 cse0         [V23,T07] (  3, 299.79)   byref  ->  x22         "CSE - aggressive"
+;  V24 cse1         [V24,T08] (  3, 299.79)   byref  ->  x21         "CSE - aggressive"
 ;  V25 cse2         [V25,T09] (  3, 299.79)   byref  ->   x3         hoist "CSE - aggressive"
-;  V26 cse3         [V26,T10] (  3, 299.43)     int  ->   x7         "CSE - aggressive"
+;  V26 cse3         [V26,T10] (  3, 299.43)     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]
-            ldar    w7, [x6]
-            sub     w7, w7, w4
-            cbnz    w7, G_M39530_IG06
+            add     x21, x2, x5
+            ; byrRegs +[x21]
+            add     x22, x21, #8
+            ; byrRegs +[x22]
+            ldar    w5, [x22]
+            sub     w5, w5, w4
+            cbnz    w5, G_M39530_IG06
                       ;; size=52 bbWeight=99.99 PerfScore 1799.82
-G_M39530_IG05:        ; bbWeight=99.81, 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.81, 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.81 PerfScore 848.39
+            b       G_M39530_IG09
+                       ;; size=24 bbWeight=99.81 PerfScore 648.77
 G_M39530_IG06:        ; bbWeight=0.18, 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.18 PerfScore 0.18
 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.81, 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.81 PerfScore 299.43
+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.10, 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 7047.94, 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
 
  
+48 (+11.43%) : 64349.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)
  
+20 (+12.82%) : 59178.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Canon]:Enqueue(System.Canon):this (Tier1)
@@ -9,116 +9,128 @@
 ; 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]>
+;  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.34)     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]>
 ;  V05 tmp3         [V05,T05] (  3,  3.34)     ref  ->   x3         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T01] (  6,  7.02)     int  ->  x14         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T04] (  3,  3.51)     int  ->  x15         "Inline stloc first use temp"
+;  V06 tmp4         [V06,T01] (  6,  7.02)     int  ->   x5         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T04] (  3,  3.51)     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.34)     int  ->   x6         "Inline stloc first use temp"
-;  V10 cse0         [V10,T06] (  3,  3.34)   byref  ->   x5         "CSE - aggressive"
-;  V11 cse1         [V11,T07] (  3,  3.34)   byref  ->  x12         "CSE - aggressive"
+;  V10 cse0         [V10,T06] (  3,  3.34)   byref  ->  x19         "CSE - aggressive"
+;  V11 cse1         [V11,T07] (  3,  3.34)   byref  ->  x14         "CSE - aggressive"
 ;  V12 cse2         [V12,T08] (  3,  3.34)   byref  ->   x4         hoist "CSE - aggressive"
-;  V13 cse3         [V13,T09] (  3,  3.34)     int  ->   x6         "CSE - aggressive"
+;  V13 cse3         [V13,T09] (  3,  3.34)     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.17, 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.17 PerfScore 21.06
-G_M15407_IG04:        ; bbWeight=1.17, 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.17, 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.17 PerfScore 6.43
-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]
+            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_IG09
+                       ;; size=4 bbWeight=1 PerfScore 1.00
+G_M15407_IG08:        ; bbWeight=1.00, 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.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]
-            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]
+            ; byrRegs -[x14]
+            stlr    w20, [x19]
+            b       G_M15407_IG11
+                       ;; size=16 bbWeight=1.00 PerfScore 3.50
+G_M15407_IG09:        ; bbWeight=1.00, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, 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_IG10:        ; 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_IG11:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x0-x1]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
+            ret     lr
+                       ;; size=12 bbWeight=1.00 PerfScore 3.00
+G_M15407_IG12:        ; 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 156, prolog size 8, PerfScore 47.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 176, prolog size 12, PerfScore 53.00, instruction count 44, allocated bytes for code 176 (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   : 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)
@@ -129,7 +141,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
 
  
  
benchmarks.run_tiered.osx.arm64.checked.mch
-24 (-1.10%) : 44438.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%) : 28530.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%) : 42587.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
@@ -69,7 +69,7 @@
 ;  V58 cse0         [V58,T16] (  3, 12   )    long  ->   x8         "CSE - aggressive"
 ;  V59 cse1         [V59,T09] (  2, 16   )     int  ->   x3         "CSE - aggressive"
 ;  V60 cse2         [V60,T17] (  3, 12   )    long  ->   x1         "CSE - aggressive"
-;  V61 cse3         [V61,T19] (  3, 10   )    long  ->   x3         "CSE - aggressive"
+;  V61 cse3         [V61,T19] (  3, 10   )    long  ->   x0         "CSE - aggressive"
 ;  V62 rat0         [V62,T30] (  3, 96   )  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 168
@@ -289,23 +289,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]
@@ -476,7 +475,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:
@@ -487,7 +486,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 (+1.08%) : 40315.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)
  
+4 (+1.43%) : 26198.dasm - System.Security.Cryptography.X509Certificates.CertificatePolicyChain:MatchesApplicationPolicies(System.Security.Cryptography.OidCollection):ubyte:this (Tier1)
@@ -14,10 +14,10 @@
 ;* V03 loc1         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Security.Cryptography.Oid>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V05 tmp1         [V05,T06] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.OidEnumerator>
-;  V06 tmp2         [V06,T02] (  5, 16   )     int  ->  x20         "Inlining Arg"
+;  V06 tmp2         [V06,T02] (  6, 16   )     int  ->  x20         "Inlining Arg"
 ;  V07 tmp3         [V07,T03] (  3, 12   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Security.Cryptography.OidCollection>
 ;* V08 tmp4         [V08    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
-;  V09 tmp5         [V09,T07] (  3,  8   )     int  ->  x22         "Inlining Arg"
+;  V09 tmp5         [V09,T07] (  4,  8   )     int  ->  x22         "Inlining Arg"
 ;* V10 tmp6         [V10,T12] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V11 tmp7         [V11,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V12 tmp8         [V12    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
@@ -125,6 +125,7 @@ G_M10593_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             bl      CORINFO_HELP_RNGCHKFAIL
                        ;; size=4 bbWeight=0 PerfScore 0.00
 G_M10593_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            cmp     w20, w22
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -143,9 +144,9 @@ G_M10593_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             blr     x3
             ; gcrRegs -[x2]
             brk_unix #0
-                      ;; size=56 bbWeight=0 PerfScore 0.00
+                      ;; size=60 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 280, prolog size 16, PerfScore 174.50, instruction count 70, allocated bytes for code 280 (MethodHash=ee8bd69e) for method System.Security.Cryptography.X509Certificates.CertificatePolicyChain:MatchesApplicationPolicies(System.Security.Cryptography.OidCollection):ubyte:this (Tier1)
+; Total bytes of code 284, prolog size 16, PerfScore 174.50, instruction count 71, allocated bytes for code 284 (MethodHash=ee8bd69e) for method System.Security.Cryptography.X509Certificates.CertificatePolicyChain:MatchesApplicationPolicies(System.Security.Cryptography.OidCollection):ubyte:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -156,7 +157,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 70 (0x00046) Actual length = 280 (0x000118)
+  Function Length   : 71 (0x00047) Actual length = 284 (0x00011c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+16 (+2.07%) : 44033.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%) : 463960.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.07, 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.57, 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%) : 463958.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.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.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%) : 338178.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.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, 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.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
 
  
+48 (+22.64%) : 254258.dasm - ILGEN0x1db2cfa3:Method0x8618f02c(ushort,double,short,byte):int (FullOpts)
@@ -7,10 +7,10 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  3,  2.50)  ushort  ->  x20         single-def
-;  V01 arg1         [V01,T08] (  3,  3   )  double  ->  [fp+0x18]  single-def
+;  V00 arg0         [V00,T01] (  5,  3.50)  ushort  ->  x20         single-def
+;  V01 arg1         [V01,T08] (  5,  4.50)  double  ->  [fp+0x18]  single-def
 ;* V02 arg2         [V02    ] (  0,  0   )   short  ->  zero-ref    single-def
-;  V03 arg3         [V03,T00] (  3,  3   )    byte  ->  x19        
+;  V03 arg3         [V03,T00] (  6,  6   )    byte  ->  x19        
 ;* V04 loc0         [V04,T11] (  0,  0   )  double  ->  zero-ref   
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )     int  ->  zero-ref   
@@ -32,14 +32,14 @@
 ;* V22 tmp17        [V22    ] (  0,  0   )  double  ->  zero-ref   
 ;* V23 tmp18        [V23    ] (  0,  0   )   float  ->  zero-ref   
 ;* V24 tmp19        [V24    ] (  0,  0   )   float  ->  zero-ref   
-;* V25 tmp20        [V25,T04] (  0,  0   )     int  ->  zero-ref   
+;  V25 tmp20        [V25,T04] (  3,  2   )     int  ->   x0        
 ;* V26 tmp21        [V26    ] (  0,  0   )   float  ->  zero-ref   
 ;* V27 tmp22        [V27    ] (  0,  0   )     int  ->  zero-ref   
 ;* V28 tmp23        [V28    ] (  0,  0   )   float  ->  zero-ref   
 ;* V29 tmp24        [V29    ] (  0,  0   )     int  ->  zero-ref   
 ;* V30 tmp25        [V30,T14] (  0,  0   )   float  ->  zero-ref   
-;* V31 tmp26        [V31,T05] (  0,  0   )     int  ->  zero-ref   
-;* V32 tmp27        [V32,T06] (  0,  0   )     int  ->  zero-ref   
+;  V31 tmp26        [V31,T05] (  2,  2   )     int  ->   x0        
+;  V32 tmp27        [V32,T06] (  2,  2   )     int  ->   x1        
 ;* V33 tmp28        [V33    ] (  0,  0   )   float  ->  zero-ref   
 ;* V34 tmp29        [V34    ] (  0,  0   )   float  ->  zero-ref   
 ;* V35 tmp30        [V35    ] (  0,  0   )   float  ->  zero-ref   
@@ -57,7 +57,7 @@
 ;* V47 tmp42        [V47    ] (  0,  0   )     int  ->  zero-ref   
 ;* V48 tmp43        [V48    ] (  0,  0   )   float  ->  zero-ref   
 ;* V49 tmp44        [V49    ] (  0,  0   )   float  ->  zero-ref   
-;* V50 tmp45        [V50,T07] (  0,  0   )     int  ->  zero-ref   
+;  V50 tmp45        [V50,T07] (  2,  1   )     int  ->   x0        
 ;* V51 tmp46        [V51    ] (  0,  0   )  double  ->  zero-ref   
 ;  V52 cse0         [V52,T02] (  3,  3   )    long  ->  x21         "CSE - aggressive"
 ;  V53 cse1         [V53,T03] (  3,  3   )    long  ->  x22         "CSE - aggressive"
@@ -107,42 +107,59 @@ G_M36522_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             sxtb    w0, w19
             mov     w1, #7
             subs    w0, w1, w0
-            blo     G_M36522_IG08
+            blo     G_M36522_IG10
             ldr     d16, [@RWD00]
+            mov     w0, #3
             ldr     d0, [fp, #0x18]   // [V01 arg1]
             fcmp    d0, d16
+            csel    w19, w19, w0, ls
+            fcmp    d0, d16
             bhi     G_M36522_IG04
-                     ;; size=128 bbWeight=1 PerfScore 23.00
+                        ;; size=140 bbWeight=1 PerfScore 25.00
 G_M36522_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            uxth    w0, w20
             b       G_M36522_IG05
-                        ;; size=4 bbWeight=0.50 PerfScore 0.50
+                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M36522_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             mov     w0, #2
             uxth    w1, w20
             cmp     w1, #0
-            beq     G_M36522_IG07
+            beq     G_M36522_IG09
             udiv    w0, w0, w1
-                       ;; size=20 bbWeight=0.50 PerfScore 6.75
-G_M36522_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            uxth    w1, w20
+            mneg    w0, w0, w1
+            add     w0, w0, #2
+                       ;; size=32 bbWeight=0.50 PerfScore 8.25
+G_M36522_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            sxtb    w1, w19
+            cmp     w0, w1
+            bhi     G_M36522_IG07
+                       ;; size=12 bbWeight=1 PerfScore 2.00
+G_M36522_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            ldr     d16, [@RWD08]
+            fcmp    d0, d16
+                       ;; size=8 bbWeight=0.50 PerfScore 1.50
+G_M36522_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #3
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M36522_IG06:        ; bbWeight=1, epilog, nogc, extend
+G_M36522_IG08:        ; bbWeight=1, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=16 bbWeight=1 PerfScore 4.00
-G_M36522_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M36522_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             bl      CORINFO_HELP_THROWDIVZERO
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M36522_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M36522_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_OVERFLOW
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 RWD00      dq  B3E5A6C0C2213032h   ; -1.07789489e-58
+RWD08    dq  0027489EA903E70Eh   ; 6.47598595e-308
 
 
-; Total bytes of code 212, prolog size 16, PerfScore 40.25, instruction count 53, allocated bytes for code 212 (MethodHash=7dff7155) for method ILGEN_0x1db2cfa3:Method_0x8618f02c(ushort,double,short,byte):int (FullOpts)
+; Total bytes of code 260, prolog size 16, PerfScore 47.50, instruction count 65, allocated bytes for code 260 (MethodHash=7dff7155) for method ILGEN_0x1db2cfa3:Method_0x8618f02c(ushort,double,short,byte):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -153,7 +170,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 53 (0x00035) Actual length = 212 (0x0000d4)
+  Function Length   : 65 (0x00041) Actual length = 260 (0x000104)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+24 (+46.15%) : 254280.dasm - ILGEN0x4601be46:Method0x9c86375f(ulong,ubyte):int (FullOpts)
@@ -8,19 +8,19 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  3,  3   )    long  ->   x0         ld-addr-op single-def
-;* V01 arg1         [V01,T01] (  0,  0   )   ubyte  ->  zero-ref    ld-addr-op single-def
+;  V01 arg1         [V01,T01] (  3,  3   )   ubyte  ->   x1         ld-addr-op single-def
 ;* V02 loc0         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
 ;* V03 loc1         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
 ;* V04 loc2         [V04,T04] (  0,  0   )   short  ->  zero-ref   
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V07 tmp1         [V07,T03] (  0,  0   )     int  ->  zero-ref   
+;  V07 tmp1         [V07,T03] (  2,  2   )     int  ->   x2        
 ;* V08 tmp2         [V08,T05] (  0,  0   )  double  ->  zero-ref   
 ;* V09 tmp3         [V09    ] (  0,  0   )     int  ->  zero-ref   
 ;* V10 tmp4         [V10    ] (  0,  0   )     int  ->  zero-ref   
 ;* V11 tmp5         [V11    ] (  0,  0   )    long  ->  zero-ref   
 ;* V12 tmp6         [V12    ] (  0,  0   )  double  ->  zero-ref   
-;* V13 cse0         [V13,T02] (  0,  0   )     int  ->  zero-ref    "CSE - aggressive"
+;  V13 cse0         [V13,T02] (  3,  3   )     int  ->   x1         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -29,22 +29,28 @@ G_M16983_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M16983_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            movk    x1, #0xD1FFAB1E LSL #48
-            movz    x2, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
+            movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #1 LSL #32
-            str     x1, [x2]
+            movk    x2, #0xD1FFAB1E LSL #32
+            movk    x2, #0xD1FFAB1E LSL #48
+            movz    x3, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #1 LSL #32
+            str     x2, [x3]
+            uxtb    w1, w1
+            mov     w2, #4
+            movn    w3, #0
+            cmp     w1, #6
+            csel    w2, w2, w3, ge
+            cmp     w2, w1
             sxth    w0, w0
-                     ;; size=36 bbWeight=1 PerfScore 5.00
+                      ;; size=60 bbWeight=1 PerfScore 8.00
 G_M16983_IG03:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 52, prolog size 8, PerfScore 8.50, instruction count 13, allocated bytes for code 52 (MethodHash=0155bda8) for method ILGEN_0x4601be46:Method_0x9c86375f(ulong,ubyte):int (FullOpts)
+; Total bytes of code 76, prolog size 8, PerfScore 11.50, instruction count 19, allocated bytes for code 76 (MethodHash=0155bda8) for method ILGEN_0x4601be46:Method_0x9c86375f(ulong,ubyte):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -55,7 +61,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 13 (0x0000d) Actual length = 52 (0x000034)
+  Function Length   : 19 (0x00013) Actual length = 76 (0x00004c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+160.00%) : 254471.dasm - ILGEN0x2dda4eb5:Method0xa084659a():ushort (FullOpts)
@@ -9,8 +9,8 @@
 ;
 ;* V00 loc0         [V00,T02] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V02 tmp1         [V02,T00] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
-;* V03 cse0         [V03,T01] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
+;  V02 tmp1         [V02,T00] (  2,  4   )     ref  ->   x0         single-def "arr expr"
+;  V03 cse0         [V03,T01] (  2,  2   )    long  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -19,14 +19,24 @@ G_M5817_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M5817_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #1 LSL #32
+            mov     x1, #41
+            bl      CORINFO_HELP_NEWARR_1_VC
+            ; gcrRegs +[x0]
+            ldr     d16, [x0, #0x48]
+            fmov    d17, #7.0000
+            fcmp    d16, d17
             mov     w0, #100
-                     ;; size=4 bbWeight=1 PerfScore 0.50
+            ; gcrRegs -[x0]
+                       ;; size=36 bbWeight=1 PerfScore 8.00
 G_M5817_IG03:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 20, prolog size 8, PerfScore 4.00, instruction count 5, allocated bytes for code 20 (MethodHash=cc10e946) for method ILGEN_0x2dda4eb5:Method_0xa084659a():ushort (FullOpts)
+; Total bytes of code 52, prolog size 8, PerfScore 11.50, instruction count 13, allocated bytes for code 52 (MethodHash=cc10e946) for method ILGEN_0x2dda4eb5:Method_0xa084659a():ushort (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -37,7 +47,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 5 (0x00005) Actual length = 20 (0x000014)
+  Function Length   : 13 (0x0000d) Actual length = 52 (0x000034)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
libraries.crossgen2.osx.arm64.checked.mch
-32 (-3.98%) : 201442.dasm - System.Data.DataRelation:Create(System.String,System.Data.DataColumn[],System.Data.DataColumn[],ubyte):this (FullOpts)
@@ -32,26 +32,24 @@
 ;  V20 tmp13        [V20,T12] (  2,  4   )     ref  ->   x0         single-def "argument with side effect"
 ;  V21 PSPSym       [V21,T17] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
 ;  V22 cse0         [V22,T15] (  5,  3   )   byref  ->  x24         multi-def "CSE - aggressive"
-;  V23 cse1         [V23,T04] (  6,  9.04)    long  ->  x27         hoist multi-def "CSE - aggressive"
-;  V24 cse2         [V24,T05] (  6,  9.04)    long  ->  x28         hoist multi-def "CSE - aggressive"
-;  V25 cse3         [V25,T01] (  3, 11.88)    long  ->   x0         "CSE - aggressive"
-;  V26 cse4         [V26,T18] (  3,  0.12)    long  ->  x14         "CSE - conservative"
-;  V27 cse5         [V27,T06] (  6,  8   )     int  ->  x25         "CSE - aggressive"
+;  V23 cse1         [V23,T04] (  6,  9.04)    long  ->   x2         hoist multi-def "CSE - aggressive"
+;  V24 cse2         [V24,T05] (  6,  9.04)    long  ->  registers   hoist multi-def "CSE - aggressive"
+;  V25 cse3         [V25,T01] (  3, 11.88)    long  ->   x4         "CSE - aggressive"
+;  V26 cse4         [V26,T18] (  3,  0.12)    long  ->   x4         "CSE - conservative"
+;  V27 cse5         [V27,T06] (  6,  8   )     int  ->   x0         "CSE - aggressive"
 ;  V28 cse6         [V28,T11] (  4,  5.04)   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V29 cse7         [V29,T14] (  4,  3.04)     int  ->  x26         "CSE - aggressive"
+;  V29 cse7         [V29,T14] (  4,  3.04)     int  ->  x11         "CSE - aggressive"
 ;
 ; Lcl frame size = 32
 
 G_M1015_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x80]!
+            stp     fp, lr, [sp, #-0x60]!
             stp     x19, x20, [sp, #0x30]
             stp     x21, x22, [sp, #0x40]
             stp     x23, x24, [sp, #0x50]
-            stp     x25, x26, [sp, #0x60]
-            stp     x27, x28, [sp, #0x70]
             mov     fp, sp
             stp     xzr, xzr, [fp, #0x10]  // [V10 tmp3], [V09 tmp2]
-            add     x5, sp, #128
+            add     x5, sp, #96
             str     x5, [fp, #0x28] // [V21 PSPSym]
             mov     x19, x0
             ; gcrRegs +[x19]
@@ -62,7 +60,7 @@ G_M1015_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
             mov     x20, x3
             ; gcrRegs +[x20]
             mov     w23, w4
-                      ;; size=60 bbWeight=1 PerfScore 11.50
+                     ;; size=52 bbWeight=1 PerfScore 9.50
 G_M1015_IG02:        ; bbWeight=1, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
@@ -137,57 +135,57 @@ G_M1015_IG03:        ; bbWeight=1, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs
             blr     x12
             ; gcrRegs -[x15]
             ; byrRegs -[x14]
-            ldr     w25, [x21, #0x08]
-            ldr     w26, [x20, #0x08]
-            cmp     w25, w26
+            ldr     w0, [x21, #0x08]
+            ldr     w11, [x20, #0x08]
+            cmp     w0, w11
             bne     G_M1015_IG11
             mov     w1, wzr
-            cmp     w25, #0
+            cmp     w0, #0
             ble     G_M1015_IG05
-            cmp     w26, w25
+            cmp     w11, w0
             blt     G_M1015_IG09
-            add     x26, x21, #16
-            ; byrRegs +[x26]
-            adrp    x0, [HIGH RELOC #0xD1FFAB1E]
-            add     x0, x0, [LOW RELOC #0xD1FFAB1E]
-            ldr     x27, [x0]
-            adrp    x0, [HIGH RELOC #0xD1FFAB1E]
-            add     x0, x0, [LOW RELOC #0xD1FFAB1E]
-            ldr     x28, [x0]
+            add     x11, x21, #16
+            ; byrRegs +[x11]
+            adrp    x2, [HIGH RELOC #0xD1FFAB1E]
+            add     x2, x2, [LOW RELOC #0xD1FFAB1E]
+            ldr     x2, [x2]
+            adrp    x3, [HIGH RELOC #0xD1FFAB1E]
+            add     x3, x3, [LOW RELOC #0xD1FFAB1E]
+            ldr     x3, [x3]
                        ;; size=168 bbWeight=1 PerfScore 47.50
-G_M1015_IG04:        ; bbWeight=3.96, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=5000000 {x24 x26}, byref, isz
+G_M1015_IG04:        ; bbWeight=3.96, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=1000800 {x11 x24}, byref, isz
             ; gcrRegs -[x21]
-            ubfiz   x0, x1, #3, #32
-            ldr     x11, [x26, x0]
-            ; gcrRegs +[x11]
-            add     x11, x11, x27
-            ; gcrRegs -[x11]
-            ; byrRegs +[x11]
-            ldr     x11, [x11, #0x30]
-            ; gcrRegs +[x11]
-            ; byrRegs -[x11]
-            ldr     x11, [x11, x28]
-            cbz     x11, G_M1015_IG08
-            add     x11, x20, #16
-            ; gcrRegs -[x11]
-            ; byrRegs +[x11]
-            ldr     x0, [x11, x0]
-            ; gcrRegs +[x0]
-            add     x0, x0, x27
-            ; gcrRegs -[x0]
-            ; byrRegs +[x0]
-            ldr     x0, [x0, #0x30]
-            ; gcrRegs +[x0]
-            ; byrRegs -[x0]
-            ldr     x0, [x0, x28]
-            cbz     x0, G_M1015_IG08
+            ubfiz   x4, x1, #3, #32
+            ldr     x5, [x11, x4]
+            ; gcrRegs +[x5]
+            add     x5, x5, x2
+            ; gcrRegs -[x5]
+            ; byrRegs +[x5]
+            ldr     x5, [x5, #0x30]
+            ; gcrRegs +[x5]
+            ; byrRegs -[x5]
+            ldr     x5, [x5, x3]
+            cbz     x5, G_M1015_IG08
+            add     x5, x20, #16
+            ; gcrRegs -[x5]
+            ; byrRegs +[x5]
+            ldr     x4, [x5, x4]
+            ; gcrRegs +[x4]
+            add     x4, x4, x2
+            ; gcrRegs -[x4]
+            ; byrRegs +[x4]
+            ldr     x4, [x4, #0x30]
+            ; gcrRegs +[x4]
+            ; byrRegs -[x4]
+            ldr     x4, [x4, x3]
+            cbz     x4, G_M1015_IG08
             add     w1, w1, #1
-            cmp     w25, w1
+            cmp     w0, w1
             bgt     G_M1015_IG04
                        ;; size=60 bbWeight=3.96 PerfScore 97.02
 G_M1015_IG05:        ; bbWeight=1, gcrefRegs=480000 {x19 x22}, byrefRegs=1000000 {x24}, byref, isz
-            ; gcrRegs -[x0 x20]
-            ; byrRegs -[x11 x26]
+            ; gcrRegs -[x4 x20]
+            ; byrRegs -[x5 x11]
             mov     x0, x19
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -202,9 +200,9 @@ G_M1015_IG05:        ; bbWeight=1, gcrefRegs=480000 {x19 x22}, byrefRegs=1000000
                        ;; size=28 bbWeight=1 PerfScore 7.00
 G_M1015_IG06:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=1000000 {x24}, byref
             ; gcrRegs -[x15 x22]
-            adrp    x14, [HIGH RELOC #0xD1FFAB1E]      // const ptr
-            add     x14, x14, [LOW RELOC #0xD1FFAB1E]
-            ldr     x14, [x14]
+            adrp    x15, [HIGH RELOC #0xD1FFAB1E]      // const ptr
+            add     x15, x15, [LOW RELOC #0xD1FFAB1E]
+            ldr     x14, [x15]
             ldr     x15, [x14]
             ; gcrRegs +[x15]
                        ;; size=16 bbWeight=0.50 PerfScore 3.50
@@ -239,49 +237,49 @@ G_M1015_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
 G_M1015_IG09:        ; bbWeight=0.04, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=1000000 {x24}, byref, isz
             ; gcrRegs +[x19-x22]
             ; byrRegs +[x24]
-            add     x15, x21, #16
-            ; byrRegs +[x15]
-            ubfiz   x14, x1, #3, #32
-            ldr     x15, [x15, x14]
-            ; gcrRegs +[x15]
-            ; byrRegs -[x15]
-            adrp    x12, [HIGH RELOC #0xD1FFAB1E]
-            add     x12, x12, [LOW RELOC #0xD1FFAB1E]
-            ldr     x27, [x12]
-            add     x15, x15, x27
-            ; gcrRegs -[x15]
-            ; byrRegs +[x15]
-            ldr     x15, [x15, #0x30]
-            ; gcrRegs +[x15]
-            ; byrRegs -[x15]
-            adrp    x12, [HIGH RELOC #0xD1FFAB1E]
-            add     x12, x12, [LOW RELOC #0xD1FFAB1E]
-            ldr     x28, [x12]
-            ldr     x15, [x15, x28]
-            cbz     x15, G_M1015_IG08
-            cmp     w1, w26
+            add     x2, x21, #16
+            ; byrRegs +[x2]
+            ubfiz   x4, x1, #3, #32
+            ldr     x3, [x2, x4]
+            ; gcrRegs +[x3]
+            adrp    x2, [HIGH RELOC #0xD1FFAB1E]
+            ; byrRegs -[x2]
+            add     x2, x2, [LOW RELOC #0xD1FFAB1E]
+            ldr     x2, [x2]
+            add     x3, x3, x2
+            ; gcrRegs -[x3]
+            ; byrRegs +[x3]
+            ldr     x3, [x3, #0x30]
+            ; gcrRegs +[x3]
+            ; byrRegs -[x3]
+            adrp    x5, [HIGH RELOC #0xD1FFAB1E]
+            add     x5, x5, [LOW RELOC #0xD1FFAB1E]
+            ldr     x5, [x5]
+            ldr     x3, [x3, x5]
+            cbz     x3, G_M1015_IG08
+            cmp     w1, w11
             bhs     G_M1015_IG10
-            add     x15, x20, #16
-            ; gcrRegs -[x15]
-            ; byrRegs +[x15]
-            ldr     x14, [x15, x14]
-            ; gcrRegs +[x14]
-            add     x14, x14, x27
-            ; gcrRegs -[x14]
-            ; byrRegs +[x14]
-            ldr     x14, [x14, #0x30]
-            ; gcrRegs +[x14]
-            ; byrRegs -[x14]
-            ldr     x14, [x14, x28]
-            cbz     x14, G_M1015_IG08
+            add     x3, x20, #16
+            ; gcrRegs -[x3]
+            ; byrRegs +[x3]
+            ldr     x3, [x3, x4]
+            ; gcrRegs +[x3]
+            ; byrRegs -[x3]
+            add     x2, x3, x2
+            ; byrRegs +[x2]
+            ldr     x2, [x2, #0x30]
+            ; gcrRegs +[x2]
+            ; byrRegs -[x2]
+            ldr     x2, [x2, x5]
+            cbz     x2, G_M1015_IG08
             add     w1, w1, #1
-            cmp     w25, w1
+            cmp     w0, w1
             bgt     G_M1015_IG09
             b       G_M1015_IG05
                        ;; size=100 bbWeight=0.04 PerfScore 1.42
 G_M1015_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x14 x19-x22]
-            ; byrRegs -[x15 x24]
+            ; gcrRegs -[x2-x3 x19-x22]
+            ; byrRegs -[x24]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x0]
@@ -319,24 +317,20 @@ G_M1015_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=1000000 {x24}, b
             ; gcr arg pop 0
                        ;; size=32 bbWeight=1 PerfScore 13.50
 G_M1015_IG13:        ; bbWeight=1, epilog, nogc, extend
-            ldp     x27, x28, [sp, #0x70]
-            ldp     x25, x26, [sp, #0x60]
             ldp     x23, x24, [sp, #0x50]
...
  
-24 (-2.86%) : 162384.dasm - Microsoft.CodeAnalysis.Text.SourceText:ContentEqualsImpl(Microsoft.CodeAnalysis.Text.SourceText):ubyte:this (FullOpts)
@@ -11,12 +11,12 @@
 ;
 ;  V00 this         [V00,T08] (  8, 15.50)     ref  ->  x19         this class-hnd single-def <Microsoft.CodeAnalysis.Text.SourceText>
 ;  V01 arg1         [V01,T13] (  6,  8   )     ref  ->  x20         class-hnd single-def <Microsoft.CodeAnalysis.Text.SourceText>
-;  V02 loc0         [V02,T11] (  7, 10.52)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <<unknown class>>
-;  V03 loc1         [V03,T10] (  9, 10.68)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V02 loc0         [V02,T11] (  7, 10.52)     ref  ->  [fp+0x20]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V03 loc1         [V03,T10] (  9, 10.68)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <<unknown class>>
 ;  V04 loc2         [V04,T03] (  7, 24.50)     int  ->  x23        
 ;  V05 loc3         [V05,T02] (  9, 40   )     int  ->  x26        
-;  V06 loc4         [V06,T00] ( 11, 68.32)     int  ->   x1        
-;  V07 loc5         [V07,T21] (  3,  1.50)   ubyte  ->  x19        
+;  V06 loc4         [V06,T00] ( 11, 68.32)     int  ->   x0        
+;  V07 loc5         [V07,T21] (  3,  1.50)   ubyte  ->  x23        
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V09 tmp1         [V09    ] (  0,  0   )     int  ->  zero-ref    "non-inline candidate call"
 ;  V10 tmp2         [V10,T15] (  3,  8   )     int  ->  x26         "Inline return value spill temp"
@@ -28,33 +28,32 @@
 ;  V16 tmp8         [V16,T25] (  2,  0   )     ref  ->   x0         single-def "argument with side effect"
 ;  V17 tmp9         [V17,T19] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
 ;  V18 tmp10        [V18,T20] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
-;  V19 PSPSym       [V19,T22] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
+;  V19 PSPSym       [V19,T22] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
 ;  V20 cse0         [V20,T16] (  8,  2.50)   byref  ->  x22         multi-def "CSE - aggressive"
-;  V21 cse1         [V21,T01] (  3, 47.52)    long  ->   x0         "CSE - aggressive"
-;  V22 cse2         [V22,T23] (  3,  0.48)    long  ->   x0         "CSE - conservative"
-;  V23 cse3         [V23,T06] (  4, 18.02)   byref  ->  x24         hoist multi-def "CSE - aggressive"
-;  V24 cse4         [V24,T07] (  4, 18.02)   byref  ->  x27         hoist multi-def "CSE - aggressive"
+;  V21 cse1         [V21,T01] (  3, 47.52)    long  ->   x4         "CSE - aggressive"
+;  V22 cse2         [V22,T23] (  3,  0.48)    long  ->   x4         "CSE - conservative"
+;  V23 cse3         [V23,T06] (  4, 18.02)   byref  ->  x11         hoist multi-def "CSE - aggressive"
+;  V24 cse4         [V24,T07] (  4, 18.02)   byref  ->   x3         hoist multi-def "CSE - aggressive"
 ;  V25 cse5         [V25,T12] (  4, 10.16)     int  ->  x25         "CSE - aggressive"
 ;  V26 cse6         [V26,T14] (  6, 10   )    long  ->  x21         "CSE - aggressive"
 ;  V27 cse7         [V27,T09] (  3, 12   )    long  ->  x24         "CSE - aggressive"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 32
 
 G_M16886_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x70]!
-            stp     x19, x20, [sp, #0x28]
-            stp     x21, x22, [sp, #0x38]
-            stp     x23, x24, [sp, #0x48]
-            stp     x25, x26, [sp, #0x58]
-            str     x27, [sp, #0x68]
+            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, #112
-            str     x2, [fp, #0x20]  // [V19 PSPSym]
+            str     x2, [fp, #0x28]    // [V19 PSPSym]
             mov     x19, x0
             ; gcrRegs +[x19]
             mov     x20, x1
             ; gcrRegs +[x20]
-                     ;; size=44 bbWeight=1 PerfScore 9.00
+                      ;; size=40 bbWeight=1 PerfScore 8.00
 G_M16886_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             cbnz    x20, G_M16886_IG05
                        ;; size=4 bbWeight=1 PerfScore 1.00
@@ -63,14 +62,13 @@ G_M16886_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M16886_IG04:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x27, [sp, #0x68]
-            ldp     x25, x26, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
+            ldp     x25, x26, [sp, #0x60]
+            ldp     x23, x24, [sp, #0x50]
+            ldp     x21, x22, [sp, #0x40]
+            ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x70
             ret     lr
-                       ;; size=28 bbWeight=0.50 PerfScore 4.00
+                       ;; size=24 bbWeight=0.50 PerfScore 3.00
 G_M16886_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x19-x20]
             cmp     x19, x20
@@ -78,14 +76,13 @@ G_M16886_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             mov     w0, #1
                        ;; size=12 bbWeight=0.50 PerfScore 1.00
 G_M16886_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x27, [sp, #0x68]
-            ldp     x25, x26, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
+            ldp     x25, x26, [sp, #0x60]
+            ldp     x23, x24, [sp, #0x50]
+            ldp     x21, x22, [sp, #0x40]
+            ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x70
             ret     lr
-                       ;; size=28 bbWeight=0.50 PerfScore 4.00
+                       ;; size=24 bbWeight=0.50 PerfScore 3.00
 G_M16886_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -124,7 +121,7 @@ G_M16886_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             ldr     x1, [x11]
             blr     x1
             ; gcr arg pop 0
-            str     x0, [fp, #0x18]   // [V02 loc0]
+            str     x0, [fp, #0x20]  // [V02 loc0]
             ; GC ptr vars +{V02}
             ldr     x0, [x22, #0xD1FFAB1E]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -133,7 +130,7 @@ G_M16886_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             ldr     x2, [x11]
             blr     x2
             ; gcr arg pop 0
-            str     x0, [fp, #0x10]   // [V03 loc1]
+            str     x0, [fp, #0x18]  // [V03 loc1]
             ; GC ptr vars +{V03}
                        ;; size=132 bbWeight=0.50 PerfScore 22.75
 G_M16886_IG08:        ; bbWeight=0.50, gcVars=0000000000000C00 {V02 V03}, gcrefRegs=180000 {x19 x20}, byrefRegs=400000 {x22}, gcvars, byref, isz
@@ -158,7 +155,7 @@ G_M16886_IG09:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000
             ; gcrRegs -[x0]
             ; gcr arg pop 0
             sub     w24, w0, w23
-            ldr     x1, [fp, #0x18]  // [V02 loc0]
+            ldr     x1, [fp, #0x20]  // [V02 loc0]
             ; gcrRegs +[x1]
             ldr     w25, [x1, #0x08]
             sxtw    w26, w25
@@ -177,7 +174,7 @@ G_M16886_IG12:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000
             ; gcrRegs +[x0]
             mov     w4, w26
             mov     w1, w23
-            ldr     x2, [fp, #0x18]   // [V02 loc0]
+            ldr     x2, [fp, #0x20]  // [V02 loc0]
             ; gcrRegs +[x2]
             adrp    x24, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x24, x24, [LOW RELOC #0xD1FFAB1E]
@@ -191,7 +188,7 @@ G_M16886_IG12:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000
             ; gcrRegs +[x0]
             mov     w4, w26
             mov     w1, w23
-            ldr     x2, [fp, #0x10]   // [V03 loc1]
+            ldr     x2, [fp, #0x18]  // [V03 loc1]
             ; gcrRegs +[x2]
             mov     x11, x24
             mov     w3, wzr
@@ -199,45 +196,45 @@ G_M16886_IG12:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000
             blr     x5
             ; gcrRegs -[x0 x2]
             ; gcr arg pop 0
-            mov     w1, wzr
+            mov     w0, wzr
             cmp     w26, #0
             ble     G_M16886_IG15
                        ;; size=84 bbWeight=4 PerfScore 80.00
 G_M16886_IG13:        ; bbWeight=2, gcrefRegs=180000 {x19 x20}, byrefRegs=400000 {x22}, byref, isz
-            ldr     x2, [fp, #0x10]    // [V03 loc1]
+            ldr     x2, [fp, #0x18]  // [V03 loc1]
             ; gcrRegs +[x2]
             cbz     x2, G_M16886_IG18
             cmp     w25, w26
             blt     G_M16886_IG18
-            ldr     w0, [x2, #0x08]
-            cmp     w0, w26
-            blt     G_M16886_IG18
-            ldr     x3, [fp, #0x18]    // [V02 loc0]
-            ; gcrRegs +[x3]
-            add     x24, x3, #16
-            ; byrRegs +[x24]
-            add     x27, x2, #16
-            ; byrRegs +[x27]
-                       ;; size=40 bbWeight=2 PerfScore 24.00
-G_M16886_IG14:        ; bbWeight=15.84, gcrefRegs=180000 {x19 x20}, byrefRegs=9400000 {x22 x24 x27}, byref, isz
-            ; gcrRegs -[x2-x3]
-            ubfiz   x0, x1, #1, #32
-            ldrh    w11, [x24, x0]
-            ldrh    w0, [x27, x0]
-            cmp     w11, w0
-            bne     G_M16886_IG20
-            add     w1, w1, #1
+            ldr     w1, [x2, #0x08]
             cmp     w1, w26
+            blt     G_M16886_IG18
+            ldr     x1, [fp, #0x20]    // [V02 loc0]
+            ; gcrRegs +[x1]
+            add     x11, x1, #16
+            ; byrRegs +[x11]
+            add     x3, x2, #16
+            ; byrRegs +[x3]
+                       ;; size=40 bbWeight=2 PerfScore 24.00
+G_M16886_IG14:        ; bbWeight=15.84, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=400808 {x3 x11 x22}, byref, isz
+            ubfiz   x4, x0, #1, #32
+            ldrh    w5, [x11, x4]
+            ldrh    w4, [x3, x4]
+            cmp     w5, w4
+            bne     G_M16886_IG20
+            add     w0, w0, #1
+            cmp     w0, w26
             blt     G_M16886_IG14
                        ;; size=32 bbWeight=15.84 PerfScore 166.32
 G_M16886_IG15:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000 {x22}, byref, isz
-            ; byrRegs -[x24 x27]
+            ; gcrRegs -[x1-x2]
+            ; byrRegs -[x3 x11]
             add     w23, w23, w26
             mov     x0, x19
             ; gcrRegs +[x0]
             mov     x11, x21
-            ldr     x1, [x11]
-            blr     x1
+            ldr     x3, [x11]
+            blr     x3
             ; gcrRegs -[x0]
             ; gcr arg pop 0
             cmp     w0, w23
@@ -245,9 +242,9 @@ G_M16886_IG15:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000
                        ;; size=28 bbWeight=4 PerfScore 28.00
 G_M16886_IG16:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
             ; gcrRegs -[x19-x20]
-            ldr     x2, [fp, #0x10]  // [V03 loc1]
+            ldr     x2, [fp, #0x18]  // [V03 loc1]
             ; gcrRegs +[x2]
-            mov     w19, #1
+            mov     w23, #1
             b       G_M16886_IG21
                        ;; size=12 bbWeight=0.50 PerfScore 1.75
 G_M16886_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -262,38 +259,39 @@ G_M16886_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
 G_M16886_IG18:        ; bbWeight=0.02, gcrefRegs=180004 {x2 x19 x20}, byrefRegs=400000 {x22}, byref
             ; gcrRegs +[x2 x19-x20]
             ; byrRegs +[x22]
-            ldr     x3, [fp, #0x18]  // [V02 loc0]
-            ; gcrRegs +[x3]
-            add     x24, x3, #16
-            ; byrRegs +[x24]
-            add     x27, x2, #16
-            ; byrRegs +[x27]
+            ldr     x1, [fp, #0x20]  // [V02 loc0]
+            ; gcrRegs +[x1]
+            add     x11, x1, #16
+            ; byrRegs +[x11]
+            add     x3, x2, #16
+            ; byrRegs +[x3]
                         ;; size=12 bbWeight=0.02 PerfScore 0.06
-G_M16886_IG19:        ; bbWeight=0.16, gcrefRegs=180004 {x2 x19 x20}, byrefRegs=9400000 {x22 x24 x27}, byref, isz
-            ; gcrRegs -[x3]
-            cmp     w1, w25
+G_M16886_IG19:        ; bbWeight=0.16, gcrefRegs=180004 {x2 x19 x20}, byrefRegs=400808 {x3 x11 x22}, byref, isz
...
  
-12 (-2.13%) : 62762.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstraintsHelper:CheckConstraints(Microsoft.CodeAnalysis.CSharp.Symbol,byref,Microsoft.CodeAnalysis.CSharp.Symbols.TypeMap,System.Collections.Immutable.ImmutableArray1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterDiagnosticInfo],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterDiagnosticInfo],byref,Microsoft.CodeAnalysis.BitVector,System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol]):ubyte (FullOpts)
@@ -81,12 +81,12 @@ G_M49290_IG02:        ; bbWeight=1, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26
             str     w3, [fp, #0x30]    // [V11 loc1]
             mov     w4, wzr
             cmp     w2, #0
-            ble     G_M49290_IG11
-            cbz     x23, G_M49290_IG10
+            ble     G_M49290_IG10
+            cbz     x23, G_M49290_IG09
             ldr     wzr, [x24, #0x08]
             ldr     w0, [x23, #0x08]
             cmp     w0, w2
-            blt     G_M49290_IG12
+            blt     G_M49290_IG11
                        ;; size=48 bbWeight=1 PerfScore 16.00
 G_M49290_IG03:        ; bbWeight=3.96, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
             mov     x0, x22
@@ -150,30 +150,27 @@ G_M49290_IG07:        ; bbWeight=3.96, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x
             add     w3, w3, #1
             ldr     w4, [fp, #0x34]    // [V10 loc0]
             cmp     w3, w4
-            blt     G_M49290_IG09
-                       ;; size=20 bbWeight=3.96 PerfScore 23.76
+            mov     w4, w3
+            blt     G_M49290_IG03
+                       ;; size=24 bbWeight=3.96 PerfScore 25.74
 G_M49290_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x21 x23-x26 x28]
             ; byrRegs -[x20 x22 x27]
             ldr     w3, [fp, #0x30]    // [V11 loc1]
-            b       G_M49290_IG18
+            b       G_M49290_IG16
                      ;; size=8 bbWeight=1 PerfScore 3.00
-G_M49290_IG09:        ; bbWeight=1.98, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref
+G_M49290_IG09:        ; bbWeight=0.50, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref
             ; gcrRegs +[x19 x21 x23-x26 x28]
             ; byrRegs +[x20 x22 x27]
-            mov     w4, w3
-            b       G_M49290_IG03
-                       ;; size=8 bbWeight=1.98 PerfScore 2.97
-G_M49290_IG10:        ; bbWeight=0.50, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref
-            b       G_M49290_IG12
+            b       G_M49290_IG11
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M49290_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M49290_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x21 x23-x26 x28]
             ; byrRegs -[x20 x22 x27]
             ldr     w3, [fp, #0x30]    // [V11 loc1]
-            b       G_M49290_IG18
+            b       G_M49290_IG16
                      ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M49290_IG12:        ; bbWeight=0.04, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
+G_M49290_IG11:        ; bbWeight=0.04, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
             ; gcrRegs +[x19 x21 x23-x26 x28]
             ; byrRegs +[x20 x22 x27]
             mov     x0, x22
@@ -185,9 +182,9 @@ G_M49290_IG12:        ; bbWeight=0.04, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x
             ldr     x5, [x11]
             blr     x5
             ; byrRegs -[x0]
-            cbnz    w0, G_M49290_IG22
+            cbnz    w0, G_M49290_IG19
                       ;; size=32 bbWeight=0.04 PerfScore 0.32
-G_M49290_IG13:        ; bbWeight=0.02, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
+G_M49290_IG12:        ; bbWeight=0.02, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
             add     x0, x24, #16
             ; byrRegs +[x0]
             ldr     w8, [fp, #0x2C]    // [V12 loc2]
@@ -196,7 +193,7 @@ G_M49290_IG13:        ; bbWeight=0.02, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x
             ldr     w0, [x23, #0x08]
             ; byrRegs -[x0]
             cmp     w8, w0
-            bhs     G_M49290_IG23
+            bhs     G_M49290_IG20
             mov     w0, #24
             mov     x1, #16
             str     w8, [fp, #0x2C]    // [V12 loc2]
@@ -204,13 +201,13 @@ G_M49290_IG13:        ; bbWeight=0.02, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x
             add     x0, x23, x0
             ; byrRegs +[x0]
                        ;; size=44 bbWeight=0.02 PerfScore 0.35
-G_M49290_IG14:        ; bbWeight=0.02, nogc, extend
+G_M49290_IG13:        ; bbWeight=0.02, nogc, extend
             ldp     x1, x2, [x0]
             stp     x1, x2, [fp, #0x10]
             ldr     x1, [x0, #0x10]
             str     x1, [fp, #0x20]
                        ;; size=16 bbWeight=0.02 PerfScore 0.18
-G_M49290_IG15:        ; bbWeight=0.02, isz, extend
+G_M49290_IG14:        ; bbWeight=0.02, isz, extend
             str     x28, [sp]    // [V13 OutArgs]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -232,26 +229,24 @@ G_M49290_IG15:        ; bbWeight=0.02, isz, extend
             blr     x9
             ; gcrRegs -[x0 x2-x3 x5-x6]
             ; byrRegs -[x1 x7]
-            cbnz    w0, G_M49290_IG21
-            mov     w0, wzr
-                       ;; size=56 bbWeight=0.02 PerfScore 0.22
-G_M49290_IG16:        ; bbWeight=0.04, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
-            ldr     w8, [fp, #0x2C]    // [V12 loc2]
-            add     w8, w8, #1
+            ldr     w3, [fp, #0x30]    // [V11 loc1]
+            cbnz    w0, G_M49290_IG15
+            mov     w3, wzr
+                       ;; size=60 bbWeight=0.02 PerfScore 0.26
+G_M49290_IG15:        ; bbWeight=0.04, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
+            ldr     w0, [fp, #0x2C]    // [V12 loc2]
+            add     w0, w0, #1
             ldr     w2, [fp, #0x34]  // [V10 loc0]
-            cmp     w8, w2
-            mov     w4, w8
-            blt     G_M49290_IG20
+            cmp     w0, w2
+            mov     w4, w0
+            blt     G_M49290_IG18
                       ;; size=24 bbWeight=0.04 PerfScore 0.26
-G_M49290_IG17:        ; bbWeight=0.02, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M49290_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x21 x23-x26 x28]
             ; byrRegs -[x20 x22 x27]
-            mov     w3, w0
-                       ;; size=4 bbWeight=0.02 PerfScore 0.01
-G_M49290_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, w3
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M49290_IG19:        ; bbWeight=1, epilog, nogc, extend
+G_M49290_IG17:        ; bbWeight=1, epilog, nogc, extend
             ldp     x27, x28, [sp, #0x80]
             ldp     x25, x26, [sp, #0x70]
             ldp     x23, x24, [sp, #0x60]
@@ -261,21 +256,17 @@ G_M49290_IG19:        ; bbWeight=1, epilog, nogc, extend
             add     sp, sp, #144
             ret     lr
                        ;; size=32 bbWeight=1 PerfScore 7.50
-G_M49290_IG20:        ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, gcvars, byref
+G_M49290_IG18:        ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, gcvars, byref
             ; gcrRegs +[x19 x21 x23-x26 x28]
             ; byrRegs +[x20 x22 x27]
-            str     w0, [fp, #0x30]  // [V11 loc1]
-            b       G_M49290_IG12
+            str     w3, [fp, #0x30] // [V11 loc1]
+            b       G_M49290_IG11
                       ;; size=8 bbWeight=0.02 PerfScore 0.04
-G_M49290_IG21:        ; bbWeight=0.01, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref
-            ldr     w0, [fp, #0x30]    // [V11 loc1]
-            b       G_M49290_IG16
-                       ;; size=8 bbWeight=0.01 PerfScore 0.03
-G_M49290_IG22:        ; bbWeight=0.02, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref
-            ldr     w0, [fp, #0x30]    // [V11 loc1]
-            b       G_M49290_IG16
+G_M49290_IG19:        ; bbWeight=0.02, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref
+            ldr     w3, [fp, #0x30]    // [V11 loc1]
+            b       G_M49290_IG15
                       ;; size=8 bbWeight=0.02 PerfScore 0.06
-G_M49290_IG23:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M49290_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x21 x23-x26 x28]
             ; byrRegs -[x20 x22 x27]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -285,7 +276,7 @@ G_M49290_IG23:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 564, prolog size 40, PerfScore 165.27, instruction count 141, allocated bytes for code 564 (MethodHash=ce803f75) for method 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)
+; Total bytes of code 552, prolog size 40, PerfScore 164.28, instruction count 138, allocated bytes for code 552 (MethodHash=ce803f75) for method 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)
 ; ============================================================
 
 Unwind Info:
@@ -296,7 +287,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 141 (0x0008d) Actual length = 564 (0x000234)
+  Function Length   : 138 (0x0008a) Actual length = 552 (0x000228)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+3.98%) : 219954.dasm - System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (FullOpts)
@@ -18,41 +18,42 @@
 ;  V06 loc4         [V06,T03] (  3, 48   )     ref  ->  x26         class-hnd <System.Diagnostics.Process>
 ;  V07 loc5         [V07,T17] (  2,  2   )   ubyte  ->  [fp+0x24]  do-not-enreg[Z] EH-live
 ;  V08 loc6         [V08,T14] (  6,  6   )     ref  ->   x1         class-hnd <System.Diagnostics.Process[]>
-;  V09 loc7         [V09,T02] ( 10, 66   )     int  ->  x19        
+;  V09 loc7         [V09,T02] ( 10, 66   )     int  ->  x25        
 ;* V10 loc8         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Diagnostics.Process>
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V12 tmp1         [V12,T16] (  3,  6   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V13 tmp2         [V13,T04] (  2, 32   )     ref  ->   x0         "argument with side effect"
 ;  V14 PSPSym       [V14,T18] (  1,  1   )    long  ->  [fp+0x48]  do-not-enreg[V] "PSPSym"
 ;  V15 cse0         [V15,T00] (  6, 98   )    long  ->  x24         hoist multi-def "CSE - aggressive"
-;  V16 cse1         [V16,T08] (  4, 18   )   byref  ->  x21         hoist multi-def "CSE - aggressive"
-;  V17 cse2         [V17,T07] (  6, 20   )     int  ->  x20         multi-def "CSE - aggressive"
+;  V16 cse1         [V16,T08] (  4, 18   )   byref  ->  x27         hoist multi-def "CSE - aggressive"
+;  V17 cse2         [V17,T07] (  6, 20   )     int  ->  x26         multi-def "CSE - aggressive"
 ;  V18 cse3         [V18,T01] (  2, 72   )    long  ->  x25         hoist "CSE - aggressive"
 ;  V19 cse4         [V19,T10] (  3, 18   )    long  ->  x21         "CSE - aggressive"
-;  V20 cse5         [V20,T09] (  4, 18   )    long  ->  x22         hoist multi-def "CSE - aggressive"
+;  V20 cse5         [V20,T09] (  4, 18   )    long  ->  x28         hoist multi-def "CSE - aggressive"
 ;  V21 cse6         [V21,T12] (  2,  9   )    long  ->  x20         hoist "CSE - aggressive"
 ;  V22 cse7         [V22,T13] (  2,  9   )    long  ->  x23         hoist "CSE - aggressive"
 ;
 ; Lcl frame size = 64
 
 G_M8719_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x90]!
+            stp     fp, lr, [sp, #-0xA0]!
             stp     x19, x20, [sp, #0x50]
             stp     x21, x22, [sp, #0x60]
             stp     x23, x24, [sp, #0x70]
             stp     x25, x26, [sp, #0x80]
+            stp     x27, x28, [sp, #0x90]
             mov     fp, sp
             add     x9, fp, #24
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     xzr, xzr, [x9, #0x20]
-            add     x2, sp, #144
+            add     x2, sp, #160
             str     x2, [fp, #0x48]   // [V14 PSPSym]
             mov     x20, x0
             ; gcrRegs +[x20]
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=56 bbWeight=1 PerfScore 11.00
+                     ;; size=60 bbWeight=1 PerfScore 12.00
 G_M8719_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             mov     x0, x20
             ; gcrRegs +[x0]
@@ -69,13 +70,14 @@ G_M8719_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}
             mov     w0, #1
                        ;; size=36 bbWeight=1 PerfScore 8.00
 G_M8719_IG03:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x27, x28, [sp, #0x90]
             ldp     x25, x26, [sp, #0x80]
             ldp     x23, x24, [sp, #0x70]
             ldp     x21, x22, [sp, #0x60]
             ldp     x19, x20, [sp, #0x50]
-            ldp     fp, lr, [sp], #0x90
+            ldp     fp, lr, [sp], #0xA0
             ret     lr
-                        ;; size=24 bbWeight=1 PerfScore 6.00
+                      ;; size=28 bbWeight=1 PerfScore 7.00
 G_M8719_IG04:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // const ptr
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
@@ -224,32 +226,32 @@ G_M8719_IG15:        ; bbWeight=1, nogc, extend
 G_M8719_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x1, [fp, #0x18]    // [V02 loc0]
             ; gcrRegs +[x1]
-            mov     w19, wzr
-            ldr     w20, [x1, #0x08]
-            cmp     w20, #0
+            mov     w25, wzr
+            ldr     w26, [x1, #0x08]
+            cmp     w26, #0
             ble     G_M8719_IG23
-            add     x21, x1, #16
-            ; byrRegs +[x21]
-            adrp    x22, [HIGH RELOC #0xD1FFAB1E]
-            add     x22, x22, [LOW RELOC #0xD1FFAB1E]
+            add     x27, x1, #16
+            ; byrRegs +[x27]
+            adrp    x28, [HIGH RELOC #0xD1FFAB1E]
+            add     x28, x28, [LOW RELOC #0xD1FFAB1E]
                       ;; size=32 bbWeight=1 PerfScore 8.50
-G_M8719_IG17:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=200000 {x21}, gcvars, byref, isz
+G_M8719_IG17:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=8000000 {x27}, gcvars, byref, isz
             ; gcrRegs -[x1]
             ; GC ptr vars -{V02}
-            ldr     x0, [x21, w19, UXTW #3]
+            ldr     x0, [x27, w25, UXTW #3]
             ; gcrRegs +[x0]
-            mov     x11, x22
+            mov     x11, x28
             ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            add     w19, w19, #1
-            cmp     w20, w19
+            add     w25, w25, #1
+            cmp     w26, w25
             bgt     G_M8719_IG17
                        ;; size=32 bbWeight=8 PerfScore 100.00
 G_M8719_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x21]
+            ; byrRegs -[x27]
             b       G_M8719_IG23
                        ;; size=4 bbWeight=1 PerfScore 1.00
 G_M8719_IG19:        ; bbWeight=1, gcVars=0000000000000800 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
@@ -265,33 +267,36 @@ G_M8719_IG21:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
             ldr     w0, [fp, #0x24]    // [V07 loc5]
                        ;; size=4 bbWeight=1 PerfScore 2.00
 G_M8719_IG22:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x27, x28, [sp, #0x90]
             ldp     x25, x26, [sp, #0x80]
             ldp     x23, x24, [sp, #0x70]
             ldp     x21, x22, [sp, #0x60]
             ldp     x19, x20, [sp, #0x50]
-            ldp     fp, lr, [sp], #0x90
+            ldp     fp, lr, [sp], #0xA0
             ret     lr
-                        ;; size=24 bbWeight=1 PerfScore 6.00
+                      ;; size=28 bbWeight=1 PerfScore 7.00
 G_M8719_IG23:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=1 PerfScore 0.50
 G_M8719_IG24:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x27, x28, [sp, #0x90]
             ldp     x25, x26, [sp, #0x80]
             ldp     x23, x24, [sp, #0x70]
             ldp     x21, x22, [sp, #0x60]
             ldp     x19, x20, [sp, #0x50]
-            ldp     fp, lr, [sp], #0x90
+            ldp     fp, lr, [sp], #0xA0
             ret     lr
-                        ;; size=24 bbWeight=1 PerfScore 6.00
+                      ;; size=28 bbWeight=1 PerfScore 7.00
 G_M8719_IG25:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
-            stp     fp, lr, [sp, #-0x60]!
+            stp     fp, lr, [sp, #-0x70]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             stp     x23, x24, [sp, #0x40]
             stp     x25, x26, [sp, #0x50]
-            add     x3, fp, #144
+            stp     x27, x28, [sp, #0x60]
+            add     x3, fp, #160
             str     x3, [sp, #0x18]
-                      ;; size=28 bbWeight=1 PerfScore 6.50
+                      ;; size=32 bbWeight=1 PerfScore 7.50
 G_M8719_IG26:        ; bbWeight=1, gcVars=0000000000000800 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars +{V02}
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // System.Collections.Generic.List`1+Enumerator[System.Diagnostics.Process]
@@ -306,71 +311,74 @@ G_M8719_IG26:        ; bbWeight=1, gcVars=0000000000000800 {V02}, gcrefRegs=0000
             ; gcr arg pop 0
                        ;; size=36 bbWeight=1 PerfScore 10.00
 G_M8719_IG27:        ; bbWeight=1, funclet epilog, nogc, extend
+            ldp     x27, x28, [sp, #0x60]
             ldp     x25, x26, [sp, #0x50]
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x60
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-                        ;; size=24 bbWeight=1 PerfScore 16.00
+                     ;; size=28 bbWeight=1 PerfScore 19.00
 G_M8719_IG28:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
-            stp     fp, lr, [sp, #-0x60]!
+            stp     fp, lr, [sp, #-0x70]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             stp     x23, x24, [sp, #0x40]
             stp     x25, x26, [sp, #0x50]
-            add     x3, fp, #144
+            stp     x27, x28, [sp, #0x60]
+            add     x3, fp, #160
             str     x3, [sp, #0x18]
-                      ;; size=28 bbWeight=1 PerfScore 6.50
+                      ;; size=32 bbWeight=1 PerfScore 7.50
 G_M8719_IG29:        ; bbWeight=1, gcVars=0000000000000800 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x1, [fp, #0x18]    // [V02 loc0]
             ; gcrRegs +[x1]
-            mov     w19, wzr
-            ldr     w20, [x1, #0x08]
-            cmp     w20, #0
+            mov     w25, wzr
+            ldr     w26, [x1, #0x08]
+            cmp     w26, #0
             ble     G_M8719_IG31
-            add     x21, x1, #16
-            ; byrRegs +[x21]
-            adrp    x22, [HIGH RELOC #0xD1FFAB1E]
-            add     x22, x22, [LOW RELOC #0xD1FFAB1E]
+            add     x27, x1, #16
+            ; byrRegs +[x27]
+            adrp    x28, [HIGH RELOC #0xD1FFAB1E]
+            add     x28, x28, [LOW RELOC #0xD1FFAB1E]
                       ;; size=32 bbWeight=1 PerfScore 8.50
-G_M8719_IG30:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=200000 {x21}, gcvars, byref, isz
+G_M8719_IG30:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=8000000 {x27}, gcvars, byref, isz
             ; gcrRegs -[x1]
             ; GC ptr vars -{V02}
-            ldr     x0, [x21, w19, UXTW #3]
+            ldr     x0, [x27, w25, UXTW #3]
             ; gcrRegs +[x0]
-            mov     x11, x22
+            mov     x11, x28
             ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            add     w19, w19, #1
-            cmp     w20, w19
+            add     w25, w25, #1
+            cmp     w26, w25
             bgt     G_M8719_IG30
                        ;; size=32 bbWeight=8 PerfScore 100.00
 G_M8719_IG31:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
-            ; byrRegs -[x21]
+            ; byrRegs -[x27]
+            ldp     x27, x28, [sp, #0x60]
             ldp     x25, x26, [sp, #0x50]
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x60
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-                        ;; size=24 bbWeight=1 PerfScore 16.00
+                     ;; size=28 bbWeight=1 PerfScore 19.00
 
-; Total bytes of code 804, prolog size 56, PerfScore 1434.00, instruction count 201, allocated bytes for code 804 (MethodHash=4aa4ddf0) for method System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (FullOpts)
+; Total bytes of code 836, prolog size 60, PerfScore 1446.00, instruction count 209, allocated bytes for code 836 (MethodHash=4aa4ddf0) for method System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (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
...
  
+4 (+4.17%) : 45572.dasm - Microsoft.CodeAnalysis.CSharp.ReadWriteWalker:GetRangeVariableUnderlyingParameter(Microsoft.CodeAnalysis.CSharp.BoundNode):Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol (FullOpts)
@@ -23,14 +23,14 @@ G_M12753_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M12753_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
-            cbz     x0, G_M12753_IG04
+            cbz     x0, G_M12753_IG07
                       ;; size=4 bbWeight=1 PerfScore 1.00
 G_M12753_IG03:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldrb    w11, [x0, #0x12]
             cmp     w11, #117
-            beq     G_M12753_IG06
+            beq     G_M12753_IG05
             cmp     w11, #188
-            bne     G_M12753_IG04
+            bne     G_M12753_IG07
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x11]
@@ -41,14 +41,10 @@ G_M12753_IG03:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
                        ;; size=44 bbWeight=4 PerfScore 60.00
 G_M12753_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
-            mov     x0, xzr
+            b       G_M12753_IG07
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
+G_M12753_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0]
-                      ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M12753_IG05:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M12753_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x11]
@@ -56,12 +52,21 @@ G_M12753_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
             ; gcr arg pop 0
             ldr     x0, [x0, #0x20]
                        ;; size=20 bbWeight=0.50 PerfScore 4.00
-G_M12753_IG07:        ; bbWeight=0.50, epilog, nogc, extend
+G_M12753_IG06:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     fp, lr, [sp], #0x10
+            ret     lr
+                       ;; size=8 bbWeight=0.50 PerfScore 1.00
+G_M12753_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0]
+            mov     x0, xzr
+            ; gcrRegs +[x0]
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M12753_IG08:        ; 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 96, prolog size 8, PerfScore 68.75, instruction count 24, allocated bytes for code 96 (MethodHash=9540ce2e) for method Microsoft.CodeAnalysis.CSharp.ReadWriteWalker:GetRangeVariableUnderlyingParameter(Microsoft.CodeAnalysis.CSharp.BoundNode):Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol (FullOpts)
+; Total bytes of code 100, prolog size 8, PerfScore 69.25, instruction count 25, allocated bytes for code 100 (MethodHash=9540ce2e) for method Microsoft.CodeAnalysis.CSharp.ReadWriteWalker:GetRangeVariableUnderlyingParameter(Microsoft.CodeAnalysis.CSharp.BoundNode):Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -72,7 +77,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 24 (0x00018) Actual length = 96 (0x000060)
+  Function Length   : 25 (0x00019) Actual length = 100 (0x000064)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+16 (+4.30%) : 176594.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
@@ -13,55 +13,56 @@
 ;  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  ->   x3        
-;  V04 loc1         [V04,T17] (  2,  1   )     int  ->   x5        
+;  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  ->   x3         "Inlining Arg"
+;  V07 tmp2         [V07,T03] (  3, 24   )  ushort  ->  x11         "Inlining Arg"
 ;* V08 tmp3         [V08,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp4         [V09,T04] (  3, 24   )  ushort  ->   x5         "Inlining Arg"
+;  V09 tmp4         [V09,T04] (  3, 24   )  ushort  ->  x11         "Inlining Arg"
 ;* V10 tmp5         [V10,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V11 tmp6         [V11,T15] (  3,  3   )  ushort  ->   x6         "Inlining Arg"
+;  V11 tmp6         [V11,T15] (  3,  3   )  ushort  ->  x11         "Inlining Arg"
 ;* V12 tmp7         [V12,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V13 tmp8         [V13,T05] (  3, 24   )  ushort  ->   x6         "Inlining Arg"
+;  V13 tmp8         [V13,T05] (  3, 24   )  ushort  ->  x11         "Inlining Arg"
 ;* V14 tmp9         [V14,T14] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V15 tmp10        [V15,T06] (  3, 24   )  ushort  ->   x7         "Inlining Arg"
-;  V16 cse0         [V16,T09] (  3, 12   )     int  ->   x6         "CSE - aggressive"
-;  V17 cse1         [V17,T08] (  5, 13   )     int  ->  registers   multi-def "CSE - aggressive"
-;  V18 cse2         [V18,T01] ( 13, 46.50)     int  ->  x11         hoist "CSE - aggressive"
-;  V19 cse3         [V19,T02] (  9, 25.50)   byref  ->  registers   multi-def "CSE - aggressive"
+;  V15 tmp10        [V15,T06] (  3, 24   )  ushort  ->   x5         "Inlining Arg"
+;  V16 cse0         [V16,T09] (  3, 12   )     int  ->  x11         "CSE - aggressive"
+;  V17 cse1         [V17,T08] (  5, 13   )     int  ->  x11         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     w11, [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     w11, 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, w11
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x3, x0, #12
-            ; byrRegs +[x3]
-            ldrh    w3, [x3, w1, UXTW #2]
-            ; byrRegs -[x3]
-            cmp     w3, #32
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w11, [x20, w1, UXTW #2]
+            cmp     w11, #32
             beq     G_M63854_IG03
-            cmp     w3, #9
+            cmp     w11, #9
             beq     G_M63854_IG03
                        ;; size=32 bbWeight=4 PerfScore 32.00
 G_M63854_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
+            ; byrRegs -[x20]
             sxtw    w3, w1
             b       G_M63854_IG08
                        ;; size=8 bbWeight=1 PerfScore 1.50
@@ -69,25 +70,25 @@ G_M63854_IG07:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, by
             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     w11, 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, w11
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x4, x0, #12
-            ; byrRegs +[x4]
-            ldrh    w5, [x4, w1, UXTW #2]
-            cmp     w5, #61
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w11, [x20, w1, UXTW #2]
+            cmp     w11, #61
             beq     G_M63854_IG10
-            cmp     w5, #32
+            cmp     w11, #32
             beq     G_M63854_IG10
-            cmp     w5, #9
+            cmp     w11, #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 -[x4]
-            cmp     w11, 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
@@ -97,78 +98,80 @@ G_M63854_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, b
             ; gcrRegs +[x0]
                        ;; 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
-            sub     w5, w1, w3
-            cmp     w1, w11
+            sub     w4, w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x4, x0, #12
-            ; byrRegs +[x4]
-            ldrh    w6, [x4, w1, UXTW #2]
-            cmp     w6, #32
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w11, [x20, w1, UXTW #2]
+            cmp     w11, #32
             beq     G_M63854_IG15
-            cmp     w6, #9
+            cmp     w11, #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=0014 {x2 x4}, 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=0014 {x2 x4}, byref, isz
-            cmp     w11, w1
+G_M63854_IG15:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             ble     G_M63854_IG16
-            cmp     w1, w11
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w6, [x4, w1, UXTW #2]
-            cmp     w6, #32
+            ldrh    w11, [x20, w1, UXTW #2]
+            cmp     w11, #32
             beq     G_M63854_IG14
-            cmp     w6, #9
+            cmp     w11, #9
             beq     G_M63854_IG14
                        ;; size=36 bbWeight=4 PerfScore 36.00
-G_M63854_IG16:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0014 {x2 x4}, byref, isz
-            cmp     w11, 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, w11
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w6, [x4, w1, UXTW #2]
-            cmp     w6, #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 -[x4]
+            ; byrRegs -[x20]
             str     w1, [x2]
             mov     x0, xzr
             ; gcrRegs +[x0]
                        ;; 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=0014 {x2 x4}, gcvars, byref
-            ; byrRegs +[x4]
+                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+G_M63854_IG19:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, gcvars, byref
+            ; byrRegs +[x20]
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0014 {x2 x4}, byref, isz
-            cmp     w11, w1
+G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             ble     G_M63854_IG21
-            cmp     w1, w11
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w6, [x4, w1, UXTW #2]
-            sxtw    w7, w6
-            cmp     w7, #32
+            ldrh    w11, [x20, w1, UXTW #2]
+            sxtw    w5, w11
+            cmp     w5, #32
             beq     G_M63854_IG19
-            cmp     w7, #9
+            cmp     w5, #9
             beq     G_M63854_IG19
-            cmp     w6, #61
+            cmp     w11, #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 -[x4]
+            ; byrRegs -[x20]
             str     w1, [x2]
-            mov     w2, w5
+            mov     w2, w4
             ; byrRegs -[x2]
             mov     w1, w3
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -176,10 +179,11 @@ G_M63854_IG21:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2},
             ldr     x3, [x11]
                        ;; size=24 bbWeight=0.50 PerfScore 3.00
 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]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -190,18 +194,18 @@ G_M63854_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             brk_unix #0
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 372, prolog size 8, PerfScore 207.00, instruction count 93, allocated bytes for code 372 (MethodHash=532b0691) for method System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
...
  
  
libraries.pmi.osx.arm64.checked.mch
-4 (-3.57%) : 63058.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%) : 67066.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%) : 217286.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]
...
  
+12 (+27.27%) : 305817.dasm - System.IO.Hashing.Crc32:UpdateVectorized(uint,System.ReadOnlySpan`1[ubyte]):uint (FullOpts)
@@ -96,8 +96,8 @@
 ;* V85 tmp70        [V85    ] (  0,  0   )  simd16  ->  zero-ref    HFA(simd16)  "Inline return value spill temp" <System.Runtime.Intrinsics.Vector128`1[ulong]>
 ;* V86 tmp71        [V86    ] (  0,  0   )  simd16  ->  zero-ref    HFA(simd16)  ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector128`1[ulong]>
 ;* V87 tmp72        [V87    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;  V88 tmp73        [V88,T00] (  2,  1   )   byref  ->  [fp+0x18]  single-def "field V01._reference (fldOffset=0x0)" P-INDEP
-;  V89 tmp74        [V89,T01] (  1,  1   )     int  ->   x2         single-def "field V01._length (fldOffset=0x8)" P-INDEP
+;  V88 tmp73        [V88,T00] (  2,  1   )   byref  ->  [fp+0x10]  single-def "field V01._reference (fldOffset=0x0)" P-INDEP
+;  V89 tmp74        [V89,T01] (  2,  1   )     int  ->  [fp+0x1C]  single-def "field V01._length (fldOffset=0x8)" P-INDEP
 ;* V90 tmp75        [V90    ] (  0,  0   )   byref  ->  zero-ref    "field V21._reference (fldOffset=0x0)" P-INDEP
 ;* V91 tmp76        [V91    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
 ;* V92 tmp77        [V92    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -110,13 +110,16 @@
 G_M1352_IG01:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x20]!
             mov     fp, sp
-            str     x1, [fp, #0x18]    // [V88 tmp73]
+            str     x1, [fp, #0x10] // [V88 tmp73]
             ; GC ptr vars +{V88}
-                        ;; size=12 bbWeight=0 PerfScore 0.00
+            str     w2, [fp, #0x1C]   // [V89 tmp74]
+                       ;; size=16 bbWeight=0 PerfScore 0.00
 G_M1352_IG02:        ; bbWeight=0, gcVars=0000000000000001 {V88}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ldr     x1, [fp, #0x18]  // [V88 tmp73]
+            ldr     x1, [fp, #0x10] // [V88 tmp73]
             ; byrRegs +[x1]
             ldrsb   wzr, [x1]
+            ldr     w2, [fp, #0x1C] // [V89 tmp74]
+            cmp     w2, #128
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowUnreachableException()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -125,9 +128,9 @@ G_M1352_IG02:        ; bbWeight=0, gcVars=0000000000000001 {V88}, gcrefRegs=0000
             blr     x0
             ; byrRegs -[x1]
             brk_unix #0
-                      ;; size=32 bbWeight=0 PerfScore 0.00
+                      ;; size=40 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 44, prolog size 8, PerfScore 0.00, instruction count 11, allocated bytes for code 44 (MethodHash=d8e4fab7) for method System.IO.Hashing.Crc32:UpdateVectorized(uint,System.ReadOnlySpan`1[ubyte]):uint (FullOpts)
+; Total bytes of code 56, prolog size 8, PerfScore 0.00, instruction count 14, allocated bytes for code 56 (MethodHash=d8e4fab7) for method System.IO.Hashing.Crc32:UpdateVectorized(uint,System.ReadOnlySpan`1[ubyte]):uint (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -138,7 +141,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 11 (0x0000b) Actual length = 44 (0x00002c)
+  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
   ---- Epilog scopes ----
   No epilogs
   ---- Unwind codes ----
  
+12 (+27.27%) : 305834.dasm - System.IO.Hashing.Crc64:UpdateVectorized(ulong,System.ReadOnlySpan`1[ubyte]):ulong (FullOpts)
@@ -175,8 +175,8 @@
 ;* V164 tmp147      [V164    ] (  0,  0   )  simd16  ->  zero-ref    HFA(simd16)  "Inline return value spill temp" <System.Runtime.Intrinsics.Vector128`1[ulong]>
 ;* V165 tmp148      [V165    ] (  0,  0   )  simd16  ->  zero-ref    HFA(simd16)  ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector128`1[ulong]>
 ;* V166 tmp149      [V166    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;  V167 tmp150      [V167,T00] (  2,  1   )   byref  ->  [fp+0x18]  single-def "field V01._reference (fldOffset=0x0)" P-INDEP
-;  V168 tmp151      [V168,T01] (  1,  1   )     int  ->   x2         single-def "field V01._length (fldOffset=0x8)" P-INDEP
+;  V167 tmp150      [V167,T00] (  2,  1   )   byref  ->  [fp+0x10]  single-def "field V01._reference (fldOffset=0x0)" P-INDEP
+;  V168 tmp151      [V168,T01] (  2,  1   )     int  ->  [fp+0x1C]  single-def "field V01._length (fldOffset=0x8)" P-INDEP
 ;* V169 tmp152      [V169    ] (  0,  0   )   byref  ->  zero-ref    "field V23._reference (fldOffset=0x0)" P-INDEP
 ;* V170 tmp153      [V170    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
 ;* V171 tmp154      [V171    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V25._reference (fldOffset=0x0)" P-INDEP
@@ -189,13 +189,16 @@
 G_M26443_IG01:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x20]!
             mov     fp, sp
-            str     x1, [fp, #0x18]    // [V167 tmp150]
+            str     x1, [fp, #0x10]   // [V167 tmp150]
             ; GC ptr vars +{V167}
-                     ;; size=12 bbWeight=0 PerfScore 0.00
+            str     w2, [fp, #0x1C]   // [V168 tmp151]
+                       ;; size=16 bbWeight=0 PerfScore 0.00
 G_M26443_IG02:        ; bbWeight=0, gcVars=0000000000000001 {V167}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ldr     x1, [fp, #0x18]    // [V167 tmp150]
+            ldr     x1, [fp, #0x10]   // [V167 tmp150]
             ; byrRegs +[x1]
             ldrsb   wzr, [x1]
+            ldr     w2, [fp, #0x1C] // [V168 tmp151]
+            cmp     w2, #0xD1FFAB1E
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowUnreachableException()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -204,9 +207,9 @@ G_M26443_IG02:        ; bbWeight=0, gcVars=0000000000000001 {V167}, gcrefRegs=00
             blr     x0
             ; byrRegs -[x1]
             brk_unix #0
-                      ;; size=32 bbWeight=0 PerfScore 0.00
+                      ;; size=40 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 44, prolog size 8, PerfScore 0.00, instruction count 11, allocated bytes for code 44 (MethodHash=f22d98b4) for method System.IO.Hashing.Crc64:UpdateVectorized(ulong,System.ReadOnlySpan`1[ubyte]):ulong (FullOpts)
+; Total bytes of code 56, prolog size 8, PerfScore 0.00, instruction count 14, allocated bytes for code 56 (MethodHash=f22d98b4) for method System.IO.Hashing.Crc64:UpdateVectorized(ulong,System.ReadOnlySpan`1[ubyte]):ulong (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -217,7 +220,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 11 (0x0000b) Actual length = 44 (0x00002c)
+  Function Length   : 14 (0x0000e) Actual length = 56 (0x000038)
   ---- Epilog scopes ----
   No epilogs
   ---- Unwind codes ----
  
+28 (+35.00%) : 259373.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:IsDynamicallyTypedRuntimeProxy(System.Dynamic.DynamicMetaObject,Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo):ubyte (FullOpts)
@@ -15,38 +15,51 @@
 ;* V04 tmp1         [V04    ] (  0,  0   )     int  ->  zero-ref   
 ;* V05 tmp2         [V05,T03] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Object>
 ;* V06 tmp3         [V06    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;* V07 rat0         [V07,T02] (  0,  0   )     ref  ->  zero-ref    "Spilling to split statement for tree"
+;  V07 rat0         [V07,T02] (  2,  2   )     ref  ->  x19         "Spilling to split statement for tree"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M52904_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_M52904_IG02:        ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0-x1]
-            cbz     x1, G_M52904_IG04
+            cbz     x1, G_M52904_IG05
                        ;; size=4 bbWeight=1 PerfScore 1.00
 G_M52904_IG03:        ; bbWeight=0.50, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
             ldr     w1, [x1, #0x10]
             ; gcrRegs -[x1]
-            tbnz    w1, #0, G_M52904_IG04
-            ldr     xzr, [x0, #0x08]
+            tbnz    w1, #0, G_M52904_IG05
+            ldr     x19, [x0, #0x08]
+            ; gcrRegs +[x19]
             movz    x0, #0xD1FFAB1E
             ; gcrRegs -[x0]
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
             ldr     w0, [x0]
-            tbz     w0, #0, G_M52904_IG06
+            tbz     w0, #0, G_M52904_IG07
                      ;; size=32 bbWeight=0.50 PerfScore 6.25
-G_M52904_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52904_IG04:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+            movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #1 LSL #32
+            ldr     x0, [x0]
+            ; gcrRegs +[x0]
+            cmp     x19, x0
+                       ;; size=20 bbWeight=0.50 PerfScore 2.50
+G_M52904_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0 x19]
             mov     w0, wzr
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M52904_IG05:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M52904_IG06:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x19, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M52904_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                      ;; size=12 bbWeight=1 PerfScore 4.00
+G_M52904_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs +[x19]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -55,18 +68,18 @@ G_M52904_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             b       G_M52904_IG04
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 80, prolog size 8, PerfScore 11.25, instruction count 20, allocated bytes for code 80 (MethodHash=c74e3157) for method Microsoft.CSharp.RuntimeBinder.BinderHelper:IsDynamicallyTypedRuntimeProxy(System.Dynamic.DynamicMetaObject,Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo):ubyte (FullOpts)
+; Total bytes of code 108, prolog size 12, PerfScore 16.75, instruction count 27, allocated bytes for code 108 (MethodHash=c74e3157) for method Microsoft.CSharp.RuntimeBinder.BinderHelper:IsDynamicallyTypedRuntimeProxy(System.Dynamic.DynamicMetaObject,Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo):ubyte (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   : 20 (0x00014) Actual length = 80 (0x000050)
+  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)
@@ -74,7 +87,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
 
  
  
libraries_tests.run.osx.arm64.Release.mch
-24 (-7.41%) : 224873.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, 14.24)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T02] (  8, 16.34)     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,T03] (  6, 15.21)     ref  ->  x23         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T01] (  9, 20.29)     int  ->  x24        
-;  V07 loc5         [V07,T00] (  5, 22.33)     ref  ->   x0         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T03] (  6, 17.31)     ref  ->  x23         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T00] (  6, 22.40)     int  ->  x24        
+;  V07 loc5         [V07,T01] (  5, 22.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,T05] (  2,  9.06)     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.99, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
@@ -59,39 +59,28 @@ G_M50755_IG04:        ; bbWeight=0.99, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0.99 PerfScore 4.96
-G_M50755_IG05:        ; bbWeight=4.21, 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=4.21 PerfScore 31.59
-G_M50755_IG06:        ; bbWeight=33.70, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
-            b       G_M50755_IG15
-                       ;; size=4 bbWeight=33.70 PerfScore 33.70
-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     w0, [x21, #0x08]
             cmp     w0, #0
-            ble     G_M50755_IG17
+            ble     G_M50755_IG15
                        ;; size=16 bbWeight=0.01 PerfScore 0.04
-G_M50755_IG08:        ; bbWeight=0.07, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG06:        ; bbWeight=0.07, 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.07 PerfScore 0.33
-G_M50755_IG09:        ; bbWeight=0.07, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG07:        ; bbWeight=0.07, 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.07 PerfScore 0.36
-G_M50755_IG10:        ; bbWeight=4.53, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG08:        ; bbWeight=4.53, 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=4.53, 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=4.53 PerfScore 43.02
-G_M50755_IG11:        ; bbWeight=4.21, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG09:        ; bbWeight=4.21, 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=4.21, 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=4.21 PerfScore 27.38
-G_M50755_IG12:        ; bbWeight=1.05, 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.05 PerfScore 1.05
-G_M50755_IG13:        ; bbWeight=4.53, 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=4.21 PerfScore 63.18
+G_M50755_IG10:        ; bbWeight=4.53, 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=4.53, 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=4.53 PerfScore 52.08
-G_M50755_IG14:        ; bbWeight=4.53, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG11:        ; bbWeight=4.53, 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=4.53 PerfScore 27.17
-G_M50755_IG15:        ; bbWeight=2.11, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bgt     G_M50755_IG08
+                       ;; size=16 bbWeight=4.53 PerfScore 22.64
+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=4.21, 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=2.11, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2 x23]
             ; gcr arg pop 0
-                      ;; size=16 bbWeight=2.11 PerfScore 5.26
-G_M50755_IG16:        ; bbWeight=0.08, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+                     ;; size=16 bbWeight=4.21 PerfScore 10.53
+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.40
-G_M50755_IG17:        ; bbWeight=0.01, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M50755_IG15:        ; bbWeight=0.01, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             add     x14, x20, #8
             ; byrRegs +[x14]
@@ -164,23 +159,15 @@ G_M50755_IG17:        ; bbWeight=0.01, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ; gcrRegs -[x15 x19-x20]
             ; byrRegs -[x14]
                        ;; size=12 bbWeight=0.01 PerfScore 0.02
-G_M50755_IG18:        ; bbWeight=0.01, epilog, nogc, extend
+G_M50755_IG16:        ; 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.04
-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 238.89, 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 209.17, 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%) : 209400.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, 11.33)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T02] (  8, 12.86)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
 ;  V02 loc0         [V02,T07] (  3,  2.02)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V03 loc1         [V03,T09] (  4,  0.23)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V04 loc2         [V04,T08] (  5,  0.41)     int  ->  x22        
-;  V05 loc3         [V05,T03] (  6, 11.17)     ref  ->  x23         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T01] (  9, 15.05)     int  ->  x24        
-;  V07 loc5         [V07,T00] (  5, 16.50)     ref  ->   x0         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T03] (  6, 12.70)     ref  ->  x23         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T00] (  6, 16.57)     int  ->  x24        
+;  V07 loc5         [V07,T01] (  5, 16.50)     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,  6.72)     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.98, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
@@ -59,39 +59,28 @@ G_M50755_IG04:        ; bbWeight=0.98, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0.98 PerfScore 4.89
-G_M50755_IG05:        ; bbWeight=3.06, 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.06 PerfScore 22.93
-G_M50755_IG06:        ; bbWeight=24.46, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
-            b       G_M50755_IG15
-                       ;; size=4 bbWeight=24.46 PerfScore 24.46
-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.11
-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.36, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG08:        ; bbWeight=3.36, 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=3.36, 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.36 PerfScore 31.92
-G_M50755_IG11:        ; bbWeight=3.06, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG09:        ; bbWeight=3.06, 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=3.06, 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=3.06 PerfScore 19.87
-G_M50755_IG12:        ; bbWeight=0.76, 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.76 PerfScore 0.76
-G_M50755_IG13:        ; bbWeight=3.36, 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=3.06 PerfScore 45.86
+G_M50755_IG10:        ; bbWeight=3.36, 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=3.36, 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.36 PerfScore 38.63
-G_M50755_IG14:        ; bbWeight=3.36, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG11:        ; bbWeight=3.36, 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.36 PerfScore 20.16
-G_M50755_IG15:        ; bbWeight=1.53, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bgt     G_M50755_IG08
+                       ;; size=16 bbWeight=3.36 PerfScore 16.80
+G_M50755_IG12:        ; bbWeight=0.10, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x23]
+            b       G_M50755_IG14
+                       ;; size=4 bbWeight=0.10 PerfScore 0.10
+G_M50755_IG13:        ; bbWeight=3.06, 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=1.53, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2 x23]
             ; gcr arg pop 0
-                      ;; size=16 bbWeight=1.53 PerfScore 3.82
-G_M50755_IG16:        ; bbWeight=0.10, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+                     ;; size=16 bbWeight=3.06 PerfScore 7.64
+G_M50755_IG14:        ; 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.50
-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]
@@ -164,23 +159,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.04
-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.11
-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 180.43, 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 158.83, 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 (-6.25%) : 272873.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalListInOrder(System.Canon[]):this (Tier1)
@@ -10,13 +10,13 @@
 ; 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.82)     ref  ->  x20         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T01] (  8,  3.98)     ref  ->  x20         class-hnd single-def <System.__Canon[]>
 ;  V02 loc0         [V02,T02] (  3,  2.02)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V03 loc1         [V03,T08] (  4,  0.15)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V04 loc2         [V04,T07] (  5,  0.24)     int  ->  x22        
-;  V05 loc3         [V05,T05] (  6,  0.87)     ref  ->  x23         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T03] (  9,  1.46)     int  ->  x24        
-;  V07 loc5         [V07,T04] (  5,  0.95)     ref  ->   x0         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T04] (  6,  1.03)     ref  ->  x23         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T03] (  6,  1.61)     int  ->  x24        
+;  V07 loc5         [V07,T05] (  5,  0.95)     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, [x19, #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]
@@ -59,39 +59,28 @@ G_M50755_IG04:        ; bbWeight=0.98, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0.98 PerfScore 4.88
-G_M50755_IG05:        ; bbWeight=0.32, 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=0.32 PerfScore 2.37
-G_M50755_IG06:        ; bbWeight=2.53, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
-            b       G_M50755_IG12
-                       ;; size=4 bbWeight=2.53 PerfScore 2.53
-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     w1, [x21, #0x08]
             cmp     w1, #0
-            ble     G_M50755_IG14
+            ble     G_M50755_IG13
                        ;; size=16 bbWeight=0.02 PerfScore 0.12
-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_IG14
+            cbz     x23, G_M50755_IG13
                        ;; size=12 bbWeight=0.04 PerfScore 0.17
-G_M50755_IG09:        ; bbWeight=0.03, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG07:        ; bbWeight=0.03, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x1]
             mov     w24, wzr
             ldr     w1, [x20, #0x08]
             cmp     w1, #0
-            ble     G_M50755_IG13
+            ble     G_M50755_IG12
                        ;; size=16 bbWeight=0.03 PerfScore 0.17
-G_M50755_IG10:        ; bbWeight=0.32, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG08:        ; bbWeight=0.32, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     x1, x20, #16
             ; byrRegs +[x1]
             ldr     x0, [x1, w24, UXTW #3]
@@ -102,7 +91,7 @@ G_M50755_IG10:        ; bbWeight=0.32, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             cmp     x1, x2
-            bne     G_M50755_IG16
+            bne     G_M50755_IG15
             mov     x1, x23
             ; gcrRegs +[x1]
             ldr     x1, [x1]
@@ -111,17 +100,25 @@ G_M50755_IG10:        ; bbWeight=0.32, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             cmp     x1, x2
-            beq     G_M50755_IG05
-                       ;; size=60 bbWeight=0.32 PerfScore 5.06
-G_M50755_IG11:        ; bbWeight=0.32, 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=76 bbWeight=0.32 PerfScore 7.43
+G_M50755_IG09:        ; bbWeight=0.32, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
-            ldr     w0, [x20, #0x08]
-            cmp     w0, w24
-            ble     G_M50755_IG13
-            b       G_M50755_IG10
-                       ;; size=20 bbWeight=0.32 PerfScore 1.90
-G_M50755_IG12:        ; bbWeight=0.16, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            ldr     w1, [x20, #0x08]
+            cmp     w1, w24
+            bgt     G_M50755_IG08
+                       ;; size=16 bbWeight=0.32 PerfScore 1.58
+G_M50755_IG10:        ; bbWeight=0.06, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x23]
+            b       G_M50755_IG12
+                       ;; size=4 bbWeight=0.06 PerfScore 0.06
+G_M50755_IG11:        ; bbWeight=0.32, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x23]
             sxtw    x1, w24
             mov     x0, x20
             ; gcrRegs +[x0]
@@ -130,14 +127,14 @@ G_M50755_IG12:        ; bbWeight=0.16, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2 x23]
             ; gcr arg pop 0
-                      ;; size=16 bbWeight=0.16 PerfScore 0.40
-G_M50755_IG13:        ; bbWeight=0.06, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+                     ;; size=16 bbWeight=0.32 PerfScore 0.79
+G_M50755_IG12:        ; bbWeight=0.06, 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.06 PerfScore 0.29
-G_M50755_IG14:        ; bbWeight=0.02, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M50755_IG13:        ; bbWeight=0.02, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             add     x14, x19, #8
             ; byrRegs +[x14]
@@ -147,14 +144,14 @@ G_M50755_IG14:        ; bbWeight=0.02, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ; gcrRegs -[x15 x19-x20]
             ; byrRegs -[x14]
                        ;; size=12 bbWeight=0.02 PerfScore 0.05
-G_M50755_IG15:        ; bbWeight=0.02, epilog, nogc, extend
+G_M50755_IG14:        ; 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.12
-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]
@@ -164,15 +161,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, [x20, #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 320, prolog size 28, PerfScore 29.51, instruction count 80, allocated bytes for code 320 (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 27.11, 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:
@@ -183,7 +176,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 80 (0x00050) Actual length = 320 (0x000140)
+  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%) : 617643.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.02)     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Threading.CancellationToken]>
-;  V05 tmp3         [V05,T04] (  5,  4.92)     ref  ->   x3         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T02] (  6,  5.77)     int  ->  x14         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T06] (  3,  3.04)     int  ->  x15         "Inline stloc first use temp"
+;  V05 tmp3         [V05,T04] (  5,  4.92)     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V06 tmp4         [V06,T02] (  6,  5.77)     int  ->   x4         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T06] (  3,  3.04)     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.95)     ref  ->   x1         single-def "field V01._source (fldOffset=0x0)" P-INDEP
-;  V11 cse0         [V11,T05] (  4,  3.92)    long  ->   x5         "CSE - aggressive"
-;  V12 cse1         [V12,T07] (  3,  2.92)   byref  ->   x4         hoist "CSE - aggressive"
-;  V13 cse2         [V13,T10] (  2,  2.02)     int  ->  x12         "CSE - aggressive"
-;  V14 cse3         [V14,T08] (  3,  2.78)     int  ->   x6         "CSE - aggressive"
+;  V11 cse0         [V11,T05] (  4,  3.92)    long  ->  x20         "CSE - aggressive"
+;  V12 cse1         [V12,T07] (  3,  2.92)   byref  ->   x3         hoist "CSE - aggressive"
+;  V13 cse2         [V13,T10] (  2,  2.02)     int  ->   x6         "CSE - aggressive"
+;  V14 cse3         [V14,T08] (  3,  2.78)     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.01, 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.01, 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.01 PerfScore 17.71
-G_M43759_IG04:        ; bbWeight=0.91, 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.91, 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.91 PerfScore 5.02
-G_M43759_IG05:        ; bbWeight=0.95, gcrefRegs=000A {x1 x3}, byrefRegs=0000 {}, byref
+G_M43759_IG05:        ; bbWeight=0.90, 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.90 PerfScore 0.90
+G_M43759_IG06:        ; bbWeight=0.10, 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.10 PerfScore 0.10
+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.95, 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.95, 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.95 PerfScore 3.80
-G_M43759_IG06:        ; bbWeight=0.95, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+G_M43759_IG10:        ; bbWeight=0.95, epilog, nogc, extend
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=8 bbWeight=0.95 PerfScore 1.90
-G_M43759_IG07:        ; bbWeight=0.10, 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.10 PerfScore 0.10
-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.95 PerfScore 4.75
+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.03, 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 51.78, 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%) : 530596.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
 
  
+32 (+20.51%) : 615127.dasm - System.Collections.Concurrent.ConcurrentQueue1[System.Collections.Generic.KeyValuePair2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
@@ -9,116 +9,123 @@
 ; 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.Collections.Generic.KeyValuePair`2[int,long]]>
+;  V00 this         [V00,T01] (  4,  3.99)     ref  ->   x0         this class-hnd single-def <System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[int,long]]>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.Collections.Generic.KeyValuePair`2[int,long]>
 ;# 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,T04] (  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"
-;  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.97)     int  ->   x8         "CSE - aggressive"
+;  V09 tmp7         [V09,T11] (  3,  2.01)     int  ->   x6         "Inline stloc first use temp"
+;  V10 tmp8         [V10,T05] (  3,  2.98)     int  ->   x1         single-def "field V01.key (fldOffset=0x0)" P-INDEP
+;  V11 tmp9         [V11,T06] (  3,  2.98)    long  ->   x2         single-def "field V01.value (fldOffset=0x8)" P-INDEP
+;  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.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]
             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.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=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_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_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_IG07
+                       ;; 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]
+            b       G_M53455_IG09
+                       ;; size=4 bbWeight=1 PerfScore 1.00
+G_M53455_IG07:        ; bbWeight=0.99, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, 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_IG08:        ; 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_IG09:        ; bbWeight=0.99, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x19] +[x0]
+            ; byrRegs -[x0]
             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
+                      ;; size=16 bbWeight=0.99 PerfScore 4.45
+G_M53455_IG10:        ; bbWeight=0.99, 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_M53455_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                      ;; size=16 bbWeight=0.99 PerfScore 4.94
+G_M53455_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 156, prolog size 8, PerfScore 47.89, 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 188, prolog size 16, PerfScore 57.73, 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   : 39 (0x00027) Actual length = 156 (0x00009c)
+  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)
@@ -129,7 +136,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%) : 10675.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%) : 50412.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%) : 10578.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]
...
  
+4 (+9.09%) : 92087.dasm - System.Data.Tests.DataTableTest2+DataRowsComparer:.ctor(System.String,System.String):this (FullOpts)
@@ -35,6 +35,7 @@ G_M15830_IG02:        ; bbWeight=1, gcrefRegs=0007 {x0 x1 x2}, byrefRegs=0000 {}
             ; gcrRegs -[x1 x15]
             ; byrRegs -[x14]
             ldr     w14, [x2, #0x08]
+            cmp     w14, #3
             add     x14, x0, #16
             ; byrRegs +[x14]
             mov     x15, x2
@@ -42,13 +43,13 @@ G_M15830_IG02:        ; bbWeight=1, gcrefRegs=0007 {x0 x1 x2}, byrefRegs=0000 {}
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x0 x2 x15]
             ; byrRegs -[x14]
-                     ;; size=28 bbWeight=1 PerfScore 7.00
+                      ;; size=32 bbWeight=1 PerfScore 7.50
 G_M15830_IG03:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 44, prolog size 8, PerfScore 10.50, instruction count 11, allocated bytes for code 44 (MethodHash=434ac229) for method System.Data.Tests.DataTableTest2+DataRowsComparer:.ctor(System.String,System.String):this (FullOpts)
+; Total bytes of code 48, prolog size 8, PerfScore 11.00, instruction count 12, allocated bytes for code 48 (MethodHash=434ac229) for method System.Data.Tests.DataTableTest2+DataRowsComparer:.ctor(System.String,System.String):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -59,7 +60,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 11 (0x0000b) Actual length = 44 (0x00002c)
+  Function Length   : 12 (0x0000c) Actual length = 48 (0x000030)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+9.76%) : 201991.dasm - System.Tests.Int128Tests_GenericMath:IsPow2Test() (FullOpts)
@@ -148,7 +148,7 @@
 ;* V137 tmp137      [V137    ] (  0,  0   )    long  ->  zero-ref    single-def "field V45._upper (fldOffset=0x8)" P-INDEP
 ;* V138 tmp138      [V138    ] (  0,  0   )    long  ->  zero-ref    single-def "field V46._lower (fldOffset=0x0)" P-INDEP
 ;* V139 tmp139      [V139    ] (  0,  0   )    long  ->  zero-ref    single-def "field V46._upper (fldOffset=0x8)" P-INDEP
-;  V140 tmp140      [V140,T11] (  2,  2   )    long  ->   x1         single-def "field V59._lower (fldOffset=0x0)" P-INDEP
+;  V140 tmp140      [V140,T11] (  2,  2   )    long  ->   x2         single-def "field V59._lower (fldOffset=0x0)" P-INDEP
 ;* V141 tmp141      [V141    ] (  0,  0   )    long  ->  zero-ref    single-def "field V59._upper (fldOffset=0x8)" P-INDEP
 ;* V142 tmp142      [V142    ] (  0,  0   )    long  ->  zero-ref    single-def "field V60._lower (fldOffset=0x0)" P-INDEP
 ;* V143 tmp143      [V143    ] (  0,  0   )    long  ->  zero-ref    single-def "field V60._upper (fldOffset=0x8)" P-INDEP
@@ -162,7 +162,7 @@
 ;* V151 tmp151      [V151    ] (  0,  0   )    long  ->  zero-ref    single-def "field V66._upper (fldOffset=0x8)" P-INDEP
 ;* V152 tmp152      [V152    ] (  0,  0   )    long  ->  zero-ref    single-def "field V67._lower (fldOffset=0x0)" P-INDEP
 ;* V153 tmp153      [V153    ] (  0,  0   )    long  ->  zero-ref    single-def "field V67._upper (fldOffset=0x8)" P-INDEP
-;* V154 tmp154      [V154,T12] (  0,  0   )    long  ->  zero-ref    single-def "field V80._lower (fldOffset=0x0)" P-INDEP
+;  V154 tmp154      [V154,T12] (  2,  2   )    long  ->   x0         single-def "field V80._lower (fldOffset=0x0)" P-INDEP
 ;* V155 tmp155      [V155    ] (  0,  0   )    long  ->  zero-ref    single-def "field V80._upper (fldOffset=0x8)" P-INDEP
 ;* V156 tmp156      [V156    ] (  0,  0   )    long  ->  zero-ref    single-def "field V81._lower (fldOffset=0x0)" P-INDEP
 ;* V157 tmp157      [V157    ] (  0,  0   )    long  ->  zero-ref    single-def "field V81._upper (fldOffset=0x8)" P-INDEP
@@ -176,7 +176,7 @@
 ;* V165 tmp165      [V165    ] (  0,  0   )    long  ->  zero-ref    single-def "field V87._upper (fldOffset=0x8)" P-INDEP
 ;* V166 tmp166      [V166    ] (  0,  0   )    long  ->  zero-ref    single-def "field V88._lower (fldOffset=0x0)" P-INDEP
 ;* V167 tmp167      [V167    ] (  0,  0   )    long  ->  zero-ref    single-def "field V88._upper (fldOffset=0x8)" P-INDEP
-;* V168 tmp168      [V168,T13] (  0,  0   )    long  ->  zero-ref    single-def "field V101._lower (fldOffset=0x0)" P-INDEP
+;  V168 tmp168      [V168,T13] (  2,  2   )    long  ->   x1         single-def "field V101._lower (fldOffset=0x0)" P-INDEP
 ;* V169 tmp169      [V169    ] (  0,  0   )    long  ->  zero-ref    single-def "field V101._upper (fldOffset=0x8)" P-INDEP
 ;* V170 tmp170      [V170    ] (  0,  0   )    long  ->  zero-ref    single-def "field V102._lower (fldOffset=0x0)" P-INDEP
 ;* V171 tmp171      [V171    ] (  0,  0   )    long  ->  zero-ref    single-def "field V102._upper (fldOffset=0x8)" P-INDEP
@@ -185,8 +185,8 @@
 ;* V174 tmp174      [V174    ] (  0,  0   )   ubyte  ->  zero-ref    single-def "field V105.hasValue (fldOffset=0x0)" P-INDEP
 ;* V175 tmp175      [V175    ] (  0,  0   )   ubyte  ->  zero-ref    single-def "field V105.value (fldOffset=0x1)" P-INDEP
 ;  V176 tmp176      [V176,T37] (  9,  0   )  struct ( 8) [fp+0x18]  do-not-enreg[SF] "by-value struct argument" <System.Nullable`1[ubyte]>
-;  V177 cse0        [V177,T00] (  2,  2   )    long  ->   x1         "CSE - aggressive"
-;  V178 cse1        [V178,T01] (  2,  2   )    long  ->   x0         "CSE - aggressive"
+;  V177 cse0        [V177,T00] (  4,  4   )    long  ->   x1         "CSE - aggressive"
+;  V178 cse1        [V178,T01] (  3,  3   )    long  ->   x0         "CSE - aggressive"
 ;  V179 cse2        [V179,T02] (  3,  3   )    long  ->   x1         "CSE - aggressive"
 ;* V180 cse3        [V180,T36] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
 ;
@@ -245,9 +245,9 @@ G_M40196_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     d16, [@RWD08]
             cnt     v16.8b, v16.8b
             addv    b16, v16.8b
-            umov    w0, v16.b[0]
-            add     x1, x1, w0, UXTW
-            cmp     x1, #1
+            umov    w2, v16.b[0]
+            add     x2, x1, w2, UXTW
+            cmp     x2, #1
             bne     G_M40196_IG10
                        ;; size=52 bbWeight=1 PerfScore 14.50
 G_M40196_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -259,7 +259,15 @@ G_M40196_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M40196_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             cbnz    w2, G_M40196_IG15
-                        ;; size=4 bbWeight=1 PerfScore 1.00
+            ldr     d16, [@RWD16]
+            cnt     v16.8b, v16.8b
+            addv    b16, v16.8b
+            umov    w2, v16.b[0]
+            add     x0, x0, w2, UXTW
+            cmp     x0, #1
+            add     x1, x1, x1
+            cmp     x1, #1
+                       ;; size=36 bbWeight=1 PerfScore 9.50
 G_M40196_IG12:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x20
             ret     lr
@@ -312,9 +320,10 @@ G_M40196_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
                        ;; size=48 bbWeight=0 PerfScore 0.00
 RWD00      dq  0000000000000001h
 RWD08      dq  7FFFFFFFFFFFFFFFh
+RWD16    dq  8000000000000000h
 
 
-; Total bytes of code 328, prolog size 8, PerfScore 43.50, instruction count 82, allocated bytes for code 328 (MethodHash=59ac62fb) for method System.Tests.Int128Tests_GenericMath:IsPow2Test() (FullOpts)
+; Total bytes of code 360, prolog size 8, PerfScore 52.00, instruction count 90, allocated bytes for code 360 (MethodHash=59ac62fb) for method System.Tests.Int128Tests_GenericMath:IsPow2Test() (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -325,7 +334,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 82 (0x00052) Actual length = 328 (0x000148)
+  Function Length   : 90 (0x0005a) Actual length = 360 (0x000168)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+20 (+10.20%) : 178097.dasm - System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
@@ -12,7 +12,7 @@
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V02 tmp1         [V02,T09] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V03 tmp2         [V03,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V04 tmp3         [V04,T00] (  7, 20   )     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Type>
+;  V04 tmp3         [V04,T00] (  8, 22   )     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Type>
 ;* V05 tmp4         [V05,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V06 tmp5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Reflection.Emit.TypeBuilderImpl>
 ;* V07 tmp6         [V07,T08] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.Emit.TypeBuilderImpl>
@@ -52,7 +52,12 @@ G_M32453_IG04:        ; bbWeight=2, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=000
             ; gcrRegs +[x0 x20]
             cmp     x0, x20
             beq     G_M32453_IG07
-                        ;; size=8 bbWeight=2 PerfScore 3.00
+            ldr     x1, [x0]
+            movz    x2, #0xD1FFAB1E
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #1 LSL #32
+            cmp     x1, x2
+                       ;; size=28 bbWeight=2 PerfScore 13.00
 G_M32453_IG05:        ; bbWeight=4, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x1, [x0]
             ldr     x1, [x1, #0xA0]
@@ -116,7 +121,7 @@ G_M32453_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             brk_unix #0
                        ;; size=80 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 196, prolog size 12, PerfScore 62.75, instruction count 49, allocated bytes for code 196 (MethodHash=b7cb813a) for method System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
+; Total bytes of code 216, prolog size 12, PerfScore 72.75, instruction count 54, allocated bytes for code 216 (MethodHash=b7cb813a) for method System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -127,7 +132,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 49 (0x00031) Actual length = 196 (0x0000c4)
+  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)
  
  
realworld.run.osx.arm64.checked.mch
-4 (-1.23%) : 18311.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%) : 23077.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
...
  
+16 (+2.88%) : 19877.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
@@ -19,38 +19,39 @@
 ;* 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,T06] (  4, 12.50)     int  ->   x1         "Inline stloc first use temp"
+;  V15 tmp8         [V15,T06] (  4, 12.50)     int  ->  x23         "Inline stloc first use temp"
 ;  V16 tmp9         [V16,T17] (  2,  1   )     ref  ->   x0         single-def "field V05._array (fldOffset=0x0)" P-INDEP
-;  V17 tmp10        [V17,T05] (  4, 12.50)     int  ->  x23         "field V05._index (fldOffset=0x8)" P-INDEP
+;  V17 tmp10        [V17,T05] (  4, 12.50)     int  ->  x24         "field V05._index (fldOffset=0x8)" P-INDEP
 ;  V18 tmp11        [V18,T16] (  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,T18] (  2,  1   )     ref  ->   x0         single-def "field V13._array (fldOffset=0x0)" P-INDEP
 ;* V24 tmp17        [V24,T19] (  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,T14] (  0,  0   )   byref  ->  zero-ref    "argument with side effect"
 ;* V27 tmp20        [V27,T15] (  0,  0   )   byref  ->  zero-ref    "argument with side effect"
 ;  V28 tmp21        [V28,T00] (  3, 24   )     ref  ->   x0         "argument with side effect"
 ;  V29 cse0         [V29,T12] (  3,  5   )     int  ->  x19         "CSE - aggressive"
-;  V30 cse1         [V30,T13] (  2,  4.50)   byref  ->  x24         hoist "CSE - aggressive"
+;  V30 cse1         [V30,T13] (  2,  4.50)   byref  ->  x25         hoist "CSE - aggressive"
 ;  V31 cse2         [V31,T07] (  3, 12   )    long  ->  x24         "CSE - aggressive"
 ;  V32 cse3         [V32,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]
@@ -60,7 +61,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]
@@ -101,13 +102,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]
@@ -115,15 +116,15 @@ 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
             mov     x0, x19
             ; byrRegs +[x0]
-            add     x2, fp, #16   // [V25 tmp18]
+            add     x2, fp, #24 // [V25 tmp18]
             movz    x24, #0xD1FFAB1E
             movk    x24, #0xD1FFAB1E LSL #16
             movk    x24, #1 LSL #32
@@ -136,15 +137,15 @@ 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
             mov     x0, x19
             ; byrRegs +[x0]
-            add     x2, fp, #16   // [V25 tmp18]
+            add     x2, fp, #24 // [V25 tmp18]
             mov     x1, x24
             movz    x3, #0xD1FFAB1E      // code for <unknown method>
             movk    x3, #0xD1FFAB1E LSL #16
@@ -178,16 +179,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]
@@ -195,14 +196,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]
@@ -223,45 +224,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)
@@ -275,10 +279,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
 
  
+24 (+4.84%) : 10192.dasm - FSharp.Compiler.Infos+PropInfo:get_IsNewSlot():ubyte:this (FullOpts)
@@ -8,7 +8,7 @@
 ; 0 inlinees with PGO data; 5 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 12,  7.12)     ref  ->  x19         this class-hnd single-def <FSharp.Compiler.Infos+PropInfo>
+;  V00 this         [V00,T00] ( 13,  7.62)     ref  ->  x19         this class-hnd single-def <FSharp.Compiler.Infos+PropInfo>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <FSharp.Compiler.Infos+PropInfo>
 ;* V02 loc1         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <FSharp.Compiler.Infos+ILPropInfo>
 ;* V03 loc2         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
@@ -21,8 +21,8 @@
 ;* V10 tmp1         [V10,T06] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;* V11 tmp2         [V11,T01] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <<unknown class>>
 ;  V12 tmp3         [V12,T17] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;* V13 tmp4         [V13,T07] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
-;* V14 tmp5         [V14,T02] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <<unknown class>>
+;  V13 tmp4         [V13,T07] (  2,  2   )    long  ->   x2         "fgMakeTemp is creating a new local variable"
+;  V14 tmp5         [V14,T02] (  2,  2   )     ref  ->   x1         class-hnd "spilling QMark2" <<unknown class>>
 ;  V15 tmp6         [V15,T15] (  3,  1.25)    long  ->   x1         "fgMakeTemp is creating a new local variable"
 ;  V16 tmp7         [V16,T03] (  3,  2.50)     ref  ->   x0         class-hnd "spilling QMark2" <<unknown class>>
 ;* V17 tmp8         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
@@ -159,6 +159,14 @@ G_M6027_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M6027_IG14:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0] +[x19]
+            mov     x1, x19
+            ; gcrRegs +[x1]
+            ldr     x1, [x1]
+            ; gcrRegs -[x1]
+            movz    x2, #0xD1FFAB1E
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #1 LSL #32
+            cmp     x1, x2
             ldp     x0, x20, [x19, #0x10]
             ; gcrRegs +[x0]
             ldr     x19, [x19, #0x20]
@@ -179,7 +187,7 @@ G_M6027_IG14:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             movk    x0, #1 LSL #32
             ldr     w0, [x0]
             tbz     w0, #0, G_M6027_IG18
-                     ;; size=60 bbWeight=0.50 PerfScore 9.75
+                       ;; size=84 bbWeight=0.50 PerfScore 12.50
 G_M6027_IG15:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             movk    x0, #1 LSL #16
@@ -252,7 +260,7 @@ G_M6027_IG18:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, by
             b       G_M6027_IG15
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 496, prolog size 20, PerfScore 64.50, instruction count 124, allocated bytes for code 496 (MethodHash=e82ee874) for method FSharp.Compiler.Infos+PropInfo:get_IsNewSlot():ubyte:this (FullOpts)
+; Total bytes of code 520, prolog size 20, PerfScore 67.25, instruction count 130, allocated bytes for code 520 (MethodHash=e82ee874) for method FSharp.Compiler.Infos+PropInfo:get_IsNewSlot():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -263,7 +271,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 124 (0x0007c) Actual length = 496 (0x0001f0)
+  Function Length   : 130 (0x00082) Actual length = 520 (0x000208)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+24 (+4.88%) : 10213.dasm - FSharp.Compiler.Infos+PropInfo:get_IsStatic():ubyte:this (FullOpts)
@@ -8,7 +8,7 @@
 ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 12,  7.12)     ref  ->  x19         this class-hnd single-def <FSharp.Compiler.Infos+PropInfo>
+;  V00 this         [V00,T00] ( 13,  7.62)     ref  ->  x19         this class-hnd single-def <FSharp.Compiler.Infos+PropInfo>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <FSharp.Compiler.Infos+PropInfo>
 ;* V02 loc1         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <FSharp.Compiler.Infos+ILPropInfo>
 ;* V03 loc2         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
@@ -20,8 +20,8 @@
 ;* V09 tmp1         [V09,T06] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;* V10 tmp2         [V10,T01] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <<unknown class>>
 ;  V11 tmp3         [V11,T15] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;* V12 tmp4         [V12,T07] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
-;* V13 tmp5         [V13,T02] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <<unknown class>>
+;  V12 tmp4         [V12,T07] (  2,  2   )    long  ->   x2         "fgMakeTemp is creating a new local variable"
+;  V13 tmp5         [V13,T02] (  2,  2   )     ref  ->   x1         class-hnd "spilling QMark2" <<unknown class>>
 ;  V14 tmp6         [V14,T13] (  3,  1.25)    long  ->   x1         "fgMakeTemp is creating a new local variable"
 ;  V15 tmp7         [V15,T03] (  3,  2.50)     ref  ->   x0         class-hnd "spilling QMark2" <<unknown class>>
 ;* V16 tmp8         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
@@ -148,6 +148,14 @@ G_M37451_IG11:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
                        ;; size=8 bbWeight=0.50 PerfScore 2.00
 G_M37451_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0] +[x19]
+            mov     x1, x19
+            ; gcrRegs +[x1]
+            ldr     x1, [x1]
+            ; gcrRegs -[x1]
+            movz    x2, #0xD1FFAB1E
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #1 LSL #32
+            cmp     x1, x2
             ldp     x0, x20, [x19, #0x10]
             ; gcrRegs +[x0]
             ldr     x19, [x19, #0x20]
@@ -168,7 +176,7 @@ G_M37451_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             movk    x0, #1 LSL #32
             ldr     w0, [x0]
             tbz     w0, #0, G_M37451_IG16
-                        ;; size=60 bbWeight=0.50 PerfScore 9.75
+                       ;; size=84 bbWeight=0.50 PerfScore 12.50
 G_M37451_IG13:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             movk    x0, #1 LSL #16
@@ -241,7 +249,7 @@ G_M37451_IG16:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, b
             b       G_M37451_IG13
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 492, prolog size 20, PerfScore 59.00, instruction count 123, allocated bytes for code 492 (MethodHash=380a6db4) for method FSharp.Compiler.Infos+PropInfo:get_IsStatic():ubyte:this (FullOpts)
+; Total bytes of code 516, prolog size 20, PerfScore 61.75, instruction count 129, allocated bytes for code 516 (MethodHash=380a6db4) for method FSharp.Compiler.Infos+PropInfo:get_IsStatic():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -252,7 +260,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 123 (0x0007b) Actual length = 492 (0x0001ec)
+  Function Length   : 129 (0x00081) Actual length = 516 (0x000204)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
  
Details
Improvements/regressions per collection
| Collection | Contexts with diffs | Improvements | Regressions | Same size | Improvements (bytes) | Regressions (bytes) | 
| benchmarks.run_pgo.osx.arm64.checked.mch | 1,697 | 334 | 534 | 829 | -4,192 | +5,028 | 
| benchmarks.run_tiered.osx.arm64.checked.mch | 88 | 12 | 13 | 63 | -700 | +88 | 
| coreclr_tests.run.osx.arm64.checked.mch | 1,303 | 295 | 251 | 757 | -2,816 | +2,876 | 
| libraries.crossgen2.osx.arm64.checked.mch | 678 | 95 | 68 | 515 | -864 | +628 | 
| libraries.pmi.osx.arm64.checked.mch | 1,104 | 149 | 164 | 791 | -1,344 | +1,600 | 
| libraries_tests.run.osx.arm64.Release.mch | 5,945 | 1,496 | 1,309 | 3,140 | -17,148 | +13,308 | 
| librariestestsnotieredcompilation.run.osx.arm64.Release.mch | 1,346 | 211 | 210 | 925 | -2,176 | +2,212 | 
| realworld.run.osx.arm64.checked.mch | 255 | 37 | 32 | 186 | -300 | +356 | 
|  | 12,416 | 2,629 | 2,581 | 7,206 | -29,540 | +26,096 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| benchmarks.run_pgo.osx.arm64.checked.mch | 84,643 | 48,345 | 36,298 | 183 (0.22%) | 183 (0.22%) | 
| benchmarks.run_tiered.osx.arm64.checked.mch | 48,253 | 37,331 | 10,922 | 63 (0.13%) | 63 (0.13%) | 
| coreclr_tests.run.osx.arm64.checked.mch | 586,148 | 358,028 | 228,120 | 437 (0.07%) | 437 (0.07%) | 
| libraries.crossgen2.osx.arm64.checked.mch | 233,760 | 15 | 233,745 | 0 (0.00%) | 0 (0.00%) | 
| libraries.pmi.osx.arm64.checked.mch | 313,588 | 18 | 313,570 | 2,028 (0.64%) | 2,028 (0.64%) | 
| libraries_tests.run.osx.arm64.Release.mch | 631,294 | 462,062 | 169,232 | 963 (0.15%) | 963 (0.15%) | 
| librariestestsnotieredcompilation.run.osx.arm64.Release.mch | 301,031 | 21,558 | 279,473 | 2,083 (0.69%) | 2,083 (0.69%) | 
| realworld.run.osx.arm64.checked.mch | 31,218 | 3 | 31,215 | 325 (1.03%) | 325 (1.03%) | 
|  | 2,229,935 | 927,360 | 1,302,575 | 6,082 (0.27%) | 6,082 (0.27%) | 
jit-analyze output
benchmarks.run_pgo.osx.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 34381132 (overridden on cmd)
Total bytes of diff: 34381968 (overridden on cmd)
Total bytes of delta: 836 (0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          48 : 64349.dasm (11.43 % of base)
          40 : 74941.dasm (2.15 % of base)
          36 : 36247.dasm (1.10 % of base)
          32 : 65747.dasm (1.81 % of base)
          32 : 68298.dasm (1.82 % of base)
          32 : 70779.dasm (1.82 % of base)
          32 : 74351.dasm (2.19 % of base)
          32 : 82502.dasm (1.82 % of base)
          32 : 66168.dasm (1.82 % of base)
          32 : 79960.dasm (1.82 % of base)
          32 : 83799.dasm (2.22 % of base)
          32 : 84684.dasm (1.82 % of base)
          32 : 58655.dasm (1.82 % of base)
          32 : 38424.dasm (1.82 % of base)
          32 : 38636.dasm (1.82 % of base)
          32 : 40119.dasm (1.82 % of base)
          32 : 61588.dasm (2.22 % of base)
          32 : 70498.dasm (1.82 % of base)
          32 : 76032.dasm (1.82 % of base)
          32 : 77236.dasm (1.82 % of base)
Top file improvements (bytes):
        -476 : 83991.dasm (-32.25 % of base)
        -476 : 84000.dasm (-33.33 % of base)
        -156 : 45661.dasm (-21.67 % of base)
        -156 : 45638.dasm (-21.67 % of base)
         -60 : 23995.dasm (-1.80 % of base)
         -60 : 74648.dasm (-1.80 % of base)
         -60 : 13313.dasm (-1.80 % of base)
         -56 : 67880.dasm (-6.64 % of base)
         -48 : 34752.dasm (-0.41 % of base)
         -48 : 37275.dasm (-0.41 % of base)
         -48 : 40949.dasm (-0.41 % of base)
         -44 : 76562.dasm (-1.33 % of base)
         -36 : 45845.dasm (-0.30 % of base)
         -32 : 72123.dasm (-0.96 % of base)
         -32 : 69831.dasm (-0.96 % of base)
         -28 : 74977.dasm (-1.34 % of base)
         -24 : 39333.dasm (-0.72 % of base)
         -24 : 83168.dasm (-0.83 % of base)
         -24 : 84590.dasm (-0.70 % of base)
         -24 : 69592.dasm (-1.10 % of base)
84 total files with Code Size differences (42 improved, 42 regressed), 20 unchanged.
Top method regressions (bytes):
          48 (11.43 % of base) : 64349.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          40 (2.15 % of base) : 74941.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1-OSR)
          36 (1.10 % of base) : 36247.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          32 (1.81 % of base) : 65747.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)
          32 (1.82 % of base) : 68298.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)
          32 (1.82 % of base) : 70779.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)
          32 (1.82 % of base) : 82502.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)
          32 (1.82 % of base) : 66168.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)
          32 (1.82 % of base) : 79960.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)
          32 (1.82 % of base) : 84684.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)
          32 (1.82 % of base) : 58655.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)
          32 (1.82 % of base) : 38424.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)
          32 (1.82 % of base) : 38636.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)
          32 (1.82 % of base) : 40119.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)
          32 (1.82 % of base) : 70498.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)
          32 (1.82 % of base) : 76032.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)
          32 (1.82 % of base) : 77236.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)
          32 (2.19 % of base) : 74351.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.22 % of base) : 83799.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.22 % of base) : 61588.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
Top method improvements (bytes):
        -476 (-32.25 % of base) : 83991.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -476 (-33.33 % of base) : 84000.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -156 (-21.67 % of base) : 45661.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 45638.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -60 (-1.80 % of base) : 23995.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -60 (-1.80 % of base) : 74648.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -60 (-1.80 % of base) : 13313.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -56 (-6.64 % of base) : 67880.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -48 (-0.41 % of base) : 34752.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:BuildCertsWithKeys(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.Asn1.Pkcs12.CertBagAsn[],System.Security.Cryptography.Asn1.AttributeAsn[][],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+CertAndKey[],int,System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+RentedSubjectPublicKeyInfo[],System.Security.Cryptography.AsymmetricAlgorithm[],int):this (Tier1)
         -48 (-0.41 % of base) : 37275.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:BuildCertsWithKeys(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.Asn1.Pkcs12.CertBagAsn[],System.Security.Cryptography.Asn1.AttributeAsn[][],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+CertAndKey[],int,System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+RentedSubjectPublicKeyInfo[],System.Security.Cryptography.AsymmetricAlgorithm[],int):this (Tier1)
         -48 (-0.41 % of base) : 40949.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:BuildCertsWithKeys(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.Asn1.Pkcs12.CertBagAsn[],System.Security.Cryptography.Asn1.AttributeAsn[][],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+CertAndKey[],int,System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+RentedSubjectPublicKeyInfo[],System.Security.Cryptography.AsymmetricAlgorithm[],int):this (Tier1)
         -44 (-1.33 % of base) : 76562.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -36 (-0.30 % of base) : 45845.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:BuildCertsWithKeys(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.Asn1.Pkcs12.CertBagAsn[],System.Security.Cryptography.Asn1.AttributeAsn[][],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+CertAndKey[],int,System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+RentedSubjectPublicKeyInfo[],System.Security.Cryptography.AsymmetricAlgorithm[],int):this (Tier1)
         -32 (-0.96 % of base) : 72123.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -32 (-0.96 % of base) : 69831.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -28 (-1.34 % of base) : 74977.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
         -24 (-0.83 % of base) : 83168.dasm - StringSort:Run():double:this (Tier1)
         -24 (-1.10 % of base) : 69592.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
         -24 (-0.72 % of base) : 39333.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -24 (-0.70 % of base) : 84590.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
Top method regressions (percentages):
          20 (12.82 % of base) : 59178.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          48 (11.43 % of base) : 64349.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          20 (9.43 % of base) : 68690.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[int]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
          20 (9.43 % of base) : 71932.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[System.__Canon]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
           4 (8.33 % of base) : 62660.dasm - System.ArgumentOutOfRangeException:ThrowIfLessThan[int](int,int,System.String) (Tier1)
           4 (8.33 % of base) : 45128.dasm - System.ArgumentOutOfRangeException:ThrowIfLessThan[int](int,int,System.String) (Tier1)
          12 (7.69 % of base) : 41834.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 45542.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 65654.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 73372.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 74931.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 68704.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 43481.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 61667.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 62014.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 66938.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
           8 (4.08 % of base) : 38685.dasm - Benchstone.BenchI.LogicArray:Inner(byref):ubyte (Tier1-OSR)
           4 (3.70 % of base) : 62568.dasm - System.Collections.Generic.GenericArraySortHelper`1[System.Collections.IntStruct]:InsertionSort(System.Span`1[System.Collections.IntStruct]) (Tier1)
           4 (3.70 % of base) : 69980.dasm - System.Collections.Generic.GenericArraySortHelper`1[System.Collections.IntStruct]:InsertionSort(System.Span`1[System.Collections.IntStruct]) (Tier1)
           8 (3.64 % of base) : 78579.dasm - Benchstone.MDBenchI.MDLogicArray:Inner(byref):ubyte (Tier1-OSR)
Top method improvements (percentages):
        -476 (-33.33 % of base) : 84000.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -476 (-32.25 % of base) : 83991.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -156 (-21.67 % of base) : 45661.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 45638.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -16 (-7.02 % of base) : 21685.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
         -16 (-6.90 % of base) : 21683.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
         -56 (-6.64 % of base) : 67880.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -12 (-5.17 % of base) : 68317.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 71015.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 79099.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 65574.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.08 % of base) : 45588.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.08 % of base) : 62475.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.08 % of base) : 39876.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.08 % of base) : 39990.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.08 % of base) : 46020.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.08 % of base) : 62406.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.00 % of base) : 77929.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstanceOfAny(ulong,System.Object):System.Object (Tier1)
         -20 (-4.42 % of base) : 46213.dasm - Benchstone.BenchF.InvMt:Inner(double[][],byref,byref) (Tier1-OSR)
         -12 (-4.23 % of base) : 27434.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: 15560996 (overridden on cmd)
Total bytes of diff: 15560384 (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 : 32649.dasm (0.54 % of base)
          16 : 44033.dasm (2.07 % of base)
          12 : 23547.dasm (0.15 % of base)
           4 : 26198.dasm (1.43 % of base)
           4 : 40315.dasm (1.08 % of base)
           4 : 23996.dasm (0.30 % of base)
           4 : 13378.dasm (0.07 % of base)
           4 : 32960.dasm (0.49 % of base)
           4 : 42841.dasm (0.29 % of base)
           4 : 44876.dasm (0.82 % of base)
           4 : 9551.dasm (0.14 % of base)
           4 : 31584.dasm (0.13 % of base)
           4 : 42845.dasm (0.27 % of base)
Top file improvements (bytes):
        -436 : 47920.dasm (-31.87 % of base)
        -152 : 32956.dasm (-14.13 % of base)
         -56 : 43768.dasm (-6.97 % of base)
         -24 : 44438.dasm (-1.10 % of base)
          -4 : 28530.dasm (-0.44 % of base)
          -4 : 31616.dasm (-0.07 % of base)
          -4 : 42587.dasm (-0.41 % of base)
          -4 : 44862.dasm (-0.02 % of base)
          -4 : 31710.dasm (-0.09 % of base)
          -4 : 45558.dasm (-0.33 % of base)
          -4 : 26676.dasm (-0.10 % of base)
          -4 : 45760.dasm (-0.02 % of base)
25 total files with Code Size differences (12 improved, 13 regressed), 32 unchanged.
Top method regressions (bytes):
          20 (0.54 % of base) : 32649.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (Tier0-FullOpts)
          16 (2.07 % of base) : 44033.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
          12 (0.15 % of base) : 23547.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
           4 (0.29 % of base) : 42841.dasm - Benchstone.BenchF.MatInv4:MinV1(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.27 % of base) : 42845.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.13 % of base) : 31584.dasm - Benchstone.BenchI.MulMatrix:Inner(int[][],int[][],int[][]) (Tier1-OSR)
           4 (0.82 % of base) : 44876.dasm - Benchstone.MDBenchF.MDInvMt:Inner(double[,],byref,byref) (Tier1-OSR)
           4 (1.08 % of base) : 40315.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
           4 (0.49 % of base) : 32960.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1-OSR)
           4 (0.14 % of base) : 9551.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength8OrLongerOrUnknown,System.Buffers.StringSearchValuesHelper+CaseInsensitiveAsciiLetters]:IndexOf(byref,int):int:this (Tier1)
           4 (0.30 % of base) : 23996.dasm - System.IO.RandomAccess:WriteGatherAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList`1[System.ReadOnlyMemory`1[ubyte]],long) (Tier0-FullOpts)
           4 (1.43 % of base) : 26198.dasm - System.Security.Cryptography.X509Certificates.CertificatePolicyChain:MatchesApplicationPolicies(System.Security.Cryptography.OidCollection):ubyte:this (Tier1)
           4 (0.07 % of base) : 13378.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1)
Top method improvements (bytes):
        -436 (-31.87 % of base) : 47920.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -152 (-14.13 % of base) : 32956.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -56 (-6.97 % of base) : 43768.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -24 (-1.10 % of base) : 44438.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -4 (-0.02 % of base) : 44862.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.07 % of base) : 31616.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.02 % of base) : 45760.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.09 % of base) : 31710.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.41 % of base) : 42587.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
          -4 (-0.44 % of base) : 28530.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) : 26676.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) : 45558.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
Top method regressions (percentages):
          16 (2.07 % of base) : 44033.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
           4 (1.43 % of base) : 26198.dasm - System.Security.Cryptography.X509Certificates.CertificatePolicyChain:MatchesApplicationPolicies(System.Security.Cryptography.OidCollection):ubyte:this (Tier1)
           4 (1.08 % of base) : 40315.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
           4 (0.82 % of base) : 44876.dasm - Benchstone.MDBenchF.MDInvMt:Inner(double[,],byref,byref) (Tier1-OSR)
          20 (0.54 % of base) : 32649.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (Tier0-FullOpts)
           4 (0.49 % of base) : 32960.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1-OSR)
           4 (0.30 % of base) : 23996.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) : 42841.dasm - Benchstone.BenchF.MatInv4:MinV1(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.27 % of base) : 42845.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
          12 (0.15 % of base) : 23547.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
           4 (0.14 % of base) : 9551.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength8OrLongerOrUnknown,System.Buffers.StringSearchValuesHelper+CaseInsensitiveAsciiLetters]:IndexOf(byref,int):int:this (Tier1)
           4 (0.13 % of base) : 31584.dasm - Benchstone.BenchI.MulMatrix:Inner(int[][],int[][],int[][]) (Tier1-OSR)
           4 (0.07 % of base) : 13378.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1)
Top method improvements (percentages):
        -436 (-31.87 % of base) : 47920.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -152 (-14.13 % of base) : 32956.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -56 (-6.97 % of base) : 43768.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -24 (-1.10 % of base) : 44438.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -4 (-0.44 % of base) : 28530.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) : 42587.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
          -4 (-0.33 % of base) : 45558.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
          -4 (-0.10 % of base) : 26676.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) : 31710.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.07 % of base) : 31616.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.02 % of base) : 45760.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.02 % of base) : 44862.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: 483504168 (overridden on cmd)
Total bytes of diff: 483504228 (overridden on cmd)
Total bytes of delta: 60 (0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          88 : 240459.dasm (3.96 % of base)
          64 : 579980.dasm (0.54 % of base)
          60 : 577937.dasm (0.49 % of base)
          56 : 253686.dasm (26.42 % of base)
          56 : 580157.dasm (2.79 % of base)
          56 : 574612.dasm (2.78 % of base)
          56 : 581013.dasm (0.52 % of base)
          52 : 511106.dasm (24.07 % of base)
          52 : 511108.dasm (24.07 % of base)
          48 : 254258.dasm (22.64 % of base)
          44 : 489687.dasm (8.94 % of base)
          44 : 574424.dasm (0.49 % of base)
          40 : 554699.dasm (1.15 % of base)
          36 : 254066.dasm (16.07 % of base)
          32 : 254204.dasm (2.68 % of base)
          32 : 573224.dasm (1.57 % of base)
          32 : 573774.dasm (3.29 % of base)
          32 : 254471.dasm (160.00 % of base)
          32 : 574276.dasm (0.23 % of base)
          32 : 579721.dasm (3.29 % of base)
Top file improvements (bytes):
        -460 : 464570.dasm (-31.94 % of base)
        -168 : 504516.dasm (-31.82 % of base)
        -156 : 461604.dasm (-21.67 % of base)
        -156 : 461621.dasm (-21.67 % of base)
         -36 : 236744.dasm (-1.17 % of base)
         -36 : 236980.dasm (-1.17 % of base)
         -28 : 578163.dasm (-1.69 % of base)
         -28 : 581108.dasm (-1.69 % of base)
         -24 : 216370.dasm (-0.26 % of base)
         -24 : 577697.dasm (-3.21 % of base)
         -24 : 578939.dasm (-1.45 % of base)
         -24 : 580932.dasm (-3.21 % of base)
         -20 : 578144.dasm (-1.20 % of base)
         -20 : 246113.dasm (-0.43 % of base)
         -20 : 581103.dasm (-1.20 % of base)
         -16 : 463958.dasm (-6.90 % of base)
         -16 : 500094.dasm (-0.69 % of base)
         -16 : 577466.dasm (-0.36 % of base)
         -16 : 463960.dasm (-7.02 % of base)
         -16 : 474253.dasm (-0.35 % of base)
67 total files with Code Size differences (35 improved, 32 regressed), 20 unchanged.
Top method regressions (bytes):
          88 (3.96 % of base) : 240459.dasm - JitTest_array1_refany_il.Test:Main():int (FullOpts)
          64 (0.54 % of base) : 579980.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (Tier1)
          60 (0.49 % of base) : 577937.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
          56 (26.42 % of base) : 253686.dasm - ILGEN_0xc53351bb:Method_0x6cf4(short,byte,uint,ulong,int,long,short,short,ubyte,long,float,ubyte,ulong,ubyte):float (FullOpts)
          56 (2.79 % of base) : 580157.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) : 574612.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          56 (0.52 % of base) : 581013.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
          52 (24.07 % of base) : 511106.dasm - testout1:Test1(int):int (Tier1-OSR)
          52 (24.07 % of base) : 511108.dasm - testout1:Test2(int):int (Tier1-OSR)
          48 (22.64 % of base) : 254258.dasm - ILGEN_0x1db2cfa3:Method_0x8618f02c(ushort,double,short,byte):int (FullOpts)
          44 (0.49 % of base) : 574424.dasm - ILCompiler.ReadyToRunMetadataFieldLayoutAlgorithm+ModuleFieldLayoutMap:CalculateTypeLayout(Internal.TypeSystem.DefType,Internal.TypeSystem.Ecma.EcmaModule,byref):Internal.TypeSystem.FieldAndOffset[]:this (Tier1)
          44 (8.94 % of base) : 489687.dasm - RetBufferBug:Main():int (Tier1-OSR)
          40 (1.15 % of base) : 554699.dasm - System.Reflection.Emit.RuntimeTypeBuilder:CreateTypeNoLock():System.Reflection.TypeInfo:this (Tier1)
          36 (16.07 % of base) : 254066.dasm - ILGEN_0xa83217d:Method_0xf3555db(long,ulong,int,uint,short,byte):int (FullOpts)
          32 (2.68 % of base) : 254204.dasm - ILGEN_0x1125a118:Method_0xa592ccf9(ulong,long,ushort,byte,uint):int (FullOpts)
          32 (160.00 % of base) : 254471.dasm - ILGEN_0x2dda4eb5:Method_0xa084659a():ushort (FullOpts)
          32 (0.23 % of base) : 574276.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (Tier1)
          32 (1.57 % of base) : 573224.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)
          32 (3.29 % of base) : 573774.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.__Canon]:IndexOf(System.__Canon[],System.__Canon,int,int):int:this (Tier1)
          32 (3.29 % of base) : 579721.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.__Canon]:IndexOf(System.__Canon[],System.__Canon,int,int):int:this (Tier1)
Top method improvements (bytes):
        -460 (-31.94 % of base) : 464570.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -168 (-31.82 % of base) : 504516.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -156 (-21.67 % of base) : 461604.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 461621.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -36 (-1.17 % of base) : 236744.dasm - plainarr:gaussj(double[,],int,double[,],int) (FullOpts)
         -36 (-1.17 % of base) : 236980.dasm - structarr:gaussj(MatrixStruct,int,MatrixStruct,int) (FullOpts)
         -28 (-1.69 % of base) : 578163.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) : 581108.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 (-0.26 % of base) : 216370.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.45 % of base) : 578939.dasm - System.Collections.Generic.ArraySortHelper`1[int]:PickPivotAndPartition(System.Span`1[int],System.Comparison`1[int]):int (Tier1)
         -24 (-3.21 % of base) : 577697.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -24 (-3.21 % of base) : 580932.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -20 (-0.43 % of base) : 246113.dasm - Co1245GetBytes_double:runTest():ubyte:this (FullOpts)
         -20 (-1.20 % of base) : 578144.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)
         -20 (-1.20 % of base) : 581103.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)
         -16 (-6.90 % of base) : 463958.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
         -16 (-7.02 % of base) : 463960.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
         -16 (-0.35 % of base) : 474253.dasm - BinderTracingTests.BinderEventListener:ParseAssemblyLoadStartEvent(System.Diagnostics.Tracing.EventWrittenEventArgs,System.Func`2[System.String,System.String]):BinderTracingTests.BindOperation:this (Tier1)
         -16 (-0.36 % of base) : 577466.dasm - ILCompiler.ReadyToRunCodegenCompilation:IsLayoutFixedInCurrentVersionBubbleInternal(Internal.TypeSystem.TypeDesc):ubyte:this (Tier1)
         -16 (-0.58 % of base) : 579761.dasm - Internal.TypeSystem.MetadataRuntimeInterfacesAlgorithm:ComputeRuntimeInterfacesForNonInstantiatedMetadataType(Internal.TypeSystem.MetadataType):Internal.TypeSystem.DefType[] (Tier1)
Top method regressions (percentages):
          32 (160.00 % of base) : 254471.dasm - ILGEN_0x2dda4eb5:Method_0xa084659a():ushort (FullOpts)
          24 (46.15 % of base) : 254280.dasm - ILGEN_0x4601be46:Method_0x9c86375f(ulong,ubyte):int (FullOpts)
          56 (26.42 % of base) : 253686.dasm - ILGEN_0xc53351bb:Method_0x6cf4(short,byte,uint,ulong,int,long,short,short,ubyte,long,float,ubyte,ulong,ubyte):float (FullOpts)
          52 (24.07 % of base) : 511106.dasm - testout1:Test1(int):int (Tier1-OSR)
          52 (24.07 % of base) : 511108.dasm - testout1:Test2(int):int (Tier1-OSR)
          48 (22.64 % of base) : 254258.dasm - ILGEN_0x1db2cfa3:Method_0x8618f02c(ushort,double,short,byte):int (FullOpts)
          36 (16.07 % of base) : 254066.dasm - ILGEN_0xa83217d:Method_0xf3555db(long,ulong,int,uint,short,byte):int (FullOpts)
          12 (14.29 % of base) : 195492.dasm - Sample4:func(System.Object,System.Object) (FullOpts)
          44 (8.94 % of base) : 489687.dasm - RetBufferBug:Main():int (Tier1-OSR)
          12 (7.89 % of base) : 573668.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.89 % of base) : 579774.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          28 (7.29 % of base) : 253992.dasm - ILGEN_0x57cc69ce:Method_0x183df1b1():int (FullOpts)
          24 (5.50 % of base) : 574046.dasm - System.Collections.Generic.ArrayBuilder`1[System.__Canon]:Contains(System.__Canon):ubyte:this (Tier1)
          24 (5.50 % of base) : 579740.dasm - System.Collections.Generic.ArrayBuilder`1[System.__Canon]:Contains(System.__Canon):ubyte:this (Tier1)
          24 (4.55 % of base) : 253970.dasm - ILGEN_0x5db0aa0:Method_0x14ca58b7(long,float,float,short,ushort,float,int,int,double):int (FullOpts)
          16 (4.40 % of base) : 244423.dasm - Default.Graph:BuildEdge(int,int):this (FullOpts)
           8 (4.08 % of base) : 463917.dasm - Benchstone.BenchI.LogicArray:Inner(byref):ubyte (Tier1-OSR)
          88 (3.96 % of base) : 240459.dasm - JitTest_array1_refany_il.Test:Main():int (FullOpts)
          16 (3.81 % of base) : 203809.dasm - Benchstone.BenchF.SqMtx:Bench():ubyte (FullOpts)
           8 (3.64 % of base) : 463996.dasm - Benchstone.MDBenchI.MDLogicArray:Inner(byref):ubyte (Tier1-OSR)
Top method improvements (percentages):
        -460 (-31.94 % of base) : 464570.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -168 (-31.82 % of base) : 504516.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -156 (-21.67 % of base) : 461604.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 461621.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -16 (-7.02 % of base) : 463960.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
         -16 (-6.90 % of base) : 463958.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
         -12 (-5.17 % of base) : 338178.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 439348.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 478866.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 567667.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 512075.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
          -4 (-3.57 % of base) : 578681.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.ByteArrayComparer:Equals(ubyte[],ubyte[]):ubyte:this (Tier1)
          -4 (-3.57 % of base) : 581265.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.ByteArrayComparer:Equals(ubyte[],ubyte[]):ubyte:this (Tier1)
          -4 (-3.57 % of base) : 201037.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
          -4 (-3.33 % of base) : 577858.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
          -4 (-3.33 % of base) : 580989.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
         -24 (-3.21 % of base) : 577697.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -24 (-3.21 % of base) : 580932.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
          -4 (-1.75 % of base) : 447205.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
          -4 (-1.75 % of base) : 316462.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Instrumented 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: 55672992 (overridden on cmd)
Total bytes of diff: 55672756 (overridden on cmd)
Total bytes of delta: -236 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         104 : 74392.dasm (0.13 % of base)
          48 : 65664.dasm (1.48 % of base)
          32 : 219954.dasm (3.98 % of base)
          24 : 141156.dasm (0.49 % of base)
          24 : 188172.dasm (1.13 % of base)
          20 : 141138.dasm (0.36 % of base)
          16 : 176594.dasm (4.30 % of base)
          16 : 202232.dasm (0.84 % of base)
          16 : 22535.dasm (1.08 % of base)
          16 : 153202.dasm (0.43 % of base)
          16 : 171251.dasm (0.17 % of base)
          12 : 177351.dasm (0.19 % of base)
          12 : 208327.dasm (1.76 % of base)
          12 : 85863.dasm (1.60 % of base)
          12 : 141062.dasm (0.91 % of base)
          12 : 64232.dasm (1.85 % of base)
          12 : 140467.dasm (1.70 % of base)
           8 : 168719.dasm (0.52 % of base)
           8 : 226290.dasm (0.95 % of base)
           8 : 95909.dasm (0.93 % of base)
Top file improvements (bytes):
        -108 : 152505.dasm (-0.39 % of base)
         -84 : 153203.dasm (-7.81 % of base)
         -44 : 171131.dasm (-1.75 % of base)
         -32 : 201442.dasm (-3.98 % of base)
         -28 : 32767.dasm (-1.18 % of base)
         -24 : 141544.dasm (-1.06 % of base)
         -24 : 141550.dasm (-1.07 % of base)
         -24 : 162384.dasm (-2.86 % of base)
         -20 : 102558.dasm (-1.08 % of base)
         -16 : 106721.dasm (-0.54 % of base)
         -16 : 13139.dasm (-0.43 % of base)
         -16 : 153474.dasm (-0.37 % of base)
         -16 : 17651.dasm (-0.91 % of base)
         -16 : 202598.dasm (-0.31 % of base)
         -12 : 62762.dasm (-2.13 % of base)
          -8 : 168725.dasm (-0.13 % of base)
          -8 : 205911.dasm (-0.96 % of base)
          -8 : 37341.dasm (-0.40 % of base)
          -8 : 44154.dasm (-0.78 % of base)
          -8 : 105428.dasm (-1.72 % of base)
55 total files with Code Size differences (27 improved, 28 regressed), 20 unchanged.
Top method regressions (bytes):
         104 (0.13 % of base) : 74392.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (FullOpts)
          48 (1.48 % of base) : 65664.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)
          32 (3.98 % of base) : 219954.dasm - System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (FullOpts)
          24 (1.13 % of base) : 188172.dasm - System.Text.ISCIIEncoding:GetChars(ulong,int,ulong,int,System.Text.DecoderNLS):int:this (FullOpts)
          24 (0.49 % of base) : 141156.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:GenerateMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
          20 (0.36 % of base) : 141138.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
          16 (0.17 % of base) : 171251.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
          16 (0.43 % of base) : 153202.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.84 % of base) : 202232.dasm - System.Data.Select:CreateIndex():this (FullOpts)
          16 (4.30 % of base) : 176594.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          16 (1.08 % of base) : 22535.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
          12 (0.19 % of base) : 177351.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (FullOpts)
          12 (1.85 % of base) : 64232.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:<AddSynthesizedTypeMembersIfNecessary>g__getBaseToStringMethod|198_14(byref):Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:this (FullOpts)
          12 (1.60 % of base) : 85863.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol:GenerateVarianceDiagnosticsForConstraints(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol],Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,byref):this (FullOpts)
          12 (1.76 % of base) : 208327.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          12 (0.91 % of base) : 141062.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteElements(System.Object,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,ubyte,ubyte):this (FullOpts)
          12 (1.70 % of base) : 140467.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteEnumMethod(System.Xml.Serialization.EnumMapping,System.Object):System.String:this (FullOpts)
           8 (0.52 % of base) : 168719.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[Microsoft.CodeAnalysis.CommonReferenceManager`2+AssemblyData[System.__Canon,System.__Canon]],int):ubyte:this (FullOpts)
           8 (0.05 % of base) : 82358.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureForASingleCandidate(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.Location,int,byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.VisualBasic.Symbol):this (FullOpts)
           8 (0.93 % of base) : 95909.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner:QuickScanToken(ubyte):Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner+QuickScanResult:this (FullOpts)
Top method improvements (bytes):
        -108 (-0.39 % of base) : 152505.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -84 (-7.81 % of base) : 153203.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:MethodsDifferOnlyByReturnType(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte:this (FullOpts)
         -44 (-1.75 % of base) : 171131.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -32 (-3.98 % of base) : 201442.dasm - System.Data.DataRelation:Create(System.String,System.Data.DataColumn[],System.Data.DataColumn[],ubyte):this (FullOpts)
         -28 (-1.18 % of base) : 32767.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -24 (-2.86 % of base) : 162384.dasm - Microsoft.CodeAnalysis.Text.SourceText:ContentEqualsImpl(Microsoft.CodeAnalysis.Text.SourceText):ubyte:this (FullOpts)
         -24 (-1.07 % of base) : 141550.dasm - System.Xml.DtdParser:ScanAttlist2():int:this (FullOpts)
         -24 (-1.06 % of base) : 141544.dasm - System.Xml.DtdParser:ScanSubsetContent():int:this (FullOpts)
         -20 (-1.08 % of base) : 102558.dasm - Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyImmediateVarianceCompatibility(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,int,byref):int (FullOpts)
         -16 (-0.43 % of base) : 13139.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[Microsoft.CodeAnalysis.CommonReferenceManager`2+AssemblyData[System.__Canon,System.__Canon]],int):this (FullOpts)
         -16 (-0.54 % of base) : 106721.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation+ReferenceManager:SetupReferencesForRetargetingAssembly(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation,Microsoft.CodeAnalysis.VisualBasic.Symbols.AssemblySymbol][],int,byref,Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceAssemblySymbol) (FullOpts)
         -16 (-0.37 % of base) : 153474.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -16 (-0.31 % of base) : 202598.dasm - System.Data.ProviderBase.SchemaMapping:SetupSchemaWithKeyInfo(int,int,ubyte,System.Data.DataColumn,System.Object):System.Object[]:this (FullOpts)
         -16 (-0.91 % of base) : 17651.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
         -12 (-2.13 % of base) : 62762.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 (-0.13 % of base) : 168725.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ReferencedAssemblyIdentity[System.__Canon,System.__Canon]]],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
          -8 (-0.78 % of base) : 44154.dasm - Microsoft.CodeAnalysis.CSharp.DocumentationCommentCompiler:WriteFormattedMultiLineComment(System.String[],int):this (FullOpts)
          -8 (-1.72 % of base) : 105428.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder+MemberLookup:IsDerivedInterface(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BasesBeingResolved,byref):ubyte (FullOpts)
          -8 (-1.24 % of base) : 30948.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
          -8 (-1.13 % of base) : 211369.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
Top method regressions (percentages):
          16 (4.30 % of base) : 176594.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
           4 (4.17 % of base) : 45572.dasm - Microsoft.CodeAnalysis.CSharp.ReadWriteWalker:GetRangeVariableUnderlyingParameter(Microsoft.CodeAnalysis.CSharp.BoundNode):Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol (FullOpts)
          32 (3.98 % of base) : 219954.dasm - System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (FullOpts)
           4 (2.86 % of base) : 164402.dasm - Microsoft.CodeAnalysis.Emit.SymbolChanges:IsReplaced(Microsoft.CodeAnalysis.ISymbol,ubyte):ubyte:this (FullOpts)
           4 (2.86 % of base) : 8644.dasm - Microsoft.CodeAnalysis.Emit.SymbolChanges:IsReplaced(Microsoft.CodeAnalysis.Symbols.ISymbolInternal,ubyte):ubyte:this (FullOpts)
           4 (2.04 % of base) : 131976.dasm - System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
           4 (1.89 % of base) : 202408.dasm - System.Xml.XPathNodePointer:DecideXPNodeTypeForTextNodes(System.Xml.XmlNode):int:this (FullOpts)
          12 (1.85 % of base) : 64232.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:<AddSynthesizedTypeMembersIfNecessary>g__getBaseToStringMethod|198_14(byref):Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:this (FullOpts)
           4 (1.82 % of base) : 55736.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
          12 (1.76 % of base) : 208327.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          12 (1.70 % of base) : 140467.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteEnumMethod(System.Xml.Serialization.EnumMapping,System.Object):System.String:this (FullOpts)
          12 (1.60 % of base) : 85863.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol:GenerateVarianceDiagnosticsForConstraints(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol],Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,byref):this (FullOpts)
          48 (1.48 % of base) : 65664.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)
          24 (1.13 % of base) : 188172.dasm - System.Text.ISCIIEncoding:GetChars(ulong,int,ulong,int,System.Text.DecoderNLS):int:this (FullOpts)
          16 (1.08 % of base) : 22535.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
           8 (0.95 % of base) : 226290.dasm - System.Runtime.Caching.ExpiresBucket:Expand():this (FullOpts)
           8 (0.93 % of base) : 95909.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner:QuickScanToken(ubyte):Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner+QuickScanResult:this (FullOpts)
           4 (0.93 % of base) : 20485.dasm - System.Globalization.CultureInfo:CreateSpecificCulture(System.String):System.Globalization.CultureInfo (FullOpts)
          12 (0.91 % of base) : 141062.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.84 % of base) : 202232.dasm - System.Data.Select:CreateIndex():this (FullOpts)
Top method improvements (percentages):
         -84 (-7.81 % of base) : 153203.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:MethodsDifferOnlyByReturnType(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte:this (FullOpts)
         -32 (-3.98 % of base) : 201442.dasm - System.Data.DataRelation:Create(System.String,System.Data.DataColumn[],System.Data.DataColumn[],ubyte):this (FullOpts)
         -24 (-2.86 % of base) : 162384.dasm - Microsoft.CodeAnalysis.Text.SourceText:ContentEqualsImpl(Microsoft.CodeAnalysis.Text.SourceText):ubyte:this (FullOpts)
         -12 (-2.13 % of base) : 62762.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)
         -44 (-1.75 % of base) : 171131.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
          -8 (-1.72 % of base) : 105428.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder+MemberLookup:IsDerivedInterface(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BasesBeingResolved,byref):ubyte (FullOpts)
          -8 (-1.24 % of base) : 30948.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
         -28 (-1.18 % of base) : 32767.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -4 (-1.16 % of base) : 62800.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.13 % of base) : 211369.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
         -20 (-1.08 % of base) : 102558.dasm - Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyImmediateVarianceCompatibility(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,int,byref):int (FullOpts)
         -24 (-1.07 % of base) : 141550.dasm - System.Xml.DtdParser:ScanAttlist2():int:this (FullOpts)
          -8 (-1.06 % of base) : 178925.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.PropertyInfo (FullOpts)
         -24 (-1.06 % of base) : 141544.dasm - System.Xml.DtdParser:ScanSubsetContent():int:this (FullOpts)
          -8 (-0.96 % of base) : 205911.dasm - System.Reflection.Metadata.Ecma335.NamespaceCache:LinkChildToParentNamespace(System.Collections.Generic.Dictionary`2[System.String,System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder],System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder,byref):this (FullOpts)
         -16 (-0.91 % of base) : 17651.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
          -4 (-0.90 % of base) : 30886.dasm - System.String:TrimHelper(ulong,int,int):System.String:this (FullOpts)
          -4 (-0.87 % of base) : 30861.dasm - System.RuntimeType+RuntimeTypeCache:GetDefaultMemberName():System.String:this (FullOpts)
          -8 (-0.78 % of base) : 44154.dasm - Microsoft.CodeAnalysis.CSharp.DocumentationCommentCompiler:WriteFormattedMultiLineComment(System.String[],int):this (FullOpts)
          -4 (-0.70 % of base) : 3537.dasm - Microsoft.CodeAnalysis.AssemblyIdentity:TryParseNameToken(System.String,byref,byref):ubyte (FullOpts)
  
libraries.pmi.osx.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 78467696 (overridden on cmd)
Total bytes of diff: 78467952 (overridden on cmd)
Total bytes of delta: 256 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          76 : 287064.dasm (1.84 % of base)
          56 : 133319.dasm (0.24 % of base)
          48 : 242548.dasm (5.63 % of base)
          44 : 187645.dasm (0.69 % of base)
          40 : 171766.dasm (1.65 % of base)
          36 : 58455.dasm (1.23 % of base)
          28 : 175455.dasm (4.90 % of base)
          28 : 176888.dasm (1.68 % of base)
          28 : 201558.dasm (1.66 % of base)
          28 : 259373.dasm (35.00 % of base)
          24 : 194899.dasm (5.71 % of base)
          20 : 58538.dasm (1.54 % of base)
          20 : 181538.dasm (2.16 % of base)
          20 : 284723.dasm (3.91 % of base)
          20 : 285021.dasm (4.59 % of base)
          20 : 285046.dasm (10.20 % of base)
          20 : 231352.dasm (2.01 % of base)
          20 : 231546.dasm (0.48 % of base)
          20 : 284755.dasm (2.99 % of base)
          20 : 285011.dasm (5.81 % of base)
Top file improvements (bytes):
         -80 : 260703.dasm (-2.51 % of base)
         -72 : 246096.dasm (-7.32 % of base)
         -52 : 246092.dasm (-0.19 % of base)
         -28 : 50023.dasm (-3.37 % of base)
         -28 : 217286.dasm (-3.37 % of base)
         -28 : 281020.dasm (-1.50 % of base)
         -28 : 30102.dasm (-1.24 % of base)
         -24 : 259739.dasm (-0.26 % of base)
         -20 : 88863.dasm (-0.84 % of base)
         -20 : 156058.dasm (-1.10 % of base)
         -16 : 208188.dasm (-0.63 % of base)
         -16 : 40145.dasm (-0.63 % of base)
         -16 : 196403.dasm (-0.44 % of base)
         -16 : 246106.dasm (-0.27 % of base)
         -16 : 303797.dasm (-0.39 % of base)
         -12 : 38414.dasm (-0.40 % of base)
         -12 : 85581.dasm (-2.11 % of base)
         -12 : 37422.dasm (-0.50 % of base)
         -12 : 41873.dasm (-0.34 % of base)
         -12 : 179181.dasm (-0.76 % of base)
67 total files with Code Size differences (33 improved, 34 regressed), 20 unchanged.
Top method regressions (bytes):
          76 (1.84 % of base) : 287064.dasm - System.Net.Mail.SmtpClient:SendAsync(System.Net.Mail.MailMessage,System.Object):this (FullOpts)
          56 (0.24 % of base) : 133319.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureForASingleCandidate(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.Location,int,byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.VisualBasic.Symbol):this (FullOpts)
          48 (5.63 % of base) : 242548.dasm - System.Runtime.Serialization.SchemaExporter:ReprocessAll(System.Xml.Schema.XmlSchemaSet) (FullOpts)
          44 (0.69 % of base) : 187645.dasm - System.Xml.XmlTextReaderImpl+<ParseAttributeValueSlowAsync>d__532:MoveNext():this (FullOpts)
          40 (1.65 % of base) : 171766.dasm - Microsoft.Build.Evaluation.ExpressionShredder:GetReferencedItemExpressions(System.String,int,int):System.Collections.Generic.List`1[Microsoft.Build.Evaluation.ExpressionShredder+ItemExpressionCapture] (FullOpts)
          36 (1.23 % of base) : 58455.dasm - Microsoft.CodeAnalysis.CSharp.Binder:MakeIsPatternExpression(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundPattern,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          28 (1.68 % of base) : 176888.dasm - Microsoft.Build.BackEnd.RequestBuilder+<StartNewBuildRequests>d__61:MoveNext():this (FullOpts)
          28 (4.90 % of base) : 175455.dasm - Microsoft.Build.Shared.FileUtilities:PathsEqual(System.String,System.String):ubyte (FullOpts)
          28 (35.00 % of base) : 259373.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:IsDynamicallyTypedRuntimeProxy(System.Dynamic.DynamicMetaObject,Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo):ubyte (FullOpts)
          28 (1.66 % of base) : 201558.dasm - System.Text.DBCSCodePageEncoding:ReadBestFitTable():this (FullOpts)
          24 (5.71 % of base) : 194899.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          20 (1.54 % of base) : 58538.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 (2.16 % of base) : 181538.dasm - System.Configuration.ConfigurationElement:EnsureRequiredProperties(ubyte):this (FullOpts)
          20 (2.01 % of base) : 231352.dasm - System.Data.XmlTreeGen:GenerateConstraintNames(System.Data.DataTable,ubyte):this (FullOpts)
          20 (0.48 % of base) : 231546.dasm - System.Data.XSDSchema:HandleDataSet(System.Xml.Schema.XmlSchemaElement,ubyte):this (FullOpts)
          20 (2.99 % of base) : 284755.dasm - System.Reflection.Emit.EnumBuilderImpl:.ctor(System.String,System.Type,int,System.Reflection.Emit.ModuleBuilderImpl):this (FullOpts)
          20 (3.91 % of base) : 284723.dasm - System.Reflection.Emit.EnumBuilderImpl:DefineLiteralCore(System.String,System.Object):System.Reflection.Emit.FieldBuilder:this (FullOpts)
          20 (5.81 % of base) : 285011.dasm - System.Reflection.Emit.TypeBuilderImpl:CreateTypeInfoCore():System.Reflection.TypeInfo:this (FullOpts)
          20 (4.59 % of base) : 285021.dasm - System.Reflection.Emit.TypeBuilderImpl:DefineFieldCore(System.String,System.Type,System.Type[],System.Type[],int):System.Reflection.Emit.FieldBuilder:this (FullOpts)
          20 (10.20 % of base) : 285046.dasm - System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
Top method improvements (bytes):
         -80 (-2.51 % of base) : 260703.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -72 (-7.32 % of base) : 246096.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:MethodsDifferOnlyByReturnType(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte:this (FullOpts)
         -52 (-0.19 % of base) : 246092.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -28 (-3.37 % of base) : 50023.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -28 (-3.37 % of base) : 217286.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -28 (-1.50 % of base) : 281020.dasm - System.Buffers.SequenceReader`1[double]:TryReadTo(byref,double,double,ubyte):ubyte:this (FullOpts)
         -28 (-1.24 % of base) : 30102.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -24 (-0.26 % of base) : 259739.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.84 % of base) : 88863.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) : 156058.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) : 208188.dasm - Microsoft.CodeAnalysis.VersionHelper:TryParse(System.String,ubyte,ushort,ubyte,byref):ubyte (FullOpts)
         -16 (-0.63 % of base) : 40145.dasm - Microsoft.CodeAnalysis.VersionHelper:TryParse(System.String,ubyte,ushort,ubyte,byref):ubyte (FullOpts)
         -16 (-0.27 % of base) : 246106.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -16 (-0.39 % of base) : 303797.dasm - System.Net.HttpWebRequest+<SendRequest>d__196:MoveNext():this (FullOpts)
         -16 (-0.44 % of base) : 196403.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[]):System.Reflection.Assembly (FullOpts)
         -12 (-2.11 % of base) : 85581.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.34 % of base) : 41873.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver:ComputeNonConfigurableAndCustomConfigurableAnalyzers(System.Collections.Immutable.ImmutableHashSet`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Threading.CancellationToken):System.Collections.Immutable.ImmutableHashSet`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer]:this (FullOpts)
         -12 (-0.40 % of base) : 38414.dasm - Microsoft.CodeAnalysis.RuleSet:WithEffectiveAction(int):Microsoft.CodeAnalysis.RuleSet:this (FullOpts)
         -12 (-0.50 % of base) : 37422.dasm - Microsoft.CodeAnalysis.ShadowCopyAnalyzerAssemblyLoader:PreparePathToLoad(System.String,System.Collections.Immutable.ImmutableHashSet`1[System.String]):System.String:this (FullOpts)
         -12 (-0.76 % of base) : 179181.dasm - System.Linq.Parallel.AsynchronousChannelMergeEnumerator`1[ubyte]:MoveNextSlowPath():ubyte:this (FullOpts)
Top method regressions (percentages):
          28 (35.00 % of base) : 259373.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:IsDynamicallyTypedRuntimeProxy(System.Dynamic.DynamicMetaObject,Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo):ubyte (FullOpts)
          12 (27.27 % of base) : 305817.dasm - System.IO.Hashing.Crc32:UpdateVectorized(uint,System.ReadOnlySpan`1[ubyte]):uint (FullOpts)
          12 (27.27 % of base) : 305834.dasm - System.IO.Hashing.Crc64:UpdateVectorized(ulong,System.ReadOnlySpan`1[ubyte]):ulong (FullOpts)
          20 (10.20 % of base) : 285046.dasm - System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
           4 (9.09 % of base) : 175513.dasm - Microsoft.Build.Shared.FrameworkLocationHelper:GeneratePathToBuildToolsForToolsVersion(System.String,int):System.String (FullOpts)
          20 (5.81 % of base) : 285011.dasm - System.Reflection.Emit.TypeBuilderImpl:CreateTypeInfoCore():System.Reflection.TypeInfo:this (FullOpts)
          24 (5.71 % of base) : 194899.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          48 (5.63 % of base) : 242548.dasm - System.Runtime.Serialization.SchemaExporter:ReprocessAll(System.Xml.Schema.XmlSchemaSet) (FullOpts)
           4 (5.56 % of base) : 3389.dasm - System.ArgumentOutOfRangeException:ThrowIfGreaterThan[double](double,double,System.String) (FullOpts)
           4 (5.56 % of base) : 3404.dasm - System.ArgumentOutOfRangeException:ThrowIfLessThanOrEqual[double](double,double,System.String) (FullOpts)
          28 (4.90 % of base) : 175455.dasm - Microsoft.Build.Shared.FileUtilities:PathsEqual(System.String,System.String):ubyte (FullOpts)
          20 (4.59 % of base) : 285021.dasm - System.Reflection.Emit.TypeBuilderImpl:DefineFieldCore(System.String,System.Type,System.Type[],System.Type[],int):System.Reflection.Emit.FieldBuilder:this (FullOpts)
           4 (4.55 % of base) : 8660.dasm - System.SpanHelpers:LastIndexOfAnyExceptInRange[int](byref,int,int,int):int (FullOpts)
           4 (4.55 % of base) : 8662.dasm - System.SpanHelpers:LastIndexOfAnyExceptInRange[long](byref,long,long,int):int (FullOpts)
          16 (4.40 % of base) : 199463.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
           4 (4.17 % of base) : 8648.dasm - System.SpanHelpers:IndexOfAnyExceptInRange[int](byref,int,int,int):int (FullOpts)
           4 (4.17 % of base) : 8650.dasm - System.SpanHelpers:IndexOfAnyExceptInRange[long](byref,long,long,int):int (FullOpts)
          20 (3.91 % of base) : 284723.dasm - System.Reflection.Emit.EnumBuilderImpl:DefineLiteralCore(System.String,System.Object):System.Reflection.Emit.FieldBuilder:this (FullOpts)
          20 (2.99 % of base) : 284755.dasm - System.Reflection.Emit.EnumBuilderImpl:.ctor(System.String,System.Type,int,System.Reflection.Emit.ModuleBuilderImpl):this (FullOpts)
           4 (2.94 % of base) : 8656.dasm - System.SpanHelpers:LastIndexOfAnyInRange[double](byref,double,double,int):int (FullOpts)
Top method improvements (percentages):
         -72 (-7.32 % of base) : 246096.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:MethodsDifferOnlyByReturnType(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte:this (FullOpts)
          -4 (-3.57 % of base) : 67066.dasm - Microsoft.CodeAnalysis.CSharp.ObjectDisplay:ContainsNewLine(System.String):ubyte (FullOpts)
          -4 (-3.57 % of base) : 63058.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
         -28 (-3.37 % of base) : 50023.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -28 (-3.37 % of base) : 217286.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
          -4 (-3.23 % of base) : 208232.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
          -4 (-3.23 % of base) : 40195.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
         -80 (-2.51 % of base) : 260703.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
          -8 (-2.15 % of base) : 158965.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.11 % of base) : 85581.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) : 288828.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
         -28 (-1.50 % of base) : 281020.dasm - System.Buffers.SequenceReader`1[double]:TryReadTo(byref,double,double,ubyte):ubyte:this (FullOpts)
          -4 (-1.49 % of base) : 132780.dasm - Microsoft.CodeAnalysis.VisualBasic.DataFlowPass:IsConvertedLambda(Microsoft.CodeAnalysis.VisualBasic.BoundExpression):ubyte (FullOpts)
          -8 (-1.38 % of base) : 4773.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
          -4 (-1.32 % of base) : 38385.dasm - Microsoft.CodeAnalysis.RealParser:ConvertBigIntegerToFloatingPointBits(ubyte[],uint,ubyte,Microsoft.CodeAnalysis.RealParser+FloatingPointType,byref):int (FullOpts)
          -4 (-1.32 % of base) : 206539.dasm - Microsoft.CodeAnalysis.RealParser:ConvertBigIntegerToFloatingPointBits(ubyte[],uint,ubyte,Microsoft.CodeAnalysis.RealParser+FloatingPointType,byref):int (FullOpts)
          -8 (-1.31 % of base) : 288829.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTarget(byref,System.String):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target:this (FullOpts)
          -8 (-1.29 % of base) : 261799.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
          -4 (-1.28 % of base) : 171769.dasm - Microsoft.Build.Evaluation.ExpressionShredder:SinkArgumentsInParentheses(System.String,byref,int):ubyte (FullOpts)
         -28 (-1.24 % of base) : 30102.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: 311685436 (overridden on cmd)
Total bytes of diff: 311681596 (overridden on cmd)
Total bytes of delta: -3840 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         104 : 598175.dasm (0.54 % of base)
         100 : 488278.dasm (2.57 % of base)
         100 : 585194.dasm (1.40 % of base)
         100 : 102638.dasm (0.95 % of base)
          96 : 582296.dasm (4.68 % of base)
          96 : 482681.dasm (0.44 % of base)
          92 : 597896.dasm (1.39 % of base)
          84 : 194023.dasm (4.86 % of base)
          84 : 560236.dasm (1.14 % of base)
          80 : 530078.dasm (0.67 % of base)
          80 : 531138.dasm (0.52 % of base)
          76 : 466116.dasm (1.13 % of base)
          68 : 560233.dasm (0.59 % of base)
          64 : 156726.dasm (0.82 % of base)
          60 : 193272.dasm (2.45 % of base)
          56 : 367545.dasm (0.82 % of base)
          56 : 531134.dasm (0.41 % of base)
          56 : 84692.dasm (0.47 % of base)
          56 : 123149.dasm (1.19 % of base)
          56 : 89002.dasm (1.76 % of base)
Top file improvements (bytes):
        -252 : 442817.dasm (-1.71 % of base)
        -192 : 362275.dasm (-1.32 % of base)
        -168 : 55404.dasm (-0.88 % of base)
        -164 : 557910.dasm (-1.41 % of base)
        -160 : 231145.dasm (-1.23 % of base)
        -144 : 581303.dasm (-0.80 % of base)
        -120 : 529416.dasm (-1.28 % of base)
        -120 : 587621.dasm (-1.32 % of base)
        -112 : 557282.dasm (-1.29 % of base)
         -96 : 89275.dasm (-0.80 % of base)
         -96 : 532788.dasm (-0.73 % of base)
         -92 : 261648.dasm (-2.44 % of base)
         -80 : 577415.dasm (-0.68 % of base)
         -80 : 380686.dasm (-1.81 % of base)
         -76 : 598539.dasm (-0.76 % of base)
         -72 : 56041.dasm (-1.43 % of base)
         -64 : 159051.dasm (-0.27 % of base)
         -64 : 576696.dasm (-0.42 % of base)
         -64 : 336417.dasm (-0.54 % of base)
         -60 : 467235.dasm (-0.42 % of base)
87 total files with Code Size differences (46 improved, 41 regressed), 20 unchanged.
Top method regressions (bytes):
         104 (0.54 % of base) : 598175.dasm - Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,System.__Canon]:VisitBinaryLogicalOperatorChildren(Microsoft.CodeAnalysis.CSharp.BoundExpression):this (Tier1)
         100 (1.40 % of base) : 585194.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (Tier1-OSR)
         100 (0.95 % of base) : 102638.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 (2.57 % of base) : 488278.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (Tier1)
          96 (4.68 % of base) : 582296.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:AddNewToken():this (Tier1)
          96 (0.44 % of base) : 482681.dasm - System.Xml.XmlLoader:LoadNode(ubyte):System.Xml.XmlNode:this (Tier1-OSR)
          92 (1.39 % of base) : 597896.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)
          84 (4.86 % of base) : 194023.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.14 % of base) : 560236.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)
          80 (0.67 % of base) : 530078.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.__Canon]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
          80 (0.52 % of base) : 531138.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)
          76 (1.13 % of base) : 466116.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)
          68 (0.59 % of base) : 560233.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)
          64 (0.82 % of base) : 156726.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)
          60 (2.45 % of base) : 193272.dasm - System.Collections.Tests.IEnumerable_Generic_Tests`1[int]:IEnumerable_Generic_GetEnumerator_ReturnsUniqueEnumerator(int):this (Tier1-OSR)
          56 (1.76 % of base) : 89002.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol:ForceComplete(Microsoft.CodeAnalysis.SourceLocation,System.Predicate`1[Microsoft.CodeAnalysis.CSharp.Symbol],System.Threading.CancellationToken):this (Tier1)
          56 (0.82 % of base) : 367545.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderTypeWithGetSetArrayMembers:Read3_TypeWithGetSetArrayMembers(ubyte,ubyte):SerializationTypes.TypeWithGetSetArrayMembers:this (Tier0-FullOpts)
          56 (0.47 % of base) : 84692.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier1)
          56 (0.41 % of base) : 531134.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Collections.Generic.KeyValuePair`2[int,int]]]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
          56 (1.19 % of base) : 123149.dasm - Xunit.Sdk.TestRunner`1+<RunAsync>d__43[System.__Canon]:MoveNext():this (Tier1)
Top method improvements (bytes):
        -252 (-1.71 % of base) : 442817.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
        -192 (-1.32 % of base) : 362275.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier1)
        -168 (-0.88 % of base) : 55404.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)
        -164 (-1.41 % of base) : 557910.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)
        -160 (-1.23 % of base) : 231145.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
        -144 (-0.80 % of base) : 581303.dasm - Microsoft.CodeAnalysis.CSharp.Binder:TryPerformConstructorOverloadResolution(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.String,Microsoft.CodeAnalysis.Location,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref,byref,ubyte,ubyte):ubyte:this (Tier1)
        -120 (-1.32 % of base) : 587621.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)
        -120 (-1.28 % of base) : 529416.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.__Canon]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -112 (-1.29 % of base) : 557282.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.__Canon]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
         -96 (-0.80 % of base) : 89275.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MemberSignatureComparer:Equals(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.Symbol):ubyte:this (Tier1)
         -96 (-0.73 % of base) : 532788.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         -92 (-2.44 % of base) : 261648.dasm - System.Globalization.Tests.CompareInfoCompareTests:TestHiraganaAndKatakana(int[],int[]):this (Tier1-OSR)
         -80 (-0.68 % of base) : 577415.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         -80 (-1.81 % of base) : 380686.dasm - System.Xml.Xsl.Xslt.XsltInput:GetAttributes(System.Xml.Xsl.Xslt.XsltInput+XsltAttribute[]):System.Xml.Xsl.Xslt.XsltInput+ContextInfo:this (Tier1)
         -76 (-0.76 % of base) : 598539.dasm - Microsoft.CodeAnalysis.CSharp.BestTypeInferrer:InferBestTypeForConditionalOperator(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Conversions,byref,byref):Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol (Tier1)
         -72 (-1.43 % of base) : 56041.dasm - Microsoft.CodeAnalysis.SyntaxNavigator:GetFirstToken(Microsoft.CodeAnalysis.SyntaxNode,System.Func`2[Microsoft.CodeAnalysis.SyntaxToken,ubyte],System.Func`2[Microsoft.CodeAnalysis.SyntaxTrivia,ubyte]):Microsoft.CodeAnalysis.SyntaxToken:this (Tier1)
         -64 (-0.42 % of base) : 576696.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ReuseAssemblySymbols(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[System.__Canon],int):this (Tier1-OSR)
         -64 (-0.27 % of base) : 159051.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)
         -64 (-0.54 % of base) : 336417.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.42 % of base) : 467235.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):
          32 (20.51 % of base) : 615127.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
          28 (19.44 % of base) : 530596.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:Enqueue(int):this (Tier1)
          28 (17.95 % of base) : 617643.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Threading.CancellationToken]:Enqueue(System.Threading.CancellationToken):this (Tier1)
          16 (17.39 % of base) : 557336.dasm - System.Text.Json.JsonSerializerOptions:ConfigureForJsonSerializer():this (Tier1)
          28 (17.07 % of base) : 233373.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (17.07 % of base) : 338180.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:Enqueue(System.Net.Sockets.SocketAsyncEngine+SocketIOEvent):this (Tier1)
          28 (15.91 % of base) : 324051.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) : 154904.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          16 (10.53 % of base) : 179791.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          16 (10.53 % of base) : 273215.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          16 (10.53 % of base) : 616714.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          16 (10.53 % of base) : 345115.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          16 (10.53 % of base) : 196753.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          44 (8.87 % of base) : 185200.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) : 336343.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.89 % of base) : 625555.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.89 % of base) : 317016.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.89 % of base) : 517811.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.89 % of base) : 609839.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.89 % of base) : 186248.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
Top method improvements (percentages):
         -24 (-7.41 % of base) : 209400.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -24 (-7.41 % of base) : 224873.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.25 % of base) : 429044.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-6.25 % of base) : 272873.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-5.95 % of base) : 315813.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-5.81 % of base) : 625658.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -20 (-5.81 % of base) : 363145.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -12 (-5.17 % of base) : 93201.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -32 (-3.77 % of base) : 373365.dasm - System.Xml.XmlConvert:ToXPathDouble(System.Object):double (Tier1)
         -28 (-3.72 % of base) : 487999.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -28 (-3.72 % of base) : 264188.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -28 (-3.72 % of base) : 265294.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -28 (-3.70 % of base) : 232936.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -28 (-3.65 % of base) : 122312.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -28 (-3.65 % of base) : 266078.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -28 (-3.65 % of base) : 279996.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -28 (-3.61 % of base) : 625659.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -12 (-3.53 % of base) : 233357.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Net.Sockets.SocketAsyncEngine+SocketIOEvent]:TryDequeue(byref):ubyte:this (Tier1)
          -4 (-3.33 % of base) : 201866.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
          -4 (-3.33 % of base) : 474393.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
  
librariestestsnotieredcompilation.run.osx.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 161180744 (overridden on cmd)
Total bytes of diff: 161180780 (overridden on cmd)
Total bytes of delta: 36 (0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          56 : 39253.dasm (43.75 % of base)
          56 : 121562.dasm (1.83 % of base)
          56 : 164367.dasm (0.80 % of base)
          48 : 194080.dasm (5.69 % of base)
          40 : 164211.dasm (0.66 % of base)
          40 : 163523.dasm (0.66 % of base)
          36 : 282359.dasm (0.95 % of base)
          36 : 91395.dasm (0.28 % of base)
          32 : 11398.dasm (0.86 % of base)
          32 : 201991.dasm (9.76 % of base)
          28 : 129199.dasm (1.67 % of base)
          28 : 301782.dasm (0.44 % of base)
          24 : 169112.dasm (5.71 % of base)
          24 : 36481.dasm (7.79 % of base)
          24 : 162644.dasm (2.53 % of base)
          24 : 274211.dasm (1.01 % of base)
          20 : 176978.dasm (5.81 % of base)
          20 : 178097.dasm (10.20 % of base)
          20 : 178752.dasm (4.35 % of base)
          20 : 282504.dasm (0.68 % of base)
Top file improvements (bytes):
        -140 : 59198.dasm (-0.48 % of base)
        -104 : 14987.dasm (-1.78 % of base)
         -92 : 44353.dasm (-1.57 % of base)
         -80 : 25046.dasm (-2.55 % of base)
         -68 : 4344.dasm (-1.39 % of base)
         -52 : 162653.dasm (-0.45 % of base)
         -44 : 43254.dasm (-1.59 % of base)
         -44 : 48943.dasm (-1.59 % of base)
         -36 : 51892.dasm (-0.78 % of base)
         -36 : 50191.dasm (-0.63 % of base)
         -28 : 10578.dasm (-3.45 % of base)
         -24 : 174059.dasm (-1.51 % of base)
         -24 : 40338.dasm (-1.05 % of base)
         -24 : 24730.dasm (-0.26 % of base)
         -20 : 162793.dasm (-0.44 % of base)
         -20 : 11469.dasm (-0.83 % of base)
         -16 : 178049.dasm (-0.77 % of base)
         -16 : 271152.dasm (-1.25 % of base)
         -16 : 59197.dasm (-0.26 % of base)
         -16 : 282070.dasm (-0.83 % of base)
65 total files with Code Size differences (31 improved, 34 regressed), 20 unchanged.
Top method regressions (bytes):
          56 (43.75 % of base) : 39253.dasm - Microsoft.Extensions.Logging.Console.ConsoleLoggerProvider:DoesConsoleSupportAnsi():ubyte (FullOpts)
          56 (0.80 % of base) : 164367.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderTypeWithGetSetArrayMembers:Read3_TypeWithGetSetArrayMembers(ubyte,ubyte):SerializationTypes.TypeWithGetSetArrayMembers:this (FullOpts)
          56 (1.83 % of base) : 121562.dasm - System.IO.Compression.Tests.ZipFile_Unix:CreateFiles(System.String,System.String[]):System.String[] (FullOpts)
          48 (5.69 % of base) : 194080.dasm - System.Runtime.Serialization.SchemaExporter:ReprocessAll(System.Xml.Schema.XmlSchemaSet) (FullOpts)
          40 (0.66 % of base) : 164211.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderXmlSerializerAttributes:Read3_XmlSerializerAttributes(ubyte,ubyte):SerializationTypes.XmlSerializerAttributes:this (FullOpts)
          40 (0.66 % of base) : 163523.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderXmlSerializerAttributes:Read3_XmlSerializerAttributes(ubyte,ubyte):SerializationTypes.XmlSerializerAttributes:this (FullOpts)
          36 (0.28 % of base) : 91395.dasm - System.Data.Tests.DataTableTest2:GetChanges_ByDataRowState():this (FullOpts)
          36 (0.95 % of base) : 282359.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex6491_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          32 (0.86 % of base) : 11398.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)
          32 (9.76 % of base) : 201991.dasm - System.Tests.Int128Tests_GenericMath:IsPow2Test() (FullOpts)
          28 (1.67 % of base) : 129199.dasm - System.Text.DBCSCodePageEncoding:ReadBestFitTable():this (FullOpts)
          28 (0.44 % of base) : 301782.dasm - System.Xml.XmlTextReaderImpl+<ParseAttributeValueSlowAsync>d__532:MoveNext():this (FullOpts)
          24 (7.79 % of base) : 36481.dasm - Microsoft.DotNet.RemoteExecutor.PasteArguments:Paste(System.Collections.Generic.IEnumerable`1[System.String],ubyte):System.String (FullOpts)
          24 (1.01 % of base) : 274211.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex7438_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          24 (2.53 % of base) : 162644.dasm - System.Xml.Serialization.TypeScope:ShouldBeReplaced(System.Reflection.MemberInfo,System.Type,byref):ubyte (FullOpts)
          24 (5.71 % of base) : 169112.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          20 (3.23 % of base) : 176971.dasm - System.Reflection.Emit.EnumBuilderImpl:.ctor(System.String,System.Type,int,System.Reflection.Emit.ModuleBuilderImpl):this (FullOpts)
          20 (4.35 % of base) : 178752.dasm - System.Reflection.Emit.EnumBuilderImpl:DefineLiteralCore(System.String,System.Object):System.Reflection.Emit.FieldBuilder:this (FullOpts)
          20 (5.81 % of base) : 176978.dasm - System.Reflection.Emit.TypeBuilderImpl:CreateTypeInfoCore():System.Reflection.TypeInfo:this (FullOpts)
          20 (5.10 % of base) : 177044.dasm - System.Reflection.Emit.TypeBuilderImpl:DefineFieldCore(System.String,System.Type,System.Type[],System.Type[],int):System.Reflection.Emit.FieldBuilder:this (FullOpts)
Top method improvements (bytes):
        -140 (-0.48 % of base) : 59198.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        -104 (-1.78 % of base) : 14987.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) : 44353.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) : 25046.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -68 (-1.39 % of base) : 4344.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) : 162653.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
         -44 (-1.59 % of base) : 43254.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) : 48943.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)
         -36 (-0.63 % of base) : 50191.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) : 51892.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) : 10578.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ushort]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -24 (-0.26 % of base) : 24730.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) : 40338.dasm - Microsoft.Extensions.Hosting.Internal.HostTests+<AppCrashesOnStartWhenFirstHostedServiceThrows>d__12:MoveNext():this (FullOpts)
         -24 (-1.51 % of base) : 174059.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.83 % of base) : 11469.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) : 162793.dasm - System.Xml.Serialization.XmlSerializationReader:ReadArray(System.String,System.String):System.Array:this (FullOpts)
         -16 (-1.67 % of base) : 46122.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:CanBePassedByReference(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
         -16 (-0.26 % of base) : 59197.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -16 (-1.89 % of base) : 78995.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.77 % of base) : 178049.dasm - System.Reflection.Emit.Tests.AssemblySaveTools:PopulateMembersForModule(System.Reflection.Emit.ModuleBuilder,System.Type[]) (FullOpts)
Top method regressions (percentages):
          56 (43.75 % of base) : 39253.dasm - Microsoft.Extensions.Logging.Console.ConsoleLoggerProvider:DoesConsoleSupportAnsi():ubyte (FullOpts)
          20 (10.20 % of base) : 178097.dasm - System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
          32 (9.76 % of base) : 201991.dasm - System.Tests.Int128Tests_GenericMath:IsPow2Test() (FullOpts)
           4 (9.09 % of base) : 92087.dasm - System.Data.Tests.DataTableTest2+DataRowsComparer:.ctor(System.String,System.String):this (FullOpts)
          24 (7.79 % of base) : 36481.dasm - Microsoft.DotNet.RemoteExecutor.PasteArguments:Paste(System.Collections.Generic.IEnumerable`1[System.String],ubyte):System.String (FullOpts)
          20 (5.81 % of base) : 176978.dasm - System.Reflection.Emit.TypeBuilderImpl:CreateTypeInfoCore():System.Reflection.TypeInfo:this (FullOpts)
          24 (5.71 % of base) : 169112.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          48 (5.69 % of base) : 194080.dasm - System.Runtime.Serialization.SchemaExporter:ReprocessAll(System.Xml.Schema.XmlSchemaSet) (FullOpts)
          20 (5.10 % of base) : 177044.dasm - System.Reflection.Emit.TypeBuilderImpl:DefineFieldCore(System.String,System.Type,System.Type[],System.Type[],int):System.Reflection.Emit.FieldBuilder:this (FullOpts)
           4 (4.55 % of base) : 142568.dasm - System.SpanHelpers:LastIndexOfAnyExceptInRange[System.TimeSpan](byref,System.TimeSpan,System.TimeSpan,int):int (FullOpts)
          16 (4.40 % of base) : 147208.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          20 (4.35 % of base) : 178752.dasm - System.Reflection.Emit.EnumBuilderImpl:DefineLiteralCore(System.String,System.Object):System.Reflection.Emit.FieldBuilder:this (FullOpts)
           4 (4.17 % of base) : 142565.dasm - System.SpanHelpers:IndexOfAnyExceptInRange[System.TimeSpan](byref,System.TimeSpan,System.TimeSpan,int):int (FullOpts)
          16 (3.48 % of base) : 196143.dasm - SerializationTestTypes.DataContract:GetIsReferenceValue():ubyte:this (FullOpts)
          16 (3.48 % of base) : 197459.dasm - SerializationTestTypes.DataContract:GetIsReferenceValue():ubyte:this (FullOpts)
          20 (3.23 % of base) : 176971.dasm - System.Reflection.Emit.EnumBuilderImpl:.ctor(System.String,System.Type,int,System.Reflection.Emit.ModuleBuilderImpl):this (FullOpts)
           4 (3.03 % of base) : 187822.dasm - System.Runtime.InteropServices.Tests.ByteArrayTests+<>c__DisplayClass4_0:<CopyTo_NegativeLength_ThrowsArgumentOutOfRangeException>b__0():this (FullOpts)
           4 (3.03 % of base) : 188072.dasm - System.Runtime.InteropServices.Tests.Int16ArrayTests+<>c__DisplayClass4_0:<CopyTo_NegativeLength_ThrowsArgumentOutOfRangeException>b__0():this (FullOpts)
           4 (3.03 % of base) : 186639.dasm - System.Runtime.InteropServices.Tests.IntPtrArrayTests+<>c__DisplayClass5_0:<CopyTo_NegativeLength_ThrowsArgumentOutOfRangeException>b__0():this (FullOpts)
           4 (3.03 % of base) : 186898.dasm - System.Runtime.InteropServices.Tests.SingleArrayTests+<>c__DisplayClass4_0:<CopyTo_NegativeLength_ThrowsArgumentOutOfRangeException>b__0():this (FullOpts)
Top method improvements (percentages):
          -4 (-3.57 % of base) : 50412.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
          -4 (-3.57 % of base) : 10675.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
         -28 (-3.45 % of base) : 10578.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ushort]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -80 (-2.55 % of base) : 25046.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -16 (-1.89 % of base) : 78995.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) : 14987.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) : 46122.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:CanBePassedByReference(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
         -44 (-1.59 % of base) : 43254.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) : 48943.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) : 44353.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) : 37662.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
         -24 (-1.51 % of base) : 174059.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) : 4344.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) : 31300.dasm - Microsoft.CodeAnalysis.RealParser:ConvertBigIntegerToFloatingPointBits(ubyte[],uint,ubyte,Microsoft.CodeAnalysis.RealParser+FloatingPointType,byref):int (FullOpts)
          -8 (-1.31 % of base) : 37692.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTarget(byref,System.String):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target:this (FullOpts)
         -16 (-1.25 % of base) : 271152.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3854_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -4 (-1.23 % of base) : 50771.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) : 44881.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) : 6980.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) : 252567.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: 14668164 (overridden on cmd)
Total bytes of diff: 14668220 (overridden on cmd)
Total bytes of delta: 56 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          36 : 22177.dasm (1.22 % of base)
          24 : 8066.dasm (1.09 % of base)
          24 : 8070.dasm (1.23 % of base)
          24 : 10213.dasm (4.88 % of base)
          24 : 10192.dasm (4.84 % of base)
          24 : 8014.dasm (0.14 % of base)
          20 : 22844.dasm (0.18 % of base)
          16 : 1121.dasm (1.92 % of base)
          16 : 12632.dasm (0.34 % of base)
          16 : 13036.dasm (0.50 % of base)
          16 : 19877.dasm (2.88 % of base)
          12 : 4826.dasm (0.19 % of base)
          12 : 13462.dasm (0.14 % of base)
          12 : 5106.dasm (1.24 % of base)
           8 : 1578.dasm (0.99 % of base)
           8 : 1989.dasm (0.31 % of base)
           4 : 30331.dasm (0.10 % of base)
           4 : 13569.dasm (0.35 % of base)
           4 : 15065.dasm (0.25 % of base)
           4 : 16091.dasm (2.70 % of base)
Top file improvements (bytes):
         -68 : 6617.dasm (-0.92 % of base)
         -20 : 23077.dasm (-0.84 % of base)
         -16 : 1751.dasm (-0.70 % of base)
         -12 : 3212.dasm (-0.20 % of base)
         -12 : 11840.dasm (-0.66 % of base)
         -12 : 21494.dasm (-0.40 % of base)
         -12 : 22418.dasm (-0.27 % of base)
          -8 : 10352.dasm (-0.08 % of base)
          -8 : 14263.dasm (-0.26 % of base)
          -8 : 14282.dasm (-0.37 % of base)
          -8 : 14818.dasm (-0.16 % of base)
          -8 : 15685.dasm (-0.39 % of base)
          -8 : 16507.dasm (-0.10 % of base)
          -8 : 16935.dasm (-0.26 % of base)
          -4 : 27322.dasm (-0.43 % of base)
          -4 : 30747.dasm (-0.39 % of base)
          -4 : 26545.dasm (-0.10 % of base)
          -4 : 12693.dasm (-0.36 % of base)
          -4 : 13013.dasm (-0.07 % of base)
          -4 : 13035.dasm (-0.39 % of base)
52 total files with Code Size differences (27 improved, 25 regressed), 20 unchanged.
Top method regressions (bytes):
          36 (1.22 % of base) : 22177.dasm - Microsoft.CodeAnalysis.CSharp.Binder:MakeIsPatternExpression(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundPattern,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          24 (0.14 % of base) : 8014.dasm - FSharp.Compiler.CheckExpressions:TcPat(FSharp.Compiler.NameResolution+WarnOnUpperFlag,FSharp.Compiler.CheckExpressions+TcFileState,FSharp.Compiler.CheckExpressions+TcEnv,Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.CheckExpressions+PartialValReprInfo],FSharp.Compiler.TypedTree+ValInline,FSharp.Compiler.CheckExpressions+ExplicitTyparInfo,FSharp.Compiler.CheckExpressions+ArgAndRetAttribs,ubyte,Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynAccess],ubyte,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String],FSharp.Compiler.TypedTree+TType,FSharp.Compiler.Syntax.SynPat):System.Tuple`2[Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.CheckExpressions+TcPatPhase2Input,FSharp.Compiler.PatternMatchCompilation+Pattern],System.Tuple`3[FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String]]] (FullOpts)
          24 (1.23 % of base) : 8070.dasm - FSharp.Compiler.CheckExpressions:TcSimplePat(ubyte,FSharp.Compiler.CheckExpressions+CheckConstraints,FSharp.Compiler.CheckExpressions+TcFileState,FSharp.Compiler.TypedTree+TType,FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String],FSharp.Compiler.Syntax.SynSimplePat):System.Tuple`2[System.String,System.Tuple`3[FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String]]] (FullOpts)
          24 (1.09 % of base) : 8066.dasm - FSharp.Compiler.CheckExpressions:TcSimplePats(FSharp.Compiler.CheckExpressions+TcFileState,ubyte,FSharp.Compiler.CheckExpressions+CheckConstraints,FSharp.Compiler.TypedTree+TType,FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String],FSharp.Compiler.Syntax.SynSimplePats):System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[System.String],System.Tuple`3[FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String]]] (FullOpts)
          24 (4.84 % of base) : 10192.dasm - FSharp.Compiler.Infos+PropInfo:get_IsNewSlot():ubyte:this (FullOpts)
          24 (4.88 % of base) : 10213.dasm - FSharp.Compiler.Infos+PropInfo:get_IsStatic():ubyte:this (FullOpts)
          20 (0.18 % of base) : 22844.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
          16 (1.92 % of base) : 1121.dasm - BepuUtilities.Collections.QuickSort:Sort[int,BepuPhysics.Trees.Tree+IndexMapComparer](byref,int,int,byref) (FullOpts)
          16 (2.88 % of base) : 19877.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) : 13036.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) : 12632.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) : 5106.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) : 13462.dasm - Microsoft.ML.Transforms.Text.TextFeaturizingEstimator:Fit(Microsoft.ML.IDataView):Microsoft.ML.ITransformer:this (FullOpts)
           8 (0.99 % of base) : 1578.dasm - BepuPhysics.CollisionDetection.ConstraintRemover:RemoveConstraintsFromBodyLists():this (FullOpts)
           8 (0.31 % of base) : 1989.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
           4 (0.42 % of base) : 1680.dasm - BepuUtilities.Collections.QuickSort:Sort[BepuPhysics.CollisionDetection.TypeBatchIndex,BepuPhysics.CollisionDetection.ConstraintRemover+RemovalsForTypeBatch,BepuPhysics.CollisionDetection.ConstraintRemover+TypeBatchIndexComparer](byref,byref,int,int,byref) (FullOpts)
           4 (0.27 % of base) : 16934.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) : 16091.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
           4 (0.25 % of base) : 15065.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlText(byref):this (FullOpts)
Top method improvements (bytes):
         -68 (-0.92 % of base) : 6617.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) : 23077.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) : 22418.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) : 21494.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:Populate(Microsoft.CodeAnalysis.CSharp.NullableWalker+VariablesSnapshot):this (FullOpts)
         -12 (-0.66 % of base) : 11840.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.HuffmanScanDecoder:ParseBaselineDataSingleComponent():this (FullOpts)
          -8 (-0.08 % of base) : 10352.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.16 % of base) : 14818.dasm - Microsoft.CodeAnalysis.AnalyzerConfigSet+GlobalAnalyzerConfigBuilder:Build(Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.AnalyzerConfigSet+GlobalAnalyzerConfig:this (FullOpts)
          -8 (-0.10 % of base) : 16507.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
          -8 (-0.26 % of base) : 16935.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) : 15685.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlEntity(byref):this (FullOpts)
          -8 (-0.26 % of base) : 14263.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) : 14282.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
          -4 (-0.33 % of base) : 28231.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) : 27322.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
          -4 (-0.22 % of base) : 20836.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:GetEffectiveParametersInExpandedForm[System.__Canon](System.__Canon,int,System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[ubyte],ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Binder,byref):Microsoft.CodeAnalysis.CSharp.OverloadResolution+EffectiveParameters (FullOpts)
          -4 (-0.19 % of base) : 23513.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:GetUserDefinedOperators(int,ubyte,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.UnaryOperatorAnalysisResult],byref):ubyte:this (FullOpts)
          -4 (-0.10 % of base) : 26545.dasm - Microsoft.CodeAnalysis.CSharp.SpillSequenceSpiller:Spill(Microsoft.CodeAnalysis.CSharp.SpillSequenceSpiller+BoundSpillSequenceBuilder,Microsoft.CodeAnalysis.CSharp.BoundExpression,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          -4 (-1.23 % of base) : 18311.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):
          24 (4.88 % of base) : 10213.dasm - FSharp.Compiler.Infos+PropInfo:get_IsStatic():ubyte:this (FullOpts)
          24 (4.84 % of base) : 10192.dasm - FSharp.Compiler.Infos+PropInfo:get_IsNewSlot():ubyte:this (FullOpts)
          16 (2.88 % of base) : 19877.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) : 16091.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
          16 (1.92 % of base) : 1121.dasm - BepuUtilities.Collections.QuickSort:Sort[int,BepuPhysics.Trees.Tree+IndexMapComparer](byref,int,int,byref) (FullOpts)
          12 (1.24 % of base) : 5106.dasm - FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5[int,int,int,int,int] (FullOpts)
          24 (1.23 % of base) : 8070.dasm - FSharp.Compiler.CheckExpressions:TcSimplePat(ubyte,FSharp.Compiler.CheckExpressions+CheckConstraints,FSharp.Compiler.CheckExpressions+TcFileState,FSharp.Compiler.TypedTree+TType,FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String],FSharp.Compiler.Syntax.SynSimplePat):System.Tuple`2[System.String,System.Tuple`3[FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String]]] (FullOpts)
          36 (1.22 % of base) : 22177.dasm - Microsoft.CodeAnalysis.CSharp.Binder:MakeIsPatternExpression(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundPattern,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          24 (1.09 % of base) : 8066.dasm - FSharp.Compiler.CheckExpressions:TcSimplePats(FSharp.Compiler.CheckExpressions+TcFileState,ubyte,FSharp.Compiler.CheckExpressions+CheckConstraints,FSharp.Compiler.TypedTree+TType,FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String],FSharp.Compiler.Syntax.SynSimplePats):System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[System.String],System.Tuple`3[FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String]]] (FullOpts)
           8 (0.99 % of base) : 1578.dasm - BepuPhysics.CollisionDetection.ConstraintRemover:RemoveConstraintsFromBodyLists():this (FullOpts)
          16 (0.50 % of base) : 13036.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) : 18592.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) : 21892.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.42 % of base) : 1680.dasm - BepuUtilities.Collections.QuickSort:Sort[BepuPhysics.CollisionDetection.TypeBatchIndex,BepuPhysics.CollisionDetection.ConstraintRemover+RemovalsForTypeBatch,BepuPhysics.CollisionDetection.ConstraintRemover+TypeBatchIndexComparer](byref,byref,int,int,byref) (FullOpts)
           4 (0.36 % of base) : 29738.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) : 13569.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) : 12632.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) : 16934.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) : 15065.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlText(byref):this (FullOpts)
Top method improvements (percentages):
          -4 (-1.23 % of base) : 18311.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) : 6617.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) : 23077.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) : 11840.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) : 27322.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
          -4 (-0.40 % of base) : 17457.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (FullOpts)
         -12 (-0.40 % of base) : 21494.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:Populate(Microsoft.CodeAnalysis.CSharp.NullableWalker+VariablesSnapshot):this (FullOpts)
          -4 (-0.39 % of base) : 13035.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,System.__Canon]:TryRemoveInternal(int,byref,ubyte,System.__Canon):ubyte:this (FullOpts)
          -8 (-0.39 % of base) : 15685.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlEntity(byref):this (FullOpts)
          -4 (-0.39 % of base) : 30747.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) : 14282.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
          -4 (-0.36 % of base) : 12693.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:get_Count():int:this (FullOpts)
          -4 (-0.33 % of base) : 28231.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) : 18689.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddDeclaredNontypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -12 (-0.27 % of base) : 22418.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)
          -8 (-0.26 % of base) : 14263.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.26 % of base) : 16935.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.22 % of base) : 20836.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:GetEffectiveParametersInExpandedForm[System.__Canon](System.__Canon,int,System.Collections.Immutable.ImmutableArray`1[int],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[ubyte],ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.Binder,byref):Microsoft.CodeAnalysis.CSharp.OverloadResolution+EffectiveParameters (FullOpts)
  
  
windows arm64
Diffs are based on 2,308,464 contexts (929,692 MinOpts, 1,378,772 FullOpts).
MISSED contexts: 6,334 (0.27%)
Overall (-9,796 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.windows.arm64.checked.mch | 10,696,028 | +100 | 
| benchmarks.run_pgo.windows.arm64.checked.mch | 46,517,260 | -444 | 
| benchmarks.run_tiered.windows.arm64.checked.mch | 15,265,556 | -572 | 
| coreclr_tests.run.windows.arm64.checked.mch | 494,677,708 | +440 | 
| libraries.crossgen2.windows.arm64.checked.mch | 59,020,004 | -196 | 
| libraries.pmi.windows.arm64.checked.mch | 78,071,708 | +204 | 
| libraries_tests.run.windows.arm64.Release.mch | 308,948,508 | -9,428 | 
| librariestestsnotieredcompilation.run.windows.arm64.Release.mch | 169,444,132 | -140 | 
| realworld.run.windows.arm64.checked.mch | 15,471,984 | +44 | 
| smoke_tests.nativeaot.windows.arm64.checked.mch | 3,966,948 | +196 | 
  
FullOpts (-9,796 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.windows.arm64.checked.mch | 10,695,492 | +100 | 
| benchmarks.run_pgo.windows.arm64.checked.mch | 30,419,444 | -444 | 
| benchmarks.run_tiered.windows.arm64.checked.mch | 4,079,224 | -572 | 
| coreclr_tests.run.windows.arm64.checked.mch | 155,910,600 | +440 | 
| libraries.crossgen2.windows.arm64.checked.mch | 59,018,368 | -196 | 
| libraries.pmi.windows.arm64.checked.mch | 77,951,724 | +204 | 
| libraries_tests.run.windows.arm64.Release.mch | 107,542,348 | -9,428 | 
| librariestestsnotieredcompilation.run.windows.arm64.Release.mch | 156,306,576 | -140 | 
| realworld.run.windows.arm64.checked.mch | 14,903,560 | +44 | 
| smoke_tests.nativeaot.windows.arm64.checked.mch | 3,965,936 | +196 | 
  
Example diffs
benchmarks.run.windows.arm64.checked.mch
-4 (-1.56%) : 14991.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%) : 21980.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%) : 5815.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%) : 23543.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%) : 14200.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%) : 21898.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
-32 (-11.76%) : 25638.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstanceOfAny(ulong,System.Object):System.Object (Tier1)
@@ -11,36 +11,33 @@
 ;
 ;  V00 arg0         [V00,T01] (  6,  3.17)    long  ->   x0         single-def
 ;  V01 arg1         [V01,T00] (  7,  5.17)     ref  ->   x1         class-hnd <System.Object>
-;  V02 loc0         [V02,T02] (  4,  2.62)    long  ->  x19        
+;  V02 loc0         [V02,T02] (  4,  2.62)    long  ->   x2        
 ;* V03 loc1         [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] (  4,  0.51)     int  ->  x23         "Inline return value spill temp"
+;  V05 tmp1         [V05,T09] (  4,  0.51)     int  ->   x6         "Inline return value spill temp"
 ;* V06 tmp2         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <int[]>
-;  V07 tmp3         [V07,T07] (  4,  1.27)   byref  ->  x20         single-def "Inline stloc first use temp"
-;  V08 tmp4         [V08,T05] (  4,  1.58)     int  ->   x2         "Inline stloc first use temp"
-;  V09 tmp5         [V09,T03] (  5,  2.08)     int  ->   x3         "Inline stloc first use temp"
-;  V10 tmp6         [V10,T06] (  5,  1.35)   byref  ->  x21         "Inline stloc first use temp"
-;  V11 tmp7         [V11,T04] (  5,  1.80)     int  ->  x22         "Inline stloc first use temp"
-;  V12 tmp8         [V12,T08] (  2,  0.90)    long  ->   x4         "Inline stloc first use temp"
-;  V13 tmp9         [V13,T11] (  3,  0   )    long  ->  x23         "Inline stloc first use temp"
+;  V07 tmp3         [V07,T07] (  4,  1.27)   byref  ->   x3         single-def "Inline stloc first use temp"
+;  V08 tmp4         [V08,T05] (  4,  1.58)     int  ->   x4         "Inline stloc first use temp"
+;  V09 tmp5         [V09,T03] (  5,  2.08)     int  ->   x5         "Inline stloc first use temp"
+;  V10 tmp6         [V10,T06] (  5,  1.35)   byref  ->   x6         "Inline stloc first use temp"
+;  V11 tmp7         [V11,T04] (  5,  1.80)     int  ->   x7         "Inline stloc first use temp"
+;  V12 tmp8         [V12,T08] (  2,  0.90)    long  ->   x8         "Inline stloc first use temp"
+;  V13 tmp9         [V13,T11] (  3,  0   )    long  ->   x8         "Inline stloc first use temp"
 ;* V14 tmp10        [V14    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V15 tmp11        [V15    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V16 tmp12        [V16,T10] (  2,  0.34)     ref  ->   x2         single-def "Field obj"
+;  V16 tmp12        [V16,T10] (  2,  0.34)     ref  ->   x3         single-def "Field obj"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M60590_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     fp, lr, [sp, #-0x10]!
             mov     fp, sp
-                        ;; size=20 bbWeight=1 PerfScore 4.50
+                      ;; size=8 bbWeight=1 PerfScore 1.50
 G_M60590_IG02:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x1]
             cbz     x1, G_M60590_IG03
-            ldr     x19, [x1]
-            cmp     x19, x0
+            ldr     x2, [x1]
+            cmp     x2, x0
             bne     G_M60590_IG08
                        ;; size=16 bbWeight=1 PerfScore 5.50
 G_M60590_IG03:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
@@ -48,104 +45,102 @@ G_M60590_IG03:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byre
             ; gcrRegs +[x0]
                        ;; size=4 bbWeight=1 PerfScore 0.50
 G_M60590_IG04:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x23, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x10
             ret     lr
-                       ;; size=20 bbWeight=1 PerfScore 6.00
-G_M60590_IG05:        ; bbWeight=0.45, gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=100000 {x20}, gcvars, byref, isz
+                       ;; size=8 bbWeight=1 PerfScore 2.00
+G_M60590_IG05:        ; bbWeight=0.45, gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=0008 {x3}, gcvars, byref, isz
             ; gcrRegs -[x0]
-            ; byrRegs +[x20]
-            cbz     w22, G_M60590_IG09
+            ; byrRegs +[x3]
+            cbz     w7, G_M60590_IG10
                       ;; size=4 bbWeight=0.45 PerfScore 0.45
-G_M60590_IG06:        ; bbWeight=0.48, gcrefRegs=0002 {x1}, byrefRegs=100000 {x20}, byref, isz
-            add     w3, w3, #1
-            add     w2, w2, w3
-            ldr     w4, [x20, #0x04]
-            and     w2, w2, w4
-            cmp     w3, #8
-            bge     G_M60590_IG09
+G_M60590_IG06:        ; bbWeight=0.48, gcrefRegs=0002 {x1}, byrefRegs=0008 {x3}, byref, isz
+            add     w5, w5, #1
+            add     w4, w4, w5
+            ldr     w6, [x3, #0x04]
+            and     w4, w4, w6
+            cmp     w5, #8
+            blt     G_M60590_IG09
                       ;; size=24 bbWeight=0.48 PerfScore 2.87
-G_M60590_IG07:        ; bbWeight=0.45, gcrefRegs=0002 {x1}, byrefRegs=100000 {x20}, byref, isz
-            add     w4, w2, #1
-            mov     w5, #24
-            smull   x4, w4, w5
-            add     x21, x20, x4
-            ; byrRegs +[x21]
-            ldapr   w22, [x21]
-            ldr     x4, [x21, #0x08]
-            and     w22, w22, #0xD1FFAB1E
-            cmp     x4, x19
-            beq     G_M60590_IG12
-            b       G_M60590_IG05
-                       ;; size=40 bbWeight=0.45 PerfScore 5.63
+G_M60590_IG07:        ; bbWeight=0.17, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x3]
+            b       G_M60590_IG10
+                       ;; size=4 bbWeight=0.17 PerfScore 0.17
 G_M60590_IG08:        ; bbWeight=0.17, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x20-x21]
-            movz    x2, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            ; gcrRegs +[x2]
-            add     x20, x2, #16
-            ; byrRegs +[x20]
-            ror     x2, x19, #32
-            ; gcrRegs -[x2]
-            eor     x2, x2, x0
-            movz    x3, #0xD1FFAB1E
+            movz    x3, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
-            movk    x3, #0xD1FFAB1E LSL #48
-            mul     x2, x2, x3
-            ldr     w3, [x20]
-            lsr     x2, x2, x3
-            mov     w3, wzr
-            b       G_M60590_IG07
-                       ;; size=64 bbWeight=0.17 PerfScore 2.62
-G_M60590_IG09:        ; bbWeight=0.17, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x20]
-            mov     w23, #2
+            ldr     x3, [x3]
+            ; gcrRegs +[x3]
+            add     x3, x3, #16
+            ; gcrRegs -[x3]
+            ; byrRegs +[x3]
+            ror     x4, x2, #32
+            eor     x4, x4, x0
+            movz    x5, #0xD1FFAB1E
+            movk    x5, #0xD1FFAB1E LSL #16
+            movk    x5, #0xD1FFAB1E LSL #32
+            movk    x5, #0xD1FFAB1E LSL #48
+            mul     x4, x4, x5
+            ldr     w5, [x3]
+            lsr     x4, x4, x5
+            mov     w5, wzr
+                       ;; size=60 bbWeight=0.17 PerfScore 2.45
+G_M60590_IG09:        ; bbWeight=0.45, gcrefRegs=0002 {x1}, byrefRegs=0008 {x3}, byref, isz
+            add     w6, w4, #1
+            mov     w7, #24
+            smull   x6, w6, w7
+            add     x6, x3, x6
+            ; byrRegs +[x6]
+            ldapr   w7, [x6]
+            ldr     x8, [x6, #0x08]
+            and     w7, w7, #0xD1FFAB1E
+            cmp     x8, x2
+            beq     G_M60590_IG13
+            b       G_M60590_IG05
+                       ;; size=40 bbWeight=0.45 PerfScore 5.63
+G_M60590_IG10:        ; bbWeight=0.17, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x3 x6]
+            mov     w6, #2
                      ;; size=4 bbWeight=0.17 PerfScore 0.08
-G_M60590_IG10:        ; bbWeight=0.17, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
-            cmp     w23, #1
+G_M60590_IG11:        ; bbWeight=0.17, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
+            cmp     w6, #1
             beq     G_M60590_IG03
-            cbnz    w23, G_M60590_IG11
+            cbnz    w6, G_M60590_IG12
             mov     x1, xzr
             b       G_M60590_IG03
                        ;; size=20 bbWeight=0.17 PerfScore 0.68
-G_M60590_IG11:        ; bbWeight=0, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldr     x23, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x40
+G_M60590_IG12:        ; bbWeight=0, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, epilog, nogc
+            ldp     fp, lr, [sp], #0x10
             b       <unknown method>
             ; gcr arg pop 0
-                      ;; size=20 bbWeight=0 PerfScore 0.00
-G_M60590_IG12:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=300000 {x20 x21}, gcvars, byref, isz
-            ; byrRegs +[x20-x21]
-            ldr     x4, [x21, #0x10]
-            eor     x23, x4, x0
-            cmp     x23, #1
+                      ;; size=8 bbWeight=0 PerfScore 0.00
+G_M60590_IG13:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=0048 {x3 x6}, gcvars, byref, isz
+            ; byrRegs +[x3 x6]
+            ldr     x8, [x6, #0x10]
+            eor     x8, x8, x0
+            cmp     x8, #1
             bhi     G_M60590_IG05
             dmb     ishld
-            ldr     w2, [x21]
-            cmp     w22, w2
-            bne     G_M60590_IG09
-            b       G_M60590_IG10
-                       ;; size=36 bbWeight=0 PerfScore 0.00
+            ldr     w2, [x6]
+            cmp     w7, w2
+            bne     G_M60590_IG10
+            sxtw    w6, w8
+            ; byrRegs -[x6]
+            b       G_M60590_IG11
+                       ;; size=40 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 272, prolog size 20, PerfScore 28.84, instruction count 68, allocated bytes for code 272 (MethodHash=9f861351) for method System.Runtime.CompilerServices.CastHelpers:IsInstanceOfAny(ulong,System.Object):System.Object (Tier1)
+; Total bytes of code 240, prolog size 8, PerfScore 21.84, instruction count 60, allocated bytes for code 240 (MethodHash=9f861351) for method System.Runtime.CompilerServices.CastHelpers:IsInstanceOfAny(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   : 68 (0x00044) Actual length = 272 (0x000110)
+  Function Length   : 60 (0x0003c) Actual length = 240 (0x0000f0)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -156,9 +151,7 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D1 07       save_reg X#4 Z#7 (0x07); str x23, [sp, #56]
-    E6          save_next
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    81          save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]!
+    E4          end
     E4          end
 
  
-24 (-7.41%) : 90420.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, 28.03)     ref  ->  x19         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T03] (  8, 32.33)     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,T02] (  6, 32.24)     ref  ->  x23         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T01] (  9, 45.51)     int  ->  x24        
-;  V07 loc5         [V07,T00] (  5, 49.57)     ref  ->   x0         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T02] (  6, 36.54)     ref  ->  x23         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T00] (  6, 49.82)     int  ->  x24        
+;  V07 loc5         [V07,T01] (  5, 49.57)     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=8.60, 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=8.60 PerfScore 64.53
-G_M50755_IG06:        ; bbWeight=68.83, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
-            b       G_M50755_IG14
-                       ;; size=4 bbWeight=68.83 PerfScore 68.83
-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_IG14
                        ;; 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_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.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_IG09
                        ;; size=32 bbWeight=10.24 PerfScore 97.30
-G_M50755_IG10:        ; bbWeight=8.60, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG08:        ; bbWeight=8.60, 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=8.60, 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=8.60 PerfScore 55.92
-G_M50755_IG11:        ; bbWeight=2.15, 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=2.15 PerfScore 2.15
-G_M50755_IG12:        ; bbWeight=10.24, 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=8.60 PerfScore 129.05
+G_M50755_IG09:        ; bbWeight=10.24, 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=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_IG12
                       ;; 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_IG10:        ; 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=4.30, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bgt     G_M50755_IG07
+                       ;; size=16 bbWeight=10.24 PerfScore 51.21
+G_M50755_IG11:        ; bbWeight=0.24, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x23]
+            b       G_M50755_IG13
+                       ;; size=4 bbWeight=0.24 PerfScore 0.24
+G_M50755_IG12:        ; bbWeight=8.60, 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=4.30, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2 x23]
             ; gcr arg pop 0
-                      ;; size=16 bbWeight=4.30 PerfScore 10.75
-G_M50755_IG15:        ; bbWeight=0.24, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+                     ;; size=16 bbWeight=8.60 PerfScore 21.51
+G_M50755_IG13:        ; 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_IG14:        ; bbWeight=0.05, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             add     x14, x20, #8
             ; byrRegs +[x14]
@@ -162,23 +157,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_IG15:        ; 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 498.97, 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 437.35, 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)
  
-16 (-7.02%) : 18364.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.04, 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.54, 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)
  
+4 (+8.33%) : 70259.dasm - System.ArgumentOutOfRangeException:ThrowIfLessThanint (Tier1)
@@ -9,8 +9,8 @@
 ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  4,  3   )     int  ->   x0         ld-addr-op single-def
-;  V01 arg1         [V01,T01] (  4,  3   )     int  ->   x1         single-def
+;  V00 arg0         [V00,T00] (  5,  4   )     int  ->   x0         ld-addr-op single-def
+;  V01 arg1         [V01,T01] (  5,  4   )     int  ->   x1         single-def
 ;  V02 arg2         [V02,T02] (  3,  2   )     ref  ->   x2         class-hnd single-def <System.String>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04,T03] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
@@ -25,7 +25,8 @@ G_M40926_IG02:        ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byre
             ; gcrRegs +[x2]
             cmp     w0, w1
             blt     G_M40926_IG04
-                        ;; size=8 bbWeight=1 PerfScore 1.50
+            cmp     w0, w1
+                       ;; size=12 bbWeight=1 PerfScore 2.00
 G_M40926_IG03:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
@@ -40,7 +41,7 @@ G_M40926_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0004 {
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 48, prolog size 8, PerfScore 5.00, instruction count 12, allocated bytes for code 48 (MethodHash=63ec6021) for method System.ArgumentOutOfRangeException:ThrowIfLessThan[int](int,int,System.String) (Tier1)
+; Total bytes of code 52, prolog size 8, PerfScore 5.50, instruction count 13, allocated bytes for code 52 (MethodHash=63ec6021) for method System.ArgumentOutOfRangeException:ThrowIfLessThan[int](int,int,System.String) (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -51,7 +52,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 12 (0x0000c) Actual length = 48 (0x000030)
+  Function Length   : 13 (0x0000d) Actual length = 52 (0x000034)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+20 (+9.43%) : 75589.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.91)     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, 199.99)     int  ->   x7         "Inline stloc first use temp"
+;  V18 tmp15        [V18,T12] (  3, 199.99)     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.96)   byref  ->   x6         "CSE - aggressive"
-;  V24 cse1         [V24,T08] (  3, 299.96)   byref  ->   x5         "CSE - aggressive"
+;  V23 cse0         [V23,T07] (  3, 299.96)   byref  ->  x22         "CSE - aggressive"
+;  V24 cse1         [V24,T08] (  3, 299.96)   byref  ->  x21         "CSE - aggressive"
 ;  V25 cse2         [V25,T09] (  3, 299.96)   byref  ->   x3         hoist "CSE - aggressive"
-;  V26 cse3         [V26,T10] (  3, 299.94)     int  ->   x7         "CSE - aggressive"
+;  V26 cse3         [V26,T10] (  3, 299.94)     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.07
+            ldr     w20, [fp, #0x64]
+                       ;; size=28 bbWeight=0.01 PerfScore 0.09
 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.08
 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.98, 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.98, 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.98 PerfScore 849.83
+            b       G_M22719_IG09
+                       ;; size=24 bbWeight=99.98 PerfScore 649.87
 G_M22719_IG06:        ; bbWeight=0.01, 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.01 PerfScore 0.01
 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.98, 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.98 PerfScore 299.94
+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 6949.37, 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 7049.37, 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%) : 79861.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.56
+            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%) : 44418.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%) : 38947.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
@@ -69,7 +69,7 @@
 ;  V58 cse0         [V58,T16] (  3, 12   )    long  ->   x8         "CSE - aggressive"
 ;  V59 cse1         [V59,T09] (  2, 16   )     int  ->   x3         "CSE - aggressive"
 ;  V60 cse2         [V60,T17] (  3, 12   )    long  ->   x1         "CSE - aggressive"
-;  V61 cse3         [V61,T19] (  3, 10   )    long  ->   x3         "CSE - aggressive"
+;  V61 cse3         [V61,T19] (  3, 10   )    long  ->   x0         "CSE - aggressive"
 ;  V62 rat0         [V62,T30] (  3, 96   )  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 168
@@ -289,23 +289,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]
@@ -476,7 +475,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:
@@ -487,7 +486,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%) : 48404.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%) : 42922.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%) : 44142.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.70%) : 46697.dasm - System.Collections.Generic.GenericArraySortHelper1[System.Collections.BigStruct]:InsertionSort(System.Span1[System.Collections.BigStruct]) (Tier1)
@@ -22,7 +22,7 @@
 ;* V11 tmp7         [V11    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V12 tmp8         [V12    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] "Inlining Arg" <System.Collections.BigStruct>
 ;* V13 tmp9         [V13,T02] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
-;  V14 tmp10        [V14,T00] (  2, 64   )     int  ->   x6         "Inlining Arg"
+;  V14 tmp10        [V14,T00] (  3, 96   )     int  ->   x6         "Inlining Arg"
 ;* V15 tmp11        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[System.Collections.BigStruct]>
 ;  V16 tmp12        [V16,T03] (  6, 53   )   byref  ->   x0         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
 ;  V17 tmp13        [V17,T13] (  2,  2   )     int  ->   x1         single-def "field V00._length (fldOffset=0x8)" P-INDEP
@@ -36,7 +36,7 @@
 ;* V25 tmp21        [V25    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V26 tmp22        [V26    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V27 tmp23        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
-;  V28 tmp24        [V28,T04] (  3, 36   )     int  ->   x5         "V02.[012..016)"
+;  V28 tmp24        [V28,T04] (  4, 52   )     int  ->   x5         "V02.[012..016)"
 ;* V29 tmp25        [V29    ] (  0,  0   )     int  ->  zero-ref    "V12.[012..016)"
 ;  V30 tmp26        [V30,T07] (  3, 24   )   byref  ->   x4         "Spilling address for field-by-field copy"
 ;  V31 tmp27        [V31,T08] (  3, 96   )   byref  ->   x2         "Spilling address for field-by-field copy"
@@ -91,7 +91,8 @@ G_M17128_IG06:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byr
             ; byrRegs -[x6]
             cmp     w5, w6
             blt     G_M17128_IG04
-                        ;; size=20 bbWeight=16 PerfScore 96.00
+            cmp     w5, w6
+                       ;; size=24 bbWeight=16 PerfScore 104.00
 G_M17128_IG07:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
             add     w2, w2, #1
             sbfiz   x2, x2, #5, #32
@@ -111,7 +112,7 @@ G_M17128_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 148, prolog size 8, PerfScore 358.00, instruction count 37, allocated bytes for code 148 (MethodHash=3829bd17) for method System.Collections.Generic.GenericArraySortHelper`1[System.Collections.BigStruct]:InsertionSort(System.Span`1[System.Collections.BigStruct]) (Tier1)
+; Total bytes of code 152, prolog size 8, PerfScore 366.00, instruction count 38, allocated bytes for code 152 (MethodHash=3829bd17) for method System.Collections.Generic.GenericArraySortHelper`1[System.Collections.BigStruct]:InsertionSort(System.Span`1[System.Collections.BigStruct]) (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -122,7 +123,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)
  
  
coreclr_tests.run.windows.arm64.checked.mch
-16 (-7.02%) : 253655.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.51
+            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.00, 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.49, 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%) : 253653.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.50
+            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.28, 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.78, 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%) : 253143.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)
  
+48 (+22.64%) : 541487.dasm - ILGEN0x1db2cfa3:Method0x8618f02c(ushort,double,short,byte):int (FullOpts)
@@ -7,10 +7,10 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  3,  2.50)  ushort  ->  x20         single-def
-;  V01 arg1         [V01,T08] (  3,  3   )  double  ->  [fp+0x18]  single-def
+;  V00 arg0         [V00,T01] (  5,  3.50)  ushort  ->  x20         single-def
+;  V01 arg1         [V01,T08] (  5,  4.50)  double  ->  [fp+0x18]  single-def
 ;* V02 arg2         [V02    ] (  0,  0   )   short  ->  zero-ref    single-def
-;  V03 arg3         [V03,T00] (  3,  3   )    byte  ->  x19        
+;  V03 arg3         [V03,T00] (  6,  6   )    byte  ->  x19        
 ;* V04 loc0         [V04,T11] (  0,  0   )  double  ->  zero-ref   
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )     int  ->  zero-ref   
@@ -32,14 +32,14 @@
 ;* V22 tmp17        [V22    ] (  0,  0   )  double  ->  zero-ref   
 ;* V23 tmp18        [V23    ] (  0,  0   )   float  ->  zero-ref   
 ;* V24 tmp19        [V24    ] (  0,  0   )   float  ->  zero-ref   
-;* V25 tmp20        [V25,T04] (  0,  0   )     int  ->  zero-ref   
+;  V25 tmp20        [V25,T04] (  3,  2   )     int  ->   x0        
 ;* V26 tmp21        [V26    ] (  0,  0   )   float  ->  zero-ref   
 ;* V27 tmp22        [V27    ] (  0,  0   )     int  ->  zero-ref   
 ;* V28 tmp23        [V28    ] (  0,  0   )   float  ->  zero-ref   
 ;* V29 tmp24        [V29    ] (  0,  0   )     int  ->  zero-ref   
 ;* V30 tmp25        [V30,T14] (  0,  0   )   float  ->  zero-ref   
-;* V31 tmp26        [V31,T05] (  0,  0   )     int  ->  zero-ref   
-;* V32 tmp27        [V32,T06] (  0,  0   )     int  ->  zero-ref   
+;  V31 tmp26        [V31,T05] (  2,  2   )     int  ->   x0        
+;  V32 tmp27        [V32,T06] (  2,  2   )     int  ->   x1        
 ;* V33 tmp28        [V33    ] (  0,  0   )   float  ->  zero-ref   
 ;* V34 tmp29        [V34    ] (  0,  0   )   float  ->  zero-ref   
 ;* V35 tmp30        [V35    ] (  0,  0   )   float  ->  zero-ref   
@@ -57,7 +57,7 @@
 ;* V47 tmp42        [V47    ] (  0,  0   )     int  ->  zero-ref   
 ;* V48 tmp43        [V48    ] (  0,  0   )   float  ->  zero-ref   
 ;* V49 tmp44        [V49    ] (  0,  0   )   float  ->  zero-ref   
-;* V50 tmp45        [V50,T07] (  0,  0   )     int  ->  zero-ref   
+;  V50 tmp45        [V50,T07] (  2,  1   )     int  ->   x0        
 ;* V51 tmp46        [V51    ] (  0,  0   )  double  ->  zero-ref   
 ;  V52 cse0         [V52,T02] (  3,  3   )    long  ->  x21         "CSE - aggressive"
 ;  V53 cse1         [V53,T03] (  3,  3   )    long  ->  x22         "CSE - aggressive"
@@ -107,42 +107,59 @@ G_M36522_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             sxtb    w0, w19
             mov     w1, #7
             subs    w0, w1, w0
-            blo     G_M36522_IG08
+            blo     G_M36522_IG10
             ldr     d16, [@RWD00]
+            mov     w0, #3
             ldr     d0, [fp, #0x18]   // [V01 arg1]
             fcmp    d0, d16
+            csel    w19, w19, w0, ls
+            fcmp    d0, d16
             bhi     G_M36522_IG04
-                     ;; size=128 bbWeight=1 PerfScore 23.00
+                        ;; size=140 bbWeight=1 PerfScore 25.00
 G_M36522_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            uxth    w0, w20
             b       G_M36522_IG05
-                        ;; size=4 bbWeight=0.50 PerfScore 0.50
+                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M36522_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             mov     w0, #2
             uxth    w1, w20
             cmp     w1, #0
-            beq     G_M36522_IG07
+            beq     G_M36522_IG09
             udiv    w0, w0, w1
-                       ;; size=20 bbWeight=0.50 PerfScore 6.75
-G_M36522_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            uxth    w1, w20
+            mneg    w0, w0, w1
+            add     w0, w0, #2
+                       ;; size=32 bbWeight=0.50 PerfScore 8.25
+G_M36522_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            sxtb    w1, w19
+            cmp     w0, w1
+            bhi     G_M36522_IG07
+                       ;; size=12 bbWeight=1 PerfScore 2.00
+G_M36522_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            ldr     d16, [@RWD08]
+            fcmp    d0, d16
+                       ;; size=8 bbWeight=0.50 PerfScore 1.50
+G_M36522_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #3
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M36522_IG06:        ; bbWeight=1, epilog, nogc, extend
+G_M36522_IG08:        ; bbWeight=1, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=16 bbWeight=1 PerfScore 4.00
-G_M36522_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M36522_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             bl      CORINFO_HELP_THROWDIVZERO
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M36522_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M36522_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_OVERFLOW
             brk_windows #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 RWD00      dq  B3E5A6C0C2213032h   ; -1.07789489e-58
+RWD08    dq  0027489EA903E70Eh   ; 6.47598595e-308
 
 
-; Total bytes of code 212, prolog size 16, PerfScore 40.25, instruction count 53, allocated bytes for code 212 (MethodHash=7dff7155) for method ILGEN_0x1db2cfa3:Method_0x8618f02c(ushort,double,short,byte):int (FullOpts)
+; Total bytes of code 260, prolog size 16, PerfScore 47.50, instruction count 65, allocated bytes for code 260 (MethodHash=7dff7155) for method ILGEN_0x1db2cfa3:Method_0x8618f02c(ushort,double,short,byte):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -153,7 +170,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 53 (0x00035) Actual length = 212 (0x0000d4)
+  Function Length   : 65 (0x00041) Actual length = 260 (0x000104)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+24 (+46.15%) : 541509.dasm - ILGEN0x4601be46:Method0x9c86375f(ulong,ubyte):int (FullOpts)
@@ -8,19 +8,19 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  3,  3   )    long  ->   x0         ld-addr-op single-def
-;* V01 arg1         [V01,T01] (  0,  0   )   ubyte  ->  zero-ref    ld-addr-op single-def
+;  V01 arg1         [V01,T01] (  3,  3   )   ubyte  ->   x1         ld-addr-op single-def
 ;* V02 loc0         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
 ;* V03 loc1         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
 ;* V04 loc2         [V04,T04] (  0,  0   )   short  ->  zero-ref   
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V07 tmp1         [V07,T03] (  0,  0   )     int  ->  zero-ref   
+;  V07 tmp1         [V07,T03] (  2,  2   )     int  ->   x2        
 ;* V08 tmp2         [V08,T05] (  0,  0   )  double  ->  zero-ref   
 ;* V09 tmp3         [V09    ] (  0,  0   )     int  ->  zero-ref   
 ;* V10 tmp4         [V10    ] (  0,  0   )     int  ->  zero-ref   
 ;* V11 tmp5         [V11    ] (  0,  0   )    long  ->  zero-ref   
 ;* V12 tmp6         [V12    ] (  0,  0   )  double  ->  zero-ref   
-;* V13 cse0         [V13,T02] (  0,  0   )     int  ->  zero-ref    "CSE - aggressive"
+;  V13 cse0         [V13,T02] (  3,  3   )     int  ->   x1         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -29,22 +29,28 @@ G_M16983_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M16983_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            movk    x1, #0xD1FFAB1E LSL #48
-            movz    x2, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
+            movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
-            str     x1, [x2]
+            movk    x2, #0xD1FFAB1E LSL #48
+            movz    x3, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            str     x2, [x3]
+            uxtb    w1, w1
+            mov     w2, #4
+            movn    w3, #0
+            cmp     w1, #6
+            csel    w2, w2, w3, ge
+            cmp     w2, w1
             sxth    w0, w0
-                     ;; size=36 bbWeight=1 PerfScore 5.00
+                      ;; size=60 bbWeight=1 PerfScore 8.00
 G_M16983_IG03:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 52, prolog size 8, PerfScore 8.50, instruction count 13, allocated bytes for code 52 (MethodHash=0155bda8) for method ILGEN_0x4601be46:Method_0x9c86375f(ulong,ubyte):int (FullOpts)
+; Total bytes of code 76, prolog size 8, PerfScore 11.50, instruction count 19, allocated bytes for code 76 (MethodHash=0155bda8) for method ILGEN_0x4601be46:Method_0x9c86375f(ulong,ubyte):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -55,7 +61,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 13 (0x0000d) Actual length = 52 (0x000034)
+  Function Length   : 19 (0x00013) Actual length = 76 (0x00004c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+160.00%) : 541700.dasm - ILGEN0x2dda4eb5:Method0xa084659a():ushort (FullOpts)
@@ -9,8 +9,8 @@
 ;
 ;* V00 loc0         [V00,T02] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V02 tmp1         [V02,T00] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
-;* V03 cse0         [V03,T01] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
+;  V02 tmp1         [V02,T00] (  2,  4   )     ref  ->   x0         single-def "arr expr"
+;  V03 cse0         [V03,T01] (  2,  2   )    long  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -19,14 +19,24 @@ G_M5817_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mov     fp, sp
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M5817_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            mov     x1, #41
+            bl      CORINFO_HELP_NEWARR_1_VC
+            ; gcrRegs +[x0]
+            ldr     d16, [x0, #0x48]
+            fmov    d17, #7.0000
+            fcmp    d16, d17
             mov     w0, #100
-                     ;; size=4 bbWeight=1 PerfScore 0.50
+            ; gcrRegs -[x0]
+                       ;; size=36 bbWeight=1 PerfScore 8.00
 G_M5817_IG03:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 20, prolog size 8, PerfScore 4.00, instruction count 5, allocated bytes for code 20 (MethodHash=cc10e946) for method ILGEN_0x2dda4eb5:Method_0xa084659a():ushort (FullOpts)
+; Total bytes of code 52, prolog size 8, PerfScore 11.50, instruction count 13, allocated bytes for code 52 (MethodHash=cc10e946) for method ILGEN_0x2dda4eb5:Method_0xa084659a():ushort (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -37,7 +47,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 5 (0x00005) Actual length = 20 (0x000014)
+  Function Length   : 13 (0x0000d) Actual length = 52 (0x000034)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
libraries.crossgen2.windows.arm64.checked.mch
-32 (-3.98%) : 123830.dasm - System.Data.DataRelation:Create(System.String,System.Data.DataColumn[],System.Data.DataColumn[],ubyte):this (FullOpts)
@@ -32,26 +32,24 @@
 ;  V20 tmp13        [V20,T12] (  2,  4   )     ref  ->   x0         single-def "argument with side effect"
 ;  V21 PSPSym       [V21,T17] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
 ;  V22 cse0         [V22,T15] (  5,  3   )   byref  ->  x24         multi-def "CSE - aggressive"
-;  V23 cse1         [V23,T04] (  6,  9.04)    long  ->  x27         hoist multi-def "CSE - aggressive"
-;  V24 cse2         [V24,T05] (  6,  9.04)    long  ->  x28         hoist multi-def "CSE - aggressive"
-;  V25 cse3         [V25,T01] (  3, 11.88)    long  ->   x0         "CSE - aggressive"
-;  V26 cse4         [V26,T18] (  3,  0.12)    long  ->  x14         "CSE - conservative"
-;  V27 cse5         [V27,T06] (  6,  8   )     int  ->  x25         "CSE - aggressive"
+;  V23 cse1         [V23,T04] (  6,  9.04)    long  ->   x2         hoist multi-def "CSE - aggressive"
+;  V24 cse2         [V24,T05] (  6,  9.04)    long  ->  registers   hoist multi-def "CSE - aggressive"
+;  V25 cse3         [V25,T01] (  3, 11.88)    long  ->   x4         "CSE - aggressive"
+;  V26 cse4         [V26,T18] (  3,  0.12)    long  ->   x4         "CSE - conservative"
+;  V27 cse5         [V27,T06] (  6,  8   )     int  ->   x0         "CSE - aggressive"
 ;  V28 cse6         [V28,T11] (  4,  5.04)   byref  ->  registers   hoist multi-def "CSE - aggressive"
-;  V29 cse7         [V29,T14] (  4,  3.04)     int  ->  x26         "CSE - aggressive"
+;  V29 cse7         [V29,T14] (  4,  3.04)     int  ->  x11         "CSE - aggressive"
 ;
 ; Lcl frame size = 32
 
 G_M1015_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x80]!
+            stp     fp, lr, [sp, #-0x60]!
             stp     x19, x20, [sp, #0x30]
             stp     x21, x22, [sp, #0x40]
             stp     x23, x24, [sp, #0x50]
-            stp     x25, x26, [sp, #0x60]
-            stp     x27, x28, [sp, #0x70]
             mov     fp, sp
             stp     xzr, xzr, [fp, #0x10]  // [V10 tmp3], [V09 tmp2]
-            add     x5, sp, #128
+            add     x5, sp, #96
             str     x5, [fp, #0x28] // [V21 PSPSym]
             mov     x19, x0
             ; gcrRegs +[x19]
@@ -62,7 +60,7 @@ G_M1015_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
             mov     x20, x3
             ; gcrRegs +[x20]
             mov     w23, w4
-                      ;; size=60 bbWeight=1 PerfScore 11.50
+                     ;; size=52 bbWeight=1 PerfScore 9.50
 G_M1015_IG02:        ; bbWeight=1, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=0000 {}, byref
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
@@ -137,57 +135,57 @@ G_M1015_IG03:        ; bbWeight=1, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs
             blr     x12
             ; gcrRegs -[x15]
             ; byrRegs -[x14]
-            ldr     w25, [x21, #0x08]
-            ldr     w26, [x20, #0x08]
-            cmp     w25, w26
+            ldr     w0, [x21, #0x08]
+            ldr     w11, [x20, #0x08]
+            cmp     w0, w11
             bne     G_M1015_IG11
             mov     w1, wzr
-            cmp     w25, #0
+            cmp     w0, #0
             ble     G_M1015_IG05
-            cmp     w26, w25
+            cmp     w11, w0
             blt     G_M1015_IG09
-            add     x26, x21, #16
-            ; byrRegs +[x26]
-            adrp    x0, [HIGH RELOC #0xD1FFAB1E]
-            add     x0, x0, [LOW RELOC #0xD1FFAB1E]
-            ldr     x27, [x0]
-            adrp    x0, [HIGH RELOC #0xD1FFAB1E]
-            add     x0, x0, [LOW RELOC #0xD1FFAB1E]
-            ldr     x28, [x0]
+            add     x11, x21, #16
+            ; byrRegs +[x11]
+            adrp    x2, [HIGH RELOC #0xD1FFAB1E]
+            add     x2, x2, [LOW RELOC #0xD1FFAB1E]
+            ldr     x2, [x2]
+            adrp    x3, [HIGH RELOC #0xD1FFAB1E]
+            add     x3, x3, [LOW RELOC #0xD1FFAB1E]
+            ldr     x3, [x3]
                        ;; size=168 bbWeight=1 PerfScore 47.50
-G_M1015_IG04:        ; bbWeight=3.96, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=5000000 {x24 x26}, byref, isz
+G_M1015_IG04:        ; bbWeight=3.96, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=1000800 {x11 x24}, byref, isz
             ; gcrRegs -[x21]
-            ubfiz   x0, x1, #3, #32
-            ldr     x11, [x26, x0]
-            ; gcrRegs +[x11]
-            add     x11, x11, x27
-            ; gcrRegs -[x11]
-            ; byrRegs +[x11]
-            ldr     x11, [x11, #0x30]
-            ; gcrRegs +[x11]
-            ; byrRegs -[x11]
-            ldr     x11, [x11, x28]
-            cbz     x11, G_M1015_IG08
-            add     x11, x20, #16
-            ; gcrRegs -[x11]
-            ; byrRegs +[x11]
-            ldr     x0, [x11, x0]
-            ; gcrRegs +[x0]
-            add     x0, x0, x27
-            ; gcrRegs -[x0]
-            ; byrRegs +[x0]
-            ldr     x0, [x0, #0x30]
-            ; gcrRegs +[x0]
-            ; byrRegs -[x0]
-            ldr     x0, [x0, x28]
-            cbz     x0, G_M1015_IG08
+            ubfiz   x4, x1, #3, #32
+            ldr     x5, [x11, x4]
+            ; gcrRegs +[x5]
+            add     x5, x5, x2
+            ; gcrRegs -[x5]
+            ; byrRegs +[x5]
+            ldr     x5, [x5, #0x30]
+            ; gcrRegs +[x5]
+            ; byrRegs -[x5]
+            ldr     x5, [x5, x3]
+            cbz     x5, G_M1015_IG08
+            add     x5, x20, #16
+            ; gcrRegs -[x5]
+            ; byrRegs +[x5]
+            ldr     x4, [x5, x4]
+            ; gcrRegs +[x4]
+            add     x4, x4, x2
+            ; gcrRegs -[x4]
+            ; byrRegs +[x4]
+            ldr     x4, [x4, #0x30]
+            ; gcrRegs +[x4]
+            ; byrRegs -[x4]
+            ldr     x4, [x4, x3]
+            cbz     x4, G_M1015_IG08
             add     w1, w1, #1
-            cmp     w25, w1
+            cmp     w0, w1
             bgt     G_M1015_IG04
                        ;; size=60 bbWeight=3.96 PerfScore 97.02
 G_M1015_IG05:        ; bbWeight=1, gcrefRegs=480000 {x19 x22}, byrefRegs=1000000 {x24}, byref, isz
-            ; gcrRegs -[x0 x20]
-            ; byrRegs -[x11 x26]
+            ; gcrRegs -[x4 x20]
+            ; byrRegs -[x5 x11]
             mov     x0, x19
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -202,9 +200,9 @@ G_M1015_IG05:        ; bbWeight=1, gcrefRegs=480000 {x19 x22}, byrefRegs=1000000
                        ;; size=28 bbWeight=1 PerfScore 7.00
 G_M1015_IG06:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=1000000 {x24}, byref
             ; gcrRegs -[x15 x22]
-            adrp    x14, [HIGH RELOC #0xD1FFAB1E]      // const ptr
-            add     x14, x14, [LOW RELOC #0xD1FFAB1E]
-            ldr     x14, [x14]
+            adrp    x15, [HIGH RELOC #0xD1FFAB1E]      // const ptr
+            add     x15, x15, [LOW RELOC #0xD1FFAB1E]
+            ldr     x14, [x15]
             ldr     x15, [x14]
             ; gcrRegs +[x15]
                        ;; size=16 bbWeight=0.50 PerfScore 3.50
@@ -239,49 +237,49 @@ G_M1015_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
 G_M1015_IG09:        ; bbWeight=0.04, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=1000000 {x24}, byref, isz
             ; gcrRegs +[x19-x22]
             ; byrRegs +[x24]
-            add     x15, x21, #16
-            ; byrRegs +[x15]
-            ubfiz   x14, x1, #3, #32
-            ldr     x15, [x15, x14]
-            ; gcrRegs +[x15]
-            ; byrRegs -[x15]
-            adrp    x12, [HIGH RELOC #0xD1FFAB1E]
-            add     x12, x12, [LOW RELOC #0xD1FFAB1E]
-            ldr     x27, [x12]
-            add     x15, x15, x27
-            ; gcrRegs -[x15]
-            ; byrRegs +[x15]
-            ldr     x15, [x15, #0x30]
-            ; gcrRegs +[x15]
-            ; byrRegs -[x15]
-            adrp    x12, [HIGH RELOC #0xD1FFAB1E]
-            add     x12, x12, [LOW RELOC #0xD1FFAB1E]
-            ldr     x28, [x12]
-            ldr     x15, [x15, x28]
-            cbz     x15, G_M1015_IG08
-            cmp     w1, w26
+            add     x2, x21, #16
+            ; byrRegs +[x2]
+            ubfiz   x4, x1, #3, #32
+            ldr     x3, [x2, x4]
+            ; gcrRegs +[x3]
+            adrp    x2, [HIGH RELOC #0xD1FFAB1E]
+            ; byrRegs -[x2]
+            add     x2, x2, [LOW RELOC #0xD1FFAB1E]
+            ldr     x2, [x2]
+            add     x3, x3, x2
+            ; gcrRegs -[x3]
+            ; byrRegs +[x3]
+            ldr     x3, [x3, #0x30]
+            ; gcrRegs +[x3]
+            ; byrRegs -[x3]
+            adrp    x5, [HIGH RELOC #0xD1FFAB1E]
+            add     x5, x5, [LOW RELOC #0xD1FFAB1E]
+            ldr     x5, [x5]
+            ldr     x3, [x3, x5]
+            cbz     x3, G_M1015_IG08
+            cmp     w1, w11
             bhs     G_M1015_IG10
-            add     x15, x20, #16
-            ; gcrRegs -[x15]
-            ; byrRegs +[x15]
-            ldr     x14, [x15, x14]
-            ; gcrRegs +[x14]
-            add     x14, x14, x27
-            ; gcrRegs -[x14]
-            ; byrRegs +[x14]
-            ldr     x14, [x14, #0x30]
-            ; gcrRegs +[x14]
-            ; byrRegs -[x14]
-            ldr     x14, [x14, x28]
-            cbz     x14, G_M1015_IG08
+            add     x3, x20, #16
+            ; gcrRegs -[x3]
+            ; byrRegs +[x3]
+            ldr     x3, [x3, x4]
+            ; gcrRegs +[x3]
+            ; byrRegs -[x3]
+            add     x2, x3, x2
+            ; byrRegs +[x2]
+            ldr     x2, [x2, #0x30]
+            ; gcrRegs +[x2]
+            ; byrRegs -[x2]
+            ldr     x2, [x2, x5]
+            cbz     x2, G_M1015_IG08
             add     w1, w1, #1
-            cmp     w25, w1
+            cmp     w0, w1
             bgt     G_M1015_IG09
             b       G_M1015_IG05
                        ;; size=100 bbWeight=0.04 PerfScore 1.42
 G_M1015_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x14 x19-x22]
-            ; byrRegs -[x15 x24]
+            ; gcrRegs -[x2-x3 x19-x22]
+            ; byrRegs -[x24]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x0]
@@ -319,24 +317,20 @@ G_M1015_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=1000000 {x24}, b
             ; gcr arg pop 0
                        ;; size=32 bbWeight=1 PerfScore 13.50
 G_M1015_IG13:        ; bbWeight=1, epilog, nogc, extend
-            ldp     x27, x28, [sp, #0x70]
-            ldp     x25, x26, [sp, #0x60]
             ldp     x23, x24, [sp, #0x50]
...
  
-24 (-2.86%) : 150761.dasm - Microsoft.CodeAnalysis.Text.SourceText:ContentEqualsImpl(Microsoft.CodeAnalysis.Text.SourceText):ubyte:this (FullOpts)
@@ -11,12 +11,12 @@
 ;
 ;  V00 this         [V00,T08] (  8, 15.50)     ref  ->  x19         this class-hnd single-def <Microsoft.CodeAnalysis.Text.SourceText>
 ;  V01 arg1         [V01,T13] (  6,  8   )     ref  ->  x20         class-hnd single-def <Microsoft.CodeAnalysis.Text.SourceText>
-;  V02 loc0         [V02,T11] (  7, 10.52)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <<unknown class>>
-;  V03 loc1         [V03,T10] (  9, 10.68)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V02 loc0         [V02,T11] (  7, 10.52)     ref  ->  [fp+0x20]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V03 loc1         [V03,T10] (  9, 10.68)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <<unknown class>>
 ;  V04 loc2         [V04,T03] (  7, 24.50)     int  ->  x23        
 ;  V05 loc3         [V05,T02] (  9, 40   )     int  ->  x26        
-;  V06 loc4         [V06,T00] ( 11, 68.32)     int  ->   x1        
-;  V07 loc5         [V07,T21] (  3,  1.50)   ubyte  ->  x19        
+;  V06 loc4         [V06,T00] ( 11, 68.32)     int  ->   x0        
+;  V07 loc5         [V07,T21] (  3,  1.50)   ubyte  ->  x23        
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V09 tmp1         [V09    ] (  0,  0   )     int  ->  zero-ref    "non-inline candidate call"
 ;  V10 tmp2         [V10,T15] (  3,  8   )     int  ->  x26         "Inline return value spill temp"
@@ -28,33 +28,32 @@
 ;  V16 tmp8         [V16,T25] (  2,  0   )     ref  ->   x0         single-def "argument with side effect"
 ;  V17 tmp9         [V17,T19] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
 ;  V18 tmp10        [V18,T20] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
-;  V19 PSPSym       [V19,T22] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
+;  V19 PSPSym       [V19,T22] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
 ;  V20 cse0         [V20,T16] (  8,  2.50)   byref  ->  x22         multi-def "CSE - aggressive"
-;  V21 cse1         [V21,T01] (  3, 47.52)    long  ->   x0         "CSE - aggressive"
-;  V22 cse2         [V22,T23] (  3,  0.48)    long  ->   x0         "CSE - conservative"
-;  V23 cse3         [V23,T06] (  4, 18.02)   byref  ->  x24         hoist multi-def "CSE - aggressive"
-;  V24 cse4         [V24,T07] (  4, 18.02)   byref  ->  x27         hoist multi-def "CSE - aggressive"
+;  V21 cse1         [V21,T01] (  3, 47.52)    long  ->   x4         "CSE - aggressive"
+;  V22 cse2         [V22,T23] (  3,  0.48)    long  ->   x4         "CSE - conservative"
+;  V23 cse3         [V23,T06] (  4, 18.02)   byref  ->  x11         hoist multi-def "CSE - aggressive"
+;  V24 cse4         [V24,T07] (  4, 18.02)   byref  ->   x3         hoist multi-def "CSE - aggressive"
 ;  V25 cse5         [V25,T12] (  4, 10.16)     int  ->  x25         "CSE - aggressive"
 ;  V26 cse6         [V26,T14] (  6, 10   )    long  ->  x21         "CSE - aggressive"
 ;  V27 cse7         [V27,T09] (  3, 12   )    long  ->  x24         "CSE - aggressive"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 32
 
 G_M16886_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x70]!
-            stp     x19, x20, [sp, #0x28]
-            stp     x21, x22, [sp, #0x38]
-            stp     x23, x24, [sp, #0x48]
-            stp     x25, x26, [sp, #0x58]
-            str     x27, [sp, #0x68]
+            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, #112
-            str     x2, [fp, #0x20]  // [V19 PSPSym]
+            str     x2, [fp, #0x28]    // [V19 PSPSym]
             mov     x19, x0
             ; gcrRegs +[x19]
             mov     x20, x1
             ; gcrRegs +[x20]
-                     ;; size=44 bbWeight=1 PerfScore 9.00
+                      ;; size=40 bbWeight=1 PerfScore 8.00
 G_M16886_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             cbnz    x20, G_M16886_IG05
                        ;; size=4 bbWeight=1 PerfScore 1.00
@@ -63,14 +62,13 @@ G_M16886_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, wzr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M16886_IG04:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x27, [sp, #0x68]
-            ldp     x25, x26, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
+            ldp     x25, x26, [sp, #0x60]
+            ldp     x23, x24, [sp, #0x50]
+            ldp     x21, x22, [sp, #0x40]
+            ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x70
             ret     lr
-                       ;; size=28 bbWeight=0.50 PerfScore 4.00
+                       ;; size=24 bbWeight=0.50 PerfScore 3.00
 G_M16886_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x19-x20]
             cmp     x19, x20
@@ -78,14 +76,13 @@ G_M16886_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             mov     w0, #1
                        ;; size=12 bbWeight=0.50 PerfScore 1.00
 G_M16886_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x27, [sp, #0x68]
-            ldp     x25, x26, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
+            ldp     x25, x26, [sp, #0x60]
+            ldp     x23, x24, [sp, #0x50]
+            ldp     x21, x22, [sp, #0x40]
+            ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x70
             ret     lr
-                       ;; size=28 bbWeight=0.50 PerfScore 4.00
+                       ;; size=24 bbWeight=0.50 PerfScore 3.00
 G_M16886_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -124,7 +121,7 @@ G_M16886_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             ldr     x1, [x11]
             blr     x1
             ; gcr arg pop 0
-            str     x0, [fp, #0x18]   // [V02 loc0]
+            str     x0, [fp, #0x20]  // [V02 loc0]
             ; GC ptr vars +{V02}
             ldr     x0, [x22, #0xD1FFAB1E]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -133,7 +130,7 @@ G_M16886_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=180
             ldr     x2, [x11]
             blr     x2
             ; gcr arg pop 0
-            str     x0, [fp, #0x10]   // [V03 loc1]
+            str     x0, [fp, #0x18]  // [V03 loc1]
             ; GC ptr vars +{V03}
                        ;; size=132 bbWeight=0.50 PerfScore 22.75
 G_M16886_IG08:        ; bbWeight=0.50, gcVars=0000000000000C00 {V02 V03}, gcrefRegs=180000 {x19 x20}, byrefRegs=400000 {x22}, gcvars, byref, isz
@@ -158,7 +155,7 @@ G_M16886_IG09:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000
             ; gcrRegs -[x0]
             ; gcr arg pop 0
             sub     w24, w0, w23
-            ldr     x1, [fp, #0x18]  // [V02 loc0]
+            ldr     x1, [fp, #0x20]  // [V02 loc0]
             ; gcrRegs +[x1]
             ldr     w25, [x1, #0x08]
             sxtw    w26, w25
@@ -177,7 +174,7 @@ G_M16886_IG12:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000
             ; gcrRegs +[x0]
             mov     w4, w26
             mov     w1, w23
-            ldr     x2, [fp, #0x18]   // [V02 loc0]
+            ldr     x2, [fp, #0x20]  // [V02 loc0]
             ; gcrRegs +[x2]
             adrp    x24, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x24, x24, [LOW RELOC #0xD1FFAB1E]
@@ -191,7 +188,7 @@ G_M16886_IG12:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000
             ; gcrRegs +[x0]
             mov     w4, w26
             mov     w1, w23
-            ldr     x2, [fp, #0x10]   // [V03 loc1]
+            ldr     x2, [fp, #0x18]  // [V03 loc1]
             ; gcrRegs +[x2]
             mov     x11, x24
             mov     w3, wzr
@@ -199,45 +196,45 @@ G_M16886_IG12:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000
             blr     x5
             ; gcrRegs -[x0 x2]
             ; gcr arg pop 0
-            mov     w1, wzr
+            mov     w0, wzr
             cmp     w26, #0
             ble     G_M16886_IG15
                        ;; size=84 bbWeight=4 PerfScore 80.00
 G_M16886_IG13:        ; bbWeight=2, gcrefRegs=180000 {x19 x20}, byrefRegs=400000 {x22}, byref, isz
-            ldr     x2, [fp, #0x10]    // [V03 loc1]
+            ldr     x2, [fp, #0x18]  // [V03 loc1]
             ; gcrRegs +[x2]
             cbz     x2, G_M16886_IG18
             cmp     w25, w26
             blt     G_M16886_IG18
-            ldr     w0, [x2, #0x08]
-            cmp     w0, w26
-            blt     G_M16886_IG18
-            ldr     x3, [fp, #0x18]    // [V02 loc0]
-            ; gcrRegs +[x3]
-            add     x24, x3, #16
-            ; byrRegs +[x24]
-            add     x27, x2, #16
-            ; byrRegs +[x27]
-                       ;; size=40 bbWeight=2 PerfScore 24.00
-G_M16886_IG14:        ; bbWeight=15.84, gcrefRegs=180000 {x19 x20}, byrefRegs=9400000 {x22 x24 x27}, byref, isz
-            ; gcrRegs -[x2-x3]
-            ubfiz   x0, x1, #1, #32
-            ldrh    w11, [x24, x0]
-            ldrh    w0, [x27, x0]
-            cmp     w11, w0
-            bne     G_M16886_IG20
-            add     w1, w1, #1
+            ldr     w1, [x2, #0x08]
             cmp     w1, w26
+            blt     G_M16886_IG18
+            ldr     x1, [fp, #0x20]    // [V02 loc0]
+            ; gcrRegs +[x1]
+            add     x11, x1, #16
+            ; byrRegs +[x11]
+            add     x3, x2, #16
+            ; byrRegs +[x3]
+                       ;; size=40 bbWeight=2 PerfScore 24.00
+G_M16886_IG14:        ; bbWeight=15.84, gcrefRegs=180006 {x1 x2 x19 x20}, byrefRegs=400808 {x3 x11 x22}, byref, isz
+            ubfiz   x4, x0, #1, #32
+            ldrh    w5, [x11, x4]
+            ldrh    w4, [x3, x4]
+            cmp     w5, w4
+            bne     G_M16886_IG20
+            add     w0, w0, #1
+            cmp     w0, w26
             blt     G_M16886_IG14
                        ;; size=32 bbWeight=15.84 PerfScore 166.32
 G_M16886_IG15:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000 {x22}, byref, isz
-            ; byrRegs -[x24 x27]
+            ; gcrRegs -[x1-x2]
+            ; byrRegs -[x3 x11]
             add     w23, w23, w26
             mov     x0, x19
             ; gcrRegs +[x0]
             mov     x11, x21
-            ldr     x1, [x11]
-            blr     x1
+            ldr     x3, [x11]
+            blr     x3
             ; gcrRegs -[x0]
             ; gcr arg pop 0
             cmp     w0, w23
@@ -245,9 +242,9 @@ G_M16886_IG15:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000
                        ;; size=28 bbWeight=4 PerfScore 28.00
 G_M16886_IG16:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
             ; gcrRegs -[x19-x20]
-            ldr     x2, [fp, #0x10]  // [V03 loc1]
+            ldr     x2, [fp, #0x18]  // [V03 loc1]
             ; gcrRegs +[x2]
-            mov     w19, #1
+            mov     w23, #1
             b       G_M16886_IG21
                        ;; size=12 bbWeight=0.50 PerfScore 1.75
 G_M16886_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -262,38 +259,39 @@ G_M16886_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
 G_M16886_IG18:        ; bbWeight=0.02, gcrefRegs=180004 {x2 x19 x20}, byrefRegs=400000 {x22}, byref
             ; gcrRegs +[x2 x19-x20]
             ; byrRegs +[x22]
-            ldr     x3, [fp, #0x18]  // [V02 loc0]
-            ; gcrRegs +[x3]
-            add     x24, x3, #16
-            ; byrRegs +[x24]
-            add     x27, x2, #16
-            ; byrRegs +[x27]
+            ldr     x1, [fp, #0x20]  // [V02 loc0]
+            ; gcrRegs +[x1]
+            add     x11, x1, #16
+            ; byrRegs +[x11]
+            add     x3, x2, #16
+            ; byrRegs +[x3]
                         ;; size=12 bbWeight=0.02 PerfScore 0.06
-G_M16886_IG19:        ; bbWeight=0.16, gcrefRegs=180004 {x2 x19 x20}, byrefRegs=9400000 {x22 x24 x27}, byref, isz
-            ; gcrRegs -[x3]
-            cmp     w1, w25
+G_M16886_IG19:        ; bbWeight=0.16, gcrefRegs=180004 {x2 x19 x20}, byrefRegs=400808 {x3 x11 x22}, byref, isz
...
  
-12 (-2.13%) : 57337.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstraintsHelper:CheckConstraints(Microsoft.CodeAnalysis.CSharp.Symbol,byref,Microsoft.CodeAnalysis.CSharp.Symbols.TypeMap,System.Collections.Immutable.ImmutableArray1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol],System.Collections.Immutable.ImmutableArray1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterDiagnosticInfo],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterDiagnosticInfo],byref,Microsoft.CodeAnalysis.BitVector,System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol]):ubyte (FullOpts)
@@ -81,12 +81,12 @@ G_M49290_IG02:        ; bbWeight=1, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26
             str     w3, [fp, #0x30]    // [V11 loc1]
             mov     w4, wzr
             cmp     w2, #0
-            ble     G_M49290_IG11
-            cbz     x23, G_M49290_IG10
+            ble     G_M49290_IG10
+            cbz     x23, G_M49290_IG09
             ldr     wzr, [x24, #0x08]
             ldr     w0, [x23, #0x08]
             cmp     w0, w2
-            blt     G_M49290_IG12
+            blt     G_M49290_IG11
                        ;; size=48 bbWeight=1 PerfScore 16.00
 G_M49290_IG03:        ; bbWeight=3.96, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
             mov     x0, x22
@@ -150,30 +150,27 @@ G_M49290_IG07:        ; bbWeight=3.96, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x
             add     w3, w3, #1
             ldr     w4, [fp, #0x34]    // [V10 loc0]
             cmp     w3, w4
-            blt     G_M49290_IG09
-                       ;; size=20 bbWeight=3.96 PerfScore 23.76
+            mov     w4, w3
+            blt     G_M49290_IG03
+                       ;; size=24 bbWeight=3.96 PerfScore 25.74
 G_M49290_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x21 x23-x26 x28]
             ; byrRegs -[x20 x22 x27]
             ldr     w3, [fp, #0x30]    // [V11 loc1]
-            b       G_M49290_IG18
+            b       G_M49290_IG16
                      ;; size=8 bbWeight=1 PerfScore 3.00
-G_M49290_IG09:        ; bbWeight=1.98, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref
+G_M49290_IG09:        ; bbWeight=0.50, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref
             ; gcrRegs +[x19 x21 x23-x26 x28]
             ; byrRegs +[x20 x22 x27]
-            mov     w4, w3
-            b       G_M49290_IG03
-                       ;; size=8 bbWeight=1.98 PerfScore 2.97
-G_M49290_IG10:        ; bbWeight=0.50, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref
-            b       G_M49290_IG12
+            b       G_M49290_IG11
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M49290_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M49290_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x21 x23-x26 x28]
             ; byrRegs -[x20 x22 x27]
             ldr     w3, [fp, #0x30]    // [V11 loc1]
-            b       G_M49290_IG18
+            b       G_M49290_IG16
                      ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M49290_IG12:        ; bbWeight=0.04, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
+G_M49290_IG11:        ; bbWeight=0.04, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
             ; gcrRegs +[x19 x21 x23-x26 x28]
             ; byrRegs +[x20 x22 x27]
             mov     x0, x22
@@ -185,9 +182,9 @@ G_M49290_IG12:        ; bbWeight=0.04, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x
             ldr     x5, [x11]
             blr     x5
             ; byrRegs -[x0]
-            cbnz    w0, G_M49290_IG22
+            cbnz    w0, G_M49290_IG19
                       ;; size=32 bbWeight=0.04 PerfScore 0.32
-G_M49290_IG13:        ; bbWeight=0.02, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
+G_M49290_IG12:        ; bbWeight=0.02, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
             add     x0, x24, #16
             ; byrRegs +[x0]
             ldr     w8, [fp, #0x2C]    // [V12 loc2]
@@ -196,7 +193,7 @@ G_M49290_IG13:        ; bbWeight=0.02, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x
             ldr     w0, [x23, #0x08]
             ; byrRegs -[x0]
             cmp     w8, w0
-            bhs     G_M49290_IG23
+            bhs     G_M49290_IG20
             mov     w0, #24
             mov     x1, #16
             str     w8, [fp, #0x2C]    // [V12 loc2]
@@ -204,13 +201,13 @@ G_M49290_IG13:        ; bbWeight=0.02, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x
             add     x0, x23, x0
             ; byrRegs +[x0]
                        ;; size=44 bbWeight=0.02 PerfScore 0.35
-G_M49290_IG14:        ; bbWeight=0.02, nogc, extend
+G_M49290_IG13:        ; bbWeight=0.02, nogc, extend
             ldp     x1, x2, [x0]
             stp     x1, x2, [fp, #0x10]
             ldr     x1, [x0, #0x10]
             str     x1, [fp, #0x20]
                        ;; size=16 bbWeight=0.02 PerfScore 0.18
-G_M49290_IG15:        ; bbWeight=0.02, isz, extend
+G_M49290_IG14:        ; bbWeight=0.02, isz, extend
             str     x28, [sp]    // [V13 OutArgs]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -232,26 +229,24 @@ G_M49290_IG15:        ; bbWeight=0.02, isz, extend
             blr     x9
             ; gcrRegs -[x0 x2-x3 x5-x6]
             ; byrRegs -[x1 x7]
-            cbnz    w0, G_M49290_IG21
-            mov     w0, wzr
-                       ;; size=56 bbWeight=0.02 PerfScore 0.22
-G_M49290_IG16:        ; bbWeight=0.04, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
-            ldr     w8, [fp, #0x2C]    // [V12 loc2]
-            add     w8, w8, #1
+            ldr     w3, [fp, #0x30]    // [V11 loc1]
+            cbnz    w0, G_M49290_IG15
+            mov     w3, wzr
+                       ;; size=60 bbWeight=0.02 PerfScore 0.26
+G_M49290_IG15:        ; bbWeight=0.04, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref, isz
+            ldr     w0, [fp, #0x2C]    // [V12 loc2]
+            add     w0, w0, #1
             ldr     w2, [fp, #0x34]  // [V10 loc0]
-            cmp     w8, w2
-            mov     w4, w8
-            blt     G_M49290_IG20
+            cmp     w0, w2
+            mov     w4, w0
+            blt     G_M49290_IG18
                       ;; size=24 bbWeight=0.04 PerfScore 0.26
-G_M49290_IG17:        ; bbWeight=0.02, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M49290_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x21 x23-x26 x28]
             ; byrRegs -[x20 x22 x27]
-            mov     w3, w0
-                       ;; size=4 bbWeight=0.02 PerfScore 0.01
-G_M49290_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, w3
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M49290_IG19:        ; bbWeight=1, epilog, nogc, extend
+G_M49290_IG17:        ; bbWeight=1, epilog, nogc, extend
             ldp     x27, x28, [sp, #0x80]
             ldp     x25, x26, [sp, #0x70]
             ldp     x23, x24, [sp, #0x60]
@@ -261,21 +256,17 @@ G_M49290_IG19:        ; bbWeight=1, epilog, nogc, extend
             add     sp, sp, #144
             ret     lr
                        ;; size=32 bbWeight=1 PerfScore 7.50
-G_M49290_IG20:        ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, gcvars, byref
+G_M49290_IG18:        ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, gcvars, byref
             ; gcrRegs +[x19 x21 x23-x26 x28]
             ; byrRegs +[x20 x22 x27]
-            str     w0, [fp, #0x30]  // [V11 loc1]
-            b       G_M49290_IG12
+            str     w3, [fp, #0x30] // [V11 loc1]
+            b       G_M49290_IG11
                       ;; size=8 bbWeight=0.02 PerfScore 0.04
-G_M49290_IG21:        ; bbWeight=0.01, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref
-            ldr     w0, [fp, #0x30]    // [V11 loc1]
-            b       G_M49290_IG16
-                       ;; size=8 bbWeight=0.01 PerfScore 0.03
-G_M49290_IG22:        ; bbWeight=0.02, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref
-            ldr     w0, [fp, #0x30]    // [V11 loc1]
-            b       G_M49290_IG16
+G_M49290_IG19:        ; bbWeight=0.02, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=8500000 {x20 x22 x27}, byref
+            ldr     w3, [fp, #0x30]    // [V11 loc1]
+            b       G_M49290_IG15
                       ;; size=8 bbWeight=0.02 PerfScore 0.06
-G_M49290_IG23:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M49290_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x21 x23-x26 x28]
             ; byrRegs -[x20 x22 x27]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -285,7 +276,7 @@ G_M49290_IG23:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_windows #0
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 564, prolog size 40, PerfScore 165.27, instruction count 141, allocated bytes for code 564 (MethodHash=ce803f75) for method 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)
+; Total bytes of code 552, prolog size 40, PerfScore 164.28, instruction count 138, allocated bytes for code 552 (MethodHash=ce803f75) for method 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)
 ; ============================================================
 
 Unwind Info:
@@ -296,7 +287,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 141 (0x0008d) Actual length = 564 (0x000234)
+  Function Length   : 138 (0x0008a) Actual length = 552 (0x000228)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+3.98%) : 241585.dasm - System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (FullOpts)
@@ -18,41 +18,42 @@
 ;  V06 loc4         [V06,T03] (  3, 48   )     ref  ->  x26         class-hnd <System.Diagnostics.Process>
 ;  V07 loc5         [V07,T17] (  2,  2   )   ubyte  ->  [fp+0x24]  do-not-enreg[Z] EH-live
 ;  V08 loc6         [V08,T14] (  6,  6   )     ref  ->   x1         class-hnd <System.Diagnostics.Process[]>
-;  V09 loc7         [V09,T02] ( 10, 66   )     int  ->  x19        
+;  V09 loc7         [V09,T02] ( 10, 66   )     int  ->  x25        
 ;* V10 loc8         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Diagnostics.Process>
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V12 tmp1         [V12,T16] (  3,  6   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V13 tmp2         [V13,T04] (  2, 32   )     ref  ->   x0         "argument with side effect"
 ;  V14 PSPSym       [V14,T18] (  1,  1   )    long  ->  [fp+0x48]  do-not-enreg[V] "PSPSym"
 ;  V15 cse0         [V15,T00] (  6, 98   )    long  ->  x24         hoist multi-def "CSE - aggressive"
-;  V16 cse1         [V16,T08] (  4, 18   )   byref  ->  x21         hoist multi-def "CSE - aggressive"
-;  V17 cse2         [V17,T07] (  6, 20   )     int  ->  x20         multi-def "CSE - aggressive"
+;  V16 cse1         [V16,T08] (  4, 18   )   byref  ->  x27         hoist multi-def "CSE - aggressive"
+;  V17 cse2         [V17,T07] (  6, 20   )     int  ->  x26         multi-def "CSE - aggressive"
 ;  V18 cse3         [V18,T01] (  2, 72   )    long  ->  x25         hoist "CSE - aggressive"
 ;  V19 cse4         [V19,T10] (  3, 18   )    long  ->  x21         "CSE - aggressive"
-;  V20 cse5         [V20,T09] (  4, 18   )    long  ->  x22         hoist multi-def "CSE - aggressive"
+;  V20 cse5         [V20,T09] (  4, 18   )    long  ->  x28         hoist multi-def "CSE - aggressive"
 ;  V21 cse6         [V21,T12] (  2,  9   )    long  ->  x20         hoist "CSE - aggressive"
 ;  V22 cse7         [V22,T13] (  2,  9   )    long  ->  x23         hoist "CSE - aggressive"
 ;
 ; Lcl frame size = 64
 
 G_M8719_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x90]!
+            stp     fp, lr, [sp, #-0xA0]!
             stp     x19, x20, [sp, #0x50]
             stp     x21, x22, [sp, #0x60]
             stp     x23, x24, [sp, #0x70]
             stp     x25, x26, [sp, #0x80]
+            stp     x27, x28, [sp, #0x90]
             mov     fp, sp
             add     x9, fp, #24
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     xzr, xzr, [x9, #0x20]
-            add     x2, sp, #144
+            add     x2, sp, #160
             str     x2, [fp, #0x48]   // [V14 PSPSym]
             mov     x20, x0
             ; gcrRegs +[x20]
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=56 bbWeight=1 PerfScore 11.00
+                     ;; size=60 bbWeight=1 PerfScore 12.00
 G_M8719_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             mov     x0, x20
             ; gcrRegs +[x0]
@@ -69,13 +70,14 @@ G_M8719_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}
             mov     w0, #1
                        ;; size=36 bbWeight=1 PerfScore 8.00
 G_M8719_IG03:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x27, x28, [sp, #0x90]
             ldp     x25, x26, [sp, #0x80]
             ldp     x23, x24, [sp, #0x70]
             ldp     x21, x22, [sp, #0x60]
             ldp     x19, x20, [sp, #0x50]
-            ldp     fp, lr, [sp], #0x90
+            ldp     fp, lr, [sp], #0xA0
             ret     lr
-                        ;; size=24 bbWeight=1 PerfScore 6.00
+                      ;; size=28 bbWeight=1 PerfScore 7.00
 G_M8719_IG04:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // const ptr
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
@@ -224,32 +226,32 @@ G_M8719_IG15:        ; bbWeight=1, nogc, extend
 G_M8719_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x1, [fp, #0x18]    // [V02 loc0]
             ; gcrRegs +[x1]
-            mov     w19, wzr
-            ldr     w20, [x1, #0x08]
-            cmp     w20, #0
+            mov     w25, wzr
+            ldr     w26, [x1, #0x08]
+            cmp     w26, #0
             ble     G_M8719_IG23
-            add     x21, x1, #16
-            ; byrRegs +[x21]
-            adrp    x22, [HIGH RELOC #0xD1FFAB1E]
-            add     x22, x22, [LOW RELOC #0xD1FFAB1E]
+            add     x27, x1, #16
+            ; byrRegs +[x27]
+            adrp    x28, [HIGH RELOC #0xD1FFAB1E]
+            add     x28, x28, [LOW RELOC #0xD1FFAB1E]
                       ;; size=32 bbWeight=1 PerfScore 8.50
-G_M8719_IG17:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=200000 {x21}, gcvars, byref, isz
+G_M8719_IG17:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=8000000 {x27}, gcvars, byref, isz
             ; gcrRegs -[x1]
             ; GC ptr vars -{V02}
-            ldr     x0, [x21, w19, UXTW #3]
+            ldr     x0, [x27, w25, UXTW #3]
             ; gcrRegs +[x0]
-            mov     x11, x22
+            mov     x11, x28
             ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            add     w19, w19, #1
-            cmp     w20, w19
+            add     w25, w25, #1
+            cmp     w26, w25
             bgt     G_M8719_IG17
                        ;; size=32 bbWeight=8 PerfScore 100.00
 G_M8719_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x21]
+            ; byrRegs -[x27]
             b       G_M8719_IG23
                        ;; size=4 bbWeight=1 PerfScore 1.00
 G_M8719_IG19:        ; bbWeight=1, gcVars=0000000000000800 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
@@ -265,33 +267,36 @@ G_M8719_IG21:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
             ldr     w0, [fp, #0x24]    // [V07 loc5]
                        ;; size=4 bbWeight=1 PerfScore 2.00
 G_M8719_IG22:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x27, x28, [sp, #0x90]
             ldp     x25, x26, [sp, #0x80]
             ldp     x23, x24, [sp, #0x70]
             ldp     x21, x22, [sp, #0x60]
             ldp     x19, x20, [sp, #0x50]
-            ldp     fp, lr, [sp], #0x90
+            ldp     fp, lr, [sp], #0xA0
             ret     lr
-                        ;; size=24 bbWeight=1 PerfScore 6.00
+                      ;; size=28 bbWeight=1 PerfScore 7.00
 G_M8719_IG23:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, wzr
                        ;; size=4 bbWeight=1 PerfScore 0.50
 G_M8719_IG24:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x27, x28, [sp, #0x90]
             ldp     x25, x26, [sp, #0x80]
             ldp     x23, x24, [sp, #0x70]
             ldp     x21, x22, [sp, #0x60]
             ldp     x19, x20, [sp, #0x50]
-            ldp     fp, lr, [sp], #0x90
+            ldp     fp, lr, [sp], #0xA0
             ret     lr
-                        ;; size=24 bbWeight=1 PerfScore 6.00
+                      ;; size=28 bbWeight=1 PerfScore 7.00
 G_M8719_IG25:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
-            stp     fp, lr, [sp, #-0x60]!
+            stp     fp, lr, [sp, #-0x70]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             stp     x23, x24, [sp, #0x40]
             stp     x25, x26, [sp, #0x50]
-            add     x3, fp, #144
+            stp     x27, x28, [sp, #0x60]
+            add     x3, fp, #160
             str     x3, [sp, #0x18]
-                      ;; size=28 bbWeight=1 PerfScore 6.50
+                      ;; size=32 bbWeight=1 PerfScore 7.50
 G_M8719_IG26:        ; bbWeight=1, gcVars=0000000000000800 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars +{V02}
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // System.Collections.Generic.List`1+Enumerator[System.Diagnostics.Process]
@@ -306,71 +311,74 @@ G_M8719_IG26:        ; bbWeight=1, gcVars=0000000000000800 {V02}, gcrefRegs=0000
             ; gcr arg pop 0
                        ;; size=36 bbWeight=1 PerfScore 10.00
 G_M8719_IG27:        ; bbWeight=1, funclet epilog, nogc, extend
+            ldp     x27, x28, [sp, #0x60]
             ldp     x25, x26, [sp, #0x50]
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x60
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-                        ;; size=24 bbWeight=1 PerfScore 16.00
+                     ;; size=28 bbWeight=1 PerfScore 19.00
 G_M8719_IG28:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
-            stp     fp, lr, [sp, #-0x60]!
+            stp     fp, lr, [sp, #-0x70]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             stp     x23, x24, [sp, #0x40]
             stp     x25, x26, [sp, #0x50]
-            add     x3, fp, #144
+            stp     x27, x28, [sp, #0x60]
+            add     x3, fp, #160
             str     x3, [sp, #0x18]
-                      ;; size=28 bbWeight=1 PerfScore 6.50
+                      ;; size=32 bbWeight=1 PerfScore 7.50
 G_M8719_IG29:        ; bbWeight=1, gcVars=0000000000000800 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x1, [fp, #0x18]    // [V02 loc0]
             ; gcrRegs +[x1]
-            mov     w19, wzr
-            ldr     w20, [x1, #0x08]
-            cmp     w20, #0
+            mov     w25, wzr
+            ldr     w26, [x1, #0x08]
+            cmp     w26, #0
             ble     G_M8719_IG31
-            add     x21, x1, #16
-            ; byrRegs +[x21]
-            adrp    x22, [HIGH RELOC #0xD1FFAB1E]
-            add     x22, x22, [LOW RELOC #0xD1FFAB1E]
+            add     x27, x1, #16
+            ; byrRegs +[x27]
+            adrp    x28, [HIGH RELOC #0xD1FFAB1E]
+            add     x28, x28, [LOW RELOC #0xD1FFAB1E]
                       ;; size=32 bbWeight=1 PerfScore 8.50
-G_M8719_IG30:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=200000 {x21}, gcvars, byref, isz
+G_M8719_IG30:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=8000000 {x27}, gcvars, byref, isz
             ; gcrRegs -[x1]
             ; GC ptr vars -{V02}
-            ldr     x0, [x21, w19, UXTW #3]
+            ldr     x0, [x27, w25, UXTW #3]
             ; gcrRegs +[x0]
-            mov     x11, x22
+            mov     x11, x28
             ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            add     w19, w19, #1
-            cmp     w20, w19
+            add     w25, w25, #1
+            cmp     w26, w25
             bgt     G_M8719_IG30
                        ;; size=32 bbWeight=8 PerfScore 100.00
 G_M8719_IG31:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
-            ; byrRegs -[x21]
+            ; byrRegs -[x27]
+            ldp     x27, x28, [sp, #0x60]
             ldp     x25, x26, [sp, #0x50]
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x60
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-                        ;; size=24 bbWeight=1 PerfScore 16.00
+                     ;; size=28 bbWeight=1 PerfScore 19.00
 
-; Total bytes of code 804, prolog size 56, PerfScore 1434.00, instruction count 201, allocated bytes for code 804 (MethodHash=4aa4ddf0) for method System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (FullOpts)
+; Total bytes of code 836, prolog size 60, PerfScore 1446.00, instruction count 209, allocated bytes for code 836 (MethodHash=4aa4ddf0) for method System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (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
...
  
+4 (+4.17%) : 40042.dasm - Microsoft.CodeAnalysis.CSharp.ReadWriteWalker:GetRangeVariableUnderlyingParameter(Microsoft.CodeAnalysis.CSharp.BoundNode):Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol (FullOpts)
@@ -23,14 +23,14 @@ G_M12753_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M12753_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
-            cbz     x0, G_M12753_IG04
+            cbz     x0, G_M12753_IG07
                       ;; size=4 bbWeight=1 PerfScore 1.00
 G_M12753_IG03:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldrb    w11, [x0, #0x12]
             cmp     w11, #117
-            beq     G_M12753_IG06
+            beq     G_M12753_IG05
             cmp     w11, #188
-            bne     G_M12753_IG04
+            bne     G_M12753_IG07
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x11]
@@ -41,14 +41,10 @@ G_M12753_IG03:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
                        ;; size=44 bbWeight=4 PerfScore 60.00
 G_M12753_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
-            mov     x0, xzr
+            b       G_M12753_IG07
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
+G_M12753_IG05:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0]
-                      ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M12753_IG05:        ; bbWeight=0.50, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M12753_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x11]
@@ -56,12 +52,21 @@ G_M12753_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
             ; gcr arg pop 0
             ldr     x0, [x0, #0x20]
                        ;; size=20 bbWeight=0.50 PerfScore 4.00
-G_M12753_IG07:        ; bbWeight=0.50, epilog, nogc, extend
+G_M12753_IG06:        ; bbWeight=0.50, epilog, nogc, extend
+            ldp     fp, lr, [sp], #0x10
+            ret     lr
+                       ;; size=8 bbWeight=0.50 PerfScore 1.00
+G_M12753_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0]
+            mov     x0, xzr
+            ; gcrRegs +[x0]
+                       ;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M12753_IG08:        ; 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 96, prolog size 8, PerfScore 68.75, instruction count 24, allocated bytes for code 96 (MethodHash=9540ce2e) for method Microsoft.CodeAnalysis.CSharp.ReadWriteWalker:GetRangeVariableUnderlyingParameter(Microsoft.CodeAnalysis.CSharp.BoundNode):Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol (FullOpts)
+; Total bytes of code 100, prolog size 8, PerfScore 69.25, instruction count 25, allocated bytes for code 100 (MethodHash=9540ce2e) for method Microsoft.CodeAnalysis.CSharp.ReadWriteWalker:GetRangeVariableUnderlyingParameter(Microsoft.CodeAnalysis.CSharp.BoundNode):Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -72,7 +77,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 24 (0x00018) Actual length = 96 (0x000060)
+  Function Length   : 25 (0x00019) Actual length = 100 (0x000064)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+16 (+4.30%) : 130732.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
@@ -13,55 +13,56 @@
 ;  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  ->   x3        
-;  V04 loc1         [V04,T17] (  2,  1   )     int  ->   x5        
+;  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  ->   x3         "Inlining Arg"
+;  V07 tmp2         [V07,T03] (  3, 24   )  ushort  ->  x11         "Inlining Arg"
 ;* V08 tmp3         [V08,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V09 tmp4         [V09,T04] (  3, 24   )  ushort  ->   x5         "Inlining Arg"
+;  V09 tmp4         [V09,T04] (  3, 24   )  ushort  ->  x11         "Inlining Arg"
 ;* V10 tmp5         [V10,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V11 tmp6         [V11,T15] (  3,  3   )  ushort  ->   x6         "Inlining Arg"
+;  V11 tmp6         [V11,T15] (  3,  3   )  ushort  ->  x11         "Inlining Arg"
 ;* V12 tmp7         [V12,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V13 tmp8         [V13,T05] (  3, 24   )  ushort  ->   x6         "Inlining Arg"
+;  V13 tmp8         [V13,T05] (  3, 24   )  ushort  ->  x11         "Inlining Arg"
 ;* V14 tmp9         [V14,T14] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V15 tmp10        [V15,T06] (  3, 24   )  ushort  ->   x7         "Inlining Arg"
-;  V16 cse0         [V16,T09] (  3, 12   )     int  ->   x6         "CSE - aggressive"
-;  V17 cse1         [V17,T08] (  5, 13   )     int  ->  registers   multi-def "CSE - aggressive"
-;  V18 cse2         [V18,T01] ( 13, 46.50)     int  ->  x11         hoist "CSE - aggressive"
-;  V19 cse3         [V19,T02] (  9, 25.50)   byref  ->  registers   multi-def "CSE - aggressive"
+;  V15 tmp10        [V15,T06] (  3, 24   )  ushort  ->   x5         "Inlining Arg"
+;  V16 cse0         [V16,T09] (  3, 12   )     int  ->  x11         "CSE - aggressive"
+;  V17 cse1         [V17,T08] (  5, 13   )     int  ->  x11         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     w11, [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     w11, 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, w11
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x3, x0, #12
-            ; byrRegs +[x3]
-            ldrh    w3, [x3, w1, UXTW #2]
-            ; byrRegs -[x3]
-            cmp     w3, #32
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w11, [x20, w1, UXTW #2]
+            cmp     w11, #32
             beq     G_M63854_IG03
-            cmp     w3, #9
+            cmp     w11, #9
             beq     G_M63854_IG03
                        ;; size=32 bbWeight=4 PerfScore 32.00
 G_M63854_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, byref
+            ; byrRegs -[x20]
             sxtw    w3, w1
             b       G_M63854_IG08
                        ;; size=8 bbWeight=1 PerfScore 1.50
@@ -69,25 +70,25 @@ G_M63854_IG07:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2}, by
             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     w11, 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, w11
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x4, x0, #12
-            ; byrRegs +[x4]
-            ldrh    w5, [x4, w1, UXTW #2]
-            cmp     w5, #61
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w11, [x20, w1, UXTW #2]
+            cmp     w11, #61
             beq     G_M63854_IG10
-            cmp     w5, #32
+            cmp     w11, #32
             beq     G_M63854_IG10
-            cmp     w5, #9
+            cmp     w11, #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 -[x4]
-            cmp     w11, 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
@@ -97,78 +98,80 @@ G_M63854_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0004 {x2}, b
             ; gcrRegs +[x0]
                        ;; 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
-            sub     w5, w1, w3
-            cmp     w1, w11
+            sub     w4, w1, w3
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            add     x4, x0, #12
-            ; byrRegs +[x4]
-            ldrh    w6, [x4, w1, UXTW #2]
-            cmp     w6, #32
+            add     x20, x0, #12
+            ; byrRegs +[x20]
+            ldrh    w11, [x20, w1, UXTW #2]
+            cmp     w11, #32
             beq     G_M63854_IG15
-            cmp     w6, #9
+            cmp     w11, #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=0014 {x2 x4}, 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=0014 {x2 x4}, byref, isz
-            cmp     w11, w1
+G_M63854_IG15:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             ble     G_M63854_IG16
-            cmp     w1, w11
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w6, [x4, w1, UXTW #2]
-            cmp     w6, #32
+            ldrh    w11, [x20, w1, UXTW #2]
+            cmp     w11, #32
             beq     G_M63854_IG14
-            cmp     w6, #9
+            cmp     w11, #9
             beq     G_M63854_IG14
                        ;; size=36 bbWeight=4 PerfScore 36.00
-G_M63854_IG16:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0014 {x2 x4}, byref, isz
-            cmp     w11, 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, w11
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w6, [x4, w1, UXTW #2]
-            cmp     w6, #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 -[x4]
+            ; byrRegs -[x20]
             str     w1, [x2]
             mov     x0, xzr
             ; gcrRegs +[x0]
                        ;; 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=0014 {x2 x4}, gcvars, byref
-            ; byrRegs +[x4]
+                      ;; size=12 bbWeight=0.50 PerfScore 1.50
+G_M63854_IG19:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, gcvars, byref
+            ; byrRegs +[x20]
             add     w1, w1, #1
                        ;; size=4 bbWeight=2 PerfScore 1.00
-G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0014 {x2 x4}, byref, isz
-            cmp     w11, w1
+G_M63854_IG20:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=100004 {x2 x20}, byref, isz
+            cmp     w19, w1
             ble     G_M63854_IG21
-            cmp     w1, w11
+            cmp     w1, w19
             bhs     G_M63854_IG23
-            ldrh    w6, [x4, w1, UXTW #2]
-            sxtw    w7, w6
-            cmp     w7, #32
+            ldrh    w11, [x20, w1, UXTW #2]
+            sxtw    w5, w11
+            cmp     w5, #32
             beq     G_M63854_IG19
-            cmp     w7, #9
+            cmp     w5, #9
             beq     G_M63854_IG19
-            cmp     w6, #61
+            cmp     w11, #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 -[x4]
+            ; byrRegs -[x20]
             str     w1, [x2]
-            mov     w2, w5
+            mov     w2, w4
             ; byrRegs -[x2]
             mov     w1, w3
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -176,10 +179,11 @@ G_M63854_IG21:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0004 {x2},
             ldr     x3, [x11]
                        ;; size=24 bbWeight=0.50 PerfScore 3.00
 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]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -190,18 +194,18 @@ G_M63854_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             brk_windows #0
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 372, prolog size 8, PerfScore 207.00, instruction count 93, allocated bytes for code 372 (MethodHash=532b0691) for method System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
...
  
  
libraries.pmi.windows.arm64.checked.mch
-4 (-3.57%) : 38566.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%) : 34443.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%) : 137990.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]
...
  
+20 (+5.81%) : 290607.dasm - System.Reflection.Emit.TypeBuilderImpl:CreateTypeInfoCore():System.Reflection.TypeInfo:this (FullOpts)
@@ -12,7 +12,7 @@
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <<unknown class>>
 ;* V03 tmp2         [V03,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V04 tmp3         [V04,T00] (  7, 19   )     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Type>
+;  V04 tmp3         [V04,T00] (  8, 21   )     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Type>
 ;* V05 tmp4         [V05,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V06 tmp5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Reflection.Emit.TypeBuilderImpl>
 ;* V07 tmp6         [V07,T08] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.Emit.TypeBuilderImpl>
@@ -82,7 +82,12 @@ G_M47746_IG08:        ; bbWeight=2, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=000
             ; gcrRegs +[x20]
             cmp     x0, x20
             beq     G_M47746_IG11
-                        ;; size=8 bbWeight=2 PerfScore 3.00
+            ldr     x1, [x0]
+            movz    x2, #0xD1FFAB1E
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            cmp     x1, x2
+                       ;; size=28 bbWeight=2 PerfScore 13.00
 G_M47746_IG09:        ; bbWeight=4, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x1, [x0]
             ldr     x1, [x1, #0xA0]
@@ -162,7 +167,7 @@ G_M47746_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_windows #0
                        ;; size=80 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 344, prolog size 12, PerfScore 83.50, instruction count 86, allocated bytes for code 344 (MethodHash=c0db457d) for method System.Reflection.Emit.TypeBuilderImpl:CreateTypeInfoCore():System.Reflection.TypeInfo:this (FullOpts)
+; Total bytes of code 364, prolog size 12, PerfScore 93.50, instruction count 91, allocated bytes for code 364 (MethodHash=c0db457d) for method System.Reflection.Emit.TypeBuilderImpl:CreateTypeInfoCore():System.Reflection.TypeInfo:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -173,7 +178,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 86 (0x00056) Actual length = 344 (0x000158)
+  Function Length   : 91 (0x0005b) Actual length = 364 (0x00016c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+4 (+9.09%) : 154029.dasm - Microsoft.Build.Shared.FrameworkLocationHelper:GeneratePathToBuildToolsForToolsVersion(System.String,int):System.String (FullOpts)
@@ -28,7 +28,8 @@ G_M25420_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
 G_M25420_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
-                      ;; size=4 bbWeight=0.25 PerfScore 0.75
+            cmp     w0, #7
+                       ;; size=8 bbWeight=0.25 PerfScore 0.88
 G_M25420_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, w1
             movz    x1, #0xD1FFAB1E      // code for Microsoft.Build.Shared.FrameworkLocationHelper:GetPathToBuildToolsFromEnvironment(int):System.String
@@ -42,7 +43,7 @@ G_M25420_IG05:        ; bbWeight=1, epilog, nogc, extend
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 44, prolog size 8, PerfScore 10.25, instruction count 11, allocated bytes for code 44 (MethodHash=a7919cb3) for method Microsoft.Build.Shared.FrameworkLocationHelper:GeneratePathToBuildToolsForToolsVersion(System.String,int):System.String (FullOpts)
+; Total bytes of code 48, prolog size 8, PerfScore 10.38, instruction count 12, allocated bytes for code 48 (MethodHash=a7919cb3) for method Microsoft.Build.Shared.FrameworkLocationHelper:GeneratePathToBuildToolsForToolsVersion(System.String,int):System.String (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -53,7 +54,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 11 (0x0000b) Actual length = 44 (0x00002c)
+  Function Length   : 12 (0x0000c) Actual length = 48 (0x000030)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+20 (+10.20%) : 290642.dasm - System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
@@ -12,7 +12,7 @@
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V02 tmp1         [V02,T09] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V03 tmp2         [V03,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V04 tmp3         [V04,T00] (  7, 20   )     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Type>
+;  V04 tmp3         [V04,T00] (  8, 22   )     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Type>
 ;* V05 tmp4         [V05,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V06 tmp5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Reflection.Emit.TypeBuilderImpl>
 ;* V07 tmp6         [V07,T08] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.Emit.TypeBuilderImpl>
@@ -52,7 +52,12 @@ G_M32453_IG04:        ; bbWeight=2, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=000
             ; gcrRegs +[x0 x20]
             cmp     x0, x20
             beq     G_M32453_IG07
-                        ;; size=8 bbWeight=2 PerfScore 3.00
+            ldr     x1, [x0]
+            movz    x2, #0xD1FFAB1E
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            cmp     x1, x2
+                       ;; size=28 bbWeight=2 PerfScore 13.00
 G_M32453_IG05:        ; bbWeight=4, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x1, [x0]
             ldr     x1, [x1, #0xA0]
@@ -116,7 +121,7 @@ G_M32453_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             brk_windows #0
                        ;; size=80 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 196, prolog size 12, PerfScore 62.75, instruction count 49, allocated bytes for code 196 (MethodHash=b7cb813a) for method System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
+; Total bytes of code 216, prolog size 12, PerfScore 72.75, instruction count 54, allocated bytes for code 216 (MethodHash=b7cb813a) for method System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -127,7 +132,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 49 (0x00031) Actual length = 196 (0x0000c4)
+  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)
  
  
libraries_tests.run.windows.arm64.Release.mch
-24 (-7.41%) : 235023.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.Canon]:MergeWithGlobalListInOrder(System.Canon[]):this (Tier1)
@@ -10,13 +10,13 @@
 ; 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.35)     ref  ->  x20         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T01] (  8,  3.41)     ref  ->  x20         class-hnd single-def <System.__Canon[]>
 ;  V02 loc0         [V02,T02] (  3,  2.01)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V03 loc1         [V03,T09] (  4,  0.08)     ref  ->  x21         class-hnd single-def <System.__Canon[]>
 ;  V04 loc2         [V04,T08] (  5,  0.13)     int  ->  x22        
-;  V05 loc3         [V05,T05] (  6,  0.46)     ref  ->  x23         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T04] (  9,  0.62)     int  ->  x24        
-;  V07 loc5         [V07,T03] (  5,  0.67)     ref  ->   x0         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T05] (  6,  0.52)     ref  ->  x23         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T03] (  6,  0.68)     int  ->  x24        
+;  V07 loc5         [V07,T04] (  5,  0.67)     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,  0.28)     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, [x19, #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]
@@ -59,39 +59,28 @@ G_M50755_IG04:        ; bbWeight=0.99, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0.99 PerfScore 4.93
-G_M50755_IG05:        ; bbWeight=0.12, 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.12 PerfScore 0.87
-G_M50755_IG06:        ; bbWeight=0.92, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
-            b       G_M50755_IG15
-                       ;; size=4 bbWeight=0.92 PerfScore 0.92
-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     w0, [x21, #0x08]
             cmp     w0, #0
-            ble     G_M50755_IG17
+            ble     G_M50755_IG15
                        ;; size=16 bbWeight=0.01 PerfScore 0.07
-G_M50755_IG08:        ; bbWeight=0.02, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG06:        ; bbWeight=0.02, 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.02 PerfScore 0.08
-G_M50755_IG09:        ; bbWeight=0.02, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG07:        ; bbWeight=0.02, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0]
             mov     w24, wzr
             ldr     w0, [x20, #0x08]
             cmp     w0, #0
-            ble     G_M50755_IG16
+            ble     G_M50755_IG14
                        ;; size=16 bbWeight=0.02 PerfScore 0.08
-G_M50755_IG10:        ; bbWeight=0.14, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG08:        ; bbWeight=0.14, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     x0, x20, #16
             ; byrRegs +[x0]
             ldr     x0, [x0, w24, UXTW #3]
@@ -102,9 +91,9 @@ G_M50755_IG10:        ; bbWeight=0.14, 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.14 PerfScore 1.31
-G_M50755_IG11:        ; bbWeight=0.12, gcrefRegs=B80001 {x0 x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG09:        ; bbWeight=0.12, 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.12, 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=0.12 PerfScore 0.75
-G_M50755_IG12:        ; bbWeight=0.03, 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.03 PerfScore 0.03
-G_M50755_IG13:        ; bbWeight=0.14, 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.12 PerfScore 1.73
+G_M50755_IG10:        ; bbWeight=0.14, 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=0.14, 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.14 PerfScore 1.58
-G_M50755_IG14:        ; bbWeight=0.14, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG11:        ; bbWeight=0.14, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
             add     w24, w24, #1
             ldr     w1, [x20, #0x08]
             cmp     w1, w24
-            ble     G_M50755_IG16
-            b       G_M50755_IG10
-                       ;; size=20 bbWeight=0.14 PerfScore 0.83
-G_M50755_IG15:        ; bbWeight=0.06, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            bgt     G_M50755_IG08
+                       ;; size=16 bbWeight=0.14 PerfScore 0.69
+G_M50755_IG12:        ; bbWeight=0.03, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x23]
+            b       G_M50755_IG14
+                       ;; size=4 bbWeight=0.03 PerfScore 0.03
+G_M50755_IG13:        ; bbWeight=0.12, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x23]
             sxtw    x1, w24
             mov     x0, x20
             ; gcrRegs +[x0]
@@ -147,14 +142,14 @@ G_M50755_IG15:        ; bbWeight=0.06, gcrefRegs=B80000 {x19 x20 x21 x23}, byref
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2 x23]
             ; gcr arg pop 0
-                      ;; size=16 bbWeight=0.06 PerfScore 0.14
-G_M50755_IG16:        ; bbWeight=0.03, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+                     ;; size=16 bbWeight=0.12 PerfScore 0.29
+G_M50755_IG14:        ; 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.15
-G_M50755_IG17:        ; bbWeight=0.01, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M50755_IG15:        ; bbWeight=0.01, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             add     x14, x19, #8
             ; byrRegs +[x14]
@@ -164,23 +159,15 @@ G_M50755_IG17:        ; bbWeight=0.01, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ; gcrRegs -[x15 x19-x20]
             ; byrRegs -[x14]
                        ;; size=12 bbWeight=0.01 PerfScore 0.03
-G_M50755_IG18:        ; bbWeight=0.01, epilog, nogc, extend
+G_M50755_IG16:        ; 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.07
-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 23.32, 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 22.52, 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)
  
-12 (-5.17%) : 103240.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
 
  
-12 (-4.69%) : 26649.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Canon]:Enqueue(System.Canon):this (Instrumented Tier1)
@@ -13,98 +13,72 @@
 ;  V01 arg1         [V01,T03] (  4,  4   )     ref  ->  x20         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   )     ref  ->  x21         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]>
-;  V05 tmp3         [V05,T04] (  3,  3   )     ref  ->  x22         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,T08] (  3,  3   )     int  ->  x15         "Inline stloc first use temp"
+;  V04 tmp2         [V04,T00] (  4,  8   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]>
+;  V05 tmp3         [V05,T04] (  3,  3   )     ref  ->   x1         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V06 tmp4         [V06,T01] (  6,  6.00)     int  ->   x3         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T08] (  3,  3   )     int  ->   x4         "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  ->  x24         "Inline stloc first use temp"
-;  V10 cse0         [V10,T05] (  3,  3   )   byref  ->   x0         "CSE - aggressive"
-;  V11 cse1         [V11,T06] (  3,  3   )   byref  ->  x12         "CSE - aggressive"
-;  V12 cse2         [V12,T07] (  3,  3.00)   byref  ->  x23         hoist "CSE - aggressive"
-;  V13 cse3         [V13,T09] (  3,  3.00)     int  ->   x1         "CSE - aggressive"
+;  V09 tmp7         [V09,T10] (  3,  2.00)     int  ->   x4         "Inline stloc first use temp"
+;  V10 cse0         [V10,T05] (  3,  3   )   byref  ->  x21         "CSE - aggressive"
+;  V11 cse1         [V11,T06] (  3,  3   )   byref  ->  x14         "CSE - aggressive"
+;  V12 cse2         [V12,T07] (  3,  3.00)   byref  ->   x2         hoist "CSE - aggressive"
+;  V13 cse3         [V13,T09] (  3,  3.00)     int  ->  x22         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M15407_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
+            stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x10]
             stp     x21, x22, [sp, #0x20]
-            stp     x23, x24, [sp, #0x30]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
             mov     x20, x1
             ; gcrRegs +[x20]
-                     ;; size=28 bbWeight=1 PerfScore 5.50
+                      ;; size=24 bbWeight=1 PerfScore 4.50
 G_M15407_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
-            add     x14, x19, #16
-            ; byrRegs +[x14]
-            ldapr   x21, [x14]
-            ; gcrRegs +[x21]
-            ldr     x22, [x21, #0x08]
-            ; gcrRegs +[x22]
-            add     x23, x21, #0xD1FFAB1E
-            ; byrRegs +[x23]
-                       ;; size=16 bbWeight=1 PerfScore 7.00
-G_M15407_IG03:        ; bbWeight=1, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=800000 {x23}, byref, isz
-            ; byrRegs -[x14]
-            ldapr   w14, [x23]
-            ldr     w15, [x21, #0x18]
-            and     w15, w14, w15
-            ldr     w12, [x22, #0x08]
-            cmp     w15, w12
-            bhs     G_M15407_IG10
-            ubfiz   x15, x15, #4, #32
-            add     x15, x15, #16
-            add     x12, x22, x15
-            ; byrRegs +[x12]
-            add     x0, x12, #8
+            add     x0, x19, #16
             ; byrRegs +[x0]
-            ldapr   w15, [x0]
-            sub     w24, w15, w14
-            cbnz    w24, G_M15407_IG07
-                       ;; size=52 bbWeight=1 PerfScore 18.00
-G_M15407_IG04:        ; bbWeight=1.00, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=801001 {x0 x12 x23}, byref, isz
-            add     w1, w14, #1
-            mov     w15, w14
-            casal   w15, w1, [x23]
-            cmp     w15, w14
-            bne     G_M15407_IG03
-                       ;; size=20 bbWeight=1.00 PerfScore 5.50
-G_M15407_IG05:        ; bbWeight=1.00, gcrefRegs=100000 {x20}, byrefRegs=1001 {x0 x12}, byref
-            ; gcrRegs -[x19 x21-x22]
-            ; byrRegs -[x23]
-            mov     x14, x12
-            ; byrRegs +[x14]
-            mov     x15, x20
-            ; gcrRegs +[x15]
-            bl      CORINFO_HELP_CHECKED_ASSIGN_REF
-            ; gcrRegs -[x15 x20]
-            ; byrRegs -[x12 x14]
-            stlr    w1, [x0]
-            movz    x0, #0xD1FFAB1E
+            ldapr   x0, [x0]
+            ; gcrRegs +[x0]
             ; byrRegs -[x0]
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_COUNTPROFILE32
-            ; gcr arg pop 0
-                       ;; size=32 bbWeight=1.00 PerfScore 5.50
-G_M15407_IG06:        ; bbWeight=1.00, epilog, nogc, extend
-            ldp     x23, x24, [sp, #0x30]
-            ldp     x21, x22, [sp, #0x20]
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x40
-            ret     lr
-                       ;; size=20 bbWeight=1.00 PerfScore 5.00
-G_M15407_IG07:        ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=780000 {x19 x20 x21 x22}, byrefRegs=800000 {x23}, gcvars, byref, isz
-            ; gcrRegs +[x19-x22]
-            ; byrRegs +[x23]
-            tbz     w24, #31, G_M15407_IG03
+            ldr     x1, [x0, #0x08]
+            ; gcrRegs +[x1]
+            add     x2, x0, #0xD1FFAB1E
+            ; byrRegs +[x2]
+                       ;; size=16 bbWeight=1 PerfScore 7.00
+G_M15407_IG03:        ; bbWeight=1, gcrefRegs=180003 {x0 x1 x19 x20}, byrefRegs=0004 {x2}, byref, isz
+            ldapr   w3, [x2]
+            ldr     w4, [x0, #0x18]
+            and     w4, w3, w4
+            ldr     w5, [x1, #0x08]
+            cmp     w4, w5
+            bhs     G_M15407_IG10
+            ubfiz   x4, x4, #4, #32
+            add     x4, x4, #16
+            add     x14, x1, x4
+            ; byrRegs +[x14]
+            add     x21, x14, #8
+            ; byrRegs +[x21]
+            ldapr   w4, [x21]
+            sub     w4, w4, w3
+            cbnz    w4, G_M15407_IG05
+                       ;; size=52 bbWeight=1 PerfScore 18.00
+G_M15407_IG04:        ; bbWeight=1.00, gcrefRegs=180003 {x0 x1 x19 x20}, byrefRegs=204004 {x2 x14 x21}, byref, isz
+            add     w22, w3, #1
+            mov     w4, w3
+            casal   w4, w22, [x2]
+            cmp     w4, w3
+            bne     G_M15407_IG03
+            b       G_M15407_IG08
+                       ;; size=24 bbWeight=1.00 PerfScore 6.50
+G_M15407_IG05:        ; bbWeight=0.00, gcrefRegs=180003 {x0 x1 x19 x20}, byrefRegs=0004 {x2}, byref, isz
+            ; byrRegs -[x14 x21]
+            tbz     w4, #31, G_M15407_IG03
                      ;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M15407_IG08:        ; bbWeight=1.00, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x21-x22]
-            ; byrRegs -[x23]
+G_M15407_IG06:        ; bbWeight=1.00, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x0-x1]
+            ; byrRegs -[x2]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -124,22 +98,42 @@ G_M15407_IG08:        ; bbWeight=1.00, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
                        ;; size=56 bbWeight=1.00 PerfScore 10.50
-G_M15407_IG09:        ; bbWeight=1.00, epilog, nogc, extend
-            ldp     x23, x24, [sp, #0x30]
+G_M15407_IG07:        ; bbWeight=1.00, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x40
+            ldp     fp, lr, [sp], #0x30
             br      x2
             ; gcr arg pop 0
-                      ;; size=20 bbWeight=1.00 PerfScore 5.00
+                       ;; size=16 bbWeight=1.00 PerfScore 4.00
+G_M15407_IG08:        ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=100000 {x20}, byrefRegs=204000 {x14 x21}, gcvars, byref
+            ; gcrRegs -[x0-x1 x19]
+            ; byrRegs +[x14 x21]
+            mov     x15, x20
+            ; gcrRegs +[x15]
+            bl      CORINFO_HELP_CHECKED_ASSIGN_REF
+            ; gcrRegs -[x15 x20]
+            ; byrRegs -[x14]
+            stlr    w22, [x21]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            bl      CORINFO_HELP_COUNTPROFILE32
+            ; byrRegs -[x21]
+            ; gcr arg pop 0
+                       ;; size=28 bbWeight=1.00 PerfScore 5.00
+G_M15407_IG09:        ; bbWeight=1.00, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x30
+            ret     lr
+                       ;; size=16 bbWeight=1.00 PerfScore 4.00
 G_M15407_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0-x1 x19-x20]
             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 28, PerfScore 62.00, instruction count 64, allocated bytes for code 256 (MethodHash=96c6c3d0) for method System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Instrumented Tier1)
+; Total bytes of code 244, prolog size 24, PerfScore 59.50, instruction count 61, allocated bytes for code 244 (MethodHash=96c6c3d0) for method System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Instrumented Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -150,7 +144,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 64 (0x00040) Actual length = 256 (0x000100)
+  Function Length   : 61 (0x0003d) Actual length = 244 (0x0000f4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -162,9 +156,9 @@ Unwind Info:
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
     E6          save_next
-    E6          save_next
     C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
     E4          end
     E4          end
 
  
+48 (+11.43%) : 147028.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
@@ -10,11 +10,11 @@
 ; 2 inlinees with PGO data; 12 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T04] (  8,101.92)     ref  ->  [fp+0xE0]  this class-hnd EH-live single-def tier0-frame <Microsoft.CodeAnalysis.PEModule>
+;  V00 this         [V00,T04] (  9,101.92)     ref  ->  [fp+0xE0]  this class-hnd EH-live single-def tier0-frame <Microsoft.CodeAnalysis.PEModule>
 ;  V01 loc0         [V01    ] (  8,500.84)  struct (16) [fp+0xD0]  do-not-enreg[XSF] addr-exposed ld-addr-op tier0-frame <System.Reflection.Metadata.CustomAttributeHandleCollection+Enumerator>
 ;  V02 loc1         [V02,T07] (  1,  1   )  struct (16) [fp+0xC0]  do-not-enreg[SF] 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.84)     int  ->  x20        
+;  V04 loc3         [V04,T02] (  5,199.84)     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,T16] (  0,  0   )   ubyte  ->  zero-ref   
@@ -35,7 +35,7 @@
 ;* V22 tmp14        [V22    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Reflection.Metadata.CustomAttributeHandle>
 ;* V23 tmp15        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V24 tmp16        [V24    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.CustomAttributeHandle>
-;* V25 tmp17        [V25,T05] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V25 tmp17        [V25,T05] (  2,  0   )   ubyte  ->   x1         "Inline return value spill temp"
 ;* V26 tmp18        [V26    ] (  0,  0   )     int  ->  zero-ref    "field V03._rowId (fldOffset=0x0)" P-INDEP
 ;  V27 tmp19        [V27,T13] (  2,  0   )     int  ->   x1         "field V05._rowId (fldOffset=0x0)" P-INDEP
 ;  V28 tmp20        [V28,T14] (  2,  0   )     int  ->   x0         "field V10._vToken (fldOffset=0x0)" P-INDEP
@@ -45,7 +45,7 @@
 ;* V32 tmp24        [V32    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V14._reader (fldOffset=0x0)" P-INDEP
 ;* V33 tmp25        [V33    ] (  0,  0   )     int  ->  zero-ref    single-def "field V14._lastRowId (fldOffset=0x8)" P-INDEP
 ;* V34 tmp26        [V34    ] (  0,  0   )     int  ->  zero-ref    single-def "field V14._currentRowId (fldOffset=0xc)" P-INDEP
-;  V35 tmp27        [V35,T01] (  5,199.84)     int  ->  x19         "field V18._rowId (fldOffset=0x0)" P-INDEP
+;  V35 tmp27        [V35,T01] (  6,199.84)     int  ->  x19         "field V18._rowId (fldOffset=0x0)" P-INDEP
 ;  V36 tmp28        [V36,T03] (  2,199.84)     int  ->  x19         "field V20._rowId (fldOffset=0x0)" P-INDEP
 ;* V37 tmp29        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V22._rowId (fldOffset=0x0)" P-INDEP
 ;  V38 tmp30        [V38,T15] (  2,  0   )     int  ->   x1         "field V24._rowId (fldOffset=0x0)" P-INDEP
@@ -67,18 +67,16 @@ G_M13056_IG01:        ; bbWeight=0.08, gcVars=0000000000000000 {}, gcrefRegs=000
                        ;; size=24 bbWeight=0.08 PerfScore 0.48
 G_M13056_IG02:        ; bbWeight=0.08, 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.08 PerfScore 0.08
 G_M13056_IG03:        ; bbWeight=99.92, 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=99.92 PerfScore 849.31
-G_M13056_IG04:        ; bbWeight=99.92, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             mov     w1, w19
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
@@ -89,20 +87,56 @@ G_M13056_IG04:        ; bbWeight=99.92, gcrefRegs=0001 {x0}, byrefRegs=0000 {},
             ; gcr arg pop 0
             sxtw    w20, w0
             cmn     w20, #1
+            bne     G_M13056_IG08
+                       ;; size=56 bbWeight=99.92 PerfScore 1648.67
+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=99.92 PerfScore 999.19
-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, #0xD1FFAB1E 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, #0xD1FFAB1E 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, #0x6D]
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CodeAnalysis.PEModule:get_MetadataReader():System.Reflection.Metadata.MetadataReader:this
             movk    x1, #0xD1FFAB1E LSL #16
@@ -152,29 +186,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, #0xD1FFAB1E 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]
@@ -218,7 +231,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.07, 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.23, instruction count 117, allocated bytes for code 468 (MethodHash=ddc4ccff) for method Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -229,7 +242,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)
  
+28 (+15.56%) : 335697.dasm - System.Collections.Concurrent.ConcurrentQueue1[System.Diagnostics.Metrics.Measurement1[double]]:Enqueue(System.Diagnostics.Metrics.Measurement`1[double]):this (Tier1)
@@ -10,121 +10,126 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T02] (  4,  4   )     ref  ->   x0         this class-hnd single-def <System.Collections.Concurrent.ConcurrentQueue`1[System.Diagnostics.Metrics.Measurement`1[double]]>
-;  V01 arg1         [V01,T01] (  5,  4.96)  struct (16) [fp+0x10]  do-not-enreg[SA] multireg-arg single-def <System.Diagnostics.Metrics.Measurement`1[double]>
+;  V01 arg1         [V01,T01] (  5,  4.96)  struct (16) [fp+0x18]  do-not-enreg[SA] multireg-arg single-def <System.Diagnostics.Metrics.Measurement`1[double]>
 ;# 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  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueueSegment`1[System.Diagnostics.Metrics.Measurement`1[double]]>
-;  V05 tmp3         [V05,T04] (  5,  4.92)     ref  ->   x2         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V06 tmp4         [V06,T03] (  6,  5.83)     int  ->  x14         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T06] (  3,  3   )     int  ->  x13         "Inline stloc first use temp"
+;  V05 tmp3         [V05,T04] (  5,  4.92)     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V06 tmp4         [V06,T03] (  6,  5.83)     int  ->   x3         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T06] (  3,  3   )     int  ->   x4         "Inline stloc first use temp"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V09 tmp7         [V09,T09] (  3,  2.06)     int  ->   x5         "Inline stloc first use temp"
-;  V10 cse0         [V10,T05] (  4,  3.92)    long  ->   x4         "CSE - aggressive"
-;  V11 cse1         [V11,T07] (  3,  2.94)   byref  ->   x3         hoist "CSE - aggressive"
-;  V12 cse2         [V12,T10] (  2,  2   )     int  ->  x12         "CSE - aggressive"
-;  V13 cse3         [V13,T08] (  3,  2.85)     int  ->   x5         "CSE - aggressive"
+;  V09 tmp7         [V09,T09] (  3,  2.06)     int  ->   x4         "Inline stloc first use temp"
+;  V10 cse0         [V10,T05] (  4,  3.92)    long  ->  x20         "CSE - aggressive"
+;  V11 cse1         [V11,T07] (  3,  2.94)   byref  ->   x2         hoist "CSE - aggressive"
+;  V12 cse2         [V12,T10] (  2,  2   )     int  ->   x5         "CSE - aggressive"
+;  V13 cse3         [V13,T08] (  3,  2.85)     int  ->  x21         "CSE - aggressive"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 24
 
 G_M64303_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x20]!
+            stp     fp, lr, [sp, #-0x40]!
+            stp     x19, x20, [sp, #0x28]
+            str     x21, [sp, #0x38]
             mov     fp, sp
-            stp     x1, x2, [fp, #0x10]    // [V01 arg1], [V01 arg1+0x08]
-                       ;; size=12 bbWeight=1 PerfScore 2.50
+            stp     x1, x2, [fp, #0x18]   // [V01 arg1], [V01 arg1+0x08]
+                       ;; size=20 bbWeight=1 PerfScore 4.50
 G_M64303_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0]
-            add     x14, x0, #16
-            ; byrRegs +[x14]
-            ldapr   x1, [x14]
-            ; gcrRegs +[x1]
-            ldr     x2, [x1, #0x08]
-            ; gcrRegs +[x2]
-            add     x3, x1, #0xD1FFAB1E
-            ; byrRegs +[x3]
-                       ;; size=16 bbWeight=1 PerfScore 7.00
-G_M64303_IG03:        ; bbWeight=1, gcrefRegs=0007 {x0 x1 x2}, byrefRegs=0008 {x3}, byref, isz
-            ; byrRegs -[x14]
-            ldapr   w14, [x3]
-            ldr     w13, [x1, #0x18]
-            and     w13, w14, w13
-            ldr     w12, [x2, #0x08]
-            cmp     w13, w12
-            bhs     G_M64303_IG10
-            mov     w12, #24
-            mov     x15, #16
-            umaddl  x4, w13, w12, x15
-            add     x13, x2, x4
-            ; byrRegs +[x13]
-            ldapr   w13, [x13]
-            ; byrRegs -[x13]
-            sub     w5, w13, w14
-            cbnz    w5, G_M64303_IG07
-                       ;; size=52 bbWeight=1 PerfScore 22.00
-G_M64303_IG04:        ; bbWeight=0.94, gcrefRegs=0007 {x0 x1 x2}, byrefRegs=0008 {x3}, byref, isz
-            add     w5, w14, #1
-            mov     w13, w14
-            casal   w13, w5, [x3]
-            cmp     w13, w14
-            bne     G_M64303_IG03
-                       ;; size=20 bbWeight=0.94 PerfScore 5.19
-G_M64303_IG05:        ; bbWeight=0.96, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0-x1]
-            ; byrRegs -[x3]
-            add     x14, x2, x4
-            ; byrRegs +[x14]
-            add     x14, x14, #8
-            add     x13, fp, #16   // [V01 arg1]
-            ; byrRegs +[x13]
-            bl      CORINFO_HELP_ASSIGN_BYREF
-            ldr     x12, [x13], #0x08
-            str     x12, [x14], #0x08
-            add     x1, x2, x4
+            add     x1, x0, #16
             ; byrRegs +[x1]
-            stlr    w5, [x1]
-                       ;; size=32 bbWeight=0.96 PerfScore 7.70
-G_M64303_IG06:        ; bbWeight=0.96, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x20
-            ret     lr
-                       ;; size=8 bbWeight=0.96 PerfScore 1.92
-G_M64303_IG07:        ; bbWeight=0.06, gcVars=0000000000000000 {}, gcrefRegs=0007 {x0 x1 x2}, byrefRegs=0008 {x3}, gcvars, byref, isz
-            ; gcrRegs +[x0-x1]
-            ; byrRegs -[x1 x13-x14] +[x3]
-            tbz     w5, #31, G_M64303_IG03
+            ldapr   x1, [x1]
+            ; gcrRegs +[x1]
+            ; byrRegs -[x1]
+            ldr     x19, [x1, #0x08]
+            ; gcrRegs +[x19]
+            add     x2, x1, #0xD1FFAB1E
+            ; byrRegs +[x2]
+                       ;; size=16 bbWeight=1 PerfScore 7.00
+G_M64303_IG03:        ; bbWeight=1, gcrefRegs=80003 {x0 x1 x19}, byrefRegs=0004 {x2}, byref, isz
+            ldapr   w3, [x2]
+            ldr     w4, [x1, #0x18]
+            and     w4, w3, w4
+            ldr     w5, [x19, #0x08]
+            cmp     w4, w5
+            bhs     G_M64303_IG10
+            mov     w5, #24
+            mov     x6, #16
+            umaddl  x20, w4, w5, x6
+            add     x4, x19, x20
+            ; byrRegs +[x4]
+            ldapr   w4, [x4]
+            ; byrRegs -[x4]
+            sub     w4, w4, w3
+            cbnz    w4, G_M64303_IG05
+                       ;; size=52 bbWeight=1 PerfScore 22.00
+G_M64303_IG04:        ; bbWeight=0.94, gcrefRegs=80003 {x0 x1 x19}, byrefRegs=0004 {x2}, byref, isz
+            add     w21, w3, #1
+            mov     w4, w3
+            casal   w4, w21, [x2]
+            cmp     w4, w3
+            bne     G_M64303_IG03
+            b       G_M64303_IG08
+                       ;; size=24 bbWeight=0.94 PerfScore 6.14
+G_M64303_IG05:        ; bbWeight=0.06, gcrefRegs=80003 {x0 x1 x19}, byrefRegs=0004 {x2}, byref, isz
+            tbz     w4, #31, G_M64303_IG03
                      ;; size=4 bbWeight=0.06 PerfScore 0.06
-G_M64303_IG08:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x1-x2]
-            ; byrRegs -[x3]
-            ldp     x1, x2, [fp, #0x10]    // [V01 arg1], [V01 arg1+0x08]
+G_M64303_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x1 x19]
+            ; byrRegs -[x2]
+            ldp     x1, x2, [fp, #0x18]    // [V01 arg1], [V01 arg1+0x08]
             ; gcrRegs +[x1]
             movz    x3, #0xD1FFAB1E      // code for <unknown method>
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
                        ;; size=20 bbWeight=1 PerfScore 7.50
-G_M64303_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x20
+G_M64303_IG07:        ; bbWeight=1, epilog, nogc, extend
+            ldr     x21, [sp, #0x38]
+            ldp     x19, x20, [sp, #0x28]
+            ldp     fp, lr, [sp], #0x40
             br      x3
             ; gcr arg pop 0
-                      ;; size=8 bbWeight=1 PerfScore 2.00
+                       ;; size=16 bbWeight=1 PerfScore 5.00
+G_M64303_IG08:        ; bbWeight=0.96, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0-x1] +[x19]
+            add     x14, x19, x20
+            ; byrRegs +[x14]
+            add     x14, x14, #8
+            add     x13, fp, #24   // [V01 arg1]
+            ; byrRegs +[x13]
+            bl      CORINFO_HELP_ASSIGN_BYREF
+            ldr     x12, [x13], #0x08
+            str     x12, [x14], #0x08
+            add     x0, x19, x20
+            ; byrRegs +[x0]
+            stlr    w21, [x0]
+                       ;; size=32 bbWeight=0.96 PerfScore 7.70
+G_M64303_IG09:        ; bbWeight=0.96, epilog, nogc, extend
+            ldr     x21, [sp, #0x38]
+            ldp     x19, x20, [sp, #0x28]
+            ldp     fp, lr, [sp], #0x40
+            ret     lr
+                       ;; size=16 bbWeight=0.96 PerfScore 4.81
 G_M64303_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            ; gcrRegs -[x0-x1]
+            ; gcrRegs -[x19]
+            ; byrRegs -[x0 x13-x14]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 180, prolog size 12, PerfScore 55.87, instruction count 45, allocated bytes for code 180 (MethodHash=087d04d0) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Diagnostics.Metrics.Measurement`1[double]]:Enqueue(System.Diagnostics.Metrics.Measurement`1[double]):this (Tier1)
+; Total bytes of code 208, prolog size 20, PerfScore 64.70, instruction count 52, allocated bytes for code 208 (MethodHash=087d04d0) for method System.Collections.Concurrent.ConcurrentQueue`1[System.Diagnostics.Metrics.Measurement`1[double]]:Enqueue(System.Diagnostics.Metrics.Measurement`1[double]):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   : 45 (0x0002d) Actual length = 180 (0x0000b4)
+  Function Length   : 52 (0x00034) Actual length = 208 (0x0000d0)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -135,7 +140,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    D0 87       save_reg X#2 Z#7 (0x07); str x21, [sp, #56]
+    C8 05       save_regp X#0 Z#5 (0x05); stp x19, x20, [sp, #40]
+    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
     E4          end
     E4          end
 
  
+32 (+20.00%) : 608398.dasm - System.Collections.Concurrent.ConcurrentQueue1[System.Collections.Generic.KeyValuePair2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
@@ -9,30 +9,32 @@
 ; 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.Collections.Generic.KeyValuePair`2[int,long]]>
+;  V00 this         [V00,T01] (  4,  3.99)     ref  ->   x0         this class-hnd single-def <System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[int,long]]>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.Collections.Generic.KeyValuePair`2[int,long]>
 ;# 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,T04] (  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"
-;  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.95)   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.97)     int  ->   x8         "CSE - aggressive"
+;  V09 tmp7         [V09,T11] (  3,  2.01)     int  ->   x6         "Inline stloc first use temp"
+;  V10 tmp8         [V10,T05] (  3,  2.98)     int  ->   x1         single-def "field V01.key (fldOffset=0x0)" P-INDEP
+;  V11 tmp9         [V11,T06] (  3,  2.98)    long  ->   x2         single-def "field V01.value (fldOffset=0x8)" P-INDEP
+;  V12 tmp10        [V12,T03] (  3,  5.95)   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.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,93 @@ 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.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_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_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_IG07
+                       ;; size=24 bbWeight=0.99 PerfScore 6.41
+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]
+            b       G_M53455_IG09
+                       ;; size=4 bbWeight=1 PerfScore 1.00
+G_M53455_IG07:        ; bbWeight=0.99, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, 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_IG08:        ; 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.96
+G_M53455_IG09:        ; bbWeight=0.99, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x19] +[x0]
+            ; 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_M53455_IG09:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+                      ;; size=16 bbWeight=0.99 PerfScore 4.44
+G_M53455_IG10:        ; bbWeight=0.99, 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_M53455_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+                      ;; size=16 bbWeight=0.99 PerfScore 4.93
+G_M53455_IG11:        ; 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 160, prolog size 8, PerfScore 48.39, 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 192, prolog size 16, PerfScore 58.23, instruction count 48, allocated bytes for code 192 (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   : 48 (0x00030) Actual length = 192 (0x0000c0)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -132,7 +139,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%) : 9323.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%) : 51024.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%) : 9308.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]
...
  
+4 (+9.09%) : 96712.dasm - System.Data.Tests.DataTableTest2+DataRowsComparer:.ctor(System.String,System.String):this (FullOpts)
@@ -35,6 +35,7 @@ G_M15830_IG02:        ; bbWeight=1, gcrefRegs=0007 {x0 x1 x2}, byrefRegs=0000 {}
             ; gcrRegs -[x1 x15]
             ; byrRegs -[x14]
             ldr     w14, [x2, #0x08]
+            cmp     w14, #3
             add     x14, x0, #16
             ; byrRegs +[x14]
             mov     x15, x2
@@ -42,13 +43,13 @@ G_M15830_IG02:        ; bbWeight=1, gcrefRegs=0007 {x0 x1 x2}, byrefRegs=0000 {}
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x0 x2 x15]
             ; byrRegs -[x14]
-                     ;; size=28 bbWeight=1 PerfScore 7.00
+                      ;; size=32 bbWeight=1 PerfScore 7.50
 G_M15830_IG03:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 44, prolog size 8, PerfScore 10.50, instruction count 11, allocated bytes for code 44 (MethodHash=434ac229) for method System.Data.Tests.DataTableTest2+DataRowsComparer:.ctor(System.String,System.String):this (FullOpts)
+; Total bytes of code 48, prolog size 8, PerfScore 11.00, instruction count 12, allocated bytes for code 48 (MethodHash=434ac229) for method System.Data.Tests.DataTableTest2+DataRowsComparer:.ctor(System.String,System.String):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -59,7 +60,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 11 (0x0000b) Actual length = 44 (0x00002c)
+  Function Length   : 12 (0x0000c) Actual length = 48 (0x000030)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+32 (+9.76%) : 222289.dasm - System.Tests.Int128Tests_GenericMath:IsPow2Test() (FullOpts)
@@ -148,7 +148,7 @@
 ;* V137 tmp137      [V137    ] (  0,  0   )    long  ->  zero-ref    single-def "field V45._upper (fldOffset=0x8)" P-INDEP
 ;* V138 tmp138      [V138    ] (  0,  0   )    long  ->  zero-ref    single-def "field V46._lower (fldOffset=0x0)" P-INDEP
 ;* V139 tmp139      [V139    ] (  0,  0   )    long  ->  zero-ref    single-def "field V46._upper (fldOffset=0x8)" P-INDEP
-;  V140 tmp140      [V140,T11] (  2,  2   )    long  ->   x1         single-def "field V59._lower (fldOffset=0x0)" P-INDEP
+;  V140 tmp140      [V140,T11] (  2,  2   )    long  ->   x2         single-def "field V59._lower (fldOffset=0x0)" P-INDEP
 ;* V141 tmp141      [V141    ] (  0,  0   )    long  ->  zero-ref    single-def "field V59._upper (fldOffset=0x8)" P-INDEP
 ;* V142 tmp142      [V142    ] (  0,  0   )    long  ->  zero-ref    single-def "field V60._lower (fldOffset=0x0)" P-INDEP
 ;* V143 tmp143      [V143    ] (  0,  0   )    long  ->  zero-ref    single-def "field V60._upper (fldOffset=0x8)" P-INDEP
@@ -162,7 +162,7 @@
 ;* V151 tmp151      [V151    ] (  0,  0   )    long  ->  zero-ref    single-def "field V66._upper (fldOffset=0x8)" P-INDEP
 ;* V152 tmp152      [V152    ] (  0,  0   )    long  ->  zero-ref    single-def "field V67._lower (fldOffset=0x0)" P-INDEP
 ;* V153 tmp153      [V153    ] (  0,  0   )    long  ->  zero-ref    single-def "field V67._upper (fldOffset=0x8)" P-INDEP
-;* V154 tmp154      [V154,T12] (  0,  0   )    long  ->  zero-ref    single-def "field V80._lower (fldOffset=0x0)" P-INDEP
+;  V154 tmp154      [V154,T12] (  2,  2   )    long  ->   x0         single-def "field V80._lower (fldOffset=0x0)" P-INDEP
 ;* V155 tmp155      [V155    ] (  0,  0   )    long  ->  zero-ref    single-def "field V80._upper (fldOffset=0x8)" P-INDEP
 ;* V156 tmp156      [V156    ] (  0,  0   )    long  ->  zero-ref    single-def "field V81._lower (fldOffset=0x0)" P-INDEP
 ;* V157 tmp157      [V157    ] (  0,  0   )    long  ->  zero-ref    single-def "field V81._upper (fldOffset=0x8)" P-INDEP
@@ -176,7 +176,7 @@
 ;* V165 tmp165      [V165    ] (  0,  0   )    long  ->  zero-ref    single-def "field V87._upper (fldOffset=0x8)" P-INDEP
 ;* V166 tmp166      [V166    ] (  0,  0   )    long  ->  zero-ref    single-def "field V88._lower (fldOffset=0x0)" P-INDEP
 ;* V167 tmp167      [V167    ] (  0,  0   )    long  ->  zero-ref    single-def "field V88._upper (fldOffset=0x8)" P-INDEP
-;* V168 tmp168      [V168,T13] (  0,  0   )    long  ->  zero-ref    single-def "field V101._lower (fldOffset=0x0)" P-INDEP
+;  V168 tmp168      [V168,T13] (  2,  2   )    long  ->   x1         single-def "field V101._lower (fldOffset=0x0)" P-INDEP
 ;* V169 tmp169      [V169    ] (  0,  0   )    long  ->  zero-ref    single-def "field V101._upper (fldOffset=0x8)" P-INDEP
 ;* V170 tmp170      [V170    ] (  0,  0   )    long  ->  zero-ref    single-def "field V102._lower (fldOffset=0x0)" P-INDEP
 ;* V171 tmp171      [V171    ] (  0,  0   )    long  ->  zero-ref    single-def "field V102._upper (fldOffset=0x8)" P-INDEP
@@ -185,8 +185,8 @@
 ;* V174 tmp174      [V174    ] (  0,  0   )   ubyte  ->  zero-ref    single-def "field V105.hasValue (fldOffset=0x0)" P-INDEP
 ;* V175 tmp175      [V175    ] (  0,  0   )   ubyte  ->  zero-ref    single-def "field V105.value (fldOffset=0x1)" P-INDEP
 ;  V176 tmp176      [V176,T37] (  9,  0   )  struct ( 8) [fp+0x18]  do-not-enreg[SF] "by-value struct argument" <System.Nullable`1[ubyte]>
-;  V177 cse0        [V177,T00] (  2,  2   )    long  ->   x1         "CSE - aggressive"
-;  V178 cse1        [V178,T01] (  2,  2   )    long  ->   x0         "CSE - aggressive"
+;  V177 cse0        [V177,T00] (  4,  4   )    long  ->   x1         "CSE - aggressive"
+;  V178 cse1        [V178,T01] (  3,  3   )    long  ->   x0         "CSE - aggressive"
 ;  V179 cse2        [V179,T02] (  3,  3   )    long  ->   x1         "CSE - aggressive"
 ;* V180 cse3        [V180,T36] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
 ;
@@ -245,9 +245,9 @@ G_M40196_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     d16, [@RWD08]
             cnt     v16.8b, v16.8b
             addv    b16, v16.8b
-            umov    w0, v16.b[0]
-            add     x1, x1, w0, UXTW
-            cmp     x1, #1
+            umov    w2, v16.b[0]
+            add     x2, x1, w2, UXTW
+            cmp     x2, #1
             bne     G_M40196_IG10
                        ;; size=52 bbWeight=1 PerfScore 14.50
 G_M40196_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -259,7 +259,15 @@ G_M40196_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M40196_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             cbnz    w2, G_M40196_IG15
-                        ;; size=4 bbWeight=1 PerfScore 1.00
+            ldr     d16, [@RWD16]
+            cnt     v16.8b, v16.8b
+            addv    b16, v16.8b
+            umov    w2, v16.b[0]
+            add     x0, x0, w2, UXTW
+            cmp     x0, #1
+            add     x1, x1, x1
+            cmp     x1, #1
+                       ;; size=36 bbWeight=1 PerfScore 9.50
 G_M40196_IG12:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x20
             ret     lr
@@ -312,9 +320,10 @@ G_M40196_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
                        ;; size=48 bbWeight=0 PerfScore 0.00
 RWD00      dq  0000000000000001h
 RWD08      dq  7FFFFFFFFFFFFFFFh
+RWD16    dq  8000000000000000h
 
 
-; Total bytes of code 328, prolog size 8, PerfScore 43.50, instruction count 82, allocated bytes for code 328 (MethodHash=59ac62fb) for method System.Tests.Int128Tests_GenericMath:IsPow2Test() (FullOpts)
+; Total bytes of code 360, prolog size 8, PerfScore 52.00, instruction count 90, allocated bytes for code 360 (MethodHash=59ac62fb) for method System.Tests.Int128Tests_GenericMath:IsPow2Test() (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -325,7 +334,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 82 (0x00052) Actual length = 328 (0x000148)
+  Function Length   : 90 (0x0005a) Actual length = 360 (0x000168)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+20 (+10.20%) : 186215.dasm - System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
@@ -12,7 +12,7 @@
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V02 tmp1         [V02,T09] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V03 tmp2         [V03,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V04 tmp3         [V04,T00] (  7, 20   )     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Type>
+;  V04 tmp3         [V04,T00] (  8, 22   )     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Type>
 ;* V05 tmp4         [V05,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V06 tmp5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.Reflection.Emit.TypeBuilderImpl>
 ;* V07 tmp6         [V07,T08] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Reflection.Emit.TypeBuilderImpl>
@@ -52,7 +52,12 @@ G_M32453_IG04:        ; bbWeight=2, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=000
             ; gcrRegs +[x0 x20]
             cmp     x0, x20
             beq     G_M32453_IG07
-                        ;; size=8 bbWeight=2 PerfScore 3.00
+            ldr     x1, [x0]
+            movz    x2, #0xD1FFAB1E
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            cmp     x1, x2
+                       ;; size=28 bbWeight=2 PerfScore 13.00
 G_M32453_IG05:        ; bbWeight=4, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x1, [x0]
             ldr     x1, [x1, #0xA0]
@@ -116,7 +121,7 @@ G_M32453_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             brk_windows #0
                        ;; size=80 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 196, prolog size 12, PerfScore 62.75, instruction count 49, allocated bytes for code 196 (MethodHash=b7cb813a) for method System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
+; Total bytes of code 216, prolog size 12, PerfScore 72.75, instruction count 54, allocated bytes for code 216 (MethodHash=b7cb813a) for method System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -127,7 +132,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 49 (0x00031) Actual length = 196 (0x0000c4)
+  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)
  
  
realworld.run.windows.arm64.checked.mch
-4 (-1.23%) : 19193.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%) : 23983.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
...
  
+16 (+2.88%) : 21417.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:IsAccessibleViaInheritance(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,byref):ubyte (FullOpts)
@@ -19,38 +19,39 @@
 ;* 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,T06] (  4, 12.50)     int  ->   x1         "Inline stloc first use temp"
+;  V15 tmp8         [V15,T06] (  4, 12.50)     int  ->  x23         "Inline stloc first use temp"
 ;  V16 tmp9         [V16,T17] (  2,  1   )     ref  ->   x0         single-def "field V05._array (fldOffset=0x0)" P-INDEP
-;  V17 tmp10        [V17,T05] (  4, 12.50)     int  ->  x23         "field V05._index (fldOffset=0x8)" P-INDEP
+;  V17 tmp10        [V17,T05] (  4, 12.50)     int  ->  x24         "field V05._index (fldOffset=0x8)" P-INDEP
 ;  V18 tmp11        [V18,T16] (  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,T18] (  2,  1   )     ref  ->   x0         single-def "field V13._array (fldOffset=0x0)" P-INDEP
 ;* V24 tmp17        [V24,T19] (  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,T14] (  0,  0   )   byref  ->  zero-ref    "argument with side effect"
 ;* V27 tmp20        [V27,T15] (  0,  0   )   byref  ->  zero-ref    "argument with side effect"
 ;  V28 tmp21        [V28,T00] (  3, 24   )     ref  ->   x0         "argument with side effect"
 ;  V29 cse0         [V29,T12] (  3,  5   )     int  ->  x19         "CSE - aggressive"
-;  V30 cse1         [V30,T13] (  2,  4.50)   byref  ->  x24         hoist "CSE - aggressive"
+;  V30 cse1         [V30,T13] (  2,  4.50)   byref  ->  x25         hoist "CSE - aggressive"
 ;  V31 cse2         [V31,T07] (  3, 12   )    long  ->  x24         "CSE - aggressive"
 ;  V32 cse3         [V32,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]
@@ -60,7 +61,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]
@@ -101,13 +102,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]
@@ -115,15 +116,15 @@ 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
             mov     x0, x19
             ; byrRegs +[x0]
-            add     x2, fp, #16   // [V25 tmp18]
+            add     x2, fp, #24 // [V25 tmp18]
             movz    x24, #0xD1FFAB1E
             movk    x24, #0xD1FFAB1E LSL #16
             movk    x24, #0xD1FFAB1E LSL #32
@@ -136,15 +137,15 @@ 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
             mov     x0, x19
             ; byrRegs +[x0]
-            add     x2, fp, #16   // [V25 tmp18]
+            add     x2, fp, #24 // [V25 tmp18]
             mov     x1, x24
             movz    x3, #0xD1FFAB1E      // code for <unknown method>
             movk    x3, #0xD1FFAB1E LSL #16
@@ -178,16 +179,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]
@@ -195,14 +196,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]
@@ -223,45 +224,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)
@@ -275,10 +279,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
 
  
+24 (+4.84%) : 10110.dasm - FSharp.Compiler.Infos+PropInfo:get_IsNewSlot():ubyte:this (FullOpts)
@@ -8,7 +8,7 @@
 ; 0 inlinees with PGO data; 5 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 12,  7.12)     ref  ->  x19         this class-hnd single-def <FSharp.Compiler.Infos+PropInfo>
+;  V00 this         [V00,T00] ( 13,  7.62)     ref  ->  x19         this class-hnd single-def <FSharp.Compiler.Infos+PropInfo>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <FSharp.Compiler.Infos+PropInfo>
 ;* V02 loc1         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <FSharp.Compiler.Infos+ILPropInfo>
 ;* V03 loc2         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
@@ -21,8 +21,8 @@
 ;* V10 tmp1         [V10,T06] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;* V11 tmp2         [V11,T01] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <<unknown class>>
 ;  V12 tmp3         [V12,T17] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;* V13 tmp4         [V13,T07] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
-;* V14 tmp5         [V14,T02] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <<unknown class>>
+;  V13 tmp4         [V13,T07] (  2,  2   )    long  ->   x2         "fgMakeTemp is creating a new local variable"
+;  V14 tmp5         [V14,T02] (  2,  2   )     ref  ->   x1         class-hnd "spilling QMark2" <<unknown class>>
 ;  V15 tmp6         [V15,T15] (  3,  1.25)    long  ->   x1         "fgMakeTemp is creating a new local variable"
 ;  V16 tmp7         [V16,T03] (  3,  2.50)     ref  ->   x0         class-hnd "spilling QMark2" <<unknown class>>
 ;* V17 tmp8         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
@@ -159,6 +159,14 @@ G_M6027_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M6027_IG14:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0] +[x19]
+            mov     x1, x19
+            ; gcrRegs +[x1]
+            ldr     x1, [x1]
+            ; gcrRegs -[x1]
+            movz    x2, #0xD1FFAB1E
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            cmp     x1, x2
             ldp     x0, x20, [x19, #0x10]
             ; gcrRegs +[x0]
             ldr     x19, [x19, #0x20]
@@ -179,7 +187,7 @@ G_M6027_IG14:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     w0, [x0]
             tbz     w0, #0, G_M6027_IG18
-                     ;; size=60 bbWeight=0.50 PerfScore 9.75
+                       ;; size=84 bbWeight=0.50 PerfScore 12.50
 G_M6027_IG15:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             movk    x0, #0xD1FFAB1E LSL #16
@@ -252,7 +260,7 @@ G_M6027_IG18:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, by
             b       G_M6027_IG15
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 496, prolog size 20, PerfScore 64.50, instruction count 124, allocated bytes for code 496 (MethodHash=e82ee874) for method FSharp.Compiler.Infos+PropInfo:get_IsNewSlot():ubyte:this (FullOpts)
+; Total bytes of code 520, prolog size 20, PerfScore 67.25, instruction count 130, allocated bytes for code 520 (MethodHash=e82ee874) for method FSharp.Compiler.Infos+PropInfo:get_IsNewSlot():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -263,7 +271,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 124 (0x0007c) Actual length = 496 (0x0001f0)
+  Function Length   : 130 (0x00082) Actual length = 520 (0x000208)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+24 (+4.88%) : 10131.dasm - FSharp.Compiler.Infos+PropInfo:get_IsStatic():ubyte:this (FullOpts)
@@ -8,7 +8,7 @@
 ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 12,  7.12)     ref  ->  x19         this class-hnd single-def <FSharp.Compiler.Infos+PropInfo>
+;  V00 this         [V00,T00] ( 13,  7.62)     ref  ->  x19         this class-hnd single-def <FSharp.Compiler.Infos+PropInfo>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <FSharp.Compiler.Infos+PropInfo>
 ;* V02 loc1         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <FSharp.Compiler.Infos+ILPropInfo>
 ;* V03 loc2         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
@@ -20,8 +20,8 @@
 ;* V09 tmp1         [V09,T06] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;* V10 tmp2         [V10,T01] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <<unknown class>>
 ;  V11 tmp3         [V11,T15] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;* V12 tmp4         [V12,T07] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
-;* V13 tmp5         [V13,T02] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <<unknown class>>
+;  V12 tmp4         [V12,T07] (  2,  2   )    long  ->   x2         "fgMakeTemp is creating a new local variable"
+;  V13 tmp5         [V13,T02] (  2,  2   )     ref  ->   x1         class-hnd "spilling QMark2" <<unknown class>>
 ;  V14 tmp6         [V14,T13] (  3,  1.25)    long  ->   x1         "fgMakeTemp is creating a new local variable"
 ;  V15 tmp7         [V15,T03] (  3,  2.50)     ref  ->   x0         class-hnd "spilling QMark2" <<unknown class>>
 ;* V16 tmp8         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
@@ -148,6 +148,14 @@ G_M37451_IG11:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
                        ;; size=8 bbWeight=0.50 PerfScore 2.00
 G_M37451_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0] +[x19]
+            mov     x1, x19
+            ; gcrRegs +[x1]
+            ldr     x1, [x1]
+            ; gcrRegs -[x1]
+            movz    x2, #0xD1FFAB1E
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            cmp     x1, x2
             ldp     x0, x20, [x19, #0x10]
             ; gcrRegs +[x0]
             ldr     x19, [x19, #0x20]
@@ -168,7 +176,7 @@ G_M37451_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     w0, [x0]
             tbz     w0, #0, G_M37451_IG16
-                        ;; size=60 bbWeight=0.50 PerfScore 9.75
+                       ;; size=84 bbWeight=0.50 PerfScore 12.50
 G_M37451_IG13:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             movk    x0, #0xD1FFAB1E LSL #16
@@ -241,7 +249,7 @@ G_M37451_IG16:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, b
             b       G_M37451_IG13
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 492, prolog size 20, PerfScore 59.00, instruction count 123, allocated bytes for code 492 (MethodHash=380a6db4) for method FSharp.Compiler.Infos+PropInfo:get_IsStatic():ubyte:this (FullOpts)
+; Total bytes of code 516, prolog size 20, PerfScore 61.75, instruction count 129, allocated bytes for code 516 (MethodHash=380a6db4) for method FSharp.Compiler.Infos+PropInfo:get_IsStatic():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -252,7 +260,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 123 (0x0007b) Actual length = 492 (0x0001ec)
+  Function Length   : 129 (0x00081) Actual length = 516 (0x000204)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
smoke_tests.nativeaot.windows.arm64.checked.mch
-8 (-1.67%) : 9973.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
@@ -50,7 +50,7 @@ G_M10656_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=36 bbWeight=1 PerfScore 7.50
 G_M10656_IG02:        ; bbWeight=1, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
-            cbz     x0, G_M10656_IG22
+            cbz     x0, G_M10656_IG21
             mov     x21, xzr
             ; gcrRegs +[x21]
             cbnz    x19, G_M10656_IG04
@@ -120,11 +120,11 @@ G_M10656_IG08:        ; bbWeight=15.84, gcrefRegs=380000 {x19 x20 x21}, byrefReg
             cmp     w1, w22
             blt     G_M10656_IG08
                        ;; size=60 bbWeight=15.84 PerfScore 380.16
-G_M10656_IG09:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref
+G_M10656_IG09:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref
             ; byrRegs -[x28]
             str     w1, [fp, #0x2C]    // [V07 loc4]
             b       G_M10656_IG14
-                        ;; size=8 bbWeight=2 PerfScore 4.00
+                       ;; size=8 bbWeight=4 PerfScore 8.00
 G_M10656_IG10:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref
             str     w1, [fp, #0x2C]    // [V07 loc4]
             b       G_M10656_IG14
@@ -141,7 +141,7 @@ G_M10656_IG12:        ; bbWeight=0.16, gcrefRegs=10380000 {x19 x20 x21 x28}, byr
             ; byrRegs -[x0]
             ldr     w0, [x28, #0x08]
             cmp     w1, w0
-            bhs     G_M10656_IG21
+            bhs     G_M10656_IG20
             str     x2, [fp, #0x18]    // [V22 cse3]
             ; GC ptr vars +{V22}
             str     w1, [fp, #0x2C]    // [V07 loc4]
@@ -154,29 +154,29 @@ G_M10656_IG12:        ; bbWeight=0.16, gcrefRegs=10380000 {x19 x20 x21 x28}, byr
             ldr     w1, [x19, #0x08]
             ldr     w2, [fp, #0x2C]    // [V07 loc4]
             cmp     w2, w1
-            bhs     G_M10656_IG21
+            bhs     G_M10656_IG20
             str     w2, [fp, #0x2C]    // [V07 loc4]
             ldr     x1, [x26, w2, UXTW #3]
             ; gcrRegs +[x1]
             bl      System.Type:op_Equality(System.Type,System.Type):ubyte
             ; gcrRegs -[x0-x1]
             cbz     w0, G_M10656_IG14
-            ldr     w0, [fp, #0x2C] // [V07 loc4]
-            add     w0, w0, #1
-            cmp     w0, w22
+            ldr     w1, [fp, #0x2C]   // [V07 loc4]
+            add     w1, w1, #1
+            cmp     w1, w22
             ldr     x2, [fp, #0x18] // [V22 cse3]
             ; byrRegs +[x2]
-            blt     G_M10656_IG20
+            blt     G_M10656_IG12
                       ;; size=88 bbWeight=0.16 PerfScore 5.60
 G_M10656_IG13:        ; bbWeight=0.08, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, gcvars, byref
             ; gcrRegs -[x28]
             ; byrRegs -[x2]
             ; GC ptr vars -{V22}
-            str     w0, [fp, #0x2C]  // [V07 loc4]
+            str     w1, [fp, #0x2C]  // [V07 loc4]
                        ;; size=4 bbWeight=0.08 PerfScore 0.08
 G_M10656_IG14:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref, isz
-            ldr     w0, [fp, #0x2C]   // [V07 loc4]
-            cmp     w0, w22
+            ldr     w1, [fp, #0x2C]   // [V07 loc4]
+            cmp     w1, w22
             blt     G_M10656_IG17
                        ;; size=12 bbWeight=4 PerfScore 14.00
 G_M10656_IG15:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref, isz
@@ -194,7 +194,7 @@ G_M10656_IG15:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=60
             cbz     w0, G_M10656_IG17
                        ;; size=36 bbWeight=2 PerfScore 28.00
 G_M10656_IG16:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref, isz
-            cbnz    x21, G_M10656_IG23
+            cbnz    x21, G_M10656_IG22
             ldr     x21, [x25, x27]
                        ;; size=8 bbWeight=2 PerfScore 8.00
 G_M10656_IG17:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref, isz
@@ -217,18 +217,11 @@ G_M10656_IG19:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x80
             ret     lr
                        ;; size=28 bbWeight=1 PerfScore 7.00
-G_M10656_IG20:        ; bbWeight=0.08, gcVars=0000000000000000 {}, gcrefRegs=10380000 {x19 x20 x21 x28}, byrefRegs=6000004 {x2 x25 x26}, gcvars, byref
-            ; gcrRegs -[x0] +[x19-x20 x28]
-            ; byrRegs +[x2 x25-x26]
-            mov     w1, w0
-            b       G_M10656_IG12
-                       ;; size=8 bbWeight=0.08 PerfScore 0.12
-G_M10656_IG21:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x19-x21 x28]
-            ; byrRegs -[x2 x25-x26]
+G_M10656_IG20:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0 x21]
             bl      CORINFO_HELP_RNGCHKFAIL
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M10656_IG22:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M10656_IG21:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ; gcrRegs +[x0]
@@ -236,7 +229,7 @@ G_M10656_IG22:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             brk_windows #0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M10656_IG23:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M10656_IG22:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x21]
             mov     x0, x21
             ; gcrRegs +[x0]
@@ -247,7 +240,7 @@ G_M10656_IG23:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, b
             brk_windows #0
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 480, prolog size 28, PerfScore 554.79, instruction count 120, allocated bytes for code 480 (MethodHash=09bdd65f) for method System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
+; Total bytes of code 472, prolog size 28, PerfScore 558.67, instruction count 118, allocated bytes for code 472 (MethodHash=09bdd65f) for method System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -258,7 +251,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 120 (0x00078) Actual length = 480 (0x0001e0)
+  Function Length   : 118 (0x00076) Actual length = 472 (0x0001d8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-8 (-1.43%) : 5146.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
@@ -51,7 +51,7 @@ G_M10656_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=36 bbWeight=1 PerfScore 7.50
 G_M10656_IG02:        ; bbWeight=1, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
-            cbz     x0, G_M10656_IG22
+            cbz     x0, G_M10656_IG21
             mov     x21, xzr
             ; gcrRegs +[x21]
             cbnz    x19, G_M10656_IG04
@@ -131,11 +131,11 @@ G_M10656_IG08:        ; bbWeight=15.84, gcrefRegs=380000 {x19 x20 x21}, byrefReg
             cmp     w1, w22
             blt     G_M10656_IG08
                        ;; size=80 bbWeight=15.84 PerfScore 467.28
-G_M10656_IG09:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref
+G_M10656_IG09:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref
             ; byrRegs -[x28]
             str     w1, [fp, #0x2C]    // [V07 loc4]
             b       G_M10656_IG14
-                        ;; size=8 bbWeight=2 PerfScore 4.00
+                       ;; size=8 bbWeight=4 PerfScore 8.00
 G_M10656_IG10:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref
             str     w1, [fp, #0x2C]    // [V07 loc4]
             b       G_M10656_IG14
@@ -152,7 +152,7 @@ G_M10656_IG12:        ; bbWeight=0.16, gcrefRegs=10380000 {x19 x20 x21 x28}, byr
             ; byrRegs -[x15]
             ldr     w15, [x28, #0x08]
             cmp     w1, w15
-            bhs     G_M10656_IG21
+            bhs     G_M10656_IG20
             str     x2, [fp, #0x18]   // [V22 cse3]
             ; GC ptr vars +{V22}
             str     w1, [fp, #0x2C]    // [V07 loc4]
@@ -170,29 +170,29 @@ G_M10656_IG12:        ; bbWeight=0.16, gcrefRegs=10380000 {x19 x20 x21 x28}, byr
             ldr     w1, [x19, #0x08]
             ldr     w2, [fp, #0x2C]    // [V07 loc4]
             cmp     w2, w1
-            bhs     G_M10656_IG21
+            bhs     G_M10656_IG20
             str     w2, [fp, #0x2C]    // [V07 loc4]
             ldr     x1, [x26, w2, UXTW #3]
             ; gcrRegs +[x1]
             bl      System.Type:op_Equality(System.Type,System.Type):ubyte
             ; gcrRegs -[x0-x1]
             cbz     w0, G_M10656_IG14
-            ldr     w15, [fp, #0x2C]    // [V07 loc4]
-            add     w15, w15, #1
-            cmp     w15, w22
+            ldr     w1, [fp, #0x2C]  // [V07 loc4]
+            add     w1, w1, #1
+            cmp     w1, w22
             ldr     x2, [fp, #0x18] // [V22 cse3]
             ; byrRegs +[x2]
-            blt     G_M10656_IG20
+            blt     G_M10656_IG12
                       ;; size=108 bbWeight=0.16 PerfScore 6.48
 G_M10656_IG13:        ; bbWeight=0.08, gcVars=0000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, gcvars, byref
             ; gcrRegs -[x28]
             ; byrRegs -[x2]
             ; GC ptr vars -{V22}
-            str     w15, [fp, #0x2C] // [V07 loc4]
+            str     w1, [fp, #0x2C]  // [V07 loc4]
                        ;; size=4 bbWeight=0.08 PerfScore 0.08
 G_M10656_IG14:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref, isz
-            ldr     w15, [fp, #0x2C]  // [V07 loc4]
-            cmp     w15, w22
+            ldr     w1, [fp, #0x2C]  // [V07 loc4]
+            cmp     w1, w22
             blt     G_M10656_IG17
                        ;; size=12 bbWeight=4 PerfScore 14.00
 G_M10656_IG15:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref, isz
@@ -215,7 +215,7 @@ G_M10656_IG15:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=60
             cbz     w0, G_M10656_IG17
                        ;; size=56 bbWeight=2 PerfScore 39.00
 G_M10656_IG16:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref, isz
-            cbnz    x21, G_M10656_IG23
+            cbnz    x21, G_M10656_IG22
             ldr     x21, [x25, x27]
                        ;; size=8 bbWeight=2 PerfScore 8.00
 G_M10656_IG17:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=6000000 {x25 x26}, byref, isz
@@ -238,18 +238,11 @@ G_M10656_IG19:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x80
             ret     lr
                        ;; size=28 bbWeight=1 PerfScore 7.00
-G_M10656_IG20:        ; bbWeight=0.08, gcVars=0000000000000000 {}, gcrefRegs=10380000 {x19 x20 x21 x28}, byrefRegs=6000004 {x2 x25 x26}, gcvars, byref
-            ; gcrRegs -[x0] +[x19-x20 x28]
-            ; byrRegs +[x2 x25-x26]
-            mov     w1, w15
-            b       G_M10656_IG12
-                       ;; size=8 bbWeight=0.08 PerfScore 0.12
-G_M10656_IG21:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x19-x21 x28]
-            ; byrRegs -[x2 x25-x26]
+G_M10656_IG20:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0 x21]
             bl      CORINFO_HELP_RNGCHKFAIL
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M10656_IG22:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M10656_IG21:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ; gcrRegs +[x0]
@@ -257,7 +250,7 @@ G_M10656_IG22:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             brk_windows #0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M10656_IG23:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M10656_IG22:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x21]
             mov     x0, x21
             ; gcrRegs +[x0]
@@ -268,7 +261,7 @@ G_M10656_IG23:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, b
             brk_windows #0
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 560, prolog size 28, PerfScore 675.79, instruction count 140, allocated bytes for code 560 (MethodHash=09bdd65f) for method System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
+; Total bytes of code 552, prolog size 28, PerfScore 679.67, instruction count 138, allocated bytes for code 552 (MethodHash=09bdd65f) for method System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -279,7 +272,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 140 (0x0008c) Actual length = 560 (0x000230)
+  Function Length   : 138 (0x0008a) Actual length = 552 (0x000228)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-0.55%) : 21662.dasm - System.Threading.TimerQueue:FireNextTimers():this (FullOpts)
@@ -300,12 +300,11 @@ G_M40395_IG25:        ; bbWeight=0.50, gcrefRegs=80001 {x0 x19}, byrefRegs=0000
             ldr     x2, [x0, #0x08]
             ; gcrRegs +[x2]
             cbnz    x2, G_M40395_IG18
-            ldr     x0, [fp, #0x18] // [V00 this]
             ldr     x2, [x0, #0x10]
             cbz     x2, G_M40395_IG18
             add     w21, w1, #1
             b       G_M40395_IG19
-                        ;; size=28 bbWeight=0.50 PerfScore 5.75
+                       ;; size=24 bbWeight=0.50 PerfScore 4.75
 G_M40395_IG26:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0 x2]
             ldr     x0, [fp, #0x18]    // [V00 this]
@@ -362,7 +361,7 @@ G_M40395_IG31:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 732, prolog size 32, PerfScore 336.00, instruction count 183, allocated bytes for code 732 (MethodHash=a3f86234) for method System.Threading.TimerQueue:FireNextTimers():this (FullOpts)
+; Total bytes of code 728, prolog size 32, PerfScore 335.00, instruction count 182, allocated bytes for code 728 (MethodHash=a3f86234) for method System.Threading.TimerQueue:FireNextTimers():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -373,7 +372,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 166 (0x000a6) Actual length = 664 (0x000298)
+  Function Length   : 165 (0x000a5) Actual length = 660 (0x000294)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+4 (+3.12%) : 11702.dasm - Internal.TypeSystem.TypeSystemContext:FlushTypeBuilderStates():this (FullOpts)
@@ -8,11 +8,11 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  4,  4   )     ref  ->   x0         this class-hnd exact single-def <<unknown class>>
-;  V01 loc0         [V01,T00] (  8, 24.50)     int  ->   x2        
+;  V01 loc0         [V01,T00] (  9, 24.50)     int  ->   x2        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V03 tmp1         [V03,T03] (  2, 16   )     ref  ->   x4         class-hnd exact "Inlining Arg" <<unknown class>>
 ;* V04 tmp2         [V04    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
-;  V05 tmp3         [V05,T02] (  3, 16   )     int  ->   x5         "Inlining Arg"
+;  V05 tmp3         [V05,T02] (  4, 16   )     int  ->   x5         "Inlining Arg"
 ;* V06 tmp4         [V06,T07] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V07 tmp5         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Internal.TypeSystem.TypeDesc>
 ;* V08 tmp6         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
@@ -74,6 +74,7 @@ G_M17212_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
 G_M17212_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            cmp     w2, w5
             mov     w0, w2
             mov     w1, w5
             adrp    x2, [HIGH RELOC #0xD1FFAB1E]
@@ -83,9 +84,9 @@ G_M17212_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x2]
             ; gcr arg pop 0
             brk_windows #0
-                       ;; size=24 bbWeight=0 PerfScore 0.00
+                      ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 128, prolog size 8, PerfScore 77.00, instruction count 32, allocated bytes for code 128 (MethodHash=6f80bcc3) for method Internal.TypeSystem.TypeSystemContext:FlushTypeBuilderStates():this (FullOpts)
+; Total bytes of code 132, prolog size 8, PerfScore 77.00, instruction count 33, allocated bytes for code 132 (MethodHash=6f80bcc3) for method Internal.TypeSystem.TypeSystemContext:FlushTypeBuilderStates():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -96,7 +97,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 32 (0x00020) Actual length = 128 (0x000080)
+  Function Length   : 33 (0x00021) Actual length = 132 (0x000084)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+4 (+3.12%) : 6384.dasm - Internal.TypeSystem.TypeSystemContext:FlushTypeBuilderStates():this (FullOpts)
@@ -9,11 +9,11 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  4,  4   )     ref  ->   x0         this class-hnd exact single-def <<unknown class>>
-;  V01 loc0         [V01,T00] (  8, 24.50)     int  ->   x2        
+;  V01 loc0         [V01,T00] (  9, 24.50)     int  ->   x2        
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V03 tmp1         [V03,T03] (  2, 16   )     ref  ->   x4         class-hnd exact "Inlining Arg" <<unknown class>>
 ;* V04 tmp2         [V04    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
-;  V05 tmp3         [V05,T02] (  3, 16   )     int  ->   x5         "Inlining Arg"
+;  V05 tmp3         [V05,T02] (  4, 16   )     int  ->   x5         "Inlining Arg"
 ;* V06 tmp4         [V06,T07] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V07 tmp5         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Internal.TypeSystem.TypeDesc>
 ;* V08 tmp6         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
@@ -75,6 +75,7 @@ G_M17212_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
 G_M17212_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            cmp     w2, w5
             mov     w0, w2
             mov     w1, w5
             adrp    x2, [HIGH RELOC #0xD1FFAB1E]
@@ -84,9 +85,9 @@ G_M17212_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x2]
             ; gcr arg pop 0
             brk_windows #0
-                       ;; size=24 bbWeight=0 PerfScore 0.00
+                      ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 128, prolog size 8, PerfScore 77.00, instruction count 32, allocated bytes for code 128 (MethodHash=6f80bcc3) for method Internal.TypeSystem.TypeSystemContext:FlushTypeBuilderStates():this (FullOpts)
+; Total bytes of code 132, prolog size 8, PerfScore 77.00, instruction count 33, allocated bytes for code 132 (MethodHash=6f80bcc3) for method Internal.TypeSystem.TypeSystemContext:FlushTypeBuilderStates():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -97,7 +98,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 32 (0x00020) Actual length = 128 (0x000080)
+  Function Length   : 33 (0x00021) Actual length = 132 (0x000084)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+8 (+4.65%) : 15171.dasm - PInvokeTests.Program:TestSizeParamIndex() (FullOpts)
@@ -7,20 +7,21 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00    ] (  3,  3   )   ubyte  ->  [fp+0x18]  do-not-enreg[X] must-init addr-exposed ld-addr-op
-;  V01 loc1         [V01    ] (  3,  9   )     ref  ->  [fp+0x10]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <<unknown class>>
-;  V02 loc2         [V02,T02] (  3,  2.50)   ubyte  ->   x1        
-;  V03 loc3         [V03,T00] (  7, 25   )     int  ->   x0        
+;  V00 loc0         [V00    ] (  3,  3   )   ubyte  ->  [fp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op
+;  V01 loc1         [V01    ] (  3,  9   )     ref  ->  [fp+0x18]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <<unknown class>>
+;  V02 loc2         [V02,T02] (  3,  2.50)   ubyte  ->  x19        
+;  V03 loc3         [V03,T00] (  7, 25   )     int  ->   x1        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 cse0         [V05,T01] (  3,  6   )     int  ->   x2         "CSE - aggressive"
+;  V05 cse0         [V05,T01] (  3,  6   )     int  ->   x0         "CSE - aggressive"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 24
 
 G_M49212_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x20]!
+            stp     fp, lr, [sp, #-0x30]!
+            str     x19, [sp, #0x28]
             mov     fp, sp
-            stp     xzr, xzr, [fp, #0x10]  // [V01 loc1], [V00 loc0]
-                       ;; size=12 bbWeight=1 PerfScore 2.50
+            stp     xzr, xzr, [fp, #0x18] // [V01 loc1], [V00 loc0]
+                       ;; size=16 bbWeight=1 PerfScore 3.50
 G_M49212_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
@@ -28,11 +29,11 @@ G_M49212_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            add     x0, fp, #16   // [V01 loc1]
-            add     x1, fp, #24    // [V00 loc0]
+            add     x0, fp, #24  // [V01 loc1]
+            add     x1, fp, #32    // [V00 loc0]
             bl      <unknown method>
             ; gcr arg pop 0
-            ldrb    w1, [fp, #0x18]   // [V00 loc0]
+            ldrb    w1, [fp, #0x20]  // [V00 loc0]
             mov     w0, #10
             adrp    x2, [HIGH RELOC #0xD1FFAB1E]
             add     x2, x2, [LOW RELOC #0xD1FFAB1E]
@@ -40,40 +41,40 @@ G_M49212_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             bl      PInvokeTests.Program:ThrowIfNotEquals[int](int,int,System.String)
             ; gcrRegs -[x2]
             ; gcr arg pop 0
-            mov     w1, #1
-            mov     w0, wzr
-            ldrb    w2, [fp, #0x18]    // [V00 loc0]
-            cmp     w2, #0
+            mov     w19, #1
+            mov     w1, wzr
+            ldrb    w0, [fp, #0x20]    // [V00 loc0]
+            cmp     w0, #0
             ble     G_M49212_IG06
                        ;; size=64 bbWeight=1 PerfScore 13.00
 G_M49212_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ldr     x3, [fp, #0x10]  // [V01 loc1]
-            ; gcrRegs +[x3]
-            ldr     w3, [x3, #0x08]
-            ; gcrRegs -[x3]
-            cmp     w0, w3
+            ldr     x2, [fp, #0x18]    // [V01 loc1]
+            ; gcrRegs +[x2]
+            ldr     w2, [x2, #0x08]
+            ; gcrRegs -[x2]
+            cmp     w1, w2
             bhs     G_M49212_IG08
-            ldr     x3, [fp, #0x10]   // [V01 loc1]
-            ; gcrRegs +[x3]
-            add     x3, x3, #16
-            ; gcrRegs -[x3]
-            ; byrRegs +[x3]
-            ldrb    w3, [x3, w0, UXTW #2]
-            ; byrRegs -[x3]
-            cmp     w3, w0
+            ldr     x2, [fp, #0x18]    // [V01 loc1]
+            ; gcrRegs +[x2]
+            add     x2, x2, #16
+            ; gcrRegs -[x2]
+            ; byrRegs +[x2]
+            ldrb    w2, [x2, w1, UXTW #2]
+            ; byrRegs -[x2]
+            cmp     w2, w1
             bne     G_M49212_IG05
-            add     w0, w0, #1
-            cmp     w0, w2
+            add     w1, w1, #1
+            cmp     w1, w0
             blt     G_M49212_IG03
                        ;; size=48 bbWeight=4 PerfScore 62.00
-G_M49212_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M49212_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             b       G_M49212_IG06
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
+                        ;; size=4 bbWeight=1 PerfScore 1.00
 G_M49212_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            mov     w1, wzr
+            mov     w19, wzr
                         ;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M49212_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            cmp     w1, #0
+            cmp     w19, #0
             cset    x1, ne
             mov     w0, #1
             adrp    x2, [HIGH RELOC #0xD1FFAB1E]
@@ -84,27 +85,28 @@ G_M49212_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
                        ;; size=24 bbWeight=1 PerfScore 3.50
 G_M49212_IG07:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x20
+            ldr     x19, [sp, #0x28]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=8 bbWeight=1 PerfScore 2.00
+                       ;; size=12 bbWeight=1 PerfScore 4.00
 G_M49212_IG08:        ; 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 172, prolog size 12, PerfScore 83.75, instruction count 43, allocated bytes for code 172 (MethodHash=824d3fc3) for method PInvokeTests.Program:TestSizeParamIndex() (FullOpts)
+; Total bytes of code 180, prolog size 16, PerfScore 87.25, instruction count 45, allocated bytes for code 180 (MethodHash=824d3fc3) for method PInvokeTests.Program:TestSizeParamIndex() (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   : 43 (0x0002b) Actual length = 172 (0x0000ac)
+  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)
@@ -112,7 +114,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    D0 05       save_reg X#0 Z#5 (0x05); str x19, [sp, #40]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    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 | 177 | 29 | 30 | 118 | -176 | +276 | 
| benchmarks.run_pgo.windows.arm64.checked.mch | 2,282 | 684 | 744 | 854 | -6,752 | +6,308 | 
| benchmarks.run_tiered.windows.arm64.checked.mch | 79 | 11 | 16 | 52 | -680 | +108 | 
| coreclr_tests.run.windows.arm64.checked.mch | 1,275 | 292 | 352 | 631 | -2,860 | +3,300 | 
| libraries.crossgen2.windows.arm64.checked.mch | 718 | 97 | 70 | 551 | -872 | +676 | 
| libraries.pmi.windows.arm64.checked.mch | 1,059 | 157 | 153 | 749 | -1,484 | +1,688 | 
| libraries_tests.run.windows.arm64.Release.mch | 6,257 | 1,801 | 1,534 | 2,922 | -22,780 | +13,352 | 
| librariestestsnotieredcompilation.run.windows.arm64.Release.mch | 1,404 | 215 | 216 | 973 | -2,212 | +2,072 | 
| realworld.run.windows.arm64.checked.mch | 269 | 39 | 34 | 196 | -328 | +372 | 
| smoke_tests.nativeaot.windows.arm64.checked.mch | 117 | 4 | 30 | 83 | -24 | +220 | 
|  | 13,637 | 3,329 | 3,179 | 7,129 | -38,168 | +28,372 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| benchmarks.run.windows.arm64.checked.mch | 24,218 | 4 | 24,214 | 229 (0.94%) | 229 (0.94%) | 
| benchmarks.run_pgo.windows.arm64.checked.mch | 96,879 | 48,066 | 48,813 | 104 (0.11%) | 104 (0.11%) | 
| benchmarks.run_tiered.windows.arm64.checked.mch | 48,412 | 36,693 | 11,719 | 61 (0.13%) | 61 (0.13%) | 
| coreclr_tests.run.windows.arm64.checked.mch | 595,265 | 362,539 | 232,726 | 438 (0.07%) | 438 (0.07%) | 
| libraries.crossgen2.windows.arm64.checked.mch | 243,831 | 15 | 243,816 | 0 (0.00%) | 0 (0.00%) | 
| libraries.pmi.windows.arm64.checked.mch | 302,817 | 6 | 302,811 | 2,054 (0.67%) | 2,054 (0.67%) | 
| libraries_tests.run.windows.arm64.Release.mch | 625,154 | 460,799 | 164,355 | 900 (0.14%) | 900 (0.14%) | 
| librariestestsnotieredcompilation.run.windows.arm64.Release.mch | 314,858 | 21,559 | 293,299 | 2,179 (0.69%) | 2,179 (0.69%) | 
| realworld.run.windows.arm64.checked.mch | 32,878 | 3 | 32,875 | 366 (1.10%) | 366 (1.10%) | 
| smoke_tests.nativeaot.windows.arm64.checked.mch | 24,152 | 8 | 24,144 | 3 (0.01%) | 3 (0.01%) | 
|  | 2,308,464 | 929,692 | 1,378,772 | 6,334 (0.27%) | 6,334 (0.27%) | 
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: 10696028 (overridden on cmd)
Total bytes of diff: 10696128 (overridden on cmd)
Total bytes of delta: 100 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          20 : 11720.dasm (0.88 % of base)
          20 : 16563.dasm (0.53 % of base)
          16 : 21803.dasm (1.67 % of base)
          16 : 22720.dasm (0.20 % of base)
          16 : 11036.dasm (0.21 % of base)
          16 : 4967.dasm (1.50 % of base)
          16 : 23543.dasm (2.25 % of base)
          16 : 23688.dasm (1.01 % of base)
          12 : 21898.dasm (3.16 % of base)
          12 : 2668.dasm (1.16 % of base)
          12 : 9039.dasm (0.15 % of base)
          12 : 3977.dasm (1.74 % of base)
           8 : 16732.dasm (1.89 % of base)
           8 : 10246.dasm (1.13 % of base)
           8 : 11288.dasm (0.31 % of base)
           8 : 22847.dasm (1.80 % of base)
           8 : 22905.dasm (0.54 % of base)
           4 : 14200.dasm (2.33 % of base)
           4 : 2660.dasm (0.71 % of base)
           4 : 13840.dasm (0.17 % of base)
Top file improvements (bytes):
         -24 : 21980.dasm (-1.10 % of base)
         -16 : 4797.dasm (-0.45 % of base)
         -12 : 2773.dasm (-0.80 % of base)
          -8 : 22717.dasm (-0.14 % of base)
          -8 : 9060.dasm (-0.08 % of base)
          -8 : 17291.dasm (-0.10 % of base)
          -8 : 17538.dasm (-0.26 % of base)
          -8 : 4989.dasm (-0.40 % of base)
          -4 : 10647.dasm (-0.36 % of base)
          -4 : 14991.dasm (-1.56 % of base)
          -4 : 15975.dasm (-0.07 % of base)
          -4 : 17488.dasm (-0.15 % of base)
          -4 : 17588.dasm (-0.14 % of base)
          -4 : 18073.dasm (-0.40 % of base)
          -4 : 18232.dasm (-0.32 % of base)
          -4 : 21493.dasm (-0.24 % of base)
          -4 : 22258.dasm (-0.02 % of base)
          -4 : 22714.dasm (-0.02 % of base)
          -4 : 7132.dasm (-0.21 % of base)
          -4 : 14201.dasm (-0.46 % of base)
50 total files with Code Size differences (26 improved, 24 regressed), 20 unchanged.
Top method regressions (bytes):
          20 (0.53 % of base) : 16563.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (FullOpts)
          20 (0.88 % of base) : 11720.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (FullOpts)
          16 (1.67 % of base) : 21803.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (FullOpts)
          16 (2.25 % of base) : 23543.dasm - Benchstone.BenchI.Array2:Bench(int):ubyte (FullOpts)
          16 (0.21 % of base) : 11036.dasm - Jil.Deserialize.Methods:_ReadISO8601Date(System.IO.TextReader,ushort[]):System.DateTime (FullOpts)
          16 (0.20 % of base) : 22720.dasm - Jil.Deserialize.Methods:_ReadISO8601DateWithOffset(System.IO.TextReader,ushort[]):System.DateTimeOffset (FullOpts)
          16 (1.01 % of base) : 23688.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
          16 (1.50 % of base) : 4967.dasm - System.Xml.Serialization.TypeScope:ShouldBeReplaced(System.Reflection.MemberInfo,System.Type,byref):ubyte (FullOpts)
          12 (0.15 % of base) : 9039.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
          12 (3.16 % of base) : 21898.dasm - Benchstone.BenchI.XposMatrix:Test():ubyte:this (FullOpts)
          12 (1.74 % of base) : 3977.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          12 (1.16 % of base) : 2668.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (FullOpts)
           8 (0.54 % of base) : 22905.dasm - BenchmarksGame.KNucleotide_9:loadThreeData(System.IO.Stream) (FullOpts)
           8 (1.80 % of base) : 22847.dasm - Benchstone.BenchF.SqMtx:Test():ubyte:this (FullOpts)
           8 (1.89 % of base) : 16732.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           8 (0.31 % of base) : 11288.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
           8 (1.13 % of base) : 10246.dasm - System.Xml.XmlUTF8TextReader:ReadQualifiedName(System.Xml.PrefixHandle,System.Xml.StringHandle):this (FullOpts)
           4 (0.71 % of base) : 2660.dasm - Internal.Cryptography.Helpers:ToLpstrArray(System.Security.Cryptography.OidCollection,byref):System.Runtime.InteropServices.SafeHandle (FullOpts)
           4 (0.27 % of base) : 17537.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) : 18314.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)
Top method improvements (bytes):
         -24 (-1.10 % of base) : 21980.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -16 (-0.45 % of base) : 4797.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[]):System.Reflection.Assembly (FullOpts)
         -12 (-0.80 % of base) : 2773.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) : 22717.dasm - Jil.Deserialize.Methods:SkipWithLeadChar(System.IO.TextReader,int) (FullOpts)
          -8 (-0.08 % of base) : 9060.dasm - Jil.Deserialize.Methods:SkipWithLeadCharThunkReader(byref,int) (FullOpts)
          -8 (-0.10 % of base) : 17291.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
          -8 (-0.26 % of base) : 17538.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) : 4989.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
          -4 (-0.02 % of base) : 22258.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.07 % of base) : 15975.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.02 % of base) : 22714.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.24 % of base) : 21493.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (FullOpts)
          -4 (-0.43 % of base) : 19746.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
          -4 (-0.17 % of base) : 17550.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.15 % of base) : 17488.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) : 17588.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) : 18232.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddDeclaredNontypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -4 (-0.40 % of base) : 18073.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (FullOpts)
          -4 (-0.21 % of base) : 7132.dasm - ProtoBuf.Meta.MetaType:ResolveTupleConstructor(System.Type,byref):System.Reflection.ConstructorInfo (FullOpts)
          -4 (-1.56 % of base) : 14991.dasm - Struct.GSeq:FilterSkipMapSum():int:this (FullOpts)
Top method regressions (percentages):
          12 (3.16 % of base) : 21898.dasm - Benchstone.BenchI.XposMatrix:Test():ubyte:this (FullOpts)
           4 (2.33 % of base) : 14200.dasm - System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
          16 (2.25 % of base) : 23543.dasm - Benchstone.BenchI.Array2:Bench(int):ubyte (FullOpts)
           8 (1.89 % of base) : 16732.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           8 (1.80 % of base) : 22847.dasm - Benchstone.BenchF.SqMtx:Test():ubyte:this (FullOpts)
          12 (1.74 % of base) : 3977.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          16 (1.67 % of base) : 21803.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (FullOpts)
          16 (1.50 % of base) : 4967.dasm - System.Xml.Serialization.TypeScope:ShouldBeReplaced(System.Reflection.MemberInfo,System.Type,byref):ubyte (FullOpts)
          12 (1.16 % of base) : 2668.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (FullOpts)
           8 (1.13 % of base) : 10246.dasm - System.Xml.XmlUTF8TextReader:ReadQualifiedName(System.Xml.PrefixHandle,System.Xml.StringHandle):this (FullOpts)
          16 (1.01 % of base) : 23688.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
          20 (0.88 % of base) : 11720.dasm - Newtonsoft.Json.JsonTextReader:ReadStringValue(int):System.Object:this (FullOpts)
           4 (0.71 % of base) : 2660.dasm - Internal.Cryptography.Helpers:ToLpstrArray(System.Security.Cryptography.OidCollection,byref):System.Runtime.InteropServices.SafeHandle (FullOpts)
           8 (0.54 % of base) : 22905.dasm - BenchmarksGame.KNucleotide_9:loadThreeData(System.IO.Stream) (FullOpts)
          20 (0.53 % of base) : 16563.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (FullOpts)
           4 (0.44 % of base) : 18314.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) : 23365.dasm - System.Collections.Concurrent.ConcurrentQueue`1[int]:get_Count():int:this (FullOpts)
           8 (0.31 % of base) : 11288.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
           4 (0.27 % of base) : 17537.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) : 4226.dasm - System.Threading.Barrier:SignalAndWait(int,System.Threading.CancellationToken):ubyte:this (FullOpts)
Top method improvements (percentages):
          -4 (-1.56 % of base) : 14991.dasm - Struct.GSeq:FilterSkipMapSum():int:this (FullOpts)
         -24 (-1.10 % of base) : 21980.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -4 (-0.81 % of base) : 5815.dasm - Utf8Json.JsonReader:ReadInt64():long:this (FullOpts)
         -12 (-0.80 % of base) : 2773.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) : 14201.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (FullOpts)
         -16 (-0.45 % of base) : 4797.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[]):System.Reflection.Assembly (FullOpts)
          -4 (-0.43 % of base) : 19746.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
          -4 (-0.41 % of base) : 6248.dasm - System.Net.MultiMemory:CopyFrom(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
          -8 (-0.40 % of base) : 4989.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
          -4 (-0.40 % of base) : 18073.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (FullOpts)
          -4 (-0.36 % of base) : 10647.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:get_Count():int:this (FullOpts)
          -4 (-0.32 % of base) : 18232.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddDeclaredNontypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -4 (-0.32 % of base) : 23487.dasm - System.Threading.TimerQueue:FireNextTimers():this (FullOpts)
          -8 (-0.26 % of base) : 17538.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) : 21493.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (FullOpts)
          -4 (-0.21 % of base) : 7132.dasm - ProtoBuf.Meta.MetaType:ResolveTupleConstructor(System.Type,byref):System.Reflection.ConstructorInfo (FullOpts)
          -4 (-0.17 % of base) : 17550.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.15 % of base) : 17488.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) : 17588.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)
          -8 (-0.14 % of base) : 22717.dasm - Jil.Deserialize.Methods:SkipWithLeadChar(System.IO.TextReader,int) (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: 46517260 (overridden on cmd)
Total bytes of diff: 46516816 (overridden on cmd)
Total bytes of delta: -444 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          60 : 81669.dasm (1.73 % of base)
          36 : 78420.dasm (2.04 % of base)
          36 : 6091.dasm (2.04 % of base)
          36 : 84724.dasm (2.04 % of base)
          32 : 26047.dasm (1.82 % of base)
          32 : 71336.dasm (1.82 % of base)
          32 : 71979.dasm (1.82 % of base)
          32 : 75359.dasm (1.82 % of base)
          32 : 93119.dasm (1.82 % of base)
          32 : 94075.dasm (2.19 % of base)
          32 : 94082.dasm (1.82 % of base)
          32 : 73768.dasm (2.22 % of base)
          32 : 75319.dasm (1.82 % of base)
          32 : 49648.dasm (1.82 % of base)
          32 : 70340.dasm (1.82 % of base)
          32 : 81048.dasm (1.82 % of base)
          32 : 82580.dasm (2.22 % of base)
          32 : 92808.dasm (1.82 % of base)
          32 : 90300.dasm (1.82 % of base)
          32 : 95463.dasm (1.82 % of base)
Top file improvements (bytes):
        -476 : 94410.dasm (-33.06 % of base)
        -460 : 94405.dasm (-31.94 % of base)
        -156 : 51147.dasm (-21.67 % of base)
        -156 : 51172.dasm (-21.67 % of base)
         -60 : 83408.dasm (-1.15 % of base)
         -56 : 72877.dasm (-6.60 % of base)
         -52 : 69164.dasm (-1.16 % of base)
         -48 : 87440.dasm (-1.45 % of base)
         -40 : 82789.dasm (-1.23 % of base)
         -40 : 84475.dasm (-1.21 % of base)
         -32 : 25638.dasm (-11.76 % of base)
         -28 : 82086.dasm (-0.79 % of base)
         -28 : 19396.dasm (-0.86 % of base)
         -24 : 76318.dasm (-1.10 % of base)
         -24 : 87049.dasm (-1.41 % of base)
         -24 : 65411.dasm (-1.43 % of base)
         -24 : 85464.dasm (-1.38 % of base)
         -24 : 95061.dasm (-0.83 % of base)
         -24 : 4936.dasm (-1.38 % of base)
         -24 : 90420.dasm (-7.41 % of base)
84 total files with Code Size differences (40 improved, 44 regressed), 20 unchanged.
Top method regressions (bytes):
          60 (1.73 % of base) : 81669.dasm - System.Reflection.CustomAttribute:AddCustomAttributes(byref,System.Reflection.RuntimeModule,int,System.RuntimeType,ubyte,System.RuntimeType+ListBuilder`1[System.Object]) (Tier1)
          36 (2.04 % of base) : 78420.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)
          36 (2.04 % of base) : 6091.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)
          36 (2.04 % of base) : 84724.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)
          32 (1.82 % of base) : 26047.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)
          32 (1.82 % of base) : 71336.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)
          32 (1.82 % of base) : 71979.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)
          32 (1.82 % of base) : 75359.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)
          32 (1.82 % of base) : 93119.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)
          32 (1.82 % of base) : 94082.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)
          32 (1.82 % of base) : 75319.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)
          32 (1.82 % of base) : 49648.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)
          32 (1.82 % of base) : 70340.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)
          32 (1.82 % of base) : 81048.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)
          32 (1.82 % of base) : 92808.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)
          32 (1.82 % of base) : 90300.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)
          32 (1.82 % of base) : 95463.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)
          32 (2.19 % of base) : 94075.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.22 % of base) : 73768.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
          32 (2.22 % of base) : 82580.dasm - System.Linq.Enumerable+SelectManySingleSelectorIterator`2[int,System.__Canon]:ToArray():System.__Canon[]:this (Tier1-OSR)
Top method improvements (bytes):
        -476 (-33.06 % of base) : 94410.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -460 (-31.94 % of base) : 94405.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -156 (-21.67 % of base) : 51147.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 51172.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -60 (-1.15 % of base) : 83408.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -56 (-6.60 % of base) : 72877.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -52 (-1.16 % of base) : 69164.dasm - Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass:VisitBlock(Microsoft.CodeAnalysis.CSharp.BoundBlock):Microsoft.CodeAnalysis.CSharp.BoundNode:this (Tier1)
         -48 (-1.45 % of base) : 87440.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -40 (-1.23 % of base) : 82789.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -40 (-1.21 % of base) : 84475.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -32 (-11.76 % of base) : 25638.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstanceOfAny(ulong,System.Object):System.Object (Tier1)
         -28 (-0.79 % of base) : 82086.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -28 (-0.86 % of base) : 19396.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
         -24 (-0.83 % of base) : 95061.dasm - StringSort:Run():double:this (Tier1)
         -24 (-1.10 % of base) : 76318.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
         -24 (-7.41 % of base) : 90420.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -24 (-1.41 % of base) : 87049.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) : 65411.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) : 85464.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) : 4936.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) : 75589.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[int]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
          20 (9.43 % of base) : 79861.dasm - System.Collections.Concurrent.AddRemoveFromDifferentThreads`1+<>c__DisplayClass10_0[System.__Canon]:<SetupConcurrentQueueIteration>b__0():this (Tier1-OSR)
           4 (8.33 % of base) : 67453.dasm - System.ArgumentOutOfRangeException:ThrowIfLessThan[int](int,int,System.String) (Tier1)
           4 (8.33 % of base) : 70259.dasm - System.ArgumentOutOfRangeException:ThrowIfLessThan[int](int,int,System.String) (Tier1)
           4 (8.33 % of base) : 84489.dasm - System.ArgumentOutOfRangeException:ThrowIfLessThan[int](int,int,System.String) (Tier1)
          12 (7.69 % of base) : 23900.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 75973.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 93683.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 96041.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 73702.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          28 (6.54 % of base) : 96066.dasm - System.Threading.ThreadPoolWorkQueue:TryStartProcessingHighPriorityWorkItemsAndDequeue(System.Threading.ThreadPoolWorkQueueThreadLocals,byref):ubyte:this (Tier1)
           8 (4.08 % of base) : 44195.dasm - Benchstone.BenchI.LogicArray:Inner(byref):ubyte (Tier1-OSR)
           4 (3.70 % of base) : 70469.dasm - System.Collections.Generic.GenericArraySortHelper`1[System.Collections.IntStruct]:InsertionSort(System.Span`1[System.Collections.IntStruct]) (Tier1)
           4 (3.70 % of base) : 77353.dasm - System.Collections.Generic.GenericArraySortHelper`1[System.Collections.IntStruct]:InsertionSort(System.Span`1[System.Collections.IntStruct]) (Tier1)
           8 (3.64 % of base) : 87859.dasm - Benchstone.MDBenchI.MDLogicArray:Inner(byref):ubyte (Tier1-OSR)
           4 (2.70 % of base) : 87979.dasm - System.Collections.Generic.GenericArraySortHelper`1[System.Collections.BigStruct]:InsertionSort(System.Span`1[System.Collections.BigStruct]) (Tier1)
           4 (2.70 % of base) : 94486.dasm - System.Collections.Generic.GenericArraySortHelper`1[System.Collections.BigStruct]:InsertionSort(System.Span`1[System.Collections.BigStruct]) (Tier1)
          20 (2.56 % of base) : 95480.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) : 92828.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) : 94096.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) : 94410.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -460 (-31.94 % of base) : 94405.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -156 (-21.67 % of base) : 51147.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 51172.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -32 (-11.76 % of base) : 25638.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstanceOfAny(ulong,System.Object):System.Object (Tier1)
         -24 (-7.41 % of base) : 90420.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -16 (-7.02 % of base) : 18364.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
         -16 (-6.90 % of base) : 18362.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
         -56 (-6.60 % of base) : 72877.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -16 (-6.56 % of base) : 6216.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 65825.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 75343.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 34022.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 48473.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 78325.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 81069.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 84733.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 92822.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 43179.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
         -16 (-6.56 % of base) : 94090.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: 15265556 (overridden on cmd)
Total bytes of diff: 15264984 (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 : 31666.dasm (0.54 % of base)
          16 : 44142.dasm (2.07 % of base)
          12 : 42922.dasm (1.16 % of base)
          12 : 19641.dasm (0.15 % of base)
           4 : 30372.dasm (0.13 % of base)
           4 : 31850.dasm (0.49 % of base)
           4 : 42796.dasm (0.29 % of base)
           4 : 42800.dasm (0.27 % of base)
           4 : 42991.dasm (0.71 % of base)
           4 : 45036.dasm (0.82 % of base)
           4 : 46697.dasm (2.70 % of base)
           4 : 22649.dasm (0.16 % of base)
           4 : 27075.dasm (0.07 % of base)
           4 : 40106.dasm (1.08 % of base)
           4 : 40331.dasm (0.67 % of base)
           4 : 42748.dasm (0.16 % of base)
Top file improvements (bytes):
        -420 : 48090.dasm (-31.44 % of base)
        -152 : 31846.dasm (-14.13 % of base)
         -56 : 43149.dasm (-6.97 % of base)
         -24 : 44418.dasm (-1.10 % of base)
          -4 : 30387.dasm (-0.09 % of base)
          -4 : 38947.dasm (-0.41 % of base)
          -4 : 48404.dasm (-0.32 % of base)
          -4 : 30379.dasm (-0.07 % of base)
          -4 : 40423.dasm (-0.10 % of base)
          -4 : 45121.dasm (-0.02 % of base)
          -4 : 45636.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) : 31666.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (Tier0-FullOpts)
          16 (2.07 % of base) : 44142.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
          12 (0.15 % of base) : 19641.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
          12 (1.16 % of base) : 42922.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (Tier1)
           4 (0.29 % of base) : 42796.dasm - Benchstone.BenchF.MatInv4:MinV1(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.27 % of base) : 42800.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.13 % of base) : 30372.dasm - Benchstone.BenchI.MulMatrix:Inner(int[][],int[][],int[][]) (Tier1-OSR)
           4 (0.82 % of base) : 45036.dasm - Benchstone.MDBenchF.MDInvMt:Inner(double[,],byref,byref) (Tier1-OSR)
           4 (1.08 % of base) : 40106.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
           4 (0.71 % of base) : 42991.dasm - Internal.Cryptography.Helpers:ToLpstrArray(System.Security.Cryptography.OidCollection,byref):System.Runtime.InteropServices.SafeHandle (Tier1)
           4 (0.49 % of base) : 31850.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1-OSR)
           4 (0.16 % of base) : 22649.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength8OrLongerOrUnknown,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1)
           4 (2.70 % of base) : 46697.dasm - System.Collections.Generic.GenericArraySortHelper`1[System.Collections.BigStruct]:InsertionSort(System.Span`1[System.Collections.BigStruct]) (Tier1)
           4 (0.67 % of base) : 40331.dasm - System.Collections.Generic.GenericArraySortHelper`1[System.Collections.IntStruct]:PickPivotAndPartition(System.Span`1[System.Collections.IntStruct]):int (Tier1)
           4 (0.16 % of base) : 42748.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetMethodTokenNoLock(System.Reflection.MethodInfo,ubyte):int:this (Tier1)
           4 (0.07 % of base) : 27075.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1)
Top method improvements (bytes):
        -420 (-31.44 % of base) : 48090.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -152 (-14.13 % of base) : 31846.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -56 (-6.97 % of base) : 43149.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -24 (-1.10 % of base) : 44418.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -4 (-0.02 % of base) : 45121.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.07 % of base) : 30379.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.02 % of base) : 45636.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.09 % of base) : 30387.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.41 % of base) : 38947.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
          -4 (-0.10 % of base) : 40423.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) : 48404.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
Top method regressions (percentages):
           4 (2.70 % of base) : 46697.dasm - System.Collections.Generic.GenericArraySortHelper`1[System.Collections.BigStruct]:InsertionSort(System.Span`1[System.Collections.BigStruct]) (Tier1)
          16 (2.07 % of base) : 44142.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
          12 (1.16 % of base) : 42922.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (Tier1)
           4 (1.08 % of base) : 40106.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
           4 (0.82 % of base) : 45036.dasm - Benchstone.MDBenchF.MDInvMt:Inner(double[,],byref,byref) (Tier1-OSR)
           4 (0.71 % of base) : 42991.dasm - Internal.Cryptography.Helpers:ToLpstrArray(System.Security.Cryptography.OidCollection,byref):System.Runtime.InteropServices.SafeHandle (Tier1)
           4 (0.67 % of base) : 40331.dasm - System.Collections.Generic.GenericArraySortHelper`1[System.Collections.IntStruct]:PickPivotAndPartition(System.Span`1[System.Collections.IntStruct]):int (Tier1)
          20 (0.54 % of base) : 31666.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCollectionsOfPrimitives:Read2_CollectionsOfPrimitives(ubyte,ubyte):MicroBenchmarks.Serializers.CollectionsOfPrimitives:this (Tier0-FullOpts)
           4 (0.49 % of base) : 31850.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1-OSR)
           4 (0.29 % of base) : 42796.dasm - Benchstone.BenchF.MatInv4:MinV1(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.27 % of base) : 42800.dasm - Benchstone.BenchF.MatInv4:MinV2(float[],byref,byref,float[],float[]) (Tier1-OSR)
           4 (0.16 % of base) : 22649.dasm - System.Buffers.SingleStringSearchValuesThreeChars`2[System.Buffers.StringSearchValuesHelper+ValueLength8OrLongerOrUnknown,System.Buffers.StringSearchValuesHelper+CaseSensitive]:IndexOf(byref,int):int:this (Tier1)
           4 (0.16 % of base) : 42748.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetMethodTokenNoLock(System.Reflection.MethodInfo,ubyte):int:this (Tier1)
          12 (0.15 % of base) : 19641.dasm - (dynamicClass):_DynamicMethod9(byref,int):MicroBenchmarks.Serializers.MyEventsListerViewModel (FullOpts)
           4 (0.13 % of base) : 30372.dasm - Benchstone.BenchI.MulMatrix:Inner(int[][],int[][],int[][]) (Tier1-OSR)
           4 (0.07 % of base) : 27075.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (Tier1)
Top method improvements (percentages):
        -420 (-31.44 % of base) : 48090.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -152 (-14.13 % of base) : 31846.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -56 (-6.97 % of base) : 43149.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -24 (-1.10 % of base) : 44418.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -4 (-0.41 % of base) : 38947.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
          -4 (-0.32 % of base) : 48404.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
          -4 (-0.10 % of base) : 40423.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) : 30387.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.07 % of base) : 30379.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -4 (-0.02 % of base) : 45636.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -4 (-0.02 % of base) : 45121.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: 494677708 (overridden on cmd)
Total bytes of diff: 494678148 (overridden on cmd)
Total bytes of delta: 440 (0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          88 : 528202.dasm (3.98 % of base)
          68 : 391481.dasm (0.55 % of base)
          56 : 540912.dasm (26.42 % of base)
          52 : 310922.dasm (24.07 % of base)
          52 : 310924.dasm (24.07 % of base)
          48 : 541487.dasm (22.64 % of base)
          44 : 387379.dasm (2.21 % of base)
          44 : 391551.dasm (2.19 % of base)
          44 : 288085.dasm (8.94 % of base)
          40 : 356415.dasm (1.15 % of base)
          36 : 256087.dasm (2.02 % of base)
          36 : 541298.dasm (16.07 % of base)
          32 : 387172.dasm (3.17 % of base)
          32 : 218988.dasm (1.82 % of base)
          32 : 391443.dasm (3.16 % of base)
          32 : 541700.dasm (160.00 % of base)
          32 : 541434.dasm (2.68 % of base)
          28 : 391696.dasm (1.16 % of base)
          28 : 392366.dasm (1.85 % of base)
          28 : 541224.dasm (7.29 % of base)
Top file improvements (bytes):
        -460 : 254709.dasm (-31.86 % of base)
        -168 : 304292.dasm (-31.82 % of base)
        -156 : 250581.dasm (-21.67 % of base)
        -156 : 250566.dasm (-21.67 % of base)
         -80 : 486166.dasm (-2.50 % of base)
         -36 : 526128.dasm (-1.17 % of base)
         -36 : 526364.dasm (-1.17 % of base)
         -28 : 289617.dasm (-0.37 % of base)
         -24 : 387260.dasm (-3.19 % of base)
         -24 : 389526.dasm (-1.44 % of base)
         -24 : 392483.dasm (-1.44 % of base)
         -24 : 485527.dasm (-0.26 % of base)
         -24 : 389681.dasm (-1.44 % of base)
         -24 : 389533.dasm (-1.44 % of base)
         -24 : 389619.dasm (-1.44 % of base)
         -20 : 307902.dasm (-2.56 % of base)
         -20 : 389467.dasm (-0.18 % of base)
         -20 : 392190.dasm (-0.42 % of base)
         -20 : 534315.dasm (-0.43 % of base)
         -20 : 253143.dasm (-6.49 % of base)
67 total files with Code Size differences (37 improved, 30 regressed), 20 unchanged.
Top method regressions (bytes):
          88 (3.98 % of base) : 528202.dasm - JitTest_array1_refany_il.Test:Main():int (FullOpts)
          68 (0.55 % of base) : 391481.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (Tier1)
          56 (26.42 % of base) : 540912.dasm - ILGEN_0xc53351bb:Method_0x6cf4(short,byte,uint,ulong,int,long,short,short,ubyte,long,float,ubyte,ulong,ubyte):float (FullOpts)
          52 (24.07 % of base) : 310922.dasm - testout1:Test1(int):int (Tier1-OSR)
          52 (24.07 % of base) : 310924.dasm - testout1:Test2(int):int (Tier1-OSR)
          48 (22.64 % of base) : 541487.dasm - ILGEN_0x1db2cfa3:Method_0x8618f02c(ushort,double,short,byte):int (FullOpts)
          44 (2.21 % of base) : 387379.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) : 391551.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) : 288085.dasm - RetBufferBug:Main():int (Tier1-OSR)
          40 (1.15 % of base) : 356415.dasm - System.Reflection.Emit.RuntimeTypeBuilder:CreateTypeNoLock():System.Reflection.TypeInfo:this (Tier1)
          36 (16.07 % of base) : 541298.dasm - ILGEN_0xa83217d:Method_0xf3555db(long,ulong,int,uint,short,byte):int (FullOpts)
          36 (2.02 % of base) : 256087.dasm - System.ComponentModel.TypeDescriptor:NodeFor(System.Type,ubyte):System.ComponentModel.TypeDescriptor+TypeDescriptionNode (Tier1)
          32 (2.68 % of base) : 541434.dasm - ILGEN_0x1125a118:Method_0xa592ccf9(ulong,long,ushort,byte,uint):int (FullOpts)
          32 (160.00 % of base) : 541700.dasm - ILGEN_0x2dda4eb5:Method_0xa084659a():ushort (FullOpts)
          32 (3.17 % of base) : 387172.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.__Canon]:IndexOf(System.__Canon[],System.__Canon,int,int):int:this (Tier1)
          32 (3.16 % of base) : 391443.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.__Canon]:IndexOf(System.__Canon[],System.__Canon,int,int):int:this (Tier1)
          32 (1.82 % of base) : 218988.dasm - System.Reflection.TypeNameParser:GetType(System.String,System.Func`2[System.Reflection.AssemblyName,System.Reflection.Assembly],System.Func`4[System.Reflection.Assembly,System.String,ubyte,System.Type],System.Reflection.Assembly,ubyte,ubyte,ubyte):System.Type (Instrumented Tier1)
          28 (1.16 % of base) : 391696.dasm - ILCompiler.LazyGenericsSupport+GraphBuilder:.ctor(Internal.TypeSystem.Ecma.EcmaType):this (Tier1)
          28 (7.29 % of base) : 541224.dasm - ILGEN_0x57cc69ce:Method_0x183df1b1():int (FullOpts)
          28 (1.85 % of base) : 392366.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+RuntimeDeterminedTypeKey,System.__Canon]:TryAddOrGetExisting(System.__Canon,byref):System.__Canon:this (Tier1-OSR)
Top method improvements (bytes):
        -460 (-31.86 % of base) : 254709.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -168 (-31.82 % of base) : 304292.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -156 (-21.67 % of base) : 250581.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 250566.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -80 (-2.50 % of base) : 486166.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -36 (-1.17 % of base) : 526128.dasm - plainarr:gaussj(double[,],int,double[,],int) (FullOpts)
         -36 (-1.17 % of base) : 526364.dasm - structarr:gaussj(MatrixStruct,int,MatrixStruct,int) (FullOpts)
         -28 (-0.37 % of base) : 289617.dasm - System.Reflection.PortableExecutable.PEHeaders:.ctor(System.IO.Stream,int,ubyte):this (Tier1)
         -24 (-0.26 % of base) : 485527.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) : 389619.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) : 389533.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) : 389526.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ILCompiler.DependencyAnalysis.ReadyToRunSymbolNodeFactory+MethodAndCallSite,System.__Canon]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[ILCompiler.DependencyAnalysis.ReadyToRunSymbolNodeFactory+MethodAndCallSite,System.__Canon],ubyte,ubyte):this (Tier1)
         -24 (-1.44 % of base) : 392483.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) : 389681.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) : 387260.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -20 (-0.43 % of base) : 534315.dasm - Co1245GetBytes_double:runTest():ubyte:this (FullOpts)
         -20 (-0.18 % of base) : 389467.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
         -20 (-0.42 % of base) : 392190.dasm - System.Collections.Generic.ArraySortHelper`1[System.__Canon]:PickPivotAndPartition(System.Span`1[System.__Canon],System.Comparison`1[System.__Canon]):int (Tier1)
         -20 (-2.56 % of base) : 307902.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -20 (-6.49 % of base) : 253143.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
Top method regressions (percentages):
          32 (160.00 % of base) : 541700.dasm - ILGEN_0x2dda4eb5:Method_0xa084659a():ushort (FullOpts)
          24 (46.15 % of base) : 541509.dasm - ILGEN_0x4601be46:Method_0x9c86375f(ulong,ubyte):int (FullOpts)
          56 (26.42 % of base) : 540912.dasm - ILGEN_0xc53351bb:Method_0x6cf4(short,byte,uint,ulong,int,long,short,short,ubyte,long,float,ubyte,ulong,ubyte):float (FullOpts)
          52 (24.07 % of base) : 310922.dasm - testout1:Test1(int):int (Tier1-OSR)
          52 (24.07 % of base) : 310924.dasm - testout1:Test2(int):int (Tier1-OSR)
          48 (22.64 % of base) : 541487.dasm - ILGEN_0x1db2cfa3:Method_0x8618f02c(ushort,double,short,byte):int (FullOpts)
          36 (16.07 % of base) : 541298.dasm - ILGEN_0xa83217d:Method_0xf3555db(long,ulong,int,uint,short,byte):int (FullOpts)
          12 (14.29 % of base) : 496498.dasm - Sample4:func(System.Object,System.Object) (FullOpts)
          44 (8.94 % of base) : 288085.dasm - RetBufferBug:Main():int (Tier1-OSR)
          28 (7.29 % of base) : 541224.dasm - ILGEN_0x57cc69ce:Method_0x183df1b1():int (FullOpts)
          24 (4.55 % of base) : 541202.dasm - ILGEN_0x5db0aa0:Method_0x14ca58b7(long,float,float,short,ushort,float,int,int,double):int (FullOpts)
          16 (4.40 % of base) : 532128.dasm - Default.Graph:BuildEdge(int,int):this (FullOpts)
           8 (4.08 % of base) : 253565.dasm - Benchstone.BenchI.LogicArray:Inner(byref):ubyte (Tier1-OSR)
          88 (3.98 % of base) : 528202.dasm - JitTest_array1_refany_il.Test:Main():int (FullOpts)
          16 (3.81 % of base) : 503503.dasm - Benchstone.BenchF.SqMtx:Bench():ubyte (FullOpts)
           8 (3.64 % of base) : 253806.dasm - Benchstone.MDBenchI.MDLogicArray:Inner(byref):ubyte (Tier1-OSR)
          12 (3.19 % of base) : 503526.dasm - Benchstone.BenchI.XposMatrix:Bench(int[][]):ubyte (FullOpts)
          32 (3.17 % of base) : 387172.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.__Canon]:IndexOf(System.__Canon[],System.__Canon,int,int):int:this (Tier1)
          32 (3.16 % of base) : 391443.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.__Canon]:IndexOf(System.__Canon[],System.__Canon,int,int):int:this (Tier1)
          24 (3.09 % of base) : 391936.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ILCompiler.DependencyAnalysis.ReadyToRunSymbolNodeFactory+ReadyToRunHelperKey,System.__Canon]:TryGetValueInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[ILCompiler.DependencyAnalysis.ReadyToRunSymbolNodeFactory+ReadyToRunHelperKey,System.__Canon],ILCompiler.DependencyAnalysis.ReadyToRunSymbolNodeFactory+ReadyToRunHelperKey,int,byref):ubyte (Tier1)
Top method improvements (percentages):
        -460 (-31.86 % of base) : 254709.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -168 (-31.82 % of base) : 304292.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -156 (-21.67 % of base) : 250581.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -156 (-21.67 % of base) : 250566.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -16 (-7.02 % of base) : 253655.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
         -16 (-6.90 % of base) : 253653.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
         -20 (-6.49 % of base) : 253143.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -12 (-5.17 % of base) : 675.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 257811.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 240420.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 307904.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 309174.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 358063.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 23528.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 258558.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-5.17 % of base) : 267006.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -16 (-4.44 % of base) : 604.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstanceOfAny(ulong,System.Object):System.Object (Instrumented Tier1)
          -4 (-3.57 % of base) : 392622.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.ByteArrayComparer:Equals(ubyte[],ubyte[]):ubyte:this (Tier1)
          -4 (-3.57 % of base) : 390214.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.ByteArrayComparer:Equals(ubyte[],ubyte[]):ubyte:this (Tier1)
          -4 (-3.57 % of base) : 500906.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
  
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: 59020004 (overridden on cmd)
Total bytes of diff: 59019808 (overridden on cmd)
Total bytes of delta: -196 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         104 : 25122.dasm (0.13 % of base)
          48 : 60248.dasm (1.48 % of base)
          44 : 236732.dasm (2.95 % of base)
          32 : 241585.dasm (3.98 % of base)
          24 : 143996.dasm (1.13 % of base)
          24 : 194303.dasm (0.49 % of base)
          20 : 194285.dasm (0.36 % of base)
          16 : 7154.dasm (1.08 % of base)
          16 : 130732.dasm (4.30 % of base)
          16 : 134990.dasm (0.43 % of base)
          16 : 198774.dasm (0.17 % of base)
          16 : 124620.dasm (0.84 % of base)
          12 : 216792.dasm (1.76 % of base)
          12 : 58812.dasm (1.85 % of base)
          12 : 94924.dasm (1.60 % of base)
          12 : 144746.dasm (0.19 % of base)
          12 : 193617.dasm (1.70 % of base)
          12 : 194209.dasm (0.91 % of base)
           8 : 105060.dasm (0.93 % of base)
           8 : 212888.dasm (0.22 % of base)
Top file improvements (bytes):
        -108 : 134264.dasm (-0.39 % of base)
         -84 : 134991.dasm (-7.81 % of base)
         -44 : 198626.dasm (-1.75 % of base)
         -32 : 123830.dasm (-3.98 % of base)
         -28 : 17666.dasm (-1.18 % of base)
         -24 : 150761.dasm (-2.86 % of base)
         -24 : 194691.dasm (-1.06 % of base)
         -24 : 194697.dasm (-1.07 % of base)
         -20 : 111712.dasm (-1.08 % of base)
         -16 : 115882.dasm (-0.54 % of base)
         -16 : 2227.dasm (-0.91 % of base)
         -16 : 124986.dasm (-0.31 % of base)
         -16 : 135288.dasm (-0.37 % of base)
         -16 : 178731.dasm (-0.43 % of base)
         -12 : 57337.dasm (-2.13 % of base)
          -8 : 114586.dasm (-1.72 % of base)
          -8 : 157329.dasm (-0.13 % of base)
          -8 : 15758.dasm (-1.24 % of base)
          -8 : 198004.dasm (-0.96 % of base)
          -8 : 212546.dasm (-1.06 % of base)
56 total files with Code Size differences (28 improved, 28 regressed), 20 unchanged.
Top method regressions (bytes):
         104 (0.13 % of base) : 25122.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (FullOpts)
          48 (1.48 % of base) : 60248.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)
          44 (2.95 % of base) : 236732.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)
          32 (3.98 % of base) : 241585.dasm - System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (FullOpts)
          24 (1.13 % of base) : 143996.dasm - System.Text.ISCIIEncoding:GetChars(ulong,int,ulong,int,System.Text.DecoderNLS):int:this (FullOpts)
          24 (0.49 % of base) : 194303.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:GenerateMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
          20 (0.36 % of base) : 194285.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
          16 (0.17 % of base) : 198774.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
          16 (0.43 % of base) : 134990.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.84 % of base) : 124620.dasm - System.Data.Select:CreateIndex():this (FullOpts)
          16 (4.30 % of base) : 130732.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          16 (1.08 % of base) : 7154.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
          12 (0.19 % of base) : 144746.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (FullOpts)
          12 (1.85 % of base) : 58812.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:<AddSynthesizedTypeMembersIfNecessary>g__getBaseToStringMethod|198_14(byref):Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:this (FullOpts)
          12 (1.60 % of base) : 94924.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol:GenerateVarianceDiagnosticsForConstraints(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol],Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,byref):this (FullOpts)
          12 (1.76 % of base) : 216792.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          12 (0.91 % of base) : 194209.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteElements(System.Object,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,ubyte,ubyte):this (FullOpts)
          12 (1.70 % of base) : 193617.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteEnumMethod(System.Xml.Serialization.EnumMapping,System.Object):System.String:this (FullOpts)
           8 (0.93 % of base) : 105060.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner:QuickScanToken(ubyte):Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner+QuickScanResult:this (FullOpts)
           8 (0.22 % of base) : 212888.dasm - System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte[] (FullOpts)
Top method improvements (bytes):
        -108 (-0.39 % of base) : 134264.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -84 (-7.81 % of base) : 134991.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:MethodsDifferOnlyByReturnType(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte:this (FullOpts)
         -44 (-1.75 % of base) : 198626.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -32 (-3.98 % of base) : 123830.dasm - System.Data.DataRelation:Create(System.String,System.Data.DataColumn[],System.Data.DataColumn[],ubyte):this (FullOpts)
         -28 (-1.18 % of base) : 17666.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -24 (-2.86 % of base) : 150761.dasm - Microsoft.CodeAnalysis.Text.SourceText:ContentEqualsImpl(Microsoft.CodeAnalysis.Text.SourceText):ubyte:this (FullOpts)
         -24 (-1.07 % of base) : 194697.dasm - System.Xml.DtdParser:ScanAttlist2():int:this (FullOpts)
         -24 (-1.06 % of base) : 194691.dasm - System.Xml.DtdParser:ScanSubsetContent():int:this (FullOpts)
         -20 (-1.08 % of base) : 111712.dasm - Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyImmediateVarianceCompatibility(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,int,byref):int (FullOpts)
         -16 (-0.43 % of base) : 178731.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[Microsoft.CodeAnalysis.CommonReferenceManager`2+AssemblyData[System.__Canon,System.__Canon]],int):this (FullOpts)
         -16 (-0.54 % of base) : 115882.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation+ReferenceManager:SetupReferencesForRetargetingAssembly(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation,Microsoft.CodeAnalysis.VisualBasic.Symbols.AssemblySymbol][],int,byref,Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceAssemblySymbol) (FullOpts)
         -16 (-0.37 % of base) : 135288.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -16 (-0.31 % of base) : 124986.dasm - System.Data.ProviderBase.SchemaMapping:SetupSchemaWithKeyInfo(int,int,ubyte,System.Data.DataColumn,System.Object):System.Object[]:this (FullOpts)
         -16 (-0.91 % of base) : 2227.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
         -12 (-2.13 % of base) : 57337.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 (-0.13 % of base) : 157329.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ReferencedAssemblyIdentity[System.__Canon,System.__Canon]]],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
          -8 (-0.78 % of base) : 38622.dasm - Microsoft.CodeAnalysis.CSharp.DocumentationCommentCompiler:WriteFormattedMultiLineComment(System.String[],int):this (FullOpts)
          -8 (-0.11 % of base) : 65273.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings:<GetUsingsAndDiagnostics>g__buildUsings|16_0(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax],Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Nullable`1[ubyte],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+AliasesAndUsings+UsingsAndDiagnostics:this (FullOpts)
          -8 (-1.72 % of base) : 114586.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder+MemberLookup:IsDerivedInterface(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BasesBeingResolved,byref):ubyte (FullOpts)
          -8 (-1.24 % of base) : 15758.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
Top method regressions (percentages):
          16 (4.30 % of base) : 130732.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
           4 (4.17 % of base) : 40042.dasm - Microsoft.CodeAnalysis.CSharp.ReadWriteWalker:GetRangeVariableUnderlyingParameter(Microsoft.CodeAnalysis.CSharp.BoundNode):Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol (FullOpts)
          32 (3.98 % of base) : 241585.dasm - System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (FullOpts)
          44 (2.95 % of base) : 236732.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 (2.86 % of base) : 152939.dasm - Microsoft.CodeAnalysis.Emit.SymbolChanges:IsReplaced(Microsoft.CodeAnalysis.ISymbol,ubyte):ubyte:this (FullOpts)
           4 (2.86 % of base) : 174362.dasm - Microsoft.CodeAnalysis.Emit.SymbolChanges:IsReplaced(Microsoft.CodeAnalysis.Symbols.ISymbolInternal,ubyte):ubyte:this (FullOpts)
           4 (2.04 % of base) : 185138.dasm - System.Xml.XmlReader:MoveToContent():int:this (FullOpts)
           4 (1.89 % of base) : 124796.dasm - System.Xml.XPathNodePointer:DecideXPNodeTypeForTextNodes(System.Xml.XmlNode):int:this (FullOpts)
          12 (1.85 % of base) : 58812.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:<AddSynthesizedTypeMembersIfNecessary>g__getBaseToStringMethod|198_14(byref):Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:this (FullOpts)
           4 (1.82 % of base) : 50296.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
          12 (1.76 % of base) : 216792.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (FullOpts)
          12 (1.70 % of base) : 193617.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteEnumMethod(System.Xml.Serialization.EnumMapping,System.Object):System.String:this (FullOpts)
          12 (1.60 % of base) : 94924.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol:GenerateVarianceDiagnosticsForConstraints(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol],Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,byref):this (FullOpts)
          48 (1.48 % of base) : 60248.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)
          24 (1.13 % of base) : 143996.dasm - System.Text.ISCIIEncoding:GetChars(ulong,int,ulong,int,System.Text.DecoderNLS):int:this (FullOpts)
          16 (1.08 % of base) : 7154.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
           8 (0.95 % of base) : 240328.dasm - System.Runtime.Caching.ExpiresBucket:Expand():this (FullOpts)
           8 (0.93 % of base) : 105060.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner:QuickScanToken(ubyte):Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner+QuickScanResult:this (FullOpts)
           4 (0.93 % of base) : 5081.dasm - System.Globalization.CultureInfo:CreateSpecificCulture(System.String):System.Globalization.CultureInfo (FullOpts)
          12 (0.91 % of base) : 194209.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):
         -84 (-7.81 % of base) : 134991.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:MethodsDifferOnlyByReturnType(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte:this (FullOpts)
         -32 (-3.98 % of base) : 123830.dasm - System.Data.DataRelation:Create(System.String,System.Data.DataColumn[],System.Data.DataColumn[],ubyte):this (FullOpts)
         -24 (-2.86 % of base) : 150761.dasm - Microsoft.CodeAnalysis.Text.SourceText:ContentEqualsImpl(Microsoft.CodeAnalysis.Text.SourceText):ubyte:this (FullOpts)
         -12 (-2.13 % of base) : 57337.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)
         -44 (-1.75 % of base) : 198626.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
          -8 (-1.72 % of base) : 114586.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder+MemberLookup:IsDerivedInterface(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BasesBeingResolved,byref):ubyte (FullOpts)
          -8 (-1.24 % of base) : 15758.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
         -28 (-1.18 % of base) : 17666.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -4 (-1.16 % of base) : 57375.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.13 % of base) : 242690.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
         -20 (-1.08 % of base) : 111712.dasm - Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyImmediateVarianceCompatibility(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,int,byref):int (FullOpts)
         -24 (-1.07 % of base) : 194697.dasm - System.Xml.DtdParser:ScanAttlist2():int:this (FullOpts)
          -8 (-1.06 % of base) : 212546.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.PropertyInfo (FullOpts)
         -24 (-1.06 % of base) : 194691.dasm - System.Xml.DtdParser:ScanSubsetContent():int:this (FullOpts)
          -8 (-0.96 % of base) : 198004.dasm - System.Reflection.Metadata.Ecma335.NamespaceCache:LinkChildToParentNamespace(System.Collections.Generic.Dictionary`2[System.String,System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder],System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder,byref):this (FullOpts)
          -4 (-0.92 % of base) : 133523.dasm - System.Data.OleDb.Bindings:AreParameterBindingsInvalid(System.Data.OleDb.OleDbParameterCollection):ubyte:this (FullOpts)
         -16 (-0.91 % of base) : 2227.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
          -4 (-0.90 % of base) : 15683.dasm - System.String:TrimHelper(ulong,int,int):System.String:this (FullOpts)
          -4 (-0.87 % of base) : 15658.dasm - System.RuntimeType+RuntimeTypeCache:GetDefaultMemberName():System.String:this (FullOpts)
          -8 (-0.78 % of base) : 38622.dasm - Microsoft.CodeAnalysis.CSharp.DocumentationCommentCompiler:WriteFormattedMultiLineComment(System.String[],int):this (FullOpts)
  
libraries.pmi.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 78071708 (overridden on cmd)
Total bytes of diff: 78071912 (overridden on cmd)
Total bytes of delta: 204 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         120 : 186994.dasm (0.73 % of base)
          76 : 281931.dasm (1.82 % of base)
          56 : 90459.dasm (0.24 % of base)
          48 : 197757.dasm (5.63 % of base)
          44 : 156438.dasm (1.87 % of base)
          44 : 176217.dasm (1.87 % of base)
          40 : 150321.dasm (1.65 % of base)
          36 : 29811.dasm (1.24 % of base)
          28 : 204829.dasm (0.44 % of base)
          28 : 224828.dasm (1.62 % of base)
          28 : 153971.dasm (4.90 % of base)
          24 : 212073.dasm (5.71 % of base)
          24 : 214260.dasm (2.42 % of base)
          24 : 153886.dasm (2.08 % of base)
          20 : 290617.dasm (4.59 % of base)
          20 : 178780.dasm (0.47 % of base)
          20 : 290323.dasm (3.85 % of base)
          20 : 290355.dasm (2.98 % of base)
          20 : 290607.dasm (5.81 % of base)
          20 : 290642.dasm (10.20 % of base)
Top file improvements (bytes):
        -132 : 141176.dasm (-0.45 % of base)
         -80 : 122419.dasm (-2.49 % of base)
         -52 : 214998.dasm (-0.45 % of base)
         -28 : 137990.dasm (-3.37 % of base)
         -28 : 173410.dasm (-3.37 % of base)
         -24 : 121414.dasm (-0.26 % of base)
         -20 : 60468.dasm (-0.83 % of base)
         -20 : 279801.dasm (-1.03 % of base)
         -20 : 151639.dasm (-0.50 % of base)
         -20 : 214859.dasm (-0.42 % of base)
         -20 : 113416.dasm (-1.10 % of base)
         -16 : 213578.dasm (-0.43 % of base)
         -16 : 284151.dasm (-0.39 % of base)
         -16 : 141190.dasm (-0.26 % of base)
         -16 : 260430.dasm (-1.76 % of base)
         -12 : 30593.dasm (-0.34 % of base)
         -12 : 138041.dasm (-3.30 % of base)
         -12 : 30493.dasm (-0.26 % of base)
         -12 : 173461.dasm (-3.30 % of base)
         -12 : 57158.dasm (-2.11 % of base)
69 total files with Code Size differences (35 improved, 34 regressed), 20 unchanged.
Top method regressions (bytes):
         120 (0.73 % of base) : 186994.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) : 281931.dasm - System.Net.Mail.SmtpClient:SendAsync(System.Net.Mail.MailMessage,System.Object):this (FullOpts)
          56 (0.24 % of base) : 90459.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureForASingleCandidate(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.Location,int,byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Symbol,ubyte,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.VisualBasic.Symbol):this (FullOpts)
          48 (5.63 % of base) : 197757.dasm - System.Runtime.Serialization.SchemaExporter:ReprocessAll(System.Xml.Schema.XmlSchemaSet) (FullOpts)
          44 (1.87 % of base) : 156438.dasm - System.Configuration.ConfigurationElement:UnMergeLockList(System.Configuration.ConfigurationLockCollection,System.Configuration.ConfigurationLockCollection,int):System.Configuration.ConfigurationLockCollection:this (FullOpts)
          44 (1.87 % of base) : 176217.dasm - System.Configuration.ConfigurationElement:UnMergeLockList(System.Configuration.ConfigurationLockCollection,System.Configuration.ConfigurationLockCollection,int):System.Configuration.ConfigurationLockCollection:this (FullOpts)
          40 (1.65 % of base) : 150321.dasm - Microsoft.Build.Evaluation.ExpressionShredder:GetReferencedItemExpressions(System.String,int,int):System.Collections.Generic.List`1[Microsoft.Build.Evaluation.ExpressionShredder+ItemExpressionCapture] (FullOpts)
          36 (1.24 % of base) : 29811.dasm - Microsoft.CodeAnalysis.CSharp.Binder:MakeIsPatternExpression(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundPattern,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          28 (4.90 % of base) : 153971.dasm - Microsoft.Build.Shared.FileUtilities:PathsEqual(System.String,System.String):ubyte (FullOpts)
          28 (1.62 % of base) : 224828.dasm - System.Text.DBCSCodePageEncoding:ReadBestFitTable():this (FullOpts)
          28 (0.44 % of base) : 204829.dasm - System.Xml.XmlTextReaderImpl+<ParseAttributeValueSlowAsync>d__532:MoveNext():this (FullOpts)
          24 (2.08 % of base) : 153886.dasm - Microsoft.Build.Shared.FileMatcher:Normalize(System.String):System.String (FullOpts)
          24 (2.42 % of base) : 214260.dasm - System.Xml.Serialization.TypeScope:ShouldBeReplaced(System.Reflection.MemberInfo,System.Type,byref):ubyte (FullOpts)
          24 (5.71 % of base) : 212073.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          20 (0.18 % of base) : 35904.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
          20 (0.47 % of base) : 178780.dasm - System.Data.XSDSchema:HandleDataSet(System.Xml.Schema.XmlSchemaElement,ubyte):this (FullOpts)
          20 (2.98 % of base) : 290355.dasm - System.Reflection.Emit.EnumBuilderImpl:.ctor(System.String,System.Type,int,System.Reflection.Emit.ModuleBuilderImpl):this (FullOpts)
          20 (3.85 % of base) : 290323.dasm - System.Reflection.Emit.EnumBuilderImpl:DefineLiteralCore(System.String,System.Object):System.Reflection.Emit.FieldBuilder:this (FullOpts)
          20 (5.81 % of base) : 290607.dasm - System.Reflection.Emit.TypeBuilderImpl:CreateTypeInfoCore():System.Reflection.TypeInfo:this (FullOpts)
          20 (4.59 % of base) : 290617.dasm - System.Reflection.Emit.TypeBuilderImpl:DefineFieldCore(System.String,System.Type,System.Type[],System.Type[],int):System.Reflection.Emit.FieldBuilder:this (FullOpts)
Top method improvements (bytes):
        -132 (-0.45 % of base) : 141176.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -80 (-2.49 % of base) : 122419.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -52 (-0.45 % of base) : 214998.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
         -28 (-3.37 % of base) : 137990.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -28 (-3.37 % of base) : 173410.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -24 (-0.26 % of base) : 121414.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
         -20 (-0.50 % of base) : 151639.dasm - Microsoft.Build.BackEnd.Scheduler:WriteNodeUtilizationGraph(Microsoft.Build.BackEnd.Logging.ILoggingService,Microsoft.Build.Framework.BuildEventContext,ubyte):this (FullOpts)
         -20 (-0.83 % of base) : 60468.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) : 113416.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) : 279801.dasm - System.Buffers.SequenceReader`1[double]:TryReadTo(byref,double,double,ubyte):ubyte:this (FullOpts)
         -20 (-0.42 % of base) : 214859.dasm - System.Xml.Serialization.XmlSerializationReader:ReadArray(System.String,System.String):System.Array:this (FullOpts)
         -16 (-0.26 % of base) : 141190.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -16 (-1.76 % of base) : 260430.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) : 284151.dasm - System.Net.HttpWebRequest+<SendRequest>d__196:MoveNext():this (FullOpts)
         -16 (-0.43 % of base) : 213578.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[]):System.Reflection.Assembly (FullOpts)
         -12 (-0.26 % of base) : 30493.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.34 % of base) : 30593.dasm - Microsoft.CodeAnalysis.CSharp.Imports:ExpandPreviousSubmissionImports(Microsoft.CodeAnalysis.CSharp.Imports,Microsoft.CodeAnalysis.CSharp.CSharpCompilation):Microsoft.CodeAnalysis.CSharp.Imports (FullOpts)
         -12 (-2.11 % of base) : 57158.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) : 61669.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Retargeting.RetargetingMethodSymbol:GetUnmanagedCallersOnlyAttributeData(ubyte):Microsoft.CodeAnalysis.UnmanagedCallersOnlyAttributeData:this (FullOpts)
         -12 (-0.49 % of base) : 130205.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalysisResult:AddNonLocalDiagnostics(System.Collections.Immutable.ImmutableDictionary`2[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]],System.Collections.Immutable.ImmutableHashSet`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1+Builder[Microsoft.CodeAnalysis.Diagnostic]) (FullOpts)
Top method regressions (percentages):
          20 (10.20 % of base) : 290642.dasm - System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
           4 (9.09 % of base) : 154029.dasm - Microsoft.Build.Shared.FrameworkLocationHelper:GeneratePathToBuildToolsForToolsVersion(System.String,int):System.String (FullOpts)
          20 (5.81 % of base) : 290607.dasm - System.Reflection.Emit.TypeBuilderImpl:CreateTypeInfoCore():System.Reflection.TypeInfo:this (FullOpts)
          24 (5.71 % of base) : 212073.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          48 (5.63 % of base) : 197757.dasm - System.Runtime.Serialization.SchemaExporter:ReprocessAll(System.Xml.Schema.XmlSchemaSet) (FullOpts)
           4 (5.56 % of base) : 725.dasm - System.ArgumentOutOfRangeException:ThrowIfGreaterThan[double](double,double,System.String) (FullOpts)
           4 (5.56 % of base) : 737.dasm - System.ArgumentOutOfRangeException:ThrowIfLessThanOrEqual[double](double,double,System.String) (FullOpts)
          28 (4.90 % of base) : 153971.dasm - Microsoft.Build.Shared.FileUtilities:PathsEqual(System.String,System.String):ubyte (FullOpts)
          20 (4.59 % of base) : 290617.dasm - System.Reflection.Emit.TypeBuilderImpl:DefineFieldCore(System.String,System.Type,System.Type[],System.Type[],int):System.Reflection.Emit.FieldBuilder:this (FullOpts)
           4 (4.55 % of base) : 2715.dasm - System.SpanHelpers:LastIndexOfAnyExceptInRange[long](byref,long,long,int):int (FullOpts)
          16 (4.40 % of base) : 193240.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
           4 (4.17 % of base) : 2703.dasm - System.SpanHelpers:IndexOfAnyExceptInRange[long](byref,long,long,int):int (FullOpts)
          20 (3.85 % of base) : 290323.dasm - System.Reflection.Emit.EnumBuilderImpl:DefineLiteralCore(System.String,System.Object):System.Reflection.Emit.FieldBuilder:this (FullOpts)
          20 (2.98 % of base) : 290355.dasm - System.Reflection.Emit.EnumBuilderImpl:.ctor(System.String,System.Type,int,System.Reflection.Emit.ModuleBuilderImpl):this (FullOpts)
           4 (2.94 % of base) : 2714.dasm - System.SpanHelpers:LastIndexOfAnyExceptInRange[double](byref,double,double,int):int (FullOpts)
           4 (2.94 % of base) : 2709.dasm - System.SpanHelpers:LastIndexOfAnyInRange[double](byref,double,double,int):int (FullOpts)
          16 (2.88 % of base) : 57594.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) : 133421.dasm - Microsoft.CodeAnalysis.Emit.SymbolChanges:IsReplaced(Microsoft.CodeAnalysis.ISymbol,ubyte):ubyte:this (FullOpts)
           4 (2.86 % of base) : 168860.dasm - Microsoft.CodeAnalysis.Emit.SymbolChanges:IsReplaced(Microsoft.CodeAnalysis.Symbols.ISymbolInternal,ubyte):ubyte:this (FullOpts)
           4 (2.78 % of base) : 2702.dasm - System.SpanHelpers:IndexOfAnyExceptInRange[double](byref,double,double,int):int (FullOpts)
Top method improvements (percentages):
          -4 (-3.57 % of base) : 38566.dasm - Microsoft.CodeAnalysis.CSharp.ObjectDisplay:ContainsNewLine(System.String):ubyte (FullOpts)
          -4 (-3.57 % of base) : 34443.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
         -28 (-3.37 % of base) : 137990.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -28 (-3.37 % of base) : 173410.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ubyte]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -12 (-3.30 % of base) : 138041.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerFileReference+Extensions`1[System.__Canon]:CheckAssemblyReferencesNewerCompiler(System.Reflection.Assembly):ubyte:this (FullOpts)
         -12 (-3.30 % of base) : 173461.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerFileReference+Extensions`1[System.__Canon]:CheckAssemblyReferencesNewerCompiler(System.Reflection.Assembly):ubyte:this (FullOpts)
          -4 (-3.23 % of base) : 128674.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
          -4 (-3.23 % of base) : 164143.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
         -80 (-2.49 % of base) : 122419.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
          -8 (-2.15 % of base) : 116329.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.11 % of base) : 57158.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) : 260430.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) : 240409.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
          -4 (-1.49 % of base) : 89918.dasm - Microsoft.CodeAnalysis.VisualBasic.DataFlowPass:IsConvertedLambda(Microsoft.CodeAnalysis.VisualBasic.BoundExpression):ubyte (FullOpts)
          -4 (-1.32 % of base) : 126931.dasm - Microsoft.CodeAnalysis.RealParser:ConvertBigIntegerToFloatingPointBits(ubyte[],uint,ubyte,Microsoft.CodeAnalysis.RealParser+FloatingPointType,byref):int (FullOpts)
          -4 (-1.32 % of base) : 162414.dasm - Microsoft.CodeAnalysis.RealParser:ConvertBigIntegerToFloatingPointBits(ubyte[],uint,ubyte,Microsoft.CodeAnalysis.RealParser+FloatingPointType,byref):int (FullOpts)
          -8 (-1.31 % of base) : 240410.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTarget(byref,System.String):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target:this (FullOpts)
          -8 (-1.29 % of base) : 290671.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
          -4 (-1.28 % of base) : 150324.dasm - Microsoft.Build.Evaluation.ExpressionShredder:SinkArgumentsInParentheses(System.String,byref,int):ubyte (FullOpts)
          -4 (-1.23 % of base) : 57197.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: 308948508 (overridden on cmd)
Total bytes of diff: 308939080 (overridden on cmd)
Total bytes of delta: -9428 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         156 : 449883.dasm (6.83 % of base)
         100 : 498951.dasm (2.50 % of base)
          88 : 594436.dasm (0.75 % of base)
          88 : 86137.dasm (0.74 % of base)
          84 : 185218.dasm (4.86 % of base)
          84 : 420775.dasm (2.12 % of base)
          76 : 270903.dasm (3.54 % of base)
          60 : 87366.dasm (0.78 % of base)
          56 : 116546.dasm (1.18 % of base)
          56 : 375949.dasm (0.82 % of base)
          56 : 586047.dasm (0.30 % of base)
          56 : 150194.dasm (1.28 % of base)
          52 : 151640.dasm (1.20 % of base)
          52 : 586619.dasm (0.70 % of base)
          48 : 581162.dasm (0.40 % of base)
          48 : 147028.dasm (11.43 % of base)
          48 : 83577.dasm (0.47 % of base)
          48 : 119270.dasm (0.55 % of base)
          44 : 401571.dasm (3.08 % of base)
          44 : 174268.dasm (8.87 % of base)
Top file improvements (bytes):
        -224 : 85821.dasm (-1.33 % of base)
        -164 : 361731.dasm (-2.49 % of base)
        -148 : 581995.dasm (-1.28 % of base)
        -144 : 573960.dasm (-1.26 % of base)
        -140 : 533041.dasm (-1.26 % of base)
        -136 : 534552.dasm (-1.60 % of base)
        -132 : 361440.dasm (-1.90 % of base)
        -132 : 361674.dasm (-1.90 % of base)
        -132 : 362262.dasm (-1.90 % of base)
        -132 : 366611.dasm (-1.90 % of base)
        -132 : 366615.dasm (-1.90 % of base)
        -132 : 366616.dasm (-1.90 % of base)
        -128 : 366516.dasm (-2.18 % of base)
        -128 : 366554.dasm (-2.22 % of base)
        -128 : 366495.dasm (-2.09 % of base)
        -128 : 571273.dasm (-0.60 % of base)
        -124 : 85807.dasm (-0.63 % of base)
        -124 : 366590.dasm (-2.05 % of base)
        -112 : 367261.dasm (-1.95 % of base)
        -112 : 309628.dasm (-1.44 % of base)
79 total files with Code Size differences (41 improved, 38 regressed), 20 unchanged.
Top method regressions (bytes):
         156 (6.83 % of base) : 449883.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         100 (2.50 % of base) : 498951.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (Tier1)
          88 (0.75 % of base) : 594436.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (Tier1)
          88 (0.74 % of base) : 86137.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier1)
          84 (4.86 % of base) : 185218.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) : 420775.dasm - System.Runtime.Caching.MemoryCacheStore:Dispose():this (Tier1-OSR)
          76 (3.54 % of base) : 270903.dasm - System.IO.FileSystem:CreateDirectory(System.String,ubyte[]) (Tier1)
          60 (0.78 % of base) : 87366.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)
          56 (0.30 % of base) : 586047.dasm - Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,System.__Canon]:VisitBinaryLogicalOperatorChildren(Microsoft.CodeAnalysis.CSharp.BoundExpression):this (Tier1)
          56 (1.28 % of base) : 150194.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)
          56 (0.82 % of base) : 375949.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderTypeWithGetSetArrayMembers:Read3_TypeWithGetSetArrayMembers(ubyte,ubyte):SerializationTypes.TypeWithGetSetArrayMembers:this (Tier0-FullOpts)
          56 (1.18 % of base) : 116546.dasm - Xunit.Sdk.TestRunner`1+<RunAsync>d__43[System.__Canon]:MoveNext():this (Tier1)
          52 (1.20 % of base) : 151640.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)
          52 (0.70 % of base) : 586619.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)
          48 (0.40 % of base) : 581162.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)
          48 (0.47 % of base) : 83577.dasm - Microsoft.CodeAnalysis.CSharp.DeclarationTreeBuilder:VisitTypeDeclaration(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax,ubyte):Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration:this (Tier1)
          48 (11.43 % of base) : 147028.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          48 (0.55 % of base) : 119270.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)
          44 (8.87 % of base) : 174268.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)
          44 (3.08 % of base) : 401571.dasm - System.Resources.ResourceManager:InternalGetResourceSet(System.Globalization.CultureInfo,ubyte,ubyte):System.Resources.ResourceSet:this (Tier1)
Top method improvements (bytes):
        -224 (-1.33 % of base) : 85821.dasm - Microsoft.CodeAnalysis.CSharp.Binder:TryPerformConstructorOverloadResolution(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,System.String,Microsoft.CodeAnalysis.Location,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref,byref,ubyte,ubyte):ubyte:this (Tier1)
        -164 (-2.49 % of base) : 361731.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<Divide_TwoTensors>b__140_0(int):this (Tier1)
        -148 (-1.28 % of base) : 581995.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (Tier1-OSR)
        -144 (-1.26 % of base) : 573960.dasm - Microsoft.CodeAnalysis.CSharp.DeclarationTreeBuilder:VisitTypeDeclaration(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax,ubyte):Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration:this (Tier1)
        -140 (-1.26 % of base) : 533041.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.__Canon]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -136 (-1.60 % of base) : 534552.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)
        -132 (-1.90 % of base) : 361674.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<Max_TwoTensors_InPlace>b__188_0(int):this (Tier1)
        -132 (-1.90 % of base) : 366611.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<Max_TwoTensors_InPlace>b__188_0(int):this (Tier1)
        -132 (-1.90 % of base) : 361440.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<MaxMagnitude_TwoTensors_InPlace>b__199_0(int):this (Tier1)
        -132 (-1.90 % of base) : 366616.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<MaxMagnitude_TwoTensors_InPlace>b__199_0(int):this (Tier1)
        -132 (-1.90 % of base) : 362262.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<Min_TwoTensors_InPlace>b__210_0(int):this (Tier1)
        -132 (-1.90 % of base) : 366615.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<MinMagnitude_TwoTensors_InPlace>b__221_0(int):this (Tier1)
        -128 (-0.60 % of base) : 571273.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindAttributeCore(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundAttribute:this (Tier1)
        -128 (-2.09 % of base) : 366495.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<CosineSimilarity_AllLengths>b__136_0(int):this (Tier1)
        -128 (-2.22 % of base) : 366554.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<Dot_AllLengths>b__150_0(int):this (Tier1)
        -128 (-2.18 % of base) : 366516.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<ProductOfDifferences_AllLengths>b__256_0(int):this (Tier1)
        -124 (-0.63 % of base) : 85807.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)
        -124 (-2.05 % of base) : 366590.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[float]:<Distance_AllLengths>b__139_0(int):this (Tier1)
        -112 (-1.95 % of base) : 367261.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[double]:<CosineSimilarity_AllLengths>b__136_0(int):this (Tier1)
        -112 (-1.44 % of base) : 309628.dasm - System.SpanTests.SpanTests:TestMatchMany_Char() (Tier1-OSR)
Top method regressions (percentages):
          32 (20.00 % of base) : 608398.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[int,long]]:Enqueue(System.Collections.Generic.KeyValuePair`2[int,long]):this (Tier1)
          28 (15.56 % of base) : 335697.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) : 147028.dasm - Microsoft.CodeAnalysis.PEModule:ContainsNoPiaLocalTypes():ubyte:this (Tier1-OSR)
          44 (8.87 % of base) : 174268.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) : 230735.dasm - System.Diagnostics.Tracing.EventSource:GetDispatcher(System.Diagnostics.Tracing.EventListener):System.Diagnostics.Tracing.EventDispatcher:this (Tier1)
          12 (7.69 % of base) : 602158.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 274855.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 345839.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 372028.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 451036.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 537195.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 567120.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 77779.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 162759.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 311547.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 319491.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 347412.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 473103.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 225479.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
          12 (7.69 % of base) : 619294.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Tier1)
Top method improvements (percentages):
         -24 (-7.41 % of base) : 235023.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -12 (-5.17 % of base) : 103240.dasm - System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,ulong,System.Object) (Tier1)
         -12 (-4.69 % of base) : 26649.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:Enqueue(System.__Canon):this (Instrumented Tier1)
         -16 (-4.44 % of base) : 265.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstanceOfAny(ulong,System.Object):System.Object (Instrumented Tier1)
         -16 (-4.17 % of base) : 57722.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)
         -28 (-3.72 % of base) : 262557.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -28 (-3.65 % of base) : 115358.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -52 (-3.62 % of base) : 568963.dasm - System.Collections.Generic.ArraySortHelper`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]:InsertionSort(System.Span`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet],System.Comparison`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]) (Tier1)
         -28 (-3.61 % of base) : 618204.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -28 (-3.61 % of base) : 230641.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -76 (-3.48 % of base) : 260557.dasm - System.Globalization.Tests.CompareInfoCompareTests:TestHiraganaAndKatakana(int[],int[]):this (Tier1-OSR)
          -4 (-3.33 % of base) : 342820.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
          -4 (-3.33 % of base) : 384876.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
          -4 (-3.33 % of base) : 264357.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
          -4 (-3.33 % of base) : 361783.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
          -4 (-3.33 % of base) : 282527.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
         -24 (-3.21 % of base) : 275563.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -24 (-3.21 % of base) : 332555.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -24 (-3.21 % of base) : 116744.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -24 (-3.21 % of base) : 619402.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (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: 169444132 (overridden on cmd)
Total bytes of diff: 169443992 (overridden on cmd)
Total bytes of delta: -140 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          56 : 172755.dasm (0.79 % of base)
          48 : 205598.dasm (5.69 % of base)
          40 : 171911.dasm (0.66 % of base)
          40 : 172599.dasm (0.66 % of base)
          36 : 289142.dasm (0.95 % of base)
          36 : 31225.dasm (1.22 % of base)
          32 : 222289.dasm (9.76 % of base)
          28 : 315536.dasm (0.44 % of base)
          28 : 134758.dasm (1.67 % of base)
          24 : 171032.dasm (2.53 % of base)
          24 : 177507.dasm (5.71 % of base)
          20 : 39200.dasm (1.90 % of base)
          20 : 89431.dasm (2.16 % of base)
          20 : 92144.dasm (2.01 % of base)
          20 : 92792.dasm (0.49 % of base)
          20 : 186215.dasm (10.20 % of base)
          20 : 185295.dasm (5.81 % of base)
          20 : 185382.dasm (5.10 % of base)
          20 : 186460.dasm (3.23 % of base)
          20 : 186461.dasm (4.31 % of base)
Top file improvements (bytes):
        -140 : 59867.dasm (-0.48 % of base)
        -104 : 14865.dasm (-1.78 % of base)
         -92 : 44943.dasm (-1.57 % of base)
         -80 : 25371.dasm (-2.55 % of base)
         -68 : 5375.dasm (-1.39 % of base)
         -52 : 171041.dasm (-0.45 % of base)
         -44 : 43844.dasm (-1.59 % of base)
         -44 : 49554.dasm (-1.59 % of base)
         -36 : 50803.dasm (-0.63 % of base)
         -36 : 52435.dasm (-0.78 % of base)
         -28 : 9308.dasm (-3.45 % of base)
         -24 : 40799.dasm (-1.04 % of base)
         -24 : 172654.dasm (-0.50 % of base)
         -24 : 182468.dasm (-1.49 % of base)
         -24 : 25025.dasm (-0.26 % of base)
         -20 : 10954.dasm (-0.83 % of base)
         -20 : 171181.dasm (-0.44 % of base)
         -16 : 287468.dasm (-1.25 % of base)
         -16 : 46742.dasm (-1.67 % of base)
         -16 : 281237.dasm (-0.83 % of base)
64 total files with Code Size differences (30 improved, 34 regressed), 20 unchanged.
Top method regressions (bytes):
          56 (0.79 % of base) : 172755.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderTypeWithGetSetArrayMembers:Read3_TypeWithGetSetArrayMembers(ubyte,ubyte):SerializationTypes.TypeWithGetSetArrayMembers:this (FullOpts)
          48 (5.69 % of base) : 205598.dasm - System.Runtime.Serialization.SchemaExporter:ReprocessAll(System.Xml.Schema.XmlSchemaSet) (FullOpts)
          40 (0.66 % of base) : 171911.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderXmlSerializerAttributes:Read3_XmlSerializerAttributes(ubyte,ubyte):SerializationTypes.XmlSerializerAttributes:this (FullOpts)
          40 (0.66 % of base) : 172599.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderXmlSerializerAttributes:Read3_XmlSerializerAttributes(ubyte,ubyte):SerializationTypes.XmlSerializerAttributes:this (FullOpts)
          36 (1.22 % of base) : 31225.dasm - Microsoft.CodeAnalysis.CSharp.Binder:MakeIsPatternExpression(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundPattern,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          36 (0.95 % of base) : 289142.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3962_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          32 (9.76 % of base) : 222289.dasm - System.Tests.Int128Tests_GenericMath:IsPow2Test() (FullOpts)
          28 (1.67 % of base) : 134758.dasm - System.Text.DBCSCodePageEncoding:ReadBestFitTable():this (FullOpts)
          28 (0.44 % of base) : 315536.dasm - System.Xml.XmlTextReaderImpl+<ParseAttributeValueSlowAsync>d__532:MoveNext():this (FullOpts)
          24 (2.53 % of base) : 171032.dasm - System.Xml.Serialization.TypeScope:ShouldBeReplaced(System.Reflection.MemberInfo,System.Type,byref):ubyte (FullOpts)
          24 (5.71 % of base) : 177507.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          20 (1.90 % of base) : 39200.dasm - Microsoft.Extensions.FileSystemGlobbing.InMemoryDirectoryInfo:.ctor(System.String,System.Collections.Generic.IEnumerable`1[System.String],ubyte):this (FullOpts)
          20 (6.10 % of base) : 69963.dasm - System.Collections.Frozen.FrozenSetInternalBase`2[System.ValueTuple`2[System.Collections.Frozen.Tests.SimpleNonComparableStruct,System.Collections.Frozen.Tests.SimpleNonComparableStruct],System.Collections.Frozen.SmallValueTypeDefaultComparerFrozenSet`1+GSW[System.ValueTuple`2[System.Collections.Frozen.Tests.SimpleNonComparableStruct,System.Collections.Frozen.Tests.SimpleNonComparableStruct]]]:ContainsAllElements(System.Collections.Generic.IEnumerable`1[System.ValueTuple`2[System.Collections.Frozen.Tests.SimpleNonComparableStruct,System.Collections.Frozen.Tests.SimpleNonComparableStruct]]):ubyte:this (FullOpts)
          20 (5.95 % of base) : 70019.dasm - System.Collections.Frozen.FrozenSetInternalBase`2[System.ValueTuple`2[System.Collections.Frozen.Tests.SimpleNonComparableStruct,System.Collections.Frozen.Tests.SimpleNonComparableStruct],System.Collections.Frozen.SmallValueTypeDefaultComparerFrozenSet`1+GSW[System.ValueTuple`2[System.Collections.Frozen.Tests.SimpleNonComparableStruct,System.Collections.Frozen.Tests.SimpleNonComparableStruct]]]:OverlapsCore(System.Collections.Generic.IEnumerable`1[System.ValueTuple`2[System.Collections.Frozen.Tests.SimpleNonComparableStruct,System.Collections.Frozen.Tests.SimpleNonComparableStruct]]):ubyte:this (FullOpts)
          20 (2.16 % of base) : 89431.dasm - System.Configuration.ConfigurationElement:EnsureRequiredProperties(ubyte):this (FullOpts)
          20 (2.01 % of base) : 92144.dasm - System.Data.XmlTreeGen:GenerateConstraintNames(System.Data.DataTable,ubyte):this (FullOpts)
          20 (0.49 % of base) : 92792.dasm - System.Data.XSDSchema:HandleDataSet(System.Xml.Schema.XmlSchemaElement,ubyte):this (FullOpts)
          20 (3.23 % of base) : 186460.dasm - System.Reflection.Emit.EnumBuilderImpl:.ctor(System.String,System.Type,int,System.Reflection.Emit.ModuleBuilderImpl):this (FullOpts)
          20 (4.31 % of base) : 186461.dasm - System.Reflection.Emit.EnumBuilderImpl:DefineLiteralCore(System.String,System.Object):System.Reflection.Emit.FieldBuilder:this (FullOpts)
          20 (5.81 % of base) : 185295.dasm - System.Reflection.Emit.TypeBuilderImpl:CreateTypeInfoCore():System.Reflection.TypeInfo:this (FullOpts)
Top method improvements (bytes):
        -140 (-0.48 % of base) : 59867.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        -104 (-1.78 % of base) : 14865.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) : 44943.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) : 25371.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -68 (-1.39 % of base) : 5375.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) : 171041.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
         -44 (-1.59 % of base) : 43844.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) : 49554.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)
         -36 (-0.63 % of base) : 50803.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) : 52435.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) : 9308.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ushort]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -24 (-0.26 % of base) : 25025.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) : 40799.dasm - Microsoft.Extensions.Hosting.Internal.HostTests+<AppCrashesOnStartWhenFirstHostedServiceThrows>d__12:MoveNext():this (FullOpts)
         -24 (-0.50 % of base) : 172654.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1:Read2_wrapper():System.Object[]:this (FullOpts)
         -24 (-1.49 % of base) : 182468.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.83 % of base) : 10954.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) : 171181.dasm - System.Xml.Serialization.XmlSerializationReader:ReadArray(System.String,System.String):System.Array:this (FullOpts)
         -16 (-1.67 % of base) : 46742.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:CanBePassedByReference(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
         -16 (-1.89 % of base) : 80313.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.83 % of base) : 281237.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex109_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
Top method regressions (percentages):
          20 (10.20 % of base) : 186215.dasm - System.Reflection.Emit.TypeBuilderImpl:get_UnderlyingSystemType():System.Type:this (FullOpts)
          32 (9.76 % of base) : 222289.dasm - System.Tests.Int128Tests_GenericMath:IsPow2Test() (FullOpts)
           4 (9.09 % of base) : 96712.dasm - System.Data.Tests.DataTableTest2+DataRowsComparer:.ctor(System.String,System.String):this (FullOpts)
          20 (6.10 % of base) : 69963.dasm - System.Collections.Frozen.FrozenSetInternalBase`2[System.ValueTuple`2[System.Collections.Frozen.Tests.SimpleNonComparableStruct,System.Collections.Frozen.Tests.SimpleNonComparableStruct],System.Collections.Frozen.SmallValueTypeDefaultComparerFrozenSet`1+GSW[System.ValueTuple`2[System.Collections.Frozen.Tests.SimpleNonComparableStruct,System.Collections.Frozen.Tests.SimpleNonComparableStruct]]]:ContainsAllElements(System.Collections.Generic.IEnumerable`1[System.ValueTuple`2[System.Collections.Frozen.Tests.SimpleNonComparableStruct,System.Collections.Frozen.Tests.SimpleNonComparableStruct]]):ubyte:this (FullOpts)
          20 (5.95 % of base) : 70019.dasm - System.Collections.Frozen.FrozenSetInternalBase`2[System.ValueTuple`2[System.Collections.Frozen.Tests.SimpleNonComparableStruct,System.Collections.Frozen.Tests.SimpleNonComparableStruct],System.Collections.Frozen.SmallValueTypeDefaultComparerFrozenSet`1+GSW[System.ValueTuple`2[System.Collections.Frozen.Tests.SimpleNonComparableStruct,System.Collections.Frozen.Tests.SimpleNonComparableStruct]]]:OverlapsCore(System.Collections.Generic.IEnumerable`1[System.ValueTuple`2[System.Collections.Frozen.Tests.SimpleNonComparableStruct,System.Collections.Frozen.Tests.SimpleNonComparableStruct]]):ubyte:this (FullOpts)
          20 (5.81 % of base) : 185295.dasm - System.Reflection.Emit.TypeBuilderImpl:CreateTypeInfoCore():System.Reflection.TypeInfo:this (FullOpts)
          24 (5.71 % of base) : 177507.dasm - System.Xml.Xsl.Runtime.XmlStringSortKey:CompareTo(System.Object):int:this (FullOpts)
          48 (5.69 % of base) : 205598.dasm - System.Runtime.Serialization.SchemaExporter:ReprocessAll(System.Xml.Schema.XmlSchemaSet) (FullOpts)
          20 (5.10 % of base) : 185382.dasm - System.Reflection.Emit.TypeBuilderImpl:DefineFieldCore(System.String,System.Type,System.Type[],System.Type[],int):System.Reflection.Emit.FieldBuilder:this (FullOpts)
           4 (4.55 % of base) : 148498.dasm - System.SpanHelpers:LastIndexOfAnyExceptInRange[System.TimeSpan](byref,System.TimeSpan,System.TimeSpan,int):int (FullOpts)
          16 (4.40 % of base) : 151489.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
          20 (4.31 % of base) : 186461.dasm - System.Reflection.Emit.EnumBuilderImpl:DefineLiteralCore(System.String,System.Object):System.Reflection.Emit.FieldBuilder:this (FullOpts)
           4 (4.17 % of base) : 148494.dasm - System.SpanHelpers:IndexOfAnyExceptInRange[System.TimeSpan](byref,System.TimeSpan,System.TimeSpan,int):int (FullOpts)
          16 (3.48 % of base) : 207677.dasm - SerializationTestTypes.DataContract:GetIsReferenceValue():ubyte:this (FullOpts)
          16 (3.48 % of base) : 208990.dasm - SerializationTestTypes.DataContract:GetIsReferenceValue():ubyte:this (FullOpts)
          20 (3.23 % of base) : 186460.dasm - System.Reflection.Emit.EnumBuilderImpl:.ctor(System.String,System.Type,int,System.Reflection.Emit.ModuleBuilderImpl):this (FullOpts)
           4 (2.86 % of base) : 196620.dasm - System.Runtime.InteropServices.Tests.ByteArrayTests+<>c__DisplayClass4_0:<CopyTo_NegativeLength_ThrowsArgumentOutOfRangeException>b__0():this (FullOpts)
           4 (2.86 % of base) : 196003.dasm - System.Runtime.InteropServices.Tests.CharArrayTests+<>c__DisplayClass4_0:<CopyTo_NegativeLength_ThrowsArgumentOutOfRangeException>b__0():this (FullOpts)
           4 (2.86 % of base) : 195575.dasm - System.Runtime.InteropServices.Tests.Int32ArrayTests+<>c__DisplayClass4_0:<CopyTo_NegativeLength_ThrowsArgumentOutOfRangeException>b__0():this (FullOpts)
           4 (2.86 % of base) : 196576.dasm - System.Runtime.InteropServices.Tests.IntPtrArrayTests+<>c__DisplayClass5_0:<CopyTo_NegativeLength_ThrowsArgumentOutOfRangeException>b__0():this (FullOpts)
Top method improvements (percentages):
          -4 (-3.57 % of base) : 51024.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
          -4 (-3.57 % of base) : 9323.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
         -28 (-3.45 % of base) : 9308.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1+<>c__DisplayClass11_0[ushort]:<ExecuteDeclaringReferenceActions>g__executeExecutableCodeActions|2():this (FullOpts)
         -80 (-2.55 % of base) : 25371.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -16 (-1.89 % of base) : 80313.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) : 14865.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) : 46742.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:CanBePassedByReference(Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte (FullOpts)
         -44 (-1.59 % of base) : 43844.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) : 49554.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) : 44943.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) : 38232.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target]:this (FullOpts)
         -24 (-1.49 % of base) : 182468.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) : 5375.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) : 31891.dasm - Microsoft.CodeAnalysis.RealParser:ConvertBigIntegerToFloatingPointBits(ubyte[],uint,ubyte,Microsoft.CodeAnalysis.RealParser+FloatingPointType,byref):int (FullOpts)
          -8 (-1.31 % of base) : 38236.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTarget(byref,System.String):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target:this (FullOpts)
         -16 (-1.25 % of base) : 287468.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1708_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -4 (-1.23 % of base) : 45473.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) : 6578.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) : 51375.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) : 265803.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: 15471984 (overridden on cmd)
Total bytes of diff: 15472028 (overridden on cmd)
Total bytes of delta: 44 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          36 : 22889.dasm (1.23 % of base)
          24 : 10110.dasm (4.84 % of base)
          24 : 10131.dasm (4.88 % of base)
          24 : 7929.dasm (0.14 % of base)
          24 : 7981.dasm (1.09 % of base)
          24 : 7985.dasm (1.22 % of base)
          20 : 23433.dasm (0.18 % of base)
          16 : 12531.dasm (0.34 % of base)
          16 : 12952.dasm (0.50 % of base)
          16 : 21417.dasm (2.88 % of base)
          16 : 1095.dasm (1.92 % of base)
          12 : 14442.dasm (1.16 % of base)
          12 : 13772.dasm (0.14 % of base)
          12 : 4738.dasm (0.19 % of base)
          12 : 5015.dasm (1.24 % of base)
           8 : 1408.dasm (0.99 % of base)
           8 : 1888.dasm (0.31 % of base)
           4 : 14634.dasm (0.66 % of base)
           4 : 15019.dasm (0.36 % of base)
           4 : 17047.dasm (2.70 % of base)
Top file improvements (bytes):
         -68 : 6532.dasm (-0.92 % of base)
         -20 : 3156.dasm (-0.34 % of base)
         -20 : 23983.dasm (-0.84 % of base)
         -16 : 1625.dasm (-0.70 % of base)
         -16 : 14091.dasm (-0.41 % of base)
         -12 : 11880.dasm (-0.66 % of base)
         -12 : 23066.dasm (-0.27 % of base)
         -12 : 22386.dasm (-0.40 % of base)
          -8 : 16415.dasm (-0.39 % of base)
          -8 : 17641.dasm (-0.26 % of base)
          -8 : 10377.dasm (-0.08 % of base)
          -8 : 17193.dasm (-0.10 % of base)
          -8 : 15309.dasm (-0.26 % of base)
          -8 : 15329.dasm (-0.37 % of base)
          -8 : 28881.dasm (-0.16 % of base)
          -4 : 17653.dasm (-0.18 % of base)
          -4 : 18339.dasm (-0.40 % of base)
          -4 : 1851.dasm (-0.46 % of base)
          -4 : 19564.dasm (-0.32 % of base)
          -4 : 12951.dasm (-0.39 % of base)
52 total files with Code Size differences (26 improved, 26 regressed), 20 unchanged.
Top method regressions (bytes):
          36 (1.23 % of base) : 22889.dasm - Microsoft.CodeAnalysis.CSharp.Binder:MakeIsPatternExpression(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundPattern,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          24 (0.14 % of base) : 7929.dasm - FSharp.Compiler.CheckExpressions:TcPat(FSharp.Compiler.NameResolution+WarnOnUpperFlag,FSharp.Compiler.CheckExpressions+TcFileState,FSharp.Compiler.CheckExpressions+TcEnv,Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.CheckExpressions+PartialValReprInfo],FSharp.Compiler.TypedTree+ValInline,FSharp.Compiler.CheckExpressions+ExplicitTyparInfo,FSharp.Compiler.CheckExpressions+ArgAndRetAttribs,ubyte,Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynAccess],ubyte,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String],FSharp.Compiler.TypedTree+TType,FSharp.Compiler.Syntax.SynPat):System.Tuple`2[Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.CheckExpressions+TcPatPhase2Input,FSharp.Compiler.PatternMatchCompilation+Pattern],System.Tuple`3[FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String]]] (FullOpts)
          24 (1.22 % of base) : 7985.dasm - FSharp.Compiler.CheckExpressions:TcSimplePat(ubyte,FSharp.Compiler.CheckExpressions+CheckConstraints,FSharp.Compiler.CheckExpressions+TcFileState,FSharp.Compiler.TypedTree+TType,FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String],FSharp.Compiler.Syntax.SynSimplePat):System.Tuple`2[System.String,System.Tuple`3[FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String]]] (FullOpts)
          24 (1.09 % of base) : 7981.dasm - FSharp.Compiler.CheckExpressions:TcSimplePats(FSharp.Compiler.CheckExpressions+TcFileState,ubyte,FSharp.Compiler.CheckExpressions+CheckConstraints,FSharp.Compiler.TypedTree+TType,FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String],FSharp.Compiler.Syntax.SynSimplePats):System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[System.String],System.Tuple`3[FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String]]] (FullOpts)
          24 (4.84 % of base) : 10110.dasm - FSharp.Compiler.Infos+PropInfo:get_IsNewSlot():ubyte:this (FullOpts)
          24 (4.88 % of base) : 10131.dasm - FSharp.Compiler.Infos+PropInfo:get_IsStatic():ubyte:this (FullOpts)
          20 (0.18 % of base) : 23433.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
          16 (1.92 % of base) : 1095.dasm - BepuUtilities.Collections.QuickSort:Sort[int,BepuPhysics.Trees.Tree+IndexMapComparer](byref,int,int,byref) (FullOpts)
          16 (2.88 % of base) : 21417.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) : 12952.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) : 12531.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) : 5015.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) : 4738.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) : 13772.dasm - Microsoft.ML.Transforms.Text.TextFeaturizingEstimator:Fit(Microsoft.ML.IDataView):Microsoft.ML.ITransformer:this (FullOpts)
          12 (1.16 % of base) : 14442.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (FullOpts)
           8 (0.99 % of base) : 1408.dasm - BepuPhysics.CollisionDetection.ConstraintRemover:RemoveConstraintsFromBodyLists():this (FullOpts)
           8 (0.31 % of base) : 1888.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
           4 (0.42 % of base) : 1488.dasm - BepuUtilities.Collections.QuickSort:Sort[BepuPhysics.CollisionDetection.TypeBatchIndex,BepuPhysics.CollisionDetection.ConstraintRemover+RemovalsForTypeBatch,BepuPhysics.CollisionDetection.ConstraintRemover+TypeBatchIndexComparer](byref,byref,int,int,byref) (FullOpts)
           4 (0.66 % of base) : 14634.dasm - Internal.Cryptography.Helpers:ToLpstrArray(System.Security.Cryptography.OidCollection,byref):System.Runtime.InteropServices.SafeHandle (FullOpts)
           4 (0.11 % of base) : 22548.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindForOrUsingOrFixedDeclarations(Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclarationSyntax,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref):Microsoft.CodeAnalysis.CSharp.BoundStatement:this (FullOpts)
Top method improvements (bytes):
         -68 (-0.92 % of base) : 6532.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.34 % of base) : 3156.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.84 % of base) : 23983.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) : 14091.dasm - System.Net.HttpWebRequest+<SendRequest>d__196:MoveNext():this (FullOpts)
         -12 (-0.27 % of base) : 23066.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) : 22386.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:Populate(Microsoft.CodeAnalysis.CSharp.NullableWalker+VariablesSnapshot):this (FullOpts)
         -12 (-0.66 % of base) : 11880.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.HuffmanScanDecoder:ParseBaselineDataSingleComponent():this (FullOpts)
          -8 (-0.08 % of base) : 10377.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.16 % of base) : 28881.dasm - Microsoft.CodeAnalysis.AnalyzerConfigSet+GlobalAnalyzerConfigBuilder:Build(Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.AnalyzerConfigSet+GlobalAnalyzerConfig:this (FullOpts)
          -8 (-0.10 % of base) : 17193.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
          -8 (-0.26 % of base) : 17641.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) : 16415.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlEntity(byref):this (FullOpts)
          -8 (-0.26 % of base) : 15309.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) : 15329.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
          -4 (-0.43 % of base) : 28219.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
          -4 (-0.18 % of base) : 17653.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.08 % of base) : 18705.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)
          -4 (-1.23 % of base) : 19193.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 (-0.32 % of base) : 19564.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddDeclaredNontypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
Top method regressions (percentages):
          24 (4.88 % of base) : 10131.dasm - FSharp.Compiler.Infos+PropInfo:get_IsStatic():ubyte:this (FullOpts)
          24 (4.84 % of base) : 10110.dasm - FSharp.Compiler.Infos+PropInfo:get_IsNewSlot():ubyte:this (FullOpts)
          16 (2.88 % of base) : 21417.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) : 17047.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:PreviousBranchTaken():ubyte:this (FullOpts)
          16 (1.92 % of base) : 1095.dasm - BepuUtilities.Collections.QuickSort:Sort[int,BepuPhysics.Trees.Tree+IndexMapComparer](byref,int,int,byref) (FullOpts)
          12 (1.24 % of base) : 5015.dasm - FSharp.Compiler.AbstractIL.IL+SHA1:sha1Hash(FSharp.Compiler.AbstractIL.IL+SHA1+SHAStream):System.Tuple`5[int,int,int,int,int] (FullOpts)
          36 (1.23 % of base) : 22889.dasm - Microsoft.CodeAnalysis.CSharp.Binder:MakeIsPatternExpression(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundPattern,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          24 (1.22 % of base) : 7985.dasm - FSharp.Compiler.CheckExpressions:TcSimplePat(ubyte,FSharp.Compiler.CheckExpressions+CheckConstraints,FSharp.Compiler.CheckExpressions+TcFileState,FSharp.Compiler.TypedTree+TType,FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String],FSharp.Compiler.Syntax.SynSimplePat):System.Tuple`2[System.String,System.Tuple`3[FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String]]] (FullOpts)
          12 (1.16 % of base) : 14442.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (FullOpts)
          24 (1.09 % of base) : 7981.dasm - FSharp.Compiler.CheckExpressions:TcSimplePats(FSharp.Compiler.CheckExpressions+TcFileState,ubyte,FSharp.Compiler.CheckExpressions+CheckConstraints,FSharp.Compiler.TypedTree+TType,FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String],FSharp.Compiler.Syntax.SynSimplePats):System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[System.String],System.Tuple`3[FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,Microsoft.FSharp.Collections.FSharpMap`2[System.String,FSharp.Compiler.CheckExpressions+PrelimValScheme1],Microsoft.FSharp.Collections.FSharpSet`1[System.String]]] (FullOpts)
           8 (0.99 % of base) : 1408.dasm - BepuPhysics.CollisionDetection.ConstraintRemover:RemoveConstraintsFromBodyLists():this (FullOpts)
           4 (0.66 % of base) : 14634.dasm - Internal.Cryptography.Helpers:ToLpstrArray(System.Security.Cryptography.OidCollection,byref):System.Runtime.InteropServices.SafeHandle (FullOpts)
          16 (0.50 % of base) : 12952.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) : 19474.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) : 22963.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.42 % of base) : 1488.dasm - BepuUtilities.Collections.QuickSort:Sort[BepuPhysics.CollisionDetection.TypeBatchIndex,BepuPhysics.CollisionDetection.ConstraintRemover+RemovalsForTypeBatch,BepuPhysics.CollisionDetection.ConstraintRemover+TypeBatchIndexComparer](byref,byref,int,int,byref) (FullOpts)
           4 (0.36 % of base) : 30717.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) : 15019.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) : 12531.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) : 1888.dasm - System.Xml.XmlTextReaderImpl:ParseAttributes():this (FullOpts)
Top method improvements (percentages):
          -4 (-1.23 % of base) : 19193.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) : 6532.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) : 23983.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) : 11880.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.HuffmanScanDecoder:ParseBaselineDataSingleComponent():this (FullOpts)
          -4 (-0.46 % of base) : 1851.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (FullOpts)
          -4 (-0.43 % of base) : 28219.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (FullOpts)
         -16 (-0.41 % of base) : 14091.dasm - System.Net.HttpWebRequest+<SendRequest>d__196:MoveNext():this (FullOpts)
          -4 (-0.40 % of base) : 18339.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (FullOpts)
         -12 (-0.40 % of base) : 22386.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker+Variables:Populate(Microsoft.CodeAnalysis.CSharp.NullableWalker+VariablesSnapshot):this (FullOpts)
          -4 (-0.39 % of base) : 12951.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,System.__Canon]:TryRemoveInternal(int,byref,ubyte,System.__Canon):ubyte:this (FullOpts)
          -8 (-0.39 % of base) : 16415.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlEntity(byref):this (FullOpts)
          -8 (-0.37 % of base) : 15329.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
          -4 (-0.36 % of base) : 12599.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:get_Count():int:this (FullOpts)
         -20 (-0.34 % of base) : 3156.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) : 15113.dasm - System.Threading.TimerQueue:FireNextTimers():this (FullOpts)
          -4 (-0.32 % of base) : 19564.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddDeclaredNontypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -12 (-0.27 % of base) : 23066.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)
          -8 (-0.26 % of base) : 15309.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.26 % of base) : 17641.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)
  
smoke_tests.nativeaot.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 3966948 (overridden on cmd)
Total bytes of diff: 3967144 (overridden on cmd)
Total bytes of delta: 196 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          20 : 11738.dasm (1.04 % of base)
          20 : 6475.dasm (0.99 % of base)
          20 : 1572.dasm (0.94 % of base)
          20 : 5245.dasm (0.90 % of base)
          12 : 1378.dasm (3.06 % of base)
          12 : 4943.dasm (3.06 % of base)
           8 : 1376.dasm (0.24 % of base)
           8 : 15171.dasm (4.65 % of base)
           8 : 4939.dasm (0.25 % of base)
           8 : 14634.dasm (0.24 % of base)
           8 : 489.dasm (0.62 % of base)
           4 : 13952.dasm (1.23 % of base)
           4 : 7716.dasm (0.99 % of base)
           4 : 8018.dasm (0.96 % of base)
           4 : 8267.dasm (1.23 % of base)
           4 : 13279.dasm (0.99 % of base)
           4 : 6384.dasm (3.12 % of base)
           4 : 8173.dasm (2.33 % of base)
           4 : 11702.dasm (3.12 % of base)
           4 : 12734.dasm (2.50 % of base)
Top file improvements (bytes):
          -8 : 9973.dasm (-1.67 % of base)
          -8 : 5146.dasm (-1.43 % of base)
          -4 : 374.dasm (-0.34 % of base)
          -4 : 21662.dasm (-0.55 % of base)
30 total files with Code Size differences (4 improved, 26 regressed), 33 unchanged.
Top method regressions (bytes):
          20 (1.04 % of base) : 11738.dasm - System.Text.StringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.Text.StringBuilder:this (FullOpts)
          20 (0.99 % of base) : 6475.dasm - System.Text.StringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.Text.StringBuilder:this (FullOpts)
          20 (0.94 % of base) : 1572.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
          20 (0.90 % of base) : 5245.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
          12 (3.06 % of base) : 1378.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
          12 (3.06 % of base) : 4943.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
           8 (4.65 % of base) : 15171.dasm - PInvokeTests.Program:TestSizeParamIndex() (FullOpts)
           8 (0.62 % of base) : 489.dasm - System.Text.UTF32Encoding:GetChars(ulong,int,ulong,int,System.Text.DecoderNLS):int:this (FullOpts)
           8 (0.24 % of base) : 1376.dasm - System.Threading.Lock:TryEnterSlow(int,System.Threading.Lock+ThreadId):System.Threading.Lock+ThreadId:this (FullOpts)
           8 (0.25 % of base) : 4939.dasm - System.Threading.Lock:TryEnterSlow(int,System.Threading.Lock+ThreadId):System.Threading.Lock+ThreadId:this (FullOpts)
           8 (0.24 % of base) : 14634.dasm - System.Threading.Lock:TryEnterSlow(int,System.Threading.Lock+ThreadId):System.Threading.Lock+ThreadId:this (FullOpts)
           4 (2.13 % of base) : 14377.dasm - Internal.Reflection.Execution.ExecutionEnvironmentImplementation:GetManifestResourceNames(System.Reflection.Assembly):System.String[]:this (FullOpts)
           4 (2.33 % of base) : 8173.dasm - Internal.Runtime.TypeLoader.EETypeCreator:IsAllGCPointers(System.Collections.Generic.LowLevelList`1[ubyte]):ubyte (FullOpts)
           4 (2.33 % of base) : 13875.dasm - Internal.Runtime.TypeLoader.EETypeCreator:IsAllGCPointers(System.Collections.Generic.LowLevelList`1[ubyte]):ubyte (FullOpts)
           4 (1.23 % of base) : 13952.dasm - Internal.Runtime.TypeLoader.MetadataNameExtensions:GetContainingModuleName(Internal.Metadata.NativeFormat.TypeDefinitionHandle,Internal.Metadata.NativeFormat.MetadataReader):System.String (FullOpts)
           4 (1.23 % of base) : 8267.dasm - Internal.Runtime.TypeLoader.MetadataNameExtensions:GetContainingModuleName(Internal.Metadata.NativeFormat.TypeDefinitionHandle,Internal.Metadata.NativeFormat.MetadataReader):System.String (FullOpts)
           4 (2.50 % of base) : 12734.dasm - Internal.Runtime.TypeLoader.TypeBuilder:ProcessTypesNeedingPreparation():this (FullOpts)
           4 (2.50 % of base) : 7076.dasm - Internal.Runtime.TypeLoader.TypeBuilder:ProcessTypesNeedingPreparation():this (FullOpts)
           4 (0.99 % of base) : 7716.dasm - Internal.Runtime.TypeLoader.TypeBuilder:RegisterGenericTypesAndMethods():this (FullOpts)
           4 (0.99 % of base) : 13279.dasm - Internal.Runtime.TypeLoader.TypeBuilder:RegisterGenericTypesAndMethods():this (FullOpts)
Top method improvements (bytes):
          -8 (-1.67 % of base) : 9973.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
          -8 (-1.43 % of base) : 5146.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
          -4 (-0.34 % of base) : 374.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
          -4 (-0.55 % of base) : 21662.dasm - System.Threading.TimerQueue:FireNextTimers():this (FullOpts)
Top method regressions (percentages):
           8 (4.65 % of base) : 15171.dasm - PInvokeTests.Program:TestSizeParamIndex() (FullOpts)
           4 (3.12 % of base) : 6384.dasm - Internal.TypeSystem.TypeSystemContext:FlushTypeBuilderStates():this (FullOpts)
           4 (3.12 % of base) : 11702.dasm - Internal.TypeSystem.TypeSystemContext:FlushTypeBuilderStates():this (FullOpts)
          12 (3.06 % of base) : 1378.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
          12 (3.06 % of base) : 4943.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
           4 (2.50 % of base) : 12734.dasm - Internal.Runtime.TypeLoader.TypeBuilder:ProcessTypesNeedingPreparation():this (FullOpts)
           4 (2.50 % of base) : 7076.dasm - Internal.Runtime.TypeLoader.TypeBuilder:ProcessTypesNeedingPreparation():this (FullOpts)
           4 (2.33 % of base) : 8173.dasm - Internal.Runtime.TypeLoader.EETypeCreator:IsAllGCPointers(System.Collections.Generic.LowLevelList`1[ubyte]):ubyte (FullOpts)
           4 (2.33 % of base) : 13875.dasm - Internal.Runtime.TypeLoader.EETypeCreator:IsAllGCPointers(System.Collections.Generic.LowLevelList`1[ubyte]):ubyte (FullOpts)
           4 (2.13 % of base) : 14377.dasm - Internal.Reflection.Execution.ExecutionEnvironmentImplementation:GetManifestResourceNames(System.Reflection.Assembly):System.String[]:this (FullOpts)
           4 (1.23 % of base) : 13952.dasm - Internal.Runtime.TypeLoader.MetadataNameExtensions:GetContainingModuleName(Internal.Metadata.NativeFormat.TypeDefinitionHandle,Internal.Metadata.NativeFormat.MetadataReader):System.String (FullOpts)
           4 (1.23 % of base) : 8267.dasm - Internal.Runtime.TypeLoader.MetadataNameExtensions:GetContainingModuleName(Internal.Metadata.NativeFormat.TypeDefinitionHandle,Internal.Metadata.NativeFormat.MetadataReader):System.String (FullOpts)
           4 (1.11 % of base) : 13774.dasm - Internal.Runtime.TypeLoader.TypeBuilder+<TypesToRegister>d__32:MoveNext():ubyte:this (FullOpts)
          20 (1.04 % of base) : 11738.dasm - System.Text.StringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.Text.StringBuilder:this (FullOpts)
           4 (1.00 % of base) : 8060.dasm - Internal.Runtime.TypeLoader.TypeBuilder+<TypesToRegister>d__32:MoveNext():ubyte:this (FullOpts)
           4 (0.99 % of base) : 7716.dasm - Internal.Runtime.TypeLoader.TypeBuilder:RegisterGenericTypesAndMethods():this (FullOpts)
           4 (0.99 % of base) : 13279.dasm - Internal.Runtime.TypeLoader.TypeBuilder:RegisterGenericTypesAndMethods():this (FullOpts)
          20 (0.99 % of base) : 6475.dasm - System.Text.StringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.Text.StringBuilder:this (FullOpts)
           4 (0.96 % of base) : 8018.dasm - System.Globalization.UmAlQuraCalendar:ConvertGregorianToHijri(System.DateTime,byref,byref,byref) (FullOpts)
           4 (0.96 % of base) : 13720.dasm - System.Globalization.UmAlQuraCalendar:ConvertGregorianToHijri(System.DateTime,byref,byref,byref) (FullOpts)
Top method improvements (percentages):
          -8 (-1.67 % of base) : 9973.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
          -8 (-1.43 % of base) : 5146.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
          -4 (-0.55 % of base) : 21662.dasm - System.Threading.TimerQueue:FireNextTimers():this (FullOpts)
          -4 (-0.34 % of base) : 374.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
  
  
windows x64
Diffs are based on 2,366,413 contexts (928,740 MinOpts, 1,437,673 FullOpts).
MISSED contexts: 6,788 (0.29%)
Overall (+88,641 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.windows.x64.checked.mch | 8,538,947 | +5,032 | 
| benchmarks.run_pgo.windows.x64.checked.mch | 35,596,302 | -4,911 | 
| benchmarks.run_tiered.windows.x64.checked.mch | 12,628,918 | +979 | 
| coreclr_tests.run.windows.x64.checked.mch | 393,235,161 | +15,518 | 
| libraries.crossgen2.windows.x64.checked.mch | 39,479,685 | -313 | 
| libraries.pmi.windows.x64.checked.mch | 60,138,217 | +19,027 | 
| libraries_tests.run.windows.x64.Release.mch | 278,258,792 | +28,812 | 
| librariestestsnotieredcompilation.run.windows.x64.Release.mch | 135,861,173 | +18,789 | 
| realworld.run.windows.x64.checked.mch | 13,740,634 | +4,697 | 
| smoke_tests.nativeaot.windows.x64.checked.mch | 5,087,315 | +1,011 | 
  
FullOpts (+88,641 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.windows.x64.checked.mch | 8,538,586 | +5,032 | 
| benchmarks.run_pgo.windows.x64.checked.mch | 21,465,322 | -4,911 | 
| benchmarks.run_tiered.windows.x64.checked.mch | 3,446,561 | +979 | 
| coreclr_tests.run.windows.x64.checked.mch | 119,730,717 | +15,518 | 
| libraries.crossgen2.windows.x64.checked.mch | 39,478,496 | -313 | 
| libraries.pmi.windows.x64.checked.mch | 60,024,698 | +19,027 | 
| libraries_tests.run.windows.x64.Release.mch | 103,256,350 | +28,812 | 
| librariestestsnotieredcompilation.run.windows.x64.Release.mch | 124,984,011 | +18,789 | 
| realworld.run.windows.x64.checked.mch | 13,350,929 | +4,697 | 
| smoke_tests.nativeaot.windows.x64.checked.mch | 5,086,368 | +1,011 | 
  
Example diffs
benchmarks.run.windows.x64.checked.mch
-14 (-3.98%) : 17943.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%) : 18024.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
...
  
+41 (+75.93%) : 8484.dasm - System.Collections.Generic.SortedList`2[System.Canon,System.Canon]:Clear():this (FullOpts)
@@ -8,27 +8,35 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  9,  9   )     ref  ->  rbx         this class-hnd single-def <System.Collections.Generic.SortedList`2[System.__Canon,System.__Canon]>
+;  V00 this         [V00,T00] ( 10, 10   )     ref  ->  rbx         this class-hnd single-def <System.Collections.Generic.SortedList`2[System.__Canon,System.__Canon]>
 ;  V01 OutArgs      [V01    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V03 tmp2         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;* V04 cse0         [V04,T04] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
-;* V05 rat0         [V05,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V04 cse0         [V04,T04] (  3,  3   )    long  ->  rsi         "CSE - aggressive"
+;  V05 rat0         [V05,T03] (  2,  4   )    long  ->  rcx         "Spilling to split statement for tree"
 ;* V06 rat1         [V06,T05] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V07 rat2         [V07,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V07 rat2         [V07,T01] (  2,  4   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
 ;* V08 rat3         [V08,T06] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V09 rat4         [V09,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V09 rat4         [V09,T02] (  2,  4   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 40
 
 G_M20186_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+       push     rsi
        push     rbx
-       sub      rsp, 32
+       sub      rsp, 40
+       mov      qword ptr [rsp+0x20], rcx
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=14 bbWeight=1 PerfScore 3.50
 G_M20186_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        inc      dword ptr [rbx+0x34]
+       mov      rsi, qword ptr [rbx]
+       mov      rcx, rsi
+       mov      rcx, qword ptr [rcx+0x38]
+       mov      rcx, qword ptr [rcx]
+       mov      rcx, qword ptr [rcx+0x48]
+       test     rcx, rcx
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
        mov      r8d, dword ptr [rbx+0x30]
@@ -36,6 +44,10 @@ G_M20186_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        call     [<unknown method>]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
+       mov      rcx, qword ptr [rsi+0x38]
+       mov      rcx, qword ptr [rcx]
+       mov      rcx, qword ptr [rcx+0x50]
+       test     rcx, rcx
        mov      rcx, gword ptr [rbx+0x10]
        ; gcrRegs +[rcx]
        mov      r8d, dword ptr [rbx+0x30]
@@ -45,14 +57,15 @@ G_M20186_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        xor      eax, eax
        mov      dword ptr [rbx+0x30], eax
-                        ;; size=40 bbWeight=1 PerfScore 18.75
+                     ;; size=74 bbWeight=1 PerfScore 33.50
 G_M20186_IG03:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 32
+       add      rsp, 40
        pop      rbx
+       pop      rsi
        ret      
-                       ;; size=6 bbWeight=1 PerfScore 1.75
+                       ;; size=7 bbWeight=1 PerfScore 2.25
 
-; Total bytes of code 54, prolog size 5, PerfScore 22.00, instruction count 17, allocated bytes for code 54 (MethodHash=2efcb125) for method System.Collections.Generic.SortedList`2[System.__Canon,System.__Canon]:Clear():this (FullOpts)
+; Total bytes of code 95, prolog size 11, PerfScore 39.25, instruction count 30, allocated bytes for code 95 (MethodHash=2efcb125) for method System.Collections.Generic.SortedList`2[System.__Canon,System.__Canon]:Clear():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -60,10 +73,11 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x05
-  CountOfUnwindCodes: 2
+  SizeOfProlog      : 0x06
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 3 * 8 + 8 = 32 = 0x20
-    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
  
+35 (+94.59%) : 2062.dasm - System.Collections.Immutable.ImmutableHashSet1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
@@ -17,13 +17,13 @@
 ;* V06 tmp3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "dup spill" <System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]>
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V08 tmp5         [V08    ] (  0,  0   )     ref  ->  zero-ref    "field V02._firstValue (fldOffset=0x0)" P-INDEP
-;  V09 tmp6         [V09,T06] (  3,  2.50)     ref  ->  rcx         single-def "field V02._additionalElements (fldOffset=0x8)" P-INDEP
-;* V10 cse0         [V10,T05] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
-;* V11 rat0         [V11,T04] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V09 tmp6         [V09,T06] (  3,  2.50)     ref  ->  rax         single-def "field V02._additionalElements (fldOffset=0x8)" P-INDEP
+;  V10 cse0         [V10,T05] (  3,  3   )    long  ->  rcx         "CSE - aggressive"
+;  V11 rat0         [V11,T04] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V12 rat1         [V12,T07] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V13 rat2         [V13,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V13 rat2         [V13,T01] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;* V14 rat3         [V14,T08] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V15 rat4         [V15,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V15 rat4         [V15,T02] (  2,  4   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 48
 
@@ -36,18 +36,29 @@ G_M10050_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=13 bbWeight=1 PerfScore 2.50
 G_M10050_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref, isz
        ; byrRegs +[rdx]
-       cmp      dword ptr [rbx], ebx
-       mov      rcx, gword ptr [rdx+0x10]
-       ; gcrRegs +[rcx]
+       mov      rcx, qword ptr [rbx]
+       mov      rax, rcx
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x10]
+       test     rax, rax
+       mov      rax, gword ptr [rdx+0x10]
+       ; gcrRegs +[rax]
+       mov      rcx, qword ptr [rcx+0x38]
+       mov      rcx, qword ptr [rcx]
+       mov      rcx, qword ptr [rcx+0x18]
        test     rcx, rcx
+       test     rax, rax
        je       SHORT G_M10050_IG04
-                       ;; size=11 bbWeight=1 PerfScore 6.25
-G_M10050_IG03:        ; bbWeight=0.50, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
+                        ;; size=43 bbWeight=1 PerfScore 18.00
+G_M10050_IG03:        ; bbWeight=0.50, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdx]
+       mov      rcx, rax
+       ; gcrRegs +[rcx]
        call     [System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:Freeze():this]
-       ; gcrRegs -[rcx]
+       ; gcrRegs -[rax rcx]
        ; gcr arg pop 0
-                     ;; size=6 bbWeight=0.50 PerfScore 1.50
+                        ;; size=9 bbWeight=0.50 PerfScore 1.62
 G_M10050_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
@@ -57,7 +68,7 @@ G_M10050_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=6 bbWeight=1 PerfScore 1.75
 
-; Total bytes of code 37, prolog size 10, PerfScore 12.25, instruction count 13, allocated bytes for code 37 (MethodHash=2c0dd8bd) for method System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
+; Total bytes of code 72, prolog size 10, PerfScore 24.12, instruction count 23, allocated bytes for code 72 (MethodHash=2c0dd8bd) for method System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+35 (+94.59%) : 1140.dasm - System.Collections.Immutable.ImmutableDictionary2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.Canon,System.Canon]]):this (FullOpts)
@@ -16,13 +16,13 @@
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "dup spill" <System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V08 tmp5         [V08,T06] (  3,  2.50)     ref  ->  rcx         single-def "V02.[000..008)"
-;* V09 cse0         [V09,T05] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
-;* V10 rat0         [V10,T04] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V08 tmp5         [V08,T06] (  3,  2.50)     ref  ->  rax         single-def "V02.[000..008)"
+;  V09 cse0         [V09,T05] (  3,  3   )    long  ->  rcx         "CSE - aggressive"
+;  V10 rat0         [V10,T04] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V11 rat1         [V11,T07] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V12 rat2         [V12,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V12 rat2         [V12,T01] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;* V13 rat3         [V13,T08] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V14 rat4         [V14,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V14 rat4         [V14,T02] (  2,  4   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 48
 
@@ -35,18 +35,29 @@ G_M20412_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=13 bbWeight=1 PerfScore 2.50
 G_M20412_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref, isz
        ; byrRegs +[rdx]
-       cmp      dword ptr [rbx], ebx
-       mov      rcx, gword ptr [rdx+0x08]
-       ; gcrRegs +[rcx]
+       mov      rcx, qword ptr [rbx]
+       mov      rax, rcx
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x18]
+       test     rax, rax
+       mov      rax, gword ptr [rdx+0x08]
+       ; gcrRegs +[rax]
+       mov      rcx, qword ptr [rcx+0x38]
+       mov      rcx, qword ptr [rcx]
+       mov      rcx, qword ptr [rcx+0x20]
        test     rcx, rcx
+       test     rax, rax
        je       SHORT G_M20412_IG04
-                       ;; size=11 bbWeight=1 PerfScore 6.25
-G_M20412_IG03:        ; bbWeight=0.50, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
+                        ;; size=43 bbWeight=1 PerfScore 18.00
+G_M20412_IG03:        ; bbWeight=0.50, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdx]
+       mov      rcx, rax
+       ; gcrRegs +[rcx]
        call     [System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:Freeze():this]
-       ; gcrRegs -[rcx]
+       ; gcrRegs -[rax rcx]
        ; gcr arg pop 0
-                       ;; size=6 bbWeight=0.50 PerfScore 1.50
+                        ;; size=9 bbWeight=0.50 PerfScore 1.62
 G_M20412_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
@@ -56,7 +67,7 @@ G_M20412_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=6 bbWeight=1 PerfScore 1.75
 
-; Total bytes of code 37, prolog size 10, PerfScore 12.25, instruction count 13, allocated bytes for code 37 (MethodHash=5457b043) for method System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (FullOpts)
+; Total bytes of code 72, prolog size 10, PerfScore 24.12, instruction count 23, allocated bytes for code 72 (MethodHash=5457b043) for method System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
benchmarks.run_pgo.windows.x64.checked.mch
-47 (-6.52%) : 29169.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
...
  
-47 (-6.52%) : 36709.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
...
  
-47 (-6.52%) : 38490.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
...
  
+15 (+48.39%) : 62511.dasm - System.Collections.Immutable.ImmutableArray1+Builder[System.__Canon]:ToImmutable():System.Collections.Immutable.ImmutableArray1[System.__Canon]:this (Tier1)
@@ -14,9 +14,9 @@
 ;* V03 tmp2         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V04 tmp3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon[]>
 ;  V05 tmp4         [V05,T03] (  2,  2   )     ref  ->  rax         single-def "field V02.array (fldOffset=0x0)" P-INDEP
-;* V06 rat0         [V06,T02] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V06 rat0         [V06,T02] (  2,  4   )    long  ->  rcx         "Spilling to split statement for tree"
 ;* V07 rat1         [V07,T04] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V08 rat2         [V08,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V08 rat2         [V08,T01] (  2,  4   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 48
 
@@ -28,21 +28,25 @@ G_M61652_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs +[rbx]
                        ;; size=13 bbWeight=1 PerfScore 2.50
 G_M61652_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       cmp      dword ptr [rbx], ebx
+       mov      rcx, qword ptr [rbx]
+       mov      rcx, qword ptr [rcx+0x38]
+       mov      rcx, qword ptr [rcx]
+       mov      rcx, qword ptr [rcx+0x38]
+       test     rcx, rcx
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        call     [System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:ToArray():System.__Canon[]:this]
        ; gcrRegs -[rcx] +[rax]
        ; gcr arg pop 0
        nop      
-                     ;; size=12 bbWeight=1 PerfScore 6.50
+                      ;; size=27 bbWeight=1 PerfScore 11.75
 G_M61652_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 48
        pop      rbx
        ret      
                        ;; size=6 bbWeight=1 PerfScore 1.75
 
-; Total bytes of code 31, prolog size 10, PerfScore 10.75, instruction count 11, allocated bytes for code 31 (MethodHash=235c0f2b) for method System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:ToImmutable():System.Collections.Immutable.ImmutableArray`1[System.__Canon]:this (Tier1)
+; Total bytes of code 46, prolog size 10, PerfScore 16.00, instruction count 15, allocated bytes for code 46 (MethodHash=235c0f2b) for method System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:ToImmutable():System.Collections.Immutable.ImmutableArray`1[System.__Canon]:this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+22 (+56.41%) : 68118.dasm - Microsoft.CodeAnalysis.BindingDiagnosticBag1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo1[System.__Canon]):this (Tier1)
@@ -9,47 +9,53 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  4,  3   )     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]>
+;  V00 this         [V00,T01] (  5,  3   )     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]>
 ;  V01 arg1         [V01,T00] (  3,  4   )   byref  ->  rdx         ld-addr-op single-def
 ;  V02 OutArgs      [V02    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;* V04 rat0         [V04,T02] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V04 rat0         [V04,T02] (  2,  0   )    long  ->  rcx         "Spilling to split statement for tree"
 ;* V05 rat1         [V05,T04] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V06 rat2         [V06,T03] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V06 rat2         [V06,T03] (  2,  0   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 48
 
 G_M44880_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbx
-       sub      rsp, 32
+       sub      rsp, 48
+       mov      qword ptr [rsp+0x28], rcx
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=13 bbWeight=1 PerfScore 2.50
 G_M44880_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref, isz
        ; byrRegs +[rdx]
        cmp      gword ptr [rbx+0x10], 0
        jne      SHORT G_M44880_IG04
                        ;; size=7 bbWeight=1 PerfScore 4.00
 G_M44880_IG03:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 32
+       add      rsp, 48
        pop      rbx
        ret      
                        ;; size=6 bbWeight=1 PerfScore 1.75
 G_M44880_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, gcvars, byref
+       mov      rcx, qword ptr [rbx]
+       mov      rcx, qword ptr [rcx+0x38]
+       mov      rcx, qword ptr [rcx]
+       mov      rcx, qword ptr [rcx+0x50]
+       test     rcx, rcx
        mov      rdx, gword ptr [rdx+0x08]
        ; gcrRegs +[rdx]
        ; byrRegs -[rdx]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
-                      ;; size=7 bbWeight=0 PerfScore 0.00
+                       ;; size=24 bbWeight=0 PerfScore 0.00
 G_M44880_IG05:        ; bbWeight=0, epilog, nogc, extend
-       add      rsp, 32
+       add      rsp, 48
        pop      rbx
        tail.jmp [<unknown method>]
        ; gcr arg pop 0
                        ;; size=11 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 39, prolog size 8, PerfScore 7.25, instruction count 13, allocated bytes for code 39 (MethodHash=282050af) for method Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]):this (Tier1)
+; Total bytes of code 61, prolog size 13, PerfScore 8.25, instruction count 19, allocated bytes for code 61 (MethodHash=282050af) for method Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -62,5 +68,5 @@ Unwind Info:
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 3 * 8 + 8 = 32 = 0x20
+    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
  
+15 (+78.95%) : 91015.dasm - System.Threading.Tasks.Task1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.TaskAwaiter1[System.__Canon]:this (Tier1)
@@ -15,9 +15,9 @@
 ;* V04 tmp3         [V04    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V05 tmp4         [V05    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V06 tmp5         [V06    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V02.m_task (fldOffset=0x0)" P-INDEP
-;* V07 rat0         [V07,T02] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V07 rat0         [V07,T02] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V08 rat1         [V08,T03] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V09 rat2         [V09,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V09 rat2         [V09,T01] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 40
 
@@ -27,16 +27,20 @@ G_M9200_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=9 bbWeight=1 PerfScore 1.25
 G_M9200_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rcx]
-       cmp      dword ptr [rcx], ecx
+       mov      rax, qword ptr [rcx]
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x10]
+       test     rax, rax
        mov      rax, rcx
        ; gcrRegs +[rax]
-                      ;; size=5 bbWeight=1 PerfScore 3.25
+                       ;; size=20 bbWeight=1 PerfScore 8.50
 G_M9200_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 19, prolog size 9, PerfScore 5.75, instruction count 6, allocated bytes for code 19 (MethodHash=f51cdc0f) for method System.Threading.Tasks.Task`1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.TaskAwaiter`1[System.__Canon]:this (Tier1)
+; Total bytes of code 34, prolog size 9, PerfScore 11.00, instruction count 10, allocated bytes for code 34 (MethodHash=f51cdc0f) for method System.Threading.Tasks.Task`1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.TaskAwaiter`1[System.__Canon]:this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
  
benchmarks.run_tiered.windows.x64.checked.mch
-17 (-3.04%) : 36132.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%) : 47882.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%) : 34241.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
...
  
+22 (+56.41%) : 42556.dasm - Microsoft.CodeAnalysis.BindingDiagnosticBag1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo1[System.__Canon]):this (Tier1)
@@ -8,48 +8,54 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  4,  3.50)     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]>
+;  V00 this         [V00,T01] (  5,  4   )     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]>
 ;  V01 arg1         [V01,T00] (  3,  5   )   byref  ->  rdx         ld-addr-op single-def
 ;  V02 OutArgs      [V02    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;* V04 rat0         [V04,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V04 rat0         [V04,T03] (  2,  2   )    long  ->  rcx         "Spilling to split statement for tree"
 ;* V05 rat1         [V05,T04] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V06 rat2         [V06,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V06 rat2         [V06,T02] (  2,  2   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 48
 
 G_M44880_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbx
-       sub      rsp, 32
+       sub      rsp, 48
+       mov      qword ptr [rsp+0x28], rcx
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=13 bbWeight=1 PerfScore 2.50
 G_M44880_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref, isz
        ; byrRegs +[rdx]
        cmp      gword ptr [rbx+0x10], 0
        je       SHORT G_M44880_IG05
                        ;; size=7 bbWeight=1 PerfScore 4.00
 G_M44880_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref
+       mov      rcx, qword ptr [rbx]
+       mov      rcx, qword ptr [rcx+0x38]
+       mov      rcx, qword ptr [rcx]
+       mov      rcx, qword ptr [rcx+0x50]
+       test     rcx, rcx
        mov      rdx, gword ptr [rdx+0x08]
        ; gcrRegs +[rdx]
        ; byrRegs -[rdx]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
-                      ;; size=7 bbWeight=0.50 PerfScore 1.12
+                        ;; size=24 bbWeight=0.50 PerfScore 5.25
 G_M44880_IG04:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 32
+       add      rsp, 48
        pop      rbx
        tail.jmp [<unknown method>]
        ; gcr arg pop 0
                        ;; size=11 bbWeight=0.50 PerfScore 1.38
 G_M44880_IG05:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rcx rdx]
-       add      rsp, 32
+       add      rsp, 48
        pop      rbx
        ret      
                        ;; size=6 bbWeight=0.50 PerfScore 0.88
 
-; Total bytes of code 39, prolog size 8, PerfScore 8.88, instruction count 13, allocated bytes for code 39 (MethodHash=282050af) for method Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]):this (Tier1)
+; Total bytes of code 61, prolog size 13, PerfScore 14.00, instruction count 19, allocated bytes for code 61 (MethodHash=282050af) for method Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -62,5 +68,5 @@ Unwind Info:
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 3 * 8 + 8 = 32 = 0x20
+    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
  
+15 (+78.95%) : 51703.dasm - System.Threading.Tasks.Task1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.TaskAwaiter1[System.__Canon]:this (Tier1)
@@ -15,9 +15,9 @@
 ;* V04 tmp3         [V04    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V05 tmp4         [V05    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V06 tmp5         [V06    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V02.m_task (fldOffset=0x0)" P-INDEP
-;* V07 rat0         [V07,T02] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V07 rat0         [V07,T02] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V08 rat1         [V08,T03] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V09 rat2         [V09,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V09 rat2         [V09,T01] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 40
 
@@ -27,16 +27,20 @@ G_M9200_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=9 bbWeight=1 PerfScore 1.25
 G_M9200_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rcx]
-       cmp      dword ptr [rcx], ecx
+       mov      rax, qword ptr [rcx]
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x10]
+       test     rax, rax
        mov      rax, rcx
        ; gcrRegs +[rax]
-                      ;; size=5 bbWeight=1 PerfScore 3.25
+                       ;; size=20 bbWeight=1 PerfScore 8.50
 G_M9200_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 19, prolog size 9, PerfScore 5.75, instruction count 6, allocated bytes for code 19 (MethodHash=f51cdc0f) for method System.Threading.Tasks.Task`1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.TaskAwaiter`1[System.__Canon]:this (Tier1)
+; Total bytes of code 34, prolog size 9, PerfScore 11.00, instruction count 10, allocated bytes for code 34 (MethodHash=f51cdc0f) for method System.Threading.Tasks.Task`1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.TaskAwaiter`1[System.__Canon]:this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+35 (+94.59%) : 16961.dasm - System.Collections.Immutable.ImmutableDictionary2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.Canon,System.Canon]]):this (Tier1)
@@ -16,13 +16,13 @@
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "dup spill" <System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V08 tmp5         [V08,T06] (  3,  2.50)     ref  ->  rcx         single-def "V02.[000..008)"
-;* V09 cse0         [V09,T05] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
-;* V10 rat0         [V10,T04] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V08 tmp5         [V08,T06] (  3,  2.50)     ref  ->  rax         single-def "V02.[000..008)"
+;  V09 cse0         [V09,T05] (  3,  3   )    long  ->  rcx         "CSE - aggressive"
+;  V10 rat0         [V10,T04] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V11 rat1         [V11,T07] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V12 rat2         [V12,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V12 rat2         [V12,T01] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;* V13 rat3         [V13,T08] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V14 rat4         [V14,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V14 rat4         [V14,T02] (  2,  4   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 48
 
@@ -35,18 +35,29 @@ G_M20412_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=13 bbWeight=1 PerfScore 2.50
 G_M20412_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref, isz
        ; byrRegs +[rdx]
-       cmp      dword ptr [rbx], ebx
-       mov      rcx, gword ptr [rdx+0x08]
-       ; gcrRegs +[rcx]
+       mov      rcx, qword ptr [rbx]
+       mov      rax, rcx
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x18]
+       test     rax, rax
+       mov      rax, gword ptr [rdx+0x08]
+       ; gcrRegs +[rax]
+       mov      rcx, qword ptr [rcx+0x38]
+       mov      rcx, qword ptr [rcx]
+       mov      rcx, qword ptr [rcx+0x20]
        test     rcx, rcx
+       test     rax, rax
        je       SHORT G_M20412_IG04
-                       ;; size=11 bbWeight=1 PerfScore 6.25
-G_M20412_IG03:        ; bbWeight=0.50, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
+                        ;; size=43 bbWeight=1 PerfScore 18.00
+G_M20412_IG03:        ; bbWeight=0.50, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdx]
+       mov      rcx, rax
+       ; gcrRegs +[rcx]
        call     [System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:Freeze():this]
-       ; gcrRegs -[rcx]
+       ; gcrRegs -[rax rcx]
        ; gcr arg pop 0
-                       ;; size=6 bbWeight=0.50 PerfScore 1.50
+                        ;; size=9 bbWeight=0.50 PerfScore 1.62
 G_M20412_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
@@ -56,7 +67,7 @@ G_M20412_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=6 bbWeight=1 PerfScore 1.75
 
-; Total bytes of code 37, prolog size 10, PerfScore 12.25, instruction count 13, allocated bytes for code 37 (MethodHash=5457b043) for method System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (Tier1)
+; Total bytes of code 72, prolog size 10, PerfScore 24.12, instruction count 23, allocated bytes for code 72 (MethodHash=5457b043) for method System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
  
coreclr_tests.run.windows.x64.checked.mch
-37 (-5.61%) : 492650.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%) : 449335.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
@@ -11,10 +11,10 @@
 ;
 ;  V00 arg0         [V00,T03] (  9,500.47)     ref  ->  rcx         class-hnd single-def <int[,]>
 ;* V01 arg1         [V01    ] (  0,  0   )   byref  ->  zero-ref    single-def
-;  V02 loc0         [V02,T17] (  6,100.53)     int  ->   r8        
+;  V02 loc0         [V02,T17] (  5,100.53)     int  ->   r8        
 ;  V03 loc1         [V03,T11] (  2,198.98)     int  ->  rsi        
 ;  V04 loc2         [V04,T12] (  2,198.98)     int  ->  r15        
-;  V05 loc3         [V05,T20] (  8,  0.55)     int  ->  r10        
+;  V05 loc3         [V05,T20] (  5,  0.55)     int  ->  r10        
 ;  V06 loc4         [V06,T16] (  6,101.04)     int  ->  rdx        
 ;  V07 loc5         [V07,T05] (  6,398.98)     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.49, gcrefRegs=0002 {rcx}, byrefRegs=0000 {},
 G_M3571_IG08:        ; bbWeight=0.51, 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.51 PerfScore 1.78
+       jle      SHORT G_M3571_IG04
+                       ;; size=7 bbWeight=0.51 PerfScore 0.76
 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.18, 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.16, instruction count 65, allocated bytes for code 229 (MethodHash=50acf20c) for method Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
  
-13 (-5.16%) : 449337.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
@@ -11,10 +11,10 @@
 ;
 ;  V00 arg0         [V00,T04] (  9,500.50)     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  ->  rdi        
 ;  V04 loc2         [V04,T12] (  2,199.00)     int  ->  rbp        
-;  V05 loc3         [V05,T20] (  8, 99.54)     int  ->  r10        
+;  V05 loc3         [V05,T20] (  5, 99.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"
@@ -103,13 +103,12 @@ G_M57584_IG07:        ; bbWeight=99.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {},
 G_M57584_IG08:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        inc      edx
        cmp      edx, r8d
-       jg       SHORT G_M57584_IG11
-       jmp      SHORT G_M57584_IG04
-                       ;; size=9 bbWeight=0.50 PerfScore 1.75
+       jle      SHORT G_M57584_IG04
+                       ;; size=7 bbWeight=0.50 PerfScore 0.75
 G_M57584_IG09:        ; bbWeight=0.01, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        inc      r10d
        cmp      r10d, r8d
-       jg       SHORT G_M57584_IG12
+       jg       SHORT G_M57584_IG11
        jmp      G_M57584_IG03
                        ;; size=13 bbWeight=0.01 PerfScore 0.03
 G_M57584_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -117,14 +116,10 @@ G_M57584_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M57584_IG11:        ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
-       ; gcrRegs +[rcx]
-       inc      r10d
-       cmp      r10d, r8d
-       jle      G_M57584_IG03
-                       ;; size=12 bbWeight=0 PerfScore 0.00
-G_M57584_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-       ; gcrRegs -[rcx]
+G_M57584_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       nop      
+                       ;; size=1 bbWeight=0 PerfScore 0.00
+G_M57584_IG12:        ; bbWeight=0, epilog, nogc, extend
        add      rsp, 184
        pop      rbx
        pop      rsi
@@ -135,7 +130,7 @@ G_M57584_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ret      
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 252, prolog size 82, PerfScore 2360.06, instruction count 70, allocated bytes for code 252 (MethodHash=862a1f0f) for method Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
+; Total bytes of code 239, prolog size 82, PerfScore 2359.06, instruction count 67, allocated bytes for code 239 (MethodHash=862a1f0f) for method Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
  
+23 (+104.55%) : 243852.dasm - ILGEN0x4601be46:Method0x9c86375f(ulong,ubyte):int (FullOpts)
@@ -8,19 +8,19 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  3,  3   )    long  ->  rcx         ld-addr-op single-def
-;* V01 arg1         [V01,T01] (  0,  0   )   ubyte  ->  zero-ref    ld-addr-op single-def
+;  V01 arg1         [V01,T01] (  3,  3   )   ubyte  ->  rdx         ld-addr-op single-def
 ;* V02 loc0         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
 ;* V03 loc1         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
 ;* V04 loc2         [V04,T04] (  0,  0   )   short  ->  zero-ref   
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V07 tmp1         [V07,T03] (  0,  0   )     int  ->  zero-ref   
+;  V07 tmp1         [V07,T03] (  2,  2   )     int  ->  rdx        
 ;* V08 tmp2         [V08,T05] (  0,  0   )  double  ->  zero-ref   
 ;* V09 tmp3         [V09    ] (  0,  0   )     int  ->  zero-ref   
 ;* V10 tmp4         [V10    ] (  0,  0   )     int  ->  zero-ref   
 ;* V11 tmp5         [V11    ] (  0,  0   )    long  ->  zero-ref   
 ;* V12 tmp6         [V12    ] (  0,  0   )  double  ->  zero-ref   
-;* V13 cse0         [V13,T02] (  0,  0   )     int  ->  zero-ref    "CSE - aggressive"
+;  V13 cse0         [V13,T02] (  3,  3   )     int  ->  rax         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -29,13 +29,19 @@ G_M16983_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M16983_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rax, 0xD1FFAB1E
        mov      qword ptr [(reloc)], rax
+       movzx    rax, dl
+       mov      edx, 4
+       mov      r8d, -1
+       cmp      eax, 6
+       cmovl    edx, r8d
+       cmp      edx, eax
        movsx    rax, cx
-                      ;; size=21 bbWeight=1 PerfScore 1.50
+                      ;; size=44 bbWeight=1 PerfScore 3.00
 G_M16983_IG03:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=1 PerfScore 1.00
 
-; Total bytes of code 22, prolog size 0, PerfScore 2.50, instruction count 4, allocated bytes for code 22 (MethodHash=0155bda8) for method ILGEN_0x4601be46:Method_0x9c86375f(ulong,ubyte):int (FullOpts)
+; Total bytes of code 45, prolog size 0, PerfScore 4.00, instruction count 10, allocated bytes for code 45 (MethodHash=0155bda8) for method ILGEN_0x4601be46:Method_0x9c86375f(ulong,ubyte):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+16 (+114.29%) : 183734.dasm - Program:TestSystem.__Canon:int (FullOpts)
@@ -8,27 +8,31 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 TypeCtx      [V00,T00] (  3,  3   )    long  ->  rcx         single-def
+;  V00 TypeCtx      [V00,T00] (  4,  4   )    long  ->  rcx         single-def
 ;  V01 OutArgs      [V01    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <MyInterfaceImpl`1[System.__Canon]>
 ;* V03 tmp2         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V04 rat0         [V04,T02] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V05 rat1         [V05,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V05 rat1         [V05,T01] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 40
 
 G_M46698_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        sub      rsp, 40
-                      ;; size=4 bbWeight=1 PerfScore 0.25
+       mov      qword ptr [rsp+0x20], rcx
+                       ;; size=9 bbWeight=1 PerfScore 1.25
 G_M46698_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      rax, qword ptr [rcx+0x38]
+       mov      rax, qword ptr [rax+0x10]
+       test     rax, rax
        mov      eax, 100
-                     ;; size=5 bbWeight=1 PerfScore 0.25
+                       ;; size=16 bbWeight=1 PerfScore 4.50
 G_M46698_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 14, prolog size 4, PerfScore 1.75, instruction count 4, allocated bytes for code 14 (MethodHash=498b4995) for method Program:Test[System.__Canon]():int (FullOpts)
+; Total bytes of code 30, prolog size 9, PerfScore 7.00, instruction count 8, allocated bytes for code 30 (MethodHash=498b4995) for method Program:Test[System.__Canon]():int (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+36 (+257.14%) : 244043.dasm - ILGEN0x2dda4eb5:Method0xa084659a():ushort (FullOpts)
@@ -9,23 +9,34 @@
 ;
 ;* V00 loc0         [V00,T02] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
 ;  V01 OutArgs      [V01    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V02 tmp1         [V02,T00] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
-;* V03 cse0         [V03,T01] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
+;  V02 tmp1         [V02,T00] (  2,  4   )     ref  ->  rax         single-def "arr expr"
+;  V03 cse0         [V03,T01] (  2,  2   )    long  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 40
 
 G_M5817_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        sub      rsp, 40
-                      ;; size=4 bbWeight=1 PerfScore 0.25
+       vzeroupper 
+                       ;; size=7 bbWeight=1 PerfScore 1.25
 G_M5817_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      rcx, 0xD1FFAB1E      ; <unknown class>
+       mov      edx, 41
+       call     CORINFO_HELP_NEWARR_1_VC
+       ; gcrRegs +[rax]
+       ; gcr arg pop 0
+       vmovsd   xmm0, qword ptr [reloc @RWD00]
+       vucomisd xmm0, qword ptr [rax+0x48]
        mov      eax, 100
-                       ;; size=5 bbWeight=1 PerfScore 0.25
+       ; gcrRegs -[rax]
+                       ;; size=38 bbWeight=1 PerfScore 9.75
 G_M5817_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
+RWD00      dq  401C000000000000h   ;            7
 
-; Total bytes of code 14, prolog size 4, PerfScore 1.75, instruction count 4, allocated bytes for code 14 (MethodHash=cc10e946) for method ILGEN_0x2dda4eb5:Method_0xa084659a():ushort (FullOpts)
+
+; Total bytes of code 50, prolog size 7, PerfScore 12.25, instruction count 10, allocated bytes for code 50 (MethodHash=cc10e946) for method ILGEN_0x2dda4eb5:Method_0xa084659a():ushort (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
libraries.crossgen2.windows.x64.checked.mch
-24 (-3.71%) : 62889.dasm - Microsoft.CodeAnalysis.CSharp.AccessCheck:InheritsFromOrImplementsIgnoringConstruction(Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpCompilation,byref,Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):ubyte (FullOpts)
@@ -21,15 +21,15 @@
 ;  V09 loc4         [V09,T00] (  9, 26   )     ref  ->  r15         class-hnd <Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol>
 ;  V10 loc5         [V10,T14] (  5,  4   )   ubyte  ->  [rbp-0x4C] 
 ;  V11 loc6         [V11,T05] (  3, 12   )     ref  ->  rax         class-hnd <Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol>
-;  V12 loc7         [V12,T04] (  4, 12   )     ref  ->  r15         class-hnd <Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol>
+;  V12 loc7         [V12,T04] (  4, 12   )     ref  ->  [rbp-0x70]  class-hnd spill-single-def <Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol>
 ;  V13 loc8         [V13    ] (  6,  9.50)  struct (24) [rbp-0x68]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.HashSet`1+Enumerator[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]>
 ;  V14 OutArgs      [V14    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V15 tmp1         [V15,T01] (  2, 16   )     ref  ->  rcx         "argument with side effect"
-;  V16 PSPSym       [V16,T15] (  1,  1   )    long  ->  [rbp-0x70]  do-not-enreg[V] "PSPSym"
-;  V17 cse0         [V17,T07] (  7,  9.50)    long  ->  rdi         multi-def "CSE - aggressive"
-;  V18 cse1         [V18,T13] (  2,  4.50)    long  ->  rdi         hoist "CSE - aggressive"
+;  V16 PSPSym       [V16,T15] (  1,  1   )    long  ->  [rbp-0x80]  do-not-enreg[V] "PSPSym"
+;  V17 cse0         [V17,T07] (  7,  9.50)    long  ->  r15         multi-def "CSE - aggressive"
+;  V18 cse1         [V18,T13] (  2,  4.50)    long  ->  r15         hoist "CSE - aggressive"
 ;
-; Lcl frame size = 88
+; Lcl frame size = 104
 
 G_M39728_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
@@ -40,14 +40,14 @@ G_M39728_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 88
-       lea      rbp, [rsp+0x90]
+       sub      rsp, 104
+       lea      rbp, [rsp+0xA0]
        xor      eax, eax
        mov      qword ptr [rbp-0x68], rax
        xorps    xmm4, xmm4
        movaps   xmmword ptr [rbp-0x60], xmm4
        movaps   xmmword ptr [rbp-0x50], xmm4
-       mov      qword ptr [rbp-0x70], rsp
+       mov      qword ptr [rbp-0x80], rsp
        mov      r15, rcx
        ; gcrRegs +[r15]
        mov      rsi, rdx
@@ -165,13 +165,14 @@ G_M39728_IG10:        ; bbWeight=4, gcrefRegs=F0C0 {rsi rdi r12 r13 r14 r15}, by
        test     r15, r15
        jne      SHORT G_M39728_IG06
                        ;; size=63 bbWeight=4 PerfScore 58.00
-G_M39728_IG11:        ; bbWeight=0.50, gcrefRegs=7040 {rsi r12 r13 r14}, byrefRegs=0008 {rbx}, byref, isz
+G_M39728_IG11:        ; bbWeight=1, gcrefRegs=7040 {rsi r12 r13 r14}, byrefRegs=0008 {rbx}, byref, isz
        ; gcrRegs -[rdi r15]
        jmp      SHORT G_M39728_IG13
-                      ;; size=2 bbWeight=0.50 PerfScore 1.00
+                        ;; size=2 bbWeight=1 PerfScore 2.00
 G_M39728_IG12:        ; bbWeight=0.50, gcrefRegs=7040 {rsi r12 r13 r14}, byrefRegs=0008 {rbx}, byref
-       mov      dword ptr [rbp-0x4C], 1
-                       ;; size=7 bbWeight=0.50 PerfScore 0.50
+       mov      edi, 1
+       mov      dword ptr [rbp-0x4C], edi
+                       ;; size=8 bbWeight=0.50 PerfScore 0.62
 G_M39728_IG13:        ; bbWeight=1, gcrefRegs=7040 {rsi r12 r13 r14}, byrefRegs=0008 {rbx}, byref, isz
        cmp      gword ptr [rbp-0x48], 0
        je       SHORT G_M39728_IG15
@@ -183,13 +184,14 @@ G_M39728_IG14:        ; bbWeight=0.50, gcrefRegs=7040 {rsi r12 r13 r14}, byrefRe
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=10 bbWeight=0.50 PerfScore 2.00
-G_M39728_IG15:        ; bbWeight=1, gcrefRegs=7040 {rsi r12 r13 r14}, byrefRegs=0008 {rbx}, byref, isz
+G_M39728_IG15:        ; bbWeight=1, gcrefRegs=7040 {rsi r12 r13 r14}, byrefRegs=0008 {rbx}, byref
+       mov      edi, dword ptr [rbp-0x4C]
        xor      ecx, ecx
-       cmp      dword ptr [rbp-0x4C], 0
+       test     edi, edi
        sete     cl
        test     ecx, dword ptr [rbp-0x3C]
-       je       SHORT G_M39728_IG22
-                       ;; size=14 bbWeight=1 PerfScore 6.25
+       je       G_M39728_IG26
+                       ;; size=19 bbWeight=1 PerfScore 5.50
 G_M39728_IG16:        ; bbWeight=0.50, gcrefRegs=7040 {rsi r12 r13 r14}, byrefRegs=0008 {rbx}, byref, isz
        mov      rcx, r12
        ; gcrRegs +[rcx]
@@ -199,19 +201,19 @@ G_M39728_IG16:        ; bbWeight=0.50, gcrefRegs=7040 {rsi r12 r13 r14}, byrefRe
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
-       je       SHORT G_M39728_IG21
-       mov      rdi, qword ptr [(reloc)]
+       je       SHORT G_M39728_IG22
+       mov      r15, qword ptr [(reloc)]
                        ;; size=26 bbWeight=0.50 PerfScore 5.00
 G_M39728_IG17:        ; bbWeight=4, gcrefRegs=7040 {rsi r12 r13 r14}, byrefRegs=0008 {rbx}, byref, isz
-       mov      rcx, rdi
+       mov      rcx, r15
        mov      rdx, r12
        ; gcrRegs +[rdx]
        call     [<unknown method>]
        ; gcrRegs -[rdx] +[rax]
        ; gcr arg pop 0
-       mov      r15, rax
-       ; gcrRegs +[r15]
-       mov      rcx, r15
+       mov      gword ptr [rbp-0x70], rax
+       ; GC ptr vars +{V12}
+       mov      rcx, rax
        ; gcrRegs +[rcx]
        lea      r11, [(reloc)]      ; function address
        cmp      dword ptr [rcx], ecx
@@ -220,22 +222,23 @@ G_M39728_IG17:        ; bbWeight=4, gcrefRegs=7040 {rsi r12 r13 r14}, byrefRegs=
        ; gcr arg pop 0
        test     eax, eax
        je       SHORT G_M39728_IG19
-                      ;; size=34 bbWeight=4 PerfScore 47.00
-G_M39728_IG18:        ; bbWeight=2, gcrefRegs=F040 {rsi r12 r13 r14 r15}, byrefRegs=0008 {rbx}, byref, isz
-       cmp      r15, rsi
-       je       SHORT G_M39728_IG23
-       mov      rcx, r15
+                     ;; size=35 bbWeight=4 PerfScore 50.00
+G_M39728_IG18:        ; bbWeight=2, gcrefRegs=7040 {rsi r12 r13 r14}, byrefRegs=0008 {rbx}, byref, isz
+       mov      rcx, gword ptr [rbp-0x70]
        ; gcrRegs +[rcx]
+       cmp      rcx, rsi
+       je       SHORT G_M39728_IG21
        mov      rdx, r12
        ; gcrRegs +[rdx]
        mov      r8, r13
        ; gcrRegs +[r8]
        mov      r9, r14
        ; gcrRegs +[r9]
+       ; GC ptr vars -{V12}
        call     [<unknown method>]
-       ; gcrRegs -[rcx rdx r8-r9 r15]
+       ; gcrRegs -[rcx rdx r8-r9]
        ; gcr arg pop 0
-                      ;; size=23 bbWeight=2 PerfScore 10.50
+                     ;; size=24 bbWeight=2 PerfScore 12.00
 G_M39728_IG19:        ; bbWeight=4, gcrefRegs=7040 {rsi r12 r13 r14}, byrefRegs=0008 {rbx}, byref, isz
        mov      rcx, r12
        ; gcrRegs +[rcx]
@@ -248,24 +251,14 @@ G_M39728_IG19:        ; bbWeight=4, gcrefRegs=7040 {rsi r12 r13 r14}, byrefRegs=
                        ;; size=17 bbWeight=4 PerfScore 20.00
 G_M39728_IG20:        ; bbWeight=0.50, gcrefRegs=3000 {r12 r13}, byrefRegs=0008 {rbx}, byref, isz
        ; gcrRegs -[rsi r14]
-       mov      esi, dword ptr [rbp-0x4C]
-       jmp      SHORT G_M39728_IG24
-                       ;; size=5 bbWeight=0.50 PerfScore 1.50
-G_M39728_IG21:        ; bbWeight=0.25, gcrefRegs=3000 {r12 r13}, byrefRegs=0008 {rbx}, byref, isz
-       mov      esi, dword ptr [rbp-0x4C]
-       jmp      SHORT G_M39728_IG24
-                       ;; size=5 bbWeight=0.25 PerfScore 0.75
-G_M39728_IG22:        ; bbWeight=0.50, gcrefRegs=3000 {r12 r13}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M39728_IG22
+                       ;; size=2 bbWeight=0.50 PerfScore 1.00
+G_M39728_IG21:        ; bbWeight=0.50, gcrefRegs=3000 {r12 r13}, byrefRegs=0000 {}, byref, isz
        ; byrRegs -[rbx]
-       mov      edx, dword ptr [rbp-0x4C]
-       jmp      SHORT G_M39728_IG28
-                       ;; size=5 bbWeight=0.50 PerfScore 1.50
-G_M39728_IG23:        ; bbWeight=0.50, gcrefRegs=3000 {r12 r13}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rbp-0x4C], 1
-       mov      edx, dword ptr [rbp-0x4C]
-       jmp      SHORT G_M39728_IG28
-                       ;; size=12 bbWeight=0.50 PerfScore 2.00
-G_M39728_IG24:        ; bbWeight=0.50, gcrefRegs=3000 {r12 r13}, byrefRegs=0008 {rbx}, byref
+       mov      edi, 1
+       jmp      SHORT G_M39728_IG26
+                       ;; size=7 bbWeight=0.50 PerfScore 1.12
+G_M39728_IG22:        ; bbWeight=0.50, gcrefRegs=3000 {r12 r13}, byrefRegs=0008 {rbx}, byref
        ; byrRegs +[rbx]
        lea      rdx, [rbp-0x68]
        mov      rcx, r13
@@ -277,18 +270,18 @@ G_M39728_IG24:        ; bbWeight=0.50, gcrefRegs=3000 {r12 r13}, byrefRegs=0008
        ; gcr arg pop 0
        nop      
                        ;; size=20 bbWeight=0.50 PerfScore 3.75
-G_M39728_IG25:        ; bbWeight=0.50, gcrefRegs=3000 {r12 r13}, byrefRegs=0008 {rbx}, byref, isz
+G_M39728_IG23:        ; bbWeight=0.50, gcrefRegs=3000 {r12 r13}, byrefRegs=0008 {rbx}, byref, isz
        lea      rcx, [rbp-0x68]
-       mov      rdi, qword ptr [(reloc)]
-       mov      rdx, rdi
+       mov      r15, qword ptr [(reloc)]
+       mov      rdx, r15
        call     [<unknown method>]
        ; gcr arg pop 0
        test     eax, eax
-       je       SHORT G_M39728_IG27
+       je       SHORT G_M39728_IG25
                      ;; size=24 bbWeight=0.50 PerfScore 3.50
-G_M39728_IG26:        ; bbWeight=4, gcrefRegs=3000 {r12 r13}, byrefRegs=0008 {rbx}, byref, isz
+G_M39728_IG24:        ; bbWeight=4, gcrefRegs=3000 {r12 r13}, byrefRegs=0008 {rbx}, byref, isz
        lea      rcx, [rbp-0x68]
-       mov      rdx, rdi
+       mov      rdx, r15
        call     [<unknown method>]
        ; gcrRegs +[rax]
        ; gcr arg pop 0
@@ -302,51 +295,46 @@ G_M39728_IG26:        ; bbWeight=4, gcrefRegs=3000 {r12 r13}, byrefRegs=0008 {rb
        ; byrRegs -[rdx]
        ; gcr arg pop 0
        lea      rcx, [rbp-0x68]
-       mov      rdx, rdi
+       mov      rdx, r15
        call     [<unknown method>]
        ; gcr arg pop 0
        test     eax, eax
-       jne      SHORT G_M39728_IG26
+       jne      SHORT G_M39728_IG24
                      ;; size=48 bbWeight=4 PerfScore 50.00
-G_M39728_IG27:        ; bbWeight=0.50, gcrefRegs=3000 {r12 r13}, byrefRegs=0000 {}, byref
+G_M39728_IG25:        ; bbWeight=0.50, gcrefRegs=3000 {r12 r13}, byrefRegs=0000 {}, byref
        ; byrRegs -[rbx]
        lea      rcx, [rbp-0x68]
-       mov      rdx, rdi
+       mov      rdx, r15
        call     [<unknown method>]
        ; gcr arg pop 0
-       mov      edx, esi
-                       ;; size=15 bbWeight=0.50 PerfScore 2.00
-G_M39728_IG28:        ; bbWeight=1, gcrefRegs=3000 {r12 r13}, byrefRegs=0000 {}, byref, isz
+                      ;; size=13 bbWeight=0.50 PerfScore 1.88
+G_M39728_IG26:        ; bbWeight=1, gcrefRegs=3000 {r12 r13}, byrefRegs=0000 {}, byref, isz
        test     r13, r13
-       je       SHORT G_M39728_IG30
+       je       SHORT G_M39728_IG28
                       ;; size=5 bbWeight=1 PerfScore 1.25
-G_M39728_IG29:        ; bbWeight=0.50, gcrefRegs=3000 {r12 r13}, byrefRegs=0000 {}, byref
-       mov      dword ptr [rbp-0x4C], edx
+G_M39728_IG27:        ; bbWeight=0.50, gcrefRegs=3000 {r12 r13}, byrefRegs=0000 {}, byref
        mov      rcx, r13
        ; gcrRegs +[rcx]
        call     [<unknown method>]
        ; gcrRegs -[rcx r13]
        ; gcr arg pop 0
-       mov      edx, dword ptr [rbp-0x4C]
-                       ;; size=15 bbWeight=0.50 PerfScore 2.62
-G_M39728_IG30:        ; bbWeight=1, gcrefRegs=1000 {r12}, byrefRegs=0000 {}, byref, isz
+                      ;; size=9 bbWeight=0.50 PerfScore 1.62
+G_M39728_IG28:        ; bbWeight=1, gcrefRegs=1000 {r12}, byrefRegs=0000 {}, byref, isz
        test     r12, r12
-       je       SHORT G_M39728_IG32
+       je       SHORT G_M39728_IG30
                       ;; size=5 bbWeight=1 PerfScore 1.25
-G_M39728_IG31:        ; bbWeight=0.50, gcrefRegs=1000 {r12}, byrefRegs=0000 {}, byref
-       mov      dword ptr [rbp-0x4C], edx
+G_M39728_IG29:        ; bbWeight=0.50, gcrefRegs=1000 {r12}, byrefRegs=0000 {}, byref
        mov      rcx, r12
        ; gcrRegs +[rcx]
        call     [<unknown method>]
        ; gcrRegs -[rcx r12]
        ; gcr arg pop 0
-       mov      edx, dword ptr [rbp-0x4C]
-                       ;; size=15 bbWeight=0.50 PerfScore 2.62
-G_M39728_IG32:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       mov      eax, edx
+                     ;; size=9 bbWeight=0.50 PerfScore 1.62
...
  
-44 (-2.68%) : 108611.dasm - System.Xml.DtdParser:ScanAttlist2():int:this (FullOpts)
@@ -56,13 +56,13 @@
 ;  V44 tmp40        [V44,T37] (  3,  3   )     ref  ->  rcx         "arr expr"
 ;  V45 tmp41        [V45,T42] (  3,  3   )     int  ->  rax         "index expr"
 ;  V46 tmp42        [V46,T67] (  2,  2   )     ref  ->   r8         "argument with side effect"
-;  V47 tmp43        [V47,T91] (  2,  2   )     int  ->  rsi         "argument with side effect"
+;  V47 tmp43        [V47,T91] (  2,  2   )     int  ->  rbp         "argument with side effect"
 ;  V48 tmp44        [V48,T27] (  2,  8   )     ref  ->   r8         "argument with side effect"
-;  V49 tmp45        [V49,T31] (  2,  8   )     int  ->  rsi         "argument with side effect"
+;  V49 tmp45        [V49,T31] (  2,  8   )     int  ->  rbp         "argument with side effect"
 ;  V50 tmp46        [V50,T68] (  2,  2   )     ref  ->  rcx         "arr expr"
 ;  V51 tmp47        [V51,T43] (  3,  3   )     int  ->  rax         "index expr"
 ;  V52 tmp48        [V52,T69] (  2,  2   )     ref  ->   r8         "argument with side effect"
-;  V53 tmp49        [V53,T92] (  2,  2   )     int  ->  r14         "argument with side effect"
+;  V53 tmp49        [V53,T92] (  2,  2   )     int  ->  rsi         "argument with side effect"
 ;  V54 tmp50        [V54,T38] (  3,  3   )     ref  ->  rax         "arr expr"
 ;  V55 tmp51        [V55,T44] (  3,  3   )     int  ->   r8         "index expr"
 ;  V56 tmp52        [V56,T70] (  2,  2   )     ref  ->  rax         "arr expr"
@@ -70,8 +70,8 @@
 ;  V58 tmp54        [V58,T71] (  2,  2   )     ref  ->  rcx         "arr expr"
 ;  V59 tmp55        [V59,T46] (  3,  3   )     int  ->  rax         "index expr"
 ;  V60 tmp56        [V60,T72] (  2,  2   )     ref  ->   r8         "argument with side effect"
-;  V61 tmp57        [V61,T93] (  2,  2   )     int  ->  r13         "argument with side effect"
-;  V62 tmp58        [V62,T39] (  3,  3   )     ref  ->  rcx         "arr expr"
+;  V61 tmp57        [V61,T93] (  2,  2   )     int  ->  rsi         "argument with side effect"
+;  V62 tmp58        [V62,T39] (  3,  3   )     ref  ->  rax         "arr expr"
 ;  V63 tmp59        [V63,T47] (  3,  3   )     int  ->   r8         "index expr"
 ;  V64 tmp60        [V64,T11] (  3, 12   )     ref  ->  rcx         "arr expr"
 ;  V65 tmp61        [V65,T17] (  3, 12   )     int  ->  rax         "index expr"
@@ -86,11 +86,11 @@
 ;  V74 tmp70        [V74,T77] (  2,  2   )     ref  ->  rcx         "arr expr"
 ;  V75 tmp71        [V75,T52] (  3,  3   )     int  ->  rax         "index expr"
 ;  V76 tmp72        [V76,T78] (  2,  2   )     ref  ->   r8         "argument with side effect"
-;  V77 tmp73        [V77,T94] (  2,  2   )     int  ->  rsi         "argument with side effect"
+;  V77 tmp73        [V77,T94] (  2,  2   )     int  ->  rdi         "argument with side effect"
 ;  V78 tmp74        [V78,T40] (  3,  3   )     ref  ->  rax         "arr expr"
 ;  V79 tmp75        [V79,T53] (  3,  3   )     int  ->   r8         "index expr"
 ;  V80 tmp76        [V80,T28] (  2,  8   )     ref  ->   r8         "argument with side effect"
-;  V81 tmp77        [V81,T32] (  2,  8   )     int  ->  r15         "argument with side effect"
+;  V81 tmp77        [V81,T32] (  2,  8   )     int  ->  rbp         "argument with side effect"
 ;  V82 tmp78        [V82,T79] (  2,  2   )     ref  ->  rcx         "arr expr"
 ;  V83 tmp79        [V83,T54] (  3,  3   )     int  ->  rax         "index expr"
 ;  V84 tmp80        [V84,T80] (  2,  2   )     ref  ->  rcx         "arr expr"
@@ -101,10 +101,10 @@
 ;  V89 tmp85        [V89,T57] (  3,  3   )     int  ->  rax         "index expr"
 ;  V90 tmp86        [V90,T83] (  2,  2   )     ref  ->  rcx         "arr expr"
 ;  V91 tmp87        [V91,T58] (  3,  3   )     int  ->  rax         "index expr"
-;  V92 tmp88        [V92,T84] (  2,  2   )     ref  ->  r14         "arr expr"
+;  V92 tmp88        [V92,T84] (  2,  2   )     ref  ->  rsi         "arr expr"
 ;  V93 tmp89        [V93,T59] (  3,  3   )     int  ->  rcx         "index expr"
 ;  V94 tmp90        [V94,T85] (  2,  2   )     ref  ->   r8         "argument with side effect"
-;  V95 tmp91        [V95,T95] (  2,  2   )     int  ->  r15         "argument with side effect"
+;  V95 tmp91        [V95,T95] (  2,  2   )     int  ->  rbp         "argument with side effect"
 ;  V96 tmp92        [V96,T29] (  2,  8   )     ref  ->   r8         "argument with side effect"
 ;  V97 tmp93        [V97,T33] (  2,  8   )     int  ->  rdi         "argument with side effect"
 ;  V98 tmp94        [V98,T07] (  2, 16   )     ref  ->   r8         "argument with side effect"
@@ -124,23 +124,21 @@
 ;  V112 cse2        [V112,T99] (  3,  1.50)     int  ->  rdx         "CSE - conservative"
 ;  V113 cse3        [V113,T03] ( 20, 40   )     int  ->  rdi         "CSE - aggressive"
 ;  V114 cse4        [V114,T04] ( 11, 26.50)     ref  ->  rsi         "CSE - aggressive"
-;  V115 cse5        [V115,T09] ( 16, 12.50)     int  ->  r15         "CSE - moderate"
-;  V116 cse6        [V116,T18] ( 13,  9.50)     ref  ->  r14         "CSE - moderate"
-;  V117 cse7        [V117,T21] (  7,  8   )     int  ->  rsi         "CSE - moderate"
-;  V118 cse8        [V118,T64] (  5,  2.50)     int  ->  r13         "CSE - conservative"
+;  V115 cse5        [V115,T09] ( 16, 12.50)     int  ->  rbp         "CSE - moderate"
+;  V116 cse6        [V116,T18] ( 13,  9.50)     ref  ->  rsi         "CSE - moderate"
+;  V117 cse7        [V117,T21] (  7,  8   )     int  ->  rbp         "CSE - moderate"
+;  V118 cse8        [V118,T64] (  5,  2.50)     int  ->  rsi         "CSE - conservative"
 ;  V119 cse9        [V119,T65] (  4,  2   )     ref  ->  rcx         "CSE - conservative"
-;  V120 cse10       [V120,T100] (  3,  1.50)     int  ->  rax         "CSE - conservative"
+;  V120 cse10       [V120,T100] (  3,  1.50)     int  ->  rcx         "CSE - conservative"
 ;  V121 cse11       [V121,T101] (  3,  1.50)     int  ->  rcx         "CSE - conservative"
 ;  V122 cse12       [V122,T05] ( 11, 26.50)     int  ->  rbp         "CSE - aggressive"
-;  V123 cse13       [V123,T19] ( 13,  9.50)     int  ->  r13         "CSE - moderate"
+;  V123 cse13       [V123,T19] ( 13,  9.50)     int  ->  r14         "CSE - moderate"
 ;  V124 cse14       [V124,T66] (  4,  2   )     int  ->  r10         "CSE - conservative"
 ;
 ; Lcl frame size = 32
 
 G_M52277_IG01:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-       push     r15
        push     r14
-       push     r13
        push     rdi
        push     rsi
        push     rbp
@@ -148,7 +146,7 @@ G_M52277_IG01:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        sub      rsp, 32
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=17 bbWeight=8 PerfScore 60.00
+                     ;; size=13 bbWeight=8 PerfScore 44.00
 G_M52277_IG02:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rsi, gword ptr [rbx+0x38]
        ; gcrRegs +[rsi]
@@ -245,8 +243,8 @@ G_M52277_IG07:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
 G_M52277_IG08:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rbx+0x38]
        ; gcrRegs +[rcx]
-       mov      esi, dword ptr [rbx+0x74]
-       lea      eax, [rsi+0x05]
+       mov      ebp, dword ptr [rbx+0x74]
+       lea      eax, [rbp+0x05]
        cmp      eax, dword ptr [rcx+0x08]
        jae      G_M52277_IG40
        movzx    rcx, word  ptr [rcx+2*rax+0x10]
@@ -263,7 +261,7 @@ G_M52277_IG08:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        mov      r8, rax
        ; gcrRegs +[r8]
-       mov      edx, esi
+       mov      edx, ebp
        mov      r9, qword ptr [(reloc)]      ; const ptr
        mov      r9, gword ptr [r9]
        ; gcrRegs +[r9]
@@ -296,14 +294,14 @@ G_M52277_IG11:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        je       G_M52277_IG14
                        ;; size=22 bbWeight=2 PerfScore 13.50
 G_M52277_IG12:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      r14, gword ptr [rbx+0x38]
-       ; gcrRegs +[r14]
-       mov      rcx, r14
+       mov      rsi, gword ptr [rbx+0x38]
+       ; gcrRegs +[rsi]
+       mov      rcx, rsi
        ; gcrRegs +[rcx]
-       mov      r15d, dword ptr [rbx+0x74]
-       lea      eax, [r15+0x01]
-       mov      r13d, dword ptr [rcx+0x08]
-       cmp      eax, r13d
+       mov      ebp, dword ptr [rbx+0x74]
+       lea      eax, [rbp+0x01]
+       mov      r14d, dword ptr [rcx+0x08]
+       cmp      eax, r14d
        jae      G_M52277_IG40
        movzx    rcx, word  ptr [rcx+2*rax+0x10]
        ; gcrRegs -[rcx]
@@ -315,11 +313,11 @@ G_M52277_IG12:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rcx, gword ptr [rcx]
        ; gcrRegs +[rcx]
        call     [<unknown method>]
-       ; gcrRegs -[rcx r14] +[rax]
+       ; gcrRegs -[rcx rsi] +[rax]
        ; gcr arg pop 0
        mov      r8, rax
        ; gcrRegs +[r8]
-       mov      edx, r15d
+       mov      edx, ebp
        mov      r9, qword ptr [(reloc)]      ; const ptr
        mov      r9, gword ptr [r9]
        ; gcrRegs +[r9]
@@ -329,7 +327,7 @@ G_M52277_IG12:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs -[rax rcx r8-r9]
        ; gcr arg pop 0
        jmp      SHORT G_M52277_IG14
-                      ;; size=94 bbWeight=2 PerfScore 58.50
+                     ;; size=91 bbWeight=2 PerfScore 58.50
 G_M52277_IG13:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, qword ptr [(reloc)]      ; const ptr
        mov      rcx, gword ptr [rcx]
@@ -390,11 +388,9 @@ G_M52277_IG16:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbp
        pop      rsi
        pop      rdi
-       pop      r13
        pop      r14
-       pop      r15
        ret      
-                     ;; size=15 bbWeight=0.50 PerfScore 2.38
+                       ;; size=11 bbWeight=0.50 PerfScore 1.88
 G_M52277_IG17:        ; bbWeight=0.50, gcVars=00000000000000000000000000000000 {}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rsi]
        mov      rcx, rsi
@@ -455,21 +451,19 @@ G_M52277_IG20:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbp
        pop      rsi
        pop      rdi
-       pop      r13
        pop      r14
-       pop      r15
        ret      
-                     ;; size=15 bbWeight=0.50 PerfScore 2.38
+                       ;; size=11 bbWeight=0.50 PerfScore 1.88
 G_M52277_IG21:        ; bbWeight=0.50, gcVars=00000000000000000000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
        mov      rcx, gword ptr [rbx+0x38]
        ; gcrRegs +[rcx]
-       lea      eax, [rsi+0x06]
+       lea      eax, [rbp+0x06]
        cmp      eax, dword ptr [rcx+0x08]
        jae      G_M52277_IG40
        cmp      word  ptr [rcx+2*rax+0x10], 69
        jne      SHORT G_M52277_IG22
        mov      rcx, gword ptr [rbx+0x38]
-       lea      eax, [rsi+0x07]
+       lea      eax, [rbp+0x07]
        cmp      eax, dword ptr [rcx+0x08]
        jae      G_M52277_IG40
        cmp      word  ptr [rcx+2*rax+0x10], 83
@@ -485,7 +479,7 @@ G_M52277_IG22:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
        mov      r8, rax
        ; gcrRegs +[r8]
-       mov      edx, esi
+       mov      edx, ebp
        mov      r9, qword ptr [(reloc)]      ; const ptr
        mov      r9, gword ptr [r9]
        ; gcrRegs +[r9]
@@ -505,13 +499,11 @@ G_M52277_IG24:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbp
        pop      rsi
        pop      rdi
-       pop      r13
        pop      r14
-       pop      r15
        ret      
-                     ;; size=15 bbWeight=0.50 PerfScore 2.38
+                       ;; size=11 bbWeight=0.50 PerfScore 1.88
 G_M52277_IG25:        ; bbWeight=0.50, gcVars=00000000000000000000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
-       lea      ecx, [rsi+0x06]
+       lea      ecx, [rbp+0x06]
        mov      dword ptr [rbx+0x74], ecx
        mov      eax, 4
        jmp      G_M52277_IG39
@@ -526,17 +518,18 @@ G_M52277_IG26:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
        jae      G_M52277_IG40
        cmp      word  ptr [rcx+2*rax+0x10], 68
        je       SHORT G_M52277_IG27
-       mov      r14d, edi
+       mov      esi, edi
+       ; gcrRegs -[rsi]
        mov      rcx, qword ptr [(reloc)]      ; const ptr
        ; gcrRegs -[rcx]
        mov      rcx, gword ptr [rcx]
        ; gcrRegs +[rcx]
        call     [<unknown method>]
-       ; gcrRegs -[rcx rsi] +[rax]
+       ; gcrRegs -[rcx] +[rax]
        ; gcr arg pop 0
        mov      r8, rax
        ; gcrRegs +[r8]
-       mov      edx, r14d
+       mov      edx, esi
        mov      r9, qword ptr [(reloc)]      ; const ptr
        mov      r9, gword ptr [r9]
        ; gcrRegs +[r9]
@@ -545,14 +538,14 @@ G_M52277_IG26:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
        call     [System.Xml.DtdParser:Throw(int,System.String,System.String):this]
        ; gcrRegs -[rax rcx r8-r9]
        ; gcr arg pop 0
-                       ;; size=73 bbWeight=0.50 PerfScore 11.00
+                      ;; size=71 bbWeight=0.50 PerfScore 11.00
...
  
-12 (-2.56%) : 91573.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Blender+Cursor:MoveToNextSibling():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Blender+Cursor:this (FullOpts)
@@ -10,47 +10,47 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T03] (  7,  5.50)   byref  ->  rbp         this single-def
-;  V01 RetBuf       [V01,T02] (  9, 10   )   byref  ->  rbx         single-def
-;  V02 loc0         [V02    ] (  3,  5   )  struct (16) [rsp+0xA8]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.ChildSyntaxList>
-;  V03 loc1         [V03,T00] (  7, 19   )     int  ->  r14        
-;  V04 loc2         [V04,T05] (  3,  5   )     int  ->  r15        
-;  V05 loc3         [V05    ] (  3, 10   )  struct (24) [rsp+0x90]  do-not-enreg[XS] must-init addr-exposed <Microsoft.CodeAnalysis.SyntaxNodeOrToken>
-;  V06 loc4         [V06    ] (  4,  2   )  struct (32) [rsp+0x70]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Blender+Cursor>
+;  V01 RetBuf       [V01,T02] (  9,  5.50)   byref  ->  rbx         single-def
+;  V02 loc0         [V02    ] (  3,  5   )  struct (16) [rsp+0xB0]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.ChildSyntaxList>
+;  V03 loc1         [V03,T00] (  7, 17.50)     int  ->  r14        
+;  V04 loc2         [V04,T05] (  3,  5   )     int  ->  rsi        
+;  V05 loc3         [V05    ] (  3,  8.50)  struct (24) [rsp+0x98]  do-not-enreg[XS] must-init addr-exposed <Microsoft.CodeAnalysis.SyntaxNodeOrToken>
+;  V06 loc4         [V06    ] (  4,  2   )  struct (32) [rsp+0x78]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Blender+Cursor>
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T07] (  2,  8   )  struct (32) [rsp+0x50]  do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Blender+Cursor>
+;  V08 tmp1         [V08,T07] (  2,  2   )  struct (32) [rsp+0x58]  do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Blender+Cursor>
 ;* V09 tmp2         [V09,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V10 tmp3         [V10    ] (  3, 20   )  struct (24) [rsp+0x38]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.CodeAnalysis.SyntaxNodeOrToken>
+;  V10 tmp3         [V10    ] (  3, 20   )  struct (24) [rsp+0x40]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.CodeAnalysis.SyntaxNodeOrToken>
 ;  V11 tmp4         [V11,T04] (  2,  4   )  ushort  ->  rcx         "Inline return value spill temp"
-;  V12 tmp5         [V12    ] (  2, 16   )  struct (24) [rsp+0x20]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.CodeAnalysis.SyntaxNodeOrToken>
+;  V12 tmp5         [V12    ] (  2, 16   )  struct (24) [rsp+0x28]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.CodeAnalysis.SyntaxNodeOrToken>
 ;  V13 tmp6         [V13,T01] (  3, 10   )     int  ->  rax         "Inline stloc first use temp"
-;  V14 tmp7         [V14    ] (  3,  5   )     ref  ->  [rsp+0xA8]  do-not-enreg[X] addr-exposed "field V02._node (fldOffset=0x0)" P-DEP
-;  V15 tmp8         [V15    ] (  3,  5   )     int  ->  [rsp+0xB0]  do-not-enreg[X] addr-exposed "field V02._count (fldOffset=0x8)" P-DEP
+;  V14 tmp7         [V14    ] (  3,  5   )     ref  ->  [rsp+0xB0]  do-not-enreg[X] addr-exposed "field V02._node (fldOffset=0x0)" P-DEP
+;  V15 tmp8         [V15    ] (  3,  5   )     int  ->  [rsp+0xB8]  do-not-enreg[X] addr-exposed "field V02._count (fldOffset=0x8)" P-DEP
 ;* V16 tmp9         [V16    ] (  0,  0   )     int  ->  zero-ref    "V08.[000..004)"
 ;  V17 tmp10        [V17,T06] (  2,  2   )     ref  ->  rcx         "argument with side effect"
 ;
-; Lcl frame size = 184
+; Lcl frame size = 192
 
 G_M24382_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-       push     r15
        push     r14
        push     rdi
        push     rsi
        push     rbp
        push     rbx
-       sub      rsp, 184
+       sub      rsp, 192
+       xor      eax, eax
+       mov      qword ptr [rsp+0x28], rax
        xorps    xmm4, xmm4
        mov      rax, -144
-       movaps   xmmword ptr [rsp+rax+0xB0], xmm4
        movaps   xmmword ptr [rsp+rax+0xC0], xmm4
        movaps   xmmword ptr [rsp+rax+0xD0], xmm4
+       movaps   xmmword ptr [rsp+rax+0xE0], xmm4
        add      rax, 48
        jne      SHORT  -5 instr
-       mov      qword ptr [rsp+0xB0], rax
        mov      rbp, rcx
        ; byrRegs +[rbp]
        mov      rbx, rdx
        ; byrRegs +[rbx]
-                      ;; size=72 bbWeight=1 PerfScore 15.58
+                     ;; size=69 bbWeight=1 PerfScore 14.83
 G_M24382_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0028 {rbx rbp}, byref
        cmp      byte  ptr [rbp], bpl
        lea      rcx, bword ptr [rbp+0x08]
@@ -60,7 +60,7 @@ G_M24382_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0028 {rbx rbp},
        ; byrRegs -[rcx]
        ; gcr arg pop 0
        test     rax, rax
-       je       G_M24382_IG17
+       je       G_M24382_IG16
                      ;; size=23 bbWeight=1 PerfScore 7.75
 G_M24382_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0028 {rbx rbp}, byref
        ; gcrRegs -[rax]
@@ -72,7 +72,7 @@ G_M24382_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0028 {rbx rb
        ; gcr arg pop 0
        mov      rcx, rax
        ; gcrRegs +[rcx]
-       lea      rdx, [rsp+0xA8]
+       lea      rdx, [rsp+0xB0]
        lea      r11, [(reloc)]      ; function address
        cmp      dword ptr [rcx], ecx
        call     [r11]<unknown method>
@@ -80,34 +80,34 @@ G_M24382_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0028 {rbx rb
        ; gcr arg pop 0
        mov      r14d, dword ptr [rbp]
        inc      r14d
-       lea      rcx, [rsp+0xA8]
+       lea      rcx, [rsp+0xB0]
        call     [<unknown method>]
        ; gcr arg pop 0
-       mov      r15d, eax
-       cmp      r14d, r15d
-       jge      G_M24382_IG15
-                       ;; size=66 bbWeight=0.50 PerfScore 9.00
+       mov      esi, eax
+       cmp      r14d, esi
+       jge      G_M24382_IG11
+                       ;; size=65 bbWeight=0.50 PerfScore 9.00
 G_M24382_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0028 {rbx rbp}, byref
-       lea      rcx, [rsp+0xA8]
-       lea      rdx, [rsp+0x90]
+       lea      rcx, [rsp+0xB0]
+       lea      rdx, [rsp+0x98]
        mov      r8d, r14d
        call     [<unknown method>]
        ; gcr arg pop 0
                        ;; size=25 bbWeight=4 PerfScore 17.00
 G_M24382_IG05:        ; bbWeight=4, nogc, extend
-       movups   xmm0, xmmword ptr [rsp+0x90]
-       movups   xmmword ptr [rsp+0x38], xmm0
-       mov      rcx, qword ptr [rsp+0xA0]
-       mov      qword ptr [rsp+0x48], rcx
+       movups   xmm0, xmmword ptr [rsp+0x98]
+       movups   xmmword ptr [rsp+0x40], xmm0
+       mov      rcx, qword ptr [rsp+0xA8]
+       mov      qword ptr [rsp+0x50], rcx
                       ;; size=26 bbWeight=4 PerfScore 24.00
 G_M24382_IG06:        ; bbWeight=4, nogc, extend
-       movups   xmm0, xmmword ptr [rsp+0x38]
-       movups   xmmword ptr [rsp+0x20], xmm0
-       mov      rcx, qword ptr [rsp+0x48]
-       mov      qword ptr [rsp+0x30], rcx
+       movups   xmm0, xmmword ptr [rsp+0x40]
+       movups   xmmword ptr [rsp+0x28], xmm0
+       mov      rcx, qword ptr [rsp+0x50]
+       mov      qword ptr [rsp+0x38], rcx
                       ;; size=20 bbWeight=4 PerfScore 24.00
 G_M24382_IG07:        ; bbWeight=4, isz, extend
-       lea      rcx, [rsp+0x20]
+       lea      rcx, [rsp+0x28]
        call     [<unknown method>]
        ; gcr arg pop 0
        lea      ecx, [rax-0x02]
@@ -117,62 +117,28 @@ G_M24382_IG07:        ; bbWeight=4, isz, extend
 G_M24382_IG08:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0028 {rbx rbp}, byref, isz
        movzx    rcx, ax
        cmp      ecx, 0x2130
-       je       SHORT G_M24382_IG12
+       je       SHORT G_M24382_IG13
                       ;; size=11 bbWeight=2 PerfScore 3.00
 G_M24382_IG09:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0028 {rbx rbp}, byref, isz
-       lea      rcx, [rsp+0x38]
+       lea      rcx, [rsp+0x40]
        call     [<unknown method>]
        ; gcr arg pop 0
        test     eax, eax
-       jne      SHORT G_M24382_IG12
+       jne      SHORT G_M24382_IG13
                      ;; size=15 bbWeight=2 PerfScore 9.50
 G_M24382_IG10:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0028 {rbx rbp}, byref, isz
        inc      r14d
-       cmp      r14d, r15d
+       cmp      r14d, esi
        jl       SHORT G_M24382_IG04
                        ;; size=8 bbWeight=4 PerfScore 6.00
-G_M24382_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0028 {rbx rbp}, byref, isz
-       jmp      SHORT G_M24382_IG15
-                       ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M24382_IG12:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, nogc
-       ; byrRegs -[rbp]
-       movups   xmm0, xmmword ptr [rsp+0x90]
-       movups   xmmword ptr [rsp+0x58], xmm0
-       mov      rax, qword ptr [rsp+0xA0]
-       mov      qword ptr [rsp+0x68], rax
-                       ;; size=26 bbWeight=2 PerfScore 12.00
-G_M24382_IG13:        ; bbWeight=2, extend
-       mov      rdi, rbx
-       ; byrRegs +[rdi]
-       lea      rsi, bword ptr [rsp+0x50]
-       ; byrRegs +[rsi]
-       movsq    
-       call     [CORINFO_HELP_ASSIGN_BYREF]
-       call     [CORINFO_HELP_ASSIGN_BYREF]
-       movsq    
-       mov      dword ptr [rbx], r14d
-       mov      rax, rbx
-       ; byrRegs +[rax]
-                       ;; size=30 bbWeight=2 PerfScore 20.00
-G_M24382_IG14:        ; bbWeight=2, epilog, nogc, extend
-       add      rsp, 184
-       pop      rbx
-       pop      rbp
-       pop      rsi
-       pop      rdi
-       pop      r14
-       pop      r15
-       ret      
-                       ;; size=16 bbWeight=2 PerfScore 8.50
-G_M24382_IG15:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0028 {rbx rbp}, gcvars, byref
-       ; byrRegs -[rax rsi rdi] +[rbp]
-       lea      rdx, [rsp+0x70]
+G_M24382_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0028 {rbx rbp}, byref
+       lea      rdx, [rsp+0x78]
        mov      rcx, rbp
        ; byrRegs +[rcx]
        call     [Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Blender+Cursor:MoveToParent():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Blender+Cursor:this]
        ; byrRegs -[rcx rbp]
        ; gcr arg pop 0
-       lea      rcx, [rsp+0x70]
+       lea      rcx, [rsp+0x78]
        mov      rdx, rbx
        ; byrRegs +[rdx]
        call     [Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Blender+Cursor:MoveToNextSibling():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Blender+Cursor:this]
@@ -181,24 +147,52 @@ G_M24382_IG15:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
        mov      rax, rbx
        ; byrRegs +[rax]
                        ;; size=31 bbWeight=0.50 PerfScore 3.88
-G_M24382_IG16:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 184
+G_M24382_IG12:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 192
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
        pop      r14
-       pop      r15
        ret      
-                     ;; size=16 bbWeight=0.50 PerfScore 2.12
-G_M24382_IG17:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, gcvars, byref
+                        ;; size=14 bbWeight=0.50 PerfScore 1.88
+G_M24382_IG13:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, gcvars, byref, nogc
        ; byrRegs -[rax]
-       xorps    xmm0, xmm0
-       movups   xmmword ptr [rsp+0x70], xmm0
-       movups   xmmword ptr [rsp+0x80], xmm0
+       movups   xmm0, xmmword ptr [rsp+0x98]
+       movups   xmmword ptr [rsp+0x60], xmm0
+       mov      rax, qword ptr [rsp+0xA8]
+       mov      qword ptr [rsp+0x70], rax
+                       ;; size=26 bbWeight=0.50 PerfScore 3.00
+G_M24382_IG14:        ; bbWeight=0.50, extend
        mov      rdi, rbx
        ; byrRegs +[rdi]
-       lea      rsi, bword ptr [rsp+0x70]
+       lea      rsi, bword ptr [rsp+0x58]
+       ; byrRegs +[rsi]
+       movsq    
+       call     [CORINFO_HELP_ASSIGN_BYREF]
+       call     [CORINFO_HELP_ASSIGN_BYREF]
+       movsq    
+       mov      dword ptr [rbx], r14d
+       mov      rax, rbx
+       ; byrRegs +[rax]
+                       ;; size=30 bbWeight=0.50 PerfScore 5.00
+G_M24382_IG15:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 192
+       pop      rbx
+       pop      rbp
...
  
+13 (+5.33%) : 224728.dasm - Microsoft.Win32.SystemEvents:WindowThreadProc():this (FullOpts)
@@ -10,10 +10,10 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T03] (  7, 14   )     ref  ->  [rbp+0x10]  this class-hnd EH-live single-def <Microsoft.Win32.SystemEvents>
-;  V01 loc0         [V01    ] (  4, 17   )  struct (48) [rbp-0x38]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Interop+User32+MSG>
+;  V01 loc0         [V01    ] (  4, 17   )  struct (48) [rbp-0x40]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Interop+User32+MSG>
 ;* V02 loc1         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V04 tmp1         [V04,T14] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V04 tmp1         [V04,T14] (  2,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
 ;* V05 tmp2         [V05    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V06 tmp3         [V06,T08] (  2,  8   )   byref  ->  rcx         "Inline stloc first use temp"
 ;* V07 tmp4         [V07    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
@@ -35,26 +35,25 @@
 ;  V23 tmp20        [V23,T07] (  2, 16   )    long  ->  rcx         "Cast away GC"
 ;  V24 tmp21        [V24,T11] (  2,  4   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V25 tmp22        [V25,T15] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V26 PSPSym       [V26,T13] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
+;  V26 PSPSym       [V26,T13] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
 ;  V27 cse0         [V27,T12] (  5,  3   )   byref  ->  rbx         multi-def "CSE - moderate"
 ;
-; Lcl frame size = 88
+; Lcl frame size = 96
 
 G_M36046_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
+       push     rsi
        push     rbx
-       sub      rsp, 88
-       lea      rbp, [rsp+0x60]
-       xor      eax, eax
-       mov      qword ptr [rbp-0x38], rax
+       sub      rsp, 96
+       lea      rbp, [rsp+0x70]
        xorps    xmm4, xmm4
+       movaps   xmmword ptr [rbp-0x40], xmm4
        movaps   xmmword ptr [rbp-0x30], xmm4
        movaps   xmmword ptr [rbp-0x20], xmm4
-       mov      qword ptr [rbp-0x10], rax
-       mov      qword ptr [rbp-0x40], rsp
+       mov      qword ptr [rbp-0x50], rsp
        mov      gword ptr [rbp+0x10], rcx
        ; GC ptr vars +{V00}
-                      ;; size=40 bbWeight=1 PerfScore 11.33
+                     ;; size=35 bbWeight=1 PerfScore 12.08
 G_M36046_IG02:        ; bbWeight=1, gcVars=0000000000000008 {V00}, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rcx]
        call     [<unknown method>]
@@ -78,19 +77,19 @@ G_M36046_IG02:        ; bbWeight=1, gcVars=0000000000000008 {V00}, gcrefRegs=000
        cmp      qword ptr [rcx+0x18], 0
        je       SHORT G_M36046_IG05
        xorps    xmm0, xmm0
-       movups   xmmword ptr [rbp-0x38], xmm0
-       movups   xmmword ptr [rbp-0x28], xmm0
-       movups   xmmword ptr [rbp-0x18], xmm0
+       movups   xmmword ptr [rbp-0x40], xmm0
+       movups   xmmword ptr [rbp-0x30], xmm0
+       movups   xmmword ptr [rbp-0x20], xmm0
        jmp      SHORT G_M36046_IG04
                        ;; size=59 bbWeight=1 PerfScore 25.08
 G_M36046_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
        ; gcrRegs -[rcx]
-       lea      rcx, bword ptr [rbp-0x38]
+       lea      rcx, bword ptr [rbp-0x40]
        ; byrRegs +[rcx]
        call     [<unknown method>]
        ; byrRegs -[rcx]
        ; gcr arg pop 0
-       lea      rcx, bword ptr [rbp-0x38]
+       lea      rcx, bword ptr [rbp-0x40]
        ; byrRegs +[rcx]
        call     [<unknown method>]
        ; byrRegs -[rcx]
@@ -100,7 +99,7 @@ G_M36046_IG03:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byr
                        ;; size=24 bbWeight=4 PerfScore 32.00
 G_M36046_IG04:        ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0008 {rbx}, byref, isz
        mov      rdx, qword ptr [rcx+0x18]
-       lea      r8, bword ptr [rbp-0x38]
+       lea      r8, bword ptr [rbp-0x40]
        ; byrRegs +[r8]
        mov      rcx, r8
        ; gcrRegs -[rcx]
@@ -133,22 +132,28 @@ G_M36046_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=11 bbWeight=1 PerfScore 4.25
 G_M36046_IG07:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 88
+       add      rsp, 96
        pop      rbx
+       pop      rsi
        pop      rbp
        ret      
-                     ;; size=7 bbWeight=1 PerfScore 2.25
-G_M36046_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                        ;; size=8 bbWeight=1 PerfScore 2.75
+G_M36046_IG08:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+       ; gcrRegs +[rdx]
        push     rbp
+       push     rsi
        push     rbx
-       sub      rsp, 40
+       sub      rsp, 48
        mov      rbp, qword ptr [rcx+0x20]
        mov      qword ptr [rsp+0x20], rbp
-       lea      rbp, [rbp+0x60]
-                       ;; size=19 bbWeight=0 PerfScore 0.00
-G_M36046_IG09:        ; bbWeight=0, gcVars=0000000000000008 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       lea      rbp, [rbp+0x70]
+                       ;; size=20 bbWeight=0 PerfScore 0.00
+G_M36046_IG09:        ; bbWeight=0, gcVars=0000000000000008 {V00}, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars +{V00}
+       mov      rsi, rdx
+       ; gcrRegs +[rsi]
        call     [CORINFO_HELP_READYTORUN_GCSTATIC_BASE]
+       ; gcrRegs -[rdx]
        ; byrRegs +[rax]
        ; gcr arg pop 0
        mov      rbx, rax
@@ -161,16 +166,24 @@ G_M36046_IG09:        ; bbWeight=0, gcVars=0000000000000008 {V00}, gcrefRegs=000
        ; gcrRegs -[rcx]
        ; byrRegs -[rax rbx]
        ; gcr arg pop 0
+       mov      rcx, rsi
+       ; gcrRegs +[rcx]
+       call     [CORINFO_HELP_READYTORUN_ISINSTANCEOF]
+       ; gcrRegs -[rcx rsi] +[rax]
+       ; gcr arg pop 0
+       test     rax, rax
        lea      rax, G_M36046_IG06
-                       ;; size=32 bbWeight=0 PerfScore 0.00
+       ; gcrRegs -[rax]
+                       ;; size=47 bbWeight=0 PerfScore 0.00
 G_M36046_IG10:        ; bbWeight=0, funclet epilog, nogc, extend
-       add      rsp, 40
+       add      rsp, 48
        pop      rbx
+       pop      rsi
        pop      rbp
        ret      
-                     ;; size=7 bbWeight=0 PerfScore 0.00
+                       ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 244, prolog size 40, PerfScore 141.17, instruction count 68, allocated bytes for code 244 (MethodHash=eabc7331) for method Microsoft.Win32.SystemEvents:WindowThreadProc():this (FullOpts)
+; Total bytes of code 257, prolog size 35, PerfScore 142.42, instruction count 74, allocated bytes for code 257 (MethodHash=eabc7331) for method Microsoft.Win32.SystemEvents:WindowThreadProc():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -178,26 +191,28 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x06
-  CountOfUnwindCodes: 3
+  SizeOfProlog      : 0x07
+  CountOfUnwindCodes: 4
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 10 * 8 + 8 = 88 = 0x58
-    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 11 * 8 + 8 = 96 = 0x60
+    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 Unwind Info:
   >> Start offset   : 0xd1ffab1e (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x06
-  CountOfUnwindCodes: 3
+  SizeOfProlog      : 0x07
+  CountOfUnwindCodes: 4
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
-    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
+    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for Microsoft.Win32.SystemEvents:WindowThreadProc():this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
  
+33 (+6.57%) : 96843.dasm - System.Speech.Internal.SrgsParser.XmlParser:ValidateScripts():this (FullOpts)
@@ -9,43 +9,45 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T03] (  5,  8   )     ref  ->  rbx         this class-hnd single-def <System.Speech.Internal.SrgsParser.XmlParser>
-;  V01 loc0         [V01,T04] (  3,  9   )     ref  ->  rdi         class-hnd exact single-def <<unknown class>>
-;  V02 loc1         [V02    ] (  6, 11   )  struct (24) [rbp-0x30]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Speech.Internal.SrgsParser.XmlParser+ForwardReference]>
+;  V01 loc0         [V01,T04] (  3,  9   )     ref  ->  rsi         class-hnd exact single-def <<unknown class>>
+;  V02 loc1         [V02    ] (  6, 11   )  struct (24) [rbp-0x40]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Speech.Internal.SrgsParser.XmlParser+ForwardReference]>
 ;  V03 loc2         [V03,T05] (  3,  8   )     ref  ->  rdi         class-hnd <System.Speech.Internal.SrgsParser.XmlParser+ForwardReference>
-;  V04 loc3         [V04    ] (  6, 11   )  struct (24) [rbp-0x48]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
-;  V05 loc4         [V05,T00] (  4, 12   )     ref  ->  rsi         class-hnd <System.String>
+;  V04 loc3         [V04    ] (  6, 11   )  struct (24) [rbp-0x58]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
+;  V05 loc4         [V05,T00] (  4, 12   )     ref  ->  r15         class-hnd <System.String>
 ;  V06 OutArgs      [V06    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T08] (  3,  0   )     ref  ->  rsi         class-hnd exact "dup spill" <System.Object[]>
+;  V07 tmp1         [V07,T08] (  3,  0   )     ref  ->  r15         class-hnd exact "dup spill" <System.Object[]>
 ;  V08 tmp2         [V08,T10] (  2,  0   )     ref  ->  rdx         class-hnd "Strict ordering of exceptions for Array store" <System.String>
-;  V09 tmp3         [V09,T06] (  3,  6   )     ref  ->  rdi         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V10 tmp4         [V10,T09] (  3,  0   )     ref  ->  rbx         class-hnd exact "dup spill" <System.Object[]>
-;  V11 PSPSym       [V11,T07] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
+;  V09 tmp3         [V09,T06] (  3,  6   )     ref  ->  rsi         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V10 tmp4         [V10,T09] (  3,  0   )     ref  ->  rsi         class-hnd exact "dup spill" <System.Object[]>
+;  V11 PSPSym       [V11,T07] (  1,  1   )    long  ->  [rbp-0x60]  do-not-enreg[V] "PSPSym"
 ;  V12 cse0         [V12,T01] (  7, 11   )    long  ->  rsi         multi-def "CSE - aggressive"
-;  V13 cse1         [V13,T02] (  7, 11   )    long  ->  rbx         multi-def "CSE - aggressive"
+;  V13 cse1         [V13,T02] (  7, 11   )    long  ->  r14         multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 88
 
 G_M59553_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
+       push     r15
+       push     r14
        push     rdi
        push     rsi
        push     rbx
        sub      rsp, 88
-       lea      rbp, [rsp+0x70]
+       lea      rbp, [rsp+0x80]
        xor      eax, eax
-       mov      qword ptr [rbp-0x48], rax
+       mov      qword ptr [rbp-0x58], rax
        xorps    xmm4, xmm4
+       movaps   xmmword ptr [rbp-0x50], xmm4
        movaps   xmmword ptr [rbp-0x40], xmm4
-       movaps   xmmword ptr [rbp-0x30], xmm4
-       mov      qword ptr [rbp-0x20], rax
-       mov      qword ptr [rbp-0x50], rsp
+       mov      qword ptr [rbp-0x30], rax
+       mov      qword ptr [rbp-0x60], rsp
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=41 bbWeight=1 PerfScore 12.58
+                     ;; size=48 bbWeight=1 PerfScore 14.58
 G_M59553_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rbx+0x40]
        ; gcrRegs +[rcx]
-       lea      rdx, [rbp-0x30]
+       lea      rdx, [rbp-0x40]
        lea      r11, [(reloc)]      ; function address
        cmp      dword ptr [rcx], ecx
        call     [r11]<unknown method>
@@ -54,7 +56,7 @@ G_M59553_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        nop      
                        ;; size=21 bbWeight=1 PerfScore 9.25
 G_M59553_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       lea      rcx, [rbp-0x30]
+       lea      rcx, [rbp-0x40]
        mov      rsi, qword ptr [(reloc)]
        mov      rdx, rsi
        call     [<unknown method>]
@@ -63,7 +65,7 @@ G_M59553_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        je       SHORT G_M59553_IG07
                        ;; size=24 bbWeight=1 PerfScore 7.00
 G_M59553_IG04:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       lea      rcx, [rbp-0x30]
+       lea      rcx, [rbp-0x40]
        mov      rdx, rsi
        call     [<unknown method>]
        ; gcrRegs +[rax]
@@ -81,7 +83,7 @@ G_M59553_IG04:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        test     eax, eax
        je       SHORT G_M59553_IG06
-       lea      rcx, [rbp-0x30]
+       lea      rcx, [rbp-0x40]
        mov      rdx, rsi
        call     [<unknown method>]
        ; gcrRegs -[rdi]
@@ -89,51 +91,51 @@ G_M59553_IG04:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        test     eax, eax
        jne      SHORT G_M59553_IG04
                        ;; size=57 bbWeight=4 PerfScore 83.00
-G_M59553_IG05:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M59553_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M59553_IG07
-                     ;; size=2 bbWeight=0.50 PerfScore 1.00
+                        ;; size=2 bbWeight=1 PerfScore 2.00
 G_M59553_IG06:        ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx] +[rdi]
        mov      ecx, 1
        call     [CORINFO_HELP_READYTORUN_NEWARR_1]
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       mov      rsi, rax
-       ; gcrRegs +[rsi]
+       mov      r15, rax
+       ; gcrRegs +[r15]
        mov      rdx, gword ptr [rdi+0x08]
        ; gcrRegs +[rdx]
-       lea      rcx, bword ptr [rsi+0x10]
+       lea      rcx, bword ptr [r15+0x10]
        ; byrRegs +[rcx]
        call     [CORINFO_HELP_ASSIGN_REF]
        ; gcrRegs -[rax rdx rdi]
        ; byrRegs -[rcx]
-       mov      rdx, rsi
+       mov      rdx, r15
        ; gcrRegs +[rdx]
        mov      ecx, 86
        call     [System.Speech.Internal.SrgsParser.XmlParser:ThrowSrgsException(int,System.Object[])]
-       ; gcrRegs -[rdx rsi]
+       ; gcrRegs -[rdx r15]
        ; gcr arg pop 0
        int3     
                        ;; size=43 bbWeight=0 PerfScore 0.00
 G_M59553_IG07:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rbx]
-       lea      rcx, [rbp-0x30]
+       lea      rcx, [rbp-0x40]
        mov      rdx, rsi
        call     [<unknown method>]
        ; gcr arg pop 0
        call     [CORINFO_HELP_READYTORUN_NEW]
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       mov      rdi, rax
-       ; gcrRegs +[rdi]
-       mov      rcx, rdi
+       mov      rsi, rax
+       ; gcrRegs +[rsi]
+       mov      rcx, rsi
        ; gcrRegs +[rcx]
        call     [<unknown method>]
        ; gcrRegs -[rax rcx]
        ; gcr arg pop 0
        mov      rcx, gword ptr [rbx+0x38]
        ; gcrRegs +[rcx]
-       lea      rdx, [rbp-0x48]
+       lea      rdx, [rbp-0x58]
        lea      r11, [(reloc)]      ; function address
        cmp      dword ptr [rcx], ecx
        call     [r11]<unknown method>
@@ -141,26 +143,26 @@ G_M59553_IG07:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        nop      
                        ;; size=52 bbWeight=1 PerfScore 19.50
-G_M59553_IG08:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
-       lea      rcx, [rbp-0x48]
-       mov      rbx, qword ptr [(reloc)]
-       mov      rdx, rbx
+G_M59553_IG08:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
+       lea      rcx, [rbp-0x58]
+       mov      r14, qword ptr [(reloc)]
+       mov      rdx, r14
        call     [<unknown method>]
        ; gcr arg pop 0
        test     eax, eax
        je       SHORT G_M59553_IG12
                        ;; size=24 bbWeight=1 PerfScore 7.00
-G_M59553_IG09:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
-       lea      rcx, [rbp-0x48]
-       mov      rdx, rbx
+G_M59553_IG09:        ; bbWeight=4, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
+       lea      rcx, [rbp-0x58]
+       mov      rdx, r14
        call     [<unknown method>]
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       mov      rsi, rax
-       ; gcrRegs +[rsi]
-       mov      rcx, rdi
+       mov      r15, rax
+       ; gcrRegs +[r15]
+       mov      rcx, rsi
        ; gcrRegs +[rcx]
-       mov      rdx, rsi
+       mov      rdx, r15
        ; gcrRegs +[rdx]
        lea      r11, [(reloc)]      ; function address
        call     [r11]<unknown method>
@@ -168,51 +170,51 @@ G_M59553_IG09:        ; bbWeight=4, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        test     eax, eax
        jne      SHORT G_M59553_IG11
-       mov      rcx, rdi
+       mov      rcx, rsi
        ; gcrRegs +[rcx]
-       mov      rdx, rsi
+       mov      rdx, r15
        ; gcrRegs +[rdx]
        lea      r11, [(reloc)]      ; function address
        call     [r11]<unknown method>
-       ; gcrRegs -[rcx rdx rsi]
+       ; gcrRegs -[rcx rdx r15]
        ; gcr arg pop 0
-       lea      rcx, [rbp-0x48]
-       mov      rdx, rbx
+       lea      rcx, [rbp-0x58]
+       mov      rdx, r14
        call     [<unknown method>]
        ; gcr arg pop 0
        test     eax, eax
        jne      SHORT G_M59553_IG09
                        ;; size=69 bbWeight=4 PerfScore 73.00
-G_M59553_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rdi]
+G_M59553_IG10:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rsi]
        jmp      SHORT G_M59553_IG12
-                       ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M59553_IG11:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref
-       ; gcrRegs +[rsi]
+                      ;; size=2 bbWeight=1 PerfScore 2.00
+G_M59553_IG11:        ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref
+       ; gcrRegs +[r15]
        mov      ecx, 1
        call     [CORINFO_HELP_READYTORUN_NEWARR_1]
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       mov      rbx, rax
-       ; gcrRegs +[rbx]
-       lea      rcx, bword ptr [rbx+0x10]
+       mov      rsi, rax
+       ; gcrRegs +[rsi]
+       lea      rcx, bword ptr [rsi+0x10]
        ; byrRegs +[rcx]
-       mov      rdx, rsi
+       mov      rdx, r15
        ; gcrRegs +[rdx]
        call     [CORINFO_HELP_ASSIGN_REF]
-       ; gcrRegs -[rax rdx rsi]
+       ; gcrRegs -[rax rdx r15]
        ; byrRegs -[rcx]
-       mov      rdx, rbx
+       mov      rdx, rsi
        ; gcrRegs +[rdx]
        mov      ecx, 128
        call     [System.Speech.Internal.SrgsParser.XmlParser:ThrowSrgsException(int,System.Object[])]
-       ; gcrRegs -[rdx rbx]
...
  
+6 (+6.98%) : 170860.dasm - System.Data.Odbc.OdbcCommand:ExecuteReaderObject(int,System.String,ubyte):System.Data.Odbc.OdbcDataReader:this (FullOpts)
@@ -14,11 +14,11 @@
 ;  V02 arg2         [V02,T01] (  4,  3   )     ref  ->   r8         class-hnd single-def <System.String>
 ;  V03 arg3         [V03,T03] (  3,  3   )   ubyte  ->   r9         single-def
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (48) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V05 tmp1         [V05,T04] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "dup spill" <System.String>
-;* V06 tmp2         [V06,T08] (  0,  0   )     ref  ->  zero-ref   
+;  V05 tmp1         [V05,T04] (  2,  4   )     ref  ->  r10         class-hnd single-def "dup spill" <System.String>
+;  V06 tmp2         [V06,T08] (  2,  2   )     ref  ->  r10        
 ;  V07 tmp3         [V07,T05] (  2,  4   )     ref  ->  rax         class-hnd single-def "dup spill" <System.String>
 ;  V08 tmp4         [V08,T06] (  4,  3.50)     ref  ->  rax        
-;  V09 cse0         [V09,T07] (  2,  2   )     ref  ->  rax         "CSE - aggressive"
+;  V09 cse0         [V09,T07] (  3,  3   )     ref  ->  rax         "CSE - aggressive"
 ;
 ; Lcl frame size = 56
 
@@ -30,11 +30,14 @@ G_M18056_IG02:        ; bbWeight=1, gcrefRegs=0102 {rcx r8}, byrefRegs=0000 {},
        mov      rax, qword ptr [(reloc)]      ; const ptr
        mov      rax, gword ptr [rcx+rax]
        ; gcrRegs +[rax]
+       mov      r10, rax
+       ; gcrRegs +[r10]
+       test     r10, r10
        test     rax, rax
        jne      SHORT G_M18056_IG04
-                      ;; size=16 bbWeight=1 PerfScore 5.25
+                      ;; size=22 bbWeight=1 PerfScore 5.75
 G_M18056_IG03:        ; bbWeight=0.50, gcrefRegs=0102 {rcx r8}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rax]
+       ; gcrRegs -[rax r10]
        mov      rax, qword ptr [(reloc)]      ; const ptr
        mov      rax, gword ptr [rax]
        ; gcrRegs +[rax]
@@ -71,7 +74,7 @@ G_M18056_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0100 {
        int3     
                        ;; size=19 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 86, prolog size 4, PerfScore 18.50, instruction count 22, allocated bytes for code 86 (MethodHash=bbbbb977) for method System.Data.Odbc.OdbcCommand:ExecuteReaderObject(int,System.String,ubyte):System.Data.Odbc.OdbcDataReader:this (FullOpts)
+; Total bytes of code 92, prolog size 4, PerfScore 19.00, instruction count 24, allocated bytes for code 92 (MethodHash=bbbbb977) for method System.Data.Odbc.OdbcCommand:ExecuteReaderObject(int,System.String,ubyte):System.Data.Odbc.OdbcDataReader:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
libraries.pmi.windows.x64.checked.mch
-18 (-7.23%) : 79594.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%) : 127248.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%) : 124444.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)
  
+35 (+94.59%) : 207209.dasm - System.Collections.Immutable.ImmutableHashSet1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
@@ -17,13 +17,13 @@
 ;* V06 tmp3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "dup spill" <System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]>
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V08 tmp5         [V08    ] (  0,  0   )     ref  ->  zero-ref    "field V02._firstValue (fldOffset=0x0)" P-INDEP
-;  V09 tmp6         [V09,T06] (  3,  2.50)     ref  ->  rcx         single-def "field V02._additionalElements (fldOffset=0x8)" P-INDEP
-;* V10 cse0         [V10,T05] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
-;* V11 rat0         [V11,T04] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V09 tmp6         [V09,T06] (  3,  2.50)     ref  ->  rax         single-def "field V02._additionalElements (fldOffset=0x8)" P-INDEP
+;  V10 cse0         [V10,T05] (  3,  3   )    long  ->  rcx         "CSE - aggressive"
+;  V11 rat0         [V11,T04] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V12 rat1         [V12,T07] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V13 rat2         [V13,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V13 rat2         [V13,T01] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;* V14 rat3         [V14,T08] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V15 rat4         [V15,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V15 rat4         [V15,T02] (  2,  4   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 48
 
@@ -36,18 +36,29 @@ G_M10050_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=13 bbWeight=1 PerfScore 2.50
 G_M10050_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref, isz
        ; byrRegs +[rdx]
-       cmp      dword ptr [rbx], ebx
-       mov      rcx, gword ptr [rdx+0x10]
-       ; gcrRegs +[rcx]
+       mov      rcx, qword ptr [rbx]
+       mov      rax, rcx
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x10]
+       test     rax, rax
+       mov      rax, gword ptr [rdx+0x10]
+       ; gcrRegs +[rax]
+       mov      rcx, qword ptr [rcx+0x38]
+       mov      rcx, qword ptr [rcx]
+       mov      rcx, qword ptr [rcx+0x18]
        test     rcx, rcx
+       test     rax, rax
        je       SHORT G_M10050_IG04
-                       ;; size=11 bbWeight=1 PerfScore 6.25
-G_M10050_IG03:        ; bbWeight=0.50, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
+                        ;; size=43 bbWeight=1 PerfScore 18.00
+G_M10050_IG03:        ; bbWeight=0.50, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdx]
+       mov      rcx, rax
+       ; gcrRegs +[rcx]
        call     [System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:Freeze():this]
-       ; gcrRegs -[rcx]
+       ; gcrRegs -[rax rcx]
        ; gcr arg pop 0
-                     ;; size=6 bbWeight=0.50 PerfScore 1.50
+                        ;; size=9 bbWeight=0.50 PerfScore 1.62
 G_M10050_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
@@ -57,7 +68,7 @@ G_M10050_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=6 bbWeight=1 PerfScore 1.75
 
-; Total bytes of code 37, prolog size 10, PerfScore 12.25, instruction count 13, allocated bytes for code 37 (MethodHash=2c0dd8bd) for method System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
+; Total bytes of code 72, prolog size 10, PerfScore 24.12, instruction count 23, allocated bytes for code 72 (MethodHash=2c0dd8bd) for method System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+35 (+94.59%) : 208465.dasm - System.Collections.Immutable.ImmutableDictionary2+<>c[System.__Canon,System.Nullable1[int]]:<.cctor>b107_0(System.Collections.Generic.KeyValuePair2[int,System.Collections.Immutable.ImmutableDictionary2+HashBucket[System.Canon,System.Nullable`1[int]]]):this (FullOpts)
@@ -16,13 +16,13 @@
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "dup spill" <System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Nullable`1[int]]]>
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V08 tmp5         [V08,T06] (  3,  2.50)     ref  ->  rcx         single-def "V02.[000..008)"
-;* V09 cse0         [V09,T05] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
-;* V10 rat0         [V10,T04] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V08 tmp5         [V08,T06] (  3,  2.50)     ref  ->  rax         single-def "V02.[000..008)"
+;  V09 cse0         [V09,T05] (  3,  3   )    long  ->  rcx         "CSE - aggressive"
+;  V10 rat0         [V10,T04] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V11 rat1         [V11,T07] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V12 rat2         [V12,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V12 rat2         [V12,T01] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;* V13 rat3         [V13,T08] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V14 rat4         [V14,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V14 rat4         [V14,T02] (  2,  4   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 48
 
@@ -35,18 +35,29 @@ G_M58812_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=13 bbWeight=1 PerfScore 2.50
 G_M58812_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref, isz
        ; byrRegs +[rdx]
-       cmp      dword ptr [rbx], ebx
-       mov      rcx, gword ptr [rdx+0x08]
-       ; gcrRegs +[rcx]
+       mov      rcx, qword ptr [rbx]
+       mov      rax, rcx
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x18]
+       test     rax, rax
+       mov      rax, gword ptr [rdx+0x08]
+       ; gcrRegs +[rax]
+       mov      rcx, qword ptr [rcx+0x38]
+       mov      rcx, qword ptr [rcx]
+       mov      rcx, qword ptr [rcx+0x20]
        test     rcx, rcx
+       test     rax, rax
        je       SHORT G_M58812_IG04
-                       ;; size=11 bbWeight=1 PerfScore 6.25
-G_M58812_IG03:        ; bbWeight=0.50, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
+                        ;; size=43 bbWeight=1 PerfScore 18.00
+G_M58812_IG03:        ; bbWeight=0.50, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdx]
+       mov      rcx, rax
+       ; gcrRegs +[rcx]
        call     [System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Nullable`1[int]]]:Freeze():this]
-       ; gcrRegs -[rcx]
+       ; gcrRegs -[rax rcx]
        ; gcr arg pop 0
-                       ;; size=6 bbWeight=0.50 PerfScore 1.50
+                        ;; size=9 bbWeight=0.50 PerfScore 1.62
 G_M58812_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
@@ -56,7 +67,7 @@ G_M58812_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=6 bbWeight=1 PerfScore 1.75
 
-; Total bytes of code 37, prolog size 10, PerfScore 12.25, instruction count 13, allocated bytes for code 37 (MethodHash=39951a43) for method System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.Nullable`1[int]]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.Nullable`1[int]]]):this (FullOpts)
+; Total bytes of code 72, prolog size 10, PerfScore 24.12, instruction count 23, allocated bytes for code 72 (MethodHash=39951a43) for method System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.Nullable`1[int]]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.Nullable`1[int]]]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+34 (+212.50%) : 183540.dasm - Microsoft.Build.Shared.FrameworkLocationHelper:GeneratePathToBuildToolsForToolsVersion(System.String,int):System.String (FullOpts)
@@ -7,7 +7,7 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  4,  3.25)     ref  ->  rcx         class-hnd single-def <System.String>
+;  V00 arg0         [V00,T00] (  6,  3.50)     ref  ->  rcx         class-hnd single-def <System.String>
 ;  V01 arg1         [V01,T01] (  3,  3   )     int  ->  rdx         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
@@ -22,21 +22,29 @@ G_M25420_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M25420_IG02:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rcx]
        test     rcx, rcx
-       je       SHORT G_M25420_IG04
+       je       SHORT G_M25420_IG05
                      ;; size=5 bbWeight=1 PerfScore 1.25
-G_M25420_IG03:        ; bbWeight=0.25, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
-       mov      ecx, dword ptr [rcx+0x08]
+G_M25420_IG03:        ; bbWeight=0.25, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+       cmp      dword ptr [rcx+0x08], 7
+       jne      SHORT G_M25420_IG05
+                       ;; size=6 bbWeight=0.25 PerfScore 1.00
+G_M25420_IG04:        ; bbWeight=0.12, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
+       mov      rax, 0xD1FFAB1E
+       xor      rax, qword ptr [rcx+0x0C]
+       mov      r8, 0xD1FFAB1E
+       xor      r8, qword ptr [rcx+0x12]
+       or       rax, r8
+                       ;; size=31 bbWeight=0.12 PerfScore 0.84
+G_M25420_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
-                       ;; size=3 bbWeight=0.25 PerfScore 0.50
-G_M25420_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      ecx, edx
                        ;; size=2 bbWeight=1 PerfScore 0.25
-G_M25420_IG05:        ; bbWeight=1, epilog, nogc, extend
+G_M25420_IG06:        ; bbWeight=1, epilog, nogc, extend
        tail.jmp [Microsoft.Build.Shared.FrameworkLocationHelper:GetPathToBuildToolsFromEnvironment(int):System.String]
        ; gcr arg pop 0
                        ;; size=6 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 16, prolog size 0, PerfScore 4.00, instruction count 5, allocated bytes for code 16 (MethodHash=a7919cb3) for method Microsoft.Build.Shared.FrameworkLocationHelper:GeneratePathToBuildToolsForToolsVersion(System.String,int):System.String (FullOpts)
+; Total bytes of code 50, prolog size 0, PerfScore 5.34, instruction count 11, allocated bytes for code 50 (MethodHash=a7919cb3) for method Microsoft.Build.Shared.FrameworkLocationHelper:GeneratePathToBuildToolsForToolsVersion(System.String,int):System.String (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
libraries_tests.run.windows.x64.Release.mch
-23 (-10.45%) : 210017.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 160
+; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 160
 ; 2 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 14,  5.57)     ref  ->  rbx         this class-hnd single-def <System.IO.BinaryWriter>
+;  V00 this         [V00,T00] ( 13,  5.57)     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.90)     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.31
-G_M62697_IG07:        ; bbWeight=0.72, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M62697_IG04:        ; bbWeight=0.72, 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.72, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
        shr      esi, 7
        cmp      esi, 127
-       ja       SHORT G_M62697_IG07
-                       ;; size=29 bbWeight=0.72 PerfScore 8.25
-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.84
-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.72 PerfScore 9.69
+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.27, 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.87, instruction count 63, allocated bytes for code 197 (MethodHash=7c1b0b16) for method System.IO.BinaryWriter:Write7BitEncodedInt(int):this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
-46 (-6.53%) : 252386.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,T06] (  8,  5.25)     ref  ->  rsi         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T01] (  9, 22.75)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
-;  V02 loc0         [V02,T05] ( 17, 10.78)     ref  ->  rdi         class-hnd <System.__Canon[]>
-;  V03 loc1         [V03,T08] (  6,  4.88)     int  ->  rbp        
-;  V04 loc2         [V04,T07] (  9,  6.75)     int  ->  r14        
-;  V05 loc3         [V05,T02] (  6, 21.75)     int  ->  r15        
-;  V06 loc4         [V06,T09] (  9,  4.52)     ref  ->  r13         class-hnd <System.__Canon>
-;  V07 loc5         [V07,T03] (  3, 19.50)   ubyte  ->  r12        
-;  V08 loc6         [V08,T04] ( 14, 13.28)     int  ->  [rsp+0x3C] 
-;  V09 loc7         [V09,T00] ( 10, 28   )     ref  ->  [rsp+0x28]  class-hnd <System.__Canon>
+;  V00 this         [V00,T04] (  8,  5.25)     ref  ->  rsi         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
+;  V01 arg1         [V01,T03] (  9,  7   )     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
+;  V02 loc0         [V02,T02] ( 17, 10.78)     ref  ->  rdi         class-hnd <System.__Canon[]>
+;  V03 loc1         [V03,T07] (  5,  4.88)     int  ->  rbp        
+;  V04 loc2         [V04,T05] (  9,  6.75)     int  ->  r14        
+;  V05 loc3         [V05,T06] (  6,  6   )     int  ->  r15        
+;  V06 loc4         [V06,T08] (  9,  4.52)     ref  ->  r13         class-hnd <System.__Canon>
+;  V07 loc5         [V07,T09] (  3,  3.75)   ubyte  ->  r12        
+;  V08 loc6         [V08,T01] ( 11, 13.28)     int  ->  [rsp+0x3C] 
+;  V09 loc7         [V09,T00] ( 10, 12.25)     ref  ->  [rsp+0x28]  class-hnd <System.__Canon>
 ;  V10 loc8         [V10,T19] (  3,  0.50)     int  ->  r12        
 ;  V11 loc9         [V11    ] (  3,  0.75)     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,  1   )    long  ->  rcx         "argument with side effect"
-;  V26 cse0         [V26,T11] (  6,  3.04)    long  ->  rcx         multi-def "CSE - aggressive"
+;  V26 cse0         [V26,T11] (  6,  3.04)    long  ->  rax         multi-def "CSE - aggressive"
 ;  V27 rat0         [V27,T13] (  3,  1.10)    long  ->  rcx         "Spilling to split statement for tree"
 ;  V28 rat1         [V28,T16] (  3,  1   )    long  ->  rcx         "runtime lookup"
 ;  V29 rat2         [V29,T12] (  3,  1.40)    long  ->  rax         "fgMakeTemp is creating a new local variable"
@@ -64,14 +64,14 @@ G_M8298_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
        mov      rdi, gword ptr [rsi+0x08]
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       G_M8298_IG14
+       je       G_M8298_IG13
                        ;; size=13 bbWeight=1 PerfScore 3.25
 G_M8298_IG03:        ; bbWeight=0.75, 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_IG31
+       jle      G_M8298_IG29
                         ;; size=19 bbWeight=0.75 PerfScore 4.88
 G_M8298_IG04:        ; bbWeight=0.75, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
        mov      edx, r15d
@@ -80,62 +80,58 @@ G_M8298_IG04:        ; bbWeight=0.75, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=00
        xor      r12d, r12d
        xor      edx, edx
        test     ebp, ebp
-       jg       SHORT G_M8298_IG09
+       jg       SHORT G_M8298_IG08
                        ;; size=17 bbWeight=0.75 PerfScore 3.00
-G_M8298_IG05:        ; bbWeight=0.38, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
-       mov      dword ptr [rsp+0x3C], edx
-                       ;; size=4 bbWeight=0.38 PerfScore 0.38
-G_M8298_IG06:        ; bbWeight=0.75, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+G_M8298_IG05:        ; bbWeight=0.75, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
        test     r12d, r12d
-       jne      G_M8298_IG30
+       jne      G_M8298_IG28
        test     r14d, r14d
-       jne      SHORT G_M8298_IG07
-       mov      edx, dword ptr [rsp+0x3C]
+       jne      SHORT G_M8298_IG06
        mov      r14d, edx
-                       ;; size=21 bbWeight=0.75 PerfScore 2.81
-G_M8298_IG07:        ; bbWeight=0.75, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+                     ;; size=17 bbWeight=0.75 PerfScore 2.06
+G_M8298_IG06:        ; bbWeight=0.75, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        cmp      dword ptr [rdi+0x08], r14d
-       jg       G_M8298_IG29
+       jg       G_M8298_IG27
                      ;; size=10 bbWeight=0.75 PerfScore 3.00
-G_M8298_IG08:        ; bbWeight=0.25, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
-       jmp      G_M8298_IG25
+G_M8298_IG07:        ; bbWeight=0.25, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+       jmp      G_M8298_IG23
                        ;; size=5 bbWeight=0.25 PerfScore 0.50
-G_M8298_IG09:        ; bbWeight=0.38, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+G_M8298_IG08:        ; bbWeight=0.38, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
        test     rdi, rdi
-       je       G_M8298_IG19
+       je       G_M8298_IG18
        test     r13, r13
-       je       G_M8298_IG19
-       mov      rcx, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
-       cmp      qword ptr [r13], rcx
-       jne      SHORT G_M8298_IG19
+       je       G_M8298_IG18
+       mov      rax, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
+       cmp      qword ptr [r13], rax
+       jne      SHORT G_M8298_IG18
        cmp      dword ptr [rdi+0x08], ebp
-       jl       SHORT G_M8298_IG19
+       jl       SHORT G_M8298_IG18
                         ;; size=39 bbWeight=0.38 PerfScore 4.03
-G_M8298_IG10:        ; bbWeight=2.72, 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_IG13
-                       ;; size=13 bbWeight=2.72 PerfScore 9.53
-G_M8298_IG11:        ; bbWeight=2.23, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       cmp      qword ptr [rax], rcx
-       jne      SHORT G_M8298_IG17
-       mov      r8, qword ptr [rax+0x50]
-       cmp      r8, qword ptr [r13+0x50]
-       jne      SHORT G_M8298_IG17
+G_M8298_IG09:        ; bbWeight=2.72, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       mov      ecx, edx
+       mov      r10, gword ptr [rdi+8*rcx+0x10]
+       ; gcrRegs +[r10]
+       test     r10, r10
+       je       SHORT G_M8298_IG05
+                       ;; size=12 bbWeight=2.72 PerfScore 9.53
+G_M8298_IG10:        ; bbWeight=2.23, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       cmp      qword ptr [r10], rax
+       jne      SHORT G_M8298_IG16
+       mov      rcx, qword ptr [r10+0x50]
+       cmp      rcx, qword ptr [r13+0x50]
+       je       SHORT G_M8298_IG12
                      ;; size=15 bbWeight=2.23 PerfScore 22.27
-G_M8298_IG12:        ; bbWeight=18, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      dword ptr [rsp+0x3C], edx
+G_M8298_IG11:        ; bbWeight=2.97, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r10]
        jmp      SHORT G_M8298_IG16
-                        ;; size=6 bbWeight=18 PerfScore 54.00
-G_M8298_IG13:        ; bbWeight=1.36, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rax]
+                      ;; size=2 bbWeight=2.97 PerfScore 5.94
+G_M8298_IG12:        ; bbWeight=1.11, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[r10]
        mov      dword ptr [rsp+0x3C], edx
-       jmp      SHORT G_M8298_IG06
-                       ;; size=6 bbWeight=1.36 PerfScore 4.08
-G_M8298_IG14:        ; bbWeight=0.25, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rdi r13]
+       jmp      SHORT G_M8298_IG15
+                       ;; size=6 bbWeight=1.11 PerfScore 3.34
+G_M8298_IG13:        ; bbWeight=0.25, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rdi r10 r13]
        lea      rcx, bword ptr [rsi+0x08]
        ; byrRegs +[rcx]
        mov      rdx, rbx
@@ -145,7 +141,7 @@ G_M8298_IG14:        ; bbWeight=0.25, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {
        ; byrRegs -[rcx]
        nop      
                        ;; size=13 bbWeight=0.25 PerfScore 0.50
-G_M8298_IG15:        ; bbWeight=0.25, epilog, nogc, extend
+G_M8298_IG14:        ; bbWeight=0.25, epilog, nogc, extend
        add      rsp, 72
        pop      rbx
        pop      rbp
@@ -157,107 +153,108 @@ G_M8298_IG15:        ; bbWeight=0.25, epilog, nogc, extend
        pop      r15
        ret      
                        ;; size=17 bbWeight=0.25 PerfScore 1.31
-G_M8298_IG16:        ; bbWeight=18, gcVars=0000000000000000 {}, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[rax rbx rdi r13]
+G_M8298_IG15:        ; bbWeight=2.25, gcVars=0000000000000000 {}, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, gcvars, byref
+       ; 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
-       jmp      G_M8298_IG06
-                       ;; size=25 bbWeight=18 PerfScore 72.00
-G_M8298_IG17:        ; bbWeight=2.97, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+       mov      edx, dword ptr [rsp+0x3C]
+       jmp      G_M8298_IG05
+                       ;; size=29 bbWeight=2.25 PerfScore 11.25
+G_M8298_IG16:        ; bbWeight=2.97, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
        inc      edx
        cmp      edx, ebp
-       jl       SHORT G_M8298_IG10
+       jl       SHORT G_M8298_IG09
                        ;; size=6 bbWeight=2.97 PerfScore 4.46
-G_M8298_IG18:        ; bbWeight=2, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
-       mov      dword ptr [rsp+0x3C], edx
-       jmp      G_M8298_IG06
-                       ;; size=9 bbWeight=2 PerfScore 6.00
-G_M8298_IG19:        ; bbWeight=0.03, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+G_M8298_IG17:        ; bbWeight=0.75, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
+       jmp      G_M8298_IG05
+                       ;; size=5 bbWeight=0.75 PerfScore 1.50
+G_M8298_IG18:        ; bbWeight=0.03, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        cmp      edx, dword ptr [rdi+0x08]
-       jae      G_M8298_IG34
-       mov      dword ptr [rsp+0x3C], edx
-       mov      eax, edx
-       mov      rax, gword ptr [rdi+8*rax+0x10]
-       ; gcrRegs +[rax]
-       test     rax, rax
-       je       G_M8298_IG06
-                       ;; size=29 bbWeight=0.03 PerfScore 0.23
-G_M8298_IG20:        ; bbWeight=0.02, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
-       mov      rcx, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
-       cmp      qword ptr [r13], rcx
+       jae      G_M8298_IG32
+       mov      r10d, edx
+       mov      r10, gword ptr [rdi+8*r10+0x10]
+       ; gcrRegs +[r10]
+       test     r10, r10
+       je       G_M8298_IG05
+                       ;; size=26 bbWeight=0.03 PerfScore 0.21
+G_M8298_IG19:        ; bbWeight=0.02, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       mov      rax, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
+       cmp      qword ptr [r13], rax
        je       SHORT G_M8298_IG22
                        ;; size=16 bbWeight=0.02 PerfScore 0.10
-G_M8298_IG21:        ; bbWeight=0, gcrefRegs=20C9 {rax rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+G_M8298_IG20:        ; bbWeight=0, gcrefRegs=24C8 {rbx rsi rdi r10 r13}, byrefRegs=0000 {}, byref, isz
+       mov      dword ptr [rsp+0x3C], edx
        mov      rcx, r13
        ; gcrRegs +[rcx]
-       mov      gword ptr [rsp+0x28], rax
+       mov      gword ptr [rsp+0x28], r10
        ; GC ptr vars +{V09}
-       mov      rdx, rax
+       mov      rdx, r10
        ; gcrRegs +[rdx]
-       mov      r8, qword ptr [r13]
-       mov      r8, qword ptr [r8+0x48]
-       call     [r8+0x20]<unknown method>
-       ; gcrRegs -[rax rcx rdx]
+       mov      rax, qword ptr [r13]
+       mov      rax, qword ptr [rax+0x48]
+       call     [rax+0x20]<unknown method>
+       ; gcrRegs -[rcx rdx r10]
        ; gcr arg pop 0
        test     eax, eax
-       mov      rax, gword ptr [rsp+0x28]
-       ; gcrRegs +[rax]
...
  
-13 (-5.83%) : 214534.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  ->  rsi         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
-;  V01 arg1         [V01,T00] (  9,  4.19)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
+;  V01 arg1         [V01,T00] (  8,  4.40)     ref  ->  rbx         class-hnd single-def <System.__Canon[]>
 ;  V02 loc0         [V02,T04] (  3,  2.02)     ref  ->  rdi         class-hnd single-def <System.__Canon[]>
 ;  V03 loc1         [V03,T09] (  4,  0.16)     ref  ->  rdi         class-hnd single-def <System.__Canon[]>
 ;  V04 loc2         [V04,T08] (  5,  0.28)     int  ->  rbp        
-;  V05 loc3         [V05,T05] (  6,  1.65)     ref  ->  r14         class-hnd <System.__Canon>
-;  V06 loc4         [V06,T03] (  9,  2.11)     int  ->  r15        
-;  V07 loc5         [V07,T02] (  5,  2.27)     ref  ->  rcx         class-hnd <System.__Canon>
+;  V05 loc3         [V05,T05] (  6,  1.87)     ref  ->  r14         class-hnd <System.__Canon>
+;  V06 loc4         [V06,T02] (  6,  2.32)     int  ->  r15        
+;  V07 loc5         [V07,T03] (  5,  2.27)     ref  ->  rcx         class-hnd <System.__Canon>
 ;  V08 OutArgs      [V08    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T07] (  2,  0.92)     int  ->  rax         "guarded devirt return temp"
 ;* V10 tmp2         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
@@ -43,7 +43,7 @@ G_M50755_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
        mov      rdi, gword ptr [rsi+0x08]
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       jne      SHORT G_M50755_IG07
+       jne      SHORT G_M50755_IG05
                      ;; size=9 bbWeight=1 PerfScore 3.25
 G_M50755_IG03:        ; bbWeight=0.98, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
@@ -66,55 +66,45 @@ G_M50755_IG04:        ; bbWeight=0.98, epilog, nogc, extend
        pop      r15
        ret      
                        ;; size=13 bbWeight=0.98 PerfScore 4.18
-G_M50755_IG05:        ; bbWeight=0.43, gcVars=0000000000000000 {}, gcrefRegs=40CA {rcx rbx rsi rdi r14}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; gcrRegs +[rcx rbx rsi rdi r14]
-       mov      rdx, qword ptr [r14+0x50]
-       cmp      rdx, qword ptr [rcx+0x50]
-       jne      SHORT G_M50755_IG14
-                       ;; size=10 bbWeight=0.43 PerfScore 2.57
-G_M50755_IG06:        ; bbWeight=3.43, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rcx]
-       jmp      SHORT G_M50755_IG15
-                       ;; size=2 bbWeight=3.43 PerfScore 6.86
-G_M50755_IG07:        ; bbWeight=0.02, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[r14]
+G_M50755_IG05:        ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; gcrRegs +[rbx rsi rdi]
        xor      ebp, ebp
        cmp      dword ptr [rdi+0x08], 0
-       jle      SHORT G_M50755_IG17
+       jle      SHORT G_M50755_IG15
                       ;; size=8 bbWeight=0.02 PerfScore 0.07
-G_M50755_IG08:        ; bbWeight=0.06, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG06:        ; bbWeight=0.06, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
        mov      ecx, ebp
        mov      r14, gword ptr [rdi+8*rcx+0x10]
        ; gcrRegs +[r14]
        test     r14, r14
-       je       SHORT G_M50755_IG17
+       je       SHORT G_M50755_IG15
                      ;; size=12 bbWeight=0.06 PerfScore 0.21
-G_M50755_IG09:        ; bbWeight=0.05, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG07:        ; bbWeight=0.05, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefRegs=0000 {}, byref, isz
        xor      r15d, r15d
        cmp      dword ptr [rbx+0x08], 0
-       jle      SHORT G_M50755_IG16
+       jle      SHORT G_M50755_IG14
                       ;; size=9 bbWeight=0.05 PerfScore 0.22
-G_M50755_IG10:        ; bbWeight=0.46, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG08:        ; bbWeight=0.46, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefRegs=0000 {}, byref, isz
        mov      ecx, r15d
        mov      rcx, gword ptr [rbx+8*rcx+0x10]
        ; gcrRegs +[rcx]
        mov      rdx, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
        cmp      qword ptr [rcx], rdx
-       jne      SHORT G_M50755_IG13
+       jne      SHORT G_M50755_IG10
                      ;; size=23 bbWeight=0.46 PerfScore 3.00
-G_M50755_IG11:        ; bbWeight=0.43, gcrefRegs=40CA {rcx rbx rsi rdi r14}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG09:        ; bbWeight=0.43, gcrefRegs=40CA {rcx rbx rsi rdi r14}, byrefRegs=0000 {}, byref, isz
        mov      rdx, r14
        ; gcrRegs +[rdx]
        mov      rax, 0xD1FFAB1E      ; System.Reflection.RuntimeMethodInfo
        cmp      qword ptr [rdx], rax
-       je       SHORT G_M50755_IG05
-                       ;; size=18 bbWeight=0.43 PerfScore 1.93
-G_M50755_IG12:        ; bbWeight=0.11, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rcx rdx]
-       jmp      SHORT G_M50755_IG19
-                       ;; size=2 bbWeight=0.11 PerfScore 0.21
-G_M50755_IG13:        ; bbWeight=0.46, gcrefRegs=40CA {rcx rbx rsi rdi r14}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs +[rcx]
+       jne      SHORT G_M50755_IG11
+       mov      rdx, qword ptr [r14+0x50]
+       ; gcrRegs -[rdx]
+       cmp      rdx, qword ptr [rcx+0x50]
+       jne      SHORT G_M50755_IG11
+       jmp      SHORT G_M50755_IG13
+                       ;; size=30 bbWeight=0.43 PerfScore 5.36
+G_M50755_IG10:        ; bbWeight=0.46, gcrefRegs=40CA {rcx rbx rsi rdi r14}, byrefRegs=0000 {}, byref, isz
        mov      rdx, r14
        ; gcrRegs +[rdx]
        mov      rax, qword ptr [rcx]
@@ -123,15 +113,19 @@ G_M50755_IG13:        ; bbWeight=0.46, gcrefRegs=40CA {rcx rbx rsi rdi r14}, byr
        ; gcrRegs -[rcx rdx]
        ; gcr arg pop 0
        test     eax, eax
-       jne      SHORT G_M50755_IG15
+       jne      SHORT G_M50755_IG13
                      ;; size=17 bbWeight=0.46 PerfScore 3.92
-G_M50755_IG14:        ; bbWeight=0.46, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefRegs=0000 {}, byref, isz
+G_M50755_IG11:        ; bbWeight=0.46, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefRegs=0000 {}, byref, isz
        inc      r15d
        cmp      dword ptr [rbx+0x08], r15d
-       jle      SHORT G_M50755_IG16
-       jmp      SHORT G_M50755_IG10
-                       ;; size=11 bbWeight=0.46 PerfScore 2.88
-G_M50755_IG15:        ; bbWeight=0.21, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefRegs=0000 {}, byref
+       jg       SHORT G_M50755_IG08
+                       ;; size=9 bbWeight=0.46 PerfScore 1.96
+G_M50755_IG12:        ; bbWeight=0.07, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r14]
+       jmp      SHORT G_M50755_IG14
+                       ;; size=2 bbWeight=0.07 PerfScore 0.14
+G_M50755_IG13:        ; bbWeight=0.43, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefRegs=0000 {}, byref
+       ; gcrRegs +[r14]
        movsxd   rdx, r15d
        mov      rcx, rbx
        ; gcrRegs +[rcx]
@@ -140,13 +134,13 @@ G_M50755_IG15:        ; bbWeight=0.21, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefRe
        call     CORINFO_HELP_ARRADDR_ST
        ; gcrRegs -[rcx r8 r14]
        ; gcr arg pop 0
-                       ;; size=14 bbWeight=0.21 PerfScore 0.38
-G_M50755_IG16:        ; bbWeight=0.07, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
+                       ;; size=14 bbWeight=0.43 PerfScore 0.75
+G_M50755_IG14:        ; bbWeight=0.07, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
        inc      ebp
        cmp      dword ptr [rdi+0x08], ebp
-       jg       SHORT G_M50755_IG08
+       jg       SHORT G_M50755_IG06
                         ;; size=7 bbWeight=0.07 PerfScore 0.29
-G_M50755_IG17:        ; bbWeight=0.02, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+G_M50755_IG15:        ; bbWeight=0.02, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        lea      rcx, bword ptr [rsi+0x08]
        ; byrRegs +[rcx]
@@ -157,7 +151,7 @@ G_M50755_IG17:        ; bbWeight=0.02, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
        ; byrRegs -[rcx]
        nop      
                        ;; size=13 bbWeight=0.02 PerfScore 0.03
-G_M50755_IG18:        ; bbWeight=0.02, epilog, nogc, extend
+G_M50755_IG16:        ; bbWeight=0.02, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
        pop      rbp
@@ -167,15 +161,8 @@ G_M50755_IG18:        ; bbWeight=0.02, epilog, nogc, extend
        pop      r15
        ret      
                        ;; size=13 bbWeight=0.02 PerfScore 0.07
-G_M50755_IG19:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; gcrRegs +[rbx rsi rdi r14]
-       inc      r15d
-       cmp      dword ptr [rbx+0x08], r15d
-       jg       SHORT G_M50755_IG10
-       jmp      SHORT G_M50755_IG16
-                       ;; size=11 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 223, prolog size 18, PerfScore 38.80, instruction count 81, allocated bytes for code 223 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
+; Total bytes of code 210, prolog size 18, PerfScore 32.17, instruction count 76, allocated bytes for code 210 (MethodHash=8aec39bc) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+35 (+94.59%) : 46083.dasm - System.Collections.Immutable.ImmutableHashSet1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (Tier1)
@@ -17,13 +17,13 @@
 ;* V06 tmp3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "dup spill" <System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]>
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V08 tmp5         [V08    ] (  0,  0   )     ref  ->  zero-ref    "field V02._firstValue (fldOffset=0x0)" P-INDEP
-;  V09 tmp6         [V09,T06] (  3,  2.50)     ref  ->  rcx         single-def "field V02._additionalElements (fldOffset=0x8)" P-INDEP
-;* V10 cse0         [V10,T05] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
-;* V11 rat0         [V11,T04] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V09 tmp6         [V09,T06] (  3,  2.50)     ref  ->  rax         single-def "field V02._additionalElements (fldOffset=0x8)" P-INDEP
+;  V10 cse0         [V10,T05] (  3,  3   )    long  ->  rcx         "CSE - aggressive"
+;  V11 rat0         [V11,T04] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V12 rat1         [V12,T07] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V13 rat2         [V13,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V13 rat2         [V13,T01] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;* V14 rat3         [V14,T08] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V15 rat4         [V15,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V15 rat4         [V15,T02] (  2,  4   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 48
 
@@ -36,18 +36,29 @@ G_M10050_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=13 bbWeight=1 PerfScore 2.50
 G_M10050_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref, isz
        ; byrRegs +[rdx]
-       cmp      dword ptr [rbx], ebx
-       mov      rcx, gword ptr [rdx+0x10]
-       ; gcrRegs +[rcx]
+       mov      rcx, qword ptr [rbx]
+       mov      rax, rcx
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x10]
+       test     rax, rax
+       mov      rax, gword ptr [rdx+0x10]
+       ; gcrRegs +[rax]
+       mov      rcx, qword ptr [rcx+0x38]
+       mov      rcx, qword ptr [rcx]
+       mov      rcx, qword ptr [rcx+0x18]
        test     rcx, rcx
+       test     rax, rax
        je       SHORT G_M10050_IG04
-                       ;; size=11 bbWeight=1 PerfScore 6.25
-G_M10050_IG03:        ; bbWeight=0.50, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
+                        ;; size=43 bbWeight=1 PerfScore 18.00
+G_M10050_IG03:        ; bbWeight=0.50, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdx]
+       mov      rcx, rax
+       ; gcrRegs +[rcx]
        call     [System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:Freeze():this]
-       ; gcrRegs -[rcx]
+       ; gcrRegs -[rax rcx]
        ; gcr arg pop 0
-                     ;; size=6 bbWeight=0.50 PerfScore 1.50
+                        ;; size=9 bbWeight=0.50 PerfScore 1.62
 G_M10050_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
@@ -57,7 +68,7 @@ G_M10050_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=6 bbWeight=1 PerfScore 1.75
 
-; Total bytes of code 37, prolog size 10, PerfScore 12.25, instruction count 13, allocated bytes for code 37 (MethodHash=2c0dd8bd) for method System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (Tier1)
+; Total bytes of code 72, prolog size 10, PerfScore 24.12, instruction count 23, allocated bytes for code 72 (MethodHash=2c0dd8bd) for method System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+35 (+94.59%) : 43484.dasm - System.Collections.Immutable.ImmutableDictionary2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.Canon,System.Canon]]):this (Tier1)
@@ -16,13 +16,13 @@
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "dup spill" <System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V08 tmp5         [V08,T06] (  3,  2.50)     ref  ->  rcx         single-def "V02.[000..008)"
-;* V09 cse0         [V09,T05] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
-;* V10 rat0         [V10,T04] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V08 tmp5         [V08,T06] (  3,  2.50)     ref  ->  rax         single-def "V02.[000..008)"
+;  V09 cse0         [V09,T05] (  3,  3   )    long  ->  rcx         "CSE - aggressive"
+;  V10 rat0         [V10,T04] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V11 rat1         [V11,T07] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V12 rat2         [V12,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V12 rat2         [V12,T01] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;* V13 rat3         [V13,T08] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V14 rat4         [V14,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V14 rat4         [V14,T02] (  2,  4   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 48
 
@@ -35,18 +35,29 @@ G_M20412_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=13 bbWeight=1 PerfScore 2.50
 G_M20412_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref, isz
        ; byrRegs +[rdx]
-       cmp      dword ptr [rbx], ebx
-       mov      rcx, gword ptr [rdx+0x08]
-       ; gcrRegs +[rcx]
+       mov      rcx, qword ptr [rbx]
+       mov      rax, rcx
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x18]
+       test     rax, rax
+       mov      rax, gword ptr [rdx+0x08]
+       ; gcrRegs +[rax]
+       mov      rcx, qword ptr [rcx+0x38]
+       mov      rcx, qword ptr [rcx]
+       mov      rcx, qword ptr [rcx+0x20]
        test     rcx, rcx
+       test     rax, rax
        je       SHORT G_M20412_IG04
-                       ;; size=11 bbWeight=1 PerfScore 6.25
-G_M20412_IG03:        ; bbWeight=0.50, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
+                        ;; size=43 bbWeight=1 PerfScore 18.00
+G_M20412_IG03:        ; bbWeight=0.50, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdx]
+       mov      rcx, rax
+       ; gcrRegs +[rcx]
        call     [System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:Freeze():this]
-       ; gcrRegs -[rcx]
+       ; gcrRegs -[rax rcx]
        ; gcr arg pop 0
-                       ;; size=6 bbWeight=0.50 PerfScore 1.50
+                        ;; size=9 bbWeight=0.50 PerfScore 1.62
 G_M20412_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
@@ -56,7 +67,7 @@ G_M20412_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=6 bbWeight=1 PerfScore 1.75
 
-; Total bytes of code 37, prolog size 10, PerfScore 12.25, instruction count 13, allocated bytes for code 37 (MethodHash=5457b043) for method System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (Tier1)
+; Total bytes of code 72, prolog size 10, PerfScore 24.12, instruction count 23, allocated bytes for code 72 (MethodHash=5457b043) for method System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+33 (+132.00%) : 298387.dasm - Microsoft.DotNet.XUnitExtensions.DiscovererHelpers:TestPlatformApplies(int):ubyte (Tier1)
@@ -9,7 +9,7 @@
 ; 39 inlinees with PGO data; 74 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  4,  3.97)     int  ->  rcx         single-def
+;  V00 arg0         [V00,T00] ( 12, 11.77)     int  ->  rcx         single-def
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Single-def Box Helper" <<unknown class>>
 ;* V03 tmp2         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Single-def Box Helper" <<unknown class>>
@@ -242,9 +242,17 @@ G_M11187_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        je       SHORT G_M11187_IG08
                        ;; size=5 bbWeight=1 PerfScore 1.25
 G_M11187_IG03:        ; bbWeight=0.97, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       test     cl, 8
+       test     cl, 2
+       test     cl, 4
+       test     cl, 32
+       test     cl, 64
+       test     ecx, 0x1000
+       test     ecx, 512
+       test     ecx, 0x400
        test     cl, 1
        je       SHORT G_M11187_IG06
-                      ;; size=5 bbWeight=0.97 PerfScore 1.22
+                        ;; size=38 bbWeight=0.97 PerfScore 3.17
 G_M11187_IG04:        ; bbWeight=0.64, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      eax, 1
                        ;; size=5 bbWeight=0.64 PerfScore 0.16
@@ -264,7 +272,7 @@ G_M11187_IG09:        ; bbWeight=0.03, epilog, nogc, extend
        ret      
                        ;; size=1 bbWeight=0.03 PerfScore 0.03
 
-; Total bytes of code 25, prolog size 0, PerfScore 3.72, instruction count 10, allocated bytes for code 25 (MethodHash=bf48d44c) for method Microsoft.DotNet.XUnitExtensions.DiscovererHelpers:TestPlatformApplies(int):ubyte (Tier1)
+; Total bytes of code 58, prolog size 0, PerfScore 5.67, instruction count 18, allocated bytes for code 58 (MethodHash=bf48d44c) for method Microsoft.DotNet.XUnitExtensions.DiscovererHelpers:TestPlatformApplies(int):ubyte (Tier1)
 ; ============================================================
 
 Unwind Info:
  
  
librariestestsnotieredcompilation.run.windows.x64.Release.mch
-5 (-4.10%) : 40051.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%) : 159917.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%) : 153593.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:
  
+47 (+87.04%) : 80811.dasm - System.Collections.Generic.SortedList`2[System.Canon,System.Canon]:Clear():this (FullOpts)
@@ -8,27 +8,35 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  9,  9   )     ref  ->  rbx         this class-hnd single-def <System.Collections.Generic.SortedList`2[System.__Canon,System.__Canon]>
+;  V00 this         [V00,T00] ( 10, 10   )     ref  ->  rbx         this class-hnd single-def <System.Collections.Generic.SortedList`2[System.__Canon,System.__Canon]>
 ;  V01 OutArgs      [V01    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V03 tmp2         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;* V04 cse0         [V04,T04] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
-;* V05 rat0         [V05,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V04 cse0         [V04,T04] (  3,  3   )    long  ->  rsi         "CSE - aggressive"
+;  V05 rat0         [V05,T03] (  2,  4   )    long  ->  rcx         "Spilling to split statement for tree"
 ;* V06 rat1         [V06,T05] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V07 rat2         [V07,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V07 rat2         [V07,T01] (  2,  4   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
 ;* V08 rat3         [V08,T06] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V09 rat4         [V09,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V09 rat4         [V09,T02] (  2,  4   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 40
 
 G_M20186_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+       push     rsi
        push     rbx
-       sub      rsp, 32
+       sub      rsp, 40
+       mov      qword ptr [rsp+0x20], rcx
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=8 bbWeight=1 PerfScore 1.50
+                       ;; size=14 bbWeight=1 PerfScore 3.50
 G_M20186_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        inc      dword ptr [rbx+0x34]
+       mov      rsi, qword ptr [rbx]
+       mov      rcx, rsi
+       mov      rcx, qword ptr [rcx+0x38]
+       mov      rcx, qword ptr [rcx]
+       mov      rcx, qword ptr [rcx+0x80]
+       test     rcx, rcx
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
        mov      r8d, dword ptr [rbx+0x30]
@@ -36,6 +44,10 @@ G_M20186_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        call     [<unknown method>]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
+       mov      rcx, qword ptr [rsi+0x38]
+       mov      rcx, qword ptr [rcx]
+       mov      rcx, qword ptr [rcx+0x88]
+       test     rcx, rcx
        mov      rcx, gword ptr [rbx+0x10]
        ; gcrRegs +[rcx]
        mov      r8d, dword ptr [rbx+0x30]
@@ -45,14 +57,15 @@ G_M20186_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        xor      eax, eax
        mov      dword ptr [rbx+0x30], eax
-                        ;; size=40 bbWeight=1 PerfScore 18.75
+                     ;; size=80 bbWeight=1 PerfScore 33.50
 G_M20186_IG03:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 32
+       add      rsp, 40
        pop      rbx
+       pop      rsi
        ret      
-                       ;; size=6 bbWeight=1 PerfScore 1.75
+                       ;; size=7 bbWeight=1 PerfScore 2.25
 
-; Total bytes of code 54, prolog size 5, PerfScore 22.00, instruction count 17, allocated bytes for code 54 (MethodHash=2efcb125) for method System.Collections.Generic.SortedList`2[System.__Canon,System.__Canon]:Clear():this (FullOpts)
+; Total bytes of code 101, prolog size 11, PerfScore 39.25, instruction count 30, allocated bytes for code 101 (MethodHash=2efcb125) for method System.Collections.Generic.SortedList`2[System.__Canon,System.__Canon]:Clear():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -60,10 +73,11 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x05
-  CountOfUnwindCodes: 2
+  SizeOfProlog      : 0x06
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 3 * 8 + 8 = 32 = 0x20
-    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
  
+35 (+94.59%) : 2406.dasm - System.Collections.Immutable.ImmutableDictionary2+<>c[System.__Canon,System.Collections.Immutable.ImmutableArray1[Microsoft.CodeAnalysis.Text.TextSpan]]:<.cctor>b107_0(System.Collections.Generic.KeyValuePair2[int,System.Collections.Immutable.ImmutableDictionary2+HashBucket[System.Canon,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Text.TextSpan]]]):this (FullOpts)
@@ -16,13 +16,13 @@
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "dup spill" <System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Text.TextSpan]]]>
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V08 tmp5         [V08,T06] (  3,  2.50)     ref  ->  rcx         single-def "V02.[000..008)"
-;* V09 cse0         [V09,T05] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
-;* V10 rat0         [V10,T04] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V08 tmp5         [V08,T06] (  3,  2.50)     ref  ->  rax         single-def "V02.[000..008)"
+;  V09 cse0         [V09,T05] (  3,  3   )    long  ->  rcx         "CSE - aggressive"
+;  V10 rat0         [V10,T04] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V11 rat1         [V11,T07] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V12 rat2         [V12,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V12 rat2         [V12,T01] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;* V13 rat3         [V13,T08] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V14 rat4         [V14,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V14 rat4         [V14,T02] (  2,  4   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 48
 
@@ -35,18 +35,29 @@ G_M18716_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=13 bbWeight=1 PerfScore 2.50
 G_M18716_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref, isz
        ; byrRegs +[rdx]
-       cmp      dword ptr [rbx], ebx
-       mov      rcx, gword ptr [rdx+0x08]
-       ; gcrRegs +[rcx]
+       mov      rcx, qword ptr [rbx]
+       mov      rax, rcx
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x18]
+       test     rax, rax
+       mov      rax, gword ptr [rdx+0x08]
+       ; gcrRegs +[rax]
+       mov      rcx, qword ptr [rcx+0x38]
+       mov      rcx, qword ptr [rcx]
+       mov      rcx, qword ptr [rcx+0x20]
        test     rcx, rcx
+       test     rax, rax
        je       SHORT G_M18716_IG04
-                       ;; size=11 bbWeight=1 PerfScore 6.25
-G_M18716_IG03:        ; bbWeight=0.50, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
+                        ;; size=43 bbWeight=1 PerfScore 18.00
+G_M18716_IG03:        ; bbWeight=0.50, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdx]
+       mov      rcx, rax
+       ; gcrRegs +[rcx]
        call     [System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Text.TextSpan]]]:Freeze():this]
-       ; gcrRegs -[rcx]
+       ; gcrRegs -[rax rcx]
        ; gcr arg pop 0
-                      ;; size=6 bbWeight=0.50 PerfScore 1.50
+                        ;; size=9 bbWeight=0.50 PerfScore 1.62
 G_M18716_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
@@ -56,7 +67,7 @@ G_M18716_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=6 bbWeight=1 PerfScore 1.75
 
-; Total bytes of code 37, prolog size 10, PerfScore 12.25, instruction count 13, allocated bytes for code 37 (MethodHash=7db8b6e3) for method System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Text.TextSpan]]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Text.TextSpan]]]):this (FullOpts)
+; Total bytes of code 72, prolog size 10, PerfScore 24.12, instruction count 23, allocated bytes for code 72 (MethodHash=7db8b6e3) for method System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Text.TextSpan]]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Text.TextSpan]]]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+35 (+94.59%) : 2888.dasm - System.Collections.Immutable.ImmutableHashSet1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
@@ -17,13 +17,13 @@
 ;* V06 tmp3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "dup spill" <System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]>
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V08 tmp5         [V08    ] (  0,  0   )     ref  ->  zero-ref    "field V02._firstValue (fldOffset=0x0)" P-INDEP
-;  V09 tmp6         [V09,T06] (  3,  2.50)     ref  ->  rcx         single-def "field V02._additionalElements (fldOffset=0x8)" P-INDEP
-;* V10 cse0         [V10,T05] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
-;* V11 rat0         [V11,T04] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V09 tmp6         [V09,T06] (  3,  2.50)     ref  ->  rax         single-def "field V02._additionalElements (fldOffset=0x8)" P-INDEP
+;  V10 cse0         [V10,T05] (  3,  3   )    long  ->  rcx         "CSE - aggressive"
+;  V11 rat0         [V11,T04] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V12 rat1         [V12,T07] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V13 rat2         [V13,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V13 rat2         [V13,T01] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;* V14 rat3         [V14,T08] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V15 rat4         [V15,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V15 rat4         [V15,T02] (  2,  4   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 48
 
@@ -36,18 +36,29 @@ G_M10050_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=13 bbWeight=1 PerfScore 2.50
 G_M10050_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref, isz
        ; byrRegs +[rdx]
-       cmp      dword ptr [rbx], ebx
-       mov      rcx, gword ptr [rdx+0x10]
-       ; gcrRegs +[rcx]
+       mov      rcx, qword ptr [rbx]
+       mov      rax, rcx
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x10]
+       test     rax, rax
+       mov      rax, gword ptr [rdx+0x10]
+       ; gcrRegs +[rax]
+       mov      rcx, qword ptr [rcx+0x38]
+       mov      rcx, qword ptr [rcx]
+       mov      rcx, qword ptr [rcx+0x18]
        test     rcx, rcx
+       test     rax, rax
        je       SHORT G_M10050_IG04
-                       ;; size=11 bbWeight=1 PerfScore 6.25
-G_M10050_IG03:        ; bbWeight=0.50, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
+                        ;; size=43 bbWeight=1 PerfScore 18.00
+G_M10050_IG03:        ; bbWeight=0.50, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdx]
+       mov      rcx, rax
+       ; gcrRegs +[rcx]
        call     [System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:Freeze():this]
-       ; gcrRegs -[rcx]
+       ; gcrRegs -[rax rcx]
        ; gcr arg pop 0
-                     ;; size=6 bbWeight=0.50 PerfScore 1.50
+                        ;; size=9 bbWeight=0.50 PerfScore 1.62
 G_M10050_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
@@ -57,7 +68,7 @@ G_M10050_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=6 bbWeight=1 PerfScore 1.75
 
-; Total bytes of code 37, prolog size 10, PerfScore 12.25, instruction count 13, allocated bytes for code 37 (MethodHash=2c0dd8bd) for method System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
+; Total bytes of code 72, prolog size 10, PerfScore 24.12, instruction count 23, allocated bytes for code 72 (MethodHash=2c0dd8bd) for method System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
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%) : 28772.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%) : 31062.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:
  
+16 (+84.21%) : 3376.dasm - Microsoft.FSharp.Core.ExtraTopLevelOperators+dictRefType@200[System.Canon]:Invoke(System.Canon):Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]:this (FullOpts)
@@ -14,9 +14,9 @@
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]>
 ;* V04 tmp2         [V04    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V05 tmp3         [V05    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V03.value (fldOffset=0x0)" P-INDEP
-;* V06 rat0         [V06,T03] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V06 rat0         [V06,T03] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V07 rat1         [V07,T04] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V08 rat2         [V08,T00] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V08 rat2         [V08,T00] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 40
 
@@ -26,16 +26,20 @@ G_M33213_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=9 bbWeight=1 PerfScore 1.25
 G_M33213_IG02:        ; bbWeight=1, gcrefRegs=0006 {rcx rdx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rcx rdx]
-       cmp      dword ptr [rcx], ecx
+       mov      rax, qword ptr [rcx]
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax+0x08]
+       mov      rax, qword ptr [rax+0x10]
+       test     rax, rax
        mov      rax, rdx
        ; gcrRegs +[rax]
-                      ;; size=5 bbWeight=1 PerfScore 3.25
+                       ;; size=21 bbWeight=1 PerfScore 8.50
 G_M33213_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        ret      
                        ;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 19, prolog size 9, PerfScore 5.75, instruction count 6, allocated bytes for code 19 (MethodHash=44387e42) for method Microsoft.FSharp.Core.ExtraTopLevelOperators+dictRefType@200[System.__Canon]:Invoke(System.__Canon):Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]:this (FullOpts)
+; Total bytes of code 35, prolog size 9, PerfScore 11.00, instruction count 10, allocated bytes for code 35 (MethodHash=44387e42) for method Microsoft.FSharp.Core.ExtraTopLevelOperators+dictRefType@200[System.__Canon]:Invoke(System.__Canon):Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+35 (+94.59%) : 19001.dasm - System.Collections.Immutable.ImmutableDictionary2+<>c[System.__Canon,int]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,int]]):this (FullOpts)
@@ -16,13 +16,13 @@
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "dup spill" <System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,int]]>
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V08 tmp5         [V08,T06] (  3,  2.50)     ref  ->  rcx         single-def "V02.[000..008)"
-;* V09 cse0         [V09,T05] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
-;* V10 rat0         [V10,T04] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V08 tmp5         [V08,T06] (  3,  2.50)     ref  ->  rax         single-def "V02.[000..008)"
+;  V09 cse0         [V09,T05] (  3,  3   )    long  ->  rcx         "CSE - aggressive"
+;  V10 rat0         [V10,T04] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V11 rat1         [V11,T07] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V12 rat2         [V12,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V12 rat2         [V12,T01] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;* V13 rat3         [V13,T08] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V14 rat4         [V14,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V14 rat4         [V14,T02] (  2,  4   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 48
 
@@ -35,18 +35,29 @@ G_M51228_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=13 bbWeight=1 PerfScore 2.50
 G_M51228_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref, isz
        ; byrRegs +[rdx]
-       cmp      dword ptr [rbx], ebx
-       mov      rcx, gword ptr [rdx+0x08]
-       ; gcrRegs +[rcx]
+       mov      rcx, qword ptr [rbx]
+       mov      rax, rcx
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x18]
+       test     rax, rax
+       mov      rax, gword ptr [rdx+0x08]
+       ; gcrRegs +[rax]
+       mov      rcx, qword ptr [rcx+0x38]
+       mov      rcx, qword ptr [rcx]
+       mov      rcx, qword ptr [rcx+0x20]
        test     rcx, rcx
+       test     rax, rax
        je       SHORT G_M51228_IG04
-                       ;; size=11 bbWeight=1 PerfScore 6.25
-G_M51228_IG03:        ; bbWeight=0.50, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
+                        ;; size=43 bbWeight=1 PerfScore 18.00
+G_M51228_IG03:        ; bbWeight=0.50, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdx]
+       mov      rcx, rax
+       ; gcrRegs +[rcx]
        call     [System.Collections.Immutable.ImmutableList`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,int]]:Freeze():this]
-       ; gcrRegs -[rcx]
+       ; gcrRegs -[rax rcx]
        ; gcr arg pop 0
-                      ;; size=6 bbWeight=0.50 PerfScore 1.50
+                        ;; size=9 bbWeight=0.50 PerfScore 1.62
 G_M51228_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
@@ -56,7 +67,7 @@ G_M51228_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=6 bbWeight=1 PerfScore 1.75
 
-; Total bytes of code 37, prolog size 10, PerfScore 12.25, instruction count 13, allocated bytes for code 37 (MethodHash=baa237e3) for method System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,int]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,int]]):this (FullOpts)
+; Total bytes of code 72, prolog size 10, PerfScore 24.12, instruction count 23, allocated bytes for code 72 (MethodHash=baa237e3) for method System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,int]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,int]]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+35 (+94.59%) : 18951.dasm - System.Collections.Immutable.ImmutableHashSet1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
@@ -17,13 +17,13 @@
 ;* V06 tmp3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "dup spill" <System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]>
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V08 tmp5         [V08    ] (  0,  0   )     ref  ->  zero-ref    "field V02._firstValue (fldOffset=0x0)" P-INDEP
-;  V09 tmp6         [V09,T06] (  3,  2.50)     ref  ->  rcx         single-def "field V02._additionalElements (fldOffset=0x8)" P-INDEP
-;* V10 cse0         [V10,T05] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
-;* V11 rat0         [V11,T04] (  0,  0   )    long  ->  zero-ref    "Spilling to split statement for tree"
+;  V09 tmp6         [V09,T06] (  3,  2.50)     ref  ->  rax         single-def "field V02._additionalElements (fldOffset=0x8)" P-INDEP
+;  V10 cse0         [V10,T05] (  3,  3   )    long  ->  rcx         "CSE - aggressive"
+;  V11 rat0         [V11,T04] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
 ;* V12 rat1         [V12,T07] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V13 rat2         [V13,T01] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V13 rat2         [V13,T01] (  2,  4   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
 ;* V14 rat3         [V14,T08] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
-;* V15 rat4         [V15,T02] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V15 rat4         [V15,T02] (  2,  4   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 48
 
@@ -36,18 +36,29 @@ G_M10050_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=13 bbWeight=1 PerfScore 2.50
 G_M10050_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref, isz
        ; byrRegs +[rdx]
-       cmp      dword ptr [rbx], ebx
-       mov      rcx, gword ptr [rdx+0x10]
-       ; gcrRegs +[rcx]
+       mov      rcx, qword ptr [rbx]
+       mov      rax, rcx
+       mov      rax, qword ptr [rax+0x38]
+       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rax+0x10]
+       test     rax, rax
+       mov      rax, gword ptr [rdx+0x10]
+       ; gcrRegs +[rax]
+       mov      rcx, qword ptr [rcx+0x38]
+       mov      rcx, qword ptr [rcx]
+       mov      rcx, qword ptr [rcx+0x18]
        test     rcx, rcx
+       test     rax, rax
        je       SHORT G_M10050_IG04
-                       ;; size=11 bbWeight=1 PerfScore 6.25
-G_M10050_IG03:        ; bbWeight=0.50, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
+                        ;; size=43 bbWeight=1 PerfScore 18.00
+G_M10050_IG03:        ; bbWeight=0.50, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdx]
+       mov      rcx, rax
+       ; gcrRegs +[rcx]
        call     [System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:Freeze():this]
-       ; gcrRegs -[rcx]
+       ; gcrRegs -[rax rcx]
        ; gcr arg pop 0
-                     ;; size=6 bbWeight=0.50 PerfScore 1.50
+                        ;; size=9 bbWeight=0.50 PerfScore 1.62
 G_M10050_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
@@ -57,7 +68,7 @@ G_M10050_IG05:        ; bbWeight=1, epilog, nogc, extend
        ret      
                        ;; size=6 bbWeight=1 PerfScore 1.75
 
-; Total bytes of code 37, prolog size 10, PerfScore 12.25, instruction count 13, allocated bytes for code 37 (MethodHash=2c0dd8bd) for method System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
+; Total bytes of code 72, prolog size 10, PerfScore 24.12, instruction count 23, allocated bytes for code 72 (MethodHash=2c0dd8bd) for method System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
smoke_tests.nativeaot.windows.x64.checked.mch
-6 (-2.52%) : 19669.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
@@ -11,41 +11,42 @@
 ;  V01 arg1         [V01,T05] (  4,  6   )   ubyte  ->  rsi         single-def
 ;  V02 arg2         [V02,T06] (  5,  5   )     int  ->  rdi         single-def
 ;  V03 loc0         [V03,T04] (  7,  8.04)     ref  ->  rax         class-hnd exact single-def <<unknown class>>
-;  V04 loc1         [V04,T00] ( 17, 26.04)     int  ->   r8        
+;  V04 loc1         [V04,T00] ( 17, 26.04)     int  ->  rbp        
 ;  V05 loc2         [V05,T09] (  2,  2   )     ref  ->  rax         class-hnd exact single-def <System.String>
 ;* V06 loc3         [V06    ] (  0,  0   )    long  ->  zero-ref   
-;  V07 loc4         [V07    ] (  3,  3   )   byref  ->  [rsp+0x28]  must-init pinned
+;  V07 loc4         [V07    ] (  3,  3   )   byref  ->  [rsp+0x20]  must-init pinned
 ;  V08 OutArgs      [V08    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T03] (  6, 16   )     int  ->  rcx         "Strict ordering of exceptions for Array store"
 ;  V10 tmp2         [V10,T01] (  8, 24   )     int  ->  rcx         "Inlining Arg"
 ;  V11 tmp3         [V11,T07] (  2,  4   )    long  ->  rcx         "Cast away GC"
 ;  V12 tmp4         [V12,T08] (  2,  4   )    long  ->  rcx         "argument with side effect"
 ;
-; Lcl frame size = 48
+; Lcl frame size = 40
 
 G_M51810_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rdi
        push     rsi
+       push     rbp
        push     rbx
-       sub      rsp, 48
+       sub      rsp, 40
        xor      eax, eax
-       mov      qword ptr [rsp+0x28], rax
+       mov      qword ptr [rsp+0x20], rax
        mov      rbx, rcx
        mov      esi, edx
        mov      edi, r8d
-                     ;; size=22 bbWeight=1 PerfScore 5.25
+                      ;; size=23 bbWeight=1 PerfScore 6.25
 G_M51810_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        movsxd   rdx, edi
        lea      rcx, [(reloc)]      ; <unknown class>
        call     CORINFO_HELP_NEWARR_1_VC
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       lea      r8d, [rdi-0x01]
-       test     r8d, r8d
+       lea      ebp, [rdi-0x01]
+       test     ebp, ebp
        jl       G_M51810_IG16
-       cmp      dword ptr [rax+0x08], r8d
+       cmp      dword ptr [rax+0x08], ebp
        jle      SHORT G_M51810_IG10
-                       ;; size=34 bbWeight=1 PerfScore 7.50
+                      ;; size=31 bbWeight=1 PerfScore 7.50
 G_M51810_IG03:        ; bbWeight=3.96, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        mov      rcx, rbx
        and      rcx, 15
@@ -62,10 +63,10 @@ G_M51810_IG05:        ; bbWeight=1.98, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        movzx    rcx, cx
                        ;; size=6 bbWeight=1.98 PerfScore 0.99
 G_M51810_IG06:        ; bbWeight=3.96, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       mov      edx, r8d
-       mov      word  ptr [rax+2*rdx+0x10], cx
+       mov      r8d, ebp
+       mov      word  ptr [rax+2*r8+0x10], cx
        shr      rbx, 4
-       test     r8d, r8d
+       test     ebp, ebp
        je       SHORT G_M51810_IG16
        test     sil, sil
        jne      SHORT G_M51810_IG08
@@ -75,9 +76,9 @@ G_M51810_IG07:        ; bbWeight=1.98, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        je       SHORT G_M51810_IG16
                        ;; size=5 bbWeight=1.98 PerfScore 2.48
 G_M51810_IG08:        ; bbWeight=3.96, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       dec      r8d
+       dec      ebp
        jns      SHORT G_M51810_IG03
-                      ;; size=5 bbWeight=3.96 PerfScore 4.95
+                        ;; size=4 bbWeight=3.96 PerfScore 4.95
 G_M51810_IG09:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M51810_IG16
                        ;; size=2 bbWeight=1 PerfScore 2.00
@@ -97,48 +98,49 @@ G_M51810_IG12:        ; bbWeight=0.02, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        movzx    rcx, cx
                        ;; size=6 bbWeight=0.02 PerfScore 0.01
 G_M51810_IG13:        ; bbWeight=0.04, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       cmp      r8d, dword ptr [rax+0x08]
+       cmp      ebp, dword ptr [rax+0x08]
        jae      SHORT G_M51810_IG18
-       mov      edx, r8d
-       mov      word  ptr [rax+2*rdx+0x10], cx
+       mov      r8d, ebp
+       mov      word  ptr [rax+2*r8+0x10], cx
        shr      rbx, 4
-       test     r8d, r8d
+       test     ebp, ebp
        je       SHORT G_M51810_IG16
        test     sil, sil
        jne      SHORT G_M51810_IG15
-                      ;; size=28 bbWeight=0.04 PerfScore 0.33
+                       ;; size=27 bbWeight=0.04 PerfScore 0.33
 G_M51810_IG14:        ; bbWeight=0.02, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        test     rbx, rbx
        je       SHORT G_M51810_IG16
                        ;; size=5 bbWeight=0.02 PerfScore 0.03
 G_M51810_IG15:        ; bbWeight=0.04, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       dec      r8d
+       dec      ebp
        jns      SHORT G_M51810_IG10
-                      ;; size=5 bbWeight=0.04 PerfScore 0.05
+                        ;; size=4 bbWeight=0.04 PerfScore 0.05
 G_M51810_IG16:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       cmp      r8d, dword ptr [rax+0x08]
+       cmp      ebp, dword ptr [rax+0x08]
        jae      SHORT G_M51810_IG18
-       mov      ecx, r8d
+       mov      ecx, ebp
        lea      rcx, bword ptr [rax+2*rcx+0x10]
        ; byrRegs +[rcx]
-       mov      bword ptr [rsp+0x28], rcx
-       mov      rcx, bword ptr [rsp+0x28]
-       sub      edi, r8d
+       mov      bword ptr [rsp+0x20], rcx
+       mov      rcx, bword ptr [rsp+0x20]
        mov      r8d, edi
+       sub      r8d, ebp
        xor      edx, edx
        call     <unknown method>
        ; byrRegs -[rcx]
        ; gcr arg pop 0
        xor      ecx, ecx
-       mov      bword ptr [rsp+0x28], rcx
-                       ;; size=44 bbWeight=1 PerfScore 10.25
+       mov      bword ptr [rsp+0x20], rcx
+                       ;; size=42 bbWeight=1 PerfScore 10.25
 G_M51810_IG17:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 48
+       add      rsp, 40
        pop      rbx
+       pop      rbp
        pop      rsi
        pop      rdi
        ret      
-                     ;; size=8 bbWeight=1 PerfScore 2.75
+                       ;; size=9 bbWeight=1 PerfScore 3.25
 G_M51810_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -146,7 +148,7 @@ G_M51810_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 238, prolog size 22, PerfScore 65.41, instruction count 79, allocated bytes for code 238 (MethodHash=4e8e359d) for method System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
+; Total bytes of code 232, prolog size 23, PerfScore 66.91, instruction count 81, allocated bytes for code 232 (MethodHash=4e8e359d) for method System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -154,12 +156,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x07
-  CountOfUnwindCodes: 4
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 5
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
     CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
  
-6 (-2.52%) : 22322.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
@@ -11,41 +11,42 @@
 ;  V01 arg1         [V01,T05] (  4,  6   )   ubyte  ->  rsi         single-def
 ;  V02 arg2         [V02,T06] (  5,  5   )     int  ->  rdi         single-def
 ;  V03 loc0         [V03,T04] (  7,  8.04)     ref  ->  rax         class-hnd exact single-def <<unknown class>>
-;  V04 loc1         [V04,T00] ( 17, 26.04)     int  ->   r8        
+;  V04 loc1         [V04,T00] ( 17, 26.04)     int  ->  rbp        
 ;  V05 loc2         [V05,T09] (  2,  2   )     ref  ->  rax         class-hnd exact single-def <System.String>
 ;* V06 loc3         [V06    ] (  0,  0   )    long  ->  zero-ref   
-;  V07 loc4         [V07    ] (  3,  3   )   byref  ->  [rsp+0x28]  must-init pinned
+;  V07 loc4         [V07    ] (  3,  3   )   byref  ->  [rsp+0x20]  must-init pinned
 ;  V08 OutArgs      [V08    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T03] (  6, 16   )     int  ->  rcx         "Strict ordering of exceptions for Array store"
 ;  V10 tmp2         [V10,T01] (  8, 24   )     int  ->  rcx         "Inlining Arg"
 ;  V11 tmp3         [V11,T07] (  2,  4   )    long  ->  rcx         "Cast away GC"
 ;  V12 tmp4         [V12,T08] (  2,  4   )    long  ->  rcx         "argument with side effect"
 ;
-; Lcl frame size = 48
+; Lcl frame size = 40
 
 G_M51810_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rdi
        push     rsi
+       push     rbp
        push     rbx
-       sub      rsp, 48
+       sub      rsp, 40
        xor      eax, eax
-       mov      qword ptr [rsp+0x28], rax
+       mov      qword ptr [rsp+0x20], rax
        mov      rbx, rcx
        mov      esi, edx
        mov      edi, r8d
-                     ;; size=22 bbWeight=1 PerfScore 5.25
+                      ;; size=23 bbWeight=1 PerfScore 6.25
 G_M51810_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        movsxd   rdx, edi
        lea      rcx, [(reloc)]      ; <unknown class>
        call     CORINFO_HELP_NEWARR_1_VC
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       lea      r8d, [rdi-0x01]
-       test     r8d, r8d
+       lea      ebp, [rdi-0x01]
+       test     ebp, ebp
        jl       G_M51810_IG16
-       cmp      dword ptr [rax+0x08], r8d
+       cmp      dword ptr [rax+0x08], ebp
        jle      SHORT G_M51810_IG10
-                       ;; size=34 bbWeight=1 PerfScore 7.50
+                      ;; size=31 bbWeight=1 PerfScore 7.50
 G_M51810_IG03:        ; bbWeight=3.96, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        mov      rcx, rbx
        and      rcx, 15
@@ -62,10 +63,10 @@ G_M51810_IG05:        ; bbWeight=1.98, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        movzx    rcx, cx
                        ;; size=6 bbWeight=1.98 PerfScore 0.99
 G_M51810_IG06:        ; bbWeight=3.96, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       mov      edx, r8d
-       mov      word  ptr [rax+2*rdx+0x10], cx
+       mov      r8d, ebp
+       mov      word  ptr [rax+2*r8+0x10], cx
        shr      rbx, 4
-       test     r8d, r8d
+       test     ebp, ebp
        je       SHORT G_M51810_IG16
        test     sil, sil
        jne      SHORT G_M51810_IG08
@@ -75,9 +76,9 @@ G_M51810_IG07:        ; bbWeight=1.98, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        je       SHORT G_M51810_IG16
                        ;; size=5 bbWeight=1.98 PerfScore 2.48
 G_M51810_IG08:        ; bbWeight=3.96, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       dec      r8d
+       dec      ebp
        jns      SHORT G_M51810_IG03
-                      ;; size=5 bbWeight=3.96 PerfScore 4.95
+                        ;; size=4 bbWeight=3.96 PerfScore 4.95
 G_M51810_IG09:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M51810_IG16
                        ;; size=2 bbWeight=1 PerfScore 2.00
@@ -97,48 +98,49 @@ G_M51810_IG12:        ; bbWeight=0.02, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        movzx    rcx, cx
                        ;; size=6 bbWeight=0.02 PerfScore 0.01
 G_M51810_IG13:        ; bbWeight=0.04, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       cmp      r8d, dword ptr [rax+0x08]
+       cmp      ebp, dword ptr [rax+0x08]
        jae      SHORT G_M51810_IG18
-       mov      edx, r8d
-       mov      word  ptr [rax+2*rdx+0x10], cx
+       mov      r8d, ebp
+       mov      word  ptr [rax+2*r8+0x10], cx
        shr      rbx, 4
-       test     r8d, r8d
+       test     ebp, ebp
        je       SHORT G_M51810_IG16
        test     sil, sil
        jne      SHORT G_M51810_IG15
-                      ;; size=28 bbWeight=0.04 PerfScore 0.33
+                       ;; size=27 bbWeight=0.04 PerfScore 0.33
 G_M51810_IG14:        ; bbWeight=0.02, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        test     rbx, rbx
        je       SHORT G_M51810_IG16
                        ;; size=5 bbWeight=0.02 PerfScore 0.03
 G_M51810_IG15:        ; bbWeight=0.04, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       dec      r8d
+       dec      ebp
        jns      SHORT G_M51810_IG10
-                      ;; size=5 bbWeight=0.04 PerfScore 0.05
+                        ;; size=4 bbWeight=0.04 PerfScore 0.05
 G_M51810_IG16:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       cmp      r8d, dword ptr [rax+0x08]
+       cmp      ebp, dword ptr [rax+0x08]
        jae      SHORT G_M51810_IG18
-       mov      ecx, r8d
+       mov      ecx, ebp
        lea      rcx, bword ptr [rax+2*rcx+0x10]
        ; byrRegs +[rcx]
-       mov      bword ptr [rsp+0x28], rcx
-       mov      rcx, bword ptr [rsp+0x28]
-       sub      edi, r8d
+       mov      bword ptr [rsp+0x20], rcx
+       mov      rcx, bword ptr [rsp+0x20]
        mov      r8d, edi
+       sub      r8d, ebp
        xor      edx, edx
        call     <unknown method>
        ; byrRegs -[rcx]
        ; gcr arg pop 0
        xor      ecx, ecx
-       mov      bword ptr [rsp+0x28], rcx
-                       ;; size=44 bbWeight=1 PerfScore 10.25
+       mov      bword ptr [rsp+0x20], rcx
+                       ;; size=42 bbWeight=1 PerfScore 10.25
 G_M51810_IG17:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 48
+       add      rsp, 40
        pop      rbx
+       pop      rbp
        pop      rsi
        pop      rdi
        ret      
-                     ;; size=8 bbWeight=1 PerfScore 2.75
+                       ;; size=9 bbWeight=1 PerfScore 3.25
 G_M51810_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -146,7 +148,7 @@ G_M51810_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 238, prolog size 22, PerfScore 65.41, instruction count 79, allocated bytes for code 238 (MethodHash=4e8e359d) for method System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
+; Total bytes of code 232, prolog size 23, PerfScore 66.91, instruction count 81, allocated bytes for code 232 (MethodHash=4e8e359d) for method System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -154,12 +156,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x07
-  CountOfUnwindCodes: 4
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 5
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
     CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
  
-6 (-2.52%) : 6135.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
@@ -12,41 +12,42 @@
 ;  V01 arg1         [V01,T05] (  4,  6   )   ubyte  ->  rsi         single-def
 ;  V02 arg2         [V02,T06] (  5,  5   )     int  ->  rdi         single-def
 ;  V03 loc0         [V03,T04] (  7,  8.04)     ref  ->  rax         class-hnd exact single-def <<unknown class>>
-;  V04 loc1         [V04,T00] ( 17, 26.04)     int  ->   r8        
+;  V04 loc1         [V04,T00] ( 17, 26.04)     int  ->  rbp        
 ;  V05 loc2         [V05,T09] (  2,  2   )     ref  ->  rax         class-hnd exact single-def <System.String>
 ;* V06 loc3         [V06    ] (  0,  0   )    long  ->  zero-ref   
-;  V07 loc4         [V07    ] (  3,  3   )   byref  ->  [rsp+0x28]  must-init pinned
+;  V07 loc4         [V07    ] (  3,  3   )   byref  ->  [rsp+0x20]  must-init pinned
 ;  V08 OutArgs      [V08    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T03] (  6, 16   )     int  ->  rcx         "Strict ordering of exceptions for Array store"
 ;  V10 tmp2         [V10,T01] (  8, 24   )     int  ->  rcx         "Inlining Arg"
 ;  V11 tmp3         [V11,T07] (  2,  4   )    long  ->  rcx         "Cast away GC"
 ;  V12 tmp4         [V12,T08] (  2,  4   )    long  ->  rcx         "argument with side effect"
 ;
-; Lcl frame size = 48
+; Lcl frame size = 40
 
 G_M51810_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rdi
        push     rsi
+       push     rbp
        push     rbx
-       sub      rsp, 48
+       sub      rsp, 40
        xor      eax, eax
-       mov      qword ptr [rsp+0x28], rax
+       mov      qword ptr [rsp+0x20], rax
        mov      rbx, rcx
        mov      esi, edx
        mov      edi, r8d
-                     ;; size=22 bbWeight=1 PerfScore 5.25
+                      ;; size=23 bbWeight=1 PerfScore 6.25
 G_M51810_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        movsxd   rdx, edi
        lea      rcx, [(reloc)]      ; <unknown class>
        call     CORINFO_HELP_NEWARR_1_VC
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       lea      r8d, [rdi-0x01]
-       test     r8d, r8d
+       lea      ebp, [rdi-0x01]
+       test     ebp, ebp
        jl       G_M51810_IG16
-       cmp      dword ptr [rax+0x08], r8d
+       cmp      dword ptr [rax+0x08], ebp
        jle      SHORT G_M51810_IG10
-                       ;; size=34 bbWeight=1 PerfScore 7.50
+                      ;; size=31 bbWeight=1 PerfScore 7.50
 G_M51810_IG03:        ; bbWeight=3.96, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        mov      rcx, rbx
        and      rcx, 15
@@ -63,10 +64,10 @@ G_M51810_IG05:        ; bbWeight=1.98, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        movzx    rcx, cx
                        ;; size=6 bbWeight=1.98 PerfScore 0.99
 G_M51810_IG06:        ; bbWeight=3.96, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       mov      edx, r8d
-       mov      word  ptr [rax+2*rdx+0x10], cx
+       mov      r8d, ebp
+       mov      word  ptr [rax+2*r8+0x10], cx
        shr      rbx, 4
-       test     r8d, r8d
+       test     ebp, ebp
        je       SHORT G_M51810_IG16
        test     sil, sil
        jne      SHORT G_M51810_IG08
@@ -76,9 +77,9 @@ G_M51810_IG07:        ; bbWeight=1.98, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        je       SHORT G_M51810_IG16
                        ;; size=5 bbWeight=1.98 PerfScore 2.48
 G_M51810_IG08:        ; bbWeight=3.96, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       dec      r8d
+       dec      ebp
        jns      SHORT G_M51810_IG03
-                      ;; size=5 bbWeight=3.96 PerfScore 4.95
+                        ;; size=4 bbWeight=3.96 PerfScore 4.95
 G_M51810_IG09:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M51810_IG16
                        ;; size=2 bbWeight=1 PerfScore 2.00
@@ -98,48 +99,49 @@ G_M51810_IG12:        ; bbWeight=0.02, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        movzx    rcx, cx
                        ;; size=6 bbWeight=0.02 PerfScore 0.01
 G_M51810_IG13:        ; bbWeight=0.04, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       cmp      r8d, dword ptr [rax+0x08]
+       cmp      ebp, dword ptr [rax+0x08]
        jae      SHORT G_M51810_IG18
-       mov      edx, r8d
-       mov      word  ptr [rax+2*rdx+0x10], cx
+       mov      r8d, ebp
+       mov      word  ptr [rax+2*r8+0x10], cx
        shr      rbx, 4
-       test     r8d, r8d
+       test     ebp, ebp
        je       SHORT G_M51810_IG16
        test     sil, sil
        jne      SHORT G_M51810_IG15
-                      ;; size=28 bbWeight=0.04 PerfScore 0.33
+                       ;; size=27 bbWeight=0.04 PerfScore 0.33
 G_M51810_IG14:        ; bbWeight=0.02, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        test     rbx, rbx
        je       SHORT G_M51810_IG16
                        ;; size=5 bbWeight=0.02 PerfScore 0.03
 G_M51810_IG15:        ; bbWeight=0.04, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       dec      r8d
+       dec      ebp
        jns      SHORT G_M51810_IG10
-                      ;; size=5 bbWeight=0.04 PerfScore 0.05
+                        ;; size=4 bbWeight=0.04 PerfScore 0.05
 G_M51810_IG16:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
-       cmp      r8d, dword ptr [rax+0x08]
+       cmp      ebp, dword ptr [rax+0x08]
        jae      SHORT G_M51810_IG18
-       mov      ecx, r8d
+       mov      ecx, ebp
        lea      rcx, bword ptr [rax+2*rcx+0x10]
        ; byrRegs +[rcx]
-       mov      bword ptr [rsp+0x28], rcx
-       mov      rcx, bword ptr [rsp+0x28]
-       sub      edi, r8d
+       mov      bword ptr [rsp+0x20], rcx
+       mov      rcx, bword ptr [rsp+0x20]
        mov      r8d, edi
+       sub      r8d, ebp
        xor      edx, edx
        call     <unknown method>
        ; byrRegs -[rcx]
        ; gcr arg pop 0
        xor      ecx, ecx
-       mov      bword ptr [rsp+0x28], rcx
-                       ;; size=44 bbWeight=1 PerfScore 10.25
+       mov      bword ptr [rsp+0x20], rcx
+                       ;; size=42 bbWeight=1 PerfScore 10.25
 G_M51810_IG17:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 48
+       add      rsp, 40
        pop      rbx
+       pop      rbp
        pop      rsi
        pop      rdi
        ret      
-                     ;; size=8 bbWeight=1 PerfScore 2.75
+                       ;; size=9 bbWeight=1 PerfScore 3.25
 G_M51810_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -147,7 +149,7 @@ G_M51810_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 238, prolog size 22, PerfScore 65.41, instruction count 79, allocated bytes for code 238 (MethodHash=4e8e359d) for method System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
+; Total bytes of code 232, prolog size 23, PerfScore 66.91, instruction count 81, allocated bytes for code 232 (MethodHash=4e8e359d) for method System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -155,12 +157,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x07
-  CountOfUnwindCodes: 4
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 5
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
     CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
  
+45 (+3.73%) : 21351.dasm - System.Enum:FormatFlagNamesushort:System.String (FullOpts)
@@ -11,11 +11,11 @@
 ;  V01 arg1         [V01,T30] (  3,  3   )  ushort  ->  rbx         single-def
 ;  V02 loc0         [V02,T21] (  7,  9.50)     ref  ->  rsi         class-hnd exact single-def <System.String[]>
 ;  V03 loc1         [V03,T20] (  6, 11   )     ref  ->  rdi         class-hnd single-def <ushort[]>
-;  V04 loc2         [V04,T31] (  6,  4.50)     ref  ->  registers   class-hnd exact <System.String>
-;  V05 loc3         [V05,T34] (  6,  3   )     int  ->  rdx         ld-addr-op
+;  V04 loc2         [V04,T31] (  6,  4.50)     ref  ->  r13         class-hnd exact <System.String>
+;  V05 loc3         [V05,T34] (  6,  3   )     int  ->  rcx         ld-addr-op
 ;* V06 loc4         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
-;  V07 loc5         [V07,T28] (  4,  5   )     int  ->  r12         ld-addr-op
-;  V08 loc6         [V08,T17] ( 13, 12.50)     int  ->  [rbp+0xA4]  ld-addr-op
+;  V07 loc5         [V07,T28] (  4,  5   )     int  ->  [rbp+0xA4]  ld-addr-op
+;  V08 loc6         [V08,T17] ( 13, 12.50)     int  ->  [rbp+0xA0]  ld-addr-op
 ;* V09 loc7         [V09    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[int]>
 ;* V10 loc8         [V10    ] (  0,  0   )     int  ->  zero-ref   
 ;  V11 OutArgs      [V11    ] (  1,  1   )  struct (48) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -23,15 +23,15 @@
 ;* V13 tmp2         [V13    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[int]>
 ;* V14 tmp3         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;* V15 tmp4         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V16 tmp5         [V16,T35] (  5,  3   )     ref  ->  rbx         class-hnd exact "Inline return value spill temp" <System.String>
-;  V17 tmp6         [V17,T05] ( 10, 22.50)     int  ->  rax         "Inline stloc first use temp"
+;  V16 tmp5         [V16,T35] (  5,  3   )     ref  ->  r13         class-hnd exact "Inline return value spill temp" <System.String>
+;  V17 tmp6         [V17,T05] ( 10, 22.50)     int  ->  r12         "Inline stloc first use temp"
 ;* V18 tmp7         [V18    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V19 tmp8         [V19    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp9         [V20    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V21 tmp10        [V21    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;  V22 tmp11        [V22,T45] (  2,  2   )    long  ->  r13         "Inlining Arg"
-;  V23 tmp12        [V23,T00] (  9, 53   )     int  ->  rdx         "Inlining Arg"
-;  V24 tmp13        [V24,T06] (  6, 22   )  ushort  ->  rcx         "Inlining Arg"
+;  V22 tmp11        [V22,T45] (  2,  2   )    long  ->  r12         "Inlining Arg"
+;  V23 tmp12        [V23,T00] (  9, 53   )     int  ->  rcx         "Inlining Arg"
+;  V24 tmp13        [V24,T06] (  6, 22   )  ushort  ->  rbx         "Inlining Arg"
 ;  V25 tmp14        [V25,T08] (  5, 18   )  ushort  ->   r8         "Inline stloc first use temp"
 ;* V26 tmp15        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V27 tmp16        [V27    ] (  0,  0   )     int  ->  zero-ref    "Span.get_Item index"
@@ -44,7 +44,7 @@
 ;* V34 tmp23        [V34    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V35 tmp24        [V35    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V36 tmp25        [V36,T48] (  3,  1.50)     int  ->  rcx        
-;  V37 tmp26        [V37,T49] (  3,  1.50)   ubyte  ->  rbx         "Inline stloc first use temp"
+;  V37 tmp26        [V37,T49] (  3,  1.50)   ubyte  ->  r13         "Inline stloc first use temp"
 ;* V38 tmp27        [V38    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;  V39 tmp28        [V39    ] (  2,  1   )   ubyte  ->  [rbp+0x98]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V40 tmp29        [V40    ] (  2,  2   )  struct (24) [rbp+0x80]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.Diagnostics.Debug+AssertInterpolatedStringHandler>
@@ -60,8 +60,8 @@
 ;* V50 tmp39        [V50    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
 ;* V51 tmp40        [V51    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V52 tmp41        [V52    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V53 tmp42        [V53,T46] (  2,  2   )     int  ->  r12         "Inlining Arg"
-;  V54 tmp43        [V54,T42] (  2,  2   )   byref  ->  r15         single-def "Inlining Arg"
+;  V53 tmp42        [V53,T46] (  2,  2   )     int  ->  rdi         "Inlining Arg"
+;  V54 tmp43        [V54,T42] (  2,  2   )   byref  ->  rbx         single-def "Inlining Arg"
 ;* V55 tmp44        [V55    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V56 tmp45        [V56    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V57 tmp46        [V57    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[int]>
@@ -85,12 +85,12 @@
 ;* V75 tmp64        [V75    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V76 tmp65        [V76,T13] (  2, 16   )     int  ->  rcx         "Inlining Arg"
 ;* V77 tmp66        [V77    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V78 tmp67        [V78,T02] (  4, 32   )     int  ->  r12         "Inlining Arg"
-;  V79 tmp68        [V79,T01] (  4, 32   )   byref  ->  r15         "Inlining Arg"
+;  V78 tmp67        [V78,T02] (  4, 32   )     int  ->  rdi         "Inlining Arg"
+;  V79 tmp68        [V79,T01] (  4, 32   )   byref  ->  rbx         "Inlining Arg"
 ;* V80 tmp69        [V80    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V81 tmp70        [V81    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V82 tmp71        [V82    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V83 tmp72        [V83,T03] (  3, 24   )     int  ->  r12         "Inlining Arg"
+;  V83 tmp72        [V83,T03] (  3, 24   )     int  ->  rdi         "Inlining Arg"
 ;  V84 tmp73        [V84,T11] (  2, 16   )   byref  ->  [rbp+0x08]  spill-single-def "Inlining Arg"
 ;* V85 tmp74        [V85    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V86 tmp75        [V86    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -100,28 +100,28 @@
 ;  V90 tmp79        [V90,T44] (  2,  2   )   byref  ->  rdx         single-def "Inlining Arg"
 ;  V91 tmp80        [V91,T47] (  2,  2   )    long  ->   r8         "Inlining Arg"
 ;* V92 tmp81        [V92    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V93 tmp82        [V93,T33] (  3,  3   )   byref  ->  r13         "field V06._reference (fldOffset=0x0)" P-INDEP
+;  V93 tmp82        [V93,T33] (  3,  3   )   byref  ->  r12         "field V06._reference (fldOffset=0x0)" P-INDEP
 ;* V94 tmp83        [V94,T58] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
 ;* V95 tmp84        [V95    ] (  0,  0   )   byref  ->  zero-ref    "field V09._reference (fldOffset=0x0)" P-INDEP
 ;* V96 tmp85        [V96    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
-;  V97 tmp86        [V97,T51] (  2,  1   )   byref  ->  r13         single-def "field V12._reference (fldOffset=0x0)" P-INDEP
+;  V97 tmp86        [V97,T51] (  2,  1   )   byref  ->  r12         single-def "field V12._reference (fldOffset=0x0)" P-INDEP
 ;* V98 tmp87        [V98,T59] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
 ;* V99 tmp88        [V99    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V100 tmp89       [V100    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
-;  V101 tmp90       [V101,T52] (  2,  1   )   byref  ->  r15         single-def "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V102 tmp91       [V102,T55] (  2,  1   )     int  ->  r12         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V101 tmp90       [V101,T52] (  2,  1   )   byref  ->  rbx         single-def "field V14._reference (fldOffset=0x0)" P-INDEP
+;  V102 tmp91       [V102,T55] (  2,  1   )     int  ->  rdi         "field V14._length (fldOffset=0x8)" P-INDEP
 ;* V103 tmp92       [V103,T57] (  0,  0   )   byref  ->  zero-ref    single-def "field V26._reference (fldOffset=0x0)" P-INDEP
 ;* V104 tmp93       [V104,T60] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
-;  V105 tmp94       [V105,T53] (  2,  1   )   byref  ->  r13         single-def "field V31._reference (fldOffset=0x0)" P-INDEP
+;  V105 tmp94       [V105,T53] (  2,  1   )   byref  ->  r12         single-def "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V106 tmp95       [V106    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;* V107 tmp96       [V107    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V108 tmp97       [V108    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
-;  V109 tmp98       [V109,T54] (  2,  1   )   byref  ->  r13         single-def "field V48._reference (fldOffset=0x0)" P-INDEP
-;  V110 tmp99       [V110,T56] (  2,  1   )     int  ->  rbx         "field V48._length (fldOffset=0x8)" P-INDEP
-;  V111 tmp100      [V111,T29] (  3,  5   )   byref  ->  r13         single-def "field V57._reference (fldOffset=0x0)" P-INDEP
-;  V112 tmp101      [V112,T26] (  6,  6.50)     int  ->  rbx         "field V57._length (fldOffset=0x8)" P-INDEP
-;  V113 tmp102      [V113,T15] (  5, 13   )   byref  ->  r15         "field V65._reference (fldOffset=0x0)" P-INDEP
-;  V114 tmp103      [V114,T16] (  5, 13   )     int  ->  r12         "field V65._length (fldOffset=0x8)" P-INDEP
+;  V109 tmp98       [V109,T54] (  2,  1   )   byref  ->  r12         single-def "field V48._reference (fldOffset=0x0)" P-INDEP
+;  V110 tmp99       [V110,T56] (  2,  1   )     int  ->  r15         "field V48._length (fldOffset=0x8)" P-INDEP
+;  V111 tmp100      [V111,T29] (  3,  5   )   byref  ->  r12         single-def "field V57._reference (fldOffset=0x0)" P-INDEP
+;  V112 tmp101      [V112,T26] (  6,  6.50)     int  ->  r15         "field V57._length (fldOffset=0x8)" P-INDEP
+;  V113 tmp102      [V113,T15] (  5, 13   )   byref  ->  rbx         "field V65._reference (fldOffset=0x0)" P-INDEP
+;  V114 tmp103      [V114,T16] (  5, 13   )     int  ->  rdi         "field V65._length (fldOffset=0x8)" P-INDEP
 ;* V115 tmp104      [V115    ] (  0,  0   )   byref  ->  zero-ref    "field V66._reference (fldOffset=0x0)" P-INDEP
 ;* V116 tmp105      [V116    ] (  0,  0   )     int  ->  zero-ref    "field V66._length (fldOffset=0x8)" P-INDEP
 ;* V117 tmp106      [V117    ] (  0,  0   )   byref  ->  zero-ref    "field V71._reference (fldOffset=0x0)" P-INDEP
@@ -129,7 +129,7 @@
 ;* V119 tmp108      [V119    ] (  0,  0   )   byref  ->  zero-ref    "field V77._reference (fldOffset=0x0)" P-INDEP
 ;* V120 tmp109      [V120    ] (  0,  0   )     int  ->  zero-ref    "field V77._length (fldOffset=0x8)" P-INDEP
 ;  V121 tmp110      [V121,T23] (  2,  8   )   byref  ->  rax         "field V82._reference (fldOffset=0x0)" P-INDEP
-;  V122 tmp111      [V122,T24] (  2,  8   )     int  ->  r12         "field V82._length (fldOffset=0x8)" P-INDEP
+;  V122 tmp111      [V122,T24] (  2,  8   )     int  ->  rdi         "field V82._length (fldOffset=0x8)" P-INDEP
 ;* V123 tmp112      [V123    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V88._reference (fldOffset=0x0)" P-INDEP
 ;* V124 tmp113      [V124    ] (  0,  0   )     int  ->  zero-ref    "field V88._length (fldOffset=0x8)" P-INDEP
 ;  V125 tmp114      [V125,T04] (  3, 24   )     int  ->   r8         "index expr"
@@ -139,7 +139,7 @@
 ;  V129 cse1        [V129,T14] (  8, 15.50)     int  ->  r15         "CSE - moderate"
 ;  V130 cse2        [V130,T09] (  4, 16   )     int  ->  [rbp+0x14]  spill-single-def "CSE - moderate"
 ;  V131 cse3        [V131,T22] (  7,  9.50)     int  ->  r14         "CSE - moderate"
-;  V132 cse4        [V132,T25] (  5,  7   )     int  ->  rcx         "CSE - moderate"
+;  V132 cse4        [V132,T25] (  5,  7   )     int  ->  rbx         "CSE - moderate"
 ;
 ; Lcl frame size = 216
 
@@ -188,160 +188,166 @@ G_M25443_IG03:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000
        ; gcr arg pop 0
                        ;; size=19 bbWeight=0.50 PerfScore 1.00
 G_M25443_IG04:        ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       movzx    rcx, bx
-       test     ecx, ecx
+       movzx    rbx, bx
+       test     ebx, ebx
        jne      SHORT G_M25443_IG08
                        ;; size=7 bbWeight=1 PerfScore 1.50
 G_M25443_IG05:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       xor      edx, edx
+       xor      ecx, ecx
        test     r15d, r15d
        je       SHORT G_M25443_IG06
        cmp      word  ptr [rdi+0x10], 0
        je       SHORT G_M25443_IG07
                        ;; size=14 bbWeight=0.50 PerfScore 2.75
 G_M25443_IG06:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       lea      rbx, gword ptr [(reloc)]
-       ; gcrRegs +[rbx]
+       lea      r13, gword ptr [(reloc)]
+       ; gcrRegs +[r13]
        jmp      SHORT G_M25443_IG13
                        ;; size=9 bbWeight=0.50 PerfScore 1.25
 G_M25443_IG07:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rbx]
+       ; gcrRegs -[r13]
        test     r14d, r14d
        je       G_M25443_IG45
-       mov      rbx, gword ptr [rsi+0x10]
-       ; gcrRegs +[rbx]
+       mov      r13, gword ptr [rsi+0x10]
+       ; gcrRegs +[r13]
        jmp      SHORT G_M25443_IG13
                        ;; size=15 bbWeight=0.50 PerfScore 2.62
 G_M25443_IG08:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rbx]
-       lea      eax, [r15-0x01]
-       cmp      r15d, eax
+       ; gcrRegs -[r13]
+       lea      r12d, [r15-0x01]
+       cmp      r15d, r12d
        jbe      SHORT G_M25443_IG12
                        ;; size=9 bbWeight=0.50 PerfScore 0.88
 G_M25443_IG09:        ; bbWeight=4, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       cmp      eax, r15d
+       cmp      r12d, r15d
        jae      G_M25443_IG45
-       mov      edx, eax
-       movzx    rdx, word  ptr [rdi+2*rdx+0x10]
-       cmp      edx, ecx
+       mov      ecx, r12d
+       movzx    rcx, word  ptr [rdi+2*rcx+0x10]
+       cmp      ecx, ebx
        jle      SHORT G_M25443_IG11
-       dec      eax
-       cmp      r15d, eax
+       dec      r12d
+       cmp      r15d, r12d
        ja       SHORT G_M25443_IG09
-                        ;; size=27 bbWeight=4 PerfScore 25.00
+                     ;; size=29 bbWeight=4 PerfScore 25.00
 G_M25443_IG10:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M25443_IG12
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
 G_M25443_IG11:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       mov      edx, eax
-       movzx    rdx, word  ptr [rdi+2*rdx+0x10]
-       cmp      edx, ecx
+       mov      ecx, r12d
+       movzx    rcx, word  ptr [rdi+2*rcx+0x10]
+       cmp      ecx, ebx
        jne      SHORT G_M25443_IG12
-       mov      edx, eax
-       cmp      edx, r14d
+       mov      ecx, r12d
+       cmp      ecx, r14d
        jae      G_M25443_IG45
-       mov      eax, edx
-       mov      rbx, gword ptr [rsi+8*rax+0x10]
-       ; gcrRegs +[rbx]
+       mov      edx, ecx
+       mov      r13, gword ptr [rsi+8*rdx+0x10]
+       ; gcrRegs +[r13]
        jmp      SHORT G_M25443_IG13
-                       ;; size=31 bbWeight=0.50 PerfScore 4.62
+                       ;; size=33 bbWeight=0.50 PerfScore 4.62
 G_M25443_IG12:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rbx]
-       mov      edx, eax
-       xor      rbx, rbx
-       ; gcrRegs +[rbx]
-                       ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M25443_IG13:        ; bbWeight=1, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
-       test     rbx, rbx
+       ; gcrRegs -[r13]
+       mov      ecx, r12d
+       xor      r13, r13
+       ; gcrRegs +[r13]
+                       ;; size=6 bbWeight=0.50 PerfScore 0.25
+G_M25443_IG13:        ; bbWeight=1, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref
+       test     r13, r13
        jne      G_M25443_IG41
                        ;; size=9 bbWeight=1 PerfScore 1.25
-G_M25443_IG14:        ; bbWeight=0.50, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
+G_M25443_IG14:        ; bbWeight=0.50, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref
        test     dword ptr [rsp], esp
        sub      rsp, 256
-       lea      r13, [rsp+0x30]
-       xor      r12d, r12d
+       lea      r12, [rsp+0x30]
+       xor      edx, edx
        xor      eax, eax
-                     ;; size=20 bbWeight=0.50 PerfScore 2.12
-G_M25443_IG15:        ; bbWeight=4, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=2000 {r13}, byref, isz
-       ; byrRegs +[r13]
-       cmp      r15d, edx
+                        ;; size=19 bbWeight=0.50 PerfScore 2.12
...
  
+45 (+3.73%) : 15825.dasm - System.Enum:FormatFlagNamesubyte:System.String (FullOpts)
@@ -11,11 +11,11 @@
 ;  V01 arg1         [V01,T30] (  3,  3   )   ubyte  ->  rbx         single-def
 ;  V02 loc0         [V02,T21] (  7,  9.50)     ref  ->  rsi         class-hnd exact single-def <System.String[]>
 ;  V03 loc1         [V03,T20] (  6, 11   )     ref  ->  rdi         class-hnd single-def <ubyte[]>
-;  V04 loc2         [V04,T31] (  6,  4.50)     ref  ->  registers   class-hnd exact <System.String>
-;  V05 loc3         [V05,T34] (  6,  3   )     int  ->  rdx         ld-addr-op
+;  V04 loc2         [V04,T31] (  6,  4.50)     ref  ->  r13         class-hnd exact <System.String>
+;  V05 loc3         [V05,T34] (  6,  3   )     int  ->  rcx         ld-addr-op
 ;* V06 loc4         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
-;  V07 loc5         [V07,T28] (  4,  5   )     int  ->  r12         ld-addr-op
-;  V08 loc6         [V08,T17] ( 13, 12.50)     int  ->  [rbp+0xA4]  ld-addr-op
+;  V07 loc5         [V07,T28] (  4,  5   )     int  ->  [rbp+0xA4]  ld-addr-op
+;  V08 loc6         [V08,T17] ( 13, 12.50)     int  ->  [rbp+0xA0]  ld-addr-op
 ;* V09 loc7         [V09    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[int]>
 ;* V10 loc8         [V10    ] (  0,  0   )     int  ->  zero-ref   
 ;  V11 OutArgs      [V11    ] (  1,  1   )  struct (48) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -23,15 +23,15 @@
 ;* V13 tmp2         [V13    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[int]>
 ;* V14 tmp3         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;* V15 tmp4         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V16 tmp5         [V16,T35] (  5,  3   )     ref  ->  rbx         class-hnd exact "Inline return value spill temp" <System.String>
-;  V17 tmp6         [V17,T05] ( 10, 22.50)     int  ->  rax         "Inline stloc first use temp"
+;  V16 tmp5         [V16,T35] (  5,  3   )     ref  ->  r13         class-hnd exact "Inline return value spill temp" <System.String>
+;  V17 tmp6         [V17,T05] ( 10, 22.50)     int  ->  r12         "Inline stloc first use temp"
 ;* V18 tmp7         [V18    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V19 tmp8         [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp9         [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V21 tmp10        [V21    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V22 tmp11        [V22,T45] (  2,  2   )    long  ->  r13         "Inlining Arg"
-;  V23 tmp12        [V23,T00] (  9, 53   )     int  ->  rdx         "Inlining Arg"
-;  V24 tmp13        [V24,T06] (  6, 22   )   ubyte  ->  rcx         "Inlining Arg"
+;  V22 tmp11        [V22,T45] (  2,  2   )    long  ->  r12         "Inlining Arg"
+;  V23 tmp12        [V23,T00] (  9, 53   )     int  ->  rcx         "Inlining Arg"
+;  V24 tmp13        [V24,T06] (  6, 22   )   ubyte  ->  rbx         "Inlining Arg"
 ;  V25 tmp14        [V25,T08] (  5, 18   )   ubyte  ->   r8         "Inline stloc first use temp"
 ;* V26 tmp15        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V27 tmp16        [V27    ] (  0,  0   )     int  ->  zero-ref    "Span.get_Item index"
@@ -44,7 +44,7 @@
 ;* V34 tmp23        [V34    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V35 tmp24        [V35    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V36 tmp25        [V36,T48] (  3,  1.50)     int  ->  rcx        
-;  V37 tmp26        [V37,T49] (  3,  1.50)   ubyte  ->  rbx         "Inline stloc first use temp"
+;  V37 tmp26        [V37,T49] (  3,  1.50)   ubyte  ->  r13         "Inline stloc first use temp"
 ;* V38 tmp27        [V38    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;  V39 tmp28        [V39    ] (  2,  1   )   ubyte  ->  [rbp+0x98]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V40 tmp29        [V40    ] (  2,  2   )  struct (24) [rbp+0x80]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.Diagnostics.Debug+AssertInterpolatedStringHandler>
@@ -60,8 +60,8 @@
 ;* V50 tmp39        [V50    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
 ;* V51 tmp40        [V51    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V52 tmp41        [V52    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V53 tmp42        [V53,T46] (  2,  2   )     int  ->  r12         "Inlining Arg"
-;  V54 tmp43        [V54,T42] (  2,  2   )   byref  ->  r15         single-def "Inlining Arg"
+;  V53 tmp42        [V53,T46] (  2,  2   )     int  ->  rdi         "Inlining Arg"
+;  V54 tmp43        [V54,T42] (  2,  2   )   byref  ->  rbx         single-def "Inlining Arg"
 ;* V55 tmp44        [V55    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V56 tmp45        [V56    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V57 tmp46        [V57    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[int]>
@@ -85,12 +85,12 @@
 ;* V75 tmp64        [V75    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V76 tmp65        [V76,T13] (  2, 16   )     int  ->  rcx         "Inlining Arg"
 ;* V77 tmp66        [V77    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V78 tmp67        [V78,T02] (  4, 32   )     int  ->  r12         "Inlining Arg"
-;  V79 tmp68        [V79,T01] (  4, 32   )   byref  ->  r15         "Inlining Arg"
+;  V78 tmp67        [V78,T02] (  4, 32   )     int  ->  rdi         "Inlining Arg"
+;  V79 tmp68        [V79,T01] (  4, 32   )   byref  ->  rbx         "Inlining Arg"
 ;* V80 tmp69        [V80    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V81 tmp70        [V81    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V82 tmp71        [V82    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V83 tmp72        [V83,T03] (  3, 24   )     int  ->  r12         "Inlining Arg"
+;  V83 tmp72        [V83,T03] (  3, 24   )     int  ->  rdi         "Inlining Arg"
 ;  V84 tmp73        [V84,T11] (  2, 16   )   byref  ->  [rbp+0x08]  spill-single-def "Inlining Arg"
 ;* V85 tmp74        [V85    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V86 tmp75        [V86    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -100,28 +100,28 @@
 ;  V90 tmp79        [V90,T44] (  2,  2   )   byref  ->  rdx         single-def "Inlining Arg"
 ;  V91 tmp80        [V91,T47] (  2,  2   )    long  ->   r8         "Inlining Arg"
 ;* V92 tmp81        [V92    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V93 tmp82        [V93,T33] (  3,  3   )   byref  ->  r13         "field V06._reference (fldOffset=0x0)" P-INDEP
+;  V93 tmp82        [V93,T33] (  3,  3   )   byref  ->  r12         "field V06._reference (fldOffset=0x0)" P-INDEP
 ;* V94 tmp83        [V94,T58] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
 ;* V95 tmp84        [V95    ] (  0,  0   )   byref  ->  zero-ref    "field V09._reference (fldOffset=0x0)" P-INDEP
 ;* V96 tmp85        [V96    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
-;  V97 tmp86        [V97,T51] (  2,  1   )   byref  ->  r13         single-def "field V12._reference (fldOffset=0x0)" P-INDEP
+;  V97 tmp86        [V97,T51] (  2,  1   )   byref  ->  r12         single-def "field V12._reference (fldOffset=0x0)" P-INDEP
 ;* V98 tmp87        [V98,T59] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
 ;* V99 tmp88        [V99    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V100 tmp89       [V100    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
-;  V101 tmp90       [V101,T52] (  2,  1   )   byref  ->  r15         single-def "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V102 tmp91       [V102,T55] (  2,  1   )     int  ->  r12         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V101 tmp90       [V101,T52] (  2,  1   )   byref  ->  rbx         single-def "field V14._reference (fldOffset=0x0)" P-INDEP
+;  V102 tmp91       [V102,T55] (  2,  1   )     int  ->  rdi         "field V14._length (fldOffset=0x8)" P-INDEP
 ;* V103 tmp92       [V103,T57] (  0,  0   )   byref  ->  zero-ref    single-def "field V26._reference (fldOffset=0x0)" P-INDEP
 ;* V104 tmp93       [V104,T60] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
-;  V105 tmp94       [V105,T53] (  2,  1   )   byref  ->  r13         single-def "field V31._reference (fldOffset=0x0)" P-INDEP
+;  V105 tmp94       [V105,T53] (  2,  1   )   byref  ->  r12         single-def "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V106 tmp95       [V106    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;* V107 tmp96       [V107    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V108 tmp97       [V108    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
-;  V109 tmp98       [V109,T54] (  2,  1   )   byref  ->  r13         single-def "field V48._reference (fldOffset=0x0)" P-INDEP
-;  V110 tmp99       [V110,T56] (  2,  1   )     int  ->  rbx         "field V48._length (fldOffset=0x8)" P-INDEP
-;  V111 tmp100      [V111,T29] (  3,  5   )   byref  ->  r13         single-def "field V57._reference (fldOffset=0x0)" P-INDEP
-;  V112 tmp101      [V112,T26] (  6,  6.50)     int  ->  rbx         "field V57._length (fldOffset=0x8)" P-INDEP
-;  V113 tmp102      [V113,T15] (  5, 13   )   byref  ->  r15         "field V65._reference (fldOffset=0x0)" P-INDEP
-;  V114 tmp103      [V114,T16] (  5, 13   )     int  ->  r12         "field V65._length (fldOffset=0x8)" P-INDEP
+;  V109 tmp98       [V109,T54] (  2,  1   )   byref  ->  r12         single-def "field V48._reference (fldOffset=0x0)" P-INDEP
+;  V110 tmp99       [V110,T56] (  2,  1   )     int  ->  r15         "field V48._length (fldOffset=0x8)" P-INDEP
+;  V111 tmp100      [V111,T29] (  3,  5   )   byref  ->  r12         single-def "field V57._reference (fldOffset=0x0)" P-INDEP
+;  V112 tmp101      [V112,T26] (  6,  6.50)     int  ->  r15         "field V57._length (fldOffset=0x8)" P-INDEP
+;  V113 tmp102      [V113,T15] (  5, 13   )   byref  ->  rbx         "field V65._reference (fldOffset=0x0)" P-INDEP
+;  V114 tmp103      [V114,T16] (  5, 13   )     int  ->  rdi         "field V65._length (fldOffset=0x8)" P-INDEP
 ;* V115 tmp104      [V115    ] (  0,  0   )   byref  ->  zero-ref    "field V66._reference (fldOffset=0x0)" P-INDEP
 ;* V116 tmp105      [V116    ] (  0,  0   )     int  ->  zero-ref    "field V66._length (fldOffset=0x8)" P-INDEP
 ;* V117 tmp106      [V117    ] (  0,  0   )   byref  ->  zero-ref    "field V71._reference (fldOffset=0x0)" P-INDEP
@@ -129,7 +129,7 @@
 ;* V119 tmp108      [V119    ] (  0,  0   )   byref  ->  zero-ref    "field V77._reference (fldOffset=0x0)" P-INDEP
 ;* V120 tmp109      [V120    ] (  0,  0   )     int  ->  zero-ref    "field V77._length (fldOffset=0x8)" P-INDEP
 ;  V121 tmp110      [V121,T23] (  2,  8   )   byref  ->  rax         "field V82._reference (fldOffset=0x0)" P-INDEP
-;  V122 tmp111      [V122,T24] (  2,  8   )     int  ->  r12         "field V82._length (fldOffset=0x8)" P-INDEP
+;  V122 tmp111      [V122,T24] (  2,  8   )     int  ->  rdi         "field V82._length (fldOffset=0x8)" P-INDEP
 ;* V123 tmp112      [V123    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V88._reference (fldOffset=0x0)" P-INDEP
 ;* V124 tmp113      [V124    ] (  0,  0   )     int  ->  zero-ref    "field V88._length (fldOffset=0x8)" P-INDEP
 ;  V125 tmp114      [V125,T04] (  3, 24   )     int  ->   r8         "index expr"
@@ -139,7 +139,7 @@
 ;  V129 cse1        [V129,T14] (  8, 15.50)     int  ->  r15         "CSE - moderate"
 ;  V130 cse2        [V130,T09] (  4, 16   )     int  ->  [rbp+0x14]  spill-single-def "CSE - moderate"
 ;  V131 cse3        [V131,T22] (  7,  9.50)     int  ->  r14         "CSE - moderate"
-;  V132 cse4        [V132,T25] (  5,  7   )     int  ->  rcx         "CSE - moderate"
+;  V132 cse4        [V132,T25] (  5,  7   )     int  ->  rbx         "CSE - moderate"
 ;
 ; Lcl frame size = 216
 
@@ -188,160 +188,166 @@ G_M63707_IG03:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000
        ; gcr arg pop 0
                        ;; size=19 bbWeight=0.50 PerfScore 1.00
 G_M63707_IG04:        ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       movzx    rcx, bl
-       test     ecx, ecx
+       movzx    rbx, bl
+       test     ebx, ebx
        jne      SHORT G_M63707_IG08
                        ;; size=7 bbWeight=1 PerfScore 1.50
 G_M63707_IG05:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       xor      edx, edx
+       xor      ecx, ecx
        test     r15d, r15d
        je       SHORT G_M63707_IG06
        cmp      byte  ptr [rdi+0x10], 0
        je       SHORT G_M63707_IG07
                        ;; size=13 bbWeight=0.50 PerfScore 2.75
 G_M63707_IG06:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       lea      rbx, gword ptr [(reloc)]
-       ; gcrRegs +[rbx]
+       lea      r13, gword ptr [(reloc)]
+       ; gcrRegs +[r13]
        jmp      SHORT G_M63707_IG13
                        ;; size=9 bbWeight=0.50 PerfScore 1.25
 G_M63707_IG07:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rbx]
+       ; gcrRegs -[r13]
        test     r14d, r14d
        je       G_M63707_IG45
-       mov      rbx, gword ptr [rsi+0x10]
-       ; gcrRegs +[rbx]
+       mov      r13, gword ptr [rsi+0x10]
+       ; gcrRegs +[r13]
        jmp      SHORT G_M63707_IG13
                        ;; size=15 bbWeight=0.50 PerfScore 2.62
 G_M63707_IG08:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rbx]
-       lea      eax, [r15-0x01]
-       cmp      r15d, eax
+       ; gcrRegs -[r13]
+       lea      r12d, [r15-0x01]
+       cmp      r15d, r12d
        jbe      SHORT G_M63707_IG12
                        ;; size=9 bbWeight=0.50 PerfScore 0.88
 G_M63707_IG09:        ; bbWeight=4, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       cmp      eax, r15d
+       cmp      r12d, r15d
        jae      G_M63707_IG45
-       mov      edx, eax
-       movzx    rdx, byte  ptr [rdi+rdx+0x10]
-       cmp      edx, ecx
+       mov      ecx, r12d
+       movzx    rcx, byte  ptr [rdi+rcx+0x10]
+       cmp      ecx, ebx
        jle      SHORT G_M63707_IG11
-       dec      eax
-       cmp      r15d, eax
+       dec      r12d
+       cmp      r15d, r12d
        ja       SHORT G_M63707_IG09
-                        ;; size=27 bbWeight=4 PerfScore 25.00
+                     ;; size=29 bbWeight=4 PerfScore 25.00
 G_M63707_IG10:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M63707_IG12
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
 G_M63707_IG11:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       mov      edx, eax
-       movzx    rdx, byte  ptr [rdi+rdx+0x10]
-       cmp      edx, ecx
+       mov      ecx, r12d
+       movzx    rcx, byte  ptr [rdi+rcx+0x10]
+       cmp      ecx, ebx
        jne      SHORT G_M63707_IG12
-       mov      edx, eax
-       cmp      edx, r14d
+       mov      ecx, r12d
+       cmp      ecx, r14d
        jae      G_M63707_IG45
-       mov      eax, edx
-       mov      rbx, gword ptr [rsi+8*rax+0x10]
-       ; gcrRegs +[rbx]
+       mov      edx, ecx
+       mov      r13, gword ptr [rsi+8*rdx+0x10]
+       ; gcrRegs +[r13]
        jmp      SHORT G_M63707_IG13
-                       ;; size=31 bbWeight=0.50 PerfScore 4.62
+                       ;; size=33 bbWeight=0.50 PerfScore 4.62
 G_M63707_IG12:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rbx]
-       mov      edx, eax
-       xor      rbx, rbx
-       ; gcrRegs +[rbx]
-                       ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M63707_IG13:        ; bbWeight=1, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
-       test     rbx, rbx
+       ; gcrRegs -[r13]
+       mov      ecx, r12d
+       xor      r13, r13
+       ; gcrRegs +[r13]
+                       ;; size=6 bbWeight=0.50 PerfScore 0.25
+G_M63707_IG13:        ; bbWeight=1, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref
+       test     r13, r13
        jne      G_M63707_IG41
                        ;; size=9 bbWeight=1 PerfScore 1.25
-G_M63707_IG14:        ; bbWeight=0.50, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
+G_M63707_IG14:        ; bbWeight=0.50, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref
        test     dword ptr [rsp], esp
        sub      rsp, 256
-       lea      r13, [rsp+0x30]
-       xor      r12d, r12d
+       lea      r12, [rsp+0x30]
+       xor      edx, edx
        xor      eax, eax
-                     ;; size=20 bbWeight=0.50 PerfScore 2.12
-G_M63707_IG15:        ; bbWeight=4, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=2000 {r13}, byref, isz
-       ; byrRegs +[r13]
-       cmp      r15d, edx
+                        ;; size=19 bbWeight=0.50 PerfScore 2.12
...
  
+45 (+3.73%) : 20977.dasm - System.Enum:FormatFlagNamesubyte:System.String (FullOpts)
@@ -11,11 +11,11 @@
 ;  V01 arg1         [V01,T30] (  3,  3   )   ubyte  ->  rbx         single-def
 ;  V02 loc0         [V02,T21] (  7,  9.50)     ref  ->  rsi         class-hnd exact single-def <System.String[]>
 ;  V03 loc1         [V03,T20] (  6, 11   )     ref  ->  rdi         class-hnd single-def <ubyte[]>
-;  V04 loc2         [V04,T31] (  6,  4.50)     ref  ->  registers   class-hnd exact <System.String>
-;  V05 loc3         [V05,T34] (  6,  3   )     int  ->  rdx         ld-addr-op
+;  V04 loc2         [V04,T31] (  6,  4.50)     ref  ->  r13         class-hnd exact <System.String>
+;  V05 loc3         [V05,T34] (  6,  3   )     int  ->  rcx         ld-addr-op
 ;* V06 loc4         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
-;  V07 loc5         [V07,T28] (  4,  5   )     int  ->  r12         ld-addr-op
-;  V08 loc6         [V08,T17] ( 13, 12.50)     int  ->  [rbp+0xA4]  ld-addr-op
+;  V07 loc5         [V07,T28] (  4,  5   )     int  ->  [rbp+0xA4]  ld-addr-op
+;  V08 loc6         [V08,T17] ( 13, 12.50)     int  ->  [rbp+0xA0]  ld-addr-op
 ;* V09 loc7         [V09    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[int]>
 ;* V10 loc8         [V10    ] (  0,  0   )     int  ->  zero-ref   
 ;  V11 OutArgs      [V11    ] (  1,  1   )  struct (48) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -23,15 +23,15 @@
 ;* V13 tmp2         [V13    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[int]>
 ;* V14 tmp3         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;* V15 tmp4         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V16 tmp5         [V16,T35] (  5,  3   )     ref  ->  rbx         class-hnd exact "Inline return value spill temp" <System.String>
-;  V17 tmp6         [V17,T05] ( 10, 22.50)     int  ->  rax         "Inline stloc first use temp"
+;  V16 tmp5         [V16,T35] (  5,  3   )     ref  ->  r13         class-hnd exact "Inline return value spill temp" <System.String>
+;  V17 tmp6         [V17,T05] ( 10, 22.50)     int  ->  r12         "Inline stloc first use temp"
 ;* V18 tmp7         [V18    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V19 tmp8         [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp9         [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V21 tmp10        [V21    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V22 tmp11        [V22,T45] (  2,  2   )    long  ->  r13         "Inlining Arg"
-;  V23 tmp12        [V23,T00] (  9, 53   )     int  ->  rdx         "Inlining Arg"
-;  V24 tmp13        [V24,T06] (  6, 22   )   ubyte  ->  rcx         "Inlining Arg"
+;  V22 tmp11        [V22,T45] (  2,  2   )    long  ->  r12         "Inlining Arg"
+;  V23 tmp12        [V23,T00] (  9, 53   )     int  ->  rcx         "Inlining Arg"
+;  V24 tmp13        [V24,T06] (  6, 22   )   ubyte  ->  rbx         "Inlining Arg"
 ;  V25 tmp14        [V25,T08] (  5, 18   )   ubyte  ->   r8         "Inline stloc first use temp"
 ;* V26 tmp15        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V27 tmp16        [V27    ] (  0,  0   )     int  ->  zero-ref    "Span.get_Item index"
@@ -44,7 +44,7 @@
 ;* V34 tmp23        [V34    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V35 tmp24        [V35    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V36 tmp25        [V36,T48] (  3,  1.50)     int  ->  rcx        
-;  V37 tmp26        [V37,T49] (  3,  1.50)   ubyte  ->  rbx         "Inline stloc first use temp"
+;  V37 tmp26        [V37,T49] (  3,  1.50)   ubyte  ->  r13         "Inline stloc first use temp"
 ;* V38 tmp27        [V38    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;  V39 tmp28        [V39    ] (  2,  1   )   ubyte  ->  [rbp+0x98]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V40 tmp29        [V40    ] (  2,  2   )  struct (24) [rbp+0x80]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.Diagnostics.Debug+AssertInterpolatedStringHandler>
@@ -60,8 +60,8 @@
 ;* V50 tmp39        [V50    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
 ;* V51 tmp40        [V51    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V52 tmp41        [V52    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V53 tmp42        [V53,T46] (  2,  2   )     int  ->  r12         "Inlining Arg"
-;  V54 tmp43        [V54,T42] (  2,  2   )   byref  ->  r15         single-def "Inlining Arg"
+;  V53 tmp42        [V53,T46] (  2,  2   )     int  ->  rdi         "Inlining Arg"
+;  V54 tmp43        [V54,T42] (  2,  2   )   byref  ->  rbx         single-def "Inlining Arg"
 ;* V55 tmp44        [V55    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V56 tmp45        [V56    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V57 tmp46        [V57    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[int]>
@@ -85,12 +85,12 @@
 ;* V75 tmp64        [V75    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V76 tmp65        [V76,T13] (  2, 16   )     int  ->  rcx         "Inlining Arg"
 ;* V77 tmp66        [V77    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V78 tmp67        [V78,T02] (  4, 32   )     int  ->  r12         "Inlining Arg"
-;  V79 tmp68        [V79,T01] (  4, 32   )   byref  ->  r15         "Inlining Arg"
+;  V78 tmp67        [V78,T02] (  4, 32   )     int  ->  rdi         "Inlining Arg"
+;  V79 tmp68        [V79,T01] (  4, 32   )   byref  ->  rbx         "Inlining Arg"
 ;* V80 tmp69        [V80    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V81 tmp70        [V81    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V82 tmp71        [V82    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V83 tmp72        [V83,T03] (  3, 24   )     int  ->  r12         "Inlining Arg"
+;  V83 tmp72        [V83,T03] (  3, 24   )     int  ->  rdi         "Inlining Arg"
 ;  V84 tmp73        [V84,T11] (  2, 16   )   byref  ->  [rbp+0x08]  spill-single-def "Inlining Arg"
 ;* V85 tmp74        [V85    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V86 tmp75        [V86    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -100,28 +100,28 @@
 ;  V90 tmp79        [V90,T44] (  2,  2   )   byref  ->  rdx         single-def "Inlining Arg"
 ;  V91 tmp80        [V91,T47] (  2,  2   )    long  ->   r8         "Inlining Arg"
 ;* V92 tmp81        [V92    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V93 tmp82        [V93,T33] (  3,  3   )   byref  ->  r13         "field V06._reference (fldOffset=0x0)" P-INDEP
+;  V93 tmp82        [V93,T33] (  3,  3   )   byref  ->  r12         "field V06._reference (fldOffset=0x0)" P-INDEP
 ;* V94 tmp83        [V94,T58] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
 ;* V95 tmp84        [V95    ] (  0,  0   )   byref  ->  zero-ref    "field V09._reference (fldOffset=0x0)" P-INDEP
 ;* V96 tmp85        [V96    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
-;  V97 tmp86        [V97,T51] (  2,  1   )   byref  ->  r13         single-def "field V12._reference (fldOffset=0x0)" P-INDEP
+;  V97 tmp86        [V97,T51] (  2,  1   )   byref  ->  r12         single-def "field V12._reference (fldOffset=0x0)" P-INDEP
 ;* V98 tmp87        [V98,T59] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
 ;* V99 tmp88        [V99    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V100 tmp89       [V100    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
-;  V101 tmp90       [V101,T52] (  2,  1   )   byref  ->  r15         single-def "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V102 tmp91       [V102,T55] (  2,  1   )     int  ->  r12         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V101 tmp90       [V101,T52] (  2,  1   )   byref  ->  rbx         single-def "field V14._reference (fldOffset=0x0)" P-INDEP
+;  V102 tmp91       [V102,T55] (  2,  1   )     int  ->  rdi         "field V14._length (fldOffset=0x8)" P-INDEP
 ;* V103 tmp92       [V103,T57] (  0,  0   )   byref  ->  zero-ref    single-def "field V26._reference (fldOffset=0x0)" P-INDEP
 ;* V104 tmp93       [V104,T60] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
-;  V105 tmp94       [V105,T53] (  2,  1   )   byref  ->  r13         single-def "field V31._reference (fldOffset=0x0)" P-INDEP
+;  V105 tmp94       [V105,T53] (  2,  1   )   byref  ->  r12         single-def "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V106 tmp95       [V106    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;* V107 tmp96       [V107    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V108 tmp97       [V108    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
-;  V109 tmp98       [V109,T54] (  2,  1   )   byref  ->  r13         single-def "field V48._reference (fldOffset=0x0)" P-INDEP
-;  V110 tmp99       [V110,T56] (  2,  1   )     int  ->  rbx         "field V48._length (fldOffset=0x8)" P-INDEP
-;  V111 tmp100      [V111,T29] (  3,  5   )   byref  ->  r13         single-def "field V57._reference (fldOffset=0x0)" P-INDEP
-;  V112 tmp101      [V112,T26] (  6,  6.50)     int  ->  rbx         "field V57._length (fldOffset=0x8)" P-INDEP
-;  V113 tmp102      [V113,T15] (  5, 13   )   byref  ->  r15         "field V65._reference (fldOffset=0x0)" P-INDEP
-;  V114 tmp103      [V114,T16] (  5, 13   )     int  ->  r12         "field V65._length (fldOffset=0x8)" P-INDEP
+;  V109 tmp98       [V109,T54] (  2,  1   )   byref  ->  r12         single-def "field V48._reference (fldOffset=0x0)" P-INDEP
+;  V110 tmp99       [V110,T56] (  2,  1   )     int  ->  r15         "field V48._length (fldOffset=0x8)" P-INDEP
+;  V111 tmp100      [V111,T29] (  3,  5   )   byref  ->  r12         single-def "field V57._reference (fldOffset=0x0)" P-INDEP
+;  V112 tmp101      [V112,T26] (  6,  6.50)     int  ->  r15         "field V57._length (fldOffset=0x8)" P-INDEP
+;  V113 tmp102      [V113,T15] (  5, 13   )   byref  ->  rbx         "field V65._reference (fldOffset=0x0)" P-INDEP
+;  V114 tmp103      [V114,T16] (  5, 13   )     int  ->  rdi         "field V65._length (fldOffset=0x8)" P-INDEP
 ;* V115 tmp104      [V115    ] (  0,  0   )   byref  ->  zero-ref    "field V66._reference (fldOffset=0x0)" P-INDEP
 ;* V116 tmp105      [V116    ] (  0,  0   )     int  ->  zero-ref    "field V66._length (fldOffset=0x8)" P-INDEP
 ;* V117 tmp106      [V117    ] (  0,  0   )   byref  ->  zero-ref    "field V71._reference (fldOffset=0x0)" P-INDEP
@@ -129,7 +129,7 @@
 ;* V119 tmp108      [V119    ] (  0,  0   )   byref  ->  zero-ref    "field V77._reference (fldOffset=0x0)" P-INDEP
 ;* V120 tmp109      [V120    ] (  0,  0   )     int  ->  zero-ref    "field V77._length (fldOffset=0x8)" P-INDEP
 ;  V121 tmp110      [V121,T23] (  2,  8   )   byref  ->  rax         "field V82._reference (fldOffset=0x0)" P-INDEP
-;  V122 tmp111      [V122,T24] (  2,  8   )     int  ->  r12         "field V82._length (fldOffset=0x8)" P-INDEP
+;  V122 tmp111      [V122,T24] (  2,  8   )     int  ->  rdi         "field V82._length (fldOffset=0x8)" P-INDEP
 ;* V123 tmp112      [V123    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V88._reference (fldOffset=0x0)" P-INDEP
 ;* V124 tmp113      [V124    ] (  0,  0   )     int  ->  zero-ref    "field V88._length (fldOffset=0x8)" P-INDEP
 ;  V125 tmp114      [V125,T04] (  3, 24   )     int  ->   r8         "index expr"
@@ -139,7 +139,7 @@
 ;  V129 cse1        [V129,T14] (  8, 15.50)     int  ->  r15         "CSE - moderate"
 ;  V130 cse2        [V130,T09] (  4, 16   )     int  ->  [rbp+0x14]  spill-single-def "CSE - moderate"
 ;  V131 cse3        [V131,T22] (  7,  9.50)     int  ->  r14         "CSE - moderate"
-;  V132 cse4        [V132,T25] (  5,  7   )     int  ->  rcx         "CSE - moderate"
+;  V132 cse4        [V132,T25] (  5,  7   )     int  ->  rbx         "CSE - moderate"
 ;
 ; Lcl frame size = 216
 
@@ -188,160 +188,166 @@ G_M63707_IG03:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000
        ; gcr arg pop 0
                        ;; size=19 bbWeight=0.50 PerfScore 1.00
 G_M63707_IG04:        ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       movzx    rcx, bl
-       test     ecx, ecx
+       movzx    rbx, bl
+       test     ebx, ebx
        jne      SHORT G_M63707_IG08
                        ;; size=7 bbWeight=1 PerfScore 1.50
 G_M63707_IG05:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       xor      edx, edx
+       xor      ecx, ecx
        test     r15d, r15d
        je       SHORT G_M63707_IG06
        cmp      byte  ptr [rdi+0x10], 0
        je       SHORT G_M63707_IG07
                        ;; size=13 bbWeight=0.50 PerfScore 2.75
 G_M63707_IG06:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       lea      rbx, gword ptr [(reloc)]
-       ; gcrRegs +[rbx]
+       lea      r13, gword ptr [(reloc)]
+       ; gcrRegs +[r13]
        jmp      SHORT G_M63707_IG13
                        ;; size=9 bbWeight=0.50 PerfScore 1.25
 G_M63707_IG07:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rbx]
+       ; gcrRegs -[r13]
        test     r14d, r14d
        je       G_M63707_IG45
-       mov      rbx, gword ptr [rsi+0x10]
-       ; gcrRegs +[rbx]
+       mov      r13, gword ptr [rsi+0x10]
+       ; gcrRegs +[r13]
        jmp      SHORT G_M63707_IG13
                        ;; size=15 bbWeight=0.50 PerfScore 2.62
 G_M63707_IG08:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rbx]
-       lea      eax, [r15-0x01]
-       cmp      r15d, eax
+       ; gcrRegs -[r13]
+       lea      r12d, [r15-0x01]
+       cmp      r15d, r12d
        jbe      SHORT G_M63707_IG12
                        ;; size=9 bbWeight=0.50 PerfScore 0.88
 G_M63707_IG09:        ; bbWeight=4, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       cmp      eax, r15d
+       cmp      r12d, r15d
        jae      G_M63707_IG45
-       mov      edx, eax
-       movzx    rdx, byte  ptr [rdi+rdx+0x10]
-       cmp      edx, ecx
+       mov      ecx, r12d
+       movzx    rcx, byte  ptr [rdi+rcx+0x10]
+       cmp      ecx, ebx
        jle      SHORT G_M63707_IG11
-       dec      eax
-       cmp      r15d, eax
+       dec      r12d
+       cmp      r15d, r12d
        ja       SHORT G_M63707_IG09
-                        ;; size=27 bbWeight=4 PerfScore 25.00
+                     ;; size=29 bbWeight=4 PerfScore 25.00
 G_M63707_IG10:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M63707_IG12
                        ;; size=2 bbWeight=0.50 PerfScore 1.00
 G_M63707_IG11:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
-       mov      edx, eax
-       movzx    rdx, byte  ptr [rdi+rdx+0x10]
-       cmp      edx, ecx
+       mov      ecx, r12d
+       movzx    rcx, byte  ptr [rdi+rcx+0x10]
+       cmp      ecx, ebx
        jne      SHORT G_M63707_IG12
-       mov      edx, eax
-       cmp      edx, r14d
+       mov      ecx, r12d
+       cmp      ecx, r14d
        jae      G_M63707_IG45
-       mov      eax, edx
-       mov      rbx, gword ptr [rsi+8*rax+0x10]
-       ; gcrRegs +[rbx]
+       mov      edx, ecx
+       mov      r13, gword ptr [rsi+8*rdx+0x10]
+       ; gcrRegs +[r13]
        jmp      SHORT G_M63707_IG13
-                       ;; size=31 bbWeight=0.50 PerfScore 4.62
+                       ;; size=33 bbWeight=0.50 PerfScore 4.62
 G_M63707_IG12:        ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rbx]
-       mov      edx, eax
-       xor      rbx, rbx
-       ; gcrRegs +[rbx]
-                       ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M63707_IG13:        ; bbWeight=1, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
-       test     rbx, rbx
+       ; gcrRegs -[r13]
+       mov      ecx, r12d
+       xor      r13, r13
+       ; gcrRegs +[r13]
+                       ;; size=6 bbWeight=0.50 PerfScore 0.25
+G_M63707_IG13:        ; bbWeight=1, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref
+       test     r13, r13
        jne      G_M63707_IG41
                        ;; size=9 bbWeight=1 PerfScore 1.25
-G_M63707_IG14:        ; bbWeight=0.50, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
+G_M63707_IG14:        ; bbWeight=0.50, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref
        test     dword ptr [rsp], esp
        sub      rsp, 256
-       lea      r13, [rsp+0x30]
-       xor      r12d, r12d
+       lea      r12, [rsp+0x30]
+       xor      edx, edx
        xor      eax, eax
-                     ;; size=20 bbWeight=0.50 PerfScore 2.12
-G_M63707_IG15:        ; bbWeight=4, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=2000 {r13}, byref, isz
-       ; byrRegs +[r13]
-       cmp      r15d, edx
+                        ;; size=19 bbWeight=0.50 PerfScore 2.12
...
  
  
  
Details
Improvements/regressions per collection
| Collection | Contexts with diffs | Improvements | Regressions | Same size | Improvements (bytes) | Regressions (bytes) | 
| benchmarks.run.windows.x64.checked.mch | 384 | 51 | 271 | 62 | -527 | +5,559 | 
| benchmarks.run_pgo.windows.x64.checked.mch | 2,502 | 1,105 | 764 | 633 | -14,836 | +9,925 | 
| benchmarks.run_tiered.windows.x64.checked.mch | 165 | 25 | 111 | 29 | -839 | +1,818 | 
| coreclr_tests.run.windows.x64.checked.mch | 1,847 | 398 | 1,255 | 194 | -4,932 | +20,450 | 
| libraries.crossgen2.windows.x64.checked.mch | 808 | 231 | 228 | 349 | -1,974 | +1,661 | 
| libraries.pmi.windows.x64.checked.mch | 2,028 | 355 | 1,314 | 359 | -2,540 | +21,567 | 
| libraries_tests.run.windows.x64.Release.mch | 8,892 | 2,520 | 4,587 | 1,785 | -58,782 | +87,594 | 
| librariestestsnotieredcompilation.run.windows.x64.Release.mch | 2,302 | 424 | 1,447 | 431 | -3,891 | +22,680 | 
| realworld.run.windows.x64.checked.mch | 478 | 79 | 290 | 109 | -597 | +5,294 | 
| smoke_tests.nativeaot.windows.x64.checked.mch | 220 | 59 | 116 | 45 | -329 | +1,340 | 
|  | 19,626 | 5,247 | 10,383 | 3,996 | -89,247 | +177,888 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| benchmarks.run.windows.x64.checked.mch | 27,854 | 4 | 27,850 | 232 (0.83%) | 232 (0.83%) | 
| benchmarks.run_pgo.windows.x64.checked.mch | 101,589 | 49,789 | 51,800 | 129 (0.13%) | 129 (0.13%) | 
| benchmarks.run_tiered.windows.x64.checked.mch | 54,309 | 36,842 | 17,467 | 76 (0.14%) | 76 (0.14%) | 
| coreclr_tests.run.windows.x64.checked.mch | 573,547 | 340,982 | 232,565 | 442 (0.08%) | 442 (0.08%) | 
| libraries.crossgen2.windows.x64.checked.mch | 243,425 | 15 | 243,410 | 0 (0.00%) | 0 (0.00%) | 
| libraries.pmi.windows.x64.checked.mch | 306,302 | 6 | 306,296 | 2,196 (0.71%) | 2,196 (0.71%) | 
| libraries_tests.run.windows.x64.Release.mch | 672,162 | 479,203 | 192,959 | 1,125 (0.17%) | 1,125 (0.17%) | 
| librariestestsnotieredcompilation.run.windows.x64.Release.mch | 318,324 | 21,885 | 296,439 | 2,187 (0.68%) | 2,187 (0.68%) | 
| realworld.run.windows.x64.checked.mch | 36,492 | 3 | 36,489 | 398 (1.08%) | 398 (1.08%) | 
| smoke_tests.nativeaot.windows.x64.checked.mch | 32,409 | 11 | 32,398 | 3 (0.01%) | 3 (0.01%) | 
|  | 2,366,413 | 928,740 | 1,437,673 | 6,788 (0.29%) | 6,788 (0.29%) | 
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: 8538947 (overridden on cmd)
Total bytes of diff: 8543979 (overridden on cmd)
Total bytes of delta: 5032 (0.06 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         267 : 19556.dasm (3.50 % of base)
         149 : 19803.dasm (5.17 % of base)
          93 : 19642.dasm (8.97 % of base)
          72 : 19802.dasm (5.32 % of base)
          63 : 11221.dasm (11.86 % of base)
          63 : 2112.dasm (10.47 % of base)
          62 : 13647.dasm (8.38 % of base)
          59 : 15898.dasm (12.34 % of base)
          53 : 2676.dasm (21.54 % of base)
          51 : 21679.dasm (2.90 % of base)
          50 : 2611.dasm (4.48 % of base)
          46 : 15885.dasm (26.29 % of base)
          46 : 2106.dasm (13.86 % of base)
          45 : 11499.dasm (5.11 % of base)
          45 : 8246.dasm (7.18 % of base)
          43 : 24697.dasm (11.05 % of base)
          42 : 10370.dasm (0.76 % of base)
          42 : 18597.dasm (10.80 % of base)
          41 : 8484.dasm (75.93 % of base)
          39 : 3608.dasm (7.10 % of base)
Top file improvements (bytes):
        -159 : 5452.dasm (-7.96 % of base)
         -54 : 23981.dasm (-5.27 % of base)
         -50 : 18025.dasm (-1.57 % of base)
         -22 : 18024.dasm (-2.04 % of base)
         -22 : 24732.dasm (-0.88 % of base)
         -19 : 11125.dasm (-1.40 % of base)
         -16 : 19887.dasm (-1.06 % of base)
         -14 : 271.dasm (-2.89 % of base)
         -14 : 17943.dasm (-3.98 % of base)
         -13 : 5461.dasm (-0.13 % of base)
         -11 : 4911.dasm (-1.84 % of base)
          -8 : 21530.dasm (-0.41 % of base)
          -8 : 21610.dasm (-0.38 % of base)
          -8 : 10388.dasm (-0.18 % of base)
          -7 : 16184.dasm (-0.36 % of base)
          -6 : 3373.dasm (-0.79 % of base)
          -6 : 5869.dasm (-0.75 % of base)
          -5 : 25279.dasm (-0.06 % of base)
          -5 : 5343.dasm (-0.36 % of base)
          -5 : 13831.dasm (-0.66 % of base)
77 total files with Code Size differences (30 improved, 47 regressed), 20 unchanged.
Top method regressions (bytes):
         267 (3.50 % of base) : 19556.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
         149 (5.17 % of base) : 19803.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)
          93 (8.97 % of base) : 19642.dasm - Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]:AddIfNotPresent(System.__Canon,byref):ubyte:this (FullOpts)
          72 (5.32 % of base) : 19802.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)
          63 (10.47 % of base) : 2112.dasm - System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:Remove(System.__Canon):ubyte:this (FullOpts)
          63 (11.86 % of base) : 11221.dasm - System.Collections.Generic.SortedSet`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:DeepClone(int):System.Collections.Generic.SortedSet`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:this (FullOpts)
          62 (8.38 % of base) : 13647.dasm - System.Collections.Frozen.KeysAndValuesFrozenDictionary`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],ubyte):this (FullOpts)
          59 (12.34 % of base) : 15898.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2[System.__Canon,System.__Canon]:WithComparers(System.Collections.Generic.IComparer`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Immutable.ImmutableSortedDictionary`2[System.__Canon,System.__Canon]:this (FullOpts)
          53 (21.54 % of base) : 2676.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.__Canon,System.__Canon],int,System.Collections.Generic.IComparer`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (FullOpts)
          51 (2.90 % of base) : 21679.dasm - Microsoft.CodeAnalysis.Emit.PEModuleBuilder`9+<GetTopLevelTypeDefinitions>d__23[System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          50 (4.48 % of base) : 2611.dasm - System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]):this (FullOpts)
          46 (13.86 % of base) : 2106.dasm - System.Collections.Generic.PriorityQueue`2[System.__Canon,System.__Canon]:EnqueueDequeue(System.__Canon,System.__Canon):System.__Canon:this (FullOpts)
          46 (26.29 % of base) : 15885.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.__Canon,System.__Canon]:Add(System.__Canon,System.__Canon,System.Collections.Generic.IComparer`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon],byref):System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.__Canon,System.__Canon]:this (FullOpts)
          45 (5.11 % of base) : 11499.dasm - System.Text.Json.Serialization.Converters.DictionaryOfTKeyTValueConverter`3[System.__Canon,System.__Canon,System.__Canon]:OnWriteResume(System.Text.Json.Utf8JsonWriter,System.__Canon,System.Text.Json.JsonSerializerOptions,byref):ubyte:this (FullOpts)
          45 (7.18 % of base) : 8246.dasm - System.Text.Json.Serialization.Converters.IDictionaryConverter`1[System.__Canon]:OnWriteResume(System.Text.Json.Utf8JsonWriter,System.__Canon,System.Text.Json.JsonSerializerOptions,byref):ubyte:this (FullOpts)
          43 (11.05 % of base) : 24697.dasm - System.Collections.Concurrent.ConcurrentBag`1[System.__Canon]:TrySteal(byref,ubyte):ubyte:this (FullOpts)
          42 (10.80 % of base) : 18597.dasm - System.Collections.Concurrent.ConcurrentBag`1+WorkStealingQueue[System.__Canon]:TryLocalPop(byref):ubyte:this (FullOpts)
          42 (0.76 % of base) : 10370.dasm - Utf8Json.Formatters.DictionaryFormatterBase`5[int,System.__Canon,System.__Canon,System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon],System.__Canon]:Serialize(byref,System.__Canon,Utf8Json.IJsonFormatterResolver):this (FullOpts)
          41 (75.93 % of base) : 8484.dasm - System.Collections.Generic.SortedList`2[System.__Canon,System.__Canon]:Clear():this (FullOpts)
          39 (7.10 % of base) : 3608.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey,System.__Canon]:TryGetValue(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey,byref):ubyte:this (FullOpts)
Top method improvements (bytes):
        -159 (-7.96 % of base) : 5452.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
         -54 (-5.27 % of base) : 23981.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (FullOpts)
         -50 (-1.57 % of base) : 18025.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (FullOpts)
         -22 (-2.04 % of base) : 18024.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (FullOpts)
         -22 (-0.88 % of base) : 24732.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -19 (-1.40 % of base) : 11125.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) : 19887.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:LoadAndValidateNetModuleAttributes(byref):this (FullOpts)
         -14 (-3.98 % of base) : 17943.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)
         -13 (-0.13 % of base) : 5461.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -11 (-1.84 % of base) : 4911.dasm - System.Xml.XmlUTF8TextReader:ReadQualifiedName(System.Xml.PrefixHandle,System.Xml.StringHandle):this (FullOpts)
          -8 (-0.38 % of base) : 21610.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) : 21530.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) : 10388.dasm - Utf8Json.Formatters.ISO8601DateTimeFormatter:Deserialize(byref,Utf8Json.IJsonFormatterResolver):System.DateTime:this (FullOpts)
          -7 (-0.36 % of base) : 16184.dasm - System.Enum:TryFormatFlagNames[uint](System.Enum+EnumInfo`1[uint],uint,System.Span`1[ushort],byref,byref):ubyte (FullOpts)
          -6 (-0.75 % of base) : 5869.dasm - System.Reflection.CustomAttributeTypedArgument:.ctor(System.Reflection.RuntimeModule,System.Reflection.CustomAttributeEncodedArgument):this (FullOpts)
          -6 (-0.79 % of base) : 3373.dasm - System.Reflection.RuntimeMethodInfo:MakeGenericMethod(System.Type[]):System.Reflection.MethodInfo:this (FullOpts)
          -5 (-0.06 % of base) : 25279.dasm - Jil.Deserialize.Methods:SkipWithLeadCharThunkReader(byref,int) (FullOpts)
          -5 (-0.36 % of base) : 5343.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetMethodMetadataToken(System.Reflection.ConstructorInfo):int:this (FullOpts)
          -5 (-0.66 % of base) : 13831.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (FullOpts)
Top method regressions (percentages):
          35 (94.59 % of base) : 1140.dasm - System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (FullOpts)
          35 (94.59 % of base) : 2062.dasm - System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
          41 (75.93 % of base) : 8484.dasm - System.Collections.Generic.SortedList`2[System.__Canon,System.__Canon]:Clear():this (FullOpts)
          22 (51.16 % of base) : 26048.dasm - System.Collections.IterateFor`1[System.__Canon]:ImmutableArray():System.__Canon:this (FullOpts)
          15 (48.39 % of base) : 19572.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:ToImmutable():System.Collections.Immutable.ImmutableArray`1[System.__Canon]:this (FullOpts)
          22 (47.83 % of base) : 19653.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedHashSet`1+Builder[System.__Canon]:ToImmutable():Microsoft.CodeAnalysis.Collections.ImmutableSegmentedHashSet`1[System.__Canon]:this (FullOpts)
          22 (45.83 % of base) : 18366.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (FullOpts)
          15 (42.86 % of base) : 20431.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:AddRange(System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (FullOpts)
          22 (35.48 % of base) : 1422.dasm - System.Collections.Generic.Stack`1[System.Collections.Immutable.RefAsValueType`1[System.__Canon]]:Pop():System.Collections.Immutable.RefAsValueType`1[System.__Canon]:this (FullOpts)
          34 (34.34 % of base) : 17209.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:ContainsKey(System.__Canon):ubyte:this (FullOpts)
          15 (33.33 % of base) : 26486.dasm - System.Collections.Generic.Stack`1[System.__Canon]:Clear():this (FullOpts)
          34 (33.33 % of base) : 19097.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:TryGetValue(System.__Canon,byref):ubyte:this (FullOpts)
          22 (30.99 % of base) : 19198.dasm - Microsoft.CodeAnalysis.PooledObjects.ObjectPool`1[System.__Canon]:Allocate():System.__Canon:this (FullOpts)
          15 (30.00 % of base) : 23873.dasm - System.Collections.Immutable.ImmutableQueue`1[System.__Canon]:GetEnumerator():System.Collections.Immutable.ImmutableQueue`1+Enumerator[System.__Canon]:this (FullOpts)
          15 (29.41 % of base) : 24511.dasm - System.Memory.Constructors`1[System.__Canon]:ReadOnlySpanFromArray():System.ReadOnlySpan`1[System.__Canon]:this (FullOpts)
          22 (28.95 % of base) : 2268.dasm - System.Collections.Generic.Stack`1[System.__Canon]:Pop():System.__Canon:this (FullOpts)
          32 (28.83 % of base) : 17635.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.__Canon,System.__Canon]:ContainsKey(System.__Canon,System.Collections.Generic.IComparer`1[System.__Canon]):ubyte:this (FullOpts)
          15 (28.30 % of base) : 19913.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,uint]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (FullOpts)
          15 (27.27 % of base) : 4746.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor():this (FullOpts)
          32 (27.12 % of base) : 1113.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (FullOpts)
Top method improvements (percentages):
        -159 (-7.96 % of base) : 5452.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
         -54 (-5.27 % of base) : 23981.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (FullOpts)
         -14 (-3.98 % of base) : 17943.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) : 18024.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (FullOpts)
         -11 (-1.84 % of base) : 4911.dasm - System.Xml.XmlUTF8TextReader:ReadQualifiedName(System.Xml.PrefixHandle,System.Xml.StringHandle):this (FullOpts)
         -50 (-1.57 % of base) : 18025.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (FullOpts)
         -19 (-1.40 % of base) : 11125.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
          -4 (-1.15 % of base) : 25586.dasm - Benchstone.BenchF.SqMtx:Test():ubyte:this (FullOpts)
         -16 (-1.06 % of base) : 19887.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:LoadAndValidateNetModuleAttributes(byref):this (FullOpts)
         -22 (-0.88 % of base) : 24732.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -4 (-0.84 % of base) : 27023.dasm - Benchstone.BenchI.Array2:VerifyCopy(int[][][],int[][][]):ubyte (FullOpts)
          -3 (-0.80 % of base) : 23155.dasm - System.Collections.Concurrent.ConcurrentBag`1[int]:ToArray():int[]:this (FullOpts)
          -6 (-0.79 % of base) : 3373.dasm - System.Reflection.RuntimeMethodInfo:MakeGenericMethod(System.Type[]):System.Reflection.MethodInfo:this (FullOpts)
          -6 (-0.75 % of base) : 5869.dasm - System.Reflection.CustomAttributeTypedArgument:.ctor(System.Reflection.RuntimeModule,System.Reflection.CustomAttributeEncodedArgument):this (FullOpts)
          -5 (-0.66 % of base) : 13831.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) : 7345.dasm - Utf8Json.JsonReader:ReadInt64():long:this (FullOpts)
          -2 (-0.49 % of base) : 19546.dasm - Microsoft.CodeAnalysis.DiagnosticBag:AsEnumerable():System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.Diagnostic]:this (FullOpts)
          -4 (-0.41 % of base) : 25975.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: 35596302 (overridden on cmd)
Total bytes of diff: 35591391 (overridden on cmd)
Total bytes of delta: -4911 (-0.01 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          88 : 83734.dasm (1.83 % of base)
          65 : 73926.dasm (1.53 % of base)
          62 : 69016.dasm (26.96 % of base)
          55 : 74099.dasm (19.37 % of base)
          55 : 73993.dasm (19.37 % of base)
          53 : 74853.dasm (2.01 % of base)
          53 : 82594.dasm (1.83 % of base)
          50 : 81667.dasm (1.01 % of base)
          49 : 99118.dasm (2.60 % of base)
          49 : 44206.dasm (2.60 % of base)
          49 : 47267.dasm (2.60 % of base)
          49 : 53370.dasm (2.60 % of base)
          49 : 69384.dasm (7.23 % of base)
          49 : 75090.dasm (2.60 % of base)
          49 : 14887.dasm (2.60 % of base)
          49 : 32494.dasm (2.60 % of base)
          49 : 76330.dasm (2.60 % of base)
          47 : 96142.dasm (2.76 % of base)
          47 : 98122.dasm (2.76 % of base)
          47 : 43563.dasm (2.76 % of base)
Top file improvements (bytes):
        -471 : 31802.dasm (-33.84 % of base)
        -463 : 31813.dasm (-33.33 % of base)
        -198 : 53052.dasm (-29.25 % of base)
        -198 : 53083.dasm (-29.25 % of base)
         -76 : 85544.dasm (-4.38 % of base)
         -76 : 82848.dasm (-4.38 % of base)
         -70 : 21749.dasm (-9.70 % of base)
         -70 : 35774.dasm (-9.70 % of base)
         -70 : 51470.dasm (-9.70 % of base)
         -70 : 71434.dasm (-9.70 % of base)
         -70 : 80457.dasm (-9.70 % of base)
         -70 : 86218.dasm (-9.70 % of base)
         -70 : 89202.dasm (-9.70 % of base)
         -70 : 47929.dasm (-9.70 % of base)
         -70 : 71625.dasm (-9.70 % of base)
         -70 : 75381.dasm (-9.70 % of base)
         -70 : 75977.dasm (-9.71 % of base)
         -70 : 77355.dasm (-9.71 % of base)
         -70 : 83154.dasm (-9.70 % of base)
         -70 : 87205.dasm (-9.70 % of base)
82 total files with Code Size differences (33 improved, 49 regressed), 20 unchanged.
Top method regressions (bytes):
          88 (1.83 % of base) : 83734.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          65 (1.53 % of base) : 73926.dasm - Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass:VisitBlock(Microsoft.CodeAnalysis.CSharp.BoundBlock):Microsoft.CodeAnalysis.CSharp.BoundNode:this (Tier1)
          62 (26.96 % of base) : 69016.dasm - Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (Tier1)
          55 (19.37 % of base) : 74099.dasm - Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2+PendingBranchesCollection[Microsoft.CodeAnalysis.CSharp.ControlFlowPass+LocalState,System.__Canon]:AddRange(Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2+PendingBranchesCollection[Microsoft.CodeAnalysis.CSharp.ControlFlowPass+LocalState,System.__Canon]):this (Tier1)
          55 (19.37 % of base) : 73993.dasm - Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2+PendingBranchesCollection[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState,System.__Canon]:AddRange(Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2+PendingBranchesCollection[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState,System.__Canon]):this (Tier1)
          53 (2.01 % of base) : 74853.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)
          53 (1.83 % of base) : 82594.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          50 (1.01 % of base) : 81667.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          49 (7.23 % of base) : 69384.dasm - System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:Remove(System.__Canon):ubyte:this (Tier1)
          49 (2.60 % of base) : 99118.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) : 44206.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) : 47267.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) : 53370.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) : 75090.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) : 14887.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) : 32494.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) : 76330.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.76 % of base) : 96142.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 (Tier1)
          47 (2.76 % of base) : 98122.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 (Tier1)
          47 (2.76 % of base) : 43563.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 (Tier1)
Top method improvements (bytes):
        -471 (-33.84 % of base) : 31802.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -463 (-33.33 % of base) : 31813.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -198 (-29.25 % of base) : 53052.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -198 (-29.25 % of base) : 53083.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -76 (-4.38 % of base) : 85544.dasm - System.IO.Tests.Perf_RandomAccess:Write(long,int,int):this (Tier1-OSR)
         -76 (-4.38 % of base) : 82848.dasm - System.IO.Tests.Perf_RandomAccess:Write(long,int,int):this (Tier1-OSR)
         -70 (-9.70 % of base) : 21749.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 35774.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 51470.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 71434.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 80457.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 86218.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 89202.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 47929.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 71625.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 75381.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.71 % of base) : 75977.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.71 % of base) : 77355.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 83154.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 87205.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
Top method regressions (percentages):
          15 (78.95 % of base) : 91015.dasm - System.Threading.Tasks.Task`1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.TaskAwaiter`1[System.__Canon]:this (Tier1)
          22 (56.41 % of base) : 68118.dasm - Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]):this (Tier1)
          15 (48.39 % of base) : 62511.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:ToImmutable():System.Collections.Immutable.ImmutableArray`1[System.__Canon]:this (Tier1)
          15 (42.86 % of base) : 64533.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:AddRange(System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (Tier1)
          15 (31.91 % of base) : 67816.dasm - Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.__Canon]:GetEnumerator():Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1+Enumerator[System.__Canon]:this (Tier1)
          31 (30.39 % of base) : 68165.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,int]:TryGetValue(System.__Canon,byref):ubyte:this (Tier1)
          22 (30.14 % of base) : 58147.dasm - Microsoft.CodeAnalysis.PooledObjects.ObjectPool`1[System.__Canon]:Allocate():System.__Canon:this (Tier1)
          22 (30.14 % of base) : 72736.dasm - Microsoft.CodeAnalysis.PooledObjects.ObjectPool`1[System.__Canon]:Allocate():System.__Canon:this (Tier1)
          22 (28.95 % of base) : 36555.dasm - System.Collections.Generic.Stack`1[System.__Canon]:Pop():System.__Canon:this (Tier1)
          22 (28.95 % of base) : 69570.dasm - System.Collections.Generic.Stack`1[System.__Canon]:Pop():System.__Canon:this (Tier1)
          22 (28.95 % of base) : 38375.dasm - System.Collections.Generic.Stack`1[System.__Canon]:Pop():System.__Canon:this (Tier1)
          15 (28.30 % of base) : 65613.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (Tier1)
          15 (27.27 % of base) : 68978.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor():this (Tier1)
          32 (27.12 % of base) : 62465.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (Tier1)
          62 (26.96 % of base) : 69016.dasm - Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (Tier1)
          15 (25.86 % of base) : 3193.dasm - System.Collections.Generic.Dictionary`2+KeyCollection[System.__Canon,ubyte]:GetEnumerator():System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:this (Tier1)
          15 (25.86 % of base) : 68610.dasm - System.Collections.Generic.Dictionary`2+ValueCollection[System.__Canon,System.__Canon]:GetEnumerator():System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.__Canon,System.__Canon]:this (Tier1)
          15 (25.42 % of base) : 68077.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:get_Origin():System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,System.__Canon]:this (Tier1)
          15 (25.00 % of base) : 36619.dasm - System.Collections.Generic.HashSet`1[System.__Canon]:GetEnumerator():System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:this (Tier1)
          15 (25.00 % of base) : 22274.dasm - System.Collections.Generic.List`1[System.__Canon]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.__Canon]:this (Tier1)
Top method improvements (percentages):
        -471 (-33.84 % of base) : 31802.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -463 (-33.33 % of base) : 31813.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -198 (-29.25 % of base) : 53052.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -198 (-29.25 % of base) : 53083.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -70 (-9.71 % of base) : 75977.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.71 % of base) : 77355.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 21749.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 35774.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 51470.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 71434.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 80457.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 86218.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 89202.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 47929.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 71625.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 75381.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 83154.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 87205.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 87350.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -70 (-9.70 % of base) : 92129.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: 12628918 (overridden on cmd)
Total bytes of diff: 12629897 (overridden on cmd)
Total bytes of delta: 979 (0.01 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          51 : 43086.dasm (2.90 % of base)
          43 : 49123.dasm (12.25 % of base)
          42 : 34786.dasm (10.80 % of base)
          39 : 16269.dasm (7.10 % of base)
          35 : 16961.dasm (94.59 % of base)
          34 : 37532.dasm (6.27 % of base)
          32 : 36353.dasm (27.12 % of base)
          31 : 37081.dasm (16.85 % of base)
          31 : 42078.dasm (4.55 % of base)
          31 : 42453.dasm (30.39 % of base)
          31 : 45796.dasm (12.20 % of base)
          28 : 42894.dasm (5.66 % of base)
          28 : 16932.dasm (3.33 % of base)
          28 : 36358.dasm (6.47 % of base)
          26 : 14704.dasm (11.16 % of base)
          23 : 44985.dasm (8.52 % of base)
          22 : 21769.dasm (20.18 % of base)
          22 : 42556.dasm (56.41 % of base)
          22 : 36116.dasm (30.99 % of base)
          22 : 42260.dasm (40.00 % of base)
Top file improvements (bytes):
        -438 : 25533.dasm (-32.09 % of base)
        -147 : 34232.dasm (-15.91 % of base)
         -50 : 47330.dasm (-6.39 % of base)
         -50 : 34237.dasm (-1.57 % of base)
         -25 : 47882.dasm (-2.71 % of base)
         -22 : 34241.dasm (-2.04 % of base)
         -22 : 48923.dasm (-0.88 % of base)
         -20 : 30167.dasm (-0.96 % of base)
         -17 : 36132.dasm (-3.04 % of base)
          -7 : 29453.dasm (-0.38 % of base)
          -6 : 21653.dasm (-0.79 % of base)
          -5 : 47736.dasm (-0.66 % of base)
          -4 : 2976.dasm (-0.57 % of base)
          -4 : 53541.dasm (-0.41 % of base)
          -3 : 34234.dasm (-0.10 % of base)
          -3 : 21761.dasm (-0.32 % of base)
          -2 : 33763.dasm (-0.06 % of base)
          -2 : 49843.dasm (-0.01 % of base)
          -2 : 42928.dasm (-0.49 % of base)
          -2 : 12909.dasm (-0.01 % of base)
64 total files with Code Size differences (24 improved, 40 regressed), 20 unchanged.
Top method regressions (bytes):
          51 (2.90 % of base) : 43086.dasm - Microsoft.CodeAnalysis.Emit.PEModuleBuilder`9+<GetTopLevelTypeDefinitions>d__23[System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon]:MoveNext():ubyte:this (Tier1)
          43 (12.25 % of base) : 49123.dasm - System.Collections.Concurrent.ConcurrentBag`1[System.__Canon]:TrySteal(byref,ubyte):ubyte:this (Tier1)
          42 (10.80 % of base) : 34786.dasm - System.Collections.Concurrent.ConcurrentBag`1+WorkStealingQueue[System.__Canon]:TryLocalPop(byref):ubyte:this (Tier1)
          39 (7.10 % of base) : 16269.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey,System.__Canon]:TryGetValue(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey,byref):ubyte:this (Tier1)
          35 (94.59 % of base) : 16961.dasm - System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (Tier1)
          34 (6.27 % of base) : 37532.dasm - System.Lazy`1[System.__Canon]:CreateValue():System.__Canon:this (Tier1)
          32 (27.12 % of base) : 36353.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (Tier1)
          31 (4.55 % of base) : 42078.dasm - Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2[System.__Canon,System.__Canon]:FindValue(System.__Canon):byref:this (Tier1)
          31 (30.39 % of base) : 42453.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,int]:TryGetValue(System.__Canon,byref):ubyte:this (Tier1)
          31 (12.20 % of base) : 45796.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]],ubyte):System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:this (Tier1)
          31 (16.85 % of base) : 37081.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]],System.Collections.Generic.IEqualityComparer`1[System.__Canon],int):this (Tier1)
          28 (5.66 % of base) : 42894.dasm - Microsoft.CodeAnalysis.RuntimeMembers.SignatureComparer`5[System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon]:MatchMethodSignature(System.__Canon,System.Collections.Immutable.ImmutableArray`1[ubyte]):ubyte:this (Tier1)
          28 (6.47 % of base) : 36358.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:WithComparers(System.Collections.Generic.IEqualityComparer`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,System.__Canon]:this (Tier1)
          28 (3.33 % of base) : 16932.dasm - System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]:SetOrAdd(int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]],ubyte,byref,byref):System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]:this (Tier1)
          26 (11.16 % of base) : 14704.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[System.__Canon]:TryDequeue(byref):ubyte:this (Tier1)
          23 (8.52 % of base) : 44985.dasm - Roslyn.Utilities.TextKeyedCache`1[System.__Canon]:FindSharedEntry(ushort[],int,int,int):Roslyn.Utilities.TextKeyedCache`1+SharedEntryValue[System.__Canon]:this (Tier1)
          22 (56.41 % of base) : 42556.dasm - Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]):this (Tier1)
          22 (40.00 % of base) : 42260.dasm - Microsoft.CodeAnalysis.CustomAttributesBag`1[System.__Canon]:get_IsEmpty():ubyte:this (Tier1)
          22 (30.99 % of base) : 36116.dasm - Microsoft.CodeAnalysis.PooledObjects.ObjectPool`1[System.__Canon]:Allocate():System.__Canon:this (Tier1)
          22 (13.17 % of base) : 44984.dasm - Roslyn.Utilities.TextKeyedCache`1[System.__Canon]:AddSharedEntry(int,Roslyn.Utilities.TextKeyedCache`1+SharedEntryValue[System.__Canon]):this (Tier1)
Top method improvements (bytes):
        -438 (-32.09 % of base) : 25533.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -147 (-15.91 % of base) : 34232.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -50 (-6.39 % of base) : 47330.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -50 (-1.57 % of base) : 34237.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (Tier1)
         -25 (-2.71 % of base) : 47882.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
         -22 (-2.04 % of base) : 34241.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1)
         -22 (-0.88 % of base) : 48923.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
         -20 (-0.96 % of base) : 30167.dasm - AssignRect:second_assignments(int[,],short[,]) (Tier1-OSR)
         -17 (-3.04 % of base) : 36132.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:QuickScanSyntaxToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:this (Tier1)
          -7 (-0.38 % of base) : 29453.dasm - AssignJagged:second_assignments(int[][],short[][]) (Tier1-OSR)
          -6 (-0.79 % of base) : 21653.dasm - System.Reflection.RuntimeMethodInfo:MakeGenericMethod(System.Type[]):System.Reflection.MethodInfo:this (Tier1)
          -5 (-0.66 % of base) : 47736.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (Tier1)
          -4 (-0.57 % of base) : 2976.dasm - System.Reflection.TypeNameParser:ParseNamedOrConstructedGenericTypeName():System.Reflection.TypeNameParser+TypeName:this (Tier1)
          -4 (-0.41 % of base) : 53541.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
          -3 (-0.10 % of base) : 34234.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (Tier1-OSR)
          -3 (-0.32 % of base) : 21761.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:FindLeadingOrTrailingAnchor(System.Text.RegularExpressions.RegexNode,ubyte):ubyte (Tier1)
          -2 (-0.01 % of base) : 49843.dasm - (dynamicClass):_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -2 (-0.01 % of base) : 12909.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel (FullOpts)
          -2 (-0.06 % of base) : 33763.dasm - (dynamicClass):_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.LoginViewModel (FullOpts)
          -2 (-0.14 % of base) : 49720.dasm - (dynamicClass):ReadSimpleStructWithPropertiesFromXml(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.XmlObjectSerializerReadContext,System.Xml.XmlDictionaryString[],System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
Top method regressions (percentages):
          35 (94.59 % of base) : 16961.dasm - System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (Tier1)
          15 (78.95 % of base) : 51703.dasm - System.Threading.Tasks.Task`1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.TaskAwaiter`1[System.__Canon]:this (Tier1)
          22 (56.41 % of base) : 42556.dasm - Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]):this (Tier1)
          15 (48.39 % of base) : 36724.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:ToImmutable():System.Collections.Immutable.ImmutableArray`1[System.__Canon]:this (Tier1)
          22 (45.83 % of base) : 53542.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          15 (42.86 % of base) : 37095.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:AddRange(System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (Tier1)
          22 (40.00 % of base) : 42260.dasm - Microsoft.CodeAnalysis.CustomAttributesBag`1[System.__Canon]:get_IsEmpty():ubyte:this (Tier1)
          15 (33.33 % of base) : 21875.dasm - System.Collections.Generic.Stack`1[System.__Canon]:Clear():this (Tier1)
          15 (31.91 % of base) : 41848.dasm - Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.__Canon]:GetEnumerator():Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1+Enumerator[System.__Canon]:this (Tier1)
          22 (30.99 % of base) : 36116.dasm - Microsoft.CodeAnalysis.PooledObjects.ObjectPool`1[System.__Canon]:Allocate():System.__Canon:this (Tier1)
          31 (30.39 % of base) : 42453.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,int]:TryGetValue(System.__Canon,byref):ubyte:this (Tier1)
          22 (28.95 % of base) : 26434.dasm - System.Collections.Generic.Stack`1[System.__Canon]:Pop():System.__Canon:this (Tier1)
          15 (28.30 % of base) : 37211.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (Tier1)
          15 (27.27 % of base) : 19169.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor():this (Tier1)
          32 (27.12 % of base) : 36353.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (Tier1)
          18 (26.87 % of base) : 42152.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:Union(System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:this (Tier1)
          15 (25.86 % of base) : 2224.dasm - System.Collections.Generic.Dictionary`2+KeyCollection[System.__Canon,ubyte]:GetEnumerator():System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.__Canon,ubyte]:this (Tier1)
          15 (25.86 % of base) : 40541.dasm - System.Collections.Generic.Dictionary`2+ValueCollection[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:GetEnumerator():System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.ReadOnlyMemory`1[ushort],System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:this (Tier1)
          15 (25.42 % of base) : 42367.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.__Canon,int]:get_Origin():System.Collections.Immutable.ImmutableDictionary`2+MutationInput[System.__Canon,int]:this (Tier1)
          15 (25.00 % of base) : 26476.dasm - System.Collections.Generic.HashSet`1[System.__Canon]:GetEnumerator():System.Collections.Generic.HashSet`1+Enumerator[System.__Canon]:this (Tier1)
Top method improvements (percentages):
        -438 (-32.09 % of base) : 25533.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -147 (-15.91 % of base) : 34232.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -50 (-6.39 % of base) : 47330.dasm - JetStream.Statistics:findOptimalSegmentationInternal(float[][],int[][],double[],JetStream.SampleVarianceUpperTriangularMatrix,int) (Tier1-OSR)
         -17 (-3.04 % of base) : 36132.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:QuickScanSyntaxToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:this (Tier1)
         -25 (-2.71 % of base) : 47882.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (Tier1-OSR)
         -22 (-2.04 % of base) : 34241.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1)
         -50 (-1.57 % of base) : 34237.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (Tier1)
         -20 (-0.96 % of base) : 30167.dasm - AssignRect:second_assignments(int[,],short[,]) (Tier1-OSR)
         -22 (-0.88 % of base) : 48923.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -6 (-0.79 % of base) : 21653.dasm - System.Reflection.RuntimeMethodInfo:MakeGenericMethod(System.Type[]):System.Reflection.MethodInfo:this (Tier1)
          -5 (-0.66 % of base) : 47736.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (Tier1)
          -4 (-0.57 % of base) : 2976.dasm - System.Reflection.TypeNameParser:ParseNamedOrConstructedGenericTypeName():System.Reflection.TypeNameParser+TypeName:this (Tier1)
          -2 (-0.49 % of base) : 42928.dasm - Microsoft.CodeAnalysis.DiagnosticBag:AsEnumerable():System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.Diagnostic]:this (Tier1)
          -4 (-0.41 % of base) : 53541.dasm - System.Threading.TimerQueue:FireNextTimers():this (Tier1)
          -7 (-0.38 % of base) : 29453.dasm - AssignJagged:second_assignments(int[][],short[][]) (Tier1-OSR)
          -3 (-0.32 % of base) : 21761.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:FindLeadingOrTrailingAnchor(System.Text.RegularExpressions.RegexNode,ubyte):ubyte (Tier1)
          -1 (-0.22 % of base) : 43806.dasm - System.Collections.Frozen.LengthBuckets:CreateLengthBucketsArrayIfAppropriate(System.String[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int):int[] (Tier1)
          -2 (-0.14 % of base) : 49720.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) : 25536.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1)
          -1 (-0.11 % of base) : 34238.dasm - LUDecomp:lubksb(double[][],int,int[],double[]) (Tier1)
  
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: 393235161 (overridden on cmd)
Total bytes of diff: 393250679 (overridden on cmd)
Total bytes of delta: 15518 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         294 : 186628.dasm (3.85 % of base)
         258 : 570615.dasm (2.34 % of base)
         149 : 186926.dasm (5.17 % of base)
         147 : 187198.dasm (5.57 % of base)
         125 : 567595.dasm (0.97 % of base)
         106 : 229391.dasm (5.46 % of base)
          97 : 565390.dasm (0.70 % of base)
          97 : 567221.dasm (4.99 % of base)
          93 : 186741.dasm (8.97 % of base)
          93 : 570506.dasm (4.81 % of base)
          72 : 186925.dasm (5.32 % of base)
          68 : 243252.dasm (37.16 % of base)
          67 : 566268.dasm (2.02 % of base)
          66 : 20047.dasm (8.55 % of base)
          64 : 567242.dasm (3.28 % of base)
          64 : 227215.dasm (0.35 % of base)
          63 : 281312.dasm (11.86 % of base)
          62 : 565206.dasm (3.23 % of base)
          62 : 569668.dasm (3.23 % of base)
          62 : 570485.dasm (3.92 % of base)
Top file improvements (bytes):
        -471 : 450092.dasm (-33.84 % of base)
        -198 : 439694.dasm (-29.25 % of base)
        -198 : 439709.dasm (-29.25 % of base)
        -146 : 487258.dasm (-36.32 % of base)
        -112 : 227189.dasm (-3.36 % of base)
        -112 : 227425.dasm (-3.36 % of base)
         -97 : 439534.dasm (-4.89 % of base)
         -84 : 564993.dasm (-2.19 % of base)
         -81 : 570350.dasm (-11.49 % of base)
         -75 : 168689.dasm (-2.40 % of base)
         -58 : 569544.dasm (-0.64 % of base)
         -55 : 453387.dasm (-5.26 % of base)
         -55 : 492846.dasm (-5.11 % of base)
         -54 : 191099.dasm (-5.27 % of base)
         -50 : 186219.dasm (-1.57 % of base)
         -49 : 566371.dasm (-1.60 % of base)
         -44 : 240234.dasm (-2.14 % of base)
         -43 : 307887.dasm (-4.16 % of base)
         -41 : 474511.dasm (-1.97 % of base)
         -40 : 469078.dasm (-2.06 % of base)
86 total files with Code Size differences (36 improved, 50 regressed), 20 unchanged.
Top method regressions (bytes):
         294 (3.85 % of base) : 186628.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)
         258 (2.34 % of base) : 570615.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
         149 (5.17 % of base) : 186926.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)
         147 (5.57 % of base) : 187198.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)
         125 (0.97 % of base) : 567595.dasm - Internal.TypeSystem.RuntimeDeterminedTypeUtilities:ConvertInstantiationToSharedRuntimeForm(Internal.TypeSystem.Instantiation,Internal.TypeSystem.Instantiation,byref):Internal.TypeSystem.Instantiation (Tier1)
         106 (5.46 % of base) : 229391.dasm - JitTest_array1_refany_il.Test:Main():int (FullOpts)
          97 (4.99 % of base) : 567221.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+InstantiatedTypeKey,System.__Canon]:Expand(System.__Canon[]):this (Tier1)
          97 (0.70 % of base) : 565390.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeAutoFieldLayout(Internal.TypeSystem.MetadataType,int):Internal.TypeSystem.ComputedInstanceFieldLayout:this (Tier1)
          93 (4.81 % of base) : 570506.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+InstantiatedTypeKey,System.__Canon]:Expand(System.__Canon[]):this (Tier1)
          93 (8.97 % of base) : 186741.dasm - Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]:AddIfNotPresent(System.__Canon,byref):ubyte:this (FullOpts)
          72 (5.32 % of base) : 186925.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)
          68 (37.16 % of base) : 243252.dasm - ILGEN_0xc53351bb:Method_0x6cf4(short,byte,uint,ulong,int,long,short,short,ubyte,long,float,ubyte,ulong,ubyte):float (FullOpts)
          67 (2.02 % of base) : 566268.dasm - ILCompiler.ReadyToRunCodegenCompilation:IsLayoutFixedInCurrentVersionBubbleInternal(Internal.TypeSystem.TypeDesc):ubyte:this (Tier1)
          66 (8.55 % of base) : 20047.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.Text.RegularExpressions.RegexCache+Key,System.__Canon]:TryGetValue(System.Text.RegularExpressions.RegexCache+Key,byref):ubyte:this (FullOpts)
          64 (3.28 % of base) : 567242.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+ArrayTypeKey,System.__Canon]:Expand(System.__Canon[]):this (Tier1)
          64 (0.35 % of base) : 227215.dasm - r4NaNdiv:TestEntryPoint():int (FullOpts)
          63 (11.86 % of base) : 281312.dasm - System.Collections.Generic.SortedSet`1+Node[System.__Canon]:DeepClone(int):System.Collections.Generic.SortedSet`1+Node[System.__Canon]:this (FullOpts)
          62 (3.23 % of base) : 565206.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) : 569668.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+FieldForInstantiatedTypeKey,byref):ubyte:this (Tier1)
          62 (3.92 % of base) : 570485.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,ubyte]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.__Canon,ubyte],ubyte,ubyte):this (Tier1)
Top method improvements (bytes):
        -471 (-33.84 % of base) : 450092.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -198 (-29.25 % of base) : 439694.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -198 (-29.25 % of base) : 439709.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -146 (-36.32 % of base) : 487258.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -112 (-3.36 % of base) : 227189.dasm - plainarr:gaussj(double[,],int,double[,],int) (FullOpts)
        -112 (-3.36 % of base) : 227425.dasm - structarr:gaussj(MatrixStruct,int,MatrixStruct,int) (FullOpts)
         -97 (-4.89 % of base) : 439534.dasm - Huffman:DoHuffIteration(ubyte[],ubyte[],ubyte[],int,int,huff_node[]):long (Tier1-OSR)
         -84 (-2.19 % of base) : 564993.dasm - Internal.TypeSystem.LockFreeReaderHashtable`2[Internal.TypeSystem.TypeSystemContext+InstantiatedTypeKey,System.__Canon]:TryGetValue(Internal.TypeSystem.TypeSystemContext+InstantiatedTypeKey,byref):ubyte:this (Tier1)
         -81 (-11.49 % of base) : 570350.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -75 (-2.40 % of base) : 168689.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -58 (-0.64 % of base) : 569544.dasm - ILCompiler.ReadyToRunMetadataFieldLayoutAlgorithm+ModuleFieldLayoutMap:CalculateTypeLayout(Internal.TypeSystem.DefType,Internal.TypeSystem.Ecma.EcmaModule,byref):Internal.TypeSystem.FieldAndOffset[]:this (Tier1)
         -55 (-5.26 % of base) : 453387.dasm - System.Diagnostics.Process:GetEnvironmentVariablesBlock(System.Collections.Specialized.DictionaryWrapper):System.String (Tier1)
         -55 (-5.11 % of base) : 492846.dasm - System.Diagnostics.Process:GetEnvironmentVariablesBlock(System.Collections.Specialized.DictionaryWrapper):System.String (Tier1)
         -54 (-5.27 % of base) : 191099.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (FullOpts)
         -50 (-1.57 % of base) : 186219.dasm - LUDecomp:ludcmp(double[][],int,int[],byref):int (FullOpts)
         -49 (-1.60 % of base) : 566371.dasm - Internal.TypeSystem.MetadataFieldLayoutAlgorithm:ComputeIsUnsafeValueType(Internal.TypeSystem.DefType):ubyte:this (Tier1)
         -44 (-2.14 % of base) : 240234.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) : 307887.dasm - System.Diagnostics.Process:GetEnvironmentVariablesBlock(System.Collections.Specialized.DictionaryWrapper):System.String (Tier1)
         -41 (-1.97 % of base) : 474511.dasm - JitTest_lcs_refany_il.LCS:findLCS(System.TypedReference,System.TypedReference,System.TypedReference,System.TypedReference) (Tier1-OSR)
         -40 (-2.06 % of base) : 469078.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)
Top method regressions (percentages):
          36 (257.14 % of base) : 244043.dasm - ILGEN_0x2dda4eb5:Method_0xa084659a():ushort (FullOpts)
          16 (114.29 % of base) : 183734.dasm - Program:Test[System.__Canon]():int (FullOpts)
          23 (104.55 % of base) : 243852.dasm - ILGEN_0x4601be46:Method_0x9c86375f(ulong,ubyte):int (FullOpts)
          35 (94.59 % of base) : 186651.dasm - System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,int]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,int]]):this (FullOpts)
          35 (94.59 % of base) : 186983.dasm - System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
          16 (84.21 % of base) : 300909.dasm - HelperILDllTests:CallGenMethodFromGenericType[System.__Canon]():System.String (FullOpts)
          16 (84.21 % of base) : 300903.dasm - HelperILDllTests:CallMethodFromGenericType[System.__Canon]():System.String (FullOpts)
          15 (78.95 % of base) : 561471.dasm - System.Threading.Tasks.Task`1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.TaskAwaiter`1[System.__Canon]:this (Instrumented Tier1)
          15 (57.69 % of base) : 215834.dasm - Caller`4[MyStruct`2[System.__Canon,System.__Canon],System.__Canon,System.__Canon,System.__Canon]:CallGenInstMethodU(System.__Canon):System.String:this (FullOpts)
          15 (57.69 % of base) : 215835.dasm - Caller`4[MyStruct`2[System.__Canon,System.__Canon],System.__Canon,System.__Canon,System.__Canon]:CallVirtMethodU(System.__Canon):System.String:this (FullOpts)
          25 (52.08 % of base) : 567856.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          15 (51.72 % of base) : 302212.dasm - Microsoft.Build.Collections.PropertyDictionary`1[System.__Canon]:Contains(System.String):ubyte:this (FullOpts)
          15 (51.72 % of base) : 561411.dasm - System.Collections.Generic.Dictionary`2+ValueCollection[int,System.__Canon]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (Instrumented Tier1)
          15 (48.39 % of base) : 186644.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:ToImmutable():System.Collections.Immutable.ImmutableArray`1[System.__Canon]:this (FullOpts)
          15 (48.39 % of base) : 444012.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:ToImmutable():System.Collections.Immutable.ImmutableArray`1[System.__Canon]:this (Tier1)
          22 (47.83 % of base) : 186752.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedHashSet`1+Builder[System.__Canon]:ToImmutable():Microsoft.CodeAnalysis.Collections.ImmutableSegmentedHashSet`1[System.__Canon]:this (FullOpts)
          15 (44.12 % of base) : 19537.dasm - Microsoft.FSharp.Collections.FSharpList`1[System.__Canon]:get_Length():int:this (FullOpts)
          15 (42.86 % of base) : 187685.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:AddRange(System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (FullOpts)
          56 (41.79 % of base) : 20139.dasm - System.Collections.Generic.SortedDictionary`2[long,System.__Canon]:set_Item(long,System.__Canon):this (FullOpts)
          68 (37.16 % of base) : 243252.dasm - ILGEN_0xc53351bb:Method_0x6cf4(short,byte,uint,ulong,int,long,short,short,ubyte,long,float,ubyte,ulong,ubyte):float (FullOpts)
Top method improvements (percentages):
        -146 (-36.32 % of base) : 487258.dasm - Runtime_88091:Problem(System.Collections.Generic.List`1[NamedSet][]) (Tier1-OSR)
        -471 (-33.84 % of base) : 450092.dasm - SciMark2.LU:factor(double[][],int[]):int (Tier1-OSR)
        -198 (-29.25 % of base) : 439694.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
        -198 (-29.25 % of base) : 439709.dasm - LUDecomp:DoLUIteration(double[][],double[],double[][][],double[][],int):long (Tier1-OSR)
         -81 (-11.49 % of base) : 570350.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -37 (-5.61 % of base) : 492650.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -13 (-5.37 % of base) : 449335.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner1(int[,],byref) (Tier1-OSR)
         -54 (-5.27 % of base) : 191099.dasm - BenchmarksGame.FannkuchRedux_2:fannkuch(int):int[]:this (FullOpts)
         -55 (-5.26 % of base) : 453387.dasm - System.Diagnostics.Process:GetEnvironmentVariablesBlock(System.Collections.Specialized.DictionaryWrapper):System.String (Tier1)
         -13 (-5.16 % of base) : 449337.dasm - Benchstone.MDBenchI.MDAddArray2:BenchInner2(int[,],byref) (Tier1-OSR)
         -55 (-5.11 % of base) : 492846.dasm - System.Diagnostics.Process:GetEnvironmentVariablesBlock(System.Collections.Specialized.DictionaryWrapper):System.String (Tier1)
         -97 (-4.89 % of base) : 439534.dasm - Huffman:DoHuffIteration(ubyte[],ubyte[],ubyte[],int,int,huff_node[]):long (Tier1-OSR)
         -43 (-4.16 % of base) : 307887.dasm - System.Diagnostics.Process:GetEnvironmentVariablesBlock(System.Collections.Specialized.DictionaryWrapper):System.String (Tier1)
         -25 (-4.09 % of base) : 329074.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -25 (-4.01 % of base) : 566917.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -25 (-3.96 % of base) : 331681.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
          -7 (-3.76 % of base) : 306985.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
          -7 (-3.76 % of base) : 456696.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(ulong,System.Object):System.Object (Tier1)
          -3 (-3.75 % of base) : 567409.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (Tier1)
          -3 (-3.75 % of base) : 570541.dasm - System.Enum:AreSorted[uint](uint[]):ubyte (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: 39479685 (overridden on cmd)
Total bytes of diff: 39479372 (overridden on cmd)
Total bytes of delta: -313 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         109 : 1481.dasm (0.17 % of base)
          85 : 123898.dasm (11.66 % of base)
          50 : 171209.dasm (2.28 % of base)
          50 : 36805.dasm (2.28 % of base)
          42 : 139858.dasm (1.99 % of base)
          33 : 24512.dasm (4.62 % of base)
          33 : 115230.dasm (3.08 % of base)
          33 : 96843.dasm (6.57 % of base)
          29 : 108198.dasm (0.68 % of base)
          28 : 166999.dasm (1.42 % of base)
          25 : 104352.dasm (1.62 % of base)
          25 : 130420.dasm (3.05 % of base)
          24 : 108216.dasm (0.63 % of base)
          24 : 129464.dasm (1.71 % of base)
          22 : 31058.dasm (2.03 % of base)
          22 : 234833.dasm (4.24 % of base)
          21 : 108122.dasm (2.12 % of base)
          20 : 107563.dasm (0.15 % of base)
          20 : 160257.dasm (0.50 % of base)
          19 : 134716.dasm (1.08 % of base)
Top file improvements (bytes):
        -271 : 159536.dasm (-1.05 % of base)
        -159 : 31192.dasm (-8.26 % of base)
        -158 : 108892.dasm (-6.92 % of base)
         -89 : 209693.dasm (-2.39 % of base)
         -56 : 160258.dasm (-7.50 % of base)
         -47 : 171142.dasm (-2.27 % of base)
         -44 : 108611.dasm (-2.68 % of base)
         -29 : 10988.dasm (-0.29 % of base)
         -28 : 160555.dasm (-0.78 % of base)
         -24 : 62889.dasm (-3.71 % of base)
         -20 : 160483.dasm (-1.09 % of base)
         -19 : 26335.dasm (-0.80 % of base)
         -19 : 131078.dasm (-0.58 % of base)
         -19 : 15889.dasm (-1.53 % of base)
         -18 : 134715.dasm (-0.63 % of base)
         -17 : 175568.dasm (-1.85 % of base)
         -17 : 201758.dasm (-1.85 % of base)
         -17 : 31264.dasm (-1.56 % of base)
         -16 : 130663.dasm (-2.21 % of base)
         -16 : 139621.dasm (-1.19 % of base)
74 total files with Code Size differences (32 improved, 42 regressed), 20 unchanged.
Top method regressions (bytes):
         109 (0.17 % of base) : 1481.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (FullOpts)
          85 (11.66 % of base) : 123898.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner:QuickScanToken(ubyte):Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner+QuickScanResult:this (FullOpts)
          50 (2.28 % of base) : 171209.dasm - System.Data.Common.DbConnectionOptions:GetKeyValuePair(System.String,int,System.Text.StringBuilder,ubyte,byref,byref):int (FullOpts)
          50 (2.28 % of base) : 36805.dasm - System.Data.Common.DbConnectionOptions:GetKeyValuePair(System.String,int,System.Text.StringBuilder,ubyte,byref,byref):int (FullOpts)
          42 (1.99 % of base) : 139858.dasm - System.Data.Common.DbConnectionOptions:GetKeyValuePair(System.String,int,System.Text.StringBuilder,ubyte,byref,byref):int (FullOpts)
          33 (3.08 % of base) : 115230.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSubstitution:CreateAdditionalMethodTypeParameterSubstitution(Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeWithModifiers]):Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSubstitution (FullOpts)
          33 (4.62 % of base) : 24512.dasm - System.Number:TryNumberToDecimal(byref,byref):ubyte (FullOpts)
          33 (6.57 % of base) : 96843.dasm - System.Speech.Internal.SrgsParser.XmlParser:ValidateScripts():this (FullOpts)
          29 (0.68 % of base) : 108198.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
          28 (1.42 % of base) : 166999.dasm - System.Text.ISCIIEncoding:GetChars(ulong,int,ulong,int,System.Text.DecoderNLS):int:this (FullOpts)
          25 (3.05 % of base) : 130420.dasm - Microsoft.CodeAnalysis.VisualBasic.AccessCheck:InheritsFromOrImplementsIgnoringConstruction(Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BasesBeingResolved,byref):ubyte (FullOpts)
          25 (1.62 % of base) : 104352.dasm - System.Xml.XmlTextReaderImpl:ParseDocumentContentAsync():System.Threading.Tasks.Task`1[ubyte]:this (FullOpts)
          24 (1.71 % of base) : 129464.dasm - Microsoft.CodeAnalysis.VisualBasic.ExpressionLambdaRewriter:VisitObjectInitializer(Microsoft.CodeAnalysis.VisualBasic.BoundObjectInitializerExpression):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
          24 (0.63 % of base) : 108216.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:GenerateMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
          22 (2.03 % of base) : 31058.dasm - System.Buffers.AhoCorasickBuilder:BuildTrie(byref):this (FullOpts)
          22 (4.24 % of base) : 234833.dasm - System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (FullOpts)
          21 (2.12 % of base) : 108122.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteElements(System.Object,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,ubyte,ubyte):this (FullOpts)
          20 (0.50 % of base) : 160257.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMostSpecific(System.Reflection.MethodBase,System.Reflection.MethodBase,int[],System.Object[],ubyte,int,int,System.Object[]):int:this (FullOpts)
          20 (0.15 % of base) : 107563.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
          19 (1.08 % of base) : 134716.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation+ReferenceManager:SetupReferencesForFileAssembly(Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation+ReferenceManager+AssemblyDataForFile,Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation,Microsoft.CodeAnalysis.VisualBasic.Symbols.AssemblySymbol][],int,byref,Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceAssemblySymbol) (FullOpts)
Top method improvements (bytes):
        -271 (-1.05 % of base) : 159536.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        -159 (-8.26 % of base) : 31192.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
        -158 (-6.92 % of base) : 108892.dasm - System.Xml.Xsl.Xslt.XsltInput:GetAttributes(System.Xml.Xsl.Xslt.XsltInput+XsltAttribute[]):System.Xml.Xsl.Xslt.XsltInput+ContextInfo:this (FullOpts)
         -89 (-2.39 % of base) : 209693.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[Microsoft.CodeAnalysis.CommonReferenceManager`2+AssemblyData[System.__Canon,System.__Canon]],int):this (FullOpts)
         -56 (-7.50 % of base) : 160258.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:MethodsDifferOnlyByReturnType(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte:this (FullOpts)
         -47 (-2.27 % of base) : 171142.dasm - System.Data.Odbc.OdbcDataReader:RetrieveKeyInfoFromStatistics(System.Data.Odbc.OdbcDataReader+QualifiedTableName,ubyte):int:this (FullOpts)
         -44 (-2.68 % of base) : 108611.dasm - System.Xml.DtdParser:ScanAttlist2():int:this (FullOpts)
         -29 (-0.29 % of base) : 10988.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -28 (-0.78 % of base) : 160555.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -24 (-3.71 % of base) : 62889.dasm - Microsoft.CodeAnalysis.CSharp.AccessCheck:InheritsFromOrImplementsIgnoringConstruction(Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpCompilation,byref,Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):ubyte (FullOpts)
         -20 (-1.09 % of base) : 160483.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)
         -19 (-0.58 % of base) : 131078.dasm - Microsoft.CodeAnalysis.VisualBasic.TypeUnification:CanUnifyHelper(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeWithModifiers,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeWithModifiers,byref):ubyte (FullOpts)
         -19 (-0.80 % of base) : 26335.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -19 (-1.53 % of base) : 15889.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
         -18 (-0.63 % of base) : 134715.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation+ReferenceManager:SetupReferencesForRetargetingAssembly(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation,Microsoft.CodeAnalysis.VisualBasic.Symbols.AssemblySymbol][],int,byref,Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceAssemblySymbol) (FullOpts)
         -17 (-1.85 % of base) : 175568.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)
         -17 (-1.85 % of base) : 201758.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)
         -17 (-1.56 % of base) : 31264.dasm - System.Diagnostics.Tracing.ManifestBuilder:TranslateToManifestConvention(System.String,System.String):System.String:this (FullOpts)
         -16 (-2.21 % of base) : 130663.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:ApplyTieBreakingRules(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[int],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Binder,byref):int (FullOpts)
         -16 (-1.19 % of base) : 139621.dasm - System.Data.OleDb.OleDbDataReader:GetRowValue():this (FullOpts)
Top method regressions (percentages):
          85 (11.66 % of base) : 123898.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner:QuickScanToken(ubyte):Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner+QuickScanResult:this (FullOpts)
           6 (6.98 % of base) : 170860.dasm - System.Data.Odbc.OdbcCommand:ExecuteReaderObject(int,System.String,ubyte):System.Data.Odbc.OdbcDataReader:this (FullOpts)
          33 (6.57 % of base) : 96843.dasm - System.Speech.Internal.SrgsParser.XmlParser:ValidateScripts():this (FullOpts)
          13 (5.33 % of base) : 224728.dasm - Microsoft.Win32.SystemEvents:WindowThreadProc():this (FullOpts)
          33 (4.62 % of base) : 24512.dasm - System.Number:TryNumberToDecimal(byref,byref):ubyte (FullOpts)
          22 (4.24 % of base) : 234833.dasm - System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (FullOpts)
           8 (4.19 % of base) : 12009.dasm - System.MemoryExtensions:TrimEnd(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort] (FullOpts)
          17 (4.19 % of base) : 145562.dasm - System.Xml.XmlConverter:TryParseInt32(ubyte[],int,int,byref):ubyte (FullOpts)
          15 (4.04 % of base) : 18474.dasm - System.Reflection.RuntimePropertyInfo:SetValue(System.Object,System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):this (FullOpts)
          10 (3.85 % of base) : 150983.dasm - System.Security.Cryptography.RSA:WritePkcs1PrivateKey():System.Formats.Asn1.AsnWriter:this (FullOpts)
           3 (3.80 % of base) : 213246.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:get_Item(int):System.__Canon:this (FullOpts)
           3 (3.80 % of base) : 213412.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[System.__Canon]:get_Item(int):System.__Canon:this (FullOpts)
           7 (3.72 % of base) : 12008.dasm - System.MemoryExtensions:TrimStart(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort] (FullOpts)
           2 (3.23 % of base) : 67913.dasm - Microsoft.CodeAnalysis.CSharp.ReadWriteWalker:GetRangeVariableUnderlyingParameter(Microsoft.CodeAnalysis.CSharp.BoundNode):Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol (FullOpts)
           6 (3.16 % of base) : 153768.dasm - System.Net.Http.Headers.HttpHeaders:GetValueRefOrNullRef(System.Net.Http.Headers.HeaderDescriptor):byref:this (FullOpts)
          33 (3.08 % of base) : 115230.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSubstitution:CreateAdditionalMethodTypeParameterSubstitution(Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeWithModifiers]):Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSubstitution (FullOpts)
          25 (3.05 % of base) : 130420.dasm - Microsoft.CodeAnalysis.VisualBasic.AccessCheck:InheritsFromOrImplementsIgnoringConstruction(Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BasesBeingResolved,byref):ubyte (FullOpts)
           3 (2.75 % of base) : 235708.dasm - System.Numerics.BigInteger:GetGenericMathByteCount():int:this (FullOpts)
          10 (2.71 % of base) : 149206.dasm - System.Security.Cryptography.RSA:ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],byref):this (FullOpts)
          10 (2.71 % of base) : 149207.dasm - System.Security.Cryptography.RSA:ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],byref):this (FullOpts)
Top method improvements (percentages):
        -159 (-8.26 % of base) : 31192.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts)
         -56 (-7.50 % of base) : 160258.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:MethodsDifferOnlyByReturnType(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte:this (FullOpts)
        -158 (-6.92 % of base) : 108892.dasm - System.Xml.Xsl.Xslt.XsltInput:GetAttributes(System.Xml.Xsl.Xslt.XsltInput+XsltAttribute[]):System.Xml.Xsl.Xslt.XsltInput+ContextInfo:this (FullOpts)
         -24 (-3.71 % of base) : 62889.dasm - Microsoft.CodeAnalysis.CSharp.AccessCheck:InheritsFromOrImplementsIgnoringConstruction(Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.CSharpCompilation,byref,Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol]):ubyte (FullOpts)
         -44 (-2.68 % of base) : 108611.dasm - System.Xml.DtdParser:ScanAttlist2():int:this (FullOpts)
         -12 (-2.56 % of base) : 91573.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Blender+Cursor:MoveToNextSibling():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Blender+Cursor:this (FullOpts)
         -13 (-2.48 % of base) : 145563.dasm - System.Xml.XmlConverter:TryParseInt64(ubyte[],int,int,byref):ubyte (FullOpts)
         -89 (-2.39 % of base) : 209693.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[Microsoft.CodeAnalysis.CommonReferenceManager`2+AssemblyData[System.__Canon,System.__Canon]],int):this (FullOpts)
         -47 (-2.27 % of base) : 171142.dasm - System.Data.Odbc.OdbcDataReader:RetrieveKeyInfoFromStatistics(System.Data.Odbc.OdbcDataReader+QualifiedTableName,ubyte):int:this (FullOpts)
         -12 (-2.23 % of base) : 35627.dasm - System.Data.DataRelation:Create(System.String,System.Data.DataColumn[],System.Data.DataColumn[],ubyte):this (FullOpts)
         -16 (-2.21 % of base) : 130663.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:ApplyTieBreakingRules(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[int],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Binder,byref):int (FullOpts)
         -10 (-2.12 % of base) : 85034.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)
          -6 (-2.02 % of base) : 226231.dasm - System.Net.Mail.WhitespaceReader:TryReadFwsReverse(System.String,int,byref,ubyte):ubyte (FullOpts)
         -17 (-1.85 % of base) : 175568.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)
         -17 (-1.85 % of base) : 201758.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 (-1.69 % of base) : 36033.dasm - System.Data.Common.DbEnumerator:BuildSchemaInfo():this (FullOpts)
          -7 (-1.68 % of base) : 24449.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
          -2 (-1.67 % of base) : 31042.dasm - System.Globalization.TimeSpanParse:ParseExactDigits(byref,int,int,byref,byref):ubyte (FullOpts)
          -7 (-1.63 % of base) : 134520.dasm - Microsoft.CodeAnalysis.VisualBasic.UnboundLambda+TargetSignature:.ctor(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.ParameterSymbol],Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,ubyte):this (FullOpts)
         -17 (-1.56 % of base) : 31264.dasm - System.Diagnostics.Tracing.ManifestBuilder:TranslateToManifestConvention(System.String,System.String):System.String:this (FullOpts)
  
libraries.pmi.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 60138217 (overridden on cmd)
Total bytes of diff: 60157244 (overridden on cmd)
Total bytes of delta: 19027 (0.03 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         231 : 303632.dasm (14.37 % of base)
         202 : 303633.dasm (15.84 % of base)
         147 : 90235.dasm (5.44 % of base)
         120 : 163774.dasm (5.59 % of base)
         120 : 203636.dasm (5.59 % of base)
         118 : 282397.dasm (19.03 % of base)
         106 : 123113.dasm (3.27 % of base)
          93 : 161699.dasm (8.97 % of base)
          93 : 167750.dasm (2.06 % of base)
          93 : 201554.dasm (8.97 % of base)
          89 : 210049.dasm (10.61 % of base)
          88 : 271219.dasm (21.31 % of base)
          86 : 154601.dasm (7.05 % of base)
          86 : 194470.dasm (7.06 % of base)
          83 : 286570.dasm (4.25 % of base)
          81 : 210220.dasm (7.69 % of base)
          81 : 282304.dasm (7.55 % of base)
          77 : 108664.dasm (0.79 % of base)
          73 : 245937.dasm (10.69 % of base)
          72 : 211149.dasm (8.96 % of base)
Top file improvements (bytes):
        -146 : 167748.dasm (-0.51 % of base)
         -90 : 146330.dasm (-1.10 % of base)
         -75 : 148855.dasm (-2.39 % of base)
         -61 : 67090.dasm (-0.55 % of base)
         -54 : 222553.dasm (-0.39 % of base)
         -51 : 167762.dasm (-0.84 % of base)
         -44 : 141603.dasm (-2.05 % of base)
         -44 : 146191.dasm (-1.10 % of base)
         -37 : 154600.dasm (-1.30 % of base)
         -37 : 194469.dasm (-1.30 % of base)
         -35 : 287629.dasm (-2.23 % of base)
         -34 : 124899.dasm (-0.90 % of base)
         -33 : 67167.dasm (-0.52 % of base)
         -31 : 147857.dasm (-0.29 % of base)
         -27 : 167049.dasm (-1.29 % of base)
         -27 : 99659.dasm (-1.40 % of base)
         -24 : 297639.dasm (-2.26 % of base)
         -24 : 66984.dasm (-0.20 % of base)
         -22 : 217407.dasm (-1.03 % of base)
         -21 : 124444.dasm (-5.34 % of base)
91 total files with Code Size differences (40 improved, 51 regressed), 20 unchanged.
Top method regressions (bytes):
         231 (14.37 % of base) : 303632.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.__Canon]:RetrievePostponedItemsNonGreedy(ubyte):this (FullOpts)
         202 (15.84 % of base) : 303633.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.__Canon]:RetrievePostponedItemsGreedyBounded(ubyte):this (FullOpts)
         147 (5.44 % of base) : 90235.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)
         120 (5.59 % of base) : 163774.dasm - Microsoft.CodeAnalysis.NodeStateTable`1+Builder[System.__Canon]:TryModifyEntries(System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon],System.TimeSpan,System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.IncrementalGeneratorRunStep,int]],int):ubyte:this (FullOpts)
         120 (5.59 % of base) : 203636.dasm - Microsoft.CodeAnalysis.NodeStateTable`1+Builder[System.__Canon]:TryModifyEntries(System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon],System.TimeSpan,System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.IncrementalGeneratorRunStep,int]],int):ubyte:this (FullOpts)
         118 (19.03 % of base) : 282397.dasm - System.Linq.Parallel.IntersectQueryOperator`1+OrderedIntersectQueryOperatorEnumerator`1[System.__Canon,System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts)
         106 (3.27 % of base) : 123113.dasm - Microsoft.CodeAnalysis.VisualBasic.ExpressionLambdaRewriter:VisitObjectInitializer(Microsoft.CodeAnalysis.VisualBasic.BoundObjectInitializerExpression):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
          93 (8.97 % of base) : 161699.dasm - Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]:AddIfNotPresent(System.__Canon,byref):ubyte:this (FullOpts)
          93 (8.97 % of base) : 201554.dasm - Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]:AddIfNotPresent(System.__Canon,byref):ubyte:this (FullOpts)
          93 (2.06 % of base) : 167750.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMostSpecific(System.Reflection.MethodBase,System.Reflection.MethodBase,int[],System.Object[],ubyte,int,int,System.Object[]):int:this (FullOpts)
          89 (10.61 % of base) : 210049.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.__Canon,System.Nullable`1[int]]:SetOrAdd(System.__Canon,System.Nullable`1[int],System.Collections.Generic.IComparer`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]],ubyte,byref,byref):System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
          88 (21.31 % of base) : 271219.dasm - System.Collections.Generic.PriorityQueue`2[System.__Canon,System.Nullable`1[int]]:DequeueEnqueue(System.__Canon,System.Nullable`1[int]):System.__Canon:this (FullOpts)
          86 (7.05 % of base) : 154601.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.06 % of base) : 194470.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)
          83 (4.25 % of base) : 286570.dasm - System.Linq.Enumerable+<TakeRangeFromEndIterator>d__290`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          81 (7.69 % of base) : 210220.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:this (FullOpts)
          81 (7.55 % of base) : 282304.dasm - System.Linq.Parallel.ExceptQueryOperator`1+OrderedExceptQueryOperatorEnumerator`1[System.__Canon,System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts)
          77 (0.79 % of base) : 108664.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)
          73 (10.69 % of base) : 245937.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:SetValue(System.String,System.__Canon,byref):System.__Canon:this (FullOpts)
          72 (8.96 % of base) : 211149.dasm - System.Collections.Frozen.KeysAndValuesFrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:.ctor(System.Collections.Generic.Dictionary`2[System.__Canon,System.Nullable`1[int]],ubyte):this (FullOpts)
Top method improvements (bytes):
        -146 (-0.51 % of base) : 167748.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -90 (-1.10 % of base) : 146330.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
         -75 (-2.39 % of base) : 148855.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -61 (-0.55 % of base) : 67090.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromDecisionDag(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundDecisionDag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+PossiblyConditionalState]):Microsoft.CodeAnalysis.PooledObjects.PooledDictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,ubyte]]:this (FullOpts)
         -54 (-0.39 % of base) : 222553.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) : 167762.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -44 (-1.10 % of base) : 146191.dasm - System.Xml.Serialization.XmlSerializationReader:ReadArray(System.String,System.String):System.Array:this (FullOpts)
         -44 (-2.05 % of base) : 141603.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) : 154600.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) : 194469.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)
         -35 (-2.23 % of base) : 287629.dasm - System.Buffers.SequenceReader`1[double]:TryReadTo(byref,double,double,ubyte):ubyte:this (FullOpts)
         -34 (-0.90 % of base) : 124899.dasm - Microsoft.CodeAnalysis.VisualBasic.TypeUnification:CanUnifyHelper(Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeWithModifiers,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeWithModifiers,byref):ubyte (FullOpts)
         -33 (-0.52 % of base) : 67167.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) : 147857.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
         -27 (-1.29 % of base) : 167049.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)
         -27 (-1.40 % of base) : 99659.dasm - System.Speech.Internal.SrgsCompiler.Item:System.Speech.Internal.SrgsParser.IElement.PostParse(System.Speech.Internal.SrgsParser.IElement):this (FullOpts)
         -24 (-0.20 % of base) : 66984.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
         -24 (-2.26 % of base) : 297639.dasm - System.Globalization.FormatProvider+Number:FormatFixed(byref,byref,int,int,System.Globalization.NumberFormatInfo,int[],System.String,System.String) (FullOpts)
         -22 (-1.03 % of base) : 217407.dasm - System.Data.Odbc.OdbcDataReader:RetrieveKeyInfoFromStatistics(System.Data.Odbc.OdbcDataReader+QualifiedTableName,ubyte):int:this (FullOpts)
         -21 (-1.13 % of base) : 193297.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
Top method regressions (percentages):
          34 (212.50 % of base) : 183540.dasm - Microsoft.Build.Shared.FrameworkLocationHelper:GeneratePathToBuildToolsForToolsVersion(System.String,int):System.String (FullOpts)
          35 (94.59 % of base) : 208465.dasm - System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.Nullable`1[int]]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.Nullable`1[int]]]):this (FullOpts)
          35 (94.59 % of base) : 207209.dasm - System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
          16 (84.21 % of base) : 9714.dasm - Microsoft.FSharp.Collections.ArrayModule+Parallel+Reduce@2143[System.__Canon]:Invoke(System.__Canon):System.__Canon:this (FullOpts)
          16 (84.21 % of base) : 2718.dasm - Microsoft.FSharp.Core.ExtraTopLevelOperators+dictRefType@200[System.__Canon]:Invoke(System.__Canon):Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]:this (FullOpts)
          16 (84.21 % of base) : 2729.dasm - Microsoft.FSharp.Core.ExtraTopLevelOperators+dictRefType@200-1[System.__Canon]:Invoke(Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]):System.__Canon:this (FullOpts)
          15 (78.95 % of base) : 165016.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:get_Keys():Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder+KeyCollection[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
          15 (78.95 % of base) : 204870.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:get_Keys():Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder+KeyCollection[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
          15 (78.95 % of base) : 176759.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:get_Values():Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder+ValueCollection[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
          15 (78.95 % of base) : 204871.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:get_Values():Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder+ValueCollection[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
          15 (78.95 % of base) : 161797.dasm - Microsoft.CodeAnalysis.Collections.SegmentedList`1[System.__Canon]:get_Capacity():int:this (FullOpts)
          15 (78.95 % of base) : 176255.dasm - Microsoft.CodeAnalysis.Collections.SegmentedList`1[System.__Canon]:get_Capacity():int:this (FullOpts)
          15 (78.95 % of base) : 201652.dasm - Microsoft.CodeAnalysis.Collections.SegmentedList`1[System.__Canon]:get_Capacity():int:this (FullOpts)
          15 (78.95 % of base) : 151451.dasm - Microsoft.CodeAnalysis.SmallDictionary`2[System.__Canon,System.Nullable`1[int]]:get_Keys():Microsoft.CodeAnalysis.SmallDictionary`2+KeyCollection[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
          15 (78.95 % of base) : 151452.dasm - Microsoft.CodeAnalysis.SmallDictionary`2[System.__Canon,System.Nullable`1[int]]:get_Values():Microsoft.CodeAnalysis.SmallDictionary`2+ValueCollection[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
          15 (78.95 % of base) : 191391.dasm - Microsoft.CodeAnalysis.SmallDictionary`2[System.__Canon,System.Nullable`1[int]]:get_Values():Microsoft.CodeAnalysis.SmallDictionary`2+ValueCollection[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
          15 (78.95 % of base) : 162815.dasm - Roslyn.Utilities.ImmutableSetWithInsertionOrder`1+<>c[System.__Canon]:<get_InInsertionOrder>b__10_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,uint]):uint:this (FullOpts)
          15 (78.95 % of base) : 162816.dasm - Roslyn.Utilities.ImmutableSetWithInsertionOrder`1+<>c[System.__Canon]:<get_InInsertionOrder>b__10_1(System.Collections.Generic.KeyValuePair`2[System.__Canon,uint]):System.__Canon:this (FullOpts)
          15 (78.95 % of base) : 202710.dasm - Roslyn.Utilities.ImmutableSetWithInsertionOrder`1+<>c[System.__Canon]:<get_InInsertionOrder>b__10_1(System.Collections.Generic.KeyValuePair`2[System.__Canon,uint]):System.__Canon:this (FullOpts)
          15 (78.95 % of base) : 210150.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node+<>c[System.__Canon,System.Nullable`1[int]]:<get_Keys>b__30_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Nullable`1[int]]):System.__Canon:this (FullOpts)
Top method improvements (percentages):
         -18 (-7.23 % of base) : 79594.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ConsumeRemainingContentThroughNewLine(System.Text.StringBuilder,System.ReadOnlySpan`1[ushort],int):int (FullOpts)
         -17 (-6.25 % of base) : 127248.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) : 124444.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) : 164585.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerFileReference+Extensions`1[System.__Canon]:CheckAssemblyReferencesNewerCompiler(System.Reflection.Assembly):ubyte:this (FullOpts)
         -15 (-4.93 % of base) : 204426.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerFileReference+Extensions`1[System.__Canon]:CheckAssemblyReferencesNewerCompiler(System.Reflection.Assembly):ubyte:this (FullOpts)
          -5 (-4.10 % of base) : 298319.dasm - System.Runtime.Serialization.ObjectHolderListEnumerator:MoveNext():ubyte:this (FullOpts)
         -14 (-3.98 % of base) : 293243.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
          -2 (-3.03 % of base) : 65627.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
          -6 (-2.90 % of base) : 103024.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.NamespaceSymbol:LookupNestedNamespace(System.Collections.Immutable.ImmutableArray`1[System.String]):Microsoft.CodeAnalysis.VisualBasic.Symbols.NamespaceSymbol:this (FullOpts)
         -11 (-2.73 % of base) : 241306.dasm - System.Security.Cryptography.CryptoConfig:AddOID(System.String,System.String[]) (FullOpts)
         -13 (-2.49 % of base) : 233855.dasm - System.Xml.XmlConverter:TryParseInt64(ubyte[],int,int,byref):ubyte (FullOpts)
         -75 (-2.39 % of base) : 148855.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -24 (-2.26 % of base) : 297639.dasm - System.Globalization.FormatProvider+Number:FormatFixed(byref,byref,int,int,System.Globalization.NumberFormatInfo,int[],System.String,System.String) (FullOpts)
         -11 (-2.24 % of base) : 241303.dasm - System.Security.Cryptography.CryptoConfig:AddAlgorithm(System.Type,System.String[]) (FullOpts)
          -4 (-2.23 % of base) : 256149.dasm - Xunit.Sdk.SerializationHelper:SubstringTrim(System.String,int,int):System.String (FullOpts)
          -4 (-2.23 % of base) : 257295.dasm - Xunit.SerializationHelper:SubstringTrim(System.String,int,int):System.String (FullOpts)
         -35 (-2.23 % of base) : 287629.dasm - System.Buffers.SequenceReader`1[double]:TryReadTo(byref,double,double,ubyte):ubyte:this (FullOpts)
          -2 (-2.17 % of base) : 155147.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
          -2 (-2.17 % of base) : 195007.dasm - Microsoft.CodeAnalysis.XmlCharType:IsPublicId(System.String):int (FullOpts)
          -8 (-2.09 % of base) : 252285.dasm - Internal.JitInterface.CorInfoImpl:allocUnwindInfo(ulong,ulong,uint,uint,uint,ulong,int):this (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: 278258792 (overridden on cmd)
Total bytes of diff: 278287604 (overridden on cmd)
Total bytes of delta: 28812 (0.01 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         620 : 92637.dasm (4.61 % of base)
         585 : 644436.dasm (4.37 % of base)
         553 : 69867.dasm (5.09 % of base)
         502 : 318042.dasm (3.50 % of base)
         484 : 73107.dasm (4.38 % of base)
         444 : 15722.dasm (4.08 % of base)
         436 : 65613.dasm (2.39 % of base)
         431 : 58774.dasm (2.25 % of base)
         430 : 37597.dasm (4.06 % of base)
         423 : 161641.dasm (10.39 % of base)
         416 : 613154.dasm (3.47 % of base)
         413 : 624020.dasm (3.42 % of base)
         412 : 78803.dasm (3.87 % of base)
         406 : 289844.dasm (3.16 % of base)
         302 : 644438.dasm (4.47 % of base)
         298 : 28025.dasm (4.47 % of base)
         276 : 88063.dasm (1.44 % of base)
         266 : 24928.dasm (4.02 % of base)
         262 : 78870.dasm (3.87 % of base)
         252 : 570963.dasm (2.61 % of base)
Top file improvements (bytes):
       -1015 : 53779.dasm (-9.93 % of base)
        -730 : 594682.dasm (-8.54 % of base)
        -730 : 594021.dasm (-8.54 % of base)
        -637 : 586131.dasm (-6.44 % of base)
        -628 : 594114.dasm (-7.36 % of base)
        -628 : 591758.dasm (-7.36 % of base)
        -610 : 594603.dasm (-6.94 % of base)
        -610 : 592973.dasm (-6.94 % of base)
        -610 : 593338.dasm (-6.94 % of base)
        -610 : 594337.dasm (-6.94 % of base)
        -610 : 594553.dasm (-6.93 % of base)
        -610 : 594593.dasm (-6.94 % of base)
        -610 : 593071.dasm (-6.94 % of base)
        -610 : 593134.dasm (-6.94 % of base)
        -610 : 594359.dasm (-6.94 % of base)
        -610 : 594471.dasm (-6.94 % of base)
        -610 : 594689.dasm (-6.94 % of base)
        -610 : 592788.dasm (-6.94 % of base)
        -610 : 593371.dasm (-6.94 % of base)
        -610 : 593572.dasm (-6.94 % of base)
77 total files with Code Size differences (36 improved, 41 regressed), 20 unchanged.
Top method regressions (bytes):
         620 (4.61 % of base) : 92637.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MemberSignatureComparer:Equals(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.Symbol):ubyte:this (Tier1)
         585 (4.37 % of base) : 644436.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)
         553 (5.09 % of base) : 69867.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)
         502 (3.50 % of base) : 318042.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         484 (4.38 % of base) : 73107.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)
         444 (4.08 % of base) : 15722.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)
         436 (2.39 % of base) : 65613.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeTypeParameters(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol]:this (Tier1)
         431 (2.25 % of base) : 58774.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)
         430 (4.06 % of base) : 37597.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)
         423 (10.39 % of base) : 161641.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)
         416 (3.47 % of base) : 613154.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (Tier1-OSR)
         413 (3.42 % of base) : 624020.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodBodies(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.PdbWriter,byref):int[]:this (Tier1)
         412 (3.87 % of base) : 78803.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)
         406 (3.16 % of base) : 289844.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
         302 (4.47 % of base) : 644438.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)
         298 (4.47 % of base) : 28025.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)
         276 (1.44 % of base) : 88063.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)
         266 (4.02 % of base) : 24928.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)
         262 (3.87 % of base) : 78870.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)
         252 (2.61 % of base) : 570963.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.__Canon]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
Top method improvements (bytes):
       -1015 (-9.93 % of base) : 53779.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)
        -730 (-8.54 % of base) : 594682.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyIDictionary_BackedBy_DictionaryOfStringToJsonElementWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -730 (-8.54 % of base) : 594021.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyIDictionaryOfStringToInt_BackedBy_DictionaryOfStringToIntWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -637 (-6.44 % of base) : 586131.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.__Canon]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -628 (-7.36 % of base) : 591758.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyStackWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -628 (-7.36 % of base) : 594114.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+StructWithWritablePropertyStructSetOfIntWithNumberHandlingWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 594603.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyConcurrentQueueOfIntWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 593338.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyDictionaryOfStringToIntWithNumberHandlingWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 592788.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyICollectionOfInt_BackedBy_ListOfIntWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 594593.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyIDictionaryOfStringToInt_BackedBy_StructDictionaryOfStringToIntWithNumberHandlingWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 593134.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyIList_BackedBy_ListOfJsonElementWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 593572.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyIListOfInt_BackedBy_ListOfIntWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 593071.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyISetOfInt_BackedBy_HashSetOfIntWithNumberHandlingWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 594359.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyListOfIntWithNumberHandlingWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 594337.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyQueueWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 593789.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertySortedDictionaryOfStringToIntWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 593371.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyStackOfIntWithNumberHandlingWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.93 % of base) : 594553.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+StructWithWritableFieldNullableStructListOfIntWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 594471.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+StructWithWritableFieldStructCollectionOfIntWithNumberHandlingWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 594689.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+StructWithWritablePropertyStructDictionaryOfStringToIntWithNumberHandlingWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
Top method regressions (percentages):
          33 (132.00 % of base) : 298387.dasm - Microsoft.DotNet.XUnitExtensions.DiscovererHelpers:TestPlatformApplies(int):ubyte (Tier1)
          35 (94.59 % of base) : 43484.dasm - System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]):this (Tier1)
          35 (94.59 % of base) : 46083.dasm - System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (Tier1)
          15 (78.95 % of base) : 58626.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder[System.__Canon,System.__Canon]:get_Keys():Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2+Builder+KeyCollection[System.__Canon,System.__Canon]:this (Tier1)
          15 (78.95 % of base) : 59974.dasm - Roslyn.Utilities.ImmutableSetWithInsertionOrder`1+<>c[System.__Canon]:<get_InInsertionOrder>b__10_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,uint]):uint:this (Tier1)
          15 (78.95 % of base) : 59977.dasm - Roslyn.Utilities.ImmutableSetWithInsertionOrder`1+<>c[System.__Canon]:<get_InInsertionOrder>b__10_1(System.Collections.Generic.KeyValuePair`2[System.__Canon,uint]):System.__Canon:this (Tier1)
          15 (78.95 % of base) : 593143.dasm - System.Text.Json.Serialization.Tests.StructDictionary`2+<>c[System.__Canon,System.Text.Json.JsonElement]:<.ctor>b__3_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Text.Json.JsonElement]):System.__Canon:this (Tier1)
          15 (78.95 % of base) : 27952.dasm - System.Threading.Tasks.Task`1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.TaskAwaiter`1[System.__Canon]:this (Instrumented Tier1)
          15 (78.95 % of base) : 48490.dasm - System.Threading.Tasks.Task`1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.TaskAwaiter`1[System.__Canon]:this (Tier1)
          15 (75.00 % of base) : 161379.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node+<>c[System.__Canon,System.__Canon]:<get_Values>b__32_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):System.__Canon:this (Tier1)
          15 (65.22 % of base) : 53867.dasm - Microsoft.CodeAnalysis.NodeStateTable`1[System.__Canon]:get_Count():int:this (Tier1)
          22 (56.41 % of base) : 607822.dasm - Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]):this (Tier1)
          22 (56.41 % of base) : 53345.dasm - Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]):this (Tier1)
          22 (56.41 % of base) : 86925.dasm - Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]):this (Tier1)
          22 (56.41 % of base) : 158977.dasm - Microsoft.CodeAnalysis.BindingDiagnosticBag`1[System.__Canon]:AddDependencies(Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[System.__Canon]):this (Tier1)
          25 (52.08 % of base) : 351596.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          25 (52.08 % of base) : 482748.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          25 (52.08 % of base) : 653780.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          25 (52.08 % of base) : 378448.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
          25 (52.08 % of base) : 533576.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (Tier1)
Top method improvements (percentages):
         -23 (-10.45 % of base) : 210017.dasm - System.IO.BinaryWriter:Write7BitEncodedInt(int):this (Tier1)
       -1015 (-9.93 % of base) : 53779.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)
        -730 (-8.54 % of base) : 594682.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyIDictionary_BackedBy_DictionaryOfStringToJsonElementWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -730 (-8.54 % of base) : 594021.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyIDictionaryOfStringToInt_BackedBy_DictionaryOfStringToIntWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
         -53 (-7.82 % of base) : 380526.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -51 (-7.50 % of base) : 401814.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
         -53 (-7.37 % of base) : 535522.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this (Tier1)
        -628 (-7.36 % of base) : 591758.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyStackWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -628 (-7.36 % of base) : 594114.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+StructWithWritablePropertyStructSetOfIntWithNumberHandlingWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 594603.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyConcurrentQueueOfIntWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 593338.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyDictionaryOfStringToIntWithNumberHandlingWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 592788.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyICollectionOfInt_BackedBy_ListOfIntWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 594593.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyIDictionaryOfStringToInt_BackedBy_StructDictionaryOfStringToIntWithNumberHandlingWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 593134.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyIList_BackedBy_ListOfJsonElementWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 593572.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyIListOfInt_BackedBy_ListOfIntWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 593071.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyISetOfInt_BackedBy_HashSetOfIntWithNumberHandlingWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 594359.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyListOfIntWithNumberHandlingWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 594337.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyQueueWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 593789.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertySortedDictionaryOfStringToIntWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (Tier1)
        -610 (-6.94 % of base) : 593371.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Text.Json.Serialization.Tests.JsonCreationHandlingTests+ClassWithReadOnlyPropertyStackOfIntWithNumberHandlingWithoutPopulateAttribute]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte: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: 135861173 (overridden on cmd)
Total bytes of diff: 135879962 (overridden on cmd)
Total bytes of delta: 18789 (0.01 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         294 : 43916.dasm (3.87 % of base)
         294 : 49588.dasm (3.87 % of base)
         265 : 5136.dasm (3.50 % of base)
         147 : 5864.dasm (5.22 % of base)
         127 : 290887.dasm (3.95 % of base)
         120 : 80125.dasm (3.22 % of base)
         114 : 5413.dasm (7.64 % of base)
         100 : 70939.dasm (15.22 % of base)
          93 : 5223.dasm (8.97 % of base)
          90 : 80063.dasm (5.78 % of base)
          90 : 80114.dasm (5.56 % of base)
          85 : 53474.dasm (4.25 % of base)
          83 : 147323.dasm (4.25 % of base)
          81 : 74455.dasm (7.58 % of base)
          76 : 78727.dasm (27.54 % of base)
          73 : 254770.dasm (10.69 % of base)
          72 : 49829.dasm (5.32 % of base)
          72 : 44118.dasm (5.32 % of base)
          68 : 19281.dasm (2.52 % of base)
          66 : 77894.dasm (15.42 % of base)
Top file improvements (bytes):
        -154 : 60205.dasm (-0.54 % of base)
        -151 : 15937.dasm (-2.65 % of base)
        -124 : 49830.dasm (-4.30 % of base)
        -124 : 44119.dasm (-4.30 % of base)
        -105 : 45218.dasm (-1.59 % of base)
         -90 : 63556.dasm (-1.10 % of base)
         -73 : 51078.dasm (-1.15 % of base)
         -67 : 52626.dasm (-1.60 % of base)
         -61 : 25632.dasm (-2.11 % of base)
         -60 : 293717.dasm (-1.78 % of base)
         -51 : 275414.dasm (-2.25 % of base)
         -51 : 60204.dasm (-0.84 % of base)
         -47 : 290910.dasm (-2.91 % of base)
         -46 : 8602.dasm (-2.81 % of base)
         -44 : 63177.dasm (-1.12 % of base)
         -37 : 54945.dasm (-0.54 % of base)
         -34 : 303825.dasm (-1.65 % of base)
         -32 : 178081.dasm (-1.58 % of base)
         -32 : 210628.dasm (-0.72 % of base)
         -31 : 25121.dasm (-0.29 % of base)
88 total files with Code Size differences (36 improved, 52 regressed), 20 unchanged.
Top method regressions (bytes):
         294 (3.87 % of base) : 43916.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)
         294 (3.87 % of base) : 49588.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)
         265 (3.50 % of base) : 5136.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)
         147 (5.22 % of base) : 5864.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)
         127 (3.95 % of base) : 290887.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3728_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         120 (3.22 % of base) : 80125.dasm - System.Collections.Tests.LinkedList_Generic_Tests`1[System.__Canon]:AddBefore_LLNode_LLNode():this (FullOpts)
         114 (7.64 % of base) : 5413.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:Bind(System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.PEModule],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]],Microsoft.CodeAnalysis.MetadataReferenceResolver,ubyte,ubyte,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag,byref,byref):Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][]:this (FullOpts)
         100 (15.22 % of base) : 70939.dasm - System.Collections.Frozen.KeysAndValuesFrozenDictionary`2[byte,System.__Canon]:.ctor(System.Collections.Generic.Dictionary`2[byte,System.__Canon],ubyte):this (FullOpts)
          93 (8.97 % of base) : 5223.dasm - Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]:AddIfNotPresent(System.__Canon,byref):ubyte:this (FullOpts)
          90 (5.56 % of base) : 80114.dasm - System.Collections.Tests.LinkedList_Generic_Tests`1[System.__Canon]:AddFirst_LinkedListNode():this (FullOpts)
          90 (5.78 % of base) : 80063.dasm - System.Collections.Tests.LinkedList_Generic_Tests`1[System.__Canon]:AddLast_LinkedListNode():this (FullOpts)
          85 (4.25 % of base) : 53474.dasm - Microsoft.CodeAnalysis.Emit.PEModuleBuilder`9+<GetTopLevelTypeDefinitions>d__23[System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          83 (4.25 % of base) : 147323.dasm - System.Linq.Enumerable+<TakeRangeFromEndIterator>d__290`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          81 (7.58 % of base) : 74455.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:this (FullOpts)
          76 (27.54 % of base) : 78727.dasm - System.Collections.Generic.PriorityQueue`2[System.__Canon,int]:DequeueEnqueue(System.__Canon,int):System.__Canon:this (FullOpts)
          73 (10.69 % of base) : 254770.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:SetValue(System.String,System.__Canon,byref):System.__Canon:this (FullOpts)
          72 (5.32 % of base) : 49829.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)
          72 (5.32 % of base) : 44118.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)
          68 (2.52 % of base) : 19281.dasm - Microsoft.CodeAnalysis.NodeStateTable`1+Builder[System.ValueTuple`2[System.__Canon,int]]:TryModifyEntries(System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.__Canon,int]],System.Collections.Generic.IEqualityComparer`1[System.ValueTuple`2[System.__Canon,int]],System.TimeSpan,System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.IncrementalGeneratorRunStep,int]],int):ubyte:this (FullOpts)
          66 (15.42 % of base) : 77894.dasm - System.Collections.Generic.PriorityQueue`2[System.__Canon,System.__Canon]:DequeueEnqueue(System.__Canon,System.__Canon):System.__Canon:this (FullOpts)
Top method improvements (bytes):
        -154 (-0.54 % of base) : 60205.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        -151 (-2.65 % of base) : 15937.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)
        -124 (-4.30 % of base) : 49830.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)
        -124 (-4.30 % of base) : 44119.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)
        -105 (-1.59 % of base) : 45218.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) : 63556.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
         -73 (-1.15 % of base) : 51078.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)
         -67 (-1.60 % of base) : 52626.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) : 25632.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         -60 (-1.78 % of base) : 293717.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3069_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -51 (-0.84 % of base) : 60204.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
         -51 (-2.25 % of base) : 275414.dasm - System.Text.Json.Serialization.Tests.StreamTests+<DeepNestedJsonFileTest>d__68:MoveNext():this (FullOpts)
         -47 (-2.91 % of base) : 290910.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1567_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -46 (-2.81 % of base) : 8602.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)
         -44 (-1.12 % of base) : 63177.dasm - System.Xml.Serialization.XmlSerializationReader:ReadArray(System.String,System.String):System.Array:this (FullOpts)
         -37 (-0.54 % of base) : 54945.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)
         -34 (-1.65 % of base) : 303825.dasm - System.Text.RegularExpressions.Tests.CustomDerivedRegex+CustomRegexRunnerFactory+CustomRegexRunner:Go():this (FullOpts)
         -32 (-0.72 % of base) : 210628.dasm - (dynamicClass):ReadWithNullablesFromXml(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.XmlObjectSerializerReadContext,System.Xml.XmlDictionaryString[],System.Xml.XmlDictionaryString[]):System.Object (FullOpts)
         -32 (-1.58 % of base) : 178081.dasm - System.Xml.Xsl.Xslt.XsltInput:GetAttributes(System.Xml.Xsl.Xslt.XsltInput+XsltAttribute[]):System.Xml.Xsl.Xslt.XsltInput+ContextInfo:this (FullOpts)
         -31 (-0.29 % of base) : 25121.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
Top method regressions (percentages):
          35 (94.59 % of base) : 2406.dasm - System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Text.TextSpan]]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Text.TextSpan]]]):this (FullOpts)
          35 (94.59 % of base) : 2888.dasm - System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
          47 (87.04 % of base) : 80811.dasm - System.Collections.Generic.SortedList`2[System.__Canon,System.__Canon]:Clear():this (FullOpts)
          15 (78.95 % of base) : 10917.dasm - Roslyn.Utilities.ImmutableSetWithInsertionOrder`1+<>c[System.__Canon]:<get_InInsertionOrder>b__10_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,uint]):uint:this (FullOpts)
          15 (78.95 % of base) : 10918.dasm - Roslyn.Utilities.ImmutableSetWithInsertionOrder`1+<>c[System.__Canon]:<get_InInsertionOrder>b__10_1(System.Collections.Generic.KeyValuePair`2[System.__Canon,uint]):System.__Canon:this (FullOpts)
          15 (78.95 % of base) : 69964.dasm - System.Collections.Frozen.Tests.FrozenFromKnownValuesTests+<>c__7`2[int,System.__Canon]:<FrozenSetWorker>b__7_0(System.Collections.Generic.KeyValuePair`2[int,System.__Canon]):int:this (FullOpts)
          15 (78.95 % of base) : 70572.dasm - System.Collections.Frozen.Tests.FrozenFromKnownValuesTests+<>c__7`2[System.__Canon,System.__Canon]:<FrozenSetWorker>b__7_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):System.__Canon:this (FullOpts)
          15 (78.95 % of base) : 70198.dasm - System.Collections.Frozen.Tests.FrozenFromKnownValuesTests+<>c__7`2[uint,System.__Canon]:<FrozenSetWorker>b__7_0(System.Collections.Generic.KeyValuePair`2[uint,System.__Canon]):uint:this (FullOpts)
          15 (78.95 % of base) : 73352.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node+<>c[System.__Canon,int]:<get_Keys>b__30_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,int]):System.__Canon:this (FullOpts)
          15 (78.95 % of base) : 73303.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node+<>c[System.__Canon,int]:<get_Values>b__32_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,int]):int:this (FullOpts)
          15 (78.95 % of base) : 69137.dasm - System.Collections.Tests.IDictionary_Generic_Tests`2+<>c[System.__Canon,System.__Canon]:<IDictionary_Generic_Keys_ContainsAllCorrectKeys>b__33_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):System.__Canon:this (FullOpts)
          15 (78.95 % of base) : 140574.dasm - System.Linq.AggregationMinMaxHelpers`1+<>c[System.__Canon]:<MakeResultSelectorFunction>b__5_0(System.Linq.Parallel.Pair`2[ubyte,System.__Canon]):System.__Canon:this (FullOpts)
          15 (78.95 % of base) : 272715.dasm - System.Text.Json.Serialization.Tests.StructDictionary`2+<>c[System.__Canon,System.Text.Json.JsonElement]:<.ctor>b__3_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Text.Json.JsonElement]):System.__Canon:this (FullOpts)
          15 (78.95 % of base) : 262256.dasm - System.Text.Json.Serialization.Tests.StructDictionary`2+<>c[System.__Canon,System.Text.Json.JsonElement]:<.ctor>b__3_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Text.Json.JsonElement]):System.__Canon:this (FullOpts)
          15 (78.95 % of base) : 3495.dasm - System.Threading.Tasks.Task`1[System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:GetAwaiter():System.Runtime.CompilerServices.TaskAwaiter`1[System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:this (FullOpts)
          15 (75.00 % of base) : 37000.dasm - Grace.Data.Immutable.ImmutableHashTree`2+<>c[System.__Canon,System.__Canon]:<get_Values>b__22_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):System.__Canon:this (FullOpts)
          15 (75.00 % of base) : 72490.dasm - System.Collections.Frozen.Tests.FrozenDictionary_Generic_Tests`2+<>c[System.__Canon,System.__Canon]:<LookupItems_AllItemsFoundAsExpected>b__33_1(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):System.__Canon:this (FullOpts)
          15 (75.00 % of base) : 70271.dasm - System.Collections.Frozen.Tests.FrozenFromKnownValuesTests+<>c__7`2[System.TimeSpan,System.__Canon]:<FrozenSetWorker>b__7_0(System.Collections.Generic.KeyValuePair`2[System.TimeSpan,System.__Canon]):System.TimeSpan:this (FullOpts)
          15 (75.00 % of base) : 70132.dasm - System.Collections.Frozen.Tests.FrozenFromKnownValuesTests+<>c__7`2[ubyte,System.__Canon]:<FrozenSetWorker>b__7_0(System.Collections.Generic.KeyValuePair`2[ubyte,System.__Canon]):ubyte:this (FullOpts)
          15 (75.00 % of base) : 70247.dasm - System.Collections.Frozen.Tests.FrozenFromKnownValuesTests+<>c__7`2[ulong,System.__Canon]:<FrozenSetWorker>b__7_0(System.Collections.Generic.KeyValuePair`2[ulong,System.__Canon]):ulong:this (FullOpts)
Top method improvements (percentages):
        -124 (-4.30 % of base) : 49830.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)
        -124 (-4.30 % of base) : 44119.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)
          -5 (-4.10 % of base) : 40051.dasm - System.Runtime.Serialization.ObjectHolderListEnumerator:MoveNext():ubyte:this (FullOpts)
         -14 (-3.98 % of base) : 159917.dasm - System.Net.WebSockets.ManagedWebSocket:WriteHeader(ubyte,ubyte[],System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
         -13 (-3.95 % of base) : 153593.dasm - System.SpanTests.SpanTests:StartsWithNoMatch_Byte() (FullOpts)
         -29 (-3.15 % of base) : 290912.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1569_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -9 (-3.05 % of base) : 150971.dasm - System.SpanTests.ReadOnlySpanTests:EndsWithNoMatch_Byte() (FullOpts)
          -9 (-3.05 % of base) : 153655.dasm - System.SpanTests.SpanTests:EndsWithNoMatch_Byte() (FullOpts)
          -2 (-3.03 % of base) : 12682.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
          -2 (-3.03 % of base) : 51299.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:IsInDocumentationComment(Microsoft.CodeAnalysis.SyntaxNode):ubyte (FullOpts)
          -9 (-2.99 % of base) : 151344.dasm - System.SpanTests.ReadOnlySpanTests:StartsWithNoMatch_Byte() (FullOpts)
         -47 (-2.91 % of base) : 290910.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1567_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -6 (-2.90 % of base) : 50412.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) : 44466.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) : 150686.dasm - System.SpanTests.ReadOnlySpanTests:StartsWithNoMatch_Long() (FullOpts)
          -8 (-2.83 % of base) : 153454.dasm - System.SpanTests.SpanTests:StartsWithNoMatch_Long() (FullOpts)
         -46 (-2.81 % of base) : 8602.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)
          -8 (-2.70 % of base) : 152217.dasm - System.SpanTests.SpanTests:StartsWithNoMatch_Char() (FullOpts)
          -8 (-2.66 % of base) : 153358.dasm - System.SpanTests.SpanTests:EndsWithNoMatch_Char() (FullOpts)
        -151 (-2.65 % of base) : 15937.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)
  
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: 13740634 (overridden on cmd)
Total bytes of diff: 13745331 (overridden on cmd)
Total bytes of delta: 4697 (0.03 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         280 : 20823.dasm (3.74 % of base)
         149 : 21271.dasm (5.17 % of base)
         101 : 35814.dasm (6.57 % of base)
          94 : 16195.dasm (2.14 % of base)
          93 : 20936.dasm (8.97 % of base)
          72 : 21268.dasm (5.32 % of base)
          55 : 34685.dasm (10.04 % of base)
          54 : 17410.dasm (4.42 % of base)
          54 : 7100.dasm (14.56 % of base)
          51 : 31535.dasm (2.90 % of base)
          50 : 29572.dasm (5.15 % of base)
          46 : 18148.dasm (5.26 % of base)
          43 : 16284.dasm (11.05 % of base)
          43 : 3021.dasm (13.69 % of base)
          42 : 35811.dasm (12.57 % of base)
          39 : 16610.dasm (1.25 % of base)
          37 : 21195.dasm (8.55 % of base)
          35 : 18951.dasm (94.59 % of base)
          35 : 19001.dasm (94.59 % of base)
          35 : 34863.dasm (4.92 % of base)
Top file improvements (bytes):
        -128 : 15241.dasm (-6.24 % of base)
         -33 : 22521.dasm (-0.53 % of base)
         -24 : 28048.dasm (-0.20 % of base)
         -21 : 11577.dasm (-0.22 % of base)
         -19 : 18473.dasm (-0.51 % of base)
         -19 : 22356.dasm (-0.41 % of base)
         -18 : 15872.dasm (-0.38 % of base)
         -17 : 28772.dasm (-1.86 % of base)
         -14 : 270.dasm (-2.89 % of base)
         -14 : 36200.dasm (-0.05 % of base)
         -14 : 18990.dasm (-0.77 % of base)
         -14 : 5348.dasm (-0.22 % of base)
         -13 : 16002.dasm (-0.80 % of base)
         -13 : 34750.dasm (-0.13 % of base)
         -11 : 34902.dasm (-0.35 % of base)
          -9 : 26973.dasm (-0.63 % of base)
          -8 : 1639.dasm (-0.31 % of base)
          -8 : 30107.dasm (-0.41 % of base)
          -8 : 31489.dasm (-0.38 % of base)
          -7 : 8777.dasm (-0.22 % of base)
81 total files with Code Size differences (32 improved, 49 regressed), 20 unchanged.
Top method regressions (bytes):
         280 (3.74 % of base) : 20823.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:ResolveMetadataReferences(System.__Canon,System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon],byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CommonReferenceManager`2+ResolvedReference[System.__Canon,System.__Canon]]:this (FullOpts)
         149 (5.17 % of base) : 21271.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)
         101 (6.57 % of base) : 35814.dasm - Microsoft.ApplicationInsights.Metrics.ConcurrentDatastructures.MultidimensionalCube2`1[System.__Canon]:TryCreatePoint(System.String[],System.String):Microsoft.ApplicationInsights.Metrics.ConcurrentDatastructures.MultidimensionalPointResult`1[System.__Canon]:this (FullOpts)
          94 (2.14 % of base) : 16195.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)
          93 (8.97 % of base) : 20936.dasm - Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1[System.__Canon]:AddIfNotPresent(System.__Canon,byref):ubyte:this (FullOpts)
          72 (5.32 % of base) : 21268.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)
          55 (10.04 % of base) : 34685.dasm - System.Management.Automation.Interpreter.HybridReferenceDictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this (FullOpts)
          54 (4.42 % of base) : 17410.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.Net.Http.HttpConnectionPoolManager+HttpConnectionKey,System.__Canon]:TryGetValue(System.Net.Http.HttpConnectionPoolManager+HttpConnectionKey,byref):ubyte:this (FullOpts)
          54 (14.56 % of base) : 7100.dasm - System.Collections.Generic.Dictionary`2[System.__Canon,FSharp.Compiler.Text.Range]:CopyTo(System.Collections.Generic.KeyValuePair`2[System.__Canon,FSharp.Compiler.Text.Range][],int):this (FullOpts)
          51 (2.90 % of base) : 31535.dasm - Microsoft.CodeAnalysis.Emit.PEModuleBuilder`9+<GetTopLevelTypeDefinitions>d__23[System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon]:MoveNext():ubyte:this (FullOpts)
          50 (5.15 % of base) : 29572.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitBinaryOperator(Microsoft.CodeAnalysis.CSharp.BoundBinaryOperator,Microsoft.CodeAnalysis.CSharp.BoundUnaryOperator):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
          46 (5.26 % of base) : 18148.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)
          43 (11.05 % of base) : 16284.dasm - System.Collections.Concurrent.ConcurrentBag`1[System.__Canon]:TrySteal(byref,ubyte):ubyte:this (FullOpts)
          43 (13.69 % of base) : 3021.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,System.__Canon]:TryGetValue(int,byref):ubyte:this (FullOpts)
          42 (12.57 % of base) : 35811.dasm - Microsoft.ApplicationInsights.Metrics.ConcurrentDatastructures.MultidimensionalCube2`1[System.__Canon]:TryGetOrCreatePoint(System.String[]):Microsoft.ApplicationInsights.Metrics.ConcurrentDatastructures.MultidimensionalPointResult`1[System.__Canon]:this (FullOpts)
          39 (1.25 % of base) : 16610.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)
          37 (8.55 % of base) : 21195.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2+AssemblyDataForAssemblyBeingBuilt[System.__Canon,System.__Canon]:BindAssemblyReferences(System.Collections.Immutable.ImmutableArray`1[System.__Canon],Microsoft.CodeAnalysis.AssemblyIdentityComparer):Microsoft.CodeAnalysis.CommonReferenceManager`2+AssemblyReferenceBinding[System.__Canon,System.__Canon][]:this (FullOpts)
          35 (94.59 % of base) : 19001.dasm - System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,int]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,int]]):this (FullOpts)
          35 (94.59 % of base) : 18951.dasm - System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
          35 (4.92 % of base) : 34863.dasm - System.Management.Automation.Interpreter.ThreadLocal`1[System.__Canon]:CreateStorageInfo():System.Management.Automation.Interpreter.ThreadLocal`1+StorageInfo[System.__Canon]:this (FullOpts)
Top method improvements (bytes):
        -128 (-6.24 % of base) : 15241.dasm - SixLabors.ImageSharp.Compression.Zlib.DeflaterEngine:FindLongestMatch(int):ubyte:this (FullOpts)
         -33 (-0.53 % of base) : 22521.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)
         -24 (-0.20 % of base) : 28048.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitTupleDeconstructionArguments(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.NullableWalker+DeconstructionVariable],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression]],Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Nullable`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithState]):this (FullOpts)
         -21 (-0.22 % of base) : 11577.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)
         -19 (-0.41 % of base) : 22356.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) : 18473.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) : 15872.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.HuffmanScanDecoder:ParseProgressiveDataNonInterleaved():this (FullOpts)
         -17 (-1.86 % of base) : 28772.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) : 5348.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) : 18990.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
         -14 (-0.05 % of base) : 36200.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)
         -14 (-2.89 % of base) : 270.dasm - System.Reflection.RuntimeAssembly:GetType(System.String,ubyte,ubyte):System.Type:this (FullOpts)
         -13 (-0.80 % of base) : 16002.dasm - Microsoft.ML.Data.TextLoader+Cursor+LineReader:ThreadProc():this (FullOpts)
         -13 (-0.13 % of base) : 34750.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -11 (-0.35 % of base) : 34902.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.63 % of base) : 26973.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)
          -8 (-0.38 % of base) : 31489.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) : 30107.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) : 1639.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -7 (-0.22 % of base) : 8777.dasm - System.Xml.Linq.XContainer+ContentReader:ReadContentFromContainer(System.Xml.Linq.XContainer,System.Xml.XmlReader):ubyte:this (FullOpts)
Top method regressions (percentages):
          35 (94.59 % of base) : 19001.dasm - System.Collections.Immutable.ImmutableDictionary`2+<>c[System.__Canon,int]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,int]]):this (FullOpts)
          35 (94.59 % of base) : 18951.dasm - System.Collections.Immutable.ImmutableHashSet`1+<>c[System.__Canon]:<.cctor>b__91_0(System.Collections.Generic.KeyValuePair`2[int,System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]):this (FullOpts)
          16 (84.21 % of base) : 4642.dasm - Microsoft.FSharp.Collections.ListModule+groupByRefType@560-4[System.__Canon]:Invoke(Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]):System.__Canon:this (FullOpts)
          16 (84.21 % of base) : 3376.dasm - Microsoft.FSharp.Core.ExtraTopLevelOperators+dictRefType@200[System.__Canon]:Invoke(System.__Canon):Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]:this (FullOpts)
          15 (78.95 % of base) : 20853.dasm - Roslyn.Utilities.ImmutableSetWithInsertionOrder`1+<>c[System.__Canon]:<get_InInsertionOrder>b__10_0(System.Collections.Generic.KeyValuePair`2[System.__Canon,uint]):uint:this (FullOpts)
          15 (78.95 % of base) : 20855.dasm - Roslyn.Utilities.ImmutableSetWithInsertionOrder`1+<>c[System.__Canon]:<get_InInsertionOrder>b__10_1(System.Collections.Generic.KeyValuePair`2[System.__Canon,uint]):System.__Canon:this (FullOpts)
          15 (78.95 % of base) : 17475.dasm - System.Threading.Tasks.Task`1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.TaskAwaiter`1[System.__Canon]:this (FullOpts)
          15 (48.39 % of base) : 19120.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:ToImmutable():System.Collections.Immutable.ImmutableArray`1[System.__Canon]:this (FullOpts)
          22 (47.83 % of base) : 20958.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedHashSet`1+Builder[System.__Canon]:ToImmutable():Microsoft.CodeAnalysis.Collections.ImmutableSegmentedHashSet`1[System.__Canon]:this (FullOpts)
          22 (45.83 % of base) : 15098.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (FullOpts)
          16 (44.44 % of base) : 4639.dasm - Microsoft.FSharp.Collections.ListModule+groupByRefType@560-3[System.__Canon,System.__Canon]:Invoke(System.__Canon):Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers+StructBox`1[System.__Canon]:this (FullOpts)
          15 (44.12 % of base) : 2900.dasm - Microsoft.FSharp.Collections.FSharpList`1[System.__Canon]:get_Length():int:this (FullOpts)
          22 (44.00 % of base) : 35316.dasm - System.Collections.Generic.SortedDictionary`2[int,System.__Canon]:Remove(int):ubyte:this (FullOpts)
          15 (42.86 % of base) : 6473.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:AddRange(System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (FullOpts)
          15 (41.67 % of base) : 30685.dasm - Microsoft.CodeAnalysis.Collections.OrderedSet`1[System.__Canon]:System.Collections.Generic.IEnumerable<T>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this (FullOpts)
          16 (39.02 % of base) : 6159.dasm - <StartupCode$FSharp-Compiler-Service>.$Illib+AddMany@1150[System.__Canon,System.__Canon]:Invoke(Internal.Utilities.Library.LayeredMultiMap`2[System.__Canon,System.__Canon],System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):Internal.Utilities.Library.LayeredMultiMap`2[System.__Canon,System.__Canon]:this (FullOpts)
          16 (39.02 % of base) : 6151.dasm - Internal.Utilities.Library.MapAutoOpens+Map-2-AddMany@1137[System.__Canon,System.__Canon]:Invoke(Microsoft.FSharp.Collections.FSharpMap`2[System.__Canon,System.__Canon],System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):Microsoft.FSharp.Collections.FSharpMap`2[System.__Canon,System.__Canon]:this (FullOpts)
          15 (37.50 % of base) : 5860.dasm - Internal.Utilities.Collections.QueueList`1[System.__Canon]:System.Collections.Generic.IEnumerable<'T>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this (FullOpts)
          16 (35.56 % of base) : 9324.dasm - FSharp.Compiler.TypedTreeOps+OfList@90-3[System.__Canon]:Invoke(FSharp.Compiler.TypedTreeOps+ValMap`1[System.__Canon]):FSharp.Compiler.TypedTreeOps+ValMap`1[System.__Canon]:this (FullOpts)
          22 (35.48 % of base) : 19020.dasm - System.Collections.Generic.Stack`1[System.Collections.Immutable.RefAsValueType`1[System.__Canon]]:Pop():System.Collections.Immutable.RefAsValueType`1[System.__Canon]:this (FullOpts)
Top method improvements (percentages):
        -128 (-6.24 % of base) : 15241.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) : 28772.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) : 31062.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.99 % of base) : 8343.dasm - FSharp.Compiler.TypedTreeOps:eliminateDeadTargetsFromMatch[System.__Canon](FSharp.Compiler.TypedTree+DecisionTree,System.__Canon[]):System.Tuple`2[System.__Canon,System.__Canon] (FullOpts)
          -6 (-0.87 % of base) : 33056.dasm - System.Management.Automation.MutableTuple:MakeTupleType(System.Type[],int,int):System.Type (FullOpts)
          -6 (-0.82 % of base) : 27035.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) : 28875.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) : 16002.dasm - Microsoft.ML.Data.TextLoader+Cursor+LineReader:ThreadProc():this (FullOpts)
          -6 (-0.80 % of base) : 2206.dasm - System.Reflection.RuntimeMethodInfo:MakeGenericMethod(System.Type[]):System.Reflection.MethodInfo:this (FullOpts)
         -14 (-0.77 % of base) : 18990.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
          -5 (-0.73 % of base) : 4969.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) : 1864.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (FullOpts)
          -9 (-0.63 % of base) : 26973.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) : 10926.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) : 2964.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.53 % of base) : 22521.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)
          -5 (-0.51 % of base) : 25823.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:FailsConstraintChecks(Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,byref,Microsoft.CodeAnalysis.CompoundUseSiteInfo`1[Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol]):ubyte:this (FullOpts)
         -19 (-0.51 % of base) : 18473.dasm - Microsoft.ML.Transforms.NormalizingTransformer:Train(Microsoft.ML.Runtime.IHostEnvironment,Microsoft.ML.IDataView,Microsoft.ML.Transforms.NormalizingEstimator+ColumnOptionsBase[]):Microsoft.ML.Transforms.NormalizingTransformer (FullOpts)
  
smoke_tests.nativeaot.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 5087315 (overridden on cmd)
Total bytes of diff: 5088326 (overridden on cmd)
Total bytes of delta: 1011 (0.02 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          45 : 20977.dasm (3.73 % of base)
          45 : 15825.dasm (3.73 % of base)
          45 : 16047.dasm (3.73 % of base)
          45 : 18398.dasm (3.71 % of base)
          45 : 18702.dasm (3.71 % of base)
          45 : 21351.dasm (3.73 % of base)
          45 : 3779.dasm (3.68 % of base)
          45 : 3900.dasm (3.68 % of base)
          45 : 507.dasm (3.68 % of base)
          45 : 886.dasm (3.68 % of base)
          42 : 11273.dasm (1.65 % of base)
          42 : 15112.dasm (1.64 % of base)
          36 : 8506.dasm (1.26 % of base)
          32 : 1580.dasm (1.37 % of base)
          32 : 11712.dasm (1.49 % of base)
          32 : 16631.dasm (1.37 % of base)
          32 : 19306.dasm (1.37 % of base)
          32 : 21977.dasm (1.37 % of base)
          32 : 5169.dasm (1.33 % of base)
          32 : 6479.dasm (1.42 % of base)
Top file improvements (bytes):
         -26 : 11377.dasm (-0.30 % of base)
          -9 : 16866.dasm (-0.97 % of base)
          -9 : 1754.dasm (-0.98 % of base)
          -9 : 19576.dasm (-0.97 % of base)
          -9 : 22153.dasm (-0.97 % of base)
          -9 : 4341.dasm (-0.95 % of base)
          -9 : 5628.dasm (-0.98 % of base)
          -8 : 15551.dasm (-0.64 % of base)
          -8 : 18322.dasm (-0.64 % of base)
          -8 : 21038.dasm (-0.64 % of base)
          -8 : 432.dasm (-0.64 % of base)
          -7 : 14571.dasm (-0.80 % of base)
          -7 : 9815.dasm (-0.80 % of base)
          -6 : 16123.dasm (-0.40 % of base)
          -6 : 17024.dasm (-2.52 % of base)
          -6 : 18787.dasm (-0.40 % of base)
          -6 : 1924.dasm (-2.52 % of base)
          -6 : 19669.dasm (-2.52 % of base)
          -6 : 21451.dasm (-0.40 % of base)
          -6 : 22322.dasm (-2.52 % of base)
63 total files with Code Size differences (31 improved, 32 regressed), 20 unchanged.
Top method regressions (bytes):
          45 (3.73 % of base) : 20977.dasm - System.Enum:FormatFlagNames[ubyte](System.Reflection.EnumInfo`1[ubyte],ubyte):System.String (FullOpts)
          45 (3.73 % of base) : 15825.dasm - System.Enum:FormatFlagNames[ubyte](System.Reflection.EnumInfo`1[ubyte],ubyte):System.String (FullOpts)
          45 (3.71 % of base) : 18398.dasm - System.Enum:FormatFlagNames[ubyte](System.Reflection.EnumInfo`1[ubyte],ubyte):System.String (FullOpts)
          45 (3.68 % of base) : 3779.dasm - System.Enum:FormatFlagNames[ubyte](System.Reflection.EnumInfo`1[ubyte],ubyte):System.String (FullOpts)
          45 (3.68 % of base) : 507.dasm - System.Enum:FormatFlagNames[ubyte](System.Reflection.EnumInfo`1[ubyte],ubyte):System.String (FullOpts)
          45 (3.73 % of base) : 16047.dasm - System.Enum:FormatFlagNames[ushort](System.Reflection.EnumInfo`1[ushort],ushort):System.String (FullOpts)
          45 (3.71 % of base) : 18702.dasm - System.Enum:FormatFlagNames[ushort](System.Reflection.EnumInfo`1[ushort],ushort):System.String (FullOpts)
          45 (3.73 % of base) : 21351.dasm - System.Enum:FormatFlagNames[ushort](System.Reflection.EnumInfo`1[ushort],ushort):System.String (FullOpts)
          45 (3.68 % of base) : 3900.dasm - System.Enum:FormatFlagNames[ushort](System.Reflection.EnumInfo`1[ushort],ushort):System.String (FullOpts)
          45 (3.68 % of base) : 886.dasm - System.Enum:FormatFlagNames[ushort](System.Reflection.EnumInfo`1[ushort],ushort):System.String (FullOpts)
          42 (1.65 % of base) : 11273.dasm - Internal.Reflection.Extensions.NonPortable.CustomAttributeInstantiator:Instantiate(System.Reflection.CustomAttributeData):System.Attribute (FullOpts)
          42 (1.64 % of base) : 15112.dasm - Internal.Reflection.Extensions.NonPortable.CustomAttributeInstantiator:Instantiate(System.Reflection.CustomAttributeData):System.Attribute (FullOpts)
          36 (1.26 % of base) : 8506.dasm - Internal.Reflection.Extensions.NonPortable.CustomAttributeInstantiator:Instantiate(System.Reflection.CustomAttributeData):System.Attribute (FullOpts)
          32 (1.49 % of base) : 11712.dasm - System.Text.StringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.Text.StringBuilder:this (FullOpts)
          32 (1.42 % of base) : 6479.dasm - System.Text.StringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.Text.StringBuilder:this (FullOpts)
          32 (1.37 % of base) : 1580.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
          32 (1.37 % of base) : 16631.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
          32 (1.37 % of base) : 19306.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
          32 (1.37 % of base) : 21977.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
          32 (1.33 % of base) : 5169.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts)
Top method improvements (bytes):
         -26 (-0.30 % of base) : 11377.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
          -9 (-0.95 % of base) : 4341.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo:MakeGenericType(System.Type[]):System.Type:this (FullOpts)
          -9 (-0.97 % of base) : 16866.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
          -9 (-0.98 % of base) : 1754.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
          -9 (-0.97 % of base) : 19576.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
          -9 (-0.97 % of base) : 22153.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
          -9 (-0.98 % of base) : 5628.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
          -8 (-0.64 % of base) : 15551.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
          -8 (-0.64 % of base) : 18322.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
          -8 (-0.64 % of base) : 21038.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
          -8 (-0.64 % of base) : 432.dasm - System.Text.Encoding:GetBytesWithFallback(System.ReadOnlySpan`1[ushort],int,System.Span`1[ubyte],int,System.Text.EncoderNLS,ubyte):int:this (FullOpts)
          -7 (-0.80 % of base) : 14571.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo:MakeGenericType(System.Type[]):System.Type:this (FullOpts)
          -7 (-0.80 % of base) : 9815.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo:MakeGenericType(System.Type[]):System.Type:this (FullOpts)
          -6 (-0.40 % of base) : 16123.dasm - System.Enum:TryFormatFlagNames[uint](System.Reflection.EnumInfo`1[uint],uint,System.Span`1[ushort],byref,byref):ubyte (FullOpts)
          -6 (-0.40 % of base) : 18787.dasm - System.Enum:TryFormatFlagNames[uint](System.Reflection.EnumInfo`1[uint],uint,System.Span`1[ushort],byref,byref):ubyte (FullOpts)
          -6 (-0.40 % of base) : 21451.dasm - System.Enum:TryFormatFlagNames[uint](System.Reflection.EnumInfo`1[uint],uint,System.Span`1[ushort],byref,byref):ubyte (FullOpts)
          -6 (-0.40 % of base) : 4213.dasm - System.Enum:TryFormatFlagNames[uint](System.Reflection.EnumInfo`1[uint],uint,System.Span`1[ushort],byref,byref):ubyte (FullOpts)
          -6 (-2.52 % of base) : 17024.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
          -6 (-2.52 % of base) : 1924.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
          -6 (-2.52 % of base) : 19669.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
Top method regressions (percentages):
          45 (3.73 % of base) : 20977.dasm - System.Enum:FormatFlagNames[ubyte](System.Reflection.EnumInfo`1[ubyte],ubyte):System.String (FullOpts)
          45 (3.73 % of base) : 15825.dasm - System.Enum:FormatFlagNames[ubyte](System.Reflection.EnumInfo`1[ubyte],ubyte):System.String (FullOpts)
          45 (3.73 % of base) : 16047.dasm - System.Enum:FormatFlagNames[ushort](System.Reflection.EnumInfo`1[ushort],ushort):System.String (FullOpts)
          45 (3.73 % of base) : 21351.dasm - System.Enum:FormatFlagNames[ushort](System.Reflection.EnumInfo`1[ushort],ushort):System.String (FullOpts)
          45 (3.71 % of base) : 18398.dasm - System.Enum:FormatFlagNames[ubyte](System.Reflection.EnumInfo`1[ubyte],ubyte):System.String (FullOpts)
          45 (3.71 % of base) : 18702.dasm - System.Enum:FormatFlagNames[ushort](System.Reflection.EnumInfo`1[ushort],ushort):System.String (FullOpts)
          45 (3.68 % of base) : 3779.dasm - System.Enum:FormatFlagNames[ubyte](System.Reflection.EnumInfo`1[ubyte],ubyte):System.String (FullOpts)
          45 (3.68 % of base) : 507.dasm - System.Enum:FormatFlagNames[ubyte](System.Reflection.EnumInfo`1[ubyte],ubyte):System.String (FullOpts)
          45 (3.68 % of base) : 3900.dasm - System.Enum:FormatFlagNames[ushort](System.Reflection.EnumInfo`1[ushort],ushort):System.String (FullOpts)
          45 (3.68 % of base) : 886.dasm - System.Enum:FormatFlagNames[ushort](System.Reflection.EnumInfo`1[ushort],ushort):System.String (FullOpts)
          10 (2.89 % of base) : 19208.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
          10 (2.89 % of base) : 1430.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
          10 (2.89 % of base) : 16564.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
          10 (2.89 % of base) : 21862.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
          10 (2.89 % of base) : 4815.dasm - System.Threading.ObjectHeader:TryAcquireUncommon(System.Object,int,ubyte):int (FullOpts)
           3 (2.75 % of base) : 11656.dasm - Internal.TypeSystem.TypeSystemContext:FlushTypeBuilderStates():this (FullOpts)
           3 (2.75 % of base) : 6408.dasm - Internal.TypeSystem.TypeSystemContext:FlushTypeBuilderStates():this (FullOpts)
           2 (1.85 % of base) : 12553.dasm - Internal.Runtime.TypeLoader.TypeBuilder:ProcessTypesNeedingPreparation():this (FullOpts)
           2 (1.85 % of base) : 7210.dasm - Internal.Runtime.TypeLoader.TypeBuilder:ProcessTypesNeedingPreparation():this (FullOpts)
           2 (1.74 % of base) : 8204.dasm - Internal.Runtime.TypeLoader.EETypeCreator:IsAllGCPointers(System.Collections.Generic.LowLevelList`1[ubyte]):ubyte (FullOpts)
Top method improvements (percentages):
          -6 (-2.52 % of base) : 17024.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
          -6 (-2.52 % of base) : 1924.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
          -6 (-2.52 % of base) : 19669.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
          -6 (-2.52 % of base) : 22322.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
          -6 (-2.52 % of base) : 6135.dasm - System.Runtime.CompilerServices.ClassConstructorRunner:ToHexStringUnsignedLong(ulong,ubyte,int):System.String (FullOpts)
          -2 (-1.27 % of base) : 23253.dasm - PInvokeTests.Program:TestSizeParamIndex() (FullOpts)
          -9 (-0.98 % of base) : 1754.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
          -9 (-0.98 % of base) : 5628.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
          -9 (-0.97 % of base) : 16866.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
          -9 (-0.97 % of base) : 19576.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
          -9 (-0.97 % of base) : 22153.dasm - System.Runtime.TypeCast:TypeParametersAreCompatible(int,Internal.Runtime.MethodTableList,Internal.Runtime.MethodTableList,ulong,ubyte,ulong):ubyte (FullOpts)
          -9 (-0.95 % of base) : 4341.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo:MakeGenericType(System.Type[]):System.Type:this (FullOpts)
          -4 (-0.91 % of base) : 5031.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
          -7 (-0.80 % of base) : 9815.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo:MakeGenericType(System.Type[]):System.Type:this (FullOpts)
          -7 (-0.80 % of base) : 14571.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo:MakeGenericType(System.Type[]):System.Type:this (FullOpts)
          -4 (-0.74 % of base) : 17595.dasm - System.Globalization.CompareInfo:EndsWithOrdinalIgnoreCaseHelper(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int,ulong):ubyte:this (FullOpts)
          -4 (-0.74 % of base) : 20259.dasm - System.Globalization.CompareInfo:EndsWithOrdinalIgnoreCaseHelper(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int,ulong):ubyte:this (FullOpts)
          -4 (-0.74 % of base) : 22900.dasm - System.Globalization.CompareInfo:EndsWithOrdinalIgnoreCaseHelper(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int,ulong):ubyte:this (FullOpts)
          -4 (-0.74 % of base) : 2499.dasm - System.Globalization.CompareInfo:EndsWithOrdinalIgnoreCaseHelper(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int,ulong):ubyte:this (FullOpts)
          -4 (-0.74 % of base) : 8088.dasm - System.Globalization.CompareInfo:EndsWithOrdinalIgnoreCaseHelper(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int,ulong):ubyte:this (FullOpts)